RTX1210でGoogle Home(やAndroid)のIPアドレスを固定できなかった話

Pocket

Google HomeをIPアドレスで叩いてしゃべらすスクリプトを運用している関係で、IPアドレスを固定したかったんだけど、いつもどおりRTXで

してもダメ。何度再起動してもmanual releaseしても意図せぬIPアドレスが割り振られてしまう。

結局、

と「ethernet」句を抜いたらいけた。公式マニュアルにある書式2、設定例Dにあたるが理由はよくわからない。ない方が汎用性高いのかと思って試しに全部ethernet句ぬいてみたらWindows機が固定されなくなり、結局Google Home/miniの3台分だけethernet句無しにした。

ちなみに、

設定(これなんでだっけ?)。普通にonの方がいいのかな?

マニュアルによると、DHCPクライアントはMACアドレスとは別にクライアントIDという値をリースの際に使う。Macなんかだとこれを自分で書き換えて任意の文字列にすることができる。しかしデフォルトでは「0x01+MACアドレス」となっている。マニュアルのtype指定の表によると、ethernetは0x01、textは0x00とあるので、なるほど、ethernetは「MACアドレスを使う」という意味ではなく「クライアントIDに書いてある0x01で始まるMACアドレス相当の文字列を使う、ということなわけか。ethrenet句=0x01と読み替えてもいいかも知れない。そしてGoogle HomeのクライアントIDが「0x01+MACアドレス」形式ではなに何かをもっているので、「ethernet (MACアドレス)」ではマッチしない、とということ?

すると、各クライアントがどっちを使ってリースしてるかわかる。ざっとみるとクライアントIDを使ってる(が中身は0x01+MACアドレス)のものが多い。なるほどこれだとethernetがあってもなくても大丈夫なわけだ。

そういえば前にもAndroidTVなBRAVIAがどうしても固定割り当てできなかったな。Google製品(Androidベース製品)はクライアントIDに独特のルールがあるのかしら?

結果としてガチにMACアドレスを使いたい場合はむしろethernet句を書かない方がよさげ。ただしウチでWindowsが固定されなくなったのは謎。Windowsの場合はコマンドプロンプトからクライアントID(DHCPクラスID)を変更できるぽいけど、特に指定はされてなかった。

ペット臭、焼き肉臭をとりたい!Panasonicジアイーノ導入

Pocket

きっかけは毎度の家電Watch。毎度釣られまくりです。ここ何回か部屋で焼き肉した時の匂いがなかなか取れず、(リビングテーブルでホットプレートでの)焼き肉は禁止にするか、噂のやきまるでも買おうかと思ってました。

ただこれもレビューをみてると、煙は確かに少ないが匂いはやっぱり残る、というものもあり。ザイグルは普段の置き場所に困りそうだし。

そんな時に家電Watchの記事をみて、これいいんじゃないかと。詳細はそちらの記事の冒頭を見てみてください。ともあれ次亜塩素酸“水”というのはもともと殺菌用に市販されてて、残留性がないのでペットがいる部屋で噴霧しても安全(ウチではこれが大事)。そしてこのジアイーノは水と塩を電気分解して継続的に生成して部屋に巻き散らかしてくれるもの、という位置づけです。化学物質による効果なので、イオン系のものよりはしっかりした効果がありそうな気がします。

■空気清浄機との違い?

空気清浄機いは読んで字の如く空気を綺麗にします。つまり除菌だの消臭だといっても空気中に浮いているものを除去することしかできません。特に国産メーカーの多くの空気清浄機では電気的な力で塵やホコリ、ウィルスを引き込んみますが静かな反面効果範囲が狭いイメージです。近年ではBlueairやDysonなどサーキュレーターばりに轟音を響かせて部屋の空気を撹拌して不純物をフィルターで漉し取るというものが注目を集めています。個人的には後者の信者です。

で、空気中に浮かんでないもの、つまりカーテンや床や家具に降り積もるように付着したものは物理的な手段で“掃除”するしかありませんでした。雑巾がけや掃除機取り除くか、それが難しい場所は除菌剤や消臭剤をスプレーして無害化するか、です。あるいは部屋中をハタキではたいて空気中に再び浮き上がらせて空気清浄機に吸わせる、というアプローチもあるかも知れませんが、花粉症な人がいたら間違いなくキレられるでしょうねw(轟音フィルター系空気清浄機はある程度これをやってるのに近いかも…)。ジアイーノはつまりこの「除菌・消臭剤を撒く」に近いものなのだとσ(^^)は理解しました。降り積もってる菌/ウィルスや臭いの元を、再び舞い上がらせることなく上から薬剤散布で無力化する。しかもそれを塩水という一般的な素材から常に錬成してくれるし、人体、ペットにも無害と(注:実際には単に上の放出口から散布するだけでなく内部に次亜塩素酸水に浸したフィルターのローラーのような部品もあってそこに空気を通して浮遊分の除菌/脱臭もしています)。

