forked from carvoyant/SmartThings
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ConnectedCar.groovy
57 lines (52 loc) · 1.63 KB
/
ConnectedCar.groovy
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/**
* Carvoyant Connected Car
*
* Copyright 2014 Carvoyant
*
* 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.
*
*/
metadata
{
definition (name: "Connected Car", namespace: "carvoyant", author: "Carvoyant")
{
capability "presenceSensor"
capability "sensor"
attribute "ignitionStatus", "string"
attribute "name", "string"
command "setIgnitionStatus"
command "setPresence"
}
tiles
{
standardTile("ignitionStatus", "device.ignitionStatus", width: 2, height: 2)
{
state "ON", label: 'On', action: "switch.off", icon: "st.presence.car.car", backgroundColor: "#00FF00"
state "OFF", label: 'Off', action: "switch.on", icon: "st.presence.car.car", backgroundColor: "#FF0000"
}
main "ignitionStatus"
details("ignitionStatus")
}
}
def init()
{
sendEvent(name: "ignitionStatus", value: "OFF")
}
def setPresence(String presence)
{
sendEvent(name: "presence", value: presence)
}
def setIgnitionStatus(ignitionStatus)
{
sendEvent(name: "ignitionStatus", value: ignitionStatus.toUpperCase())
}