Aeotec Wallmote

For Z-Wave related questions in Domoticz
ben53252642
Posts: 485
Joined: Saturday 02 July 2016 5:17
Target OS: Linux
Domoticz version: Beta
Contact:

Re: Aeotec Wallmote

Post by ben53252642 » Thursday 26 April 2018 21:57

Depends on what your trying to do, for instance I have a single button on a Wallmote that:

If blind is open closes it
If blind is moving stop it
If blind is closed open it

So that's 3 functions from a single button using logic within Domoticz.

I could make a button that cycles through 10 different lighting modes changing each time I press it...

To be clear though I've not yet heard anyone get the switches dimming function working in Domoticz. I'm not interested in that feature so that will be for someone else to figure out if it's possible.

AdamMac
Posts: 5
Joined: Tuesday 16 January 2018 10:03
Target OS: Windows
Domoticz version:
Contact:

Re: Aeotec Wallmote

Post by AdamMac » Friday 27 April 2018 8:34

ben53252642 wrote:
Wednesday 25 April 2018 2:28
Here you go, it's a Lua device script (be sure to set it as type "device" in the Domoticz events page).

There are two devices:
Bed Lamp
Bed Lamp Wallmote Switch

It will only control the bed lamp if it hasn't been controlled in the last two seconds (I add this because the Wallmote can send on signals very fast and we don't want to turn it on and off in a two second period of pressing the button).

You should be able to figure it out within about 5 minutes... 8-)

Code: Select all

-- Device Last Updates
t1 = os.time()
    devices = {
        "Bed Lamp"
        }
    numdevices = 0 -- Count number of devices in the array
    for index in pairs(devices) do
        numdevices = numdevices + 1
    end
    for i = 1, numdevices do
    s = otherdevices_lastupdate[devices[i]]
    year = string.sub(s, 1, 4)
    month = string.sub(s, 6, 7)
    day = string.sub(s, 9, 10)
    hour = string.sub(s, 12, 13)
    minutes = string.sub(s, 15, 16)
    seconds = string.sub(s, 18, 19)
    t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
    str = (devices[i] .. "LastUpdate")
    str = str:gsub("%s+", "")
    str = string.gsub(str, "%s+", "")
    _G[str] = (os.difftime (t1, t2))
    end

commandArray = {}

if (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'Off' and BedLampLastUpdate > 2) then
commandArray['Bed Lamp'] = 'On'
elseif (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'On' and BedLampLastUpdate > 2) then
commandArray['Bed Lamp'] = 'Off'
end

return commandArray

Thanks! got it working with a single device but not a scene as the scene is not an actual device. I haven't had much time to try adding more than one device but i also adjust dimming/levels with my different scenes.
Can you make the script look at a scene or group? would make life much easier than writing in script for each device.

ben53252642
Posts: 485
Joined: Saturday 02 July 2016 5:17
Target OS: Linux
Domoticz version: Beta
Contact:

Re: Aeotec Wallmote

Post by ben53252642 » Friday 27 April 2018 8:59

That's easy, just change the commandArray from controlling a device to the scene you want.

commandArray['Scene:MyScene']='On'

Also you can put multiple scenes into the same script eg:

Code: Select all

-- Device Last Updates
t1 = os.time()
    devices = {
"Bed Lamp Wallmote Switch",
"Bed Lamp Wallmote Switch",
"Bed Lamp Wallmote Switch"
        }
    numdevices = 0 -- Count number of devices in the array
    for index in pairs(devices) do
        numdevices = numdevices + 1
    end
    for i = 1, numdevices do
    s = otherdevices_lastupdate[devices[i]]
    year = string.sub(s, 1, 4)
    month = string.sub(s, 6, 7)
    day = string.sub(s, 9, 10)
    hour = string.sub(s, 12, 13)
    minutes = string.sub(s, 15, 16)
    seconds = string.sub(s, 18, 19)
    t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
    str = (devices[i] .. "LastUpdate")
    str = str:gsub("%s+", "")
    str = string.gsub(str, "%s+", "")
    _G[str] = (os.difftime (t1, t2))
    end

commandArray = {}

