Google Homeで録画済みの子供向けテレビをリピート再生させる方法

先に本記事で最終的にどんなことをやったか図解しておきますね。

Googlehome flow

すぐに実施した方法を見たい方はコチラ


遅ればせながらGoogle Home Miniを購入したPei(@pei_babo)です。

こんにちは!

なぜ今さらGoogle Home Miniを購入したかと言うと、、、

育児ストレス

奥さんの育児ストレスが最高潮に達していたからです…><

もちろん僕の手伝い不足のところもあったとは思います…。猛反省して奥さんと話し合って何がストレスになっているのかを聞き出すことに成功しました。

奥さんの主なストレス抜粋
  • 土日は私も育児を休みたい
  • 育児をしながら毎日ご飯も作らなきゃいけないのがストレス
  • 子供がずっと抱っこしてないと、泣き続ける時がある
  • etc………………………………….!!!!!!

なるほど…。今までごめんなさい><良く手伝っている方だと自分で勝手に思っていた…。超絶反省!

少しでもストレスを解消できるように解決策を奥さんと一緒に考えました。

ちなみに子供は現在1歳くらいです。

奥さんのストレス解消の解決策(案)
  • 土日の育児に関しては… → 子供の着替え、ごはん、お風呂、もろもろ手伝えるところは全部僕がやる(いままではお風呂と朝ごはんだけだった…)
  • ご飯に関しては… → 毎月の外食・出前費の予算をアップ(作るの面倒な時はガンガン出前を頼もう!)
  • 泣き続ける問題に関しては… → む、、、難しい

土日とご飯問題は解決出来たのですが、泣き続ける問題に関しては、んー、良い案が思いつかない。

すると奥さんから

wife

「たとえば、料理してるときに子供が泣きじゃくると、手がふさがってるし抱っこも出来ないし…ストレス」

というお言葉。

それとは別にちょっと前に

wife

「録画してるピタゴラスイッチを永遠ループさせることって出来ない?」

ということも聞いていた。たしかにピタゴラスイッチを流すと夢中で見る息子。

そんなやり取りから、僕「ん?Google Homeとか使えばちょっとでも役に立てるかもしれないな」と考えたのがきっかけでした!

プログラミングやWordPressを習得するのに一番近道な方法とは?

やりたいことをまとめる

ポイント

ざっくりとやりたいことをまとめます。何が実現できればよいのか。

どうすればやれるか細かいことは置いておいて、こうなったら良いなーという願望。

  1. 奥さん料理してる。
  2. 子供が泣きじゃくる。
  3. 料理で手がふさがってるし、抱っこも出来ない。抱っこすると料理ができない。
  4. 奥さんがGoogle Homeに「ピタゴラ流して!」と言う。
  5. TVの教育カテゴリにある録画一覧がリピート再生される。
  6. 息子、ピタゴラを見る。泣き止む。
  7. 奥さん料理できる。
  8. アカルイミライ。

これだ!

そして、、、で、できればノンプログラミングでやりたい!ドヤッ!!(すみません…エンジニアなのに)

ラズパイとか使わずに…。

できるかどうか調べてみた!

Survay 0530

ひとつひとつ実際に可能かどうかまずは調べてみました。

Q.永遠ループ=リピート再生はできるのか?

まず、永遠ループ=リピート再生はそもそも家のTV(REGZA 43M520X)で出来るのか。

説明書を読むと「録画リスト>サブメニュー>再生設定>リピート」でいけそう。ピタゴラスイッチやおかあさんといっしょが録画されている教育カテゴリの中でもリピートができるか確認すると、これもいけそう!

※注:リピート再生の操作方法はレグザの型番によって違います。

永遠ループ=リピート再生問題はクリア!

Q.Google Homeでテレビを操作できるのか?

というかGoogle Homeってそういうもんでしょ、と勝手に思っていたのですがなにやらスマートリモコンというのが必要そう。

スマートリモコンとは赤外線リモコン付きの家電を操作できるイケてるやつ。家中のリモコンをまとめてスマホで操作できちゃうよって感じです。

調べてみるとスマートリモコンは「Nature Remo」ってやつが良さそう。

