Blue 2.15 Minimum Level does not update after changing other config

I’m using Z2M and recently updated my blue dimmers to v2.15 firmware. I’m seeing some strange behavior with the minimum level not updating.

Repro steps:

  1. Factory reset dimmer by holding up and config till red flashes
  2. Set to dimmer mode and “single pole”
  3. Turn on dimmer to a visible light level
  4. Modify minimumLevel and verify that the light level changes. e.g. with it on and minimumLevel at 40, change it to 80 and verify light brightness increases.
  5. Modify a different config setting like maximumLevel to 200
  6. Modify minimumLevel again, e.g. previously was 40, then changed to 150.
  7. Notice light level does not change.

Tried:

  • turning on and off
  • changing dimming level
  • air gapping the switch
  • Changing maximumLevel back to previous level

But none of them affects the min level scaling anymore.

Looking in Z2M logs I see this message when trying to set the minimumLevel:

Debug 2023-08-30 01:45:18Received MQTT message on 'zigbee2mqtt/Upstairs Hallway Dimmer/set' with data '{"brightness":5,"maximumLevel":254,"minimumLevel":80,"outputMode":"Dimmer","rampRateOnToOffLocal":10,"smartBulbMode":"Disabled","state":"ON","switchType":"3-Way Dumb Switch"}'
Debug 2023-08-30 01:45:18Publishing 'set' 'state' to 'Upstairs Hallway Dimmer'
Debug 2023-08-30 01:45:18Received Zigbee message from 'Upstairs Hallway Dimmer', type 'readResponse', cluster 'manuSpecificInovelliVZM31SN', data '{"rampRateOnToOffRemote":127}' from endpoint 1 with groupID 0
Debug 2023-08-30 01:45:18Publishing 'set' 'maximumLevel' to 'Upstairs Hallway Dimmer'
Info 2023-08-30 01:45:18MQTT publish: topic 'zigbee2mqtt/Upstairs Hallway Dimmer', payload '{"action":null,"auxSwitchUniqueScenes":null,"bindingOffToOnSyncLevel":null,"brightness":5,"brightnessLevelForDoubleTapDown":2,"brightnessLevelForDoubleTapUp":254,"doubleTapDownToParam56":"Disabled","doubleTapUpToParam55":"Enabled","higherOutputInNonNeutral":null,"ledBarScaling":null,"linkquality":120,"power":0,"state":"ON","update":{"installed_version":16908815,"latest_version":16908815,"state":"idle"}}'
Debug 2023-08-30 01:45:19Received MQTT message on 'zigbee2mqtt/Upstairs Hallway Dimmer/set' with data '{"brightness":5,"maximumLevel":254,"minimumLevel":80,"outputMode":"Dimmer","rampRateOnToOffLocal":10,"smartBulbMode":"Disabled","state":"ON","switchType":"3-Way Dumb Switch"}'
Debug 2023-08-30 01:45:19Publishing 'set' 'state' to 'Upstairs Hallway Dimmer'
Debug 2023-08-30 01:45:19Received Zigbee message from 'Upstairs Hallway Dimmer', type 'readResponse', cluster 'manuSpecificInovelliVZM31SN', data '{"rampRateOnToOffRemote":127}' from endpoint 1 with groupID 0
Debug 2023-08-30 01:45:19Publishing 'set' 'maximumLevel' to 'Upstairs Hallway Dimmer'
Info 2023-08-30 01:45:19MQTT publish: topic 'zigbee2mqtt/Upstairs Hallway Dimmer', payload '{"action":null,"auxSwitchUniqueScenes":null,"bindingOffToOnSyncLevel":null,"brightness":5,"brightnessLevelForDoubleTapDown":2,"brightnessLevelForDoubleTapUp":254,"doubleTapDownToParam56":"Disabled","doubleTapUpToParam55":"Enabled","higherOutputInNonNeutral":null,"ledBarScaling":null,"linkquality":120,"power":0,"state":"ON","update":{"installed_version":16908815,"latest_version":16908815,"state":"idle"}}'

If I click the refresh button on minimumLevel in Z2M UI I see:

