New ST user and programmer here. I’m trying to modify one of the custom device types I’ve found on the forums for the GE Fan controller. What I would like is three tiles under the primary control to say LOW, MED, HIGH and to be highlighted to which one the controller is currently set to. Here is a sample of what I currently have tried but I appear to be missing something.
//Speed control row
standardTile("lowSpeed", "device.level", height: 2, width: 2, inactiveLabel: false, decoration: "flat") {
state "lowSpeed", label:'LOW', action:"lowSpeed", icon:"st.Home.home30"
state "off", label:'LOW', icon:"st.Home.home30", backgroundColor:"#79b821"
}
standardTile("medSpeed", "device.level", height: 2, width: 2, inactiveLabel: false, decoration: "flat") {
state "medSpeed", label:'MED', action:"medSpeed", icon:"st.Home.home30"
}
standardTile("highSpeed", "device.level", height: 2, width: 2, inactiveLabel: false, decoration: "flat") {
state "highSpeed", label:'HIGH', action:"highSpeed", icon:"st.Home.home30", backgroundColor:"#79b821"
state "off", label:'HIGH', icon:"st.Home.home30", backgroundColor:"#ffffff"
}
def lowSpeed() {
log.debug "Low speed settings"
sendEvent(name:"highSpeed", value:"off")
delayBetween ([zwave.basicV1.basicSet(value: 30).format(), zwave.switchMultilevelV1.switchMultilevelGet().format()], 5000)
}
def medSpeed() {
log.debug "Medium speed settings"
delayBetween ([zwave.basicV1.basicSet(value: 62).format(), zwave.switchMultilevelV1.switchMultilevelGet().format()], 5000)
}
def highSpeed() {
log.debug "High speed settings"
sendEvent(name:"lowSpeed", value:off)
delayBetween ([zwave.basicV1.basicSet(value: 99).format(), zwave.switchMultilevelV1.switchMultilevelGet().format()], 5000)
}