IFTTTの改悪、もとい有料化に伴って
3つまでしか登録できなくなってしまった。
我が家のIOT環境では大打撃です。
うちは今下の感じになっている。
Google Home → IFTTT → Slack → Hubot → rm mini3の
(参照):Smart Home - Google Homeの喋らせ方 様
https://scrapbox.io/smart-home/Google_Homeの喋らせ方
自宅IOT環境を
IFTTTのフリーの3つまでの登録でどうにかしてみる。
そしてこれは その備忘録。
構想としては下。
IFTTTのトリガーのGoogleAssistantの設定は
すべて頭に「[お願い]◯◯して」とする
もしくはgooglehomeのショートカット機能を利用して「電気消して」を「お願い電気消して」に変換する
アクションは
webhookで
raspberry pi上で実行しているnode.jsに渡す
google homeからということがわかるように
頭に[%GH%]とかつける。
http://xxxx/google-home-notifier?text=%GH%xxxxxxx
みたいな感じ
node.js上で
[%GH%]以降の文字列を判別してアクションを起こす。
アクションの選択は
RedisかGoogle SpreadSheetを使って変換テーブルみたいな感じにする。
あとで編集が楽だからGSSかな?スピード重視でRedisにするかも・・
アクション自体は
Raspberry上にアクション用のShellファイルを作成しておく。
Slackに送信、Lineに送信、RmMini3に送信などを作成しておいて、引数つけて実行する。
また、連続実行できるように、複数実行機能もつける
最後に実行完了を声でお知らせ
お知らせもVoiceTextを使って良い声を使う。
これができたらIFTTTで3つのみでもOKになる・・・はず。
まだできてないもの:
1.Node.jsでGSSをアクセス
googlehomeからの文字列から、アクション種別、引数1、引数2、引数3、終了メッセージを返す
2.GSSのデータを正規表現で取得(REGEXEXTRACT関数利用)
3.ShellでRmMini3を実行
4.複数実行機能の実装
5.ShellでLine送信(優先度低)
これらを記事にする。
なお、すでにできているもの:
・Raspberry Piの設定
・Node.jsの設定
・Googlehomenotifierの設定
・VoiceTextの設定
・hubotの設定
・ShellでSlack送信
・ifttt側の設定
・Shellでmotion実行・停止
・Ngnixとかの設定
これらは後で忘れないようにそのうち記事にする。