Yesterday at 03:58 AM1 day After moving last year, I'm finally getting my mqtt based sensors back online. Unfortunately, I've found that they no longer appear to be compatible with recent MQTT plugin changes.PG3x Version 3.4.16Frontend Version: 3.4.16IoX Version: 6.0.5MQTT Plugin Version: 0.50.0 / Free [Production]- configured to the eisy mqtt broker, and using a devfile for my devices (see attached mqtt_dev.yml)I currently have two mqtt node types: raw and temp. For the simple raw sensor, the mqtt packet value is a plain integer. The plugin issues the following error in the logs:2026-06-24 20:30:00.100 paho-mqtt-client- udi_interface INFO Controller:_on_message: Received message from homeassistant/uptime: 123044 2026-06-24 20:30:00.100 paho-mqtt-client- udi_interface ERROR Controller:_on_message: Failed to process message from homeassistant/uptime: argument of type 'int' is not iterableFor the 1wire temp sensors, the mqtt message is a DS18B20 json packet:{"DS18B20":{"Temperature":"80.26"}}The errors in the logs look like the following:2026-06-24 20:37:44.217 paho-mqtt-client- udi_interface INFO Controller:_on_message: Received message from sensor/1wire/28fe30701b13013f: {"DS18B20":{"Temperature":"79.70"}} 2026-06-24 20:37:44.217 paho-mqtt-client- udi_interface ERROR Controller:_route_message_to_device: Failed to route message to device: MQds.updateInfo() takes 3 positional arguments but 4 were givenLooking through the current plugin code, it appears that the problem for raw nodes is due to the integer being accepted as valid json by '_parse_json_payload' in the Controller class's '_on_message' routine. This is correct behavior, unfortunately, '_process_json_message' looks for a "StatusSNS" key in the json object, which doesn't exist for the integer value.I have a fix for this working in a personal copy of plugin that wraps most of '_process_json_message' in a try..catch block. When that fails, it does the same things as '_process_plain_text_message'. I might be able to create a PR for this fix - thought thinking about it further, the '_parse_json_payload' probably should just return None when the json cannot be loaded into a dictionary.For the DS18B20 temp messages, the problem seems to be a disconnect between the Controller calls to 'node.updateInfo(payload, topic, sensor)' - none of the node definitions have an 'updateInfo' that takes the final 'sensor' argument. My "fix" here is to remove the sensor in the calls, but that seems to go against the current direction of the plugin.Thanks for any assistance. mqtt_dev.yml
9 hours ago9 hr You are right, and I had fixed it in v0.50.3 but hadn't pushed it yet. You are the first one to comment so I didn't think the issue was breaking, but obviously is in your situation.In the beta (non-production) store there is a v0.50.3 that you can install directly over top of your current version. Give it a go and let me know how it works for you.
3 hours ago3 hr Author Thank you @sjenkins - much appreciated. So far so good with v0.50.3. The raw and temp mqtt nodes are now working as expected.-Sam
Create an account or sign in to comment