サーキュライトもMatter経由に引っ越しました

投稿者: | 2026年10月11日

前回のエアコン制御の記事の本文で、こんなことを書いていました。

エアコン以外の機器もだいたい Home Assistant に集約できましたが、まだ残っているのが ドウシシャのサーキュライト(照明とサーキュレーターが一体になったやつ)です。これが今のところ Alexa からしか操作できません。

サーキュライトも制御パスを見直しましたので、その記録です。結果としてはサーキュライトも Alexa / Google Home / Apple Home から操作できるようになったんですが、その途中で「IP アドレスを固定化していなかった」というミスに気づいて、それなりに手間がかかりました。

元の構成と問題

ドウシシャのサーキュライトは Smart Life 対応のシーリングファンライトで、Tuya 系の Wi-Fi チップが入っています。うちではずっと Smart Life アプリで登録して、Alexa の Smart Life スキルで連携する、というクラウド経由の構成で使っていました。

この構成だと Alexa からは操作できるんですが、Google Home は正式対応がされてないので使えない事になっています。でもアプリ自体はGoogle Home への連携機能があったので、試しに連携させてみたらつかえちゃいました。ただ操作できる機能がすくなかったのでまだ対応途中か制限あるんだなとおもって、そのままにしていたんですが、ある日サーキュライトがおかしな挙動をしている事に気がつきました。

寝室からなんか「ピッ」という電子音が繰り返し聞こえてきて、確認するとサーキュライトが鳴っている。いろいろ操作してみたら、ライト消しても直ぐ点灯するを繰り返すという状態。 どうやら、ネットワーク経由で誰かがライトの操作をしてるんじゃないかと気がついて、思いつきでGoogle Home との連携切ると正常になり、再連携すると再現しました。 サポート情報がないと言うことはこういう事情かとなっとく。

いったん制御はAlexaからだけにしました。その後、エアコンを Home Assistant + Matter Hub の構成に揃えたときに、この構成なら、サーキュライトも同じように複数の AI スピーカーから同一の操作が出来るんじゃないかなと思いついた訳です。

やったこと:Tuya Local → Home Assistant → Matter Hub

エアコンと同じ経路にするには、次の流れにする必要があります。

サーキュライト ←(LAN 内ローカル通信)→ Home Assistant(Tuya Local 統合)→ Matter Hub → Alexa / Google Home / Apple Home

サーキュライトは Tuya 系のデバイスなので、Home Assistant から直接制御するには HACS の Tuya Local カスタム統合を使います。サーキュライトを制御できる統合を調べて今回新たに導入しました。

設定画面でデバイスを追加します。Device ID と IP アドレス、Local Key はスマートホームアプリのアカウントでログインするだけで取得できました。以前は Tuya IoT Platform(開発者向けポータル)を使う手順が一般的でしたが、今の Tuya Local はアプリ連携ログインで取れるようになっていて、だいぶ楽になっています。プロトコルバージョンとデバイスタイプも入力します。デバイスタイプは ovlaim_809_ceiling_fanlight が今回の機器(Product ID: snet8lgpjhnsawua)には一番近い一致で、マッチ率 69% でしたが、ファンの速度・照明のオンオフ・明るさの操作は問題なく通りました。

Matter Hub 側では、エンティティフィルターに fan.tian_jing_huan と light.qin_shi_tian_jing_huan_qin_shi_zhao_ming を追加します。これで Alexa / Google Home / Apple Home から同じデバイスとして見えるようになります。

しばらくして、ルーター再起動で問題発生

設定が完了してしばらくは、Alexa / Google Home / Apple Home どれからも普通に操作できていました。

ところがある日、ルーターを再起動したあとに Google Home が「デバイスが応答しない」と言い出しました。ルーターを再起動すると DHCP のアドレス払い出しがリセットされることがあります。サーキュライトのアドレスを固定化していなかったので、再起動後に別の IP アドレスを割り当てられてしまっていた模様です。

Home Assistant のログを見ると、

Failed to refresh device state for 天井ファン.
Device reported error 904: Unexpected Payload from Device

が連続して出ています。192.168.0.29 への Ping は通るのに、Tuya Local が使う TCP ポート(6668)への接続がタイムアウトするという状態でした。

ルーターの DHCP リース一覧を確認したら、サーキュライトの MAC アドレスには 192.168.0.21 が割り当てられていました。つまり Ping が通っていた 192.168.0.29 は、今は別の機器のアドレスになっていたわけです。

Tuya Local はデバイスの設定を「IP アドレス・Device ID・Local Key・プロトコル・デバイスタイプ」をセットとして管理しています。なので IP だけ書き換えても、既存の Config Entry がうまく再初期化されず、失敗状態のまま残ってしまいます。結局、一度デバイス登録を削除して、正しい IP アドレス 192.168.0.21 で再登録し直すことになりました。

再登録後は、ログに

Adding DOSHISHA EZサーキュライト device with product id snet8lgpjhnsawua
Device matches ovlaim_809_ceiling_fanlight with quality of 69%

と出て、TCP 6668 への接続も成功。Tuya Local の初期化失敗はこれで解消しました。

そして当然ですが、今回を機にサーキュライトの MAC アドレスをルーターの DHCP 予約に登録して、192.168.0.21 固定にしています。

Matter Hub 側で不整合が残っていた

Tuya Local の再登録で、エンティティ ID が変わりました。再登録前は fan.qin_shi_zhao_ming だったものが、再登録後は fan.tian_jing_huan になっています(Tuya Local が機器から取得した中国語の名称からエンティティ ID を自動生成するので、登録し直すと変わることがあります)。

エンティティフィルターの設定は新しい fan.tian_jing_huan を指していたので問題ないはずなんですが、Matter Hub 上のデバイスカードは「オフライン」表示のまま。ログを確認すると、

Peer is no longer responding to active session
Lock ... fan_tian_jing_huan.fanControl
should be held by reactor ... fanControl.update but is not

というエラーが出ています。エンティティ再登録後に Matter Hub の内部状態が不整合になった模様。Matter Hub のコンテナを再起動したら、あっさり復帰しました。

ちなみに Alexa からは再登録後も動いていたんですが、Google Home からだけ操作できない状態でした。Google Home と Alexa は Matter Hub に対して別々のセッションを持っているので、片方のセッションだけが詰まるというのはあり得る話なんだそうです。コンテナ再起動でセッションがリセットされて、両方使えるようになりました。

結果

  • サーキュライトを Smart Life / Alexa スキル連携から脱却(Smart Life の Alexa スキル連携は解除済み)
  • Home Assistant の Tuya Local でローカル制御
  • Matter Hub 経由で Alexa / Google Home / Apple Home の 3 つから操作可能に
  • IP アドレスを DHCP 予約で固定化(192.168.0.21 固定)

やってみて思ったこと

IP アドレスの固定化は最初にやっておくべきでした。設定直後はちゃんと動いていたので「まあそのうち」と思っていたんですが、ルーター再起動という普通の出来事をきっかけにあっさり崩れました。

Tuya Local は IP ベースで機器を管理しているので、アドレスが変わると設定が無効になります。しかも「IP だけ書き換えればいい」とはならなくて、一度削除して再登録という作業が必要になります。Matter Hub 側にも古いエンティティの残骸が残って不整合になりますし、連鎖的に手間が増えます。

スマートホーム機器は、Wi-Fi につながった時点でアドレスを固定化するのをルールにしようと思います。他の機器も念のため確認しておこうと思います。


この記事の執筆には生成 AI(Claude)を利用しました。作業自体は Hermes Agent を使って進めました。

カテゴリー: IT

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です