Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ metadata {
capability "Sensor"

attribute "colorName", "string"
// heartbeat is updated at every poll
attribute "heartbeat", "string"


fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0008,0300,0B04,FC0F", outClusters: "0019", manufacturer: "OSRAM", model: "Classic A60 TW"
Expand Down Expand Up @@ -93,16 +95,21 @@ def parse(String description) {
log.trace "descMap : $descMap"

if (descMap.cluster == "0300") {
// trigger heartbeat
def hb = createEvent(name: "heartbeat", value: "alive", isStateChange: true, displayed:false)

log.debug descMap.value
def tempInMired = convertHexToInt(descMap.value)
def tempInKelvin = Math.round(1000000/tempInMired)
log.trace "temp in kelvin: $tempInKelvin"
sendEvent(name: "colorTemperature", value: tempInKelvin, displayed:false)
def result = createEvent(name: "colorTemperature", value: tempInKelvin, displayed:false)
return [result, hb]
}
else if(descMap.cluster == "0008"){
def dimmerValue = Math.round(convertHexToInt(descMap.value) * 100 / 255)
log.debug "dimmer value is $dimmerValue"
sendEvent(name: "level", value: dimmerValue)
def result = createEvent(name: "level", value: dimmerValue)
return result
}
}
else {
Expand Down Expand Up @@ -189,7 +196,7 @@ def poll(){
}

def setLevel(value) {
state.levelValue = (value==null) ? 100 : value
state.levelValue = (value==null) ? 100 : value
log.trace "setLevel($value)"
def cmds = []

Expand Down