Hausverbrauch berechnen (mehrere Fälle)

Bereich rings rum zum Thema Yaml und seine Tücken.


Antworten
Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Markus »

Hab irgendwo einen Knoten drinnen in meinem Template....folgende Sensorwerte hätte ich zur Verfügung. Daraus möchte ich den aktuellen Verbrauch des Hauses berechnen

  • Batterie_Entladung
  • Batterie_Beladung
  • Netz_Bezug
  • Netz-Einspeisung
  • PV Produktion

eigentlich dachte ich alle Fälle abgedeckt zu haben, aber irgendwas stimmt nicht

Zur besseren Lesbarkeit habe ich eine einfache Bezeichnung für die Sensoren eingesetzt, fällt Euch was auf?

Code: Alles auswählen

    state: >       
    
{% if (states('Batterie_Entladung') | float ) > 0 and (states('Netz_Bezug') | float ) > 0 %} {{ ((states('Batterie_Entladung') | float ) + (states('PV_Produktion') | float ) + (states('Netz_Bezug') | float )) | round(0) }} {% elif (states('Batterie_Entladung') | float ) > 0 and (states('Netz_Bezug') | float ) <= 0 %} {{ (states('Batterie_Entladung') | float ) + (states('PV_Produktion') | float )| round(0) }} {% elif (states('PV_Produktion') | float ) > 0 and (states('Netz_Einspeisung') | float ) > 0 and (states('Batterie_Ladung') | float ) > 0 %} {{ ((states('PV_Produktion') | float ) - (states('Netz_Einspeisung') | float ) - (states('Batterie_Ladung')|float)) | round(0) }} {% elif (states('PV_Produktion') | float ) > 0 and (states('Netz_Bezug') | float ) > 0 and (states('Batterie_Ladung') | float ) <= 0 %} {{ ((states('PV_Produktion') | float ) + (states('Netz_Bezug') | float )) | round(0) }} {% elif (states('PV_Produktion') | float ) <= 0 and (states('Batterie_Entladung') | float ) <= 0 %} {{ (states('Netz_Bezug') | float ) | round(0) }} {% elif (states('PV_Produktion') | float ) > 0 and (states('Netz_Einspeisung') | float ) > 0 and (states('Batterie_Ladung') | float ) <= 0 %} {{ ((states('PV_Produktion') | float ) - (states('Netz_Einspeisung') | float )) | round(0) }} {%- else -%} {{ (states('Netz_Bezug') | float ) | round(0) }} {%- endif %}
Dateianhänge
haus.jpg
haus.jpg (47.24 KiB) 355 mal betrachtet
Benutzeravatar
Friedi
Beiträge: 443
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 36 times
Been thanked: 21 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Friedi »

Da fehlen ein paar wichtige Sachen:

  • Was erwartest du?

  • Was kommt derzeit raus?

  • Was stimmt denn nicht?

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Markus »

Der Wert des Hausverbrauchs ist nicht immer richtig

Hilfreich für eine Fehlersuche wäre welche if/elif Bedingung gerade relevant ist

Oder hat jemand eine andere Idee wie ich diese Aufgabe lösen könnte?

Benutzeravatar
Friedi
Beiträge: 443
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 36 times
Been thanked: 21 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Friedi »

Also im ersten Elif fehlt meines Erachtens schon mal die Prüfung auf PV-Produktion. Da gehst du davon aus, dass PV produziert, weißt es aber nicht.

Mir persönlich fällt generell auf, dass du in deinen if/elif nicht alle Optionen prüfst. Ist meiner Erfahrung nach keine gute Idee, da immer was vergessen wird.

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Markus »

Friedi hat geschrieben: Sa 9. Mär 2024, 11:01

Also im ersten Elif fehlt meines Erachtens schon mal die Prüfung auf PV-Produktion. Da gehst du davon aus, dass PV produziert, weißt es aber nicht.

Mir persönlich fällt generell auf, dass du in deinen if/elif nicht alle Optionen prüfst. Ist meiner Erfahrung nach keine gute Idee, da immer was vergessen wird.

