Pretty much noob fort few months now with hass.io.
It works great, but would like to make it bit easier because of specifics of my installation.
For lights I use Philips Dynalite relays and dimmers, and there is specific integration for it, still in hard beta so bit limited.
What i have at the moment is that every state of every light is represented with two or three switches in HA.
For example, i have Kitchen light single bulb connected to dimmer.
Because of the way it is integrated i have three light/switches for this one bulb:
(Kuhinja = serbian/croatian for Kitchen :))
If i turn on Kuhinja On, Kuhinja Dimm and Kuhinja Off will turn Off.
Also, if i turn on, Kuhinja Off, other two will turn off.
It works, but makes it more compliated than needed, also making list of my lights 3x times longer.
Beside, All lights OFF command in HA makes a mess, some lights turn on, some off some get dimmed⌠terrible
How can i make one âmultistateâ switch for one lights something like:
Kitchen light (OFF) (Dimmed) (ON)
Where i choose state for that light and single states are hidden ?
I know nothing about the particular hardware, but if you have a dimable light, then it seems more appropriate that the integration appear as a light type entity, that has the notion of a brightness/dim level?
A template switch is different from a template light right? Thatâs why I suggested it. Just figuring out the template light myself now, hoping it will also be dimmable.
@uzelac: My suggestion would be to figure out the value templates for on, off and brightness level. Then integrate them into a template light. I donât know much about your particular hardware though, so youâll have to figure out if itâs working for you by yourself
Wow, thanks a lot, seems like some of this could work :).
It would be great to have one switch instead of 2/3, even if i waste dimmability. I have full control through original keypads, so simple on/off is still usable.
Of course, it would be much better to have full dimming control, I guess it is possible, but not through this custom component, at least until Troy makes it better :).
Since i have this gateway part of Dynalite installation, i can send something what i would call http request⌠not sure if this is correct name.
For example, if i âvisitâ this page through my web browser (192.168.1.25 is my Dynalite gateway):
http://192.168.1.25/SetDyNet.cgi?a=5&c=1&l=100
It will set my lights in Kitchen (Area 5) Main light (Channel 1) to Full power (Level 100)
So, can i make slider which will I program to send level I choose (X) via this HTTP request: http://192.168.1.25/SetDyNet.cgi?a=5&c=1&l=X
How can i make⌠dimmable light entity ??? to have slider with 100 positions which will send this http request ?
I tried some of this with node-red, but without success ⌠too much noob
Interesting case
I think it could be done with a REST command, example is found here.
I think you donât actually need a separate slider. A template light contains a brightness slider by default, as long as you include the âset_levelâ part. In your set_level part, I imagine you would call the REST command.
set_level:
- service: rest_command.rest_brightness
data:
bri: "{{ (brightness/255*100) | int }}" # regular brightness is scaled 0-255, but you need a percentage
Ofcourse I havenât tested this⌠I skipped the script (as shown in the linked example) but perhaps you need a script.
I did manage to combine on and off switches in one switch (and i hide original ones) and it works great, instead of 20+ i now have 3x times less. Great
I used template light, i picked that one first and it worked in few minutes. Thanks!
Now, to figure out dimmingâŚ
First i thought I could do it via node-red, to be honest never heard of rest command and it sounded something complicated. Than i took second look, and it looked it couldnât be easier so i gave it a try.
And it works (not really) from the start!
To be exact it works but not as it should, since it always sends brightness level 0 to my Dynalite.
Whatever brightness level i choos it sends 0 and ligths go out.
But, still, hey, great work!
Never played with variables, so i presume problem is there.
If i use fixed command (fixed brightness level) it works good, so definately variable and how it makes it. Im positive it is solvable.
Thanks once again!
Grrr⌠cant get this to work.
Is syntax for this brightness part ok ?
Whatever i do with syntax rest command allways sends zero for brightness.
Still, if i fix bri variable to some value, it will send it perfectly so it sounds rest is doing fine, issues is how to translate brightness 0-255 to 0-100 which my hardware can use.
Can you post the full code for your template light? Makes it easier to troubleshoot.
Edit1: Try perhaps
bri: â{{ (brightness|float /255*100) | int }}â
Weâll get there
Edit2: I think I found my mistake. I used âdata:â instead of âdata_template:â. So it should be:
set_level:
- service: rest_command.rest_brightness
data_template:
bri: "{{ (brightness/255*100) | int }}" # regular brightness is scaled 0-255, but you need a percentage
Been polishing this up and encountered an problem with switching on/off and setting brightnessâŚ
So, when i switch on the light, HA will send command to turn on light and Dynalite will turn it on at maximum brightness.
And HA will show brightness at maximum level.
When i turn light off, all is ok, and brightness slider shows zero value.
If i use slider for brightness light will turn on at that level, so that works OK also.
If i set slider to zero, light will turn off and switch will be at OFF position, also OK.
Issues are:
if i set brightness to some value which is not maximum and then turn off light, next time i turn it on brightness level will show previous level even though command turned on light to maximum brightnessâŚ
if i turn on light by setting slider, it will turn on light but HA will show switch at off position.
So, i wonder, is there a way when i turn on light, to tell HA to set it up to maximum just so it will also âthinkâ and show on slider that that light is at maximum after turning on ?
Two value_templates? I believe Home Assistant will only use the second one (it supersedes the first one). It may also explain the behavior you described.
A single value_template should report the Template Lightâs state.
This is how connection to my other âsmart homeâ system (aka Dynalte) is done, via presets, so i have bot off and on lights in HA, When dynalite_some_light_off is on other light (dynalte_some_light_on) is ON. Light is on when ON version is ON⌠simple
Not that important, it worked with to templates, and it works the same with just one