Update single-button-controller.groovy
[smartapps.git] / official / garage-door-opener.groovy
1 /**
2  *  Copyright 2015 SmartThings
3  *
4  *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5  *  in compliance with the License. You may obtain a copy of the License at:
6  *
7  *      http://www.apache.org/licenses/LICENSE-2.0
8  *
9  *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
10  *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
11  *  for the specific language governing permissions and limitations under the License.
12  *
13  *  Garage Door Opener
14  *
15  *  Author: SmartThings
16  */
17 definition(
18     name: "Garage Door Opener",
19     namespace: "smartthings",
20     author: "SmartThings",
21     description: "Open your garage door when a switch is turned on.",
22     category: "Convenience",
23     iconUrl: "https://s3.amazonaws.com/smartapp-icons/Meta/garage_outlet.png",
24     iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Meta/garage_outlet@2x.png"
25 )
26
27 preferences {
28         section("When the garage door switch is turned on, open the garage door...") {
29                 input "switch1", "capability.switch"
30         }
31 }
32
33 def installed() {
34         subscribe(app, appTouchHandler)
35         subscribeToCommand(switch1, "on", onCommand)
36 }
37
38 def updated() {
39         unsubscribe()
40         subscribe(app, appTouchHandler)
41         subscribeToCommand(switch1, "on", onCommand)
42 }
43
44 def appTouch(evt) {
45         log.debug "appTouch: $evt.value, $evt"
46         switch1?.on()
47 }
48
49 def onCommand(evt) {
50         log.debug "onCommand: $evt.value, $evt"
51         switch1?.off(delay: 3000)
52 }