On/Off Shield Device Type code
metadata { | |
definition (name: "On/Off Shield", namespace: "smartthings", author: "SmartThings") { | |
capability "Actuator" | |
capability "Switch" | |
capability "Sensor" | |
} | |
// Simulator metadata | |
simulator { | |
status "on": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6E" | |
status "off": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6666" | |
// reply messages | |
reply "raw 0x0 { 00 00 0a 0a 6f 6e }": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6E" | |
reply "raw 0x0 { 00 00 0a 0a 6f 66 66 }": "catchall: 0104 0000 01 01 0040 00 0A21 00 00 0000 0A 00 0A6F6666" | |
} | |
// UI tile definitions | |
tiles { | |
standardTile("switch", "device.switch", width: 2, height: 2, canChangeIcon: true, canChangeBackground: true) { | |
state "on", label: '${name}', action: "switch.off", icon: "st.switches.switch.on", backgroundColor: "#79b821" | |
state "off", label: '${name}', action: "switch.on", icon: "st.switches.switch.off", backgroundColor: "#ffffff" | |
} | |
main "switch" | |
details "switch" | |
} | |
} | |
// Parse incoming device messages to generate events | |
def parse(String description) { | |
def value = zigbee.parse(description)?.text | |
def name = value in ["on","off"] ? "switch" : null | |
def result = createEvent(name: name, value: value) | |
log.debug "Parse returned ${result?.descriptionText}" | |
return result | |
} | |
// Commands sent to the device | |
def on() { | |
zigbee.smartShield(text: "on").format() | |
} | |
def off() { | |
zigbee.smartShield(text: "off").format() | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment