SpikeyGG
(Greg G.)
December 27, 2020, 10:25pm
1
I just realized that I can look at each of my solar inverter’s power generation. They each show up as a sensor value. This begs to be displayed in a heatmap; something like the Envoy system presents in its mobile app:
I’d also like to do this with my ESPHome devices that I’ve enabled around the house since each one gives off a WiFi strength measurement.
Does anyone know if there’s a Lovelace card implemented that can do a heatmap style representation?
Thanks,
-Greg
hey
did you ever work this out?
SpikeyGG
(Greg G.)
April 27, 2021, 1:06pm
3
Nope. AFAIK, it doesn’t exist.
Nixay
(Andrew Nix)
March 23, 2022, 11:33pm
5
This is what I’ve done so far using a tab for a single panel with that panel being a grid. I then approximated the positions of the panels within the grid using Gauge cards and used Entities cards with no entities specified as my “spacers”. Bit of a hack but it does give me visibility over how the panels are performing. It just isn’t readable on mobile because it squishes up too much.
A heatmap card would be amazing though.
1 Like
senhorb
(Arthur)
October 9, 2022, 2:40am
6
Apexcharts has nice heatmap plotting options, which could be used with a daily_utility_meter
.
Still, I have not been able to make it work yet using:
GitHub - RomRider/apexcharts-card: 📈 A Lovelace card to display advanced graphs and charts based on ApexChartsJS for Home Assistant .
Plotting as a stacked bar chart of my per solar pannel utility meters works
But not when trying to use a custom config with heatmaps.
type: custom:apexcharts-card
apex_config:
chart:
type: heatmap
graph_span: 14d
span:
end: day
show:
last_updated: true
series:
- entity: sensor.inverter_xxxx_energy_daily
group_by:
func: max
duration: 1d
- entity: sensor.inverter_xxxx_energy_daily
group_by:
func: max
duration: 1d
...
The following is the result, Y and X axis change to what is expected, but the data is still plotted as a line
:
Nixay
(Andrew Nix)
June 19, 2024, 3:04am
7
I thought I should update this topic since a google search on this topic brings up my gauge card abomination above. I have found a better way to achieve a good-looking solar panel heat map using the Picture Elements card, though it’s a bit convoluted.
I wanted power levels to be represented in 10 colour steps, so I created a template sensor for each solar panel which broke down the output level from the panel into a 10-step range. My inverters are rated for up to 345 watts so I divided that up into 38 watts per step making 9 steps and the 10th essentially being “max power”. I’m no expert so I’m sure this template code could be better but it works:
{% set x = "0" %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 0 %}{% set x = "1" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 39 %}{% set x = "2" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 77 %}{% set x = "3" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 115 %}{% set x = "4" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 153 %}{% set x = "5" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 191 %}{% set x = "6" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 229 %}{% set x = "7" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 267 %}{% set x = "8" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 305 %}{% set x = "9" %}{% endif %}{% if states('sensor.envoy_redacted_inverter_redacted')| float > 343 %}{% set x = "10" %}{% endif %}{{x}}
I then created 10 colour step images in both vertical and horizontal orientations and overlayed them on a Picture Elements card with this configuration:
type: picture-elements
image: /local/Solar-panels.jpg
elements:
- type: image
entity: sensor.solar_panel_7129
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 31%
left: 20%
width: 9%
- type: image
entity: sensor.solar_panel_1709
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 37%
left: 20%
width: 9%
- type: image
entity: sensor.solar_panel_7563
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 43%
left: 20%
width: 9%
- type: image
entity: sensor.solar_panel_6569
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 49%
left: 20%
width: 9%
- type: image
entity: sensor.solar_panel_1374
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 55%
left: 20%
width: 9%
- type: image
entity: sensor.solar_panel_7698
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 61%
left: 20%
width: 9%
- type: image
entity: sensor.solar_panel_7312
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 19%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_1706
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 25%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_4560
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 31%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_7928
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 37%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_7504
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 43%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_7689
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 49%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_5872
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 55%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_3898
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 61%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_7974
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 67%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_8835
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 73%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_2637
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 79%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_4884
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 85%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_4885
tap_action:
action: none
image: /local/solar-panel-power-horz-0.jpg
state_image:
'1': /local/solar-panel-power-horz-1.jpg
'2': /local/solar-panel-power-horz-2.jpg
'3': /local/solar-panel-power-horz-3.jpg
'4': /local/solar-panel-power-horz-4.jpg
'5': /local/solar-panel-power-horz-5.jpg
'6': /local/solar-panel-power-horz-6.jpg
'7': /local/solar-panel-power-horz-7.jpg
'8': /local/solar-panel-power-horz-8.jpg
'9': /local/solar-panel-power-horz-9.jpg
'10': /local/solar-panel-power-horz-10.jpg
style:
top: 91%
left: 9%
width: 9%
- type: image
entity: sensor.solar_panel_7930
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 11%
left: 21%
width: 5%
- type: image
entity: sensor.solar_panel_7640
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 11%
left: 27%
width: 5%
- type: image
entity: sensor.solar_panel_5234
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 11%
left: 33%
width: 5%
- type: image
entity: sensor.solar_panel_4583
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 53%
left: 44%
width: 5%
- type: image
entity: sensor.solar_panel_5025
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 53%
left: 50%
width: 5%
- type: image
entity: sensor.solar_panel_7794
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 53%
left: 56%
width: 5%
- type: image
entity: sensor.solar_panel_7929
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 53%
left: 62%
width: 5%
- type: image
entity: sensor.solar_panel_4581
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 53%
left: 68%
width: 5%
- type: image
entity: sensor.solar_panel_3899
tap_action:
action: none
image: /local/solar-panel-power-vert-0.jpg
state_image:
'1': /local/solar-panel-power-vert-1.jpg
'2': /local/solar-panel-power-vert-2.jpg
'3': /local/solar-panel-power-vert-3.jpg
'4': /local/solar-panel-power-vert-4.jpg
'5': /local/solar-panel-power-vert-5.jpg
'6': /local/solar-panel-power-vert-6.jpg
'7': /local/solar-panel-power-vert-7.jpg
'8': /local/solar-panel-power-vert-8.jpg
'9': /local/solar-panel-power-vert-9.jpg
'10': /local/solar-panel-power-vert-10.jpg
style:
top: 53%
left: 74%
width: 5%
The only downside to this is clicking on a panel for more info just brings up the template sensor, not the actual panel sensor, so I’ve set the tap_action
on each panel to none
for now.
The template sensors wouldn’t be necessary if conditional elements could use numeric values with above and below thresholds but at this time it appears conditions are either equals or not equals.