HomeKitのデバイスを、他のコンピュータのコマンドラインから動かす方法を説明します。 Homebridge, Mosquittoを使います。
Raspberry Piの上に、Homebridge, Mosquittoが動いていて、 Appleのホーム.appのにHomebridgeが接続されていて、 パソコン(Mac)の上にMosquittoのクライアント機能がインストールされていることが前提です。 以下のページを見てください。
Homebridgeのコントロールページから、プラグインを選び、検索窓にmqttthingとタイプします。するとHomebridge Mqttthingというプラグインが現れます。
これをインストールします。 インストールが終わると設定画面が出ます。これはいつでも設定できるのですが、 とりあえず、Stateless Programmable Switchを選んでみます。 また、名前をSwitch1とし、MQTTのタイプ名も適当に入れておきます。 タイプ名は、mqtttで始まるようにしました。MQTTTプラグイン関係であることがわかりやすいかとおもいました。
これで保存して、Homebridgeを再起動します(右上方の電源スイッチのようなアイコンを押す)。 再起動後に、アクセサリのタブを見ると、押しボタンスイッチのようなアイコンが見えます。 stateless programmable switchは、テレビのリモコンみたいに押しボタン方式のスイッチです。
コンフィグボタンを押すと、Homebridgeの全体の設定が見えます。まだMQTT Thingしか入れてないのでわかりやすいです。
このうち、
"accessories": [ { "type": "statelessProgrammableSwitch", "name": "Switch1", "topics": { "getOnline": "mqttt/online", "getSwitch": "mqttt/switch" }, "accessory": "mqttthing" } ],
の部分がMQTT Thingの部分です。このプラグインのページに詳しい説明があります。
https://github.com/arachnetech/homebridge-mqttthing#readme
変更したり書き換えたりする場合は、このコンフィグファイルを編集するのが簡単で良いと思います。 テレビのリモコンのように、多数の押しボタンスイッチをまとめて定義することもできます。 LEDの調光器リモコンのように、on/off/明るさ/色合いなどのスイッチをまとめて定義するのに便利です。 これ以外にも多くの特性を持つデバイスが用意されています。
HomebridgeがHomeKit環境に登録してあれば、ここで定義したSwitch1がホーム.appに現れています。
このアイコンを右クリックして、「設定」を選ぶと動作をしてできます。
1回押し、2回押し(ダブルクリック)、長押しの選択があります。ここでは1回押しで、隣のIkeaの電球、をonにする設定をしてください。