[lifx] Add channels for controlling absolute color temperature in Kelvin (#11309)
* [lifx] Add channels for controlling absolute color temperature in Kelvin Adds an 'abstemperature' channel to all Thing Types for controlling the absolute color temperature in Kelvin. MultiZone lights also have 'abstemperaturezone' channels that allow for controlling the color temperature of a zone in Kelvin. These channels make it easier to use the same color temperature with lights that have a different color temperature range. Furthermore the channel type tags have been updated which simplifies using the generated items with the semantic model. Signed-off-by: Wouter Born <github@maindrain.net>
This commit is contained in:
@@ -43,14 +43,14 @@ The following table lists the thing types of the supported LIFX devices:
|
||||
The thing type determines the capability of a device and with that the possible ways of interacting with it.
|
||||
The following matrix lists the capabilities (channels) for each type:
|
||||
|
||||
| Thing Type | On/Off | Brightness | Color | Color Zone | Color Temperature | Color Temperature Zone | HEV Cycle | Infrared | Tile Effects |
|
||||
|---------------|:------:|:----------:|:-----:|:----------:|:-----------------:|:----------------------:|:---------:|:--------:|:------------:|
|
||||
| colorlight | X | | X | | X | | | | |
|
||||
| colorhevlight | X | | X | | X | | X | | |
|
||||
| colorirlight | X | | X | | X | | | X | |
|
||||
| colormzlight | X | | X | X | X | X | | | |
|
||||
| tilelight | X | X | X | | X | | | | X |
|
||||
| whitelight | X | X | | | X | | | | |
|
||||
| Thing Type | On/Off | Brightness | Color | Color Zone | (Abs) Color Temperature | (Abs) Color Temperature Zone | HEV Cycle | Infrared | Tile Effects |
|
||||
|---------------|:------:|:----------:|:-----:|:----------:|:-----------------------:|:----------------------------:|:---------:|:--------:|:------------:|
|
||||
| colorlight | X | | X | | X | | | | |
|
||||
| colorhevlight | X | | X | | X | | X | | |
|
||||
| colorirlight | X | | X | | X | | | X | |
|
||||
| colormzlight | X | | X | X | X | X | | | |
|
||||
| tilelight | X | X | X | | X | | | | X |
|
||||
| whitelight | X | X | | | X | | | | |
|
||||
|
||||
## Discovery
|
||||
|
||||
@@ -85,17 +85,19 @@ Thing lifx:colorirlight:porch [ host="10.120.130.4", fadetime=0 ]
|
||||
|
||||
All devices support some of the following channels:
|
||||
|
||||
| Channel Type ID | Item Type | Description | Thing Types |
|
||||
|-----------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| brightness | Dimmer | This channel supports adjusting the brightness value. | whitelight |
|
||||
| color | Color | This channel supports full color control with hue, saturation and brightness values. | colorlight, colorhevlight, colorirlight, colormzlight, tilelight |
|
||||
| colorzone | Color | This channel supports full zone color control with hue, saturation and brightness values. | colormzlight |
|
||||
| effect | String | This channel represents a type of light effect (e.g. for tile light: off, morph, flame) | tilelight |
|
||||
| hevcycle | Switch | This channel supports starting and stopping the HEV clean cycle. | colorhevlight |
|
||||
| infrared | Dimmer | This channel supports adjusting the infrared value. *Note:* IR capable lights only activate their infrared LEDs when the brightness drops below a certain level. | colorirlight |
|
||||
| signalstrength | Number | This channel represents signal strength with values 0, 1, 2, 3 or 4; 0 being worst strength and 4 being best strength. | colorlight, colorhevlight, colorirlight, colormzlight, tilelight, whitelight |
|
||||
| temperature | Dimmer | This channel supports adjusting the color temperature from cold (0%) to warm (100%). | colorlight, colorhevlight, colorirlight, colormzlight, tilelight, whitelight |
|
||||
| temperaturezone | Dimmer | This channel supports adjusting the zone color temperature from cold (0%) to warm (100%). | colormzlight |
|
||||
| Channel Type ID | Item Type | Description | Thing Types |
|
||||
|--------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
|
||||
| abstemperature | Number | This channel supports adjusting the color temperature in Kelvin. | colorlight, colorhevlight, colorirlight, colormzlight, tilelight, whitelight |
|
||||
| abstemperaturezone | Number | This channel supports adjusting the zone color temperature in Kelvin. | colormzlight |
|
||||
| brightness | Dimmer | This channel supports adjusting the brightness value. | whitelight |
|
||||
| color | Color | This channel supports full color control with hue, saturation and brightness values. | colorlight, colorhevlight, colorirlight, colormzlight, tilelight |
|
||||
| colorzone | Color | This channel supports full zone color control with hue, saturation and brightness values. | colormzlight |
|
||||
| effect | String | This channel represents a type of light effect (e.g. for tile light: off, morph, flame) | tilelight |
|
||||
| hevcycle | Switch | This channel supports starting and stopping the HEV clean cycle. | colorhevlight |
|
||||
| infrared | Dimmer | This channel supports adjusting the infrared value. *Note:* IR capable lights only activate their infrared LEDs when the brightness drops below a certain level. | colorirlight |
|
||||
| signalstrength | Number | This channel represents signal strength with values 0, 1, 2, 3 or 4; 0 being worst strength and 4 being best strength. | colorlight, colorhevlight, colorirlight, colormzlight, tilelight, whitelight |
|
||||
| temperature | Dimmer | This channel supports adjusting the color temperature from cold (0%) to warm (100%). | colorlight, colorhevlight, colorirlight, colormzlight, tilelight, whitelight |
|
||||
| temperaturezone | Dimmer | This channel supports adjusting the zone color temperature from cold (0%) to warm (100%). | colormzlight |
|
||||
|
||||
The *color* and *brightness* channels have a "Power On Brightness" configuration option that is used to determine the brightness when a light is switched on.
|
||||
When it is left empty, the brightness of a light remains unchanged when a light is switched on or off.
|
||||
@@ -107,9 +109,9 @@ If both "Power on brightness" and "Power On Color" configuration options are def
|
||||
|
||||
The *temperature* channels have a "Power On Temperature" configuration option that is used to determine the color temperature when a light is switched on. When it is left empty, the color temperature of a light remains unchanged when a light is switched on or off.
|
||||
|
||||
MultiZone lights (*colormzlight*) have several channels (e.g. *colorzone0*, *temperaturezone0*, etc.) that allow for controlling specific zones of the light.
|
||||
Changing the *color* and *temperature* channels will update the states of all zones.
|
||||
The *color* and *temperature* channels of MultiZone lights always return the same state as *colorzone0*, *temperaturezone0*.
|
||||
MultiZone lights (*colormzlight*) have several channels (e.g. *colorzone0*, *temperaturezone0*, *abstemperaturezone0*, etc.) that allow for controlling specific zones of the light.
|
||||
Changing the *color*, *temperature* and *abstemperature* channels will update the states of all zones.
|
||||
The *color*, *temperature* and *abstemperature* channels of MultiZone lights always return the same state as *colorzone0*, *temperaturezone0*, *abstemperaturezone0*.
|
||||
|
||||
The *hevcycle* channels have an optional "HEV Cycle Duration" configuration option that can be used to override the cycle duration configured in the light.
|
||||
|
||||
@@ -174,36 +176,44 @@ Thing lifx:whitelight:kitchen [ deviceId="D073D5D4D4D4", fadetime=150 ]
|
||||
// Living
|
||||
Color Living_Color { channel="lifx:colorlight:living:color" }
|
||||
Dimmer Living_Temperature { channel="lifx:colorlight:living:temperature" }
|
||||
Number Living_Abs_Temperature { channel="lifx:colorlight:living:abstemperature" }
|
||||
|
||||
// Living2 (alternative approach)
|
||||
Color Living2_Color { channel="lifx:colorlight:living2:color" }
|
||||
Switch Living2_Switch { channel="lifx:colorlight:living2:color" }
|
||||
Dimmer Living2_Dimmer { channel="lifx:colorlight:living2:color" }
|
||||
Dimmer Living2_Temperature { channel="lifx:colorlight:living2:temperature" }
|
||||
Number Living2_Abs_Temperature { channel="lifx:colorlight:living2:abstemperature" }
|
||||
|
||||
// Desk
|
||||
Color Desk_Color { channel="lifx:colorhevlight:desk:color" }
|
||||
Dimmer Desk_Temperature { channel="lifx:colorhevlight:desk:temperature" }
|
||||
Number Desk_Abs_Temperature { channel="lifx:colorhevlight:desk:abstemperature" }
|
||||
Switch Desk_HEV_Cycle { channel="lifx:colorhevlight:desk:hevcycle" }
|
||||
|
||||
// Porch
|
||||
Color Porch_Color { channel="lifx:colorirlight:porch:color" }
|
||||
Dimmer Porch_Infrared { channel="lifx:colorirlight:porch:infrared" }
|
||||
Dimmer Porch_Temperature { channel="lifx:colorirlight:porch:temperature" }
|
||||
Number Porch_Abs_Temperature { channel="lifx:colorirlight:porch:abstemperature" }
|
||||
Number Porch_Signal_Strength { channel="lifx:colorirlight:porch:signalstrength" }
|
||||
|
||||
// Ceiling
|
||||
Color Ceiling_Color { channel="lifx:colormzlight:ceiling:color" }
|
||||
Dimmer Ceiling_Temperature { channel="lifx:colormzlight:ceiling:temperature" }
|
||||
Number Ceiling_Abs_Temperature { channel="lifx:colormzlight:ceiling:abstemperature" }
|
||||
Color Ceiling_Color_Zone_0 { channel="lifx:colormzlight:ceiling:colorzone0" }
|
||||
Dimmer Ceiling_Temperature_Zone_0 { channel="lifx:colormzlight:ceiling:temperaturezone0" }
|
||||
Number Ceiling_Abs_Temperature_Zone_0 { channel="lifx:colormzlight:ceiling:abstemperaturezone0" }
|
||||
Color Ceiling_Color_Zone_15 { channel="lifx:colormzlight:ceiling:colorzone15" }
|
||||
Dimmer Ceiling_Temperature_Zone_15 { channel="lifx:colormzlight:ceiling:temperaturezone15" }
|
||||
Number Ceiling_Abs_Temperature_Zone_15 { channel="lifx:colormzlight:ceiling:abstemperaturezone15" }
|
||||
|
||||
// Kitchen
|
||||
Switch Kitchen_Toggle { channel="lifx:whitelight:kichen:brightness" }
|
||||
Dimmer Kitchen_Brightness { channel="lifx:whitelight:kitchen:brightness" }
|
||||
Dimmer Kitchen_Temperature { channel="lifx:whitelight:kitchen:temperature" }
|
||||
Number Kitchen_Abs_Temperature { channel="lifx:whitelight:kitchen:abstemperature" }
|
||||
```
|
||||
|
||||
### demo.sitemap:
|
||||
@@ -216,6 +226,7 @@ sitemap demo label="Main Menu"
|
||||
Slider item=Living_Color
|
||||
Colorpicker item=Living_Color
|
||||
Slider item=Living_Temperature
|
||||
Slider item=Living_Abs_Temperature
|
||||
}
|
||||
|
||||
Frame label="Living2" {
|
||||
@@ -223,6 +234,7 @@ sitemap demo label="Main Menu"
|
||||
Slider item=Living2_Dimmer
|
||||
Colorpicker item=Living2_Color
|
||||
Slider item=Living2_Temperature
|
||||
Slider item=Living2_Abs_Temperature
|
||||
}
|
||||
|
||||
Frame label="Desk" {
|
||||
@@ -230,6 +242,7 @@ sitemap demo label="Main Menu"
|
||||
Slider item=Desk_Color
|
||||
Colorpicker item=Desk_Color
|
||||
Slider item=Desk_Temperature
|
||||
Slider item=Desk_Abs_Temperature
|
||||
Switch item=Desk_HEV_Cycle
|
||||
}
|
||||
|
||||
@@ -238,6 +251,7 @@ sitemap demo label="Main Menu"
|
||||
Slider item=Porch_Color
|
||||
Colorpicker item=Porch_Color
|
||||
Slider item=Porch_Temperature
|
||||
Slider item=Porch_Abs_Temperature
|
||||
Slider item=Porch_Infrared
|
||||
Text item=Porch_Signal_Strength
|
||||
}
|
||||
@@ -247,16 +261,20 @@ sitemap demo label="Main Menu"
|
||||
Slider item=Ceiling_Color
|
||||
Colorpicker item=Ceiling_Color
|
||||
Slider item=Ceiling_Temperature
|
||||
Slider item=Ceiling_Abs_Temperature
|
||||
Colorpicker item=Ceiling_Color_Zone_0
|
||||
Slider item=Ceiling_Temperature_Zone_0
|
||||
Slider item=Ceiling_Abs_Temperature_Zone_0
|
||||
Colorpicker item=Ceiling_Color_Zone_15
|
||||
Slider item=Ceiling_Temperature_Zone_15
|
||||
Slider item=Ceiling_Abs_Temperature_Zone_15
|
||||
}
|
||||
|
||||
Frame label="Kitchen" {
|
||||
Switch item=Kitchen_Toggle
|
||||
Slider item=Kitchen_Brightness
|
||||
Slider item=Kitchen_Temperature
|
||||
Slider item=Kitchen_Abs_Temperature
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user