mirror of
https://github.com/mtan93/SmartThingsPublic.git
synced 2026-03-13 21:03:14 +00:00
Compare commits
3 Commits
MSA-1231-1
...
MSA-1248-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
956f8a0b37 | ||
|
|
77f880af6e | ||
|
|
1c4386a67b |
@@ -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'
|
||||
}
|
||||
@@ -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'"
|
||||
|
||||
Reference in New Issue
Block a user