うん、理に適ってる気がします。なおPanasoniはジアイーノを「空間清浄機」と呼んで空気清浄機とは差別化しているようです。

花粉症でペット歴が長く潔癖でこの手の脱臭剤や除菌剤、洗剤を色々試してきた同居人に相談すると次亜塩素酸水にはポジティブ。むしろあの次亜塩素酸水そんなに簡単に作れるの?というところが疑問という感じ。これはイケる!ということで、少しお高いですがまとまった収入もあったタイミングだったので特攻しました。

ジアイーノは元々業務用で病院など公共施設で使われていて、家庭用のF-MV3000(15畳まで対応)とMV1500(10畳まで対応)がこの秋に発売されました(どうでもいいですが、型番と畳数を対応づけて1500と1000じゃダメだったんですかね…)。結構な価格差ですが、後で性能が足りないせいで効き目が薄い、なんてことになったら本末転倒なので思い切って大きい方をチョイス。実は外形寸法は同一なのでMV1500にしたらコンパクトだとかそういうこともなく、また内部の消耗パーツもMV3000の方が長い(5年、MV1500は3年)ので、部屋が広かったり臭いの源が多い場合はケチらずMV3000を買った方が良さそうです。ちなみにMV3000のみフロントカバーがホワイトとシルバーの2色から選べます(MV1500はホワイトのみ)。ウチはシルバーにしました。

■ランニングコストは安い

次亜塩素酸は水と塩を電気分解して作ります。水は水道水、塩は専用の塩タブレットを使います。

使用頻度で給水頻度も変わりますが、公式の目安では三日に一粒投入することになっているので、付属の300粒入りボトルで2,3年は保つ計算でしょうか。追加で買っても3,600円です(2017年現在)。成分表は塩化ナトリウムとなっているのでもしかするとただの食塩でもいいのかも知れませんw。消費電力はMV3000の場合で静音11W、中16W、大55W。自動にしておくとほぼ静音モードになってるので24時間で7〜10円てとこでしょうか。DysonやBlueairのような数ヶ月単位で数千円〜1万円超のフィルターを買い換えるものと比べたらタダ同然とも言えます。

内部パーツは一日12時間運転でMV3000の場合で5年が耐用年数となっています。

  • 除菌フィルター 1,700円
  • 保護エレメント 6,000円
  • 電極ユニット 24,000円(MV1500は15,000円)
  • 防カビユニット 3,000円

となっています(税抜き)。電極ユニットが少し高いですね。

■効果は?

まだ焼き肉は一度しかしていませんし、やきまるの開発記事を読んで「鉄板を無駄に高温にしてると煙が出る」と知ったのでいつもより弱い火力で焼きましたし、さらに風鼻腔炎で鼻づまりしてたので、あまり公平ではないのですが、トイレや風呂などで部屋を出て戻って来た時の「焼き肉くさっ!」っていうのがかなり和らいだし、気にならなくなるまでの時間も短かった気がします。

またペット臭も、猫がウ○コしたての瞬間から完璧に匂いが消えるわけではありませんが、(回収した上で)気にならなくなるまでの時間は短くなった気がします。また猫砂に染みて存在しつづけるオシッコ臭も弱くなったような?ただし天井付きのシステムトイレなので、中にこもった臭いには無力な気がします。いっそ吹き出し口からパイプでも通して トイレの天井から散布できるようにしてみたいところです。

正直次亜塩素酸特有のプール臭は初日に感じたきりです。これが単なる慣れなのか、この臭いは悪臭の素と化学反応した時に出るものらしいので、24時間稼働であまり反応対象となる残留物がない状態が続いているのかわかりません。なので、「お、効いてるな!」という実感は薄いです。

ずっと中にいると鼻が慣れてしまうのでなかなか変化が認知しづらいのと、元々うちはDaikin、Blueair、富士通の脱臭空気清浄機が稼働してたので、そこからの差でしかわからないというのがあります。

■改善希望点

一番大きな不満はリモコンがない点です。もちろん、この値段なので正直いえばWi-Fi機能をつけてスマホアプリで操作したり部屋の状況を確認できたり給/排水警告が通知されたりすると良いです。ただそこまでいかずともせめて赤外線リモコンが欲しかった。そうすればNature RemoやGoogle Homeを組み合わせて色々便利に使えたのにな、と思います。マイナーチェンジでさくっと付いてきたりしそうですが、おいそれと買い換えられるものでもないので、その時はまたその時で悔しいことになるでしょうw。

