[FR] Support numerical range values for state_map
DeFlanko opened this issue · 5 comments
Looking to utilize the State_map function for heart rates:
type: custom:mini-graph-card
labels: true
name_adaptive_color: true
lower_bound: 50
color_thresholds:
- value: 180
color: '#9A56A3'
name: High Performance Zone
- value: 155
color: '#3B9555'
name: Performance Zone
- value: 135
color: '#EA9423'
name: Fitness Zone
- value: 110
color: '#FEEB3F'
name: Health Improvement Zone
- value: 90
color: '#8CABD7'
name: Inactive
state_map:
- value: 180
color: '#9A56A3'
label: High Performance Zone
- value: 155
color: '#3B9555'
label: Performance Zone
- value: 135
color: '#EA9423'
label: Fitness Zone
- value: 110
color: '#FEEB3F'
label: Health Improvement Zone
- value: 90
color: '#8CABD7'
label: Inactive
height: 50
hours_to_show: 4
points_per_hour: 12
line_width: 3
animate: true
show:
name_adaptive_color: true
icon_adaptive_color: true
labels: true
entities:
- entity: sensor.google_pixel_watch_jd_heart_rate_2
name: Heart Rate
currently it wont show what heart zone the sensor is in. Would be nice to see that next to the bpm
Suggest to re-read Docs & check your code.
Just a 1st glance:
type: custom:mini-graph-card
labels: true
Here the labels
is misplaced.
color_thresholds:
- value: 180
color: '#9A56A3'
name: High Performance Zone
The color_thresholds
does not have name
option.
state_map:
- value: 180
color: '#9A56A3'
label: High Performance Zone
The state_map
does not have color
option.
Also, state_map
does not work for ranges, it works for exact values.
which is why i asked it to be an enhancement request, i completely understand how the state_map is only for single digit non ranged values, but i'm looking to have it look to ranged values so that anything in between the two heart ranges can named that state_mapped value.
Corrected all the code logic btw, still works - but again asking for the state_mapped value to be a range.
type: custom:mini-graph-card
name_adaptive_color: true
lower_bound: 50
color_thresholds:
- value: 180
color: '#9A56A3'
- value: 155
color: '#3B9555'
- value: 135
color: '#EA9423'
- value: 110
color: '#FEEB3F'
- value: 90
color: '#8CABD7'
state_map:
- value: 180
label: High Performance Zone
- value: 155
label: Performance Zone
- value: 135
label: Fitness Zone
- value: 110
label: Health Improvement Zone
- value: 90
label: Inactive
height: 50
hours_to_show: 4
points_per_hour: 12
line_width: 3
animate: true
show:
name_adaptive_color: true
icon_adaptive_color: true
labels: true
entities:
- entity: sensor.google_pixel_watch_jd_heart_rate_2
name: Heart Rate
I see, then the issue title is currently not clear.
As a workaround:
- Create a template sensor with desired values like "low", "average", "high".
- Add this sensor on a card as the 2nd entity with showing a state but w/o showing a graph.
Alternatively - do NOT create a sensor but simply change a card's background color accordingly to show a current status (card-mod using jinja templates).