Probleme mit der Automation "SolarFlow Power-Sensoren nullen"
Hallo,
ich habe zum Test mal die o.g. Automation eingebunden. Nun ist mir aber aufgefallen, dass damit z.B. der Wert vom Sensor sensor.solarflow_solar_input_power ständig auf 0 gesetzt wird, obwohl sich der Wert während des Tages immer wieder leicht ändert.
Übersehe ich da was?
VG Benjamin
So wie die Automation hier hinterlegt ist, setzt sie den Wert auf 0, wenn er sich für drei Minuten nicht geändert hat. Wenn das vom Intervall zu kurz ist, einfach den Zeitansatz höher setzen.
Grundsätzlich bleibt zu sagen, dass die Automation auch nur eine rundimentäre Krücke und keine Goldrandlösung ist.
Hallo zusammen,
hatte die selbe Beobachtung gemacht und mir die Automation daraufhin genauer angesehen. Das Problem liegt in den hinterlegten Templates zum Generieren der Trigger-IDs.
Zum Beispiel:
value_template: >- {{ (as_timestamp(now()) - as_timestamp(states.sensor.solarflow_solar_input_power.last_changed)) > 3 }}
Die Template-Funktion as_timestamp() liefert ein UNIX Timestamp, also die Zeit seit 0 Uhr UTC am 1. Januar 1970 in Sekunden. Deshalb wird das Template TRUE, sobald sich der Wert des Sensors für 3 Sekunden nicht geändert hat. Für 3 Minuten muss also ein Vergleich gegen 180 Sekunden erfolgen.
value_template: >- {{ (as_timestamp(now()) - as_timestamp(states.sensor.solarflow_solar_input_power.last_changed)) > 180 }}
MFG
Da hast du wohl recht 😄
Danke, passe ich an.
Viele Dank. Ich bin bis zum Wert 20 gegangen, aber weiter habe ich dann nicht mehr getestet.
Hallo, ich muss mich hier mal ranhängen, denn die Automation scheint bei mir nicht anzuschlagen.
Theoretisch hätte die Automation doch nach der Zeit anspringen soll.
Kurz zum Verständnis: Im Template steht:
- conditions:
- condition: trigger
id:
- outputHomePower
- condition: numeric_state
entity_id: sensor.solarflow_output_home_power
above: 0
sequence:
- service: mqtt.publish
data:
qos: "0"
topic: <appKey>/<deviceID>/state
payload: "{\"outputHomePower\":0}"
Ich denke wie in der ganzen Anleitung müssen hier <appKey> und <deviceID> mit den passenden Werten ersetzt werden?
Korrekt.
sensor.solarflow_output_home_power ggf. anpassen, wenn der bei dir anders heißt.
<appKey> und <deviceID> durch deine Daten ersetzen. Alles inklusive der <> muss durch deine Daten ersetzt werden.
Aber: Output Home Power ist Hauseinspeisung und der wurde in deinem Screenshot gerade erst aktualisiert.
Danke, ja der Screenshot kam dann zur unpassenden Zeit. Jetzt habe ich nämlich den Fall gerade. Akku ist runter auf 10%, System wechselt laut App nur zwischen Standby und Bypass.
Verzerren tut es ja am meisten der sensor.packinputpower bzw. der sensor.outputhomepower wenn die über Nacht auf dem letzten Wert stehen bleiben. (Die Namen hatte HA so angelegt)
Der betreffende Part sieht ja so aus:
alias: SolarFlow Power-Sensoren nullen description: >- Wenn sich der Wert eines Power-Sensors innerhalb der letzten drei Minuten nicht geändert hat, wird er auf 0 W gesetzt. trigger:
- platform: template value_template: >- {{ (as_timestamp(now()) - as_timestamp(states.sensor.packinputpower.last_changed)) > 180 }} id: packInputPower [...] condition: [] action:
- choose:
- conditions:
- condition: trigger
id:
- packInputPower
- condition: numeric_state entity_id: sensor.packInputPower above: 0 sequence:
- data: qos: "0" topic: ABCDEFG/HIJKLMNOPQR/state payload: "{"packInputPower":0}" action: mqtt.publish [...]
- condition: trigger
id:
- conditions:
Entweder hab ich irgendwo einen Fehler eingebaut oder mein HA spinnt neuerdings.
Hallo,
habe den Hyper 2000 erst seit gut zwei Wochen und konnte mit "Solar Power" noch nocht viel testen. Habe aber den Akku schon mehrmals über dynamische Strom-Tarife gefüllt und da saugt der Akku konstant die 1200W über eine längere Zeit ohne Aktualisierung über den MQTT.
Dabei ist mir aufgefallen, dass in diesem Falle die Automatisierung " ... Power-Sensoren nullen" regelmäßig zuschlägt.
Habe daher eine weitere Bedingung für die Aktions-Optinonen hinzugefügt. Und zwar wird nun auch noch der "PackState" beachtet.
Danach sehen die Power-Kurven wesentlich realistischer aus.
So ähnlich habe ich es auch gelöst. Wenn pack_state auf Standby (0) wechselt -> gridInputPower und outputHomePower auf 0 setzen.
Automation:
alias: Reset Hyper 2000 power on standby
description: ""
triggers:
- trigger: state
entity_id:
- sensor.hyper_2000_pack_state
from: null
to: Standby
conditions: []
actions:
- action: mqtt.publish
data:
evaluate_payload: false
qos: "0"
retain: false
topic: XXXXXXX/YYYYYY/state
payload: "{\"gridInputPower\": 0, \"outputHomePower\": 0}"
mode: single
(Ich habe meinen pack_state als enum konfiguriert, falls man das nicht hat einfach 0 statt Standby bei to: eintragen)