DVCSMP-2221 - Replace display with displayed (#1457)

This commit is contained in:
Juan Pablo Risso
2016-11-11 14:09:04 -05:00
committed by GitHub
parent 0ab657d5f2
commit 7978f45996
6 changed files with 114 additions and 114 deletions

View File

@@ -236,17 +236,17 @@ def refresh() {
} }
void indicatorWhenOn() { void indicatorWhenOn() {
sendEvent(name: "indicatorStatus", value: "when on", display: false) sendEvent(name: "indicatorStatus", value: "when on", displayed: false)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 3, size: 1).format())) sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 3, size: 1).format()))
} }
void indicatorWhenOff() { void indicatorWhenOff() {
sendEvent(name: "indicatorStatus", value: "when off", display: false) sendEvent(name: "indicatorStatus", value: "when off", displayed: false)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [0], parameterNumber: 3, size: 1).format())) sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [0], parameterNumber: 3, size: 1).format()))
} }
void indicatorNever() { void indicatorNever() {
sendEvent(name: "indicatorStatus", value: "never", display: false) sendEvent(name: "indicatorStatus", value: "never", displayed: false)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [2], parameterNumber: 3, size: 1).format())) sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [2], parameterNumber: 3, size: 1).format()))
} }

View File

@@ -29,10 +29,10 @@
capability "Polling" capability "Polling"
capability "Refresh" capability "Refresh"
capability "Sensor" capability "Sensor"
capability "Configuration" capability "Configuration"
capability "Color Control" capability "Color Control"
capability "Power Meter" capability "Power Meter"
command "getDeviceData" command "getDeviceData"
command "softwhite" command "softwhite"
command "daylight" command "daylight"
@@ -54,12 +54,12 @@
command "setAdjustedColor" command "setAdjustedColor"
command "setWhiteLevel" command "setWhiteLevel"
command "test" command "test"
attribute "whiteLevel", "string" attribute "whiteLevel", "string"
fingerprint deviceId: "0x1101", inClusters: "0x27,0x72,0x86,0x26,0x60,0x70,0x32,0x31,0x85,0x33" fingerprint deviceId: "0x1101", inClusters: "0x27,0x72,0x86,0x26,0x60,0x70,0x32,0x31,0x85,0x33"
} }
simulator { simulator {
status "on": "command: 2003, payload: FF" status "on": "command: 2003, payload: FF"
status "off": "command: 2003, payload: 00" status "off": "command: 2003, payload: 00"
@@ -84,7 +84,7 @@
} }
controlTile("levelSliderControl", "device.level", "slider", height: 1, width: 2, inactiveLabel: false) { controlTile("levelSliderControl", "device.level", "slider", height: 1, width: 2, inactiveLabel: false) {
state "level", action:"switch level.setLevel" state "level", action:"switch level.setLevel"
} }
controlTile("whiteSliderControl", "device.whiteLevel", "slider", height: 1, width: 3, inactiveLabel: false) { controlTile("whiteSliderControl", "device.whiteLevel", "slider", height: 1, width: 3, inactiveLabel: false) {
state "whiteLevel", action:"setWhiteLevel", label:'White Level' state "whiteLevel", action:"setWhiteLevel", label:'White Level'
} }
@@ -183,24 +183,24 @@
valueTile("hue", "device.hue", inactiveLabel: false, decoration: "flat") { valueTile("hue", "device.hue", inactiveLabel: false, decoration: "flat") {
state "hue", label: 'Hue ${currentValue} ' state "hue", label: 'Hue ${currentValue} '
} }
main(["switch"]) main(["switch"])
details(["switch", details(["switch",
"levelSliderControl", "levelSliderControl",
"rgbSelector", "rgbSelector",
"whiteSliderControl", "whiteSliderControl",
/*"softwhite", /*"softwhite",
"daylight", "daylight",
"warmwhite", "warmwhite",
"red", "red",
"green", "green",
"blue", "blue",
"white", "white",
"cyan", "cyan",
"magenta", "magenta",
"orange", "orange",
"purple", "purple",
"yellow", "yellow",
"fireplace", "fireplace",
"storm", "storm",
"deepfade", "deepfade",
@@ -214,7 +214,7 @@
def setAdjustedColor(value) { def setAdjustedColor(value) {
log.debug "setAdjustedColor: ${value}" log.debug "setAdjustedColor: ${value}"
toggleTiles("off") //turn off the hard color tiles toggleTiles("off") //turn off the hard color tiles
def level = device.latestValue("level") def level = device.latestValue("level")
@@ -223,19 +223,19 @@ def setAdjustedColor(value) {
log.debug "level is: ${level}" log.debug "level is: ${level}"
value.level = level value.level = level
def c = hexToRgb(value.hex) def c = hexToRgb(value.hex)
value.rh = hex(c.r * (level/100)) value.rh = hex(c.r * (level/100))
value.gh = hex(c.g * (level/100)) value.gh = hex(c.g * (level/100))
value.bh = hex(c.b * (level/100)) value.bh = hex(c.b * (level/100))
setColor(value) setColor(value)
} }
def setColor(value) { def setColor(value) {
log.debug "setColor: ${value}" log.debug "setColor: ${value}"
log.debug "hue is: ${value.hue}" log.debug "hue is: ${value.hue}"
log.debug "saturation is: ${value.saturation}" log.debug "saturation is: ${value.saturation}"
if (value.size() < 8) if (value.size() < 8)
toggleTiles("off") toggleTiles("off")
@@ -246,22 +246,22 @@ def setColor(value) {
value.gh = hex(rgb.g) value.gh = hex(rgb.g)
value.bh = hex(rgb.b) value.bh = hex(rgb.b)
} }
if ((value.size() == 3) && (value.hue != null) && (value.saturation != null) && (value.level)) { //user passed in a level value too from outside (App) if ((value.size() == 3) && (value.hue != null) && (value.saturation != null) && (value.level)) { //user passed in a level value too from outside (App)
def rgb = hslToRGB(value.hue, value.saturation, 0.5) def rgb = hslToRGB(value.hue, value.saturation, 0.5)
value.hex = rgbToHex(rgb) value.hex = rgbToHex(rgb)
value.rh = hex(rgb.r * value.level/100) value.rh = hex(rgb.r * value.level/100)
value.gh = hex(rgb.g * value.level/100) value.gh = hex(rgb.g * value.level/100)
value.bh = hex(rgb.b * value.level/100) value.bh = hex(rgb.b * value.level/100)
} }
if (( value.size() == 1) && (value.hex)) { //being called from outside of device (App) with only hex if (( value.size() == 1) && (value.hex)) { //being called from outside of device (App) with only hex
def rgbInt = hexToRgb(value.hex) def rgbInt = hexToRgb(value.hex)
value.rh = hex(rgbInt.r) value.rh = hex(rgbInt.r)
value.gh = hex(rgbInt.g) value.gh = hex(rgbInt.g)
value.bh = hex(rgbInt.b) value.bh = hex(rgbInt.b)
} }
if (( value.size() == 2) && (value.hex) && (value.level)) { //being called from outside of device (App) with only hex and level if (( value.size() == 2) && (value.hex) && (value.level)) { //being called from outside of device (App) with only hex and level
def rgbInt = hexToRgb(value.hex) def rgbInt = hexToRgb(value.hex)
@@ -269,7 +269,7 @@ def setColor(value) {
value.gh = hex(rgbInt.g * value.level/100) value.gh = hex(rgbInt.g * value.level/100)
value.bh = hex(rgbInt.b * value.level/100) value.bh = hex(rgbInt.b * value.level/100)
} }
if (( value.size() == 1) && (value.colorName)) { //being called from outside of device (App) with only color name if (( value.size() == 1) && (value.colorName)) { //being called from outside of device (App) with only color name
def colorData = getColorData(value.colorName) def colorData = getColorData(value.colorName)
value.rh = colorData.rh value.rh = colorData.rh
@@ -277,7 +277,7 @@ def setColor(value) {
value.bh = colorData.bh value.bh = colorData.bh
value.hex = "#${value.rh}${value.gh}${value.bh}" value.hex = "#${value.rh}${value.gh}${value.bh}"
} }
if (( value.size() == 2) && (value.colorName) && (value.level)) { //being called from outside of device (App) with only color name and level if (( value.size() == 2) && (value.colorName) && (value.level)) { //being called from outside of device (App) with only color name and level
def colorData = getColorData(value.colorName) def colorData = getColorData(value.colorName)
value.rh = hex(colorData.r * value.level/100) value.rh = hex(colorData.r * value.level/100)
@@ -285,7 +285,7 @@ def setColor(value) {
value.bh = hex(colorData.b * value.level/100) value.bh = hex(colorData.b * value.level/100)
value.hex = "#${hex(colorData.r)}${hex(colorData.g)}${hex(colorData.b)}" value.hex = "#${hex(colorData.r)}${hex(colorData.g)}${hex(colorData.b)}"
} }
if (( value.size() == 3) && (value.red != null) && (value.green != null) && (value.blue != null)) { //being called from outside of device (App) with only color values (0-255) if (( value.size() == 3) && (value.red != null) && (value.green != null) && (value.blue != null)) { //being called from outside of device (App) with only color values (0-255)
value.rh = hex(value.red) value.rh = hex(value.red)
value.gh = hex(value.green) value.gh = hex(value.green)
@@ -299,7 +299,7 @@ def setColor(value) {
value.bh = hex(value.blue * value.level/100) value.bh = hex(value.blue * value.level/100)
value.hex = "#${hex(value.red)}${hex(value.green)}${hex(value.blue)}" value.hex = "#${hex(value.red)}${hex(value.green)}${hex(value.blue)}"
} }
sendEvent(name: "hue", value: value.hue, displayed: false) sendEvent(name: "hue", value: value.hue, displayed: false)
sendEvent(name: "saturation", value: value.saturation, displayed: false) sendEvent(name: "saturation", value: value.saturation, displayed: false)
sendEvent(name: "color", value: value.hex, displayed: false) sendEvent(name: "color", value: value.hex, displayed: false)
@@ -309,26 +309,26 @@ def setColor(value) {
if (value.switch) { if (value.switch) {
sendEvent(name: "switch", value: value.switch) sendEvent(name: "switch", value: value.switch)
} }
sendRGB(value.rh, value.gh, value.bh) sendRGB(value.rh, value.gh, value.bh)
} }
def setLevel(level) { def setLevel(level) {
log.debug "setLevel($level)" log.debug "setLevel($level)"
if (level == 0) { off() } if (level == 0) { off() }
else if (device.latestValue("switch") == "off") { on() } else if (device.latestValue("switch") == "off") { on() }
def colorHex = device.latestValue("color") def colorHex = device.latestValue("color")
if (colorHex == null) if (colorHex == null)
colorHex = "#FFFFFF" colorHex = "#FFFFFF"
def c = hexToRgb(colorHex) def c = hexToRgb(colorHex)
def r = hex(c.r * (level/100)) def r = hex(c.r * (level/100))
def g = hex(c.g * (level/100)) def g = hex(c.g * (level/100))
def b = hex(c.b * (level/100)) def b = hex(c.b * (level/100))
sendEvent(name: "level", value: level) sendEvent(name: "level", value: level)
sendEvent(name: "setLevel", value: level, displayed: false) sendEvent(name: "setLevel", value: level, displayed: false)
sendRGB(r, g, b) sendRGB(r, g, b)
@@ -337,14 +337,14 @@ def setLevel(level) {
def setWhiteLevel(value) { def setWhiteLevel(value) {
log.debug "setWhiteLevel: ${value}" log.debug "setWhiteLevel: ${value}"
def level = Math.min(value as Integer, 99) def level = Math.min(value as Integer, 99)
level = 255 * level/99 as Integer level = 255 * level/99 as Integer
def channel = 0 def channel = 0
if (device.latestValue("switch") == "off") { on() } if (device.latestValue("switch") == "off") { on() }
sendEvent(name: "whiteLevel", value: value) sendEvent(name: "whiteLevel", value: value)
sendWhite(channel, value) sendWhite(channel, value)
} }
def sendWhite(channel, value) { def sendWhite(channel, value) {
@@ -367,20 +367,20 @@ def sendRGBW(redHex, greenHex, blueHex, whiteHex) {
def configure() { def configure() {
log.debug "Configuring Device For SmartThings Use" log.debug "Configuring Device For SmartThings Use"
def cmds = [] def cmds = []
// send associate to group 3 to get sensor data reported only to hub // send associate to group 3 to get sensor data reported only to hub
cmds << zwave.associationV2.associationSet(groupingIdentifier:5, nodeId:[zwaveHubNodeId]).format() cmds << zwave.associationV2.associationSet(groupingIdentifier:5, nodeId:[zwaveHubNodeId]).format()
//cmds << sendEvent(name: "level", value: 50) //cmds << sendEvent(name: "level", value: 50)
//cmds << on() //cmds << on()
//cmds << doColorButton("Green") //cmds << doColorButton("Green")
delayBetween(cmds, 500) delayBetween(cmds, 500)
} }
def parse(String description) { def parse(String description) {
@@ -411,11 +411,11 @@ def parse(String description) {
def getDeviceData() { def getDeviceData() {
def cmd = [] def cmd = []
cmd << response(zwave.manufacturerSpecificV2.manufacturerSpecificGet()) cmd << response(zwave.manufacturerSpecificV2.manufacturerSpecificGet())
cmd << response(zwave.versionV1.versionGet()) cmd << response(zwave.versionV1.versionGet())
cmd << response(zwave.firmwareUpdateMdV1.firmwareMdGet()) cmd << response(zwave.firmwareUpdateMdV1.firmwareMdGet())
delayBetween(cmd, 500) delayBetween(cmd, 500)
} }
@@ -426,7 +426,7 @@ def createEvent(physicalgraph.zwave.commands.manufacturerspecificv2.Manufacturer
log.debug "productTypeId: ${cmd.productTypeId}" log.debug "productTypeId: ${cmd.productTypeId}"
} }
def createEvent(physicalgraph.zwave.commands.versionv1.VersionReport cmd, Map item1) { def createEvent(physicalgraph.zwave.commands.versionv1.VersionReport cmd, Map item1) {
updateDataValue("applicationVersion", "${cmd.applicationVersion}") updateDataValue("applicationVersion", "${cmd.applicationVersion}")
log.debug "applicationVersion: ${cmd.applicationVersion}" log.debug "applicationVersion: ${cmd.applicationVersion}"
log.debug "applicationSubVersion: ${cmd.applicationSubVersion}" log.debug "applicationSubVersion: ${cmd.applicationSubVersion}"
@@ -435,13 +435,13 @@ def createEvent(physicalgraph.zwave.commands.versionv1.VersionReport cmd, Map it
log.debug "zWaveProtocolSubVersion: ${cmd.zWaveProtocolSubVersion}" log.debug "zWaveProtocolSubVersion: ${cmd.zWaveProtocolSubVersion}"
} }
def createEvent(physicalgraph.zwave.commands.firmwareupdatemdv1.FirmwareMdReport cmd, Map item1) { def createEvent(physicalgraph.zwave.commands.firmwareupdatemdv1.FirmwareMdReport cmd, Map item1) {
log.debug "checksum: ${cmd.checksum}" log.debug "checksum: ${cmd.checksum}"
log.debug "firmwareId: ${cmd.firmwareId}" log.debug "firmwareId: ${cmd.firmwareId}"
log.debug "manufacturerId: ${cmd.manufacturerId}" log.debug "manufacturerId: ${cmd.manufacturerId}"
} }
def zwaveEvent(physicalgraph.zwave.commands.colorcontrolv1.CapabilityReport cmd, Map item1) { def zwaveEvent(physicalgraph.zwave.commands.colorcontrolv1.CapabilityReport cmd, Map item1) {
log.debug "In CapabilityReport" log.debug "In CapabilityReport"
} }
@@ -546,7 +546,7 @@ def zwaveEvent(physicalgraph.zwave.commands.configurationv1.ConfigurationReport
def value = "when off" def value = "when off"
if (cmd.configurationValue[0] == 1) {value = "when on"} if (cmd.configurationValue[0] == 1) {value = "when on"}
if (cmd.configurationValue[0] == 2) {value = "never"} if (cmd.configurationValue[0] == 2) {value = "never"}
[name: "indicatorStatus", value: value, display: false] [name: "indicatorStatus", value: value, displayed: false]
} }
*/ */
def createEvent(physicalgraph.zwave.Command cmd, Map map) { def createEvent(physicalgraph.zwave.Command cmd, Map map) {
@@ -557,7 +557,7 @@ def createEvent(physicalgraph.zwave.Command cmd, Map map) {
def on() { def on() {
log.debug "on()" log.debug "on()"
sendEvent(name: "switch", value: "on") sendEvent(name: "switch", value: "on")
delayBetween([zwave.basicV1.basicSet(value: 0xFF).format(), delayBetween([zwave.basicV1.basicSet(value: 0xFF).format(),
zwave.switchMultilevelV1.switchMultilevelGet().format()], 5000) zwave.switchMultilevelV1.switchMultilevelGet().format()], 5000)
} }
@@ -593,7 +593,7 @@ def refresh() {
* @return none * @return none
*/ */
def updateZwaveParam(params) { def updateZwaveParam(params) {
if ( params ) { if ( params ) {
def pNumber = params.paramNumber def pNumber = params.paramNumber
def pSize = params.size def pSize = params.size
def pValue = [params.value] def pValue = [params.value]
@@ -601,9 +601,9 @@ def updateZwaveParam(params) {
def cmds = [] def cmds = []
cmds << zwave.configurationV1.configurationSet(configurationValue: pValue, parameterNumber: pNumber, size: pSize).format() cmds << zwave.configurationV1.configurationSet(configurationValue: pValue, parameterNumber: pNumber, size: pSize).format()
cmds << zwave.configurationV1.configurationGet(parameterNumber: pNumber).format() cmds << zwave.configurationV1.configurationGet(parameterNumber: pNumber).format()
delayBetween(cmds, 1500) delayBetween(cmds, 1500)
} }
} }
@@ -612,22 +612,22 @@ def test() {
//value = [hue: 0, saturation: 100, level: 5] //value = [hue: 0, saturation: 100, level: 5]
//value = [red: 255, green: 0, blue: 255, level: 60] //value = [red: 255, green: 0, blue: 255, level: 60]
//setColor(value) //setColor(value)
def cmd = [] def cmd = []
if ( !state.cnt ) { if ( !state.cnt ) {
state.cnt = 6 state.cnt = 6
} else { } else {
state.cnt = state.cnt + 1 state.cnt = state.cnt + 1
} }
if ( state.cnt > 10 ) if ( state.cnt > 10 )
state.cnt = 6 state.cnt = 6
// run programmed light show // run programmed light show
cmd << zwave.configurationV1.configurationSet(configurationValue: [state.cnt], parameterNumber: 72, size: 1).format() cmd << zwave.configurationV1.configurationSet(configurationValue: [state.cnt], parameterNumber: 72, size: 1).format()
cmd << zwave.configurationV1.configurationGet(parameterNumber: 72).format() cmd << zwave.configurationV1.configurationGet(parameterNumber: 72).format()
delayBetween(cmd, 500) delayBetween(cmd, 500)
} }
@@ -638,23 +638,23 @@ def colorNameToRgb(color) {
[name:"Soft White", r: 255, g: 241, b: 224 ], [name:"Soft White", r: 255, g: 241, b: 224 ],
[name:"Daylight", r: 255, g: 255, b: 251 ], [name:"Daylight", r: 255, g: 255, b: 251 ],
[name:"Warm White", r: 255, g: 244, b: 229 ], [name:"Warm White", r: 255, g: 244, b: 229 ],
[name:"Red", r: 255, g: 0, b: 0 ], [name:"Red", r: 255, g: 0, b: 0 ],
[name:"Green", r: 0, g: 255, b: 0 ], [name:"Green", r: 0, g: 255, b: 0 ],
[name:"Blue", r: 0, g: 0, b: 255 ], [name:"Blue", r: 0, g: 0, b: 255 ],
[name:"Cyan", r: 0, g: 255, b: 255 ], [name:"Cyan", r: 0, g: 255, b: 255 ],
[name:"Magenta", r: 255, g: 0, b: 33 ], [name:"Magenta", r: 255, g: 0, b: 33 ],
[name:"Orange", r: 255, g: 102, b: 0 ], [name:"Orange", r: 255, g: 102, b: 0 ],
[name:"Purple", r: 170, g: 0, b: 255 ], [name:"Purple", r: 170, g: 0, b: 255 ],
[name:"Yellow", r: 255, g: 255, b: 0 ], [name:"Yellow", r: 255, g: 255, b: 0 ],
[name:"White", r: 255, g: 255, b: 255 ] [name:"White", r: 255, g: 255, b: 255 ]
] ]
def colorData = [:] def colorData = [:]
colorData = colors.find { it.name == color } colorData = colors.find { it.name == color }
colorData colorData
} }
@@ -670,7 +670,7 @@ def hexToRgb(colorHex) {
def rrInt = Integer.parseInt(colorHex.substring(1,3),16) def rrInt = Integer.parseInt(colorHex.substring(1,3),16)
def ggInt = Integer.parseInt(colorHex.substring(3,5),16) def ggInt = Integer.parseInt(colorHex.substring(3,5),16)
def bbInt = Integer.parseInt(colorHex.substring(5,7),16) def bbInt = Integer.parseInt(colorHex.substring(5,7),16)
def colorData = [:] def colorData = [:]
colorData = [r: rrInt, g: ggInt, b: bbInt] colorData = [r: rrInt, g: ggInt, b: bbInt]
colorData colorData
@@ -681,7 +681,7 @@ def rgbToHex(rgb) {
def g = hex(rgb.g) def g = hex(rgb.g)
def b = hex(rgb.b) def b = hex(rgb.b)
def hexColor = "#${r}${g}${b}" def hexColor = "#${r}${g}${b}"
hexColor hexColor
} }
@@ -689,11 +689,11 @@ def hslToRGB(float var_h, float var_s, float var_l) {
float h = var_h / 100 float h = var_h / 100
float s = var_s / 100 float s = var_s / 100
float l = var_l float l = var_l
def r = 0 def r = 0
def g = 0 def g = 0
def b = 0 def b = 0
if (s == 0) { if (s == 0) {
r = l * 255 r = l * 255
g = l * 255 g = l * 255
@@ -705,26 +705,26 @@ def hslToRGB(float var_h, float var_s, float var_l) {
} else { } else {
var_2 = (l + s) - (s * l) var_2 = (l + s) - (s * l)
} }
float var_1 = 2 * l - var_2 float var_1 = 2 * l - var_2
r = 255 * hueToRgb(var_1, var_2, h + (1 / 3)) r = 255 * hueToRgb(var_1, var_2, h + (1 / 3))
g = 255 * hueToRgb(var_1, var_2, h) g = 255 * hueToRgb(var_1, var_2, h)
b = 255 * hueToRgb(var_1, var_2, h - (1 / 3)) b = 255 * hueToRgb(var_1, var_2, h - (1 / 3))
} }
def rgb = [:] def rgb = [:]
rgb = [r: r, g: g, b: b] rgb = [r: r, g: g, b: b]
rgb rgb
} }
def hueToRgb(v1, v2, vh) { def hueToRgb(v1, v2, vh) {
if (vh < 0) { vh += 1 } if (vh < 0) { vh += 1 }
if (vh > 1) { vh -= 1 } if (vh > 1) { vh -= 1 }
if ((6 * vh) < 1) { return (v1 + (v2 - v1) * 6 * vh) } if ((6 * vh) < 1) { return (v1 + (v2 - v1) * 6 * vh) }
if ((2 * vh) < 1) { return (v2) } if ((2 * vh) < 1) { return (v2) }
if ((3 * vh) < 2) { return (v1 + (v2 - $v1) * ((2 / 3 - vh) * 6)) } if ((3 * vh) < 2) { return (v1 + (v2 - $v1) * ((2 / 3 - vh) * 6)) }
return (v1) return (v1)
} }
@@ -735,49 +735,49 @@ def rgbToHSL(rgb) {
def h = 0 def h = 0
def s = 0 def s = 0
def l = 0 def l = 0
def var_min = [r,g,b].min() def var_min = [r,g,b].min()
def var_max = [r,g,b].max() def var_max = [r,g,b].max()
def del_max = var_max - var_min def del_max = var_max - var_min
l = (var_max + var_min) / 2 l = (var_max + var_min) / 2
if (del_max == 0) { if (del_max == 0) {
h = 0 h = 0
s = 0 s = 0
} else { } else {
if (l < 0.5) { s = del_max / (var_max + var_min) } if (l < 0.5) { s = del_max / (var_max + var_min) }
else { s = del_max / (2 - var_max - var_min) } else { s = del_max / (2 - var_max - var_min) }
def del_r = (((var_max - r) / 6) + (del_max / 2)) / del_max def del_r = (((var_max - r) / 6) + (del_max / 2)) / del_max
def del_g = (((var_max - g) / 6) + (del_max / 2)) / del_max def del_g = (((var_max - g) / 6) + (del_max / 2)) / del_max
def del_b = (((var_max - b) / 6) + (del_max / 2)) / del_max def del_b = (((var_max - b) / 6) + (del_max / 2)) / del_max
if (r == var_max) { h = del_b - del_g } if (r == var_max) { h = del_b - del_g }
else if (g == var_max) { h = (1 / 3) + del_r - del_b } else if (g == var_max) { h = (1 / 3) + del_r - del_b }
else if (b == var_max) { h = (2 / 3) + del_g - del_r } else if (b == var_max) { h = (2 / 3) + del_g - del_r }
if (h < 0) { h += 1 } if (h < 0) { h += 1 }
if (h > 1) { h -= 1 } if (h > 1) { h -= 1 }
} }
def hsl = [:] def hsl = [:]
hsl = [h: h * 100, s: s * 100, l: l] hsl = [h: h * 100, s: s * 100, l: l]
hsl hsl
} }
def getColorData(colorName) { def getColorData(colorName) {
log.debug "getColorData: ${colorName}" log.debug "getColorData: ${colorName}"
def colorRGB = colorNameToRgb(colorName) def colorRGB = colorNameToRgb(colorName)
def colorHex = rgbToHex(colorRGB) def colorHex = rgbToHex(colorRGB)
def colorHSL = rgbToHSL(colorRGB) def colorHSL = rgbToHSL(colorRGB)
def colorData = [:] def colorData = [:]
colorData = [h: colorHSL.h, colorData = [h: colorHSL.h,
s: colorHSL.s, s: colorHSL.s,
l: device.latestValue("level"), l: device.latestValue("level"),
r: colorRGB.r, r: colorRGB.r,
g: colorRGB.g, g: colorRGB.g,
b: colorRGB.b, b: colorRGB.b,
rh: hex(colorRGB.r), rh: hex(colorRGB.r),
@@ -785,8 +785,8 @@ def getColorData(colorName) {
bh: hex(colorRGB.b), bh: hex(colorRGB.b),
hex: colorHex, hex: colorHex,
alpha: 1] alpha: 1]
colorData colorData
} }
def doColorButton(colorName) { def doColorButton(colorName) {
@@ -798,7 +798,7 @@ def doColorButton(colorName) {
def maxLevel = hex(99) def maxLevel = hex(99)
toggleTiles(colorName.toLowerCase().replaceAll("\\s","")) toggleTiles(colorName.toLowerCase().replaceAll("\\s",""))
if ( colorName == "Fire Place" ) { updateZwaveParam([paramNumber:72, value:6, size:1]) } if ( colorName == "Fire Place" ) { updateZwaveParam([paramNumber:72, value:6, size:1]) }
else if ( colorName == "Storm" ) { updateZwaveParam([paramNumber:72, value:7, size:1]) } else if ( colorName == "Storm" ) { updateZwaveParam([paramNumber:72, value:7, size:1]) }
else if ( colorName == "Deep Fade" ) { updateZwaveParam([paramNumber:72, value:8, size:1]) } else if ( colorName == "Deep Fade" ) { updateZwaveParam([paramNumber:72, value:8, size:1]) }
@@ -808,8 +808,8 @@ def doColorButton(colorName) {
else if ( colorName == "Daylight" ) { String.format("33050400${maxLevel}02${maxLevel}03${maxLevel}04${maxLevel}%02X", 100) } else if ( colorName == "Daylight" ) { String.format("33050400${maxLevel}02${maxLevel}03${maxLevel}04${maxLevel}%02X", 100) }
else { else {
def c = getColorData(colorName) def c = getColorData(colorName)
def newValue = ["hue": c.h, "saturation": c.s, "level": level, "red": c.r, "green": c.g, "blue": c.b, "hex": c.hex, "alpha": c.alpha] def newValue = ["hue": c.h, "saturation": c.s, "level": level, "red": c.r, "green": c.g, "blue": c.b, "hex": c.hex, "alpha": c.alpha]
setColor(newValue) setColor(newValue)
def r = hex(c.r * (level/100)) def r = hex(c.r * (level/100))
def g = hex(c.g * (level/100)) def g = hex(c.g * (level/100))
def b = hex(c.b * (level/100)) def b = hex(c.b * (level/100))
@@ -823,19 +823,19 @@ def toggleTiles(color) {
if ( !state.colorTiles ) { if ( !state.colorTiles ) {
state.colorTiles = ["softwhite","daylight","warmwhite","red","green","blue","cyan","magenta","orange","purple","yellow","white","fireplace","storm","deepfade","litefade","police"] state.colorTiles = ["softwhite","daylight","warmwhite","red","green","blue","cyan","magenta","orange","purple","yellow","white","fireplace","storm","deepfade","litefade","police"]
} }
def cmds = [] def cmds = []
state.colorTiles.each({ state.colorTiles.each({
if ( it == color ) { if ( it == color ) {
log.debug "Turning ${it} on" log.debug "Turning ${it} on"
cmds << sendEvent(name: it, value: "on${it}", display: True, descriptionText: "${device.displayName} ${color} is 'ON'", isStateChange: true) cmds << sendEvent(name: it, value: "on${it}", displayed: True, descriptionText: "${device.displayName} ${color} is 'ON'", isStateChange: true)
} else { } else {
//log.debug "Turning ${it} off" //log.debug "Turning ${it} off"
cmds << sendEvent(name: it, value: "off${it}", displayed: false) cmds << sendEvent(name: it, value: "off${it}", displayed: false)
} }
}) })
delayBetween(cmds, 2500) delayBetween(cmds, 2500)
} }

View File

@@ -43,8 +43,8 @@ def parse(String description) {
} }
def push() { def push() {
sendEvent(name: "switch", value: "on", isStateChange: true, display: false) sendEvent(name: "switch", value: "on", isStateChange: true, displayed: false)
sendEvent(name: "switch", value: "off", isStateChange: true, display: false) sendEvent(name: "switch", value: "off", isStateChange: true, displayed: false)
sendEvent(name: "momentary", value: "pushed", isStateChange: true) sendEvent(name: "momentary", value: "pushed", isStateChange: true)
} }

View File

@@ -81,7 +81,7 @@ def zwaveEvent(physicalgraph.zwave.commands.configurationv1.ConfigurationReport
def value = "when off" def value = "when off"
if (cmd.configurationValue[0] == 1) {value = "when on"} if (cmd.configurationValue[0] == 1) {value = "when on"}
if (cmd.configurationValue[0] == 2) {value = "never"} if (cmd.configurationValue[0] == 2) {value = "never"}
[name: "indicatorStatus", value: value, display: false] [name: "indicatorStatus", value: value, displayed: false]
} }
def zwaveEvent(physicalgraph.zwave.commands.hailv1.Hail cmd) { def zwaveEvent(physicalgraph.zwave.commands.hailv1.Hail cmd) {

View File

@@ -114,7 +114,7 @@ def zwaveEvent(physicalgraph.zwave.commands.configurationv1.ConfigurationReport
def value = "when off" def value = "when off"
if (cmd.configurationValue[0] == 1) {value = "when on"} if (cmd.configurationValue[0] == 1) {value = "when on"}
if (cmd.configurationValue[0] == 2) {value = "never"} if (cmd.configurationValue[0] == 2) {value = "never"}
[name: "indicatorStatus", value: value, display: false] [name: "indicatorStatus", value: value, displayed: false]
} }
def zwaveEvent(physicalgraph.zwave.commands.hailv1.Hail cmd) { def zwaveEvent(physicalgraph.zwave.commands.hailv1.Hail cmd) {
@@ -174,17 +174,17 @@ def refresh() {
} }
void indicatorWhenOn() { void indicatorWhenOn() {
sendEvent(name: "indicatorStatus", value: "when on", display: false) sendEvent(name: "indicatorStatus", value: "when on", displayed: false)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 3, size: 1).format())) sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [1], parameterNumber: 3, size: 1).format()))
} }
void indicatorWhenOff() { void indicatorWhenOff() {
sendEvent(name: "indicatorStatus", value: "when off", display: false) sendEvent(name: "indicatorStatus", value: "when off", displayed: false)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [0], parameterNumber: 3, size: 1).format())) sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [0], parameterNumber: 3, size: 1).format()))
} }
void indicatorNever() { void indicatorNever() {
sendEvent(name: "indicatorStatus", value: "never", display: false) sendEvent(name: "indicatorStatus", value: "never", displayed: false)
sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [2], parameterNumber: 3, size: 1).format())) sendHubCommand(new physicalgraph.device.HubAction(zwave.configurationV1.configurationSet(configurationValue: [2], parameterNumber: 3, size: 1).format()))
} }

