iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png",
iconX3Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png")
+preferences {
+ page(name: "selectSwitches")
+}
+
+def selectSwitches() {
+ dynamicPage(name: "selectSwitches", title: "Switches", install: true) {
+ section("Select switches named after Hello Home phrases") {
+ input "switches", "capability.switch", title: "Switches", multiple: true
+ }
+ section("Change to this mode") {
+ input "newMode", "mode", title: "Mode?"
+ }
+ }
+}
def installed() {
initialize()
def switchHandler(evt) {
def s = switches.find{ evt.deviceId == it.id }
- def phrase = location.helloHome.getPhrases().find { it.label == s.displayName }
+ //def phrase = location.helloHome.getPhrases().find { it.label == s.displayName }
if (phrase) {
location.helloHome.execute(phrase.label)
}
- def mode = location.modes.find { it.name == s.displayName }
- if (mode) {
- setLocationMode(mode)
+ // This looks like a bug because device's displayName has nothing to do with modes
+ //def mode = location.modes.find { it.name == s.displayName }
+ if (newMode) {
+ setLocationMode(newMode)
}
}
-
-preferences {
- page(name: selectSwitches)
-}
-
-def selectSwitches() {
- dynamicPage(name: "selectSwitches", title: "Switches", install: true) {
- section("Select switches named after Hello Home phrases") {
- input "switches", "capability.switch", title: "Switches", multiple: true
- }
- }
-}