Betriebszeitenzähler

  • Guten Tag!

    Ich möchte einen Betriebsstundenzähler mit meinem Shelly 1PM 3Gen einrichten.
    Der Shelly ist schon bei L und N angeschlossen, ohne weitere Anschlüsse.

    Wenn das mit angeschlossene Gerät eingeschaltet wird, schaltet sich der Schelly auch ein, weil er von der gleichen Stromquelle gespeisst wird. Das ergibt dann die Einschaltzeiten.

    Gibt es nun ein Skript oder ähnliches, wo ich die Einschaltzeit des Schelly ablesen/übernehmen kann. Am besten als numerischer Wert zB in Sekunden wäre ideal. Ich möchte dann diesen Wert in Home Assistant übernehmen und dort weiter verarbeiten.

    Danke für geschätzte Tips an einen Laien.

  • Hallo Sunshine57,

    mir scheint deine Herangehensweise nicht optimal zu sein. Der Shelly bootet jedes Mal, wenn das Gerät eingeschaltet wird. Bis er hochgelaufen ist und das noch zu erstellende Script gestartet ist, sind schon einige Sekunden vergangen. Dann stellt sich die Frage, wo werden die aufgelaufenen Sekunden gespeichert? Willst du sie im Shelly speichern, dann musst du dir überlegen, wie häufig gespeichert wird. Sekundengenaues Speichern wird nicht möglich sein, das macht der Flash-Speicher nicht lange mit. Speicherst du nur alle xx Minuten, dann wird die Aufzeichnung sehr ungenau, es kann ja passieren, dass kurz vor dem Speichern abgeschaltet wird, die seit dem letzten Speichern aufgelaufenen Sekunden werden dann nicht mehr berücksichtigt.

    Ohne dass ich Home Assistant kenne, ich gehe mal davon aus, dass du den Großteil der Arbeit dorthin verlagern könntest. Ich würde daher vor das Gerät einen Shelly PM Mini setzen, sobald die Leistung einen eingestellten Schwellwert überschreitet läüft dann ein Betriebsstundenzähler in HA, solange, bis der Schwellwert wieder unterschritten wird.

  • Geht es darum?

    Sunshine57
    13. April 2024 um 19:03

    Folgendes liefert Home Assistant von Haus aus ohne weitere Konfiguration.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Es ist dann die Frage, die nun verdrahtet wird. Hat dein Heizstab keinen N und das Schütz schaltet immer allpolig, dann kannst du einfach die Phase hinter dem Schütz, auf der der Shelly vor dem Schütz hängt, auf SW legen.

  • Sunshine57

    Dafür steht die RPC Methode "Sys.GetStatus" zur Verfügung. Diese liefert ein Resultat im JSON Format, welches auch die Komponente "uptime" enthält.

    Es bleiben folgende Fragen.

    1. Womit steuerst du das Hochfahren des Shelly bzw. des geschalteten Geräts.
    2. Soll der genannte Shelly ausschließlich zum erfassen der Einschaltdauern genutzt werden? Ich sehe zunächst bei dir keinen anderen Einsatzzweck.
    3. Wie lange wird der Shelly typischerweise geschaltet bzw. wie sind die Dauern solcher Schaltzustände.
    4. Steuert dein Home Assistant das Ein- und Ausschalten?

    Ich nutze als zentrales System ausschließlich Node-RED, womit ich das Gewünschte leicht implementieren könnte, auch ohne den Shelly.
    Mit anderen übergeordneten Systemen kenne ich mich nicht hinreichend aus.

    Per Skript könnten die Einschaltdauern zielführend allenfalls mit Genauigkeiten in Minuten und einer zusätzlichen Toleranz von ca. 1 Minute gespeichert werden, da er nicht "weiß", wann er ausgeschaltet wird.

    Wenn der Shelly kurz vor dem Ausschalten darüber informiert werden kann, können die Einschaltdauern durchaus per Skript ermittelt und persistent auf dem Shelly gespeichert werden, bspw. bestehend aus dem aktuellen Zeitstempel (unixtime) und dem uptime Wert. Selbstverständlich bleibt dabei ein systematischer Fehler von vermutlich ca. -1s. Es bleibt die Frage nach der Sinnhaftigkeit einer solchen Implementation.

    Ggf. weitere Möglichkeiten und deren Zweckmäßigkeiten können erst genauer betrachtet werden, wenn du mehr von deinem Projekt preisgibst, auch eine Schaltskizze wäre evtl. nützlich.

    An Cloud-/Szenen-Benutzer (insbesondere für Regelungen): Was erwartest du, wenn Internet oder Cloud sabotiert werden? Nicht nur dafür meine kleine Skripteinführung  8)

    Die einzig existierende Konstante ist der Wandel. Oft liegt die größte Schwierigkeit darin, das Anliegen des Klienten zu verstehen.