mirror of
https://github.com/mtan93/SmartThingsPublic.git
synced 2026-03-18 21:03:39 +00:00
Merge pull request #1405 from larsfinander/lifx_device_watch_statefix_staging
DVCSMP-2108 LIFX: Add devicewatch support
This commit is contained in:
@@ -381,38 +381,28 @@ def updateDevices() {
|
|||||||
selectors.add("${device.id}")
|
selectors.add("${device.id}")
|
||||||
if (!childDevice) {
|
if (!childDevice) {
|
||||||
// log.info("Adding device ${device.id}: ${device.product}")
|
// log.info("Adding device ${device.id}: ${device.product}")
|
||||||
def data = [
|
|
||||||
label: device.label,
|
|
||||||
level: Math.round((device.brightness ?: 1) * 100),
|
|
||||||
switch: device.power,
|
|
||||||
colorTemperature: device.color.kelvin
|
|
||||||
]
|
|
||||||
if (device.product.capabilities.has_color) {
|
if (device.product.capabilities.has_color) {
|
||||||
data["color"] = colorUtil.hslToHex((device.color.hue / 3.6) as int, (device.color.saturation * 100) as int)
|
childDevice = addChildDevice(app.namespace, "LIFX Color Bulb", device.id, null, ["label": device.label, "completedSetup": true])
|
||||||
data["hue"] = device.color.hue / 3.6
|
|
||||||
data["saturation"] = device.color.saturation * 100
|
|
||||||
childDevice = addChildDevice(app.namespace, "LIFX Color Bulb", device.id, null, data)
|
|
||||||
} else {
|
} else {
|
||||||
childDevice = addChildDevice(app.namespace, "LIFX White Bulb", device.id, null, data)
|
childDevice = addChildDevice(app.namespace, "LIFX White Bulb", device.id, null, ["label": device.label, "completedSetup": true])
|
||||||
}
|
}
|
||||||
childDevice?.completedSetup = true
|
|
||||||
} else {
|
|
||||||
if (device.product.capabilities.has_color) {
|
|
||||||
sendEvent(name: "color", value: colorUtil.hslToHex((device.color.hue / 3.6) as int, (device.color.saturation * 100) as int))
|
|
||||||
sendEvent(name: "hue", value: device.color.hue / 3.6)
|
|
||||||
sendEvent(name: "saturation", value: device.color.saturation * 100)
|
|
||||||
}
|
|
||||||
childDevice.sendEvent(name: "label", value: device.label)
|
|
||||||
childDevice.sendEvent(name: "level", value: Math.round((device.brightness ?: 1) * 100))
|
|
||||||
childDevice.sendEvent(name: "switch.setLevel", value: Math.round((device.brightness ?: 1) * 100))
|
|
||||||
childDevice.sendEvent(name: "switch", value: device.power)
|
|
||||||
childDevice.sendEvent(name: "colorTemperature", value: device.color.kelvin)
|
|
||||||
childDevice.sendEvent(name: "model", value: device.product.name)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (device.product.capabilities.has_color) {
|
||||||
|
childDevice.sendEvent(name: "color", value: colorUtil.hslToHex((device.color.hue / 3.6) as int, (device.color.saturation * 100) as int))
|
||||||
|
childDevice.sendEvent(name: "hue", value: device.color.hue / 3.6)
|
||||||
|
childDevice.sendEvent(name: "saturation", value: device.color.saturation * 100)
|
||||||
|
}
|
||||||
|
childDevice.sendEvent(name: "label", value: device.label)
|
||||||
|
childDevice.sendEvent(name: "level", value: Math.round((device.brightness ?: 1) * 100))
|
||||||
|
childDevice.sendEvent(name: "switch.setLevel", value: Math.round((device.brightness ?: 1) * 100))
|
||||||
|
childDevice.sendEvent(name: "switch", value: device.power)
|
||||||
|
childDevice.sendEvent(name: "colorTemperature", value: device.color.kelvin)
|
||||||
|
childDevice.sendEvent(name: "model", value: device.product.name)
|
||||||
|
|
||||||
if (state.devices[device.id] == null) {
|
if (state.devices[device.id] == null) {
|
||||||
// State missing, add it and set it to opposite status as current status to provoke event below
|
// State missing, add it and set it to opposite status as current status to provoke event below
|
||||||
state.devices[device.id] = [online : !device.connected]
|
state.devices[device.id] = [online: !device.connected]
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!state.devices[device.id]?.online && device.connected) {
|
if (!state.devices[device.id]?.online && device.connected) {
|
||||||
|
|||||||
Reference in New Issue
Block a user