/** * Copyright 2015 SmartThings * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License * for the specific language governing permissions and limitations under the License. * * Turn It On When I'm Here * * Author: SmartThings */ definition( name: "Turn It On When I'm Here", namespace: "smartthings", author: "SmartThings", description: "Turn something on when you arrive and back off when you leave.", category: "Convenience", iconUrl: "https://s3.amazonaws.com/smartapp-icons/Meta/light_presence-outlet.png", iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Meta/light_presence-outlet@2x.png" ) preferences { section("When I arrive and leave..."){ input "presence1", "capability.presenceSensor", title: "Who?", multiple: true } section("Turn on/off a light..."){ input "switch1", "capability.switch", multiple: true } } def installed() { subscribe(presence1, "presence", presenceHandler) } def updated() { unsubscribe() subscribe(presence1, "presence", presenceHandler) } def presenceHandler(evt) { log.debug "presenceHandler $evt.name: $evt.value" def current = presence1.currentValue("presence") log.debug current def presenceValue = presence1.find{it.currentPresence == "present"} log.debug presenceValue if(presenceValue){ switch1.on() log.debug "Someone's home!" } else{ switch1.off() log.debug "Everyone's away." } }