スマートホーム機器の多くは、メーカーのクラウドを経由しないと動かない。センサーの値を読むにも掃除を始めるにも、いったんメーカーのサーバーに行って戻ってくる。サーバーが止まれば連携も止まり、サービスが終われば機能そのものが消える。Whiskerの自動猫トイレ「Litter-Robot 4」もそうした製品の1つで、Joseph DiGiovanni氏はこの機器の無線部分だけを自作ファームウェアに置き換え、家庭内で動くスマートホーム基盤「Home Assistant」から直接操作できるようにした。
DiGiovanni氏が目を付けたのは、Litter-Robot 4の内部構造だ。本体にはマイコンが2つ載っていて、モーターの制御や猫の体重検知、挟み込み防止といった安全機構はすべてMicrochipのPICマイコンが受け持つ。もう1つのESP32は、クラウドとPICの間でシリアル通信を中継するだけの役割しかない。つまりESP32を書き換えても、動作と安全に関わる部分には手が及ばない。同氏は両者の間を流れる通信を記録して解読し、7バイト固定のデータ列で機器内部の設定や状態(レジスター)を番地ごとに読み書きする仕組みと、掃除の開始や砂の交換に対応するレジスター番号を一覧にまとめた。純正アプリの電源操作も、実はこの方法でボタン押下を模擬しているだけだった。
新しいファームウェアは、ESP32で家電を自作するための定番基盤ESPHomeの上に組んである。書き込みには基板の未実装パッドに1.27mmピッチのヘッダーをはんだ付けし、Espressifの書き込み器ESP-Prog-2をつなぐ。手順書では先に純正ファームウェア8MBを丸ごと吸い出すよう求めており、元に戻したくなればそのまま書き戻せる。2回目以降の更新は無線で済む。機能面では純正の操作をほぼ網羅したうえで、曜日ごとのスリープ時間設定や、猫4匹までの体重と来訪回数の記録など、純正アプリにない項目も足した。
設計データはCC0ライセンスで公開しており、ESPHomeへの本体統合も視野に入れている。前世代のLitter-Robot 3は本人が持っていないため未対応で、通信の記録を提供してくれる人を募っている。分解でメーカー保証が無効になる可能性や、機器やペットへの損害は自己責任である旨も明記されているので、猫のトイレをクラウドから切り離したい人は、その条件を飲んだうえで試すことになる。