if (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'Off' and BedLampWallmoteSwitchLastUpdate > 2) then
commandArray['Bed Lamp'] = 'On'
elseif (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'On' and BedLampWallmoteSwitchLastUpdate > 2) then
commandArray['Bed Lamp'] = 'Off'
end

if (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'Off' and BedLampWallmoteSwitchLastUpdate > 2) then
commandArray['Bed Lamp'] = 'On'
elseif (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'On' and BedLampWallmoteSwitchLastUpdate > 2) then
commandArray['Bed Lamp'] = 'Off'
end

if (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'Off' and BedLampWallmoteSwitchLastUpdate > 2) then
commandArray['Bed Lamp'] = 'On'
elseif (devicechanged["Bed Lamp Wallmote Switch"] == 'On' and otherdevices["Bed Lamp"] == 'On' and BedLampWallmoteSwitchLastUpdate > 2) then
commandArray['Bed Lamp'] = 'Off'
end

return commandArray
Note that under the device last updates the last device should not have a comma next to it.

I only have one Lua script to control all my Wallmote devices.
Last edited by ben53252642 on Saturday 28 April 2018 11:02, edited 1 time in total.

ben53252642
Posts: 485
Joined: Saturday 02 July 2016 5:17
Target OS: Linux
Domoticz version: Beta
Contact:

Re: Aeotec Wallmote

Post by ben53252642 » Friday 27 April 2018 9:06

Check that script again, I made one change to use the switch itself for the 2 second rule.

AdamMac
Posts: 5
Joined: Tuesday 16 January 2018 10:03
Target OS: Windows
Domoticz version:
Contact:

Re: Aeotec Wallmote

Post by AdamMac » Saturday 28 April 2018 3:48

Thanks again Ben, but having trouble with the scene command. I have these setup as a "group" so changed "scene" to "group". I have tried it as a scene also.

see below if you could point out whats going wrong. I think it is the HallwayLightsLastUpdate argument.

Code: Select all

---- Device Last Updates
t1 = os.time()
    devices = {
"Wallmote Entry 1",
"Wallmote Entry 1",
"Wallmote Entry 1",
        }
    numdevices = 0 -- Count number of devices in the array
    for index in pairs(devices) do
        numdevices = numdevices + 1
    end
    for i = 1, numdevices do
    s = otherdevices_lastupdate[devices[i]]
    year = string.sub(s, 1, 4)
    month = string.sub(s, 6, 7)
    day = string.sub(s, 9, 10)
    hour = string.sub(s, 12, 13)
    minutes = string.sub(s, 15, 16)
    seconds = string.sub(s, 18, 19)
    t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
    str = (devices[i] .. "LastUpdate")
    str = str:gsub("%s+", "")
    str = string.gsub(str, "%s+", "")
    _G[str] = (os.difftime (t1, t2))
    end

commandArray = {}

if (devicechanged["Wallmote Entry 1"] == 'On' and otherdevices["Group:Hallway Lights"] == 'Off' and HallwayLightsLastUpdate > 2) then
commandArray['Group:Hallway Lights']='On'
elseif (devicechanged["Wallmote Entry 1"] == 'On' and otherdevices["Group:Hallway Lights"] == 'On' and HallwayLightsLastUpdate > 2) then
commandArray['Group:Hallway Lights']='Off'
end

return commandArray
Cheers

ben53252642
Posts: 485
Joined: Saturday 02 July 2016 5:17
Target OS: Linux
Domoticz version: Beta
Contact:

Re: Aeotec Wallmote

Post by ben53252642 » Saturday 28 April 2018 11:05

Code: Select all

---- Device Last Updates
t1 = os.time()
    devices = {
"Wallmote Entry 1"
        }
    numdevices = 0 -- Count number of devices in the array
    for index in pairs(devices) do
        numdevices = numdevices + 1
    end
    for i = 1, numdevices do
    s = otherdevices_lastupdate[devices[i]]
    year = string.sub(s, 1, 4)
    month = string.sub(s, 6, 7)
    day = string.sub(s, 9, 10)
    hour = string.sub(s, 12, 13)
    minutes = string.sub(s, 15, 16)
    seconds = string.sub(s, 18, 19)
    t2 = os.time{year=year, month=month, day=day, hour=hour, min=minutes, sec=seconds}
    str = (devices[i] .. "LastUpdate")
    str = str:gsub("%s+", "")
    str = string.gsub(str, "%s+", "")
    _G[str] = (os.difftime (t1, t2))
    end

