HomeAssistantとspeedtest-trackerをWebhookで自動連携する
はじめに
Home Assistantのダッシュボードを作成した際に自身で工夫したエンティティの設定方法を記事化しました。
この記事ではspeedtest-trackerによる速度測定終了後にHomeAssistantへ連携する方法を説明します。
speedtest-trackerは既に動作環境が構築されている事を前提としています。
speedtest-tracker
OoklaのSpeedtestサービスを使用してインターネットの速度測定を実行するDockerコンテナです。
以下はProject Page (GitHub)から抜粋したものです。
Image version
A full list of released versions can be found here: https://fleet.linuxserver.io/image?name=linuxserver/speedtest-tracker
For more environment configuration see the docs: https://docs.speedtest-tracker.dev/getting-started/environment-variables
設定
configuration.yaml
rest:
# Speedtest Tracker
# resourceの {URL:ポート番号}(Speedtest Tracker) は要置換
- scan_interval: 86400
resource: http://{URL:ポート番号}/api/speedtest/latest
sensor:
- name: 'Speedtest Download Speed'
unique_id: speedtest_download_speed
value_template: "{{ value_json['data']['download'] }}"
unit_of_measurement: Mbps
- name: 'Speedtest Upload Speed'
unique_id: speedtest_upload_speed
value_template: "{{ value_json['data']['upload'] }}"
unit_of_measurement: Mbps
- name: 'Speedtest Ping'
unique_id: speedtest_ping
value_template: "{{ value_json['data']['ping'] }}"
unit_of_measurement: ms
※編集後、設定を反映させるためHome Assistantを再起動してください
Home Assistant フロントエンド
[設定] > [オートメーションとシーン] > [オートメーション] > [+ オートメーション作成] > [新しいオートメーションを作成する]
※自動採番されたWebhook IDはメモしておいてください(通常、値を変更する必要はありません)
Speedtest Tracker フロントエンド
[Settings] > [Notifications] > [Webhook]
※Webhook - Recipients - Url には
"http://{Home AssistantのIPアドレス:ポート番号}/api/webhook/{メモしておいたWebhook ID}"
を指定してください
Discussion