音声コマンドで、Google Nestやテレビ(Chromecast)にスマート非対応のWebカメラの画像を表示してみる(hsbox使用)

スマート対応されたIPカメラも登場してきていますが、現時点のWebカメラのほとんふどは未対応でしょう。そこでスマート非対応のWebカメラからGoogle Nestやテレビに映し出すことにトライします。もう一つポイントは”プログラミングしない”ということです。hsboxを使用し、設定だけで実現します。

システム構成:
IFTTTで 「Google Assistant」 をトリガに使用。
※機種によっては監視カメラ自体のアラームをトリガにできます

②IFTTTの 「Webhooks」で、hsboxのAPIを操作。

③ hsboxのメニューのコマンドで画像をURL指定指定して
スマートデバイスに 「cast」を実行

  ④ Google Nestなどの スマートディスプレイや、
Chromecastが WebカメラにURLにアクセスし
ディスプレイやテレビに画像を表示

ここでは、hsboxのスマートサービス連携機能クイックスタートガイドの設定が完了している前提で書きます。 つまり、「メニュー ゼロ」の呼び出しで、ディスプレイや テレビにhsboxのトップメニューが表示されるところまでの設定が完了している前提です。

■①トリガの設定、② 「Webhooks」 の設定

①、②は上記の前提条件の設定状態で完了しています。個別の「シングルワード」での呼び出し設定を行うことで、より操作しやすくなります。

■③メニューのコマンド設定

hsboxのメニューファイルをダウンロードします。設定変更していないなら、どのファイルも同じです。すでに変更していて、追加したい場合は、boxmenu.txtをダウンロードして編集します。

設定例:
 メニューの 625番に 玄関に着けたWebカメラ(http://192.168.20.50:80/snapshot.jpg)を表示するコマンドを登録してみます。

625番なので、 boxmenu.txt ファイルの626行目をつぎのように更新します。※ boxmenu.txt ファイル の行は追加削除しないでください。行番号がメニュー番号に対応しています。先頭行(1行目)が、メニュー0番なので、メニュー625番は、626行目に相当します。

302,http://192.168.20.50:80/snapshot.jpg,-,625: 監視カメラ (玄関),カメラ,-


Google home ,nestに プログラミングなしでプッシュ通知をやってみる(hsbox使用)

以前、「雨が降りだしたら自動で排水」という記事を書きました。今回は、これを拡張して、”排水”の前に、「雨が降り出しました」と音声でプッシュ通知することにトライします。もう一つポイントは”プログラミングしない”ということです。hsboxを使用し、設定だけで実現します。

システム構成:
    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のみで指定することも可能です。

以上で、プッシュ通知をプログラミングなしで実現できました。
他にも工夫次でいろいろできそうです。