Das befürchte ich auch ;-) Welche Fälle fehlen bzw. wie könnte man es anders lösen?

Benutzeravatar
Friedi
Beiträge: 443
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 36 times
Been thanked: 21 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Friedi »

Markus hat geschrieben: Sa 9. Mär 2024, 11:06

Das befürchte ich auch ;-) Welche Fälle fehlen bzw. wie könnte man es anders lösen?

Naja, wie ich schrieb, du fragst in deinen bestehenden if/elif schon nicht alle ab, die du hier verwendest, sondern immer nur einen Teil. Das ist halt imho nicht konsistent.

Code: Alles auswählen

    {% elif (states('Batterie_Entladung') | float ) > 0  and (states('Netz_Bezug') | float ) <= 0  %}
    {{ (states('Batterie_Entladung') | float ) + (states('PV_Produktion') | float )| round(0) }}

Da fehlt halt schon die Abfrage, ob überhaupt PV produziert wird. Was ist mit der Ladung der Batterie? Steht nix da.
Was wäre z.B. wenn folgendes eintritt?

Code: Alles auswählen

(states('Batterie_Entladung') | float ) > 0  and (states('Netz_Bezug') | float ) > 0

Das sind alles Dinge, die nicht abgefragt werden.

Du musst erst mal in jeder if/elif Bedingung alle Sachen prüfen. Dann siehst du auch die Sachen, die du vergessen hast. Normalisieren kannst du danach (sofern überhaupt nötig).

Wenn du was prüfst, musst du dich danach immer sofort fragen, was passiert, wenn sich eine Sache ändert und diese ebenfalls abfragen und da fehlen bei dir imho einige Sachen.

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Markus »

Glaub ich muss mir immer alle Sensorwerte als Ausgangssituation in das if/elif schreiben und dann die Berechnung dazu

Benutzeravatar
Friedi
Beiträge: 443
Registriert: Do 22. Jul 2021, 16:57
2
Has thanked: 36 times
Been thanked: 21 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Friedi »

Markus hat geschrieben: Sa 9. Mär 2024, 13:06

Glaub ich muss mir immer alle Sensorwerte als Ausgangssituation in das if/elif schreiben und dann die Berechnung dazu

Genau so. Sonst kommst du bei solchen Sachen in Devil's Kitchen :shock:

whoami
Beiträge: 23
Registriert: So 8. Jan 2023, 20:55
1
Has thanked: 10 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von whoami »

Mir hatte dies damals sehr geholfen einzusteigen. Ich finde die Visualisierung sehr gelungen. Zumindest hast aber eine Idee wie man die einzelnen Datenströme ausrechnen könnte:

Scroll runter zum Bereich: Tesla Powerwall Usage
https://github.com/reptilex/tesla-style ... power-card

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Markus »

whoami hat geschrieben: So 10. Mär 2024, 14:16

Mir hatte dies damals sehr geholfen einzusteigen. Ich finde die Visualisierung sehr gelungen. Zumindest hast aber eine Idee wie man die einzelnen Datenströme ausrechnen könnte:

Scroll runter zum Bereich: Tesla Powerwall Usage
https://github.com/reptilex/tesla-style ... power-card

Spannend, das "Ding" rechnet richtig...

Benutzeravatar
Markus
Beiträge: 437
Registriert: Fr 23. Jul 2021, 09:03
2
Wohnort: Österreich
Has thanked: 21 times
Been thanked: 8 times

Re: Hausverbrauch berechnen (mehrere Fälle)

Beitrag von Markus »

Interessant, die Anzeige läuft kontinuierlich

pul2.jpg
pul2.jpg (8.47 KiB) 221 mal betrachtet

die Template-Formel hingegen gegen pulsiert

pul1.jpg
pul1.jpg (10.76 KiB) 221 mal betrachtet

Kommt man eigentlich wo an die Berechnungsformel die der tesla-style-solar-power-card zu Grunde liegt?

Antworten