User Tools

Site Tools


supported_modules:hs-wd200

This is an old revision of the document!


Home Seer WD200+ Dimmer

The HS-WD200+ is Home Seer’s latest wall dimmer. In addition to all the commands and support of the WD100+ dimmer it adds 2 more central scene gestures. It can send us the 4 click and the 5 click gestures. See the article on the WD100 for more info on it’s central scene handling and how to work with that in XTension. The available Central Scene gesture codes on the WD200+ dimmers are

GestureCode
Single Click128
Double Click131
Triple Click132
Quadruple Click133
Pentuple Click134
Hold130
Release of Hold129

The button code of the UP paddle is always 1 and the down paddle 2 so the combination of those two data points will let you trap any gesture from either paddle and perform different actions based on them.

The single click always controls the local load, but the other multi-clicks do not control the local load but only send the centra scene event. If you wish to do a sort of “all off” with a double click down you will have to script the changing of the load as well.

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

Controlling the RGB LED’s

The other new feature of the WD200+ is the ability to change the color of the LED’s that display the level, or to control the color and the flashing of them individually to give a status display. XTension 9.4.6 adds support for changing all those settings via the new setData command

This is a low level command that sets parameter or variable data directly in the devices memory. If you get the parameter index wring or send bogus data it is entirely possible to brick the dimmer or cause other problems. If you send a command meant for one kind of device to one that doesn’t support that the results will be unpredictable at best. XTension so far does no validation of the data being sent.

Set Data

The format of the Set Data command is this:

tell xUnit “name of a unit” to setData( parameterIndex, byteCount, theData)

to change the default color of the LED’s in the WD200 to blue you’d issue a command to parameter 14 with a single byte of data indicating the color, something like:

tell xUnit “name of a WD200+ unit” to setData( 14, 1, 3)

valid values for the color data are:

  • 0 = White
  • 1 = Red
  • 2 = Green
  • 3 = Blue
  • 4 = magenta
  • 5 = yellow
  • 6 = cyan

The User Manual lists many parameters I’ll include the most useful ones in this table. All parameters are single bytes so the middle value in the SetData command for all these would be 1.

parameterDescriptionValueExample
4Switch Orientation0=normal, 1=upside down setData( 4, 1, 1) to turn it upside down
11Ramp rate for remote commands0-90 the number of seconds to reach the new light level when being controlled remotelysetData( 11, 1, 10) would set a 10 second ramp rate
12Ramp rate for local control0-90 the number of seconds to reach the new level when controlled from the switch manuallysetData( 12, 1, 0) would set an instant transition with no fade
13Led Display Mode, can be normal to display the local load level, or “status” mode where you can control each LED and color individually0=Local load level 1=Status ModesetData( 13, 1, 1) puts you into status display mode so you can control the LED’s
14Sets the Normal Mode LED display color as used to show the local load level0-6 to indicate color as already listed abovesetData( 14, 1, 3) sets the default color to blue
21Status Mode color of LED 1 (bottom)The color of this LED when in Status mode as set by parameter 13. Possible values are from 0 to 7. 0=Off, 1=red, 2=green, 3=blue, 4=magenta, 5=yellow, 6=cyan, 7=white
22 Status Mode Color of LED 2
23 Status Mode Color of LED 3
24 Status Mode Color of LED 4
25 Status Mode Color of LED 5
26 Status Mode Color of LED 6
27 Status Mode Color of LED 7
30 Flash Speed. Any of the LED’s can be assigned to flash or not flash. Only 1 flash speed is supported at a time via this parameter.0=No Blinking, 1=100ms rate (fast blink) valid values from 0-255 but useful values are probably up to 10 or so.setData( 30, 1, 1) sets a fast alert flash
31Bitmask to turn on or off blinking for each LED. You could use the text to number command to build the bits.valid values are from 0 to 127setValue( 31, 1, text to number “&b0010000”) would set only the 5th led to flashing. text to number “&b1111111” would set all LED’s to flashing. setData( 31, 1, 0) would stop all flashing.

Turning off all the lights

While there doesn’t seem to be a way to make the lights not show at all you can now do that with the status mode. Turnon the status mode instead of the level mode and just set every LED to off.

supported_modules/hs-wd200.1531231065.txt.gz · Last modified: 2023/02/13 14:51 (external edit)