今あるものでスマートホーム大作戦。今回は、AndroidTVをiPhoneで操作させます。スマートスピーカーなんてなくてもiPhoneにはSiriがいます。このSiriさんの力をもらって「Hey Siri!テレビつけて」編です。通信さえできればこっちのもんっす。
AndroidTVは外部からコントロールが可能
言わずと知れたアンドロイドテレビは外部からのコントロールが可能です。これが大前提。以前書いた記事がこちら。
通信さえ実現させてやれば、テレビをコントロールできますよというお話。
うちはBRABIAですが、通信を受け付けてくれるテレビであれば、外部から入力してやれば操作が可能かと思います。
SONYみたいにAPIをガツーンと公開してくれていると助かりますね。楽しい家電です。
スマートホームは「Hey Siri!」でリモコン代わりに!
で、先の記事はPCからPythonでREST APIをたたいてブラビアを操作しました。ここまでできれば、要は同じ通信をブラビアに送ってやれば同様の操作ができるということ。
iPhoneのiOSから言えばそう、特別なアプリケーションを入れることなく、ショートカット アプリを使えばこの通信が簡単にできます!何という利便性!Apple万歳!
さらに言えばこのショートカット 、Hey Siriで起動できるんです!
というスマートホームの夢の流れが特別な機器を買うことなく実現できるという素晴らしさ!もう一度、Apple万歳!Sony万歳!これができればリモコンなんていらない!
ということでiOSのショートカット レシピを作っていきましょう。
iOSショートカット のレシピを作成
さぁショートカット アプリを開いて「テレビつけて」の作成です。ここでつけたタイトルがHey Siri!の音声起動トリガになるので、分かりやすい言葉にしてください。
さて、次にアクションをおきますが、たったの二つで事足ります。何というシンプルさ。「URL」と「URLの内容を取得」です。
「URL」の設定
これまたシンプルで、写真の様に、URLに入力するだけです。カッコ内は、テレビのIPアドレスを入れてくださいね。
「URLの内容を取得」の設定
この通りに設定してください。これは少し長ったらしいですが画像のようにピコピコ入れるだけです。パスワードのところは、さっきと同様、テレビで設定したやつを入れてくださいね。
※注意点
JSONの中身の4つのコンテンツですが、それぞれ以下で選択してください。型を間違えるとIlligal JSONとなってうまく動きません。
params:配列
id:数字
version:テキスト
「URLの内容を取得」のparams設定
さてここの設定が電源の生死を分かちます。
辞書型で定義、中にブーリアンの変数を入れます。真ならば電源がON。偽ならば電源がOFFとなります。
なので、この作ったショートカット をコピーして、タイトル変えて偽にすれば「テレビ消して」のショートカット も完成です!お手軽!
使い方を工夫すればオートメーションできるかも。時間起動とか!
さて「Hey Siri!」もいいですが、これはそう、いちいち話しかけなくても起動ができるということになります。
つまりはショートカット のオートメーション機能を使えば、こんなシチュエーションで利用ができるということ!
何という応用力!特別なものを買わずにこの夢の便利さが揃うとは、ありがたい時代になったものです。これもiPhoneのショートカットアプリの応用力の賜物で、スマートスピーカを購入しても実現できない機能ですね。
まとめ
スマートスピーカを購入することなく、スマートスピーカ以上にスマートホームを実現してくれるこのiPhone×ショートカット ×AndroidTVの組み合せ。一度試してみてください。楽しいですよ。あれリモコンどこだっけ!が無くなるという嬉しい副作用付き!ものが既にあれば追加料金がかからないのも魅力的!
コメント
はじめまして!
すごく参考になります!
自宅から出たら、帰ってきたらオンオフやってみたくて設定してみたんですけどショートカットがうまく働きません笑
テレビ側の設定も大丈夫なんですが…。
何がいけないのか検討つきますか?
書き込みありがとうございます!
興味を持っていただけて光栄です!
ローカルLANなので家の外からはダメですよ。あとは同一ネットワーク内でないとうまく繋がりません。ルータの設定とかでネットワーク分かれてたりしませんか?
それでもダメならば…ショートカット実行後のログで、HTTPレスポンスがわかるとお力になれるかもしれません。なれないかもしれませんがw
ご指摘ありがとうございます!
{“error”:[5,”Illegal JSON”]}
というエラーがショートカット実行後にプレビューされるのですが…。
と思ったらテレビ側がWi-Fiで繋がってない!笑
問題はこれですかね。
仕事から帰ったら再度やってみます!
それは無理!w 一度wifi繋いで試してみてください。
でもjsonエラーも出てるみたい。
jsonフィールドのキー入力を間違えるとそのエラーが出てたで、今一度正しく入力されてるかご確認ください。
説明通りに呪文を打ち込んでいるのですがうまくいかんとですねぇ。
一番ミスりそうなparamsは辞書で定義して中のブール値はstatusでやってるんですが…。
テレビ側の設定も問題なく…。
自分にはまだ早すぎたんですかねw
来世で頑張ろうかなとw
おや、paramsは配列ですよ。その中のstatusが辞書でブール値です。
一度それでやってみてください。
咀嚼して下さり、またご指摘ありがとうございます。
己の理解力のなさに恥ずかしいばかりです。。。
paramsを配列、中に辞書を置きブール値を置きましたが同じく {“error”:[5,”Illegal JSON”]} が出てしまいます!
暗記して打ち込めるほど何度も確認したのでスペルミスはないのですが。。。
ステイホームの一日が画面とにらめっこで終わりましたw
そこが間違っているということは、他の要素も確認してみてください。
エラーメッセージ的にJSONパラメータの入力ミスだと思われますので。
method:テキスト
params:配列
┗辞書
┗ status:ブール値
id:数字
version:テキスト
できました!!
idが数字になっていなかったです!
このような場合整数を打つときは数字なのですかね?
ド初心者で質問もちんぷんかんですみませんでした🙇♂️
嬉しくて、一日でこんなにテレビの電源を入り切りしたことは今までないくらい何度もオンオフ繰り返してますw
ntwmachineさんは自分にとって師匠です!
よかったです!できる様になった瞬間てほんと嬉しいですよね!わかります!
僕もあまり詳しくありませんが、数字なのかテキストなのかは受け手側(TV側)次第な気がします。Verは1.0でもテキストですし…
もちもちさんのおかげでこの記事の分かりにくい場所も見つかったので、リライト しておきます。
ありがとうございました。
こちらこそありがとうございました!
その後、アプリの一発起動、IRCCの設定などスムーズにできました!
地デジ/BS/CSの放送切り替えのコードがプロブラビアのIRCCコードに載ってなかったのでメーカーに問い合わせてみようかと思っています!
ど初心者にお付き合いいただきありがとうございました笑
また新たな記事の更新楽しみにしております!
ショートカットに興味持って
やってきたプログラムとか
全くわからない者ですが
やはり見様見真似では
上手くいかなくて深夜に泣きそうです
全部同じようにしたのに何が行けないのだろう、、泣
こんにちは!書き込みありがとうございます!
ショートカット実行したとき、なんかエラーコードが下の方に出力されてませんか?
それを教えていただければ、お助けできるかもしれません。
初めまして!
とても参考になります。
一通り打ち込んでみたのですが、iPhone側からは完了しましたとなるのにテレビがつきません。
何故でしょうか…
こんにちは!ショートカット 実行した時、下の方に出ている内容を教えていただければ
何か手助けできるかもしれません!
もしくは、本当に電源が切れた状態では今回のやり方では起動できませんのでご注意を。
私はAQUOSの4T-C40AJ1という製品を所有しているのですが、このテレビもショートカットアプリからAPIというものを利用して電源のオンオフなどが出来るのでしょうか。
Google Homeなどのアプリを起動させずにショートカットウィジェットやSiriからテレビの電源操作が出来ればなと考えています。
また、このページは何かのヒントになっていますでしょうか。
https://jp.sharp/support/aquos/doc/lc50w20_mn_exp.pdf
うちのTVはAQUOSではないので何ともいえませんが、AQUOSコネクトというのがあるみたいですね。そこの通信をうまく模擬できればいけそうです。
また、Wakeup On LAN機能は付いていそうなので、そこもコマンド叩けば電源ON OFFできそうですね。