I have Lidl Livarno Lux zigbee color changing light.
I see possible actions for this light by default after I added to HA:
Can someone please let me know where I can find the definitions of these actions for this specific device and where should I add extra actions for this light? Basically by default this light misses color changing action.
I can’t find definition of these commands in config file or the database. My intention is to modify the config associated with this specific device and add new actions.
Thanks in advance.
p.s. Also,could someone point me to the right direction in the documentation on how to add a color slider and brightness slider to HA device’s UI:
Quick & dirty tips if you’re still relatively new.
Also, turn on your lights and check their state in developer tools. You should be able to see the colour & brightness attributes which you can send as data in the light.turn_on service call
By the sound of it those functions are not available out of the box in ZHA. If you search the device handler issues pages on GitHub you will see that there are several reports relating to this range of lights.
It may be that a custom handler (or “quirk”) is available. Lots of good advice here:
If you look at the Blackadder database of Zigbee devices, you’ll see that Lidl Livarno Lux is a range rather than a specific model. I don’t see a “colour changing light” there, but perhaps nobody has tested it yet.
The Z2M devices page has a number of Lidl lights, but it’s hard to tell which one is yours. There are pictures of them, though, which may help.
Ok, so the specific light I have is _TZ3000_5fkufhn1 :
It also supports color temperature changing via UI (I have not realized initially that I need to click on the in HA UI to get a popup to control brightness and color temperature ).
I am also able to control color temperature via service definition:
There is also a ZHA Quirk to fix incorrectly reported RGB color feature by this light:
Only my specific model looks to be missing here in definitions, so likely I’ll need to make pull request.
The only thing I still can not find where the actions come from and what to edit to add a new action for automations. In automations there are already available actions:
increase brightness
decrease brightness
The actions I want to add here are:
increase color temperature
decrease color temperature
These actions should be really similar to brightness implementation: add/substract color temperature while it is in the allowed range. So if I could find out implementation/configuration of the brightness control code/config, I should be able to add color temperature control myself.
If I’m understanding you correctly, what you’re asking for is the equivalent of a brightness_step & brightness_step_pct service call, but for colour temperature.
Something like color_temp_kelvin_step and color_temp_kelvin_step_pct unfortunately doesn’t seem to exist, so it looks like you have to get creative.
You have three options if you want to use this in automations:
Use fixed values for your colour temperature if you only have a couple of preferred temps (note that kelvin is marked as deprecated in favour of color_temp_kelvin):
Use a template light for more granularity and the possibility to tie that to an input number helper. This will give you both a slider and the possibility to increase/decrease the values in steps using the input_number.increment service call in an automation.
I get the feeling that the solutions provided are going a far to technical way.
Takaways (some already present above):
Color and color temperature controls are to be found in the details dialog.
The Tile component in the GUI also can put sliders for them in the GUI directly.
Device actions as shown in the original post are to be avoided.
The light.turn_on service can set brightness, color temperature, etc.
Now for increment/decrement actions on brightness, color, etc.
ZHA quirks are (at least in my opinion) for accessing hardware functions that ZHA does not automatically detect. So it may be that the hardware has those commands, but It may also be that they are just not there.
The good thing about service calls though, is that they support templating. So if you really need an action to increase/decrease the values you can send through light.turn_on, then you can create those actions yourself with a litthe templating.