Noob question about Z-Wave Aeotec Wallmote Quad

Hi, I’m wondering if someone can help me understand how to link an Aeotec Wallmote Quad to a DHS Z-Wave Micro Dimmer. I have the Dimmer working fine through the Android OpenHab app but can’t figure out how to control the dimmer with the Wallmote.

Can anyone comment on my configuration please? I admit I’m a bit confused about how it all hangs together. Thanks!

Items file:

Dimmer StudyLightsDimmer "Dimmer [%s %%]"

Sitemap File:

sitemap default label="Home2"
{
Frame label="Study Downlights" {
	Switch item=StudyLightsDimmer
	Slider item=StudyLightsDimmer
	}
}


One way would be to “connect” them via openHAB rules. (another way would be with Group Associations…I don’t recommend this one)

First of all your will need items that link to the channels of the ZW130
Example (manually configured item):

Number  WM01_Scene		"WallMote 01 Scene: [%s]"		<contact>	(gZWave)	{channel="zwave:device:cc1a5950:node4:scene_number"}

Maybe… you need one item per Scene Number (per button)… not sure

Number  WM01_Scene1		"WallMote 01 Scene 1: [%s]"		<contact>	(gZWave)	{channel="zwave:device:cc1a5950:node4:scene_number1"}

Then, you would need a rule to act upon scene numbers received from the WallMote:

rule	"WallMote 01 Control"
when
	Item WM01_Scene received update
then
	if (WM01_Scene.state == 1.0) {
		logInfo("WM01", "WM01 got scene # 1.0")
		StudyLightsDimmer.sendCommand(0)
	}
	if (FibBut01_Scene.state == 1.1) {
		logInfo("WM01", "WM01 got scene # 1.1")
		StudyLightsDimmer.sendCommand(100)
	}

// (etc)

end

I am not sure how the WallMote works and what scene numbers is transmits… You will have to check up on that.

https://aeotec.freshdesk.com/support/solutions/articles/6000166184-wallmote-quad-technical-specifications-
https://aeotec.freshdesk.com/support/solutions/articles/6000162392-wallmote-quad-user-guide-#edit

1 Like

Thanks Angelos for the speedy reply.

I got it partly working with your rules. I can program any of the 4 buttons to turn on and off the dimmer.

I seem to have a rogue node from all my hacking away. When I press either of the buttons that successfully turn the light on or off I also get this in the logs. I did have a node3 but I removed it (or thought I did) in PaperUI

Cannot delegate update '0' for item 'StudyLightsDimmer' to handler for channel 'zwave:device:cc1a5950:node3:switch_dimmer', because no thing with the UID 'zwave:device:cc1a5950:node3' could be found.

Also when I add this rule based on what you provided above…

rule	"WallMote01Control"
	when
		Item WM01_Scene received update
	then
		if (WM01_Scene.state == 1.0) {
			StudyLightsDimmer.sendCommand(100)
		}
		if (WM01_Scene.state == 2.0) {
			StudyLightsDimmer.sendCommand(0)
		}
end

In the logs I see this error but I cannot see any problem with the rule.

Configuration model 'default.rules' is either empty or cannot be parsed correctly!

The error is saying that the StudyLightsDimmer item is linked to a channel (of a thing) that doesn’t exist anymore.

It seems that you are using the same item name for linking to the channel of the new node #. At the same time, the old config for the item is kept within openHAB. Most likely, you have 2 items named StudyLightsDimmer in your system with 2 different configs. (I may be wrong… check with the console)

Are you configuring your items manually or using PaperUI with simple mode on? (PaperUI->Configuration->System->Item Linking)

I read somewhere that with OH2.1, deleting a thing from PaperUI does not remove the auto-created items and/or links. The correct way to remove a thing completely would be: break (delete) the link to the channel, delete the item, then delete the thing.

You can also check the item, link and thing from the openHAB console (ssh openhab@localhost -p 8101 with pass habopen):

items list |grep -i dimmer
links list |grep -i dimmer
things list |grep -i node3

I also can’t identify a problem with your rule… the syntax looks ok…
maybe try to re-create the default.rules file from scratch and put again the content in it…

Is the rules file in the correct dir? (/etc/openhab2/rules/default.rules)

Thanks again Angelos. I renamed my StudyLightsDimmer item in the items file, rules file and the sitemap and this got rid of the error so I think you are right that the old item name was attached to a node that I had deleted. This also fixed the default.rules parsing error.

Thanks for the help

1 Like

I know this is an old thread, but did you get the battery binding to report the battery level? I have taps working just fine, but the battery level never updates. I have an item bound to the WallMote’s battery-level binding and rule to catch updates, but it never fires.

You guys are a few steps ahead of me. I have Wallmote showing up in paper UI.
Pressing the buttons causes the Scene Number to change in the following way:
Press button 1 - result = 1.0
Press button 1 - no result (because there is no change to the scene)
Long Press and hold button 1 - result = 1.2 followed by 1.1
Press button 2 - result = 2.0
Long Press button 1 - result = 1.2 followed by 1.1

