Multilevel command class not supported for Wallmote Quad


#1

Continuing the discussion from Aeotec wallmote quad zw130:

I checked the specific Wallmote Quad zwave configuration file here and it seems that the multilevel commandclass (with id 38) is not yet supported. That is why it is still not possible to intercept the swipe actions (sent as multilevel commandclass). Does anyone know when it will be supported? Thank you in advance!


#2

Switch Multilevel is supported by OZW, it’s only disabled for that specific device for some reason. It could be the device is doing something non-standard. But the configuration is 2 years old, maybe it works now, maybe not…

Most of the device configurations are added by the community, so it’s unlikely anyone is working on it. You’re either going to have to do it yourself, or try opening an issue on Github. You can also try asking on the support forum.

Have you tried modifying your zwcfg*.xml file, removing the line that disables multilevel and see if anything changes?


#3

Hi @freshcoast, thanks for your information. I supposed that multilevel is not yet supported because I could get the swipe to trigger some output but it is not in a scene_data format, which HA uses for zwave events. The only thing I get is configuration report from the swipes/slides.

I did follow your advice and uncommented the unsupported tag in the zwave cache file in HA. Unfortunately it still doesn’t trigger some useful information for use in an automation. This is the output:

2018-12-14 21:37:21.060 Info, Raw: 0x98, 0x81, 0x07, 0x4b, 0x53, 0x48, 0xc5, 0x2a, 0xf6, 0x14, 0x57, 0x41, 0x94, 0xc3, 0xc4, 0x87, 0xe9, 0x53, 0x1a, 0x18, 0x88, 0x7e, 0x6b, 0x9e, 0xe6, 0xed, 0x21, 0x82, 0x95
2018-12-14 21:37:21.060 Detail, Node002, Decrypted Packet: 0x00, 0x70, 0x06, 0x09, 0x04, 0x02, 0x00, 0xc7, 0x1c
2018-12-14 21:37:21.060 Detail,
2018-12-14 21:37:21.061 Detail, Node002, Refreshed Value: old value=33599258, new value=33605404, type=int
2018-12-14 21:37:21.061 Detail, Node002, Changes to this value are not verified
2018-12-14 21:37:21.061 Info, Node002, Received Configuration report: Parameter=9, Value=33605404
2018-12-14 21:37:21.061 Detail, Node002, Notification: ValueChanged
2018-12-14 21:37:21.460 Detail, Node002, Received: 0x01, 0x08, 0x00, 0x04, 0x00, 0x02, 0x02, 0x98, 0x40, 0x2b
2018-12-14 21:37:21.461 Info, Node002, Received SecurityCmd_NonceGet from node 2
2018-12-14 21:37:21.461 Info, NONCES: 0xb7, 0xe2, 0xbe, 0x3b, 0x5c, 0xe3, 0xfa, 0x3f
2018-12-14 21:37:21.461 Info, NONCES: 0x18, 0x33, 0x62, 0x7e, 0x1a, 0xcd, 0x8a, 0x29
2018-12-14 21:37:21.461 Info, NONCES: 0xa7, 0xfe, 0xaf, 0x11, 0x6d, 0x87, 0x0a, 0x79
2018-12-14 21:37:21.461 Info, NONCES: 0xff, 0x4d, 0xb7, 0xdc, 0x5a, 0x91, 0x06, 0x75
2018-12-14 21:37:21.461 Info, NONCES: 0xe3, 0x03, 0xf4, 0x2a, 0x89, 0x4d, 0x97, 0x8b
2018-12-14 21:37:21.461 Info, NONCES: 0x33, 0xaf, 0xe8, 0xbc, 0xfc, 0x80, 0x48, 0xd6
2018-12-14 21:37:21.461 Info, NONCES: 0x9e, 0x9d, 0x07, 0x0f, 0x65, 0xb5, 0xa4, 0x89
2018-12-14 21:37:21.461 Info, NONCES: 0x0c, 0xdd, 0xee, 0x04, 0xda, 0xf2, 0xff, 0xdb
2018-12-14 21:37:21.461 Info, Node002, Sending (WakeUp) message (Callback ID=0x01, Expected Reply=0x00) - Nonce_Report - 0x01, 0x11, 0x00, 0x13, 0x02, 0x0a, 0x98, 0x80, 0xa7, 0xfe, 0xaf, 0x11, 0x6d, 0x87, 0x0a, 0x79, 0x05, 0x01, 0x97:
2018-12-14 21:37:21.469 Detail, Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8
2018-12-14 21:37:21.469 Detail, ZW_SEND_DATA delivered to Z-Wave stack
2018-12-14 21:37:21.487 Detail, Received: 0x01, 0x07, 0x00, 0x13, 0x01, 0x00, 0x00, 0x03, 0xe9
2018-12-14 21:37:21.487 Detail, ZW_SEND_DATA Request with callback ID 0x01 received (expected 0x01)
2018-12-14 21:37:21.507 Detail, Node002, Received: 0x01, 0x22, 0x00, 0x04, 0x00, 0x02, 0x1c, 0x98, 0x81, 0xf4, 0xa1, 0x7e, 0xdd, 0xc7, 0x20, 0x87, 0x59, 0x49, 0x9d, 0xa0, 0xc6, 0x72, 0xb0, 0x33, 0xda, 0xd8, 0xa7, 0xb7, 0x9e, 0x4d, 0xa6, 0x47, 0x05, 0x7e, 0x3a, 0x33
2018-12-14 21:37:21.507 Info, Raw: 0x98, 0x81, 0xf4, 0xa1, 0x7e, 0xdd, 0xc7, 0x20, 0x87, 0x59, 0x49, 0x9d, 0xa0, 0xc6, 0x72, 0xb0, 0x33, 0xda, 0xd8, 0xa7, 0xb7, 0x9e, 0x4d, 0xa6, 0x47, 0x05, 0x7e, 0x3a, 0x33
2018-12-14 21:37:21.507 Detail, Node002, Decrypted Packet: 0x00, 0x70, 0x06, 0x0a, 0x04, 0x02, 0x00, 0x70, 0x1d
2018-12-14 21:37:21.507 Detail,
2018-12-14 21:37:21.507 Detail, Node002, Refreshed Value: old value=33588507, new value=33583133, type=int
2018-12-14 21:37:21.508 Detail, Node002, Changes to this value are not verified
2018-12-14 21:37:21.508 Info, Node002, Received Configuration report: Parameter=10, Value=33583133
2018-12-14 21:37:21.508 Detail, Node002, Notification: ValueChanged