View File

@@ -516,7 +516,7 @@ def pollResponse(response, data) {
def hub = getChildDevice("harmony-${it.key}") def hub = getChildDevice("harmony-${it.key}")
if (hub) { if (hub) {
if (it.value.response.data.currentAvActivity == "-1") { if (it.value.response.data.currentAvActivity == "-1") {
hub.sendEvent(name: "currentActivity", value: "--", descriptionText: "There isn't any activity running", display: false) hub.sendEvent(name: "currentActivity", value: "--", descriptionText: "There isn't any activity running", displayed: false)
} else { } else {
def currentActivity def currentActivity
def activityDTH = getChildDevice("harmony-${it.key}-${it.value.response.data.currentAvActivity}") def activityDTH = getChildDevice("harmony-${it.key}-${it.value.response.data.currentAvActivity}")
@@ -524,7 +524,7 @@ def pollResponse(response, data) {
currentActivity = activityDTH.device.displayName currentActivity = activityDTH.device.displayName
else else
currentActivity = getActivityName(it.value.response.data.currentAvActivity,it.key) currentActivity = getActivityName(it.value.response.data.currentAvActivity,it.key)
hub.sendEvent(name: "currentActivity", value: currentActivity, descriptionText: "Current activity is ${currentActivity}", display: false) hub.sendEvent(name: "currentActivity", value: currentActivity, descriptionText: "Current activity is ${currentActivity}", displayed: false)
} }
} }
} else { } else {
@@ -576,7 +576,7 @@ def getActivityList() {
} }
activities += [id: "off", name: "Activity OFF", type: "0"] activities += [id: "off", name: "Activity OFF", type: "0"]
} }
hub.sendEvent(name: "activities", value: new groovy.json.JsonBuilder(activities).toString(), descriptionText: "Activities are ${activities.collect { it.name }?.join(', ')}", display: false) hub.sendEvent(name: "activities", value: new groovy.json.JsonBuilder(activities).toString(), descriptionText: "Activities are ${activities.collect { it.name }?.join(', ')}", displayed: false)
} }
} }
} }