Hauptmenü

Energy-Card

Begonnen von Damian, 01 April 2026, 23:06:56

Vorheriges Thema - Nächstes Thema

jkriegl

Sorry für meine Ungeduld.
Habe den code energy_card_min übernommen.
Da ich nur ein Balkon-KW und keine Batterie habe, habe ich Anpassungen vorgenommen.
Der Überschuss wird in battery angezeigt, sowie in den rings aktuelle Verbräuche/Erträge.
Sieht eigentlich schon sehr gut aus, aber
bei grid-Bezug läuft die Animation von self -> grid also falsch (Bei Einspeisung gar nichts, aber bei Überschuss korrekt von self -> battery).
Den 3. Parameter von grid "total_c_positiv.day" habe ich auf Null gesetzt, weil nicht verstanden (andere Werte verändern den Tagesbezug).
Auf dem Bild unten ist meine derzeitige Visualisierung (Auszug) mit enthalten.
Wie kann ich die Animation bei Einspeisung auf grid-> self ändern?
Kann man evtl. die Animation self -> battery entfernen, falls grid <-> self in beide Richtungen möglich ist?


Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Damian

#16
Die Aufrufe der jeweiligen Funktionen entsprechen denen aus dem ersten Post:

grid([Netz:Leistung_Einspeisung_Bezug],[Netz:Energie_des_Tages_Einspeisung],[Netz:Energie_des_Tages_Bezug]).\
solar([PV:Leistung],[PV:Energie_des_Tages]).\
home ([Haus:Leistung_Bezug],[Haus:Energie_des_Tages_Bezug]).\
battery([Speicher:Leistung_Laden_Entladen],[Speicher:Kapazität]).\
## Visualisierung von Autarkie und Eigenverbrauchsquote als Ring\
self([Energie:Autarkie],[Energie:Eigenverbrauchsquote]).\
## Visualisierung der Energieflüsse, der zweiter Parameter ist die maximale Leistung\
grid_power([Netz:Leistung_Einspeisung_Bezug],3.6).\
solar_power([PV:Leistung_PV],3.6).\
battery_power([Speicher:Leistung_Bat],1).\
home_power([Haus:Leistung_Bezug],3.6)

Jede Funktion bildet ein Element ab. Die mit "_power" am Ende sind für die Animation zuständig (zweiter Parameter ist die maximale Leistung). Die Animationen (bis auf home) sind für beide Richtungen ausgelegt, abhängig davon, ob der Leistungswert positiv oder negativ ist. Möchte man z. B. keine Batterie haben, löscht man die beiden Zeilen, die mit "battery" beginnen.

Ich bastle an eine Version, wo man nur seine Readings und seine maximalen Werte zentral definiert, ohne den Code anpacken zu müssen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

jkriegl

Vielen Dank für die schnelle Antwort, funktioniert bestens. Das Problem lag an der Einstellung max. Leistung (bei mir W)
Rpi 3/4, buster, Fhem, Cul 868, HM-CC-RT-DN, HM-Sec-Sco, HM-ES-PMSw1-Pl, ebus (Vaillant), ECMD, Telegram, HTTPMOD, Xiaomi, Shelly

Per

Zitat von: Damian am 21 April 2026, 18:24:31Möchte man z. B. keine Batterie haben, löscht man die beiden Zeilen, die mit "battery" beginnen.
Du kannst ja "wenn max XXX=0 dann XXX disableld" machen

Damian

Ich habe einen Wiki-Beitrag zu der kompakten Energie-Karte verfasst.

https://wiki.fhem.de/wiki/DOIF/uiTable_Schnelleinstieg#Visualisierung%3A_Energiefluss_als_kompakte_Energie-Karte

Aus irgendwelchen Gründen wird der Code nicht farblich hervorgehoben. Möglicherweise ist die Wiki-Seite inzwischen zu groß geworden. Vermutlich werde ich die Anwendungsbeispiele auf eine neue Wiki-Seite auslagern.

Ich habe jetzt die gesamte Definition in den Definitionsbereich des DOIF-Devices gepackt. Dort sind zu Anfang aller erforderlichen Maximalwerte definiert und beschriftet. Aller erforderlichen Readings befinden sich jetzt im Attribut DOIF-Readings und haben selbsterklärende Namen. Das Attribut uiTable beinhaltet nur noch die Definition der Tabelle.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF