[App][Pro] MQTT Broker for Homey

In what way handle retained topics? You mean retained messages persisting after restart of the broker?

I am experimenting with the Aedes persistance possibilities. The only possibility is the use of the NeDB persistance as that is a nodejs implementation of a subset of the MongoDB API.

Looking at the files that this persistance framework is storing in /userdata, retained topics should be supported:
mqtt.incoming.db
mqtt.outgoing.db
mqtt.retained.db
mqtt.subscriptions.db
mqtt.wills.db

But how this actually works in real life, I do not know.

However NeDB is not being maintained anymore :confused:

From what I can see, the only other local persistence layer is based on LevelDB, which is going to be a pain to maintain because it requires compiled modules.

FWIW, thereā€™s an NeDB fork which looks like itā€™s still being maintained.

Well NeDB is a dependency from aedes-persistence-nedb. If using a fork, aedes-persistence-nedb would need to changed too.

Lol, review of the fix for 7.4.0 RCā€™s got rejected:

ā€” The app image is not up to our standars, the image depicts a black shape on a white background. Read our App Store guidelines section 1.4.2 App images for more information and examples.

Anyone feels like creating something that would pass this check? It was OK for the last 4 yearsā€¦

1 Like

You can publish the app in the Community Store!

Hi, I got such comments, too (no dark image background, device images too identicalā€¦). But with passing the app. There seems to be somone new who would like to make his reviewer job as best as possible :smile:

You can send me the images as PM and I will take a look at it.

4 Likes

Let Athom create the icons itself, but you have to have an image template.

@scanno since the latest Homey update the broker app seems to fail to start. Not quite sure what this could be?

Ive sent diagnostics in private message.

You need to install the current test version of the app: MQTT Broker | Homey

2 Likes

Like @robertklep said. Install the test version. Athom rejected this version due to changes in their store policy regarding the use of app bitmaps.

1 Like

Whatā€™s the exact reason? Only the mosquitto icon like image?
If there should be a nice colored image, I can perhaps create one.
But itā€™s hard to go with the Athom policy for ā€œvirtualā€ devices if you canā€™t make a photo from :slight_smile:

Meh, let Athom solve the problem.

2 Likes

Usually they create icon very fast, as far as I have seenā€¦

If you have photos for your devices, send them to Athom and they create policy correct icons very quick.

Ivo responded on the github issue that he is going to create the icons as soon as possible. Right now if you really need the broker app, you can do two things:

  1. Do not update the firmware :slight_smile:
  2. Install the 1.0.6 test version from the store that solves the problem, but got rejected for publishing due to the icon problem.

When 1.0.6 with is published, I will publish a new test version (2.0.0) that replaces the current broker library with aedes and that also adds persistence as soon as I adjusted the internal settings logic to the new library (currently running on my homey for a while with static settings).

I could use some people testing this.

5 Likes

I have uploaded 2.0.0 to test and submitted for certification. I have been running this for weeks on my homey and seems stable for me so far. This includes Aedes as broker library and NeDB for persistence. I have not tested persistence. So if someone would like to report their findings if the use of NeDB solves any persistence problems, let me know :slight_smile:

6 Likes

2.0.0 approved and published.

4 Likes

MQTT broker stopped working since 1.0.6 and also 2.0.0 does not work
The broker not started at all. I rebooted Homey and also did a PTP reboot.
Deinstalled the app and installed again without any change in de behavior.
Please help.

Nobody can help you if you do not have a log or a stacktrace.

All I can see is that there are a lot of errors due to port 1883 already being used.

But that is weird because I check if the port for MQTT and MQTTS are different, so it cannot be a config problem.