Skip to content

OpenHABとの接続

OpenHAB(open Home Automation Busとも呼ばれます)は、Javaで書かれたオープンソースのホームオートメーションソフトウェアです。さまざまなデバイスの統合、わかりやすいユーザーインターフェースの提供、そして最も柔軟なツールのサポートという強みを持ち、OpenHABはホームオートメーション分野で最も優れたプラットフォームの一つとなっています。

高い柔軟性と使いやすさを備えたOpenHABは、ユーザーがMQTTブローカーに接続するための専用バインディングを提供しています。本記事では、EMQXプラットフォームのMQTTブローカーとOpenHABを設定する手順をご紹介します。

前提条件

MQTTブローカーの取得

EMQXが提供する無料のパブリックMQTTブローカーを利用できます。このサービスはEMQXプラットフォームをベースに構築されています。ブローカーへのアクセス情報は以下の通りです。

  • ブローカー: broker.emqx.io
  • MQTTポート: 1883
  • MQTT over TLS/SSLポート: 8883

また、デプロイメントを作成することも可能です。接続情報はデプロイメントの概要画面で確認できます。デプロイメントが起動していることを確認してください。MQTTサーバーへの接続テストにはTCPポートまたはTLS/SSLポートを使用します。

独自にデプロイメントを作成する場合は、認証を確認し、Access Control > Authenticationでユーザー名とパスワードを設定して認証を行ってください。

OpenHABの初期設定

OpenHABで初めてMQTTを使用する場合は、クイックスタートを参照してください。

  1. OpenHABのインストール

    ここでは例として、Dockerを使ってOpenHABを素早くインストールします。

    bash
    docker run -d --name=openhab --restart=always --network=host \
     -v /opt/openhab/conf:/openhab/conf \
     -v /opt/openhab/userdata:/openhab/userdata \
     -v /opt/openhab/addons:/openhab/addons \
     openhab/openhab

    その後、ローカルIPの対応ポート(例: x.x.x.x:8080)にアクセスしてアカウントを作成します。

    openhab_create_account

    次に、言語、地域、タイムゾーン、ホームの場所を選択します。設定が完了すると、OpenHABのコンソール画面にリダイレクトされます。

    openhab_console

  2. バインディングのインストール

    Settings ---> Bindings ---> MQTT Binding に移動し、MQTTバインディングをインストールします。

    openhab_binding

  3. ThingsMQTT Brokerを追加

    openhab_add_thing_1

    次に、MQTT Brokerを選択し、先ほど作成したデプロイメントの情報を入力します。

    openhab_add_thing_2

TCPポートでの接続

このセクションでは、OpenHABクライアントをTCPポート経由でMQTTブローカーに接続する方法を説明します。

  • ブローカーのアドレス、ポート、ユーザー名およびパスワード(存在する場合)を入力します。
  • MQTTトランスポートにTCPを選択します。

openhab_mqtt_connection

TLS/SSLポートでの接続

このセクションでは、OpenHABクライアントをTLS/SSLポート経由でMQTTブローカーに接続する方法を説明します。

  • ブローカーのアドレス、ポート、ユーザー名およびパスワード(存在する場合)を入力します。
  • Secure Connectionを有効にします。
  • MQTTトランスポートにTCPを選択します。

openhab_mqtts_connection_1openhab_mqtts_connection_2

接続テスト

Settings ---> Things ---> MQTT Brokerに移動し、「online」と表示された緑のラベルがあれば、OpenHABとEMQXプラットフォームの接続に成功しています。おめでとうございます!

openhab_connection

EMQXプラットフォームのモニターページからもステータスを確認できます。

openhab_monitor