Skip to content

hsakoh/broute-mqtt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ホームアシスタント アドオン BRoute-Mqtt

低圧スマート電力量メータをHoma AssistantのMQTT統合にデバイス/センサーとして統合するアドオン

ECHONET Liteプロトコル(Bルート)を経由して情報を取得する為、
HA-OSの搭載された機器に接続可能な、Wi-SUN USBスティックが必要です

ダッシュボード上の表示例 画像1

機能概要

  • 次の情報を取得し、MQTT統合のデバイス/センサー情報として通知します(MQTT Sensor - Home Assistant)
    • 起動時/手動での要求時/指定周期の取得
      • 瞬時電流計測値(R相) A(アンペア)
      • 瞬時電流計測値(T相) A(アンペア)
      • 瞬時電力計測値 W(ワット)
    • 起動時/手動での要求時/30分毎の定期通知の受信
      • 積算電力量計測値(逆方向) kWh
      • 積算電力量計測値(正方向) kWh
    • 起動時(定性情報)
      • メーカコード
      • 規格Version情報
      • 製造番号
      • 設置場所
  • 積算電力量、瞬時値それぞれを即時取得するボタンを提供します(MQTT Button - Home Assistant)

MQTT統合のデバイス画面

前提条件

導入方法

3種類の方法があります

  1. GitHub ContainerRegistoryに登録されたDockerイメージを参照する
    1. Open your Home Assistant instance and show the add add-on repository dialog with a specific repository URL pre-filled.
      1. ホーム アシスタント UI でアドオン ストアに移動します (左側のメニューで[スーパーバイザー]、上部タブで[アドオン ストア] )
      2. 右上隅にある 3 つの縦のドットを選択し、リポジトリを選択します
      3. 「アドオン リポジトリの管理」画面で、https://github.com/hsakoh/ha-addon を入力し、「追加」をクリックします。
      4. リポジトリを追加した後、アドオンのリストの一番下までスクロールするか、検索を使用してアドオンを見つけます
    2. アドオンを選択し、「インストール」をクリックします
  2. 事前に.NETアプリをコンパイルと発行したうえで、HAOS上でDockerイメージをビルドする
    1. リポジトリのルートで./_compile_self/dotnet_publish.ps1を実行してください。
    2. _compile_selfフォルダの中身一式を HA-OSの/addons/broute-mqttに配置します
  3. HA-OS上でDockerイメージをビルドする際に、.NETアプリもコンパイルして発行する
    1. srcフォルダ と _build_on_haosフォルダの中身一式を HA-OSの/addons/broute-mqttに配置します
    2. HA-OS搭載のマシンが非力な場合、ビルド(インストール)に非常に時間がかかります。
      その間HA-OSが停止しているように見える場合があります。(RasPi3B+で30分等)推奨しません。

設定項目

設定キー 既定値 説明
BRoute:Id - 配送電会社から提供される
Bルートの認証IDを指定します
通常は32文字の英数字です
BRoute:Pw - Bルートの認証パスワードを指定します
通常は12文字の英数字です
BRoute:SerialPort /dev/ttyUSB0 HAOSで識別される
Wi-SUN USBスティックのシリアルポートを指定します
BRoute:ForcePANScan false PANスキャンを起動時に強制する場合、trueを指定します
falseの場合、過去の接続時のPANを参照する為、再起動時等で再接続が早くなります
BRoute:PanDescSavePath /data/EPANDESC.json PANの情報を保存する先を指定します
BRoute:InstantaneousValueInterval 00:01:10 瞬時値の周期的な取得間隔を指定します
TimeSpan(HH:mm:ss)形式で記述します
BRoute:PanScanMaxRetryAttempts 3 PANスキャンの最大再試行回数を指定します
BRoute:PanScanRetryDelay 00:01:00 PANスキャンの再試行間隔を指定します
TimeSpan(HH:mm:ss)形式で記述します
BRoute:PanaConnectTimeout 00:00:30 PANA接続のタイムアウトを指定します
TimeSpan(HH:mm:ss)形式で記述します
BRoute:PanaConnectMaxRetryAttempts 3 PANA接続の最大再試行回数を指定します
BRoute:PanaConnectRetryDelay 00:01:00 PANA接続の再試行間隔を指定します
TimeSpan(HH:mm:ss)形式で記述します
BRoute:PropertyReadTimeout 00:00:05 プロパティ値読み出しのタイムアウトを指定します
TimeSpan(HH:mm:ss)形式で記述します
BRoute:PropertyReadMaxRetryAttempts 3 プロパティ値読み出しの最大再試行回数を指定します
BRoute:PropertyReadRetryDelay 00:00:05 プロパティ値読み出しの再試行間隔を指定します
TimeSpan(HH:mm:ss)形式で記述します
BRoute:ContinuePollingOnError true ポーリングでタイムアウト等エラー発生時、アドオンの処理を継続する場合、trueを指定します
Mqtt:AutoConfig true デフォルトのHome Assistant Mosquitto統合を使用しているアドオンユーザーは、Home Assistant Supervisor APIを介して接続の詳細を検出できるため、この値をTrueに設定できます。
Mqtt:Host - MQTTブローカー
ホスト名を指定します
Mqtt:Port 1883 ポート番号を指定します
Mqtt:Id - 認証がある場合、IDを指定します
Mqtt:Pw - 認証がある場合、PWを指定します
Mqtt:Tls false TLS接続を受け入れる場合、指定します
LogLevel Trace ログレベルを設定します
Trace,Debug,Information,Warning,Error,Critical,None

開発者(&アドオン外での実行)向けの情報

  • アドオンとしては、Home Assistantベースイメージに .NETランタイムを導入し、
    `.NET のコンソールアプリケーションを起動しているだけです。
  • アプリケーション単体はWindows上でも実行可能です。
    • シリアルポートにCOM3等を設定してください。
    • slnファイルをVisualStudioで開き、デバッグ可能です。
    • Windows上では、AddOnの構成ファイル/data/options.jsonにアクセスできないと思われるので、
      appsettings.Development.jsonに構成を行ってください。
    • 発行時は、ridでwin-x64等を指定してください。
      .NET Runtime Identifier (RID) カタログ | Microsoft Learn
  • .NET での汎用ホスト 既定の builder 設定の通り、
    環境変数やコマンドライン引数からも読み込み可能です
    (階層はBRoute:Id等コロンを含めて表現が必要です)
  • Wi-SUN USBスティックとのやり取りは、NuGet Gallery | System.IO.Ports 8.0.0を使用しています。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages