Home AssistantとSenseCAPセンサーを活用する方法
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues
LoRaWAN®センサーをHome Assistantに統合する方法を共有します。
スマートホームの分野にはすでに多くの知的デバイス(センサー、ライト、スイッチ)が存在しており、Apple Homekit、Google Home、Amazon Alexaなどの複数のアプリを使用して異なるデバイスを操作しているかもしれません。それらを一つの場所で相互接続することが非常に求められています。2022年9月にMatter 1.0がリリースされ、エコシステムを統一することを目指しているというニュースを最近読みましたが、これには時間がかかるでしょう。
実際、Matterがリリースされる数年前から、Home Assistantは完全にカスタマイズされたスマートホームエコシステムを構築するための最良のプラットフォームの一つであり、主流のデバイスを統合し、自動化ルールを設定して家をより良く、よりスマートな場所にすることができます。これは私が学びたいことでもあり、その経験を共有したいと思っています。
この記事シリーズでは、Home Assistantでまともなスマートホームを構築し、Seeed StudioのSenseCAP製品のセンサーを使用する方法を共有します。そして、これが最初のマイルストーンです。
Home Assistantをゼロから実行し、SenseCAPの気象センサーを統合します。
以下はその手順です:
- Raspberry PiにHome Assistantをインストールする
- SenseCAPセンサーをアプリでオンボードする
- MQTT統合を追加し、SenseCAPデータを購読する
- 異なるセンサー測定値でエンティティを追加する
- センサーデータダッシュボードを作成する
Raspberry PiにHome Assistantをインストールする
Home Assistantを始めるには、公式チュートリアルが非常に役立ちます。
Home Assistantを実行するためのデバイスやプラットフォームは多数ありますが、私は使っていないRaspberry Piを持っているので、こちらから始めます。
SDカードをフラッシュする際にBalena Etcherを使用する代わりに、公式のRaspberry Pi Imagerを使用することをお勧めします。軽量で使いやすいです。
32GB以上のMicro SDカードを用意し、コンピュータに接続します。ここではMacBookを例に使用します。
特定の目的用OSに移動し、Home AssistantとHome Automationを選択します。
Home Assistantを選択します。
RPi4用のHome Assistant OSバージョンを選択します。
次にSDカードドライブを選択します。注意してください。間違ったディスクを選択すると、ドライバがフォーマットされ、貴重なデータを失う可能性があります。


インターネット速度によっては、Home Assistantイメージのダウンロードに時間がかかる場合があります。
次に、micro SDカードをRaspberry Piに挿入し、イーサネットケーブルを接続します。起動すると、赤色LEDが点灯し、緑色LEDが点滅を開始します。緑色LEDが点滅しない場合は、イメージフラッシュ中に何か問題が発生していることを示します。
http://homeassistant.local:8123/
にアクセスし、インストールが完了するのを待ちます。
このリンクに従ってHome Assistantアカウントを登録し、ログインします。
ついに、Home Assistantがインストールされました。
アプリでSenseCAPセンサーをオンボードする
SenseCAPは産業用センサー機器およびゲートウェイ製品のシリーズであり、その中でもS210x LoRaWANセンサーは主に長距離およびバッテリー駆動のシナリオ向けに設計されています。
私は新しく発売されたS2120 Weather Stationを使用し、6階建ての屋根の上に設置したいと考えています。LoRaの長距離通信機能が非常に役立ちました。この製品は、迅速な設置のためのすべてのアクセサリーが付属しています。
このWeather Stationは標準的なLoRaWANデバイスとして機能するため、自宅で使用するためにSenseCAP M2屋内LoRaWANゲートウェイを利用できます。このゲートウェイには磁石ベースの3dBiアンテナが付属しています。
次に、SenseCAP Mateアプリをダウンロードしてアカウントを登録します。
参考までに、以下の動画はSeeed Studioが提供する基本的なオンボーディングプロセスを示しています。
M2 LoRaWANゲートウェイをイーサネットケーブルでインターネットに接続し、電源を入れる前にアンテナを接続します。パネルのRGB LEDが緑色に点灯している場合、ゲートウェイが正常に設定されていることを意味します。
次に、M2 LoRaWANゲートウェイをオンボードします。
- Mateアプリを開き、「デバイス」タブに移動します
- 右上の「+」アイコンをクリックしてゲートウェイのQRコードをスキャンします(QRコードはデバイスラベルに記載されています)。
- デバイスに名前を付け、場所を設定します。
同じ方法で、QRコードをスキャンしてS2120 Weather Sensorをオンボードします。S2120センサーをタップすると、天気データが表示されます。
- 気温
- 湿度
- 光強度
- 気圧
- 風向
- 風速
- 時間降水量
- UV指数
そして、屋根に行き、ポールに取り付ける時が来ました。
さらに、S2103 CO2、温度、湿度センサーとS2105 土壌水分、温度、ECセンサーも持っています。これらはS210xシリーズの利点を共有しており、オンボーディングプロセスも同じです。これらは産業基準の高品質製品です。
これらもSenseCAP Mateアプリに追加し、寝室や植木鉢に設置しました。
これでSenseCAPセンサー側のすべてが設定されました。
MQTT統合を追加
- なぜセンサーデータをHome Assistantに統合する必要があるのか?
Home Assistantの自動化フローを活用できるためです。また、SenseCAPアプリには現在その機能がありません。
- SenseCAPデータをHome Assistantに取得するプロセスは?
SenseCAPアカウントのAPIキーを取得する<br/>
SenseCAPオープンストリームAPIドキュメント(MQTT)を読む<br/>
Home AssistantにMQTT統合を追加する<br/>
MQTTを介してSenseCAPデータを購読し、APIキーを使用する<br/>
- 次に、SenseCAPポータルにアクセスします。ここで以下を見つけることができます
OrgID
= 組織ID
Password
= APIキーへのアクセス
私のMQTT購読情報は以下の通りです:
Home AssistantのWeb UIに戻ります。
Home Assistantには多くの統合があります。
https://www.home-assistant.io/integrations/
今日はMQTT統合を使用してJSON形式でデータを購読し、MQTTセンサー統合を使用してセンサー値を特定のエンティティにバインドします。
設定に移動し、「デバイスとサービス」に進みます。
クライアント ID を入力し忘れるとセットアップが失敗するため、必ず高度な設定を有効にしてください。
次に、CONFIGURE ボタンをクリックしてトピックをリスニングすることで、サブスクリプションが機能しているかどうかをテストできます。
しばらく待つと、センサーメッセージが表示されます。
エンティティを追加する
センサー測定データを保存するために複数のエンティティを追加します。例えば、新しい「空気温度」エンティティを作成し、S2120 MQTT JSON メッセージから測定値を取得します。同様に他のセンサーエンティティも追加します。
これを Home Assistant の設定ファイルを編集することで完了します。
configuration.yaml
設定に移動し、アドオンに進みます。