あとはガタイのデカさの割に吸水タンクが小さい点でしょうか。2Lペットボトルくらいしかありません。それだけ次亜塩素酸発生装置が大がかりなものだということかも知れません。また排水が貯まる部分も体積を専有するので、なかなか難しいのでしょう。

その給水タンクや排水トレイの出し入れがサイドパネルからなのもちょっと残念。狭い日本の家庭ではなかなか隣にスペースが確保しづらいです。どちらかといえばフロントパネル側の方がものが置かれていないことが多いんじゃないでしょうか。ただ本機にはキャスターがついているので、少し手前に引き出して作業するのはまぁ可能です。

■総評

まだ短期間ですが、効果は感じられるものの劇的、完璧というほどではない、というところでしょうか。元々様々な脱臭機能付き空気清浄機が稼働していたせいもあると思います。当面は同室内では風量が大きいBlueairを併用しようかなと思っています。ジアイーノは空気清浄機ではないので、除菌脱臭をまかせつつ、Bluairでホコリをとりながら部屋の空気を撹拌して効果範囲を広められればとか思っています。そういう意味ではBlueairのフィルターは活性炭入りのニオイフィルター(14,000円くらい)ではなく通常のもの(7,000円くらい)で済ませてもいいかも知れないなとか。

これからゼロベースで検討する人、ノロ/インフルエンザにかかるリスクを少しでも減らしたい人、サンマや焼き肉を部屋で焼きたい人、次亜塩素酸の効果は認めているがマメにスプレーしてまわるとか面倒くさいなという人などには空気清浄機よりもオススメできると思います。一方既に高性能な空気清浄機をお使いの場合、相対的には効果の体感はしづらいかなとも。感じるとしたら脱臭くらいでしょうか。

 

自動でiOSヘルスケアに測定値が入る体組成計 omron HBF-228T

Pocket

オムロンの体組成計や血圧計、活動量計などの測定値をクラウドで一元管理するウェルネスリンクの終了が迫ってきました。今まで4機種5台も買った対応機器が使えなくなるなんてヒドい話ですが、iPhoneユーザからするとiOSのヘルスケア(Health Kit)に統合していく方が便利ですし、実際オムロンの後継製品もその方向に流れています。

とりあえず血圧計は早々に6324Tに買い換えましたが、体組成計はずっと迷っていました。

オムロンはWi-Fi搭載機を収束し、(NFCのないiPhone向けには)Bluetooth型に以降してきました。互換性の面ではアリなんですが、欠点として同期操作を手動で行わなければならない点が手間でした。血圧計で計測後、iPhoneでアプリを起動して同期操作をしなければ転送されないのです。血圧計はまだいいんですが、脱衣所などに置く体組成計は近くにiPhoneがある可能性も低く同じ仕組みをとる体組成計255Tや256Tはなかなか手が出せずにいました。ウィッシュリストに入れてウェルネスリンク終了ギリギリまで値下がりもしくは代替品を待つという感じ。

iOSヘルスケアにデータを投入できる対抗馬としては、Wi-Fi搭載体重計の先駆けであるWithingを買収したNokiaのシリーズがあります。

特に上位モデルはやや高いものの心臓血管の測定ができるというのが目新しい。ただiOSアプリであるNokia Health Makeが一時期炎上とも言えるレベルでレビューが散々でした。ちゃんと通信できないというのは当たり前、見辛い、使いづらい、Withingの頃のに戻してくれ!と怨嗟の声に溢れていました。数値を見る為のグラフなのに縦軸目盛りがないとか何を考えているんだ的な指摘も。確かに公式スクリーンショットを見るにオシャレな一方でグラフとしての実用性は引くそうなデザインです。注文直前までいったんですが、アプリを先にダウンロードしてみようと思ってAppStoreにいったらそういう状態だったのでまたまた保留。

そんな中かで当のオムロンからようやく新型のHBF-228Tが発表。引き続きBluetoothながらプッシュ通信でiPhone側の操作不要で同期ができるのが売り。しかも税別価格で1万切りと値下がり。もう年内に買い換えるならこれで決まりだ!とばかりに予約、、、しようとしたけどオンラインストアでどこにもなく、発売日にコジマに入荷確認して買ってきました。

(Amazonで販売はじまったらリンク貼る予定地)

