kirintropのブログ

はるか遠いミニマリストへの道です。

AQUOSブルーレイ(BD-UT2200)をHome Assistantで制御する話。

SHARPのブルーレイレコーダー「AQUOS UT2200」を、Home Assistant(HAOS)からネットワーク経由で操作する方法を検証したのでまとめます。

背景

最近のレコーダーはスマホアプリ等で操作可能ですが、HAOSに組み込むことで他の家電と連携したオートメーションが可能になります。今回は「IPコントロール」機能を使い、Node-RED経由でTCPコマンドを送信して制御します。

機器設定

まずはレコーダー側の設定が必要です。

IPコントロール: 「する」に設定。

ログインID/パスワード: 今回は「空(未設定)」で検証。

IPアドレス: 固定IPを推奨。

ポート番号: 初期値 10002。

接続テスト

WindowsのPowerShellでポートが開いているか確認します。

powershell

Test-NetConnection 192.168.0.43 -Port 10002
|

TcpTestSucceeded : True が出れば準備完了です。

最大の難関:対話型認証の突破

AQUOSのIPコントロールは、接続直後にレコーダー側から「Login:」「Password:」と問いかけられる対話型プロトコルです。コマンドを一気に送っても無視されるため、Node-REDで「待ち時間」を作りながら順次送信する必要があります。

Node-REDでの実装

FunctionノードでID(改行のみ)、パスワード(改行のみ)、コマンドの順にディレイを入れて送信します。

javascript

// IDの代わりの改行、パスワードの代わりの改行、そしてコマンド
const id = "\r";
const pw = "\r";
const cmd = "POWR1 \r"; // 電源ON(8文字固定+改行)

// 順番に送り出す
node.send({payload: id});

setTimeout(() => {
node.send({payload: pw});
}, 300); // 0.3秒後にPW送信

setTimeout(() => {
node.send({payload: cmd});
}, 600); // 0.6秒後に操作コマンド送信

return null;

このメッセージを TCP Request ノードに渡します。

Close connection: after a fixed timeout (1500ms程度) に設定。

これで、デバッグログに Login:Password:OK と返ってくれば、無事に電源操作が成功します。

現在の課題

電源状態を確認する POWR???? コマンドを投げても、現状 OK しか返ってこないため、双方向の同期には工夫が必要です。
クイック起動がONだと待機中もポートが閉じないため、今後はスマートプラグによる電力検知などを組み合わせる予定です。

kirintropは、Amazon.co.jpを宣伝しリンクすることによって
サイトが紹介料を獲得できる手段を提供することを目的に設定された
アフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。