Wert auf "0" setzen bei unveränderten Sensor-Wert

Hallo,

ich ermittle im ersten Schritt mittels Ableitungssensor aus dem Zählerstand des Einspeise-Zähler die aktuelle Einspeise-Leistung. → 0,450 /h
Im zweiten Schritt nehme ich mittels Tamplate den Wert des Ableitungssensors *1000 um die aktuellen Watt zu erhalten → Ergebnis 450 W

Nun habe ich jedoch das Problem, dass der Wert immer auf dem letzten Stand “hängen” bleibt sobald es keine Änderungen mehr gibt. So wird dann am Ende des Tages, über Nacht bis zum nächsten Tag, wenn sich der Wert zum ersten mal wieder ändert, durchgehend z.B. 25 Watt ausgegeben.

Gibt es eine Möglichkeit, dass im Tamplate der Wert auf “0” gesetzt wird, sobald es keine Änderungen des Sensor-Wert mehr gibt?

Moin,
keine Ahnung ob es funktioniert aber hast du es mal versucht einen der Sensoren mit dem Dienst homeassistant.update_entity zu aktualisieren?

Edit:
habe noch was anderes gefunden als ich eben durch HACS gestöbert habe:
https://github.com/pmazz/ps_hassio_entities

Edit 2:
Heute ein tag später hat Simon ein Video drüber gemacht.

LG

Vielen Dank!

Fürs erste ist die Lösung für mich ok.
Ich habe es nun so gelöst, dass der Leistungswert sowohl bei Sonnenuntergang als auch bei bestimmten Helligkeitswerten (durch die Wetterstation) auf “0” gesetzt wird.

Unschick ist halt dabei, dass die Methode etwas “träge” ist und es sich in den Grafiken abzeichnet.

Aber damit kann ich vorerst leben.
Vielen Dank nochmal!

Hallo,
habe das gleiche Problem und eine Lösung im Forum gefunden, dass man da einen Sensor erstelleen soll, der zwangsweise Daten in die DB schreibt auch wenn sich nichts ändert.

Leider funktioniert das bei mir nicht. Hier der Auszug aus der CONFIG.YAML für den Sensorr und den Ableitungssensor, welcher den dann nutzt:

 - sensor:
      - name: "Ertrag PV Solaredge update jede Minute"
        # auch ohe Wertänderung jede Minute einen Wert in DB schreiben
        unique_id: "ertrag_pv_solaredge_update_jede_minute"
        state: >
           "{{ (states("sensor.tasmota_lesekopf_hichi_itron_ace3000_strom_total_inz1")) }}"
        attributes: 
            minute_counter: "{{ now().minute }}"      
sensor:      
      - name: "PV Solaredge Aktuelle Leistung"
        platform: derivative
        source: sensor.ertrag_pv_solaredge_update_jede_minute
        # source: sensor.tasmota_lesekopf_hichi_itron_ace3000_strom_total_inz1
        # unit_time: min
        unit: kW
        round: 2

Was mache ich falsch, der Wert bleit immer noch stehen undgeht nicht auf 0?

Danke für eure Hilfe

Hallo,

also ich bin inzwischen dazu übergegangen, keine Leistungs-Daten mehr mittels Ableitungs-Sensoren und Tasmota-Lesekopf zu ermitteln, da dies einfach viel zu ungenau, träge und fehleranfällig ist.
Leistungen über Zählerstände abzuleiten macht langfristig keinen Sinn bzw. hat zu viele Fehler und sollte man echt nicht weiter verfolgen.
Ich ermittle alle Leistungen nur noch mittels Sensoren von “Shelly”.

1 „Gefällt mir“

Ich habe jetzt meine Sensoren mit dem Python Script auf 0 gesetzt. Das funktioniert aber nur bist zum Neustart von HA.
Was mach ich da falsch bzw. wie setze ich die auf 0 zurück?

Du kannst keinen Sensor Wert setzen. Das ist eine Einbahnstraße.
Ein Sensor sendet Daten und empfängt keine.
Das setzen des Status über Entwicklungszwerkzeuge, dient einzig und alleine zu debugging Zwecken. Z.B. zum testen von Automatisierungen. Dabei wird der Wert ausschließlich in Home Assistant temporär geändert.
Das was Du über das Skript machst ist nichts anders.

Sobald der Sensor einen neunen Wert sendet, wird der von Dir überschrieben, oder eben nach einen Home Assistant Neustart, wenn die Sensorwerte neu abgefragt werden.

Gruß
Osorkon

1 „Gefällt mir“