Dimmer status doesn’t update when using wall switch

Hi all,

Zwave network on razberry pro 7 hat
HASS in docker
Zwave js in docker

Device is Aeotec nano dimmer.

I have hidden the switch and shared the dimmer control to hass. Subsequently the dimmer is in HomeKit and works perfectly when actioned in HomeKit.

My issue is if I turn the dimmer off using the wall switch and it auto doms down to zero, the dimmer setting stays at whatever it was set at but the hidden switch turns off.

How can I combine the switch and the dimmer???

Below image are after I have physically turned the dimmer off with the wall button… the light is off at this point. HomeKit shows the light as on and still at 100%

Try refreshing the device from the zwavejs ui. Find the command class that contains the switch and level info and press refresh. Does this cause the level to update to zero?

1 Like

HI… thank you so much for taking the time to help.

So I set the light on with HomeKit to 63%… then I turned it off with the wall switch (connected to the Aeotec switch) and it dims down to zero… homekit shows the light on at 63%. On zwave.js ui the switch was off and the multilevel read 63. I hit refresh and it then shows 0…

So obviously it’s not picking up the percentage update… still don’t know how to fix it from now though???

So it sounds like a bug somewhere. Maybe in the device maybe is zwavejs. Check the aoetec website to see if they have a firmware update. Grab and post a zwavejs debug log here and one of the experts can look at it and give you an opinion.

In the meantime, you can implement a workaround. Create an automation that triggers whenever the switch changes state and polls the device.

Here is an example I implemented for dealing with a zwave fan control with a similar issue. You can try it as it, but I think your problem is different in that you get the switch state change not the level change, so you probably want to change the trigger to be off the switch state.


- id: "loft_fan_1 refresh switch state"
  alias: loft_fan_1 refresh switch state
  description: "Automation to refresh switch after state changes usually caused by switch control"
  mode: queued
  trigger:
    - platform: state
      entity_id: fan.loft_fan_1_level
  condition: "{{ trigger.to_state.state != trigger.from_state.state }}"
  action:
    - service: system_log.write
      data:
        level: info
        message: "Polling fan.loft_fan_1_level state change from {{ trigger.from_state.state }} to {{ trigger.to_state.state }}"
        logger: hvac
    - service: zwave_js.refresh_value
      data:
        entity_id: fan.loft_fan_1_level
    - delay: "00:00:01"
    - service: zwave_js.refresh_value
      data:
        entity_id: fan.loft_fan_1_level

Code is below… opened it, then turned light to 64% in homekit and light turns on to the dimmed value… then i switched it off with the wall switch, light dimmed down to zero but homekit still shows as on.

HASS shows dimmer is on and set to 64 but the binary switch is off… so it does update, but not the multilevel switch.

Subscribed to Z-Wave JS Log Messages…
2022-11-13T11:07:05.901Z SERIAL « 0x01170004000a0e32022164000c91ee0078000c91d7d000000c                (25 bytes)
2022-11-13T11:07:05.905Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:07:05.908Z CNTRLR   [Node 010] [~] [Meter] value[65537]: 823.767 => 823.79            [Endpoint 0]
2022-11-13T11:07:05.912Z DRIVER « [Node 010] [REQ] [ApplicationCommand]
                                  └─[MeterCCReport]
                                      type:        Electric
                                      scale:       kWh
                                      rate type:   Consumed
                                      value:       823.79
                                      time delta:  120 seconds
                                      prev. value: 823.767
2022-11-13T11:09:05.919Z SERIAL « 0x01170004000a0e32022164000c92050078000c91eed00000dd                (25 bytes)
2022-11-13T11:09:05.922Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:09:05.925Z CNTRLR   [Node 010] [~] [Meter] value[65537]: 823.79 => 823.813            [Endpoint 0]
2022-11-13T11:09:05.930Z DRIVER « [Node 010] [REQ] [ApplicationCommand]
                                  └─[MeterCCReport]
                                      type:        Electric
                                      scale:       kWh
                                      rate type:   Consumed
                                      value:       823.813
                                      time delta:  120 seconds
                                      prev. value: 823.79
2022-11-13T11:09:56.002Z SERIAL » 0x011000a90105042601ffff2500000000aaee                              (18 bytes)
2022-11-13T11:09:56.005Z DRIVER » [Node 005] [REQ] [SendDataBridge]
                                  │ source node id:   1
                                  │ transmit options: 0x25
                                  │ callback id:      170
                                  └─[MultilevelSwitchCCSet]
                                      target value: 255
                                      duration:     default
2022-11-13T11:09:56.008Z SERIAL « [ACK]                                                                   (0x06)
2022-11-13T11:09:56.011Z SERIAL « 0x010401a90152                                                       (6 bytes)
2022-11-13T11:09:56.013Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:09:56.015Z DRIVER « [RES] [SendDataBridge]
                                    was sent: true
2022-11-13T11:09:56.032Z SERIAL « 0x011d00a9aa00000100c17f7f7f7f00000300000000030100007f7f7f7f7f5f    (31 bytes)
2022-11-13T11:09:56.034Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:09:56.038Z DRIVER « [REQ] [SendDataBridge]
                                    callback id:            170
                                    transmit status:        OK, took 10 ms
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 100 kbit/s
                                    ACK RSSI:               -63 dBm
                                    ACK channel no.:        0
                                    TX channel no.:         0