Nature remo capcha

Google Home→テレビの操作自体はクリア!

Q.Google Home→Nature Remoでボタンの連続操作(連打)はできるのか?

ただ、よく調べてみるとGoogle Home→Nature RemoのいわゆるDirect Actionsと呼ばれてるやつでの家電の操作は基本的にはONとOFFしかできないっぽい…。(エアコンは運転モード変更とか温度変更はできるけど)

Nature Remoのシーン機能Google Homeのルーティン機能も複数の家電を一気に操作はできるけど、一つの家電の複数ボタンを連続操作は出来ない。

むむ…。

いやいやそんなことはないよね。と他の手段を調べると良く聞くIFTTTっていうサービスに行き着く。

Ifttt

IFTTTとは例えばTwitterで画像をツイートしたら、勝手に自分のインスタに画像が投稿されるみたいな、WebサービスとWebサービスをつないでくれるイケてるやつ

まさにIf This Then That(これならそれ)の頭文字をとってIFTTTですね。しかも無料!

IFTTT使えばいけるのかなーと思ったのですが、IFTTTではGoogle Home→Nature RemoのON/OFF以外のボタンも使えるという感じでした。

例えばGoogle Homeに「NHKつけて!」と言えば、Google Home→IFTTT→Nature Remo経由で1チャンネルに変えてくれるという感じ。

これだけでも全然IFTTTを使う意義はあるのですが、僕のやりたいことはできない…。
baby_LISA78_kuyasiiMBA20141018102736_TP_V.jpg

僕のやりたいことは「ピタゴラ流して!」と言ったらテレビのリモコンのボタンを複数押さないといけないから。

むむ…。

ボタンを複数連続で押す→IFTTだけだとできない…><

Q.ボタンの連続操作どうするよ?

勢いに任せて、すでにGoogle Home miniとNature Remoを注文してしまっている僕…。

ここにきて出来ない!じゃ有言不実行だ!

夜なべして調べる。嘘だ。

せっせと調べるとこのような記事を発見。

Nature Remo連続実行を『Integromat』で実現する方法 | CHASUKE.com

この記事を見た瞬間。

koreda_TRTM9578_TP_V.jpg

「これだ!!!」

と思いました。

CHASUKEさんありがとうございます(/・ω・)/

この記事を見ると、どうやらIntegromatというサービスを使えばいけそう。

Integromat capcha

IntegromatはIFTTTと似ているサービスでIFTTTより複雑なことができるって感じですね。

月に使える回数と使用間隔の時間などが決まっててそれ以上は有料といういわゆるフリーミアムモデル。

IntegromatならNature RemoのAPIと連携させれば連続でボタンが押せそう!

連携イメージは「奥さん → Google Home → IFTTT → Integromat → Nature Remo → テレビ → アカルイミライ」って感じ。

Integromatを使えばボタンの連続操作いけそう!!

使ったハードとサービス

使ったハードウェア
  • レグザTV(REGZA 43M520X)
  • Google Home mini
  • Nature Remo 第二世代 ※第一世代やminiでも大丈夫
  • スマホ(iPhone7)※Androidでも大丈夫
使ったWEBサービス

最終的に今回は上記を使いました!

Google Homeで録画済みの子供向けテレビをリピート再生させる方法!

本題まで長々と与太話をしてしまいまして、申し訳ございません。ここからが本題です(/・ω・)/

① Nature Remoにテレビのリモコンのボタンを覚えさせる

Tv remocon ea3c5e47c5fef95b5873639ba053d8c4 m

まずはNature Remoにテレビのリモコンを覚えさせましょう。ここで重要なのはやりたいことに必要なボタンを別途覚えさせること。

初期設定とリモコンの登録は下記の公式ページを参考に設定してください。

おそらくご家庭のほとんどのテレビがNature Remoが勝手に判断して、ボタンを設定してくれると思います。

僕のレグザも登録しただけで既にこんなにボタンが!

Nature Remoのテレビボタン

でも今回やりたいことを実施するにはこれじゃダメなんです。別途自分で必要なボタンを覚えさせなくてはいけません。

自分で必要なボタンを覚えさせる方法

