mirror of
https://github.com/mtan93/SmartThingsPublic.git
synced 2026-03-29 14:23:08 +01:00
Merge pull request #631 from workingmonk/stage1_v1_multi_garage
[DVCSMP-1107] Prepping up v1 multi for garage door functionality
This commit is contained in:
@@ -22,6 +22,8 @@ metadata {
|
|||||||
capability "Battery"
|
capability "Battery"
|
||||||
|
|
||||||
fingerprint profileId: "FC01", deviceId: "0139"
|
fingerprint profileId: "FC01", deviceId: "0139"
|
||||||
|
|
||||||
|
attribute "status", "string"
|
||||||
}
|
}
|
||||||
|
|
||||||
simulator {
|
simulator {
|
||||||
@@ -99,7 +101,7 @@ def parse(String description) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Map parseSingleMessage(description) {
|
private List parseSingleMessage(description) {
|
||||||
|
|
||||||
def name = parseName(description)
|
def name = parseName(description)
|
||||||
def value = parseValue(description)
|
def value = parseValue(description)
|
||||||
@@ -108,8 +110,9 @@ private Map parseSingleMessage(description) {
|
|||||||
def handlerName = value == 'open' ? 'opened' : value
|
def handlerName = value == 'open' ? 'opened' : value
|
||||||
def isStateChange = isStateChange(device, name, value)
|
def isStateChange = isStateChange(device, name, value)
|
||||||
|
|
||||||
def results = [
|
def results = []
|
||||||
name: name,
|
results << createEvent(
|
||||||
|
name: "contact",
|
||||||
value: value,
|
value: value,
|
||||||
unit: null,
|
unit: null,
|
||||||
linkText: linkText,
|
linkText: linkText,
|
||||||
@@ -117,8 +120,18 @@ private Map parseSingleMessage(description) {
|
|||||||
handlerName: handlerName,
|
handlerName: handlerName,
|
||||||
isStateChange: isStateChange,
|
isStateChange: isStateChange,
|
||||||
displayed: displayed(description, 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
|
results
|
||||||
}
|
}
|
||||||
@@ -269,7 +282,7 @@ private List parseRssiLqiMessage(String description) {
|
|||||||
results
|
results
|
||||||
}
|
}
|
||||||
|
|
||||||
private getContactResult(part, description) {
|
private List getContactResult(part, description) {
|
||||||
def name = "contact"
|
def name = "contact"
|
||||||
def value = part.endsWith("1") ? "open" : "closed"
|
def value = part.endsWith("1") ? "open" : "closed"
|
||||||
def handlerName = value == 'open' ? 'opened' : value
|
def handlerName = value == 'open' ? 'opened' : value
|
||||||
@@ -277,16 +290,30 @@ private getContactResult(part, description) {
|
|||||||
def descriptionText = "$linkText was $handlerName"
|
def descriptionText = "$linkText was $handlerName"
|
||||||
def isStateChange = isStateChange(device, name, value)
|
def isStateChange = isStateChange(device, name, value)
|
||||||
|
|
||||||
[
|
def results = []
|
||||||
name: name,
|
results << createEvent(
|
||||||
value: value,
|
name: "contact",
|
||||||
unit: null,
|
value: value,
|
||||||
linkText: linkText,
|
unit: null,
|
||||||
descriptionText: descriptionText,
|
linkText: linkText,
|
||||||
handlerName: handlerName,
|
descriptionText: descriptionText,
|
||||||
isStateChange: isStateChange,
|
handlerName: handlerName,
|
||||||
displayed: displayed(description, isStateChange)
|
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) {
|
private getAccelerationResult(part, description) {
|
||||||
@@ -449,6 +476,7 @@ private Boolean isOrientationMessage(String description) {
|
|||||||
description ==~ /x:.*y:.*z:.*rssi:.*lqi:.*/
|
description ==~ /x:.*y:.*z:.*rssi:.*lqi:.*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//Note: Not using this method anymore
|
||||||
private String parseName(String description) {
|
private String parseName(String description) {
|
||||||
if (isSupportedDescription(description)) {
|
if (isSupportedDescription(description)) {
|
||||||
return "contact"
|
return "contact"
|
||||||
|
|||||||
Reference in New Issue
Block a user