雨が振りそうになったらGoogleHomeに喋らせる方法

GoogleHomeに、今日の天気や予定を聞くのは、とても便利ですが、
毎朝、こっちから天気を聞いたりするのが、本当に面倒だなって思います。

決まった時間に自分から話してくれたり、雨が振りそうだったら教えてくれたらいいのにと思い、いろいろ調べました。

必要なものは以下のとおりです。
 ・google-home-notifier
 ・IFTTTやmyThings
 ・Dropbox
 

curl -X POST -d "text=テストです" http://localhost:8091/google-home-notifier

google-home-notifierを使うことで、通常はこの形式で、言葉を発することができますが、以下のようにすることで話す言葉のテキストファイルを読み込んで、話すこともできます。※下記のパスがGmailなのは、最初に試したのがGmailだからです。。

curl -X POST -d "@/home/username/Dropbox/IFTTT/Gmail/GoogleHome.txt" http://localhost:8091/google-home-notifier

<GoogleHome.txt>の内容

text=本日は晴れです。テストです

ポイントは、text=までを入れるところです。
もっといい方法がありそうですが、うまくできなかったのでこれで行きます。
curl を実行すると、テキストファイルの内容を話してくれます。


次に、動的にテキストファイルを作成するために、
IFTTTやmyThingsを使い、Dropboxにテキストを出力します。
トリガーは何でもいいです。

・特定のメールを受信したとき
 (注:メーラー側で、振り分け設定やラベル付などをしないと、
   すべてのメールを読み上げてしまいます。
・特定の時間になったとき
・twitterで更新があったとき
・もうすぐ雨が振りそうなとき

次に、アクション側の設定をします。

ポイントは、ファイル名を「GoogleHome.txt」などの決まったものにすること。
Contentの部分に、「text=」を入れることです。そうしないと、curl の型にはまらないためです。保存先も、上記のように設定します。

これを、cronで1分ごとに監視すれば、Googleが動的に話してくれます。

crontab -e

エディタが開いたら、以下を追加します。

* * * * * sh /home/username/googleHome/GoogleHome.sh

GoogleHome.sh の中身は以下のようにしました。
myThingsなどでファイルを保存するときに、ファイル名に日付などが付いてしまうことがあったので、mvでファイル名を修正しました。

mv /home/username/Dropbox/IFTTT/Gmail/GoogleHome.txt* /home/username/Dropbox/IFTTT/Gmail/GoogleHome.txt
curl -X POST -d "@/home/username/Dropbox/IFTTT/Gmail/GoogleHome.txt" http://localhost:8091/google-home-notifier
rm /home/username/Dropbox/IFTTT/Gmail/GoogleHome.txt

天気予報のトリガーは、IFTTTだと変な日本語になるので、myThingsで作ったほうが良いと思います。 その他、GoogleHomeに話してほしいことを、トリガーとして、メールやtwitterなどを設定すれば、なんでも話してくれます。

我が家では、天気予報や地域の防災メールなどを話させてます。
なかなか便利だと思います。

コメント

%d人のブロガーが「いいね」をつけました。