AiSEG2をスクレイピングして分電盤の情報を取得する記事を以前書きましたが、Home Assistantとの統合をやりやすくするためにCustom Component化しました。本記事ではその導入方法と、いまいちわかりづらいHome Assistantのエネルギーダッシュボードの設定方法を説明します。
あらまし(お急ぎの方は次の「セットアップ方法」までスキップ)
以前書いた「AiSEG2の全回路の電力消費情報をスクレイピングで取得する」記事では、Pythonスクリプトを使ったサンプルコードの形で紹介していました。
これはあくまで「情報を取り出せるよ」というサンプルで、Home Assistantに導入するには少々面倒でした。
あれからだいぶ経ってしまいましたが、夏季休暇中にようやく重い腰を上げてHome AssistantのCustom Component化を行いました。これでHome Assistantとの連携が楽になり、エネルギーダッシュボードへの表示や自動化などもさくっと行えるようになります。
コードはGitHubに公開しています。
なぜ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のスクレイピング取得自体が環境依存な面もあるので、そこは割り切りでしょうか。
セットアップ方法
aiseg2-bridgeのインストール
マニュアルインストール
- Home Assistantの
config
ディレクトリ内にcustom_components
ディレクトリを作成(既にある場合はそのまま使用) - GitHubのリリースページから最新のリリース(zip)をダウンロードし、そのファイルを解凍。中にある
custom_components
内のaiseg2_bridge
ディレクトリを上記Home Assistantのcustom_components
配下にコピー - Home Assistantを再起動
HACS
- HACSで「Custom repositories」を開く
- リポジトリURL
https://github.com/hiroaki0923/aiseg2-bridge
を追加 - カテゴリで「Integration」を選択
- 「AiSEG2 Bridge」をインストール
- Home Assistantを再起動
初期設定
- 設定 → デバイス・統合 → 右下の「統合を追加」をクリック

- AiSEG2 Bridge を選択

- AiSEG2のIPアドレスとユーザーネーム(おそらくaiseg固定)パスワードを入力(初期パスワードは説明書裏表紙の機器コードシールに記載された番号からハイフンを除いたもの)

- デバイス名とエリアの設定(スキップ可能)

これで完了です。
この手順を行うと、デバイスが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は回路番号)
設定画面でセンサーを登録
- 設定 → ダッシュボード → エネルギー を開く

- 「グリッド消費」欄に、買電電力量である
Purchased Energy Today
を選択

- 「グリッド戻り」欄に、売電電力量である
Sold Energy Today
を選択。ここで1kWhあたりの買取金額を入力しておくと、ダッシュボードで計算されます

- 電力網は結果このような感じになります

- 「次へ」をクリックし、ソーラーパネルの設定を行います

- 「太陽光発電」欄に、太陽光発電量である
Generated Energy Today
を追加

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

- 最後に、「個々のデバイス」欄に、AiSEG2の各回路を追加します

実際のダッシュボード画面
設定が終わると、一時間単位・日単位・月単位…などの消費/発電/蓄電量がグラフで表示されます。
個々のデバイスの使用状況カードは、回路ごとの消費量が積み上げグラフとして表示されますので、時間帯ごとにどの機器がどのていど電気を使っているかが一目で分かります。
(以下のスクリーンショットはセットアップした直後なのでデータがあまり貯まっていませんが…)

まとめ
AiSEG2から電力量情報を定期的に取得し、Home Assistantで管理できるようにするCustom Componentを開発し、その導入方法を紹介しました。
これにより、
- 回路別の消費電力量
- 購入電力量
- 発電電力量
- 蓄電池の充放電量
などをHome Assistantで管理できるようになり、エネルギーダッシュボードでの可視化もできるようになります。
AiSEG2本体でも日々の情報はグラフとして表示できますし、過去データもSDカードに蓄積できるのですが、「どこからでも見られる」「過去データを分析しやすい」というのがHome Assistant連携の大きなメリットと思います。
さらに、特定回路の監視やオートメーション設定も可能になるので、アイディア次第で面白いことができるようになるかもしれません。
免責事項
前回の記事でも書きましたが、このコードは自己責任でご利用ください。
単なるHTTPアクセスとはいえ、AiSEG2本体に一定の負荷をかけることには変わりありません。
何か改善点などありましたら是非ともご連絡ください。
コメント