2018年12月10日に半額セールの楽天で買ったGoogle Home miniですが、今では、ほとんど目覚まし時計の代わりです。
最近、目が悪くなって目薬を毎日4回ささなくてはならなくなりました。
Google Home miniに「**時にアラーム」とお願いすれば、アラームを鳴らしてくれます。
これで、十分といえば十分なのですが、目覚ましのアラームも目薬のアラームも同じなので、目薬のアラームを音声にしてみました。
スマホのGoogl Homeアプリでは、一つのルーティンでタイムスケジュールは1つしか使えないようなので、PCで使えるGoogle Home for webでルーティンを作成してみました。
スマホでも時刻ごとに4つのルーティンを作ればいいわけなので、特に問題では有りませんが、今回は興味本位でPCで1本のルーティンに複数のタイムスケジュールを組み込んでみました。
余談ですが、スマホで作成したルーティンはPCでは編集できません。何か方法はあるのかもしれませんが。
[itemlink post_id=”27272″]まずは午前0時の案内を作成(タイムスケジュールは1つ)
にアクセスします。
下のような画面が現れます。家族のルーティンには試しに作ったルーティンがいくつかすでにあります。
図-1
右に三角マークがないルーティンはスマホのアプリで作成したものなので、上で冊目した通り、PCでは編集はできません。
編集しようとすると次のようなメッセージが出ます。
図-2
これ以外は、PCで作成したので三角マークが付いています。
スマホアプリではメッセージのまま選んでいくとルーティンが出来上がるのでとても簡単にルーティンが作れます。
しかし、PCではスクリプトエディターを使って設定ファイルを編集しなくてはなりません。
ただ、YAMLで書かれた設定用のテンプレートの必要なとこを編集するだけなのでYAMLを知らなくても大丈夫です。
下のキャプチャー画像は、午前0時に目薬をさす案内を行うルーティンです。ほとんどコメントで、編集する箇所はごくわずかです。
図-3
metadata:
name: 深夜の目薬です # Choose a short name that summarizes important starters and actions, like “Sunset lights”.
description: 午前0時に「深夜の目薬です」と音声で流す # Write a detailed description that includes everything the automation does, like “At sunset, on weekdays, close blinds, turn on lights to 50%, and play the sunset playlist on certain speakers.”
nameにはルーティン名(どんなルーティンかわかるように)
descriputionnはルーティンの説明を入れます
ここは、これだけです。
automations:
ここがメインです。Starters「開始条件」、Conditions「条件」、Actions「アクション」の3つのコンポーネントでオートメーションがどう動作するのかを決めます。
・Starters「開始条件」は、開始するための条件を入れます。ここでは時刻です。
・Conditions「条件」は、オートメーションが実行されるための条件で、この条件が満たされたときにオートメーションは実行されます。今回はStarters「開始条件」で事足りるようなので、使いません。
・Actions「アクション」は、条件が満たされたときの動作を記載します。今回はアナウンスを流します。
Starters:「開始条件」
– type: time.schedule
# Required. Time to schedule automation. Accepts either clock time (10:00:00 AM, with seconds optional, or in a 24 hour format), or ‘sunrise’ or ‘sunset’, with an optional offset (‘sunrise+10m’, for instance)
at: 0:01 AM # HH:MM XM (12 hours format). Adjust time as needed
# Optional. Days of the week to run automation on.
weekdays:
– MON
– TUE
– WED
– THU
– FRI
– SAT
– SUN
Conditions「条件」なし
Starters「開始条件」
actions:
– type: assistant.command.Broadcast
message: 深夜の目薬です
devices: ベッドルーム – ベッドルーム *Google Home miniが置いてある部屋です
・typeには、とりあえずassistant.command.Broadcastを選びました。スピーカーから声が出るので大丈夫なようです。
・messageにはGoogle Home miniに喋ってもらう言葉を入れます。
・deviceはGoogle Home miniが実際に置かれている場所です。複数のミニがあれば、すべて選ぶこともできます。
2回アナウンスしてもらいたいので、下記の通り同じ内容を2つ書きました。
– type: assistant.command.Broadcast
message: 目薬を忘れずにさしてください
devices: ベッドルーム – ベッドルーム
– type: assistant.command.Broadcast
message: 目薬を忘れずにさしてください
devices: ベッドルーム – ベッドルーム
記載したリストから選ぶのはこれだけでした。この様にテンプレートを修正するだけなので誰でも簡単にできそうです。
気をつける点は、次の行に移るときは、半角スペースが2つ必要だということ、フォントは等幅フォントを使うことぐらいです。
上の図-3の下に保存と検証ボタンがあるので、まず検証ボタンをクリックして正しいかどうかをチェックします。OKなら保存です。
次に下の右にあるスイッチを有効にすれば、完了です。
最初の図-1に戻って、今作成した「深夜の目薬です」の三角マークをクリックすると、設定時刻に関係なくテストできます。
ここで、クリックすると、「ルーティンを開始しています」というメッセージが出たあと、Google Home miniから「深夜の目薬です」という音声メッセージが出ます。
ここまでで、午前0時の「深夜の目薬」は終わりです。
目薬は4回ささなくてはならないので、深夜の次は朝6時の目薬、正午の目薬、夕方6時の目薬を同様に作る必要があります。
実際に4つルーティン作って運用したところ大変便利で、目薬の差し忘れもなくなりました。
以下は、1つのルーティンに4つのルーティンを集約させた方法です。
条件を4つの時刻にしたルーティンを作成
次は、本題の1つのルーティンで4つの時刻にアナウンスを流す様にします。
やることは、Startersに4つのtypeを時刻ごとに作るだけです。4つのどれかの条件が来れば、アクションが起きます。
「深夜の目薬」をひな形にし、下記のtypeを追加します。
まず、先に作った「深夜の目薬」のコードを新しいテンプレートにコピーします。
次に、図-1の右上の「+新たに追加」をクリックします。テンプレートが出てくるので、全てクリアして、先程コピーした「深夜の目薬」のコードを貼り付けます。
上の図-3のコピーが出来上がります。
ただ、metadataのnameは別の名前に変更します。名前が同じだと保存できません。
次に、コピーした- type:のコードを3回貼り付けます。(時刻が4つあるので)
これをStartersに4つ書き込む
↓
# Required. Time to schedule automation. Accepts either clock time (10:00:00 AM, with seconds optional, or in a 24 hour format), or ‘sunrise’ or ‘sunset’, with an optional offset (‘sunrise+10m’, for instance)
at: 0:01 AM # HH:MM XM (12 hours format). Adjust time as needed
# Optional. Days of the week to run automation on.
weekdays:
– MON
– TUE
– WED
– THU
– FRI
– SAT
– SUN
貼り付けると図-4のようになります。カッコ悪いですが、これもちゃんと動作してくれます。
なお、時刻はテスト用に1分おきに設定していますが、ここは午前0時、午前6時、午後0時、午後6時にしています。
残念なのはメッセージ内容が皆同じになってしまうことですが、共通なので仕方有りません。
図-4
検証をクリックして、インデントなどに問題がなければ保存、有効化します。
コピペなどの手間を考えると、4つの独立したルーティンを作った方がてっとり早いです。
一応は動作しましたが、現在は別々の4つのルーティンで目薬のアナウンスをしています。
他にも方法は色々あると思いますが、とにかく簡単にできるのがいいです。
以上、備忘録も兼ねてのご紹介でした。