mirror of
https://github.com/mtan93/SmartThingsPublic.git
synced 2026-03-09 13:21:53 +00:00
Prepping up v1 multi for garage door functionality
This commit is contained in:
@@ -22,6 +22,8 @@ metadata {
|
||||
capability "Battery"
|
||||
|
||||
fingerprint profileId: "FC01", deviceId: "0139"
|
||||
|
||||
attribute "status", "string"
|
||||
}
|
||||
|
||||
simulator {
|
||||
@@ -102,7 +104,7 @@ def parse(String description) {
|
||||
|
||||
}
|
||||
|
||||
private Map parseSingleMessage(description) {
|
||||
private List parseSingleMessage(description) {
|
||||
|
||||
def name = parseName(description)
|
||||
def value = parseValue(description)
|
||||
@@ -111,8 +113,9 @@ private Map parseSingleMessage(description) {
|
||||
def handlerName = value == 'open' ? 'opened' : value
|
||||
def isStateChange = isStateChange(device, name, value)
|
||||
|
||||
def results = [
|
||||
name: name,
|
||||
def results = []
|
||||
results << createEvent(
|
||||
name: "contact",
|
||||
value: value,
|
||||
unit: null,
|
||||
linkText: linkText,
|
||||
@@ -120,8 +123,18 @@ private Map parseSingleMessage(description) {
|
||||
handlerName: handlerName,
|
||||
isStateChange: isStateChange,
|
||||
displayed: displayed(description, isStateChange)
|
||||
]
|
||||
log.debug "Parse results for $device: $results"
|
||||
)
|
||||
|
||||
results << createEvent(
|
||||
name: "status",
|
||||
value: value,
|
||||
unit: null,
|
||||
linkText: linkText,
|
||||
descriptionText: descriptionText,
|
||||
handlerName: handlerName,
|
||||
isStateChange: isStateChange,
|
||||
displayed: displayed(description, isStateChange)
|
||||
)
|
||||
|
||||
results
|
||||
}
|
||||
@@ -272,7 +285,7 @@ private List parseRssiLqiMessage(String description) {
|
||||
results
|
||||
}
|
||||
|
||||
private getContactResult(part, description) {
|
||||
private List getContactResult(part, description) {
|
||||
def name = "contact"
|
||||
def value = part.endsWith("1") ? "open" : "closed"
|
||||
def handlerName = value == 'open' ? 'opened' : value
|
||||
@@ -280,16 +293,30 @@ private getContactResult(part, description) {
|
||||
def descriptionText = "$linkText was $handlerName"
|
||||
def isStateChange = isStateChange(device, name, value)
|
||||
|
||||
[
|
||||
name: name,
|
||||
value: value,
|
||||
unit: null,
|
||||
linkText: linkText,
|
||||
descriptionText: descriptionText,
|
||||
handlerName: handlerName,
|
||||
isStateChange: isStateChange,
|
||||
displayed: displayed(description, isStateChange)
|
||||
]
|
||||
def results = []
|
||||
results << createEvent(
|
||||
name: "contact",
|
||||
value: value,
|
||||
unit: null,
|
||||
linkText: linkText,
|
||||
descriptionText: descriptionText,
|
||||
handlerName: handlerName,
|
||||
isStateChange: isStateChange,
|
||||
displayed:false
|
||||
)
|
||||
|
||||
results << createEvent(
|
||||
name: "status",
|
||||
value: value,
|
||||
unit: null,
|
||||
linkText: linkText,
|
||||
descriptionText: descriptionText,
|
||||
handlerName: handlerName,
|
||||
isStateChange: isStateChange,
|
||||
displayed: displayed(description, isStateChange)
|
||||
)
|
||||
|
||||
results
|
||||
}
|
||||
|
||||
private getAccelerationResult(part, description) {
|
||||
@@ -452,6 +479,7 @@ private Boolean isOrientationMessage(String description) {
|
||||
description ==~ /x:.*y:.*z:.*rssi:.*lqi:.*/
|
||||
}
|
||||
|
||||
//Note: Not using this method anymore
|
||||
private String parseName(String description) {
|
||||
if (isSupportedDescription(description)) {
|
||||
return "contact"
|
||||
|
||||
Reference in New Issue
Block a user