The values are in Parameter 9 and 10 and I don’t know how to use the information in an automation.
I will try the support forum on google.
Thanks!


#4

The reason you get the “Configuration report” is because setting parameter 0x4 to 3 means “Send Central Scene Command Notification and Configuration report.” It’s not clear to me what the configuration values mean, and I don’t see in the docs what they mean.

The user guide and technical doc say the slide is only supported with group association. Have you tried that? There is a table provided in the technical doc: https://aeotec.freshdesk.com/support/solutions/articles/6000162392-wallmote-quad-user-guide-

If you associate Node 1, the controller, with group 2, you supposedly should be able to get on/off and slide (dim) when using button 1. You have to associate the same for every button you want to enable. I think the example from Vera would be similar: https://aeotec.freshdesk.com/support/solutions/articles/6000162165-using-wallmote-quad-with-vera-ui7-


#5

Yes I am aware of that document. I believe the slide function will work out of the box for other zwave dimmer or switch. Unfortunately I do not have another zwave switch/dimmer to associate that with Wallmote.

I wasn’t actually clear about what I wanted to accomplish with the lack of another zwave dimmer/switch. I have Lifx led strips and bulbs. I am hoping to use Wallmote Quad to perform actions on the wifi enabled lights. I want to use single tap, press and hold and slide functions to trigger on/off, change scenes and adjust brightness respectively, all without a zwave dimmer/switch.
I already have the necessary codes for the tap and press and hold but not for slide function. I still have not figured out how to use the information in de log for an automation HA.I am still looking for the missing piece of information.


#6

These codes are for the central scenes though. As mentioned in the Aeotec docs, slide is not supported as part of the central scene commands. To use slide you must use group associations as indicated by the table.

Under the Z-Wave configuration for the Wallmote node, you can associate groups. If you associate the controller (Node 1) with Group 2, the controller will receive Basic Set and Multilevel Switch Set events when you use button 1. Basic Set will be received for On/Off, and Multilevel Set for Dimming. For sure, you can create automations for Basic Set using this method, it’s unclear what happens with Multilevel Set.

For example, I have a GE switch that when you associate with Group 3, it sends double-tap events to the associated nodes, in this case, the controller. Here is an example automation for the Basic Set event:

