Merge pull request #3811 from SungyeonWoo/staging

Added occupancy in mobile-presence
This commit is contained in:
Vinay Rao
2019-01-02 15:38:04 -08:00
committed by GitHub

View File

@@ -17,12 +17,15 @@
metadata {
definition (name: "Mobile Presence", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.mobile.presence") {
capability "Presence Sensor"
capability "Occupancy Sensor"
capability "Sensor"
}
simulator {
status "present": "presence: 1"
status "not present": "presence: 0"
status "occupied": "occupancy: 1"
status "unoccupied": "occupancy: 0"
}
tiles {
@@ -56,12 +59,13 @@ def parse(String description) {
]
log.debug "Parse returned $results.descriptionText"
return results
}
private String parseName(String description) {
if (description?.startsWith("presence: ")) {
return "presence"
} else if (description?.startsWith("occupancy: ")) {
return "occupancy"
}
null
}
@@ -70,6 +74,8 @@ private String parseValue(String description) {
switch(description) {
case "presence: 1": return "present"
case "presence: 0": return "not present"
case "occupancy: 1": return "occupied"
case "occupancy: 0": return "unoccupied"
default: return description
}
}
@@ -78,6 +84,8 @@ private parseDescriptionText(String linkText, String value, String description)
switch(value) {
case "present": return "{{ linkText }} has arrived"
case "not present": return "{{ linkText }} has left"
case "occupied": return "{{ linkText }} is inside"
case "unoccupied": return "{{ linkText }} is away"
default: return value
}
}
@@ -86,6 +94,8 @@ private getState(String value) {
switch(value) {
case "present": return "arrived"
case "not present": return "left"
case "occupied": return "inside"
case "unoccupied": return "away"
default: return value
}
}