RoKu
19. Mai 2026 um 14:21
1
Hallo zusammen,
ich befasse mich erst seit ein paar Wochen mit Home Assistant und habe voller Stolz mein erstes Dashboard kreiert.
Ein kleiner Punkt stört mich noch. Ich habe eine Karte, die die Leistung des Fritz Smart Energy 250 Sensors anzeigt. Minus -Werte bedeuten Einspeisung, Plus-Werte sind Netzbezug. Nun hätte ich gerne, daß die negativen Werte in Grün erscheinen, die positiven Werte in Rot. Ich habe schon alle möglichen Codes ausprobiert, aber die Farbe ändert sich nicht. Vielleicht kann mir jemand helfen. Dann wissen es alle, wann die Waschmaschine einzuschalten ist
type: entity
entity: sensor.fritz_smart_energy_250_2_leistung
grid_options:
columns: 9
rows: 1
card_mod:
style:
state-badge$:
- ha-icon:
$: |
ha-svg-icon {
color: {{ 'green' if states('sensor.fritz_smart_energy_250_2_leistung') | float < 0 else 'red'}};
}
icon: mdi:home-lightning-bolt-outline
state_color: true
Momentan sieht es so aus:
Grüsse
Robert
Auf den ersten Blick würde ich sagen, Einrückungen sind falsch.
card-mod gehört mw ganz nach links.
(Ist Aktiv wenn ein Stift neben “Show Code Editor” (unten Links) angezeigt wird.)
(Mein HA läuft in english)
Eine Lösung einfach nur hingeworfen, weil ich los mus
- entity: sensor.node_pve_gesamte_updates
name: PVE Updates vorhanden
card_mod:
style: |
{% set v = states('sensor.node_pve_gesamte_updates') | float(1) %}
:host {
{% if v > 0 %}
--card-mod-icon-color: blue;
color: blue;
{% else %}
--card-mod-icon-color: black;
color: black;
{% endif %}
}
Das definitiv.
Das färbt den State:
type: tile
entity: sensor.fritz_smart_energy_250_2_leistung
card_mod:
style: |
:host {
--ha-tile-info-secondary-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }};
}
Ich wundere mich, das du mit deinem Code auf ein Icon abzielst. (ha-svg-icon) Soll der State oder das Icon? Oder beides?
für das Icon:
ha-card {
--tile-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }} !important;
}
Das ist der Name:
:host {
--ha-tile-info-primary-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }};
}
Alles:
type: tile
entity: sensor.fritz_smart_energy_250_2_leistung
card_mod:
style: |
:host {
--ha-tile-info-secondary-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }};
--ha-tile-info-primary-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }};
}
ha-card {
--tile-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }} !important;
}
RoKu
19. Mai 2026 um 18:48
5
Vielen Dank für alle Antworten,
der Code Schnipsel von Schlumperdix war die Lösung
RoKu
19. Mai 2026 um 19:22
6
Eine Kleinigkeit hätte ich noch:
Wenn der Primary Text weiß bleiben soll, und nur der Leistungswert (Secondary Text) eingefärbt werden soll, wie muß ich den ha-card Code erweitern?
Etwa so, primary-text-color bzw. secondary-text color …
ha-card {
#--tile-color: {{ 'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }} !important;
--primary-text-color: {{'white !important;}}
--secondary-text-color: {{'red' if states('sensor.fritz_smart_energy_250_2_leistung') | float(0) > 0 else 'green' }} !important;
}
funktioniert aber leider nicht.
Ne. Das ist nur ne css Definition. Die Klammern dienen dazu um den Jinja2 Code reinzubringen.
Dann nur so:
--primary-text-color: white !important;
Reicht es nicht wenn man --primary-text-color: ganz weglässt?
RoKu
20. Mai 2026 um 07:45
8
Vielen Dank,
die Klammern waren das Problem.