Home AssistantでAiSEG2の電力消費情報を自動取得するCustom Componentを作る

IoT

AiSEG2をスクレイピングして分電盤の情報を取得する記事を以前書きましたが、Home Assistantとの統合をやりやすくするためにCustom Component化しました。本記事ではその導入方法と、いまいちわかりづらいHome Assistantのエネルギーダッシュボードの設定方法を説明します。

あらまし(お急ぎの方は次の「セットアップ方法」までスキップ)

以前書いた「AiSEG2の全回路の電力消費情報をスクレイピングで取得する」記事では、Pythonスクリプトを使ったサンプルコードの形で紹介していました。

これはあくまで「情報を取り出せるよ」というサンプルで、Home Assistantに導入するには少々面倒でした。

あれからだいぶ経ってしまいましたが、夏季休暇中にようやく重い腰を上げてHome AssistantのCustom Component化を行いました。これでHome Assistantとの連携が楽になり、エネルギーダッシュボードへの表示や自動化などもさくっと行えるようになります。

コードはGitHubに公開しています。

GitHub - hiroaki0923/aiseg2-bridge: Home Assistant integration for AiSEG2 energy monitoring device
Home Assistant integration for AiSEG2 energy monitoring device - hiroaki0923/aiseg2-bridge
スポンサーリンク

なぜCustom Component?

自動でHome Assistantのデバイスやエンティティを設定する方法としてMQTT Discoveryを使う方法があるのですが(私も便利に利用させていただいているe2m-hass-bridgeはその方法)、AiSEG2ユーザーが必ずしもMQTTを導入しているとは限りません(その点、e2m-hass-bridgeはechonetlite2mqttと組み合わせて使うのでMQTT前提で問題ない)。Dockerイメージを配布してセットアップはdocker-compose.yamlをいじるだけ…としてもやはりユーザーが限定されてしまいます。

そこで、(いつもどおり)Claude Codeの力も借りながらHome Assistant用のCustom Componentを開発しました。これによって

  • HACSによるインストール自動化
  • 手動インストールだとしてもフォルダをコピーするだけ

が期待できます。

唯一心配だったのは、Custom ComponentはHome Assistant同梱のPython環境で動かす必要があること。Dockerで環境固定できれば依存関係の不整合を回避できますが、Custom Componentの場合はそうもいきません。とはいえ、動作確認したところ一応は問題なく動いてくれました。ま、AiSEG2のスクレイピング取得自体が環境依存な面もあるので、そこは割り切りでしょうか。

そもそもCustom Componentってなに?
Home Assistantでは、標準機能で対応していない機器やサービスを連携させたい場合、この「Custom Component」を作成することで連携できるようになります。Pythonで書かれた拡張モジュールで、公式リポジトリに登録されていないような独自の(私の場合は、ニッチな)統合を提供します。Home Assisntantのconfigディレクトリ内にcustom_componentsフォルダに配置するだけで利用でき、特定のデバイスやAPIとの連携、センサーやスイッチの追加などが可能になります。

スポンサーリンク

セットアップ方法

aiseg2-bridgeのインストール

マニュアルインストール

  1. Home Assistantのconfigディレクトリ内にcustom_componentsディレクトリを作成(既にある場合はそのまま使用)
  2. GitHubのリリースページから最新のリリース(zip)をダウンロードし、そのファイルを解凍。中にあるcustom_components 内のaiseg2_bridgeディレクトリを上記Home Assistantのcustom_components配下にコピー
  3. Home Assistantを再起動

HACS

  1. HACSで「Custom repositories」を開く
  2. リポジトリURL https://github.com/hiroaki0923/aiseg2-bridge を追加
  3. カテゴリで「Integration」を選択
  4. 「AiSEG2 Bridge」をインストール
  5. Home Assistantを再起動

HACSに関しては普段あまり使っていないため動作確認が甘いかもしれません(上記でインストールできることは確認済み)。不具合等ありましたらご連絡いただけますと幸いです。

