Sollwert des Zählers berechnen und anzeigen sowie Korrektur einfließen lassen

Nach der Aktion hat es selbst nach Reboot ganz schön lange gedauert bis das System wieder brauchbar war... py3 ist selbst nachdem ich das Rückgängig gemacht habe voll durchgedreht und hat CPU Last von 100 bis 180% verursacht :unsure:
 
Da war schonmal ein Fehler drin, hab den mal korrigiert:

YAML:
- trigger:
    platform: state
    entity_id:
      - sensor.l3_power
  sensor:
    name: "l3_power_filtered"
    unit_of_measurement: 'W'
    device_class: power
    state: >-
     {{ iif((states('sensor.l3_power') | float(0) > 0), (states('sensor.l3_power') | float(0)), (states('sensor.l3_power_filtered') | float(0)))}}

Davon hast du ja mehrere, wenn ich mich recht entsinne. Die solltest du alle so umschreiben. Das Minus und die Einrückung unter trigger stimmten nicht.
 
Das habe ich schonmal angepasst, das ist nun der Stand:
Code:
# Template filter states <=0
- trigger:
    platform: state
    entity_id:
        - sensor.l1_voltage
  sensor:
    name: "l1_voltage_filtered"
    unit_of_measurement: 'V'
    device_class: voltage
    state: >-
     {{ iif((states('sensor.l1_voltage') | float(0) > 0), (states('sensor.l1_voltage') | float(0)), (states('sensor.l1_voltage_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l2_voltage
  sensor:
    name: "l2_voltage_filtered"
    unit_of_measurement: 'V'
    device_class: voltage
    state: >-
     {{ iif((states('sensor.l2_voltage') | float(0) > 0), (states('sensor.l2_voltage') | float(0)), (states('sensor.l2_voltage_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l3_voltage
  sensor:
    name: "l3_voltage_filtered"
    unit_of_measurement: 'V'
    device_class: voltage
    state: >-
     {{ iif((states('sensor.l3_voltage') | float(0) > 0), (states('sensor.l3_voltage') | float(0)), (states('sensor.l3_voltage_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l1_current
  sensor:
    name: "l1_current_filtered"
    unit_of_measurement: 'A'
    device_class: current
    state: >-
     {{ iif((states('sensor.l1_current') | float(0) > 0), (states('sensor.l1_current') | float(0)), (states('sensor.l1_current_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l2_current
  sensor:
    name: "l2_current_filtered"
    unit_of_measurement: 'A'
    device_class: current
    state: >-
     {{ iif((states('sensor.l2_current') | float(0) > 0), (states('sensor.l2_current') | float(0)), (states('sensor.l2_current_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l3_current
  sensor:
    name: "l3_current_filtered"
    unit_of_measurement: 'A'
    device_class: current
    state: >-
     {{ iif((states('sensor.l3_current') | float(0) > 0), (states('sensor.l3_current') | float(0)), (states('sensor.l3_current_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l1_power
  sensor:
    name: "l1_power_filtered"
    unit_of_measurement: 'W'
    device_class: power
    state: >-
     {{ iif((states('sensor.l1_power') | float(0) > 0), (states('sensor.l1_power') | float(0)), (states('sensor.l1_power_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l2_power
  sensor:
    name: "l2_power_filtered"
    unit_of_measurement: 'W'
    device_class: power
    state: >-
     {{ iif((states('sensor.l2_power') | float(0) > 0), (states('sensor.l2_power') | float(0)), (states('sensor.l2_power_filtered') | float(0)))}}

- trigger:
    platform: state
    entity_id:
        - sensor.l3_power
  sensor:
    name: "l3_power_filtered"
    unit_of_measurement: 'W'
    device_class: power
    state: >-
     {{ iif((states('sensor.l3_power') | float(0) > 0), (states('sensor.l3_power') | float(0)), (states('sensor.l3_power_filtered') | float(0)))}}
 
Also das geht doch aber dann in den Bereich:
Warum einfach wenn’s auch kompliziert geht oder?

Von deinem Startbeitrag ausgehend willst du das gleiche Ergebnis haben.
 
Nicht ganz, es sei denn ich blicke das nicht so ganz (was gut vorstellbar ist :D)
Ich möchte die Werte, die HA von Shelly 3EM geliefert bekommt schon so für das Energiedashboard verwenden wie sie sind, zusätzlich aber auch noch die festgestellte Abweichung einbeziehen.
In dem anderen Thread wird das ja alles irgendwie in einem Sensor gemacht....
 
Ja genau.
Shelly liefert doch die Sensoren schon für die Energie der 3 Phasen, dann noch einen Helper für die Differenz und dann addieren.
Fertig ist der Sensor fürs Dashboard, und der Wert stimmt mit dem des Zählers überein.
 
Vermutlich stelle ich mir dieses Konstrukt falsch vor... Ich kann aber Erfolg vermelden!
Nachdem ich den bisherigen Inhalt korrigiert habe, klappt es auch mit dem neuen Inhalt.
Das schaut nun so aus:
1678189849140.png
Bei der anderen Variante verstehe ich es so, dass hier dann nur noch der Gesamtverbrauch inkl. Korrektur angezeigt wird
 
Zur Vervollständigung... Ich habe dazu noch das hier:
1678190166449.png

Dort wird mir die Arbeit seit Beginn der Messung angezeigt und der Zählerstand als Referenz zu diesem Zeitpunkt angegeben.
Unten wird mir angezeigt, welchen Stand der Zähler laut HA haben sollte, Abweichungen werden mit Zählerstand Korrektur kompensiert. Diese wird dann separat im Energiedashboard samt kosten ausgewiesen.... hoffe ich jedenfalls, momentan wird mir dort noch kein Wert angezeigt, aber das kann ja dauern.
 
Läuft soweit, ja.
Bzgl Funktion muss ich nochmal testen, der hat aktuell von gestern 2kW als Korrektur drin, heute habe ich das auf 0 gesetzt und nun hat er -2 drin. Eigentlich soll natürlich immer nur der aktuell eingegebene Wert verwendet werden und keine Änderungen.
Habe nun erstmal alle states dazu gelöscht und werde testen.
 
Wenn du nichts ins Netz zurück speist kann der Korrekturwert ja eigentlich nie kleiner werden.
Warum hast du den auf Null gesetzt?
 
Um zu testen :)
Normalerweise sollte der Wert nicht nach unten korrigiert werden, sondern eher immer mal nach oben... Aber auch mit einer Fehleingabe muss ich rechnen und das testen...
 

Letzte Anleitungen

Statistik des Forums

Themen
4.472
Beiträge
46.003
Mitglieder
4.102
Neuestes Mitglied
UltimateSolar
Zurück
Oben