インストールしてサイドバーに表示を有効にし、開始をクリックします。
次に、以下のスクリプトで YAML ファイルを修正する重要な部分です。
mqtt:
sensor:
- name: "空気温度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4097"
unit_of_measurement: "℃"
value_template: "{{ value_json.value }}"
- name: "空気湿度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4098"
unit_of_measurement: "%RH"
value_template: "{{ value_json.value }}"
- name: "光強度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4099"
unit_of_measurement: "Lux"
value_template: "{{ value_json.value }}"
- name: "気圧"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4101"
unit_of_measurement: "Pa"
value_template: "{{ value_json.value }}"
- name: "風向"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4104"
unit_of_measurement: "°"
value_template: "{{ value_json.value }}"
- name: "風速"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4105"
unit_of_measurement: "m/s"
value_template: "{{ value_json.value }}"
- name: "時間降雨量"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4113"
unit_of_measurement: "mm/hour"
value_template: "{{ value_json.value }}"
- name: "UV指数"
state_topic: "/device_sensor_data/411841915123/2CF7F1C042400055/1/+/4190"
unit_of_measurement: "UV"
value_template: "{{ value_json.value }}"
- name: "土壌温度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4102"
unit_of_measurement: "℃"
value_template: "{{ value_json.value }}"
- name: "土壌湿度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4103"
unit_of_measurement: "%"
value_template: "{{ value_json.value }}"
- name: "電気伝導率"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4108"
unit_of_measurement: "dS/m"
value_template: "{{ value_json.value }}"
- name: "寝室温度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4102"
unit_of_measurement: "℃"
value_template: "{{ value_json.value }}"
- name: "寝室湿度"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4103"
unit_of_measurement: "%RH"
value_template: "{{ value_json.value }}"
- name: "寝室CO2"
state_topic: "/device_sensor_data/411841915123/2CF7F1C04160002C/1/+/4108"
unit_of_measurement: "ppm"
value_template: "{{ value_json.value }}"
保存して開発者ツールに移動し、YAML ファイルが正しいかどうかを確認します。
次に、Home Assistant を再起動します。
再起動後、MQTT が SenseCAP トピックをリスニングしていることを確認してください。
次に、設定 -> デバイスとサービス -> エンティティに移動します。
わぁ~~~ すべてのセンサー測定値がリストされています。
センサーデータダッシュボードの作成
最後のステップは、センサーエンティティをダッシュボードに追加することです。
概要に移動し、「Dashboardを編集」を見つけます。
エンティティカードを選択します。このカードには複数のセンサー値を含めることができます。
各センサー用に3つのカードを作成します。
最後に、非常に基本的な統合を行い、Home AssistantでSenseCAPセンサーデータを表示しました。
次に、UIを最適化して見た目を美しくするためにさらに時間をかける予定です。
また、ESP32を使用して新しいセンサーをHome Assistantに追加します。