MQTT Thing EX ソースコード タピオカをおごる
日本語

MQTT デバイスを、
そのまま「ホーム」App へ。

MQTT のトピックを HomeKit のアクセサリにする Homebridge プラグインです。照明、センサー、ドアロック、サーモスタットなどに対応。homebridge-mqttthing の後継として開発が続いており、今の設定を変えずに使えます。

無料のオープンソース。Homebridge 1.8 以降(2.x を含む)で動作します。

リビングのランプ
MQTT メッセージ

    試してみてください。パブリッシュキューのオンとオフで、スライダーを動かしてみましょう。

    最初からやり直さずに乗り換え

    homebridge-mqttthing から移行しますか? config.json はそのままで大丈夫です。アクセサリブロックは "accessory": "mqttthing" のまま、コーデックファイルや apply 式もそのまま動きます。

    1. homebridge-mqttthing をアンインストール

      どちらのプラグインも mqttthing という名前を使うため、同時にはひとつしかインストールできません。

    2. MQTT Thing EX をインストール

      Homebridge UI から、または npm でインストールします。

    3. Homebridge を 1 回だけ再起動

      再起動 1 回でまとめて行ってください。アクセサリの識別情報は変わらないので、部屋・シーン・オートメーションもそのまま残ります。

    ペアリングのやり直しは不要です。Homebridge はアクセサリをプラグインではなく名前で識別するので、名前が同じなら同じアクセサリのままです。

    config.json
    {
      "accessory": "mqttthing",
      "type": "lightbulb",
      "name": "Living Room Lamp",
      "url": "mqtt://broker.local:1883",
      "topics": {
        "setOn": "living/lamp/setOn",
        "getOn": "living/lamp/getOn",
        "setBrightness": "living/lamp/setBrightness",
        "getBrightness": "living/lamp/getBrightness"
      }
    }

    接続はデバイスごとではなく、ブローカーごとに 1 本

    元のプラグインはアクセサリごとに MQTT 接続を開きます。オプションのプラットフォームモードでは、すべてのデバイスをひとつのブロックにまとめて接続を共有するので、同じブローカーにつながる 24 個の照明も接続 1 本で済みます。

    アクセサリモード

    デバイス 12 台、接続 12 本

    MQTT

    プラットフォームモード

    デバイス 12 台、接続 1 本

    MQTT
    • 名前を変えても安心

      デバイスには変わらない id があるので、名前はただのラベルです。いつでも変更できます。

    • 設定ミスで環境を失わない

      設定に誤りのあるデバイスも、直すまで HomeKit 上の場所を保ち、部屋やオートメーションもそのまま残ります。誤りは起動時にログへ出力されます。

    • 準備ができたら移行

      設定画面がアクセサリをプラットフォームモードへ移し、HomeKit 上の識別情報も引き継ぎます。アクセサリモードも引き続き完全にサポートされます。

    できること

    homebridge-mqttthing の機能はすべてそのまま。TypeScript で Homebridge 2 向けに作り直し、長年の不具合も修正しました。

    • 大規模な環境向けの設定画面

      検索できるデバイス一覧、タイプごとのトピックを知っているエディタ、安全に編集できる apply 関数、接続テスト、トピックのライブ確認。

    • 小さなデバイスにやさしく

      オプションのパブリッシュキューが送信の間隔を整え、トピックごとに最新の値だけを送るので、シーンやスライダー操作で低消費電力のデバイスがあふれません。

    • ペイロードは自由に

      コーデックファイル、apply 式、JSONPath(topic$.path)がそのまま使えるので、独特なペイロードのデバイスも専用ブリッジなしで取り込めます。

    • Eve App の履歴

      温度、湿度、気圧、消費電力などを記録し、Eve App の履歴グラフに表示します。

    • 上流の不具合を修正

      起動時の余計な色メッセージ、アダプティブライティングで照明が点く問題、ワイルドカード購読、空のペイロードでのクラッシュなど。

    • Homebridge 2 に対応

      新しい HomeKit API と ES モジュールを採用。Homebridge 1.8 以降と 2.x で動作し、npm audit の脆弱性はゼロです。

    HomeKit にあるものは、ほぼ何でも

    37 種類のアクセサリタイプ。シンプルなスイッチから、複数のサービスをまとめたカスタムアクセサリまで。

    照明
    電球(明るさ、カラー、白色と色温度、アダプティブライティング)
    スイッチとコンセント
    スイッチコンセントステートレスプログラマブルスイッチ
    センサー
    人感在室照度温度湿度気圧気象ステーション開閉煙水漏れ空気質二酸化炭素一酸化炭素
    空調
    サーモスタット冷暖房機除湿機ファンファン v2空気清浄機
    セキュリティと出入り
    セキュリティシステムドアベルガレージドアドアロックブラインド窓ドア
    水まわり
    バルブ散水システム
    メディアほか
    テレビマイクスピーカーバッテリーカスタム(複数サービスをひとつのアクセサリに)

    各タイプのトピックとオプションはドキュメントに載っています。 すべてのアクセサリタイプ(英語)

    数分でセットアップ

    1. プラグインをインストール

      Homebridge UI のプラグイン画面で MQTT Thing EX を検索してインストールします。

    2. デバイスを追加

      プラグイン設定を開いて追加を選び、デバイスのタイプを選んでブローカーとトピックを入力します。接続テストもその場でできます。

    3. Homebridge を再起動

      デバイスが「ホーム」App に現れ、部屋やシーン、Siri で使えるようになります。

    Homebridge 1.8 以降(2.x 対応)と Node.js 18.17 以降が必要です。 設定項目の詳しい説明(英語)

    無料のままで続けるために

    このプラグインには広告も有料版もありません。デバイスが Apple「ホーム」とうまくつながっていたら、タピオカ 1 杯や少しのご支援が、Homebridge の新バージョンへの対応や不具合報告への対応を続ける力になります。

    タピオカはクレジットカードで支払えます。PayPal アカウントは不要です。