I think (strong emphasis on think… maybe just believe) that this is the difference between the device’s response to the BasicSet versus the SwitchBinarySet commands. I encoded my device type over here to differentiate between the two.
/** COMMAND_CLASS_BASIC (0x20)
* Short value 0xFF for on, 0x00 for off
*/
def zwaveEvent(physicalgraph.zwave.commands.basicv1.BasicSet cmd)
{
[name: "switch", value: cmd.value ? "on" : "off", type: "physical", displayed: true, isStateChange: true]
}
/** COMMAND_CLASS_SWITCH_BINARY (0x25)
* Short value 0xFF for on, 0x00 for off
*/
def zwaveEvent(physicalgraph.zwave.commands.switchbinaryv1.SwitchBinarySet cmd)
{
[name: "switch", value: cmd.value ? "on" : "off", type: "digital", displayed: true, isStateChange: true]
}