JTPublic
(JT)
February 8, 2021, 8:53pm
21
Now, test using template to set background-color:
type: 'custom:config-template-card'
entities: [light.extended_color_light_4]
style: []
card:
type: picture-elements
image: /local/floorplan/base.png
elements:
- type: image
entity: light.extended_color_light_4
state_image:
"on": /local/floorplan/couch.png
"off": /local/floorplan/empty.png
"unavailable": /local/floorplan/empty.png
style:
top: 50%
left: 50%
width: 100%
background-color: >-
${var light_rgb='{0,255,0}'.replace('{','').replace('}','');
if (states['light.extended_color_light_4'].state == 'on') 'rgba('+light_rgb+',1)';
else 'rgba(0,0,0,0)';}
If that works, background color will be green when light is on.
JTPublic
(JT)
February 8, 2021, 8:59pm
23
Yes, the hue-rotate would work with a static color for each defined state.
Here, we are try to match the color of an RGB light with a wide range of colors.
JTPublic
(JT)
February 8, 2021, 9:01pm
24
Now, the complete code:
type: 'custom:config-template-card'
entities: [light.extended_color_light_4]
style: []
card:
type: picture-elements
image: /local/floorplan/base.png
elements:
- type: image
entity: light.extended_color_light_4
state_image:
"on": /local/floorplan/couch.png
"off": /local/floorplan/empty.png
"unavailable": /local/floorplan/empty.png
style:
top: 50%
left: 50%
width: 100%
background-color: >-
${var light_rgb=states['light.extended_color_light_4'].attributes['rgb_color'].replace('{','').replace('}','');
if (states['light.extended_color_light_4'].state == 'on') 'rgba('+light_rgb+',1)';
else 'rgba(0,0,0,0)';}
If that works, the background color will be your light.extended_color_light_4 color when thatâs on.
Xornop
February 8, 2021, 9:16pm
25
That doesnât work: the card is empty againâŚ
JTPublic
(JT)
February 8, 2021, 9:17pm
26
What do you get from {{ state_attr(âlight.extended_color_light_4â,ârgb_colorâ) }} in the Template page with the color you set now?
JTPublic
(JT)
February 8, 2021, 9:23pm
28
Ok, what about {{ state_attr(âlight.extended_color_light_4â,ârgb_colorâ)[0] }} ?
JTPublic
(JT)
February 8, 2021, 9:30pm
30
The attribute is actually a list, not text.
Change the background-color to this:
background-color: >-
${var r=states['light.extended_color_light_4'].attributes['rgb_color'][0];
var g=states['light.extended_color_light_4'].attributes['rgb_color'][1];
var b=states['light.extended_color_light_4'].attributes['rgb_color'][2];
if (states['light.extended_color_light_4'].state == 'on') 'rgba('+r+','+g+','+b+',1)';
else 'rgba(0,0,0,0)';}
Xornop
February 8, 2021, 9:31pm
31
YES! some progress! that worked, the background is now the same color as the light.
JTPublic
(JT)
February 8, 2021, 9:32pm
32
Would you please share a screenshot to see what it looks like?
Xornop
February 8, 2021, 9:33pm
33
However, the card disappears when i turn off the light.
JTPublic
(JT)
February 8, 2021, 9:36pm
34
Would you copy and paste your code here so we can double check it? Screenshot does not show complete set of code.
Xornop
February 8, 2021, 9:38pm
35
type: 'custom:config-template-card'
entities:
- light.extended_color_light_4
style: []
card:
type: picture-elements
image: /local/floorplan/base.png
elements:
- type: image
entity: light.extended_color_light_4
state_image:
'on': /local/floorplan/couch.png
'off': /local/floorplan/empty.png
unavailable: /local/floorplan/empty.png
style:
top: 50%
left: 50%
width: 100%
background-color: >-
${var
r=states['light.extended_color_light_4'].attributes['rgb_color'][0];
var g=states['light.extended_color_light_4'].attributes['rgb_color'][1];
var b=states['light.extended_color_light_4'].attributes['rgb_color'][2];
if (states['light.extended_color_light_4'].state == 'on') 'rgba('+r+','+g+','+b+',1)';
else 'rgba(0,0,0,0)';}
I mean⌠i just copy yoursâŚ
JTPublic
(JT)
February 8, 2021, 9:49pm
36
I canât see any difference besides you donât have quote around unavailable:
"unavailable": /local/floorplan/empty.png
Try adding quote around the word unavailable, just like on and off.
JTPublic
(JT)
February 8, 2021, 9:59pm
38
Try replacing all the empty.png with couch.png.
JTPublic
(JT)
February 8, 2021, 10:05pm
40
Do you see the couch.png when light is off now?
If not, try refresh your browser couple of times, CSS sometimes need force refresh to show up.