commandArray = {}

if (devicechanged["Wallmote Entry 1"] == 'On' and otherdevices["Scene:Hallway Lights"] == 'Off' and WallmoteEntry1LastUpdate > 2) then
commandArray['Scene:Hallway Lights']='On'
elseif (devicechanged["Wallmote Entry 1"] == 'On' and otherdevices["Scene:Hallway Lights"] == 'On' and WallmoteEntry1LastUpdate > 2) then
commandArray['Scene:Hallway Lights']='Off'
end

return commandArray
Try this, personally I'd be checking it against one of the hallway devices rather than the scene being on or off.

If it doesn't work try changing the word scene to group.
ben53252642 wrote:
Friday 27 April 2018 8:59
Note that under the device last updates the last device should not have a comma next to it.

User avatar
EdddieN
Posts: 460
Joined: Wednesday 16 November 2016 12:31
Target OS: Raspberry Pi
Domoticz version: 4.9700
Location: Scotland
Contact:

Re: Aeotec Wallmote

Post by EdddieN » Sunday 27 May 2018 23:06

I recently got one of these too, but I get the same issues at the opening post. I add the device and it is recognised as a
Oomi Unknown: type=0002, id=0082+
with no options.

When I try to learn a new button or scene, it just times out. I'm running the latest beta version with 3.9501 with openzwave 1.4-3035-g77a05ed1-dirty

The only thing I notice is that instead of Aeon, it says Nauf now that I look a bit closer to it... that said identical to the Aeon one. Actually I think it is this one: https://www.youtube.com/watch?v=9D0bF1Klh1Q

Any ideas if I need to add a new class device for this to work?
Last edited by EdddieN on Sunday 27 May 2018 23:44, edited 1 time in total.
11101101 - www.machinon.com

User avatar
EdddieN
Posts: 460
Joined: Wednesday 16 November 2016 12:31
Target OS: Raspberry Pi
Domoticz version: 4.9700
Location: Scotland
Contact:

Re: Aeotec Wallmote

Post by EdddieN » Sunday 27 May 2018 23:41

Ok, just tried to be cheeky and added the Aeon <Product type="0002" id="0082" name="ZW130 WallMote Quad" config="aeotec/zw130.xml"/>
to the Oomi manufacture file's xml.

It loaded all the configuration files but still does not seem to work, get time outs.
Last edited by EdddieN on Monday 28 May 2018 0:35, edited 1 time in total.
11101101 - www.machinon.com

ben53252642
Posts: 485
Joined: Saturday 02 July 2016 5:17
Target OS: Linux
Domoticz version: Beta
Contact:

Re: Aeotec Wallmote

Post by ben53252642 » Sunday 27 May 2018 23:49

EdddieN, I'm slightly confused, are you saying there is a new Wallmote that is not manufactured by Aeotec?

ben53252642
Posts: 485
Joined: Saturday 02 July 2016 5:17
Target OS: Linux
Domoticz version: Beta
Contact:

Re: Aeotec Wallmote

Post by ben53252642 » Sunday 27 May 2018 23:55

I just watched the YouTube video, that unit you have has one immediately obvious physical difference to the Aeotec Wallmote.

Look at the front of the unit and see how the LED part looks like a big: +

The model you linked has a curved bit on one of the sides of the + which is not present on the Aeotec model.

User avatar
EdddieN
Posts: 460
Joined: Wednesday 16 November 2016 12:31
Target OS: Raspberry Pi
Domoticz version: 4.9700
Location: Scotland
Contact:

Re: Aeotec Wallmote

Post by EdddieN » Monday 28 May 2018 0:38

mmm... yes you are right! I was trying to re-use the Aeon xml files which on paper look very similar.
But I guess something else is different, although they look extremely similar in hardware and software apecs
11101101 - www.machinon.com

Post Reply

Who is online

Users browsing this forum: seansco and 2 guests