Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Wie lange keine Wertveränderung

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wie lange keine Wertveränderung

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MaThoPa1973 last edited by MaThoPa1973

      Hallo Leute,

      Ich hätte da mal ein Problemchen.

      Aus bisher noch nicht nachvollziehbaren Gründen verliert mein IR-Lesekopf seine WLAN-Verbindung, was zur Folge hat, dass die letzten übertragenen Werte in der Visualisierung "eingefroren" sind. Damit eine neue Verbindung hergestellt wird muss ich den IR-Lesekopf vom Strom trennen und wieder verbinden. Ursachenforschung geht natürlich weiter. Übergangsweise habe ich die Stromversorgung des IR-Lesekopfes nun in den Lastkreis eines Shelly 1 Pro gesetzt. So spare ich mir im Störfall (siehe oben) den Gang in den Keller und kann die Ab- und Zuschaltung mittels Shelly 1 Pro machen.

      Nun ist aber noch das Problem, dass ich ja nicht ständig online bin, um die Datenübertragung vom IR-Lesekopf zu überwachen.

      Eine Abfrage des Datenpunktes, welcher im Ergebnis den Text "Online" oder "Offline" ausgibt, hatte sich als sehr unzuverlässig erwiesen. Zu Testzwecken hatte ich mir eine Pushnachricht auf's Handy schicken lassen. 95% der Meldungen waren fehlerhaft.

      Meine Idee wäre nun den Datenpunkt, wird mittels mqtt übertragen, welcher den Momentanverbrauch ausgibt, zu überwachen und, würde dieser z.B. länger als 30 Sekunden keine Veränderung aufzeigen, dann das Shelly 1 Pro ausschaltet und nach 5 Sekunden wieder einschaltet.

      Den letzten Part, das Schalten des Shelly 1 Pro werde ich gewiss hingekommen. Aber wie kann ich die Routine erstellen, welche prüft, wie lange die letzte Wertveränderung her ist? Ich kann ja schlecht jede Wertveränderung als Trigger nehmen und ein Skript starten, was nach 30 Sekunden ausgeführt wird wenn keine weitere Änderung erfolgt ohne dass diese Änderung neuerlich als Trigger ein Skript ausführt. Das würde ja mit angrenzender Sicherheit zu einem Überlauf und Absturz des Systems führen, oder?

      Aber wie könnte man das Problem lösen?

      Danke vielmals für Eure Unterstützung

      Gruß
      Markus

      paul53 mcm1957 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @MaThoPa1973 last edited by

        @mathopa1973 sagte: Momentanverbrauch ausgibt, zu überwachen und, würde dieser z.B. länger als 30 Sekunden keine Veränderung aufzeigen,

        Bild_2022-09-03_165139652.png

        M 1 Reply Last reply Reply Quote 1
        • mcm1957
          mcm1957 @MaThoPa1973 last edited by

          @mathopa1973
          An sich hat meines Wissensn nach jeder State einen Zeitstempel. Damit solltest du feststellen können wann der zuletzt beschrieben wurde. Ich würde dann einfach im vernünftige Abstand den TS abfragen.

          Kenne mich zwar mit Blockly nicht aus - aber die Info wird dort sicher auch abgreifbar sein.

          1 Reply Last reply Reply Quote 0
          • M
            MaThoPa1973 @paul53 last edited by MaThoPa1973

            @paul53 Danke vielmals, das werde ich als bald wie möglich mal testen. In welcher Rubrik finde ich diesen Timeout-Baustein? Bei System?

            Irritierend finde ich nur das in einen Funktionsblock zusetzen, der auf eine Wertveränderung hin aktiv wird... aber der Wert sich ja in dem Moment eben nicht verändert und der Logik nach der Block nicht auszuführen wäre? Oder habe ich hier ein falsches Denken von der Wirkweise des Triggers?

            Gruß
            Markus

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @MaThoPa1973 last edited by paul53

              @mathopa1973 sagte: Wert sich ja in dem Moment eben nicht verändert und der Logik nach der Block nicht auszuführen wäre?

              Die Ausführung findet 30 s nach der letzten Wertänderung statt, wenn nicht vorher der Timer durch eine neue Wertänderung gestoppt und neu gestartet wurde.

              1 Reply Last reply Reply Quote 1
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              498
              Online

              31.9k
              Users

              80.2k
              Topics

              1.3m
              Posts

              3
              5
              252
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo