Aeotec wallmote quad zw130

Two main reasons:

  1. The round trip times to the cloud and back were too slow (as much as 10-12 secs).
  2. I have a couple of devices, Wallmote being one of them, that has multiple instances
    and only one instance could be seen by HA.

Just got a Aeotec Wallmote Quad and found this thread. I don’t want to use any of the swipe features I just want the four buttons to work. What would be the recommended way to make it work?

Hi Micha,

Did you get the wallmote to work? I am having almost the same issues - the buttons are not linked through the actions.

2020-07-07 21:32:41.491 Info, Node005, Received Central Scene set from node 5: scene id=1 in 0 seconds. Sending event notification.
2020-07-07 21:32:41.491 Warning, Node005, No ValueID created for Scene 1
2020-07-07 21:32:42.226 Detail, Node005, Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x05, 0x05, 0x5b, 0x03, 0x5d, 0x00, 0x02, 0xf7
2020-07-07 21:32:42.226 Detail,
2020-07-07 21:32:42.227 Info, Node005, Received Central Scene set from node 5: scene id=2 in 0 seconds. Sending event notification.
2020-07-07 21:32:42.227 Warning, Node005, No ValueID created for Scene 2
2020-07-07 21:32:42.826 Detail, Node005, Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x05, 0x05, 0x5b, 0x03, 0x5e, 0x00, 0x03, 0xf5
2020-07-07 21:32:42.826 Detail,
2020-07-07 21:32:42.826 Info, Node005, Received Central Scene set from node 5: scene id=3 in 0 seconds. Sending event notification.
2020-07-07 21:32:42.826 Warning, Node005, No ValueID created for Scene 3
2020-07-07 21:32:43.400 Detail, Node005, Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x05, 0x05, 0x5b, 0x03, 0x5f, 0x00, 0x04, 0xf3
2020-07-07 21:32:43.400 Detail,
2020-07-07 21:32:43.400 Info, Node005, Received Central Scene set from node 5: scene id=4 in 0 seconds. Sending event notification.
2020-07-07 21:32:43.400 Warning, Node005, No ValueID created for Scene 4

Regards

@Blade1024 Did you update the zwcfg file with the device specific entries for the Wallmote?

Z-Wave Device Specific Settings - Find WallMote in there.

Hi,

Thank you! And yes, I am getting somewhere :wink: At least it is start popping up in the logs as an event - previously there was nothing. Cannot get it to trigger anything yet though. Core sees it, event is in, but it fires up nothing. Sorry for dummy questions - just learning the system.

> 2020-07-09 04:05:34 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event zwave.scene_activated[L]: entity_id=zwave.aeotec_unknown_type_0002_id_0082, node_id=5, scene_id=2, scene_data=0>
> 2020-07-09 04:05:34 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=zwave.aeotec_unknown_type_0002_id_0082, old_state=<state zwave.aeotec_unknown_type_0002_id_0082=initializing; node_id=5, node_name=Aeotec Unknown: type=0002, id=0082, manufacturer_name=Aeotec, product_name=Unknown: type=0002, id=0082, query_stage=CacheLoad, is_awake=False, is_ready=False, is_failed=False, is_info_received=True, max_baud_rate=40000, is_zwave_plus=True, capabilities={'zwave_plus', 'routing', 'beaming'}, sentCnt=1, sentFailed=1, retries=0, receivedCnt=153, receivedDups=0, receivedUnsolicited=153, sentTS=2020-07-09 03:41:33:232 , receivedTS=2020-07-09 04:04:29:311 , lastRequestRTT=0, averageRequestRTT=0, lastResponseRTT=0, averageResponseRTT=0, battery_level=100, wake_up_interval=0, application_version=2.03, friendly_name=wallmote_1_services @ 2020-07-09T05:41:31.938823+02:00>, new_state=<state zwave.aeotec_unknown_type_0002_id_0082=initializing; node_id=5, node_name=Aeotec Unknown: type=0002, id=0082, manufacturer_name=Aeotec, product_name=Unknown: type=0002, id=0082, query_stage=CacheLoad, is_awake=False, is_ready=False, is_failed=False, is_info_received=True, max_baud_rate=40000, is_zwave_plus=True, capabilities={'zwave_plus', 'routing', 'beaming'}, sentCnt=1, sentFailed=1, retries=0, receivedCnt=154, receivedDups=0, receivedUnsolicited=154, sentTS=2020-07-09 03:41:33:232 , receivedTS=2020-07-09 04:05:34:367 , lastRequestRTT=0, averageRequestRTT=0, lastResponseRTT=0, averageResponseRTT=0, battery_level=100, wake_up_interval=0, application_version=2.03, friendly_name=wallmote_1_services @ 2020-07-09T05:41:31.938823+02:00>>

And I don’t see really it matching the automation.yaml with the log. It is everything, but the ordinary switch… What do you reckon is happening here?

(hass) hass@ubuntu:~/.homeassistant$ cat home-assistant.log | grep switch.aeotec_unknown_type_0002_id_0082_switch
2020-07-09 03:41:31 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=switch.aeotec_unknown_type_0002_id_0082_switch_5, old_state=None, new_state=<state switch.aeotec_unknown_type_0002_id_0082_switch_5=off; node_id=5, value_index=0, value_instance=1, value_id=72057594126614528, friendly_name=wallmote_1_switch_5 @ 2020-07-09T05:41:31.996072+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=group, service=set, service_data=object_id=all_switches, name=all switches, visible=False, entities=['switch.aeotec_unknown_type_0002_id_0082_switch_5']>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.all_switches, old_state=None, new_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5',), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=switch.aeotec_unknown_type_0002_id_0082_switch, old_state=None, new_state=<state switch.aeotec_unknown_type_0002_id_0082_switch=off; node_id=5, value_index=0, value_instance=2, value_id=144115188164542464, friendly_name=Aeotec Unknown: type=0002, id=0082 Switch @ 2020-07-09T05:41:32.025364+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=group, service=set, service_data=object_id=all_switches, name=all switches, visible=False, entities=['switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch']>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.all_switches, old_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5',), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>, new_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=switch.aeotec_unknown_type_0002_id_0082_switch_2, old_state=None, new_state=<state switch.aeotec_unknown_type_0002_id_0082_switch_2=off; node_id=5, value_index=0, value_instance=3, value_id=216172782202470400, friendly_name=wallmote_1_switch_2 @ 2020-07-09T05:41:32.052842+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=group, service=set, service_data=object_id=all_switches, name=all switches, visible=False, entities=['switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2']>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.all_switches, old_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>, new_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=switch.aeotec_unknown_type_0002_id_0082_switch_3, old_state=None, new_state=<state switch.aeotec_unknown_type_0002_id_0082_switch_3=off; node_id=5, value_index=0, value_instance=4, value_id=288230376240398336, friendly_name=wallmote_1_switch_3 @ 2020-07-09T05:41:32.085984+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=group, service=set, service_data=object_id=all_switches, name=all switches, visible=False, entities=['switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2', 'switch.aeotec_unknown_type_0002_id_0082_switch_3']>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.all_switches, old_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>, new_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2', 'switch.aeotec_unknown_type_0002_id_0082_switch_3'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=switch.aeotec_unknown_type_0002_id_0082_switch_4, old_state=None, new_state=<state switch.aeotec_unknown_type_0002_id_0082_switch_4=off; node_id=5, value_index=0, value_instance=5, value_id=360287970278326272, friendly_name=wallmote_1_switch_4 @ 2020-07-09T05:41:32.147848+02:00>>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=group, service=set, service_data=object_id=all_switches, name=all switches, visible=False, entities=['switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2', 'switch.aeotec_unknown_type_0002_id_0082_switch_3', 'switch.aeotec_unknown_type_0002_id_0082_switch_4']>
2020-07-09 03:41:32 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=group.all_switches, old_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2', 'switch.aeotec_unknown_type_0002_id_0082_switch_3'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>, new_state=<state group.all_switches=off; entity_id=('switch.aeotec_unknown_type_0002_id_0082_switch_5', 'switch.aeotec_unknown_type_0002_id_0082_switch', 'switch.aeotec_unknown_type_0002_id_0082_switch_2', 'switch.aeotec_unknown_type_0002_id_0082_switch_3', 'switch.aeotec_unknown_type_0002_id_0082_switch_4'), order=2, auto=True, friendly_name=all switches, hidden=True @ 2020-07-09T05:41:32.007825+02:00>>
(hass) hass@ubuntu:~/.homeassistant$ cat home-assistant.log | grep 2ae465ea727744f694c95a4eac926150
(hass) hass@ubuntu:~/.homeassistant$ cat automations.yaml
- id: '1594151162172'
  alias: New Automation
  description: ''
  trigger:
  - device_id: 2ae465ea727744f694c95a4eac926150
    domain: switch
    entity_id: switch.aeotec_unknown_type_0002_id_0082_switch
    platform: device
    type: turned_on
  condition: []
  action:
  - device_id: ca2efa9350004724ad9287ac19de8a98
    domain: light
    entity_id: light.zipato_unknown_type_0002_id_0003_level
    type: turn_on
