I don’t see any difference between the messages for display line 1 & 2 vs 3 & 4 that would result in one set of being properly processed and the other remaining in the “dummy” state.
@David_Graeff - Do you have an idea on where I can start to troubleshoot?
I messed up. The homie binding part cannot process topics that contain dashes ("-"). That will be fixed at some point. At least if you create a bug report because I’m not working on MQTT for a while.
I can open an issue… I saw another post indicating an issue with dashes ("-")… However, I wasn’t sure if this is the same thing… Since it processes some of the items?
@David_Graeff -
I removed all dashes ("-") from my topics. Cleared all of my retained messages from mosquitto and I am in the same situation where a mix of channels are still specified as dummy. I have run the output of a mosquitto_sub through the online validator, which validates them successfully.
It is odd because one homie node will be fine and another homie node (whose only difference is the last character of the node name is incremented by 1) will have all dummy channels. You can see it below in where source2 is all dummy and source3 is properly initialized.
I’ve been experimenting with Homie a little bit over the past couple of days and have been seeing something similar where some Homie properties were not being displayed correctly.
Looking through openhab.log I could see exceptions being thrown for “Could not subscribe” and “Did not receive mandatory topic value”, however when checking with mosquitto_sub I could see the mentioned retained messages being sent.
Homie properties that did not have these types of exceptions were displayed correctly, while the ones which were not displayed correctly had exceptions.
I started to look at the timing of these messages and wondered whether the broker was not hitting the within 500ms requirement for a Homie device. In my case they were all arriving in ~300ms.
As an experiment I tried set max_queued_messages to 0 and all the properties are displayed correctly, the mosquitto log entry about dropping outgoing messages was gone and there was no exception in openhab.log.
Summary: if you use Mosquitto as your MQTT broker and have a lot of QoS 1 or 2 level messages (Homie messages should be QoS 1) then it may be that Mosquitto is dropping them. In this case carefully considered values of max_queued_messages and/or max_queued_bytes for your system might help.