Bluetoothだと通信範囲が懸念でしたが、軽量鉄骨物件で脱衣所から仕事部屋においてあったiPhoneに操作無しで同期できたたのでほぼほぼ大丈夫そうです。値段が下がった要因として、計測精度がありそうです。従来のW系、T系モデルは0.05kg精度でしたが本機は0.1kg。ただ「ヘルスケア」アプリが0.1kg単位表示だし実害はなさそう(実は内部精度はもっとあって将来のバージョンで増えるかもですが)。

もうひとつ残念なのは前に使っていた253Wで地味に重宝していたペットや赤ん坊の体重を測るモードがなくなった点。ネコを抱いて測り、その後でネコをおろしてもう一度測ると自動で引き算して差分を表示してくれる機能です。計測精度と不可分だったのかも知れませんが、これは残して欲しかった。ウェルネスリンク終了後も253Wはネコ専用に残しておくか思案中です。

それ以外の点では特に不満なし。ユーザも4人まで紐付けできるので、家族それぞれがiPhoneを使っている場合でも、体組成計に乗るだけで自動的に測定値からユーザを判別して、それぞれのiPhoneアプリにデータを送ってくれます。カラバリも減って単色になりましたが、どのみち今度は新居の内装からホワイトかなと思っていたので結果オーライ。測定も従来機種同様4秒と劣化はしていません。「iPhoneのヘルスケアに測定データを蓄積できる通信機能付き体組成計」としてはコスパも高くオススメできる機種だと思います。

Kindle Oasys 2017(第9世代) ファーストインプレ(Voyageと比較)

Pocket

本日ついにKindel Oasys 2017年モデル(第9世代)が発売になり、運良く夜中に開始された注文受け付けに乗れたので初日配送となりました。例によってキャンペーン情報無しのWi-Fiモデル。次は3Gモデルもありかなぁとか思ってたんですが、さすがに単価が高くiPhoneX、AppleWatch Series3などと時期的にもかぶるので自重。同じ理由で32GBも見送り。あとから価格差たいしたことないしやっぱ32GBでもいいかなぁーと思い直したものの、既に配送予定日が延びている上、キャンペーンのクーポンが取り消したら最後、別の注文に再利用できないリスクもあったので、そのまま8GB貫徹。

■ハード周り

6インチから7インチの差は想像よりインパクトあります。それでいて筐体の高さはさほど変わってないのが良い。逆に持ち手部分が大型化してホールド感もまずまず。ただやっぱり背面に保持ストラップはついてた方が安心。これほんとオススメ。昔は自作してましたが今はこれで十分用が足ります。

σ(^^)が買ったのはこれ↑でVoyageにも新Oasysにも問題なく使えてますが、一応Kindle用というのもあるみたい↓。レザー部分を曲げるとスタンドにもなるってことですかね。別にKindleを立てて使おうとは思わないから差額300円分の価値は感じないかな。

お気に入りのストラップ装着状態

とりあえず1つ目を追加発注。

2017.11.3追記:結局これを追加購入しました。

ベルト部分がやや太く、テンションも高めで安定感はこちらの方が良いようです(上のが経年劣化でダルってるという可能性もありますが…)。ただどちらにせよVoyageと違って電源ボタンが固定金具のところに来るので、だんだんズレていってボタンを押してしまいいきなりスリープに落ちる、ということが何度かありました。電源ボタンの位置はVoyageの背面が良かったですね。

サイズの話題に戻りますが、7インチというと文庫本の天地にかなり近づいています。厳密にはまだ少し足りないですがいい感じに「文庫本読んでる」感が高まりました。残念ながらコミックに関してはあまりメリットが感じられません。おそらく相変わらずのKindleサービスのファイルサイズ制限の為、配信データの解像度自体が上がっておらず、拡大表示をしてるんじゃないかと。文字などがボケておりせっかくのピクセル数アップが活かせてない印象です。発売前には「大型化=コミック派に最適!」って風潮がありましたが、ちょっと疑問符がつきます(そもそもKindleサービス自体がコミックに最適じゃない)。むしろ現時点では文庫本サイズが好きな小説はな人にオススメしたい気分です。

新Oasisと文庫本比較

 

Voyageと文庫本

ページめくりボタンはデフォルトでは上が進む、下が戻るです。Voyageと逆になりますが筐体サイズも重量バランスも違うので、これはこれで正しいと思います。どちらの手で持っても、いい位置に進むボタンがあります。

追記:仰向けに寝転がって使うにはしたボタンに親指を添えるくらいの下持ちの方がしっくり来ます。どうせ「戻る」なんて滅多に使わないので「両ボタンとも進む」設定が欲しいです。あとカチカチ音もやっぱり気になるりますね。ボタンの端っこを押してシーソーみたいに動かすと若干マシ。