- id: '1594266945516'
  alias: Turn off the light
  description: ''
  trigger:
  - device_id: 2ae465ea727744f694c95a4eac926150
    domain: switch
    entity_id: switch.aeotec_unknown_type_0002_id_0082_switch
    platform: device
    type: turned_off
  condition: []
  action:
  - device_id: ca2efa9350004724ad9287ac19de8a98
    domain: light
    entity_id: light.zipato_unknown_type_0002_id_0003_level
    type: turn_off

This will toggle your light when you push button 1. You can find the mappings for each button, and subsequent action (tap, hold and release) at the same link I provided above.

Automation:

- id: '1530442018643'
  alias: Wallmote Button 1 tap
  trigger:
  - event_data:
      entity_id: zwave.aeotec_unknown_type_0002_id_0082
      scene_data: 0
      scene_id: 1
    event_type: zwave.scene_activated
    platform: event
  action:
  - data:
      entity_id:  light.zipato_unknown_type_0002_id_0003_level
    service: light.toggle

I think I understand what you are doing here. You are listening on the event bus and its data rather than on the device itself. It is not transparent if you are creating the automation from the GUI, but it is a concept I appreciate very much :wink: Again, sorry for the dummy questions.

I tried the automation and it works really well. Thank you for helping!

Regards Matvey

Check this out - looks like you have to enable it in the OZW config and then it will start giving you additional parameters 9 and 10

For me is not woarking, I changed the values in the zwcfg_0xe4314a1f.xml filewith the inrmation in this page, but automatically when restart the RPI 4 the values are the old one,
When I test in the log show the folling values:

2020-08-26 21:11:06.803 Detail, Node007, Received: 0x01, 0x0d, 0x00, 0x04, 0x00, 0x07, 0x05, 0x5b, 0x03, 0x10, 0x00, 0x01, 0xbb, 0x00, 0x06
2020-08-26 21:11:06.803 Detail,
2020-08-26 21:11:06.803 Info, Node007, Received Central Scene set from node 7: scene id=1 in 0 seconds. Sending event notification.
2020-08-26 21:11:06.803 Warning, Node007, No ValueID created for Scene 1
2020-08-26 21:14:39.186 Detail, Node007, Received: 0x01, 0x0d, 0x00, 0x04, 0x00, 0x07, 0x05, 0x5b, 0x03, 0x11, 0x00, 0x02, 0xb9, 0x00, 0x06
2020-08-26 21:14:39.186 Detail,
2020-08-26 21:14:39.186 Info, Node007, Received Central Scene set from node 7: scene id=2 in 0 seconds. Sending event notification.
2020-08-26 21:14:39.186 Warning, Node007, No ValueID created for Scene 2

My zwcfg_0xe4314a1f.xml file by defaults have the followin configuration:

<CommandClass id="91" name="COMMAND_CLASS_CENTRAL_SCENE" version="1" request_flags="5" innif="true" scenecount="0">
	<Instance index="1" />
	<Instance index="2" endpoint="1" />
	<Instance index="3" endpoint="2" />
	<Instance index="4" endpoint="3" />
	<Instance index="5" endpoint="4" />
		<Value type="int" genre="system" instance="1" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
		<Value type="int" genre="system" instance="2" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
		<Value type="int" genre="system" instance="3" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
		<Value type="int" genre="system" instance="4" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
		<Value type="int" genre="system" instance="5" index="0" label="Scene Count" units="" read_only="true" write_only="false" verify_changes="false" poll_intensity="0" min="-2147483648" max="2147483647" value="0" />