① テレビのリモコンの右上の+ボタンを押す
Nature Remo button

② 下記の画面でNature Remoに向けて覚えさせたいリモコンのボタンを押す
Nature Remo add button

③ 好きなアイコンとボタンの名前を設定
Nature Remo modify

④ ①〜③を繰り返す

今回の僕のやりたいことに必要なボタンは「録画リスト」「サブメニュー」「上」「下」「決定」の5つのボタンなので最終的に下記のようになりました!

Nature Remo buttons

ここでのボタンの設定はご自分のやりたいことに必要なボタンを設定してください!

② Nature RemoのAPIを使えるようにする

Api icon

ここは難しいことは考えず流れのままやっていきましょう。

下記からアクセストークンを取得する
https://home.nature.global/

Googleアカウントでログイン、もしくはメールアドレスを記入してログインメールをもらう
Nature api 1

許可するをクリック
Nature api 2

GO!
Nature api 3

Generate access tokenをクリック
Nature api 4

Access Tokenをコピーしておく
Nature api 5

Access Tokenは誰かに知られないようにしてくださいね。知られてしまえば自宅の家電を誰かに不正に操作されてしまう可能性がありますので!

アプライアンスを取得
macのターミナルで下記のコマンドを叩いて、アプライアンスjsonを手に入れましょう。アクセストークンは上でコピーしたものを使ってください。

Windowsの場合は、下記からcurlをインストールしてから、コマンドプロンプトで上記コマンドを実行してくださいね。

コマンドを実行すると、その場所に「nature_appliances.json」が取得できてると思います。その中身を整形して見てみると自分が作成したボタンのIDが取得できますよ!(あとで使います!)

JSON整形サービス

探しづらいかと思いますが、nicknameをKEYにして検索すると見つけやすいかと思います!

③ IntegromatでWebhookを作成する

アカウントを作成
Integromat 01

各項目を入力し、メールアドレスの確認ができればすぐに使えるようになります。

Dashboard画面から新しいシナリオを作成
Integromat 02

この画面はスルーしてContinueをクリック
Integromat 03

シナリオ作成画面
Integromat 04

真ん中の?をクリックして、Webhooksを選択してください。

次はCustom webhookを選択!
Integromat 05

Addをクリック!
Integromat 06

Webbook nameを適当に入力して、Saveをクリック!
Integromat 07

ちなみに僕はpitagora(ピタゴラ) webhookにしました(/・ω・)/

下記のURLの部分をクリックしてコピー
Integromat 08

まずは作成されたURLにアクセスして、このWebhookを有効にする必要があります。

ブラウザでこのWebhookのURLを叩く
Integromat 09

Acceptedが出ればOK!

成功!WebhookのURLをコピーしておく
Integromat 10

画面に戻ったらSuccessfullyと出てるかと思います!

このURLは後ほどIFTTTの設定で使うのでコピーしておきましょう!

④ Integromatでシナリオを作成する

③からの続き。さあ次は作成したWebhooksのAdd another moduleをクリック!
Integromat 11

HTTPモジュールを選択
Integromat 12

Make a requestを選択
Integromat 13

各項目を設定
Integromat 14

HTTPリクエストの各設定を入れていきましょう!

URL https://api.nature.global/1/signals/{赤外線信号ID}/send
Method POST
Body type Application/x-www-form-urlencoded
Headers Name Authorization
Value Bearer {アクセストークン}

ここで入れる赤外線信号IDとは②の手順で取得したJSONに入っている自分で設定したボタンのIDのことです!下記の赤枠部分がそれぞれの赤外線信号IDですね。

Integromat 15

なので今回、僕のやりたいことの場合は、まず録画リストを押す必要があるので、1番最初は録画リストの赤外線信号IDを入れます。(テレビは既に付いている前提!)

pei

この赤外線信号IDは各々自分がやりたいことによって変わってきますよ(/・ω・)/

アクセストークンも②の手順で取得してますので、それを記入します!

OKを押すとこんな感じに!
Integromat 16

動作するか1回動かしてみよう!
Integromat 17

保存したら、スケジュールのところをクリックして、Immediatelyを選択してActivateをクリック!

