Compare commits

...

3 Commits

Author SHA1 Message Date
Amol Mundayoor
956f8a0b37 MSA-1248: Adding simulator tags to allow windowShade capability be simulated. 2016-05-03 13:18:25 -05:00
Luke Bredeson
77f880af6e Merge pull request #841 from lbredeso/hue-connect-updated-failure
SHARD-174: Hue (Connect) updated() calls can fail in certain situations
2016-04-28 13:28:07 -05:00
Luke Bredeson
1c4386a67b SHARD-174: Hue (Connect) updated() calls can fail in certain situations 2016-04-28 11:09:52 -05:00
2 changed files with 74 additions and 5 deletions

View File

@@ -0,0 +1,68 @@
/**
* Copyright 2015 SmartThings
*
* 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: "Window Shade Capability", namespace: "capabilities", author: "SmartThings") {
capability "Window Shade"
}
// simulator metadata
simulator {
// status messages
status "closing": "windowShade:closing"
status "close": "windowShade:close"
status "open": "windowShade:open"
status "opening": "windowShade:opening"
status "partially open": "windowShade:partially open"
status "unknown": "windowShade:unknown"
// reply messages
reply "closing": "windowShade:closing"
reply "close": "windowShade:close"
reply "open": "windowShade:open"
reply "opening": "windowShade:opening"
reply "partially open": "windowShade:partially open"
reply "unknown": "windowShade:unknown"
}
// UI tile definitions
tiles {
standardTile("windowShade", "device.windowShade", width: 2, height: 2, canChangeIcon: true) {
state "close", label: '${name}', action: "windowShade.close", backgroundColor: "#000000", nextState: "opening"
state "closing", label: '${name}', action: "windowShade.close", backgroundColor: "#00039a", nextState: "closed"
state "open", label: '${name}', action: "windowShade.open", backgroundColor: "#ffffff", nextState: "closing"
state "opening", label: '${name}', action: "windowShade.open", backgroundColor: "#ffedc2", nextState: "open"
state "partially open", label: '${name}', action: "windowShade.partially open", backgroundColor: "#0a5eff"
state "unknown", label: '${name}', action: "windowShade.unknown", backgroundColor: "#ffa500"
}
main "windowShade"
details "windowShade"
}
}
def parse(String description) {
def pair = description.split(":")
createEvent(name: pair[0].trim(), value: pair[1].trim())
}
def open() {
'open'
}
def close() {
'close'
}
def presetPosition() {
'partially open'
}

View File

@@ -332,8 +332,7 @@ private addChildBulb(dni, hueType, name, hub, update=false, device = null) {
if (deviceType) {
return addChildDevice("smartthings", deviceType, dni, hub, ["label": name])
}
else {
} else {
log.warn "Device type $hueType not supported"
return null
}
@@ -349,8 +348,10 @@ def addBulbs() {
newHueBulb = bulbs.find { (app.id + "/" + it.value.id) == dni }
if (newHueBulb != null) {
d = addChildBulb(dni, newHueBulb?.value?.type, newHueBulb?.value?.name, newHueBulb?.value?.hub)
log.debug "created ${d.displayName} with id $dni"
d.refresh()
if (d) {
log.debug "created ${d.displayName} with id $dni"
d.refresh()
}
} else {
log.debug "$dni in not longer paired to the Hue Bridge or ID changed"
}
@@ -358,7 +359,7 @@ def addBulbs() {
//backwards compatable
newHueBulb = bulbs.find { (app.id + "/" + it.id) == dni }
d = addChildBulb(dni, "Extended Color Light", newHueBulb?.value?.name, newHueBulb?.value?.hub)
d.refresh()
d?.refresh()
}
} else {
log.debug "found ${d.displayName} with id $dni already exists, type: '$d.typeName'"