以前、「雨が降りだしたら自動で排水」という記事を書きました。今回は、これを拡張して、”排水”の前に、「雨が降り出しました」と音声でプッシュ通知することにトライします。もう一つポイントは”プログラミングしない”ということです。hsboxを使用し、設定だけで実現します。
※hsbox無料版がリリースされました2022/1/24追記
システム構成:
IFTTTで 「Weather Underground」 のトリガを使用。
※このイベントの精度を向上できるほかの方法がないか後日検討
↓
IFTTTの 「Webhooks」で、hsboxのAPIを操作。
↓
hsboxのメニューのコマンドでスマートデバイスでの
「文字列読み上げ」を実行
↓
Google home や Google Nestなどのスマートスピーカー、
スマートディスプレイ、 Chromecastを備えたテレビで
音声によるプッシュ通知
ここでは、hsboxのスマートサービス連携機能のクイックスタートガイドの設定が完了している前提で書きます。 つまり、すでに「メニュー ゼロ」の 発話でhsboxのトップメニューが、ChromecastをつないだテレビやGoogle Nestに表示される状態ということです。
前提条件はここまでです。 以下は、プッシュ通知の設定方法です。
■プッシュ通知の設定する
まず、通知するためのイベントを設定します。
以前に作成したレシピに追加します。
以前「雨が降りだしたら自動で排水」レシピを作成したときは、まだ1つのレシピに1つのサービスしか実行できず、複数実行したいときはすこし技が必要でした。
現在は、下のように「+」を押すと実行するサービスを追加できます。
降雨イペントの作り方は、以前に作成したレシピを参照してください。
複数のスマートデバイスへのプッシュ通知は、複数サービスを書くことで実現できます。
■通知サービスの設定
Webhooksの設定でつぎのようにURLを設定します。
自ドメインはグローバルIPアドレスでも可能ですが、通常は動的にIPアドレスが変わるのでDDNSを利用して取得したドメイン名を利用してください。
ポート番号は、ルータで指定したポート番号を指定してください。ルータで家庭内LANのIP、ポートに変換する良いでしょう。変換先はhsboxのIPとポート番号を指定してください。hsboxのIPは、ルータでのIP払い出しを固定化するか、hsboxの固定IP追加機能を使用して動的に変わらないようにするとよいでしょう。hsboxのポート番号は、hsboxの仮想サーバ機能のポート番号指定で任意のポート番号を指定してください。
上記の①から③についての設定について説明します。
①hsboxのboxapiキーです。
hsboxの「スマートサービス連携」で指定したキーを設定します。
②プッシュ通知を設定したメニューの番号です。
「雨が降りだしました」 は、デフォルトで 333番に登録されているのでこれを指定します。 メニューに任意の通知メッセージを設定できるのでそれを使うこともできます。また、動的にメッセージを変えることも可能です。
③プッシュ通知を実行するターゲットのスマートデバイスコードです。
「スマートサービス連携」の「グループ」設定に登録したスマートデバイスのコードを設定します。 tgtは指定しない方法もあります。指定しない場合は、hsboxに設定されているカレントグループにプッシュ通知されます。
POSTで設定する場合は、上のようにBodyを設定します。 GETでURLのみで指定することも可能です。
以上で、プッシュ通知をプログラミングなしで実現できました。
他にも工夫次でいろいろできそうです。