あと細かいユーザビリティ観点ではmicroUSBポートのケースの穴形状と内部のコネクタ形状が一致して、遠めにみてもケーブルを挿す向きがわかりやすくなりました。Voyageはほんと慣れるまで逆挿ししかけてヒヤヒヤしたものです。

初代Oasisは一度も触らず終いですが、Voyageと比べてレスポンスが良くなってるのがわかります。例えば私はスリープ解除にパスコードをかけてますが、テンキーで数字を連続して打った時のレスポンスなどが良くなっています。

暗いところでまじまじとは見てないですが輝度ムラなども感じず、全体的に完成度は高いという印象です。お高いだけのことはある。

なお、ほぼ初期状態でストレージ残量は6GB弱でした。

■ソフト周り

感激したのは「ユーザ補助」という項目が増えており(Voyageを最新版にしてもない)、ついに白黒反転が実装された点です。σ(^^)は幸い弱視ではないですが、消灯後のベッドで本を読むのにいつもスマートフォンを白黒反転して使っていました。その美しさ(黒浮きのなさ)の為に有機EL機種を選んで買っていたほどです。ちょっと想定外利用なので設定ON/OFFを頻繁にするには階層が深いのが惜しいですが、今晩早速試して見たいと思います。結果的にiPhoneXも有機EL化しOasisより軽くなるので、結局どっちを使うかはわかりませんが…サイドライトの仕組み的にやっぱり黒浮きは避けられないでしょうし。写真でもそう真っ黒ってほどでもないのがおわかりいただけると思います。

追記:やっぱり暗闇に近い状態で使うと相当黒浮きしてますね。わざわざ有機ELパネル機を選ぶσ(^^)にとっては微妙かなぁ。あともしかしたら従来モデルも5.9系ファームが来たら対応するかもなので、この反転機能の為にOasisを買うのは早計かも知れません。

Oasisに追加された「ユーザ補助」設定
白黒反転設定現る!
白黒反転状態

 

Voyageでは最新ファームウェア5.8.11でも同項目はなし

 

あとマニュアルにファミリープロファイルの説明がありますが、その通りメニューを辿っても項目がないので、あいかわらず日本は非対応なのかな?日本でやってないサービスは日本語マニュアルに書かないで欲しいものです。期待しちゃったっての。別アカウントで本を買ってる同居人とハードは共有できるよう、はやく日本でも対応してほしいものです。

■総評

良いものなのは間違いないですが、誰しも気になるのはコスパでしょう。特に個人的にiPhoneXやGoogle Home、同mini、Apple Watch Series3と今秋はガジェット豊作すぎて金策ヤバい中、本機のコスパ判定は難しいところですが、初回クーポンで31,800円ならまずまずかなと。キャンペーンモデルなら3万切りですしね。できればその4,000円クーポン適用価格が定価となってたらオススメ度かなりアップというところです。もちろん無印やPaperWhiteで満足な層や初Kindleな人に手放しで進めるものではありませんが、Voyageとどっちか迷うならOasisを推したい。特に文庫本のサイズ感が好きな方。逆にコミック派には依然としてタブレットをオススメしたい。むしろKindleではなくebookjapanとかKinoppyとかで買った方が幸せになれると思います。画質的な意味でも蔵書管理、新刊通知的な機能面です。

Google Home + IFTTTでAndroid BRAVIAを操作するWebhookの準備

Pocket

Google HomeとIFTTTで家電を操作する場合、HTTPでどこかのURLを叩く受け口(Webhook)を用意するのが早道、というか必要です。前回、PioneerのAVアンプはネットワーク操作可能なもののtelnetの受け口しかなかったのでPHPスクリプトを使って橋渡しをしました。BRAVIAの場合はHTTPでXML形式のファイルを送りつけてやるといけるという記事が散見されるのですが、その記事で紹介されているcurl(テキストWebクライアント)を使った方法では成功しませんでした。

結局上手く言ったのは、こちらの記事を参考に、GitHubにあるalanreid氏のNode.jsプロジェクトを使った方法でした。

Node.jsは不慣れなのでいつものmacOS Server機ではなくCentOS仮想サーバーを使用。ちょっと昔すぎて手順は憶えてないですがNode.jsなどはyum installでサクっと入ると思います。