- id: '1543391825613'
  alias: Living Room Light double tap
  trigger:
  - event_data:
      entity_id: zwave.living_room_light_switch
    event_type: zwave.node_event
    platform: event
  condition: []
  action:
    service: light.turn_on
    data_template:
      entity_id: light.living_room
      brightness_pct: "{% if trigger.event.data.basic_level == 255 %}\n  99\n{% elif\
        \ trigger.event.data.basic_level == 0 %}\n  25\n{% endif %}\n"

It’s a little hard to read because the GUI formatted it badly, but the important parts are the trigger. You trigger on an event, with event_data set to zwave.node_event. In my data template I am checking the value of the zwave basic level, which is set for the event. trigger.event.data.basic_level when set to 255 means the switch was double-tapped on. A value of 0 means it was double-tapped off. If you search here for zwave.node_event you’ll get plenty of examples.

The question is, what happens when you use a slide once the controller is associated? Will you get any information that this occurred? That was my suggestion, associate the node 1 with one of the buttons, and experiment. You can watch the HA logs for zwave.node_event and see if any thing interesting is observed. You should get zwave.node_events with basic_levels for at least the On and Off. Maybe the basic_level value for a slide will be something between 0 and 99 based on the dim level.


#7

I have already associated the necessary groups to the zwave controller. In addition to that I also needed to activate sending of both command central scene and configuration report. The swipe/slide events are unfortunately neither registered as zwave.node_event nor zwave.scene_activated events in HA (I checked it with logger set to debug). The events are sent in as COMMAND_CLASS_CONFIGURATION. It is not in basic set so I cannot use the trigger for event.data.basic_level. Are there any events in HA that can intercept the command_class_configuration?

Here is the homeassistant.log:

2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] notif_callback : new notification
2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] notif_callback : Notification type : 2, nodeId : 2
2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] addValueId : ValueID : 72057594081706147
2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] addValueId : GetCommandClassId : 112, GetType : 3
2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] addValueId : Notification : {‘notificationType’: ‘ValueChanged’, ‘homeId’: 4218879153, ‘nodeId’: 2, ‘valueId’: {‘homeId’: 4218879153, ‘nodeId’: 2, ‘commandClass’: ‘COMMAND_CLASS_CONFIGURATION’, ‘instance’: 1, ‘index’: 10, ‘id’: 72057594081706147, ‘genre’: ‘Config’, ‘type’: ‘Int’, ‘value’: 67191093, ‘label’: ‘Parameter #10’, ‘units’: ‘’, ‘readOnly’: False}}
2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] notif_callback : call callback context
2018-12-15 18:01:07 DEBUG (Dummy-4) [openzwave] zwcallback args=[{‘notificationType’: ‘ValueChanged’, ‘homeId’: 4218879153, ‘nodeId’: 2, ‘valueId’: {‘homeId’: 4218879153, ‘nodeId’: 2, ‘commandClass’: ‘COMMAND_CLASS_CONFIGURATION’, ‘instance’: 1, ‘index’: 10, ‘id’: 72057594081706147, ‘genre’: ‘Config’, ‘type’: ‘Int’, ‘value’: 67191093, ‘label’: ‘Parameter #10’, ‘units’: ‘’, ‘readOnly’: False}}]
2018-12-15 18:01:07 DEBUG (Dummy-4) [openzwave] Z-Wave Notification ValueChanged : {‘notificationType’: ‘ValueChanged’, ‘homeId’: 4218879153, ‘nodeId’: 2, ‘valueId’: {‘homeId’: 4218879153, ‘nodeId’: 2, ‘commandClass’: ‘COMMAND_CLASS_CONFIGURATION’, ‘instance’: 1, ‘index’: 10, ‘id’: 72057594081706147, ‘genre’: ‘Config’, ‘type’: ‘Int’, ‘value’: 67191093, ‘label’: ‘Parameter #10’, ‘units’: ‘’, ‘readOnly’: False}}
2018-12-15 18:01:07 DEBUG (Dummy-4) [libopenzwave] notif_callback : end

If somehow I can use the information in Parameter #9 in HA then I am good to go. I don’t need to know the exact value of Paramter #9 or Parameter #10. Parameter #9 will be less than Parameter#10 for a swipe down and vice versa for swipe up. I only need to detect the swipe action.

I am still figuring this out…


#8

I solved this here