Matter SDKのexamples/sensorsを試す その4 Home AssistantでMatterデバイスが利用不可になったらGotifyで通知

前置き

先日、久しぶりにHome Assistantを開いてみたら、Matterデバイスが利用不可になってました。調べたところ、ボーダールーターとの通信ができない状態になっていたので、ボーダールーターの電源を入れ直してみたところ復旧しました。なぜ通信できなくなったのかはわかりませんが、また起こらないとも限らないので、利用不可になったらGotifyでiPhoneアプリに通知してできるだけ早期に対応できるようにしました。そこそこハマったため、その時の作業のメモを備忘録として残しておきます。

Gotifyのサーバとアプリの準備

  • こちらのページを参照して、事前にGotify、iGotifyサーバを立ち上げる
  • iPhoneにiGotifyアプリをインストールしてGotify、iGotifyサーバのURL、ログイン情報を入力。さらに、Home AssistantからGotifyに通知するためのアプリケーションを追加してトークンを取得する。(Appsタブでアプリケーションを開き、Tokenのところを左にスライドするとコピーできるので、これをメモしておく)

Home Assistantの設定ファイルを編集するFile editorをインストール

  1. HomeAssistantの設定からアドオン→アドオンストア、に移動
  2. File Editorを検索し、Install、サイドバーに表示をONにしてStart

Gotifyによる通知を追加

  1. サイドバーのFile Editorをタップ
  2. 左上のフォルダアイコンを開き、configureuration.yamlを選択
  3. 以下のように追加し、保存
notify:
  - name: gotify
    platform: rest
    resource: "https://gotify.example.com/message?token=xxxxxxxxxxxxxxx"
    method: POST_JSON
    headers:
      Content-Type: application/json
    message_param_name: message
    title_param_name: title
    data:
      priority: 5
  1. サイドバーの開発者ツール→YAML→設定の確認、で問題ないことを確認したら再起動をタップ

オートメーションの追加

  1. サイドバーの設定→オートメーションとシーンをタップ
  2. 新しいオートメーションをタップし、トリガーはエンティティ→状態、をタップ。条件をセットする。例えば、人感センサーが利用不可になった場合、であれば、エンティティにはMatterデバイスの占有を選択。変化前を任意の状態、変化後を利用不可とする
  3. アクションにはSend a notify with gotifyを選択し、message、titleを設定して保存する
Copied title and URL