cec-clientをhomebridgeから制御

今までは、iOS の HOME 機能を、linux環境で動くフリー実装の homebridge を使って、赤外線リモコンを制御していた。 しかし、AV機器のON/OFFでは、電源ボタンでON⇒OFFなのかOFF⇒ON なのか分からない。このため、ネットワーク対応の機器だし、 ping の結果に応じて 電源ボタン信号を出していた。

ただ、TVなどは、電源OFFの状態でも、EPG情報取得などのために OS が動いているため、OFF 状態の判定に失敗する。

そこで、先日見つけた HDMI 経由から制御信号を送る cec-client を試してみた。cec-client では、機器のON/OFF を判定しているので、 確実に ON/OFF できるはず。cec-client は、サーバ機では使えなかったので、 Raspberry-Pi を使ってみた。

$ echo "on 1" | cec-client -d 1 -s      # 1番機器をON
$ echo "standby 2" | cec-client -d 1 -s # 2番機器をOFF
$ echo "scan" | cec-client -d 1 -s      # 機器一覧をスキャン
device #0: TV         ← REGZA
address:       0.0.0.0 
vendor:        Toshiba
osd string:    TV
power status:  on

device #1: Recorder 1 ← VARDIA
address:       2.0.0.0← HDMI入力ソース番号
vendor:        Toshiba
osd string:    RD-S502
power status:  standby ← 電源状態

device #2: Recorder 2  ← Raspberry-Pi
address:       1.0.0.0
vendor:        Toshiba
osd string:    CECTester
power status:  o

device #3: Tuner 1    ← CATV-STB
address:       1.0.0.0
vendor:        Panasonic
osd string:    Tuner 1
power status:  on

device #4: Playback 1 ← PS4
address:       3.0.0.0
vendor:        Sony
osd string:    PlayStation 4
power status:  standby

AVソースの切り替え

今までは、赤外線リモコン信号で、ON/OFF を制御していたので、 HDMI 連動設定をしているおかげで、ケーブルTVのチューナーON で、テレビの電源も ON となり、さらにビデオ入力も対象機器に 切り替わる。

ただ、cec-client に切り替えたら、機器の制御信号をだすのが、 別機器なので、TV電源連動や、ビデオ入力切替連動とならない。

しかたがないので、TVのビデオ入力切替信号も出してみる。

echo "tx 2f:82:10:00" | cec-client -d 1 -s
# 2番のHDMIデバイス(raspberry-pi)から、
# 全デバイス宛て(f番)の信号で、
# 82 映像切替コマンドを送る。(TOSHIBA REGZAの場合)
# 10:00 は、ビデオ切り替えの番号
 

2017年2月

      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

ウェブページ

アーカイブ

Webデータ

このブログ記事について

このページは、T-Saitohが2016年11月28日 20:37に書いたブログ記事です。

ひとつ前のブログ記事は「ごろにゃん」です。

次のブログ記事は「メタモンげっと。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。