User Tools

Site Tools


Sidebar

supported_modules:hs-wd100

Home Seer HS-WD100+ Dimmer

The new Home Seer switches are excellent dimmers and supported in XTension for their central scene capability. The following article also applies to their new HS-WD200+ dimmer as well as the HS-WS100+ non-dimmable relay switch. For more info on using the other capabilities of the HS-WD200+ dimmer click here

In order to use the Central Scene capability of these switches in XTension requires that you are using the new Vera UI7 interface and not the legacy UI5 interface.

Local control and Central Scene Support

These dimmers support Central Scene changes which means that they will update their value in XTension almost immediately upon a local change. Unlike other older 2-way switch communication systems you should not try to trigger other actions from the On script when the value changes. The value can chance several times as the switch is dimming itself to the new level so your On script would run multiple times. The correct way is to create an On script and add an on central scene handler to it as described in the above article.

This will be called almost immediately when the switch is tapped. Two values are sent to you in the handler, the button number and the gesture number. This lets you tell which paddle on the switch was tapped, up or down, and how it was tapped, single tap, double tap, tap and hold etc…

For the Home Seer switches the button index is always 1 for the up paddle and 2 for the down paddle. The following gestures are currently supported by the Vera:

GestureCode
Single Click1
Double Click3
Triple Click4
Hold2
Release of Hold1

The HS-WD200+ supports all those as well as a quadruple and pentuple click.

When single tapping the default switch behavior is to control the local load as well as send the central scene information.

When performing a double or triple click the local load is not controlled, just the command is sent. So it is easy to create scripts that do things that do not affect the local load. Or if you wish to also control the local load from a double click command then just command the unit from the script as you would any other.

Though I believe the switch itself supports tap and hold gestures the Vera does not make any distinction between tap and hold and just hold. When you do either the switch will send which paddle you are holding along with the gesture code of 130. Then the paddle is released it will send the button code again with a gesture code of 129.

While you can’t tell the different between a hold and a local dim control in XTension, by doing a tap and hold on the switch it will send the same command to us, but will not control the local load. So it may be possible to use that to control other things if you don’t wish those same other things happening when you locally change the dim value at the switch.

Something like this example might be used to control all the rooms lighting with a double click while still being able to control the dimmer locally without affecting the whole room if you wish.

on centralScene( theButton, theGesture)

  if theButton is equal to 1 then
    write log “the top paddle was pushed"
    
    if theGesture is equal to 131 then
      -- the switch was double clicked on
      write log “double click ON, turning on room lights"
      -- since the switch doesn’t control it’s local load when doing a double click the first thing we should do is control it
      turnon (thisUnit)
      brighten “other room light” to 75
      turnon “yet another light in the room"
    end if
    
  else if theButton is equal to 2 then
    write log “the bottom paddle was pushed"
    
    if theGesture is equal to 131 then
      write log “double click OFF. turning off the room lights"
      turnoff (thisUnit)
      turnoff other room light"
      turnoff “yet another light in the room"
    end if
    
    
  end if

Set Data

via the Set Data verb it is possible to set various parameters in the switch. Note that the parameters of the WD100 are different than the WD200. This is a grid of the most useful parameters that can be set for the WD100+ note that this might change in future firmware versions or hardware revisions so you should verify against the latest version of the user manual that comes with your specific unit before issuing the command. It is entirely possible to brick a dimmer if you issue the wrong commands to the wrong addresses. It’s nice to note however that the WD100 an WD200 share the same parameter number for orientation, and then the WD200 parameters start at 11 so if you confuse the 2 device types when setting data they happily ignore the out of range parameters and do not do anything damaging. if you confuse them with switches from other manufacturers then things could be unpredictable.

ParameterDescriptionvalueExampleDefault
4Sets paddle’s load orientation 0 = top of paddle turns load on or 1 if you need to invert it so that the bottom of the paddle turns the load on. tell xUnit “name of unit” to setData( 4, 1, 1) to invert the direction if the switch is upside down0
7Sets the remote control ramp rate step resolution. 1-99, 1 being the default and highest resolutiontell xUnit “name” to setData( 7, 1, 1)1
8Remote control Ramp step Speed1-255 maps between 1 and 10 ms between steps setData( 8, 1, 1) set to 1ms for a quick fade3
9Local control ramp rate step, the dim rate when controlled locally1-99, 1=slowest dimmingsetData( 9, 1, 99) set to 99 for faster fade 1
10Local control ramp rate step speed1-255 note this value is 2 bytes long! 1=10 milliseconds setData( 10, 2, 1) set to 1 for a faster local control3

These dimmers let you set the local ramp rate and the remote control ramp rate separately, but as is standard in ZWave you cannot include a ramp rate in individual commands. Each one is made of 2 different parameters. The step resolution which appears to be the number of steps it goes through to get to the preset level, and the speed at which it switches between the steps. For some LED lights it may make sense to set a faster ramp rate since they tend to not come on immediately. Some experimentation with the 2 values may be needed to find the ramp rate that you like best for a specific application.

Known Issues

As of XTension 9.4.6 the central scene events may be sent more than once. This is a known issue and as soon as I can figure out how to filter repeats of them I will do so. Until then your scripts may run more than once. This isn’t generally a problem as turning on or off a device that is already at the same level doesn’t cause any trouble except extra commands to the systems. If you wish you may be able to check the time delta of the unit and ignore a central scene event if it is less than say 2 seconds since it changed state. Or save off the current date in the central scene handler to a local script variable and compare that script variable with the current date when it’s called. If it’s less than 2 or 3 seconds since it last handled a central scene command then ignore it.

supported_modules/hs-wd100.txt · Last modified: 2018/09/07 13:10 by James Sentman