Home AssistantとNature Remo E liteで電力使用量可視化
Home Assistantでやったことをアウトプットしたいけど、Qiitaだと何となく合わない気がしたので久々にこちらで投稿。
ホームオートメーションで使われるHome Asssitantには電力を管理するための画面があります。
そこで自宅電力を可視化したいと思い、n番煎じですが実装公開。
準備
Nature Remo E lite購入
Wi-SUNを使ってスマートメータからデータを取ってくる機能を備えたIoT機器。
もともと、Nature Remoという赤外線リモコンのIoT化ができる製品を販売しているメーカーが2020年頃に販売しています。
API関連が揃っていてとても使いやすく、簡単に最新の電力データが取得できます。
Nature Remo E
とNature Remo E lite
があり、違いはスマートメータ以外のHEMS機器も使えるかどうか。
スマートメータ以外管理する気がなかったので、Nature Remo E liteを購入しました。
Home Asssitantを導入しなくても、スマホから過去データ含めて電力使用量確認できるので電力可視化したい人にはおすすめです!
他にWi-SUNが使えてAPIも揃っているIoT機器を探しましたが現状これ一択でした。
Nature Remo E lite製品ページ nature.global
Nature Remo Cloud API developer.nature.global
Nature Remo E lite設定
公式サイトであったり、ほかの方が既に説明しているので割愛するが必要作業としては以下の通り。
- 自宅電力メータをスマートメータに交換依頼
- Bルート開通依頼を行い、BルートIDとパスワードをもらう
- 上記ID、パスワードでNature Remo E liteからスマートメータに接続
- Nature RemoのCloud API利用のためのユーザ作成、APIトークン発行
Home Assistant設定
こちらも詳細は割愛するが必要作業としては以下の通り。
- Home Assistantインストール(HAOS版、Docker版どちらでもOK)
- AppDamonインストール
AppDaemonについて
AppDaemonは、Home Assistant向けに開発されたコンテナ上のPythonサンドボックスを複数作ることができるアドオンです。
Home AssitantともAPIで連携でき、データの登録やイベントの受け取りができます。
起動時にPythonライブラリ含めてコンテナ環境のセッティングもしてくれるので、 Home Assistantのスクリプト機能で対応できない場合はこちらを利用するといいかもです。
設定
データ取得の流れ
データはNature RemoのAPIに登録されているのでデータ取得は以下の通り。
全てHome Assistantサーバ上のAppDaemonで行います。
- 定期的にNature RemoのAPIから電力データを取得
- 取得したデータをもとに瞬時値と積算値を計算
- Home Assistantにデータ登録
実装
AppDaemon(GUI)
APIへのアクセスのため、requests
モジュールを使います。
設定
> アドオン
> AppDaemon
> 設定
よりpythonパッケージにrequestsを追加します。
今回は、関係ないですがARM環境で利用できないライブラリは ARM用にビルドされたものを自力で探して、init commandsで無理やり定義することもできます。
AppDaemon(ソースコード)
apps.yaml
AppDaemonで使用するアプリケーションの定義ファイル。
シークレット情報は、Home Assistant側のsecrets.yamlに記載して参照しています。
natureremo_appliance_id
は、事前にAPIを確認して機器のIDを控えておく必要があります。
natureremo.py
run_every
で起動後30秒後から1分毎にデータを取得するようにスケジュールしている。
get_smartmeter_info
では、APIからデータ取得したものを積算値にするための計算を行っています。
詳細はBルート ガイドラインを参照。
Home Asssitant(GUI)
設定
> ダッシュボード
> エネルギー
> グリッド消費
に先ほどAppDaemonで登録したsensor.smartmeter_energy
を設定する。
設定すると、逐次データ蓄積されてHome Assistantのエネルギーダッシュボードでは以下の画像のように表示される。
使ってみた感想
Nature Remo連携することで簡単に電力データを取得できるのですごく簡単に実装できました。
3ヶ月ほど使っていますが暑くなってくるにつれ、クーラーや機器のファン上昇で電力消費が上がっているのが可視化でき、自己嫌悪することができます。
電力消費量が上がったときになにかアクションさせることもできるので何か面白そうなことを考えついたら試してみたいと思います。
取得間隔も、1分に1回なので電子レンジ使ったときのピークも確認することができるのでそちらもなにかに活用したいなと。