まずAndroid BRAVIA側でIP操作を受け付ける許可とPSK(暗証番号)の設定をします。

  • ホーム -> 通信設定 -> ホームネットワーク-> モバイル機器/レンダラー機能を「入」に
  • ホーム -> 通信設定 -> ホームネットワーク-> IP コントロール -> 認証 を「Normal and Pre-Shared Key」に
  • ホーム -> 通信設定 -> ホームネットワーク-> IP コントロール -> Pre-Shared Keyで4桁の暗証番号を設定
  • ホーム -> 通信設定 -> ホームネットワーク-> IP コントロール -> 簡易IPコントロール を「入」に

またルーターもしくはBRAVIA自体の設定を変更し、固定IPアドレスになるようにしておくと良いでしょう。

次に適当なフォルダにalanreid氏のプロジェクトをクローンします。

そのフォルダに、demo.jsやhttp-bravia-echo.jsなどがあると思います。

demo.jsで動作チェック

???をBARVIAのIPアドレスに変更。xxxxをBRAVIA上で設定した暗証番号に変更します。

これでコマンドラインから、

とすると、画面には利用できるコマンド一覧が表示され(condole.log(list);の結果)、続いてテレビの電源が入ってNetflix画面になる(cluent.exex(‘Netflix’);の結果)はずです。demo.jsはこの2つのコマンドを連続で実行する、まさしくデモ用のファイルです。コマンドライン用の実行ファイルを作るのであれば、これをコピーし、前半のList available commandsのセクションを削除し、Netflixコマンドを他のものに書き換えるだけで良いでしょう。

ブラウザからの操作を受け付ける

本来Node.jsは.jsスクリプトをサーバーとして待ち受けさせて、ブラウザからアクセスがあった時に所定の動作を行わせるためのものです。その為の基本動作を組み込んだのがhttp-bravia-echo.jsです。こちらも自分の環境にあわせてちょっとだけ修正します。

portはブラウザからアクセスする時に必要になります。Webサーバーといえば80番が標準的ですが、セキュリティの問題とか色々あるので避けた方が無難です。特に他とぶつかったりしてなければ標準の5006で良いでしょう。いくつにしたかだけ憶えておきます。???とxxxxは先ほどと同じ、BRAVIAのIPアドレスと暗証番号です。

します。最後に「&」をつけておくことで、ユーザがコンソールからログアウトしても裏で動き続けるようになります。動作テストの間はつけない方が良いかも知れません。またOSを再起動すると止まってしまいまた同じ様に起動する必要があります。OS起動時に自動起動する方法は別途ググってください。

さて、エラーもなく正常に起動したら、ブラウザから呼んでみます。

のようにします。ここでは暗証番号は使わないので注意してください。WakeUpがコマンドになります。電源オンはPowerOnではなくWakeUpでいけるようです。成功するとWebページとしては「OK」とだけ出ます。注意したいのはその操作(ボタン)を受け付ける状態になっていないとOKが返った場合でもなにも起きないということです。例えば「Num1」はテンキーの1ボタンですが、ホーム画面やNetflixアプリを起動している状態ではなにも置きます。先に「Tv」にしておいてから「Num1」にするとチャンネルが切り替わる、という具合です。「OK Google、NHKを映して」みたいなことをしたい場合、IFTTT側ではマクロ操作できないので、スクリプト側でWakeUp->Tv->Num1のように連続的にコマンドを送る必要がありそうです。音量についても1回に1目盛り上げ下げしても仕方ないので、数回繰り返すような処理が必要でしょう。JavaScriptが得意な人はこのhttp-bravia-echo.jpを直接改造すると良いと思います。σ(^^)はPHPの方が得意なので、別にApacheサーバーでホストしたスクリプトから連続で呼び出すようにしようかと思案中です。

IFTTT(インターネットから)呼び出す

IFTTTのサーバーは当然ながら自宅のイントラネット(LAN)の外にあります。なので、IFTTTアプリのWebhookアドレスとして上記の「192.168.x.x」といったアドレスを入力しても到達できません。ルーターのポート開放設定が必要だったり、利便性として固定IPアドレスやダイナミックDNSアドレスなども欲しくなるでしょう。

Google Home miniも追加購入。無印との違いは?

Pocket

Google Home便利すぎて、仕事部屋にも欲しくなったminiを予約。本日届きました。チャコールです。

電源ポートがmicroUSBなので良いです。付属のACアダプタではなくデスクのAnkerの10ポートハブから電源がとれてスッキリ。出張や帰省などで一時的に持って出る時も電源の心配をせずに本体だけさっと持っていけるのがいいですね。

ちなみに付属の充電器はこんな丸くてかわいらしいものですが出力は5V/1.8Aとなかなかのものでした。スマホ付属の充電器(iPhoneだと1.0A)やコンビニや百均の乾電池式充電器(0.5Aくらいのもある)だと電力不足で動かないかも知れないですね。付属以外で選ぶ時は2.0A級のものにしておいた方がいいかも知れません。

