For the same reason that Ildar explained in his previous answer:
(To be clear, UoM = Unit of Measurement). In other words, you will need to identify the CSS selector for the UoM, and apply the same card-mod code to it
For the same reason that Ildar explained in his previous answer:
(To be clear, UoM = Unit of Measurement). In other words, you will need to identify the CSS selector for the UoM, and apply the same card-mod code to it
yes, and there is a section for this UoM. Bold in this section works, my “W” is bolded. Positioning, exactly the same as in section “value” doesn’t work. Why?
Maybe more clear view, code (borders added only to show that these sections works:
ha-card .states.flex .state .state__value.ellipsis {
font-weight: bold;
font-family: Arial;
position: relative;
top: 70px;
border: 3px solid green;
}
ha-card .states.flex .state .state__uom.ellipsis{
font-weight: bold;
color: black
position: relative;
top: 70px;
border: 3px solid green;
}
And result:
Your reply made me look much closer at the CSS here - ultimately, what you are trying to do is overlap 2 div
elements, one which contains the state value and UoM, and the other which contains the min and max values.
It’s a bit hacky really, but overall you might be better off applying a negative margin-top
value to the min/max div
, so it overlaps with the state div
above it.
This works for me, but I’ve no idea how it will scale on different views and layouts:
- type: custom:mini-graph-card
card_mod:
style: |
span.state__value {
font-weight: bold;
}
span.state__uom.ellipsis {
font-weight: bold;
}
div.info.flex {
margin-top: -70px;
}
entities:
- <your-entity-here>
Ildar, would you like to chip in here with your greater expertise?
Works, thanks!
Last question: is there any way to add prefix or any text before value?
I removed title line, but I think about something indicating that on this graph is a sum of power from three phases. So instead of just 768W, could be: “Total: 768W” or “Σ 768W”
I tried to do it with “name” moved down, but unfortunately above of “min, value, max” line is left an empty space, regardless of moving this field.
Prefixes / suffixes for data:
type: custom:mini-graph-card
entities:
- sensor.cleargrass_1_temperature
show:
labels: true
average: true
extrema: true
name: false
icon: false
style: |
.states.flex .state .state__value.ellipsis::before {
content: "value is ";
color: orange;
}
.states.flex .state .state__uom.ellipsis::before {
content: "unit is ";
color: cyan;
}
.info.flex .info__item .info__item__type::after {
content: " (within interval)";
font-size: 10px;
text-transform : none;
color: red;
}
.info.flex .info__item .info__item__value::before {
content: "value is ";
font-size: 10px;
color: magenta;
}
.info.flex .info__item:nth-child(odd) .info__item__time::before {
content: "at ";
color: magenta;
}
.graph .graph__container .graph__labels .label--max::before {
content: "MAX ";
color: red;
}
.graph .graph__container .graph__labels .label--min::before {
content: "MIN ";
color: red;
}
For several entities:
type: custom:mini-graph-card
entities:
- entity: sensor.xiaomi_cg_1_temperature
- entity: sensor.xiaomi_cg_1_co2
show_state: true
y_axis: secondary
show:
name: false
icon: false
labels: true
labels_secondary: true
style: |
.states.flex > .state .state__value.ellipsis::before {
content: "v_1 ";
color: orange;
}
.states.flex > .state .state__uom.ellipsis::before {
content: "u_1 ";
color: cyan;
}
.states.flex > .states--secondary .state .state__value.ellipsis::before {
content: "v_2 ";
color: red;
}
.states.flex > .states--secondary .state .state__uom.ellipsis::before {
content: "u_2 ";
color: lightgreen;
}
.graph .graph__container .graph__labels.--primary .label--max::before {
content: "MAX_1 ";
color: red;
}
.graph .graph__container .graph__labels.--primary .label--min::before {
content: "MIN_1 ";
color: red;
}
.graph .graph__container .graph__labels.--secondary .label--max::before {
content: "MAX_2 ";
color: cyan;
}
.graph .graph__container .graph__labels.--secondary .label--min::before {
content: "MIN_2 ";
color: cyan;
}
There is a way based on this method:
You may place the sun.sun
graph UNDER the 1st graph:
But compare to the 1st picture - the right scale is misaligned because it is 00:14 now and the NEW date is displayed.
Check the not-hidden graph:
Also, a similar misalignment may occur for the left scale.
So, this is not a PERFECT way.
Check GitHub for an issue for adding X-scale.
The code:
type: custom:stack-in-card
keep:
background: true
cards:
- type: custom:mini-graph-card
entities:
- entity: sensor.cleargrass_1_co2
name: CO2
hours_to_show: 48
points_per_hour: 60
line_width: 1
card_mod:
style: |
ha-card {
z-index: 9999;
opacity: 1;
}
- type: history-graph
entities:
- entity: sun.sun
name: Sun
hours_to_show: 48
refresh_interval: 0
card_mod:
style: |
.content {
padding-left: 0px !important;
padding-right: 0px !important;
padding-top: 0px !important;
}
ha-card {
margin-top: -28px;
z-index: 0;
}
Update 24.06.22:
Due to changes in HA 2022.6 in part of history-graph
, this style should be revised:
type: custom:stack-in-card
...
keep:
outer_padding: true
background: true
...
- type: history-graph
entities:
- entity: sun.sun
name: ' '
...
ha-card {
z-index: 0;
margin-top: -31px;
margin-right: -4px;
margin-left: -9px;
}
And result is unstable…
Will try tomorrow, thx!
Amazing support, really appreciate!
Very nice mod!
Added link to the post for card-mod.
- type: custom:mini-graph-card
entities:
- sensor.cleargrass_1_temperature
align_state: center
show:
average: false
extrema: true
card_mod:
style: |
.info.flex {
margin-top: -60px;
}
Thx a lot to both of you for help, finally I decided to not add X scale (too much details on card) and this is my final card for measuring home electricity
Gents, I’d like to ask you about help for other story. I’m trying to make a card showing my current internet connection parameters. Here is my current result:
Left value is a current WAN RX throughput, right - ping answer to my external DNS server.
What I want to change:
Picture elements card + inserted any other cards overlapping each other.
Find my consolidation post for card-mod in this topic.
Probably by rewriting the card.
Add a new text and hide the initial one.
Thx for help. Generally I got what I wanted to have (only Icon I left for later, with picture elements card I should be able to do it without big problems), but last question: here is my current card, I hidden extrema for second value, hidden “Min” value for first one and moved “max” to the left:
Question: how to align value and date to the left? They are aligned to right, because right side is their native position, in my case I’d like to change it. Tried to do it by own:
ha-card .info.flex .info__item:nth-child(2) .info__item__value {
text-align: left;
color: green
}
but no reaction for text-align. Also I tried to put it in expected place manually by command left: 5% added into this section, but then the whole section starts to be ignored (green color disappearing, position without changes))
Try justify-xxxxxx properties for .info__item:nth-child(2)
Tried with justify-content: flex-start and justify-items: left, just no reaction.
Hi Everybody!
I could not deal with 2 things in the last some days. A tried to read everything about them but sadly without success so maybe anyone here can light me the reasons of them.
attributes
, but in theory dev version 3 of unreleased 0.11 can handle it:NaN
result if I’m on dev version 4 of 0.11?type: custom:mini-graph-card
entities:
- entity: sensor.water_quality_fvm
name: Water hardness
attribute: water_hardness
font_size_header: 10
font_size: 66
hour24: true
height: 50
line_width: 1
hours_to_show: 168
show:
labels: false
And the corresponding sensor’s state attributes:
water_quality:
- name: Szabad aktív klór
value: 0,20
unit: mg/l
limit: '1000'
state: ok
...
- name: pH
value: 7,7
unit: ' '
limit: '8.5'
state: ok
location: Budapest - XI. kerület
water_hardness: közepesen kemény
provider: Data provided by vizmuvek.hu
icon: mdi:water
friendly_name: Water Quality FVM
And the result is:
type: custom:mini-graph-card
entities:
- entity: sensor.u_s_air_pollution_level
name: Air quality
font_size_header: 10
font_size: 66
hour24: true
height: 50
line_width: 1
hours_to_show: 168
show:
labels: false
color_thresholds:
- value: hazardous
color: '#ff3d00'
- value: very unhealthy
color: '#ffff00'
- value: unhealthy
color: '#ffff00'
- value: unhealthy for sensitive groups
color: '#ffff00'
- value: moderate
color: '#ffff00'
- value: good
color: '#00ff00'
state_map:
- value: hazardous
label: Hazardous
- value: very unhealthy
label: Very unhealthy
- value: unhealthy
label: Unhealthy
- value: unhealthy for sensitive groups
label: Unhealthy for sensitive groups
- value: moderate
label: Moderate
- value: good
label: Good
But I simply could not get color coded states on the graph. It always shows me all the states in green (is it possible to use multiple colors?..):
Thanks for any efforts on these in advance!
Ok!
Now I’m on the hot fresh official stable 0.11.0
and figured out that for attributes
I have to use state_map
. With it - as the following config show - my problem solved. No think that this is the most intuitive and convenient but at least it works, so thanks for the developers.
The config:
type: custom:mini-graph-card
entities:
- entity: sensor.water_quality_fvm
name: Water hardness
attribute: water_hardness
font_size_header: 10
font_size: 66
hour24: true
height: 50
line_width: 1
hours_to_show: 168
show:
labels: false
state_map:
- value: nagyon lágy
label: Very soft
- value: lágy
label: Soft
- value: közepesen kemény
label: Moderately hard
- value: kemény
label: Hard
- value: nagyon kemény
label: Very hard
…and the result:
But my other problem still ‘active’, which is about the not properly used color_tresholds
with the parallely used state_map
.
I will drop an issue to Github about it.
It works on my setup (0.11.0):
Depends on what values does you attribute have.
If you have numericals - state_map
not need.
Otherwise - surely yes.
Seems you are treating state_map
in a wrong way.
It associates a real value with a displayed string.
But - how do you imagine a graph with non-numericals?
The only way to show a graph is to associate non-numericals with numericals:
Most of the cases for state_map
are like:
state_map:
- value: 'off' #### which is "0" - so this is a numerical
label: Bad ##(or Day, or Switched OFF)
- value: 'on' #### which is "1"
label: Good ##(or Night, or Switched ON)
@Ildar_Gabdullin what you wrote is not really ‘true’.
Both theoretically and practically you can define graphs without numerical value. State_map
from one side could be used for such situations, when the original textual value is not your preferred one. Of course the numerical usage is the most common and basic, but it works without any problem with strings.
All different states
are really different ‘states’, call them ‘levels’ in the graph. The order of them is what you define in the config from top to bottom as less to more.
For example:
Just try it, will work, I use it, and the original manual also mention such use case.
Also check this ‘official example’: GitHub - kalkih/mini-graph-card: Minimalistic graph card for Home Assistant Lovelace UI
And because of it I think textual attribute
values could follow the same working method (as states
already do)…