OH items no longer updating after Z2M upgrade

Hi,

After upgrading Zigbee2MQTT from 1.3 to 2.6.2 my OH 4.2.1 no longer updates states of the items like aqara temp/humidity sensors WSDCGQ11LM and some ikea buttons

I can see in the logs of mosquitto and z2m that everything is working, payload is there, but I guess they changed something in the json format…i could not dig out online what is it, I’m sure its just some option in configuration.yaml that will make it work with OH again…or I need to use some transformations?

The strangest thing is that at some point this worked, and then after a reboot of the machine (so, fresh start of openhab, z2m docker, mosquitto service) it just stopped working. But some smart switches do work (they receive ON/OFF commands) - the issue is mostly with stuff that is supposed to send state.

Z2M LOG:

[2025-10-03 23:02:07] info:     z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/SensorFridge', payload '{"battery":77,"humidity":85.79,"linkquality":84,"power_outage_count":85,"pressure":1000.7,"temperature":4.5,"voltage":2965}'

item

Number FridgeTemperature "Fridge Temperature [%.1f °C]"  <temperature> (gKitchenSensors)  ["Measurement", "Temperature"] {channel="mqtt:topic:mosquitto:SensorFridge:FridgeTemperature"}
Number FridgeHumidity "Fridge Humidity [%d %%]"  <humidity> (gKitchenSensors) ["Measurement", "Humidity"] {channel="mqtt:topic:mosquitto:SensorFridge:FridgeHumidity"}
Number FridgePressure "Fridge Pressure [%d mbar]"  <pressure>  {channel="mqtt:topic:mosquitto:SensorFridge:FridgePressure"}
Number FridgeBattery "Fridge Battery [%.1f %%]"  <battery> (gBattery)  {channel="mqtt:topic:mosquitto:SensorFridge:FridgeBattery"}
Number FridgeVoltage "Fridge Voltage [%d]"                        {channel="mqtt:topic:mosquitto:SensorFridge:FridgeVoltage"}
Number FridgeLink "Fridge Link [%d]"                         {channel="mqtt:topic:mosquitto:SensorFridge:FridgeLink"}

thing

}
Thing topic SensorFridge "SensorFridge" @ "Fridge" {
   Channels:
   Type number: FridgeTemperature "Fridge Temperature [%.1f °C]"  [stateTopic="zigbee2mqtt/SensorFridge/temperature"]
   Type number: FridgeHumidity "Fridge Humidity [%d %%]"        [stateTopic="zigbee2mqtt/SensorFridge/humidity"]
   Type number: FridgePressure "Fridge Pressure [%d mbar]"        [stateTopic="zigbee2mqtt/SensorFridge/pressure"]
   Type number: FridgeBattery "Fridge Battery [%.1f %%]"          [stateTopic="zigbee2mqtt/SensorFridge/battery"]
   Type number: FridgeVoltage "Fridge Voltage [%d mV]"          [stateTopic="zigbee2mqtt/SensorFridge/voltage"]
   Type number: FridgeLink "Fridge Link Quality [%d]"        [stateTopic="zigbee2mqtt/SensorFridge/linkquality"]
}

found it…

i have to add transformation to every thing channel

working example

   Type number: LivingTemperature "Living Temperature [%.1f °C]"  [stateTopic="zigbee2mqtt/SensorLiving", transformationPattern="JSONPATH:$.temperature"]
   Type number: LivingHumidity "Living Humidity [%d %%]"        [stateTopic="zigbee2mqtt/SensorLiving", transformationPattern="JSONPATH:$.humidity"]

another small logging problem..i have a button thing defined. everything works, but when this device periodically announces its battery state, link quality and temperature, error pops out in openhab.log

2025-10-04 02:31:24.199 [WARN ] [t.generic.ChannelStateTransformation] - Executing the JSONPATH-transformation failed: Invalid path '$.action' in '{"battery":100,"device_temperature":29,"linkquality":42,"power_outage_count":34,"voltage":3025}'. Pattern: '$.action'. Value: '{"battery":100,"device_temperature":29,"linkquality":42,"power_outage_count":34,"voltage":3025}'

complains it cannot find the action in the payload, but there is no action because nobody had pressed the button. if button is pressed, then no error.

the thing definition

    Thing topic Button1 "Button1" @ "Living Room"
    {
        Channels:
            Type string : action "action" [ stateTopic = "zigbee2mqtt/Button1", transformationPattern="JSONPATH:$.action" ]   
            Type number : battery "battery" [ stateTopic = "zigbee2mqtt/Button1", transformationPattern="JSONPATH:$.battery" ]     
            Type number : linkquality "linkquality" [ stateTopic = "zigbee2mqtt/Button1", transformationPattern="JSONPATH:$.linkquality" ]    
    }

for now I’m filtering this error out not to flood the logs

This topic was automatically closed 41 days after the last reply. New replies are no longer allowed.