Debug 2023-08-30 01:47:03Received MQTT message on 'zigbee2mqtt/Upstairs Hallway Dimmer/set' with data '{"brightness":5,"maximumLevel":254,"minimumLevel":80,"outputMode":"Dimmer","rampRateOnToOffLocal":10,"smartBulbMode":"Disabled","state":"ON","switchType":"3-Way Dumb Switch"}'
Debug 2023-08-30 01:47:03Publishing 'set' 'state' to 'Upstairs Hallway Dimmer'
Debug 2023-08-30 01:47:03Received MQTT message on 'zigbee2mqtt/Upstairs Hallway Dimmer/get' with data '{"minimumLevel":""}'
Debug 2023-08-30 01:47:03Publishing get 'get' 'minimumLevel' to 'Upstairs Hallway Dimmer'
Debug 2023-08-30 01:47:03Received Zigbee message from 'Upstairs Hallway Dimmer', type 'readResponse', cluster 'manuSpecificInovelliVZM31SN', data '{"minimumLevel":40}' from endpoint 1 with groupID 0
Debug 2023-08-30 01:47:04Received Zigbee message from 'Upstairs Hallway Dimmer', type 'readResponse', cluster 'manuSpecificInovelliVZM31SN', data '{"rampRateOnToOffRemote":127}' from endpoint 1 with groupID 0
Debug 2023-08-30 01:47:04Publishing 'set' 'maximumLevel' to 'Upstairs Hallway Dimmer'
Info 2023-08-30 01:47:04MQTT publish: topic 'zigbee2mqtt/Upstairs Hallway Dimmer', payload '{"action":null,"auxSwitchUniqueScenes":null,"bindingOffToOnSyncLevel":null,"brightness":5,"brightnessLevelForDoubleTapDown":2,"brightnessLevelForDoubleTapUp":254,"doubleTapDownToParam56":"Disabled","doubleTapUpToParam55":"Enabled","higherOutputInNonNeutral":null,"ledBarScaling":null,"linkquality":120,"power":0,"state":"ON","update":{"installed_version":16908815,"latest_version":16908815,"state":"idle"}}'

Which shows the minimumLevel is still 40 and has not updated. The maximumLevel updates fine though.

I am no longer able to modify minimumLevel unless I factory reset the dimmer. I verified this same behavior happens across 10 of my dimmers. And seems to happen for any config setting change. e.g. changing rampRateOnToOffRemote

I just tried this on 2 different switches and not able to replicate it. All config options are updating and sticking.

One thing I notice from your initial logs, I don’t see it publishing the minimum level, but you can clearly see it publishing the maximum level. At the same time it’s receiving a payload showing minimumLevel at 80, but I wonder if that may just be the cached setting in z2m.

Which version of z2m are you running?
Have you tried setting it through the HA entity under the device page? (just an idea)

I have Z2M version 1.32.1-1.

Oh hmm, maybe I grabbed the wrong logs, but tried setting the minimumLevel again and saw the logs for setting minimumLevel.

Debug 2023-08-30 11:02:07Received MQTT message on 'zigbee2mqtt/Upstairs Hallway Dimmer/set' with data '{"led_effect":{"color":""},"minimumLevel":40}'
Debug 2023-08-30 11:02:07Publishing 'set' 'led_effect' to 'Upstairs Hallway Dimmer'
Debug 2023-08-30 11:02:07Publishing 'set' 'minimumLevel' to 'Upstairs Hallway Dimmer'
Info 2023-08-30 11:02:07MQTT publish: topic 'zigbee2mqtt/Upstairs Hallway Dimmer', payload '{"action":null,"auxSwitchUniqueScenes":null,"bindingOffToOnSyncLevel":null,"brightness":8,"brightnessLevelForDoubleTapDown":2,"brightnessLevelForDoubleTapUp":254,"doubleTapDownToParam56":"Disabled","doubleTapUpToParam55":"Enabled","higherOutputInNonNeutral":null,"ledBarScaling":null,"linkquality":127,"power":0,"state":"OFF","update":{"installed_version":16908815,"latest_version":16908815,"state":"idle"}}'

I did some more different attempts, and it seems that restarting Z2M and retrying a bunch of times I was able to set the minimumLevel. Not quite sure what’s happening here, but after the restart it seemed less likely to stop updating. But sometimes it happened, in those cases 80% of the time, reloading the page and resetting ~5 times worked, the other 20%, restarting Z2M seemed to help.