Thanks for the code/tips. I expanded on what you did for those who want to set low/high temperature range... Adding to your code
attribute "TempRange", "enum", ["low", "high"]
command "setTempRange"
In def parsePanelData
sendEvent(name: "TempRange", value: "${heatingMode}")
Add new Function
void setTempRange() {
log.debug "In parent setTempRange..."
TempRange = device.currentValue("TempRange")
log.debug "Device current heating mode is ${TempRange}"
temp_range = TempRange == "low" ? "high" : "high"
sendEvent(name: "TempRange", value: temp_range)
log.debug "Setting hTemp Range to ${temp_range}"
sendCommand("Button", BUTTON_MAP.TempRange)
}