Homey Community Forum

MQTT Broker for Homey



MQTT Broker for Homey

Since this post was on the old forum, i decided to post it also in the new forum.

Today the MQTT Broker App has been released in the App store beta channel.

With this App it is now possible to have a complete MQTT Broker on Homey. The app is based on the Mosca nodejs library. The Mosca library is a library that is used to implement a MQTT Broker on a web based platform using nodejs.

So you no longer need to install a MQTT Broker on a NAS, homeserver or use a MQTT Broker in the cloud. You can simply install one on your Homey (https://apps.athom.com/app/nl.scanno.mqttbroker ).

What is a MQTT broker?
A MQTT Broker is a service that provides a Publish / Subscribe mechanism often used in IoT solutions. This means that an App or Device can subscribe to a topic. When another App or Device publishes a message on that topic, all Apps or devices subscribed to that topic, will receive that message.

What do I need?
You just have to install the MQTT Broker for Homey App and go to its settings page. There you have to provide the IP port you want the broker to listen on for messages. If you don’t know what to enter there, use the default 1883 value.
Second you will need to enter usernames and passwords for Apps or Devices that need to have access to the Broker. And that’s it.


Selfsigned certificates

With the MQTT broker for Homey it is possible to generate selfsigend certificates to enable TLS connections. Using offically signed certificates is always better, but not everybody knows how to do this and even with a service like Letsencrypt it is still difficult to do so without having a running HTTP server that is connected to the internet.

Generating a selfsigned certificate is very easy with the MQTT Broker for Homey. After you have installed the MQTT Broker for Homey from the App Store, go to the settings page an go to the Session Settings. On that page check the Generate a selfsigned certificate checkbox.

In the CommonName field enter the DNS name where your Homey resolves to (or use the internet IP adress). As default the Days Valid field is set to 365 days. That means that the certificate will be valid for 365 days. After 365 days you will need to generate a new one.

After entering the CommonName field, just press the Generate Certificate button to start generating the selfsigned certificates. Please be patient because it can take up to 30 seconds (or more) until the generation has been completed.

Once generation has been completed, you will see the Private key and Certificate text boxes filled with data:

After the text boxes are filled, the generation process has finished. Press the Save certificate button to save them the the internal storage of homey.

Make sure you have enabled TLS also:

The secure connection will be available once you Stop en Start the Broker again:

Please enable Selfsigned certificates in apps like the Owntracks client and MQTT client if you use them.