初期設定

  1. 設定 → デバイス・統合 → 右下の「統合を追加」をクリック
  1. AiSEG2 Bridge を選択
  1. AiSEG2のIPアドレスとユーザーネーム(おそらくaiseg固定)パスワードを入力(初期パスワードは説明書裏表紙の機器コードシールに記載された番号からハイフンを除いたもの)
  1. デバイス名とエリアの設定(スキップ可能)

これで完了です。

この手順を行うと、デバイスが1つ、各回路の電力消費量を示すエンティティが回路数分追加されます。

スポンサーリンク

エネルギーダッシュボードを設定する

追加されたエンティティは以下のようなIDで登録されます。これを登録していきます。

  • 全回路の消費電力量センサー(初期エンティティID:sensor.aiseg2_bridge_total_use
  • 購入電力量センサーsensor.aiseg2_bridge_buy
  • 売電電力量センサーsensor.aiseg2_bridge_sell
  • 太陽光発電量センサーsensor.aiseg2_bridge_gen
  • 各回路の消費電力量センサーsensor.aiseg2_bridge_cXX XXは回路番号)

設定画面でセンサーを登録

  1. 設定 → ダッシュボード → エネルギー を開く
  1. 「グリッド消費」欄に、買電電力量であるPurchased Energy Todayを選択
  1. 「グリッド戻り」欄に、売電電力量であるSold Energy Todayを選択。ここで1kWhあたりの買取金額を入力しておくと、ダッシュボードで計算されます
  1. 電力網は結果このような感じになります
  1. 「次へ」をクリックし、ソーラーパネルの設定を行います
  1. 「太陽光発電」欄に、太陽光発電量であるGenerated Energy Todayを追加

この例ではAiSEG2から得られた発電量情報を追加していますが、太陽光パネル自体がEchonet Liteなどで発電量を取得できる場合には、そちらを指定しても良いと思います。

  1. ここでは詳しく説明しませんが、蓄電池をお持ちの方でHome Assistantから充放電情報にアクセスできる場合には、「バッテリーシステム」欄に、蓄電池の充電・放電センサーを登録します(AiSEG2単体ではおそらく取得できないと思います)
  1. 最後に、「個々のデバイス」欄に、AiSEG2の各回路を追加します
スポンサーリンク

実際のダッシュボード画面

設定が終わると、一時間単位・日単位・月単位…などの消費/発電/蓄電量がグラフで表示されます。
個々のデバイスの使用状況カードは、回路ごとの消費量が積み上げグラフとして表示されますので、時間帯ごとにどの機器がどのていど電気を使っているかが一目で分かります。

(以下のスクリーンショットはセットアップした直後なのでデータがあまり貯まっていませんが…)

スポンサーリンク

まとめ

AiSEG2から電力量情報を定期的に取得し、Home Assistantで管理できるようにするCustom Componentを開発し、その導入方法を紹介しました。

これにより、

  • 回路別の消費電力量
  • 購入電力量
  • 発電電力量
  • 蓄電池の充放電量

などをHome Assistantで管理できるようになり、エネルギーダッシュボードでの可視化もできるようになります。

AiSEG2本体でも日々の情報はグラフとして表示できますし、過去データもSDカードに蓄積できるのですが、「どこからでも見られる」「過去データを分析しやすい」というのがHome Assistant連携の大きなメリットと思います。
さらに、特定回路の監視やオートメーション設定も可能になるので、アイディア次第で面白いことができるようになるかもしれません。

免責事項

前回の記事でも書きましたが、このコードは自己責任でご利用ください。
単なるHTTPアクセスとはいえ、AiSEG2本体に一定の負荷をかけることには変わりありません。

何か改善点などありましたら是非ともご連絡ください。

GitHub - hiroaki0923/aiseg2-bridge: Home Assistant integration for AiSEG2 energy monitoring device
Home Assistant integration for AiSEG2 energy monitoring device - hiroaki0923/aiseg2-bridge

コメント

タイトルとURLをコピーしました