Version 9.4.6 of XTension adds support for any Central Scene capable Scene Controllers via the Vera UI7 interface. The Aeotech WallMote Quad and Dual devices are two examples of central scene capable controllers.
For a central scene compatible device it is not necessary to link it to a scene in the Vera to get the button pushes into XTension. When the device is paired with your Vera a new Scene Controller device type will be automatically created in XTension. Use the “on centralScene( theButton, theGesture)” handler in that units On script to discover which button was pushed via the “theButton” parameter and how it was pushed (tab, double tap, tap and hold, etc) via “theGesture” parameter.
The WallMote specifically does not require theGesture value to be checked as it actually sends a different button number for each supported gesture. There is a new option in XTension 9.4.6 to ignore the gesture for scene controllers that you can turn on for this remote. Find that checkbox in the Edit Unit dialog for the scene controller unit created for the wall mote. It takes an extra step of talking to the Vera to get the gesture information, by turning it off you can get the event faster under most circumstances. For other devices such as the home seer switches the gesture info is necessary to know how the paddle was pushed so leave it turned on in those situations.
The WallMote does not appear to send battery level information, but has a setting you can set in the Vera interface for when to show a low battery alert. In an XTension list or interface the battery icon will be greyed out as if the device did not support sending a battery level, but will turn red when it sends it’s low battery indication.
A command is sent for a single tap as you’d expect. The tap and hold is supported but functions somewhat differently. A different button value is sent and the command is repeated every second or so until you release the button and then another command is sent to another button number that signifies that you’ve released the button. The repeating of this button is useful as it could be used to control the brightness of a dimmer or other device. Some devices implement the idea of begin dimming and end dimming and for one of those the release of the button command might be useful.
The Vera does not appear to support the swipe up and down motions that the WallMotes can send so those will not currently trigger an event in XTension. If the Vera adds support for them in the future they should be sent to the centralScene handler just like any other button press but with yet another unique button code, or possibly gesture code. If that happens I will update this info.
If you have a Dual model then you will only receive the codes for buttons 1 and 2, but everything else is processed the same.
The simplest example might be just to toggle different lights or groups when tapping one of the 4 buttons. Add something like this in the scene controllers ON script. This example uses the 4th button as an “all off” command for all the units that the WallMote is being used to control.
on centralScene( theButton, theGesture) -- Button 1 is tapped if theButton is equal to 1 then toggle “name of a unit" -- Button 2 is tapped else if theButton is equal to 4 then toggle “name of a different unit" -- Button 3 is tapped else if theButton is equal to 7 then toggle “name of a third unit" -- Button 4 is tapped, we are going to treat this as the all off button else if theButton is equal to 10 then turn off “name of a unit" turn off “name of a different unit" turn off “name of a third unit" end if
Adding to that one could also trap the hold events to change the dim level of 2 loads. In this example the same code from above gets support for the 1st and 3rd buttons to control the level of one load, and the 2nd and 4th to control the level of another. Each repeat of the button while you hold it will adjust the level of the loads by 10%
on centralScene( theButton, theGesture) -- button 1 is held if theButton is equal to 2 then brighten “name of a unit” by 10 -- button 3 is held if theButton is equal to 8 then dim “name of a unit” by -10 -- button 2 is held if theButton is equal to 5 then brighten “name of a different unit” by 10 -- button 4 is held if theButton is equal to 11 then dim “name of a different unit” by -10 -- the rest of this example is identical to the first example script -- Button 1 is tapped else if theButton is equal to 1 then toggle “name of a unit" -- Button 2 is tapped else if theButton is equal to 4 then toggle “name of a different unit" -- Button 3 is tapped else if theButton is equal to 7 then toggle “name of a third unit" -- Button 4 is tapped, we are going to treat this as the all off button else if theButton is equal to 10 then turn off “name of a unit" turn off “name of a different unit" turn off “name of a third unit" end if
The WallMote supports both a beep when the button is pushed as well as “Haptic Feedback” or a slight buzz when it recognizes your touch. I personally disliked the beep but kept the haptic feedback turned on. These settings are available on the Vera via the device settings page and also via the setData command from inside XTension. The parameters for controlling the beep and haptic feedback are documented in my manual and I’ve duplicated the table below. You should verify these codes for your specific model of device before sending them to it as sending improper parameters to the device could brick it. There are also instructions in the manual for setting these by holding the include (or action button as they call it on the back) for very long times, different for the 2 values.
Since this is a battery operated device you’ll need to wake it up in order to have it receive the new setting. If you don’t wake it up then the Vera will update the device the next time it automatically wakes up and pings the controller.
When the wall mote wakes up it will flash it’s LED yellow for a few seconds while it pings the controller every few hours.
|feature||Parameter||Byte Length||Allowed Values for Data|
|Touch Beep||1||1 (1 byte)||0:Disable, 1:Enable|
|Touch Vibration||2||1 (1 byte)||0:Disable, 1:Enable|
You can force your WallMote to WakeUp for a time to accept new settings by holding the include button on the back of the device (under the magnetic mounting plate) for 3 seconds until it beeps and the LED flashes quickly orange. The device will stay awake for up to 10 minutes or until you press the include button again.
To turn off touch beep from XTension wake up the device and issue the script command:
tell xUnit “name of WallMote Scene Controller unit” to setData( 1, 1, 0)
to turn off touch vibration wake up the device and run:
tell xUnit “name of WallMote Scene Controller unit” to setData( 2, 1, 0)