Accéder au contenu principal

OpenMQTTGateway and OpenHAB 3 with auto discovery of Things

 This tutorial will show how to integrate the BLE gateway to OpenHAB3 leveraging the auto-discovery functionality. After this tutorial, you should see your Bluetooth Low Energy devices compatible with OpenMQTTGateway in OpenHAB3 without any file-based manual configuration.

Note that this tutorial is also available in OpenMQTTGateway documentation

Prerequisites

  • OpenHAB 3.3 or higher
  • MQTT broker installed with or without authentication
  • A location defined in the “Model” section under “Settings”

IP address (if your broker is installed on the same server as OpenHAB)

The goal is to disable the IPv6 address of the broker server, so that the gateway can connect through IPv4.

  1. From the Administration click on Settings
  2. Click on Network Settings
  3. Click on Show Advanced
  4. Disable IPv6
  5. Click on Save

Note

If the broker is installed on another server you will also need to configure it with an IPv4 address.

Install the MQTT binding

  1. From the Administration click on Settings
  2. Click on Bindings
  3. Install the MQTT binding (you can search at the bottom right)

  1. Once installed click on Things under Settings
  2. Click on the + at the bottom right
  3. Click on MQTT Binding

  1. Click on MQTT broker

  1. Enter for the “Broker Hostname/IP” field, the IP address of your broker, if it is installed on the same server you can enter localhost

  1. Click on “Show Advanced” if your broker has authentication activated, if not you can go to step 11
  2. Enter the broker credentials: username and password

  1. Click on Create Thing at the bottom, you should see your MQTT Broker in the Things list with the status “online”

Bravo👏, second step done! Now let’s add the Jinja transformation service.

Install Jinja Transformation

  1. From the Administration, click on Settings
  2. Click on Bindings
  3. Install Jinja Transformation (you can search at the bottom right)

Second step done!

Upload OpenMQTTGateway to an ESP32

Upload OpenMQTTGateway from the web by selecting esp32dev-ble-openhab

Or use another upload method from the Upload section.

Configure OpenMQTTGateway from the web portal

Wifi and MQTT configuration

Or use another upload method from the Upload section that requires credentials before the build.

You should see the gateway connected to your broker by checking with an MQTT client like MQTT Explorer.

Adding the things

  1. From the Administration click on “Things” under “Settings”, you should see a number in the INBOX button

  1. Click on INBOX, you should see your BLE devices and the gateway

  1. Click on a device, a pop up “Add as Thing” should appear
  2. Rename it if you need, and click OK, repeat for each Thing discovered. The devices should appears as online progressively.

  1. Click on Model
  2. Select the location of where you want to create the Equipment
  3. Click on “Create Equipment from Thing”
  4. Click on Thing
  5. Select a Thing
  6. Rename your Equipment if you need
  7. Select the Channels

  1. Click on “Add to Model”
  2. Go to Model, if you unfold your location and Equipment you should be able to see values

Congratulation🎉! You were able to get data from your BLE sensors into OpenHAB. You can now add the others and use the data to build pages, leverage rules, and enjoy all the function of your Home Automation controller with BLE devices.

Commentaires

Posts les plus consultés de ce blog

OpenMQTTGateway now reads Xiaomi Mijia Temperature and Humidity sensor

In the path of integrating BLE devices to OpenMQTTGateway I have found the Xiaomi Mi Jia Humidity and temperature sensor to be a good candidate. This little indoor sensor is able to measure temperature and humidity and to transmit these data by bluetooth low energy to your smartphone. As we already integrated another BLE device ( Mi Flora)  why not extending the integration scope of OpenMQTTGateway to this one. I ordered one to see if I was able to extract data from it. After a few weeks, I received it, a first test with nRF connect application showed me that this device diffuses data in a quite similar way compared to Mi Flora (using BLE service data exposition). From this point I had to determine the differences between the data sent from mi flora and the data sent from mi jia hum & temp sensor. The reverse engineering was similar to the one done with Mi Flora and with some offset implementation in the program I was able to read easily the humidity and temper...

433toMQTTto433 - Bidirectional ESP8266 NodeMCU gateway between RF 433Mhz signal and MQTT

The goal  is to act as a gateway between 433Mhz sensors and a MQTT broker or between the MQTT broker and 433Mhz actuators, It enables to: receive MQTT data from a topic and send RF 433Mhz signal corresponding to the received MQTT data  publish MQTT data to a different topic related to received 433Mhz signal  It can be an interesting part in an home automation system so as to interface sensors and actuators (wall sockets) with software like openhab . List of compatible sensors here The interest of putting this gateway to an ESP8266 and not on a raspberry pi is to be able to manage security actions at gateway level (power on a siren, cut power to certain devices) following RF data received by sensors without being dependent to the PI for security related actions. [EDIT] all infos are now centralized into  the github repository  take a look at it you will find up to date info about OpenMQTTGateway You need: Software: Mosquitto Arduino IDE latest versio...

Get your BLE sensors data into Home Assistant in 5 minutes

You can now upload your board directly from the web browser!  So let's imagine you want to read data from a sensor like a Mi Flora, an LYWSD03MMC, a weight scale, or any other BLE sensor from this list  Plug an ESP32 dev board to your computer USB port Go to this website: https://docs.openmqttgateway.com/upload/web-install.html Select esp32dev-ble Click the install button Depending on your board you may have to press the BOOT button Choose the port that the ESP is connected to. Wait until the process is complete. Release the BOOT button That's it, OMG is now loaded into your ESP32 board without Arduino IDE, platformIO or a binary flasher. Here are the steps in images: Now comes the Home Assistant part: Add the MQTT integration and activate auto discovery Create a user and a password (Configuration->Users) without administrator right for the gateway Well, this is enough for Home Assistant. So let's now connect both: Check the Wifi Access points available with your smartph...