Home Assistant 公式Orangepi GPIOコンポーネント
注) 2021-04-13T15:00:00Z
Hassをインストールした場合、以下ディレクトリにコンポーネントとしてインストールされています。
homeassistant/homeassistant/components/orangepi_gpio
orangepi_gpioでは入力機能しか備わっていないため、rpi_gpioをベースに出力機能を追加したものが以下。
gpioグループを作成しHome Assistantユーザを所属させます。
$ sudo addgroup gpio
$ sudo usermod -aG gpio <Home Assistant_User>
$ sudo nano /etc/udev/rules.d/99-gpio.rules
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'find -L /sys/class/gpio/ -maxdepth 2 -exec chown root:gpio {} \; -exec chmod 770 {} \; || true'"
GPIO設定については以下リンク先を参照願います。
Owntracksコンポーネントの導入は、以下のHomeassistant設定画面上で行います。
Home Assistantのバージョンアップに伴い仕様が変更となったようです。 0.94以降known_devices.yamlによるデバイス設定は不要になりました。
OwntracksはMQTTに対応しているため、位置情報をMQTT指定トピックにパブリッシュ、Home Assistantのユーザステータスに反映させます。
AndroidバージョンのOwntracksをインストール後以下の設定をします。
PreferencesメニューからConnectionを選択、ModeでMQTTを選択
MQTTサーバホスト、ユーザ名とパスワードを入力
デバイスIDとTrackerIDは任意です。
configuration.yaml にowntracksの項目を追加します。
owntracks:
max_gps_accuracy: 200
waypoints: true
mqtt_topic: "owntracks/#"
events_only: true
waypoint_whitelist:
- jon
- ram
region_mapping:
cabin: home
office: work
Home Assistantを再起動後、設定—>Personsからユーザを選択、Track Deviceをプルダウンメニュー(Username-Device IDで表示されます)から選択します。
Home Assistantの地図上に現在地が表示され、メイン画面上には指定場所に滞在しているかどうかのステータスが表示されます。
注) 情報としては古いですが、下記も参照のこと。
Preferences—>Configuration management: 右上ドットをタップして"editor"を選択、下記を入力
Key: mqttProtocolLevel
Value: 4
MQTTプロトコルによるデバイス追跡
次の設定ルールをパブリッシュすることにより、デバイスの自動認識が可能。
デフォルトで有効
configuration.yaml
# Example configuration.yaml entry
mqtt:
discovery: false // default: true
discovery_prefix: homeassistant // default
記述ルール
<discovery_prefix>/<component>/[<node_id>/]<object_id>/config
<discovery_prefix>:"homeassistant"がデフォルト
<component>:MQTTコンポーネント ex) binary_sensor, sensor, switch, light, device_tracker, cover など
[<node_id>] :オプション
<object_id>:任意だが固有のデバイスIDを指定