Turning on DEBUG, I can see that the messages being sent are CENTRAL_SCENE commands with values of [Single Press] [Key Held Down] and [Key Released]

At no time are the attributes Scene Number 1 or Scene Number 2 changed or triggered.

My goal was to write a rule in paperUI to detect a button 1 press to trigger a turn on command and a button 1 long press to trigger a turn off command for the same device. I have achieved this using ‘when an item state is updated’ referencing the Scene Number 1 for a button 1 turn on event and another rule referencing Scene Number 1.1 for a turn off event.

What is the purpose of the Scene Number 1 attributes?

I tried to change the config using habmin for the notification report to be central scene and config, but got an unsupported 38 command:1 message in the log, not sure what that relates to.

10:48:07.203 [DEBUG] [l.serialmessage.SendDataMessageClass] - NODE 14: SendData Request. CallBack ID = 224, Status = Transmission complete and ACK received(0)
10:48:07.223 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler] - NODE 14: Sending REQUEST Message = 01 0A 00 13 0E 03 59 01 04 25 E1 73 
10:48:07.255 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 14: Application Command Request (ALIVE:STATIC_VALUES)
10:48:07.257 [DEBUG] [ssage.ApplicationCommandMessageClass] - NODE 14: Incoming command class ASSOCIATION_GROUP_INFO
10:48:07.266 [DEBUG] [WaveAssociationGroupInfoCommandClass] - NODE 14: Received ASSOCIATION_GROUP_INFO command V1
10:48:07.268 [DEBUG] [WaveAssociationGroupInfoCommandClass] - NODE 14: Supported Command classes and commands for group:3 ->
10:48:07.269 [DEBUG] [WaveAssociationGroupInfoCommandClass] - NODE 14:   unsupported 38 command:1
10:48:12.234 [DEBUG] [ocol.ZWaveController$ZWaveSendThread] - NODE 14: Sending ABORT Message = 01 03 00 16 EA 
10:48:12.245 [DEBUG] [ocol.ZWaveController$ZWaveSendThread] - NODE 14: Timeout while sending message. Requeueing - 2 attempts left!
10:48:12.248 [DEBUG] [commandclass.ZWaveWakeUpCommandClass] - NODE 14: Is sleeping

I found the same, no scene# messages being sent only messages from scene. I believe to get messages from the scene#'s, one must use group associations, but I’m not sure. I have rules setup using 1.0 (tap) to toggle a light. 1.2 (tap and hold) to cycle the light through dim states in 20% increments and I use 3.0 (tap) to increase the dim 10%. I do the same for button 2 and 4 for a dimmer plug. Incidentally, I did get the unit to send a battery update, by holding down the action button long enough to trigger a health update.

Here’s an example of my 1.0 rule:

when
        Item scene received update
then
        val sceneval = scene.state

        if(sceneval == 1.0){
                val lrlightstate = LRWindowLight_Switch.state

                if(lrlightstate == ON){
                        LRWindowLight_Switch.sendCommand(OFF)
                        LRWindowLight_Switch.postUpdate(OFF)
                }
                else{
                        val lrlightlevel = LRWindowLight_Brightness.state as DecimalType

                        if(lrlightlevel <= 10){
                                LRWindowLight_Brightness.sendCommand(20)
                        }
                        else{
                                LRWindowLight_Switch.sendCommand(ON)
                        }

                        LRWindowLight_Switch.postUpdate(ON)
                }
        }```

My 1.2 (tap and hold) rule
``` else if(sceneval == 1.2){
                 val lrlightlevel = LRWindowLight_Brightness.state as DecimalType

                if(lrlightlevel >= 100){
                        LRWindowLight_Brightness.sendCommand(20)
                }
                else{
                        if(lrlightlevel > 80)
                                LRWindowLight_Brightness.sendCommand(100)
                        else
                                LRWindowLight_Brightness.sendCommand(lrlightlevel + 20)

                        if( LRWindowLight_Switch.state == OFF){
                                LRWindowLight_Switch.sendCommand(ON)
                                LRWindowLight_Switch.postUpdate(ON)
                        }
                }


        }

This one just increases the bulb’s level in 20% increments until it reaches 100% and then back down to 20%.
Hope this helps.

2 Likes

@lazloman thanks for your post. Have you been able to get it to update? I’m trying to turn off the buzzer etc but it fails to make changes. I was also going to try making an association.
This is despite turning it into wakeup mode.

Yes, I have been able to send updates through Habmin. As long as the device is in wakeup mode, you should be able to send configuration updates. Habmin works better than PaperUI for the WallMote, it seems. I get errors using PaperUI when trying to update it, although config changes show up in PaperUI once changed in Habmin.