音楽はデフォルトスピーカーを指定できるので、既設のSRS-HG1を指定。「OK Google, ○○を再生」とするだけで出力先は指定せずともそちらから鳴ってくれます。ただしSRS-HG1がスリープだと鳴り始めるまでにちょっと待たされるのと、再生中に「OK Google」した時にミュートがかからないのが惜しい。ただミュートかからないで音楽鳴ってる状態でも認識率はさほど定価しない気もします。

あと無印Google Homeは天面がタッチスイッチになっていて、音声を止めたりクルクルジェスチャーでボリューム調整できたりするんですが、miniではそういうことが一切できないので、音量調節から音声でする必要があります。

仕事机に設置して椅子に座った状態でしか使ってないのでマイク精度の違いは比較できませんが、少なくとも口から1mもない距離では全く問題ないと言えます。

できることと比して考えるとコスパは非常に高いんじゃないでしょうか。特に音楽は別のスピーカーで聴くからいいやって人はこちらのminiがオススメです。たくさん買って存在感なく家中に偏在させたい感じです。音楽も無印Homeは低音が出すぎという評価もありますし、別途Chromecast内蔵スピーカーやChromecast Audioをお使いの方は割りきってこちらにするのもアリですね。

Google Home + IFTTTでPioneerのAVアンプを操作する(赤外線不使用)

Pocket

Google Home、快適です。Android BRAVIAを制御できないので悔しくて、対応も待ちきれず結局Chromecast Ultraも買っちゃいました。で、BRAVIAのHDMI入力が足りなくなり、AVアンプと配線を見直し。ウチのAVアンプPioneerのVSA-1124はHDMI1,2とBDが4K/60pの4:4:4に対応、あとは4:2:2対応です。

というかHDRに対応したHDMI2.0aではないので、AVアンプを経由するとせっかくのChromecast Ultraのメリットが一部活かされません。ということでUltraをBRAVIAに直結し、4K関係ないNintendo SwitchをAVアンプ経由に。

しかしこの組み合わせで問題なのは、HDMI-CECによる自動入力切替がイマイチちゃんと働かないという点。Switchを起動しても自動で映ってくれません。仕方ないのでこれもGoogle Home + IFTT + Nature Remoで制御しようと思い、(普段iPhoneアプリから操作してるので)使ってなかった赤外線リモコンを発掘してみると、なんとHDMI選択が順送りボタンのみで、ダイレクトに特定のHDMI番号を指定できませんでした…
これででは例えばHDMI1のSwitchに切り換えたいとしても今が何番かによってボタン押下回数が違ってくるので、Nature Remoからの単純な赤外線信号では一発変更できないことになります。というか事実上無理。

なんか手はないかなぁと思って、iPhoneアプリから操作できるんだからなにかしらのTCP/IPプロトコルによる制御、あわよくばWebhookで叩けるんじゃね?ってことで検索。もともと80番ポートは空いてて、ブラウザから設定画面を呼び出せるんですが、残念ながら操作関係は不可能。なんとtelnetで制御しているということがわかりました

以下のような感じで、telnetし、認証もプロンプトもありませんが、「?P」と打つと今の電源状態(ONならPWR0など)が返ってきます。「?V」なら音量がわかるし、HDMI1に切り替えたい時は「19FN」という感じです。なんと親切なことに米Pioneerが仕様書PDFまで公開してくれてます

残念ながらIFTTTでtelnet制御ができるレシピはありませんし、(IFTTTから到達可能なように)外向けにtelnetポートを空けたくもありません。自宅内WebサーバーにPHPスクリプトを置き、そこからAVアンプにtelnetしてHDMIポート変更コマンドを送りつけてみることにしました。

PHP用のtelnetライブラリですが、ざっと探して最初に見つけたのは使えず、こちらで成功しました。Installの項目にあるようにcomposerでインストールを済ませた後、こんなコードで切換に成功しました。

自分に必要な機能しか実装してません。$commandsの中でPOSTでcmd変数にセットされるコマンドと実際の制御コードの対応付けを定義しています。これで「OK Google, アンプの電源を入れる」といったGoogle Assistantサービスの「Say a simple phrase」を使った固定コマンドなら、そこからWebhookでこんな感じにすれば動きます。Body欄の=の右辺が指定したいコマンドです。