そうしたら、手順③で作成したhttps://hook.integromat.com/から始まるWebhookのURLをブラウザで叩いてみましょう!!

どうですか??

赤外線信号IDを設定したボタンがNature Remo経由で押されましたか??僕の場合は無事テレビが録画メニューに切り替わったことを確認しました(/・ω・)/

ひゃっほーい!

シナリオ作成を続けよう!次は実行間隔を指定します!
Integromat 18

どんどんやってきましょう。次は次のボタンを押すまでの実行間隔を設定していきますよ。

今度はToolsを選択!その後、Sleepを選択!
Integromat 19

2秒を選択
Integromat 20

次のボタンを押すまでに間隔を空けないと、信号が錯綜しちゃうので必ず間隔を空けましょう!
pei

1秒でももしかしたらいけるかもですが、毎回必ず成功させたいので僕は2秒にしました!今のところ錯綜したことはないです!

後はボタン→Sleep→ボタンの繰り返し!cloneを利用してサクサク作成しよう!
Aaaaaa

コピーしたいモジュールを右クリックするとcloneメニューが出てくるので、それを利用しながらせっせとシナリオを作っていきましょう!最後に保存を忘れないように。

で、最終的にできたシナリオがこちら!

Integromat 22

ボタンの動き
録画メニュー → サブメニュー → 下×6回 → 決定×3回
実際のテレビの動き
録画メニュー → サブメニュー → 番組検索 → ジャンル「趣味/教育」で検索 → 再生
pei

難しかったのが、テレビの画面や設定が記憶されていること。毎回このボタンを押せば同じ結果を得られるというパターンを探すのが面倒でした汗。いわゆる冪等性(べきとうせい)というやつ。やりたいことをするにはいくつかの前提条件が必要でした。

前提条件
  • テレビが付いていること
  • 番組検索のジャンルが「趣味/教育」になっていること
  • リピート再生が設定されていること

どうしても、この前提条件が必要でした。今テレビがどんな状態にあるのか、分からないですからね。

注意点
  • Integromatの無料枠は1ヶ月1000モジュールなので、今回は1ピタゴラで22モジュールを利用している → 1日1〜2回くらいしか使えない…でも土日はあまり使わないからギリギリ足りるかな。

⑤ IFTTTでGoogle HomeとIntegromatを結びつける!

さあ!いよいよ終盤です!ここまでくればもう終わったようなもんです。

IFTTTのアカウント登録
Ifttt 01

My Applets → New Appletをクリック
Ifttt 02

thisをクリック
Ifttt 03

Google Assistantを選択
Ifttt 04

Say a simple phraseを選択
Ifttt 05

トリガーとなる言葉を決める!何個か入れとこう!
Ifttt 06

次はthatをクリック!
Ifttt 07

Webhooksを選択!
Ifttt 08

Make a web requestを選択!
Ifttt 09

IntegromatのWebhookURLを記入!
Ifttt 10

作成したIntegromatのWebhookURLを記載して、MethodはGETにしてOK!

Finishを押して完成!
Ifttt 11

長かったですね!これでようやく完成です!!

⑥ ピタゴラ流して!とGoogle Homeに言ってみる!

Google home pic

ついにこの時がやってきました…!

Google Homeにあの呪文を言う時が!これで奥さんもハッピーに!

「ピタゴラ流して!」

無事に教育カテゴリのビデオをリピート再生することができましたとさ(/・ω・)/

まとめ

今回のまとめ
  • Nature Remoで複数ボタンを連続で押したい時は、Integromatを使えばOK!
  • 最終的にGoogleHome → IFTTT → Integromat → Nature Remoの流れなら複雑な動きが可能!
pei

今回はピタゴラ流して!という複雑なことでしたが、子育て時には普通にテレビつけて!とかエアコンつけて!電気消して!とか、手が離せない時に本当に重宝しますね!GoogleHomeのおかげでかなりハッピーになりました!

もし良かったらフォローとか購読して頂けると嬉しいです!╭( ・ㅂ・)و ̑̑ グッ !

follow us in feedly

コメントを送る

メールアドレスが公開されることはありません。

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください