Sympapaのスマートホーム日記

スマートなんとかはスマートじゃない方法でつくられている

スマートホーム: TVの電源状態を取得できる(!?)モジュールを簡単DIYで作る(凡ミス)

Sympapaです。

スマートホーム化を進めると、どうしても家電がオンなのかオフなのかをHome Assistantなどのスマートホームシステム上で取得したい場面が出てきます。
例えばテレビ。Home Assistantなどのスマートホームシステムから操作した場合はもちろん電源の状態が同期されますが、テレビ付属の赤外線リモコンで電源を操作した場合はHome Assistantなどのスマートホームシステムには反映されません。
また、テレビをNature RemoなどのスマートIRリモコンでスマート化している場合、電源オンとオフの赤外線信号が別々に用意できればいいのですが、テレビのリモコンの電源ボタンは大抵オンとオフが共通のトグルボタンになっていてスマートIRリモコンでもトグルボタンの信号しか用意できない場合も多く、例えば「テレビの電源状態に関わらず確実にオフにする」シーケンスを作るには、電源の状態を取得して電源がオンであることを条件に電源ボタンの赤外線信号を発射するような工夫をする必要が出てきます。

ということでテレビの電源状態をHome Assistantと同期したいと思っていたのですが、そもそもどうやったらテレビの電源の状態を検出することが出来るのか。。。暫く考えて着目したのはテレビに付いているUSBのソケットでした。これテレビの電源をオンにすると通電するよね?と。
そんなわけでUSBソケットに通電されているか否かをHome Assistantで取得できるZigbee接続のユニットを、簡単なDIYで作っていこうと思います。

ちなみに家電の電源がオンかオフかを検出する方法として思いつくのは、①電力(電流)を取得し閾値を設定する、➁(照明やディスプレイや電源インジケータなどの)照度を取得し閾値を設定する、③物理的動作を何らかのセンサーで検出する、の3つくらいかなと思いますが、今回作製するモジュールは①の派生みたいなものになります。
本当は消費電力を取得できるスマートプラグを使うのがスマートな感じですが、Home Assistantでそれが簡単に出来そうなスマートプラグを見つけられず。。。オススメがあれば是非コメントください。

今回のモジュールの作製にあたっては下記の韓国の方のページも参考にさせていただきました。
livebywant.tistory.com

もちろんUSBのソケットがあってそれへの給電が本体の電源と連動しているものであれば、テレビ以外のPC等のデバイスにも使えます。

くれぐれも作製してみようと思われた方は、まず先に電源状態を取得したいテレビなどに付いているUSBソケットの給電が本体の電源と連動しているかを必ずご確認ください。必ず。

■用意したもの

1)ドア開閉センサー: Aqara Door Window Sensor MCCGQ11LM
今回も信頼のAqara Door Window Sensorを使いますが、「リードスイッチ式」で使用しているスマートホームシステムに接続できるものであればOKです。
リードスイッチは磁力によって接点をオン/オフするだけの文字どおり「スイッチ」なので、リードスイッチの代わりに任意のスイッチを基板にくっつければその状態をスマートホームシステムで取得できるようになります。例えば、好きなボタンスイッチでもいいしフットスイッチでもいいし傾斜スイッチでもいいはず※です。
(※とはいえAqara Door Window Sensorの場合、人体ほど抵抗が高くても導通したと判定するので、スイッチがオフの時に絶縁がしっかり取れている必要があります。)
そしてリレーを使ってこの接点をオン/オフしてやれば通電状態を取得できるようになるわけです。


2)リレー: オムロン G6E-134P-US 5VDC
今回はUSBの電源:5Vの電圧でリレーが動作しなくてはいけないので、コイル動作電圧が5Vで消費電力がなるべく小さいリレーを用意します。
Aqara Door Window Sensorがリードスイッチに印加している電圧は手持ちの安いテスターによる実測で0.13Vだったので出力側(っていうの?)の容量は全く気にしなくてもいいでしょう。
マルツ電波の店頭で物色しオムロンのG6E-134P-US 5VDCを買ってきました。450円くらいだったと思います。
コイルはDC5Vで定格電流40mAなのでテレビのUSBソケットの電源でも十分に動作するはず。


www.fa.omron.co.jp


3)適当なUSBケーブル

4)適当なケーブル

5)適当な収縮チューブ

6)道具ははんだゴテ、はんだ、はさみ、ピンセット、デザインカッターくらい


■いざDIY

くどいですが作製してみようと思った方は、まず先に電源状態を取得したいテレビなどのデバイスに付いているUSBソケットの給電が本体の電源と連動しているかを絶対にご確認ください。絶対。


1)ドア開閉センサーを分解して基板を取り出します。


2)リードスイッチの両端の端子にケーブルをハンダづけします。本当はリードスイッチを取ってしまった方が良いと思うのでトライしましたが基板にだいぶ熱ダメージを与えてしまいそうなので諦めました。ってかかなりダメージの痕が(笑)


3)ハウジングにケーブルを通す穴を適当に開けます。私はドリルなどを持っていないのでデザインカッターでグリグリしました(笑)
そんでケーブルを穴から外へ出して組み直せばドア開閉センサー側は完成です。今回はこの後リレーを接続しますが、このケーブルにお好みのスイッチを接続すればZigbee接続のリモートスイッチとして使えます。


4)USBケーブルを切断し外側の被覆を剥いて中のケーブルをむき出しにします。
赤が電源+、黒が電源-です。白と緑はデータ線で今回は使用しません。シールド線らしきものもありましたが使用しません。


5)ドア開閉センサーから出したケーブルとUSBケーブルを下図のとおりリレーにはんだ付けします。
はんだ付けはどうするのが正しいのかはわかりませんが、ケーブルの被覆を長めに剥いてリレーの端子にグルグル巻きつけその上からハンダ付けしました。


6)一応、収縮チューブで絶縁して完成。ケーブルはもっと短くした方が良かったですね。


7)いきなりテレビやPCに突っ込むのは躊躇われるので、モバイルバッテリーにつないで動作確認します。無事動作しました。

■いざテレビに接続

とりあえずリビングのテレビのUSBソケットに今回作製したモジュールを突っ込みHome Assistantのデバイスステータス画面で動作確認しました。。。あれっ?
テレビがオフなのにドア開閉センサーのステータスはクローズ。。。クローズとオープンを逆にしたっけと思いテレビをオンにしてみましたがドア開閉センサーはクローズのまま。。。
リビングのテレビはPanasonic VIERA GX855という機種でAV周辺機器用として2個のUSBソケットがあるのですが、いずれも常時給電でした。。。USBソケットへの給電に関する設定オプションも無し。。。なんという凡ミス(汗

次にキッチンのテレビでも試してみました。こちらはSONY BRAVIA W730Cという機種です。
一応USBソケットへの給電は本体の電源と連動していましたが、本体をオフにしてからUSBソケットへの給電が止まるまでに5分くらいの時間があります。その状態から本体をオンにした場合は数秒でUSBソケットへの給電が開始します。
これならギリ使える感じではありますが。。。これはPCの電源状態取得用だったかもしらん(^^;

そんなワケで作製したモジュールは正常に動きましたが、テレビのUSBソケットへの給電が本体の電源と連動していなかったという落とし穴が待ってました。事前の調査は重要ですね(笑)
まぁいくつかの方法を構想していたので、USBには頼らない次の作戦へ進めることとしましょう。。。
f:id:sympapa:20220109074119p:plain

■まとめ

ということで今回はドア開閉センサーとリレーを使い、Home AssistantなどのスマートホームシステムからUSBソケットの給電状態を取得できるモジュールを作製してみました。
ドア開閉センサーは私のような素人でもちょっとした工夫や簡単なDIYでホント幅広く使えるありがたいデバイスです。
今度ドア開閉センサーの活用方法をまとめた記事も書きたいと思っています。
あ、その前に次なるテレビの電源状態取得作戦ですね。。。(笑)
それでは、つづく