はじめに
2024 年、電力スマートメーターの値を宅内からリアルタイムに取りたくて、Wi-SUN USB ドングルで B ルートを読む自前スクリプトを書きかけました。が、SK コマンドのシリアル叩きと ECHONET Lite のパース、そして「送っても返ってこない」タイムアウト処理が面倒で、vault のメモごと塩漬けにした。数年後、Home Assistant をいじっていたら、当時自分が書かなかった処理を丸ごとやってくれる 公式統合 route_b_smart_meter が Core に入っていた。ドングルを挿して B ルート ID とパスワードを入れるだけで、瞬時電力・積算消費が生えました。「面倒で諦めた」ものに後から道具が追いついてきた記録です。
背景 ─ B ルートは自前で読むと地味に面倒
低圧スマートメーターは、電力会社に B ルート 利用を申請すると、宅内から Wi-SUN 経由で ECHONET Lite を直接読めます。申請すると認証 ID とパスワードが発行され、Wi-SUN USB ドングルでメーターと喋れるようになる。
ここまでは分かっていた。問題はその先でした。ドングルとのやり取りは SK コマンド(SKVER / SKSCAN / SKSENDTO …)をシリアルで叩き、ECHONET Lite のフレームを自分で組み立ててパースする世界になる。当時 vault に残した要件メモにも、こう書いてあります:
- タイムアウト処理 — データを送っても返ってこないことがあるので必須
- デコード処理 — unicode でデコードできないケースの検討が必要
要するに、地味なシリアル通信のエラーハンドリングを延々書く必要がある。面白そうではあったが、面倒で後回しにした。そのノートは「someday」判定のまま Archive に沈みました。
放置していたら公式が追いついた
数年後、Home Assistant をいじっていたら、route_b_smart_meter(Route B Smart Meter)という統合が動いているのに気づいた。
最初は「HACS から落とした気がする」と思っていた。が、調べると custom_components/ にも HACS のインストール済みリストにも無い。HA の起動ログを見ると custom integration の警告(“We found a custom integration …”)が出るのは別の自作物だけで、route_b_smart_meter には出ていない。これは 公式ドキュメント を持つ first-party のコア統合 だった、というオチでした。
つまり、自分が「面倒だから」と書かなかった SK コマンドのシリアル叩き + ECHONET Lite パース + リトライを、HA 本体が中で全部やってくれる状態になっていた。
実装 ─ 設定フォーム 3 項目で済んだ
-
B ルート利用申請(電力会社に申請 → 認証 ID とパスワードが届く)。これは昔やってあった。
-
Wi-SUN USB ドングルを挿す。FTDI のシリアルで見える個体だと、こういうパスになる:
/dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_XXXXXXXX-if00-port0 -
HA で統合を追加 → device(上のシリアルパス)/ B ルート ID / パスワードを入れるだけ。
-
センサーが生える:
センサー 内容 瞬時電力 いま何 W 使っているか 瞬時電流(R 相 / T 相) 相ごとの電流 積算消費電力量 kWh の累積
コードは一行も書いていません。2024 年に書こうとして放り出した処理が、設定フォーム 3 項目で済んだ。
注意点・ハマりどころ
- B ルート ID がそのままエンティティ ID に入る。
sensor.route_b_smart_meter_XXXXXXXX_total_consumptionのように認証 ID がエンティティ名の一部になる。スクショや YAML のコピペで外に出すと漏れるので、共有・記事化のときは必ずマスクする(この記事でもXXXXXXXXに置換してある)。 - 接続に時間がかかることがある。昔ハマった「返ってこない」問題自体は健在で、統合が内部でリトライしている。初回スキャンは気長に待つ。
- B ルートの同時接続は基本 1 つ。別の機器(HEMS など)がメーターを掴んでいると競合する。
- ドングルと Wi-SUN のバージョン依存はある。FTDI 系で見えるドングルを使用。手持ちが対応しているかは事前に確認。
結果
センサーが取れれば、あとは HA の世界。自分はこう繋ぎました:
- 積算消費電力量を
utility_meterで日次集計し「今日の消費電力」を作成。 - それを使って、自宅の Echo Dot に 毎日 21 時「本日の電力レポートです。今日の電気料金は約◯◯円です」 と読み上げさせる自動化(消費電力 × 単価で概算)。
- さらに 瞬時電力が 2000W を 5 分超えたら Alexa が警告。エアコンと電子レンジの重ね掛けみたいな時に気づける。
2024 年に「面倒だから」と書かなかったスクリプトの価値を、コードゼロで回収した格好になった。読み上げ側の作り込みは別記事(HA × Alexa の話)と地続きです。
まとめ
- スマートメーターの B ルートを自前で読むには、SK コマンドのシリアル叩き + ECHONET Lite パース + エラーハンドリングが要る。面倒で塩漬けにしていた。
- 放置している間に HA Core に公式
route_b_smart_meter統合が入り、ドングル + B ルート ID / パスワードだけで瞬時電力・積算消費が取れるようになっていた。 - 「やりたかったけど面倒で諦めた」ものは、後から道具(今回は HA 本体)が追いついてくることがある。塩漬けノートは時々見返すと拾える。
- 公開時は B ルート ID(エンティティ ID に混入する)とパスワードのマスク を忘れない。