Zeitdifferenz berechnen

Moin in die Runde,
aufgrund der starken Regenfälle in der letzten Nacht, ist mir die Idee gekommen, die Zeit Differenz, meiner Drainagepumpe zu berechnen, also die Zeit, vom letzten Einschaltpunkt, zum aktuellsten, um daraus sehen, evtl. Beurteilen zu können, ob die Pumpe es schaffen kann, o. ob ich andere Maßnahmen ergreifen muss. Könnt ihr mir “aufs Pferd” helfen, wie man sowas errechnet? Die Pumpe und das sie einschaltet, habe ich festgehalten (über den Strom)…

Kannst Du ein wenig konkreter werden?

Die Zeit, welche die Pumpe zuletzt ununterbrochen eingeschaltet war?
Die gesamte Einschaltdauer pro Tag/Woche / etc.?

Oder die Zeit wann zuletzt die Pumpe einschaltet wurde?

Gruß
Osorkon

Entschuldige, evtl. war ich nicht konkret genug…, also der Strom ist grundsätzlich zu 100%, eingeschaltet. Das Ein/Ausschalten der Pumpe übernimmt ein Schwimmerschalter, direkt unten an der Pumpe im Brunnen. Ich messe eigentlich nur den Strom/Leistung, wenn die über 100 Watt hinweg geht, weiß das die Pumpe läuft, das macht sie regelmäßig, ca. 20-30 mal am Tag. Wenn nun viel von oben kommt…, dann etwas verspätet, evtl. auch über das Grundwasser, pumpt meine Pumpe häufiger. Mich interessiert daher die Zeit, die vergangen ist, vom einen Einschalten, bis zum nächsten. Kannst du hier was mit anfangen?
Vielen Dank für deine sehr schnelle Wortmeldung…

Mit was schaltest oder misst Du die Pumpe?
Homassistant zeichnet doch alles auf. Da kannst Du dann im Verlauf mit der Entität gehen und siehst die Zeitleiste.

Also die Dauer wenn die Pumpe nicht läuft.
Als Gesamtdauer z.B. der letzen 24 h?
Oder die durchschnittliche Dauer?

Was Du auf jeden Fall brauchst ist ein Schwellenwert Sensor (Helfer) Als Quelle dient der Power Sensor der Pumpe.

Wenn Du den Schwellenwert auf 100 setzt. Nimmt der neue Sensor den Zustand ON, sonst OFF an.

Mit Hilfe History stats Integration kannst Du dann die Dauer und oder die Anzahl ermitteln, wann die Pumpe aus war. Quelle für den History stats Sensor ist dann der Schwellenwertsensor.

Gruß
Osorkon

Da hast du recht, ich würde aber gern Zeit zwischen den Einschaltzeiten, als Entität haben, um sie darstellen zu können, zusätzlich weiß ich wirklich nicht, wie man in Home Assistant sowas berechnet…
Schalten zu ich, o. HomeAssistant eigentlich gar nicht, eigentlich nur messen über eine Dect Steckdose…

Aber in HA hast Du eine Entität vom DECT?
Die heißt dann wie?

sensor.fritz_dect_200_5_power_consumption

darüber habe ich auch einen Zähler, ich weiß also wie oft am Tag. Jetzt möchte ich bloß noch Zeit zwischen dem letzten und dem aktuellen Mal…

Als Bsp. ein Sensor mit dem Status “Pumpe läuft gerade” Wenn Die Leistung von Sensor sensor.fritz_dect_200_5_power_consumption > 100W
Ansonsten, gibt der Sensor zurück: "Pumpe untätig seit HH:MM

Dazu brauchst Du wie schon erwähnt einen Schwellenwertsensor. Quelle ist der sensor.fritz_dect_200_5_power_consumption , obere Grenze 100.

Diesen Schwellenwertsensor verwendest Du um einen Template Sensor zu erstellen.

Angenommen der Schwellenwertsensor hat die Entität binary_sensor.pumpen_status

Kannst Du folgendes Template verwenden:

{% set status = states('binary_sensor.pumpen_status') %}
{% set seit = (as_timestamp(now()) - as_timestamp(states.binary_sensor.pumpen_status.last_changed)) | timestamp_custom('%H:%M', false) %}
{% if status == "on" -%}
  Pumpe läuft grade
{% elif status == "off" -%}
  Pumpe untätig seit {{ seit}}
{% else -%}
  unbekannt
{% endif %}

Beides, den Schwellenwertsensor wie auch den Template Sensor kannst Du in der GUI als Helfer erstelle.

Wenn Du nur eine Zahl in z.B. Stunden haben willst. Wie lange die Pumpe zuletzt ausgeschaltet war. Dann dieses Template:

{% set status = states('binary_sensor.pumpen_status') %}
{% set seit = ((as_timestamp(now()) - as_timestamp(states.binary_sensor.pumpen_status.last_changed)) /3600) | round(2) %}
{% if status == "on" -%}
  0
{% elif status == "off" -%}
  {{ seit}}
{% else -%}
unbekannt
{% endif %}

Läuft die Pumpe gerade ist der Wer 0

Ansonsten den die History Stats Integration verwenden, da hast Du auch viele Möglichkeiten die Du die Dauer bestimmter Zustände ermitteln kannst. Mit Dauer und Anzahl, kannst Du Dir auch den Durchschnitt errechnen usw.

Gruß
Osorkon

1 „Gefällt mir“

Wow, ich glaube ich habe wieder viel gelernt, ich werde jetzt nach und nach versuchen, das von dir so super beschriebene umzusetzen.
Vorab meinen Dank an dich, bzw. euch.
Das einem so schnell geholfen wird, ist schon echt der Wahnsinn.

Ein super Forum, mit echt coolen, wissenden Leuten.

Danke
Helge

Hallo Orsokon,

ich bekomme in dem Template Helfer (dein 2.tes Script) immer den Fehler aus dem angehangenen Bild.
Fehler_Template

Kannst du nochmal helfen?

Ist die Entität binary_sensor.pumpen_status bei Dir vorhanden, bzw. lautet diese auch exakt so?
Diese musst Du natürlich gegen Deine eigne Binary Sensor Entität ersetzen. An 2 stellen

Gruß
Osorkon