少し応用的な使い方として音声コマンド中の文字列をコマンドとして渡す「Say a phrase with a text ingredient」も試してみました。HDMIの入力毎にアプレットを作るのが面倒なので、1つで済まそうという狙いです。「アンプを(入力名)に切り換え」みたいにすると、PHPスクリプトに入力名の部分が渡されるので、それを使ってswitch文のところでコマンドに置き換えています。「What do you want to say?」欄で「avアンプを $ に切換」のようにします。$の両側には半角スペースを空けます。avを小文字にしたのは、スマホのGoogle Homeアプリで実際にしゃべってみた時に出る認識文がそうなっているので合わせました。

THEN側はこんな感じにBody欄に入れます。<<<>>>で囲った部分がURLエンコードされます。TextFieldというプレースホルダは「Add ingredient」ボタンを使って挿入できます。PHPスクリプトのswitch文の中の対応付けも、Google Homeアプリでしゃべってみてどうテキストになるかを参考にします。基本的には英単語は半角小文字になるようです。「スイッチ」のようなカタカナ語はそのまんま。「ぴーえすふぉー」だと「ps 4」のように半角スペースが入りますが、入ったり入らなかったりで揺れると面倒なので、スクリプト側で半角スペースを除去しています。結果として「apple tv」は「appletv」になります。時にカタカナで「アップル tv」と認識されることもあったので両方ともhdmi4に対応付けています。このあたりはスマホのGoogle Homeアプリで色々しゃべってみて結果を反映させましょう。

これで一応設定は完了なんですが、Google Homeで認識させると全く同じ「avアンプをスイッチに切り替え」となるのに、IFTTTコマンドとして認識される時と、Web検索になってしまう(ハードのGoole Homeだと「すみません(ry」)ことがあり、成功率が低いです。コマンドを長くしてみてもあまりかわりません。IFTTTで設定してから反映されるまでに若干タイムラグがあるような感じもします。

結局どうやっても必ずIFTTTコマンドとして認識されるようにはできなかったので、Google Homeのショートカットで「スイッチに切り替え」や「スイッチを表示」を「avアンプをスイッチに切り替え」に置き換わるようにしてみたところ、成功率が上がりました。ショートカットに色々書くなら最初から「Say a phrase with a text ingredient」で入力別にアプレットを作っても一緒じゃないか、って気もしますが、IFTTTのGoogle Assistantは言い換えが3種類までなのに対し、ショートカットならもっとバリエーションを持たせられるとか、修正フローが若干楽とかで、メンテナンス性は良い気がするので良しとします。

繰り返しになりますが、上手くいかない時は、

  • スマホアプリ版Google Homeでどうテキスト化されるか調べる
  • テキストとしては通ってるのに音声コマンドとして認識されない時はショートカットで定義する

などを試して見るといいでしょう。またPHPスクリプトが上手く動かない時は、一旦MethodをGETにして(URL欄に「スクリプト名?cmd=<<<TextField>>>」とし、スクリプトもfilter_inputの部分をPOSTからGETにする)、ブラウザから叩いてみるといいかも知れません。GETのままでもいいんですが、日本語コマンド名が長いと255文字(だっけ)超えるかもなと思ってPOSTにしています。

予想外に苦労しましたがなんとかなりました。Google HomeとPioneerアンプというレアな(?)組み合わせの話であまり参考にできる人はいないかもですが覚え書き(telnetでなにかしたい時にはいいかも?)。

Google Homeから家庭内「iPhoneを探す」

Pocket

自宅内でiPhoneが見当たらない時、「iPhoneを探す」は重宝しますよね。ただしPC起動してブラウザから呼び出すか、他のiOS端末が必要でちょいめんどくさいです。アメリカだと標準で電話を鳴らす機能があるっぽいんですが、電話が基本都度課金される日本ではなかなか難しいのかも知れません。IFTTTでも電話発信はUS Onlyとなっています。通知を鳴らしたりメールを送信することはできますが、1度鳴るだけだと部屋中探索には向きません。

しかしちゃんと使えるアプレットがありました。「VoIP Calls」です。名前からすると外部サービスのアカウント(050番号?)登録が必要なのか?と一瞬思ってしまいますが、実際にはIFTTアプリのビルトイン機能らしく、iPhone上のIFTTTアプリが入っていればすぐ着信が受けられます。iOS10辺りで導入された標準電話着信画面のAPIを使ってるみたいです(LINE無料通話とかMessenger通話で出るアレ)。本当にVoIPで着信してるのか、アプリで疑似的に着信画面だけ出して出た後はアプリがテキストを音声合成してるのか不明ですが、ともあれ見かけ上は電話がかかってきて、指定したテキストを読み上げてくれます。

これを「iPhoneを探す」的に使うんだったら、こんな感じのレシピを作ればよさそうです。

以下は実際の着信の様子。