Add offline events to Philips Hue

-Handles case when bridge goes offline
-Handles case when indiviudual lights go offline
This commit is contained in:
Lars Finander
2016-09-11 22:56:24 -06:00
parent 0f70362e0a
commit 3d05d42cb8

View File

@@ -740,16 +740,21 @@ private void checkBridgeStatus() {
d.sendEvent(name: "idNumber", value: it.value.idNumber) d.sendEvent(name: "idNumber", value: it.value.idNumber)
} }
if (it.value.lastActivity < time) { // it.value.lastActivity != null && if (it.value.lastActivity < time) { // it.value.lastActivity != null &&
log.warn "Bridge $it.key is Offline" log.warn "Bridge $it.key is Offline"
d.sendEvent(name: "status", value: "Offline") d.sendEvent(name: "status", value: "Offline")
// set all lights to offline since bridge is not reachable
state.bulbs?.each {it.value.online = false} state.bulbs?.each {
} else { it.value.online = false
}
getChildDevices().each {
it.sendEvent(name: "DeviceWatch-DeviceOffline", value: "offline")
}
} else {
d.sendEvent(name: "status", value: "Online")//setOnline(false) d.sendEvent(name: "status", value: "Online")//setOnline(false)
} }
} }
} }
} }
def isValidSource(macAddress) { def isValidSource(macAddress) {
@@ -955,6 +960,7 @@ private handlePoll(body) {
} else { } else {
state.bulbs[bulb.key]?.online = false state.bulbs[bulb.key]?.online = false
log.warn "$device is not reachable by Hue bridge" log.warn "$device is not reachable by Hue bridge"
device.sendEvent(name: "DeviceWatch-DeviceOffline", value: "offline")
} }
} }
} }