</CommandClass>

If I change the section above for the corrected one accoding with your instructions, when the systems restarts automatically change the section for the original one.

Thanks in advance,

Hi Kev,

Sorry but I’m a newbie in domotic and home assistant.
I bought a wallmote quad last week.
My goal is to pilot Tuya’s switch (integration already installed in my HA) with wallmote (I don’t want to pilot switch by swich but scenes already configured by Tuya application)
I prefer configure it through node red with mqtt but I don’t know how and what I have to configure in home assistant…
I saw and think you’re an expert in domotic.
So could you help me to configure it ?
Thanks to keep me informed.
Regards
Nikos

Anybody figured out how to turn off the sound and vibration function?

I’ve done it through Home Assistant Z-wave panel but it doesnt seem to stick, see screenshot.

Screenshot (1)

Yes via the admin panel of the qt openzwave addon I have disabled it.

Is there a certain process to getting this to stick?
Mine has Enabled by default, slightly greyed out.
I do the following:

  • Change to Disable
  • Set Configuration Parameter
  • Save Configuration
  • Restart Home Assistant

Doesnt seem to stick though.
The node comes up as Node:2 CacheLoad) whereas the Z-Wave adaptor says Node:1 Complete)

Sounds like you are running the wallmote with batteries? You need to wake it up.

  1. Change to Disable
  2. Set Configuration Parameter
  3. Wake Up Wallmote, manual says “Press and hold Action Button for 3 seconds and then release”
  4. Watch OZW_Log.txt to see if parameter was set, or test it
  5. Possibly “Press and hold Action Button for 3 seconds and then release” to disable wake up mode, or wait 10 minutes. It sounds like the action keeps it awake for 10 mins.
  6. Done
3 Likes

That seems to have done the trick, needed the hold action button piece for it to work.
Doesn’t appear to be keeping the device awake for 10 minutes though as according to the logs it is going straight back to sleep.
Any ideas how to increase the time?

You’d have to check the manual to see if it’s configurable. Usually you don’t want to keep it awake anyways. OpenZWave will also tell it to go back to sleep if there’s nothing to do.

1 Like

Not sure: but I think it stays awake with the usb charging cable attached.

1 Like

Hi Philip, thanks for the codes. I am now trying out your code to integrate with my script in HA for the swipe action. To do this I have already switched to OpenZwave.

Since I want to use your python script to manage non-zwave lights I need to change the last line to call my script instead. Unfortunately I can’t find any good documentation as how to call the script service from python. I now got the following:

hass.services.call('script', 'dimmer',  {
      'light_id': light_id,
      'swipe_action': swipe_action,
    }, False)

But too bad it doesn’t work. Syntax is correct because HA doesn’t complain about it. In the log I see:

2021-01-15 12:27:35 INFO (SyncWorker_6) [homeassistant.components.python_script] Executing wallmote_handler.py: {'node_id': 4, 'event': 'valueChanged', 'value': 33655783, 'index': 9}
2021-01-15 12:27:36 INFO (MainThread) [homeassistant.components.automation.wallmote_swipe_handling] Wallmote Swipe Handling: Running automation actions
2021-01-15 12:27:36 INFO (MainThread) [homeassistant.components.automation.wallmote_swipe_handling] Wallmote Swipe Handling: Executing step call service
2021-01-15 12:27:36 INFO (SyncWorker_18) [homeassistant.components.python_script] Executing wallmote_handler.py: {'node_id': 4, 'event': 'valueChanged', 'value': 33671400, 'index': 10}

I can see that the python script is being executed but the script never gets called. Do you know how to call the script service (script.dimmer) from within python along with variables? Thank you!

Hi Philip,

I just discovered a bug in your script:
index == '10'

index is actually not a string but integer. Just wanna point this out since I used your code for my solution. Thank you for sharing!

There seems to be a bug in his script:

index is not a string but an integer. So change it to:

if (index == 10) and event == 'valueChanged:

and you will be good to go.

And the slide function doesn’t generate any events in OZW as far as I know that’s why he is using a trigger to monitor the specific MQTT topic. His python script then fires off a Zwave event to control another Zwave device. You should adapt the last call routine to suit your needs:

to whatever you want to control. I used it to dim my Lifx bulbs for example.