2022-11-13T11:10:01.061Z SERIAL » 0x010e00a901050226022500000000abf4                                  (16 bytes)
2022-11-13T11:10:01.063Z DRIVER » [Node 005] [REQ] [SendDataBridge]
                                  │ source node id:   1
                                  │ transmit options: 0x25
                                  │ callback id:      171
                                  └─[MultilevelSwitchCCGet]
2022-11-13T11:10:01.067Z SERIAL « [ACK]                                                                   (0x06)
2022-11-13T11:10:01.070Z SERIAL « 0x010401a90152                                                       (6 bytes)
2022-11-13T11:10:01.072Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:10:01.074Z DRIVER « [RES] [SendDataBridge]
                                    was sent: true
2022-11-13T11:10:01.084Z SERIAL « 0x011d00a9ab00000100c07f7f7f7f00000300000000030100007f7f7f7f7f5f    (31 bytes)
2022-11-13T11:10:01.085Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:10:01.088Z DRIVER « [REQ] [SendDataBridge]
                                    callback id:            171
                                    transmit status:        OK, took 10 ms
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 100 kbit/s
                                    ACK RSSI:               -64 dBm
                                    ACK channel no.:        0
                                    TX channel no.:         0
2022-11-13T11:10:01.094Z SERIAL « 0x010c000400050326033fbf000054                                      (14 bytes)
2022-11-13T11:10:01.097Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:10:01.100Z CNTRLR   [Node 005] [~] [Multilevel Switch] currentValue: 0 => 63          [Endpoint 0]
2022-11-13T11:10:01.103Z DRIVER « [Node 005] [REQ] [ApplicationCommand]
                                  └─[MultilevelSwitchCCReport]
                                      current value: 63
2022-11-13T11:10:09.927Z SERIAL « 0x01170004000a0e32022174000b2a07000000000000d000007b                (25 bytes)
2022-11-13T11:10:09.930Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:10:09.933Z CNTRLR   [Node 010] [~] [Meter] value[66049]: 673.697 => 731.655           [Endpoint 0]
2022-11-13T11:10:09.935Z DRIVER « [Node 010] [REQ] [ApplicationCommand]
                                  └─[MeterCCReport]
                                      type:       Electric
                                      scale:      W
                                      rate type:  Consumed
                                      value:      731.655
                                      time delta: 0 seconds```

and then when i run the refresh of the multilevel ir updates in homekit to being off…

2022-11-13T11:16:30.142Z CNTRLR » [Node 005] requesting current switch state...
2022-11-13T11:16:30.158Z SERIAL » 0x010e00a901050226022500000000acf3                                  (16 bytes)
2022-11-13T11:16:30.161Z DRIVER » [Node 005] [REQ] [SendDataBridge]
                                  │ source node id:   1
                                  │ transmit options: 0x25
                                  │ callback id:      172
                                  └─[MultilevelSwitchCCGet]
2022-11-13T11:16:30.165Z SERIAL « [ACK]                                                                   (0x06)
2022-11-13T11:16:30.167Z SERIAL « 0x010401a90152                                                       (6 bytes)
2022-11-13T11:16:30.170Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:16:30.173Z DRIVER « [RES] [SendDataBridge]
                                    was sent: true
2022-11-13T11:16:30.180Z SERIAL « 0x011d00a9ac00000100c17f7f7f7f00000300000000030100007f7f7f7f7f59    (31 bytes)
2022-11-13T11:16:30.182Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:16:30.184Z DRIVER « [REQ] [SendDataBridge]
                                    callback id:            172
                                    transmit status:        OK, took 10 ms
                                    routing attempts:       1
                                    protocol & route speed: Z-Wave, 100 kbit/s
                                    ACK RSSI:               -63 dBm
                                    ACK channel no.:        0
                                    TX channel no.:         0
2022-11-13T11:16:30.196Z SERIAL « 0x010c0004000503260300c1000015                                      (14 bytes)
2022-11-13T11:16:30.198Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:16:30.201Z CNTRLR   [Node 005] [~] [Multilevel Switch] currentValue: 63 => 0          [Endpoint 0]
2022-11-13T11:16:30.206Z DRIVER « [Node 005] [REQ] [ApplicationCommand]
                                  └─[MultilevelSwitchCCReport]
                                      current value: 0
2022-11-13T11:17:05.971Z SERIAL « 0x01170004000a0e32022164000c92650078000c924bd000001b                (25 bytes)
2022-11-13T11:17:05.974Z SERIAL » [ACK]                                                                   (0x06)
2022-11-13T11:17:05.979Z CNTRLR   [Node 010] [~] [Meter] value[65537]: 823.883 => 823.909           [Endpoint 0]
2022-11-13T11:17:05.983Z DRIVER « [Node 010] [REQ] [ApplicationCommand]
                                  └─[MeterCCReport]
                                      type:        Electric
                                      scale:       kWh
                                      rate type:   Consumed
                                      value:       823.909
                                      time delta:  120 seconds
                                      prev. value: 823.883

Take a look at the configuration parameters, specifically 80,81,82

https://aeotec.attachments7.freshdesk.com/data/helpdesk/attachments/production/6102435346/original/ES%20-%20Nano%20Dimmer%20V2.03.pdf

Maybe try changing these to send the multilevel instead of the default?

Yes!!! You beautiful person you!!!

That did it, switched all three of them to multilevel… and it now updates when I turn it off with the wall switch…

1 Like