Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Alarmierung ja aber keine Alarmschauer?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Alarmierung ja aber keine Alarmschauer?

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

      Meines Erachtens hast du zwei Möglichkeiten,

      1. Du machst zusätzlich einen Türsensor an den Kühlschrank
      2. Du schickst die Alarmmeldung erst wenn die Temperatur längere Zeit über -16,5° C ist.

      Ich würde hier den 2. Weg gehen da es keine weitere Hardware benötigt. In Blockly würde ich dazu eine Timeout setzen. Wie das in Java und so geht kann ich dir leider nicht sagen.

      Asgothian 1 Reply Last reply Reply Quote 0
      • Asgothian
        Asgothian Developer @claus1993 last edited by Asgothian

        @claus1993 said in Alarmierung ja aber keine Alarmschauer?:

        Meines Erachtens hast du zwei Möglichkeiten,

        1. Du machst zusätzlich einen Türsensor an den Kühlschrank
        2. Du schickst die Alarmmeldung erst wenn die Temperatur längere Zeit über -16,5° C ist.

        Ich würde hier den 2. Weg gehen da es keine weitere Hardware benötigt. In Blockly würde ich dazu eine Timeout setzen. Wie das in Java und so geht kann ich dir leider nicht sagen.

        Ich sehe hier noch eine 3. Variante: Die Temperatur ab der eine Warnung gesendet wird hochsetzen. Warum:

        Es geht um Gefriergut. Das wird erst anfangen zu tauen wenn der Sensor eine Temperatur deutlich näher an 0 Grad misst. Ich würde eine Temperatur zwischen -5 und -10 Grad einsetzen.

        Wenn alleine durch öffnen der Tür die Temperatur so weit fällt dann ist entweder die Tür sehr lange offen oder der Sensor schlecht platziert.

        Bei der Überwachung der Nachrichten vom MQTT ist entscheidend wie Du den ESP konfiguriert hast. Eine Überwachung der letzten Aktualisierung macht nur dann Sinn wenn der ESP temperaturunabhängig in regelmässigen Abständen die Temperatur aktualisiert. In diesem Fall würde ich mit einem Trigger auf "wurde aktualisiert" arbeiten und durch den Vergleich von 'jetzt' mit der im Übergebenen Objekt hinterlegten Zeit der letzten Aktualisierung arbeiten um eine Warnung abzusetzen.

        A.

        C 1 Reply Last reply Reply Quote 0
        • C
          claus1993 @Asgothian last edited by

          @asgothian said in [Alarmierung ja aber keine Alarmschauer?]

          ...oder der Sensor schlecht platziert.

          Was wäre den der richtige Platz für den Sensor?

          Asgothian 1 Reply Last reply Reply Quote 0
          • Asgothian
            Asgothian Developer @claus1993 last edited by

            @claus1993 Du willst erkennen wenn der Gefrierschrank auftaut. Dann würde ich den Sensor oben im Gefrierschrank ca. 1/3 nach innen versetzt platzieren. Damit spricht er nicht sofort an wenn die Tür geöffnet wird, sollte aber rechtzeitig warm werden bevor irgendetwas antaut.

            A.

            ? 1 Reply Last reply Reply Quote 1
            • ?
              A Former User @Asgothian last edited by A Former User

              @asgothian @claus1993

              Danke für Euer Feedback. Zu den Lösungsmöglichkeiten gefällt mir die Einbringung weiterer Hardware auch nicht wirklich.

              Zur Position des Fühlers (DS18B20 im wasserdichten Metallrohr) habe ich mich am orginal Fühler orientiert und in im oberen 1/3 des Schranks aber recht weit an der Rückwand positioniert. Dabei aber auf eine freie Ausrichtung in der Luft geachtet, damit nicht durch Vereisungen der Sensor mit Eis verdeckt wird und so praktisch unbrauchbar für die 2-Punkt Regelung wird. Grob sollte er also gemäß Eurer Empfehlung positioniert sein.

              Egal ob eine Änderung gemessen wird ein Update kommt alle 10 Sekunden per MQTT. Möchte aber nicht vernachlässigen, dass WLAN Verbindungen durchaus mal gestört sein können.

              Ich habe immer ein ungutes Gefühl irgendwelche Timer laufen zu lassen, deswegen auch meine Frage. Ich könnte ja somit auch bei einer Grenzüberschreitung (-16°C) einen Counter laufen lassen der mit jeder Aktualisierung (normal alle 10 Sekunden) um 1 erhöht wird. Bei zB 6 (für 1 Minute als Alarmintervall) lasse ich Alarmieren und setze den Counter wieder auf 0. Birgt das Risiko wenn nicht jeder MQTT Wert per Wlan durch kommt. Eine zusätzliche Prüfung der MQTT Verbindung auf "Connected" löst das bei einer "schwankenden" Verbindung dann auch nicht in dem Zusammenhang. So gingen Zählungen verloren und die Connected-Prüfung setzt sich regelmäßig selber zurück ohne Alarmierung. Also doch ein besser ein Timer?

              Asgothian 1 Reply Last reply Reply Quote 0
              • Asgothian
                Asgothian Developer @Guest last edited by

                @pete0815 said in Alarmierung ja aber keine Alarmschauer?:

                So gingen Zählungen verloren und die Connected-Prüfung setzt sich regelmäßig selber zurück ohne Alarmierung. Also doch ein besser ein Timer?

                Für die Temperaturüberwachung nicht.

                Du hast eine regelmässige Änderung des Wertes.

                Jetzt gibt es 2 Optionen:

                Option A - der Wert wird regelmässig aktualisiert. Dann gilt die folgende Logik:

                Wert steigt das erste mal über die Warngrenze - Zeit merken, Zeit der Warnmeldung löschen
                Wert wird aktualisiert über der Warngrenze, schauen ob die oben angegebene Zeit lange genug her ist um zu warnen => Letzte Warnmeldung schon lange genug her => dann Warnung senden. Zeit der Warnmeldung merken. Ansonsten nix tun
                Wert sinkt unter die Warngrenze - Alle gemerkten Zeiten löschen, nix tun.

                Option B- Die Aktualisierungen bleiben aus, Dann muss dein Timer zuschlagen, der (bei 10 sekunden Intervall alle 60 - 120 sekunden laufen sollte) 2 Dinge macht:

                • Warnung triggern, analog zu oben, Sprich das auslösen einer 2. Warnung durch Merken wann die letzte Warnung verschickt wurde und einen Zeitvergleich blockieren.
                • Das obige Skript triggern, damit auch eine Temperaturwarnung kommt sofern die Aktualisierung ausbleibt während die Temperatur zu hoch ist.

                A.

                Das Thema "der Wert passiert die Warngrenze" lässt sich über die dem Trigger Objekt obj mitgegebenen Informationen Lösen, da es auch den Wert beinhaltet den der State vor der auslösenden Änderung hatte.

                ? 1 Reply Last reply Reply Quote 0
                • ?
                  A Former User @Asgothian last edited by

                  @asgothian said in Alarmierung ja aber keine Alarmschauer?:

                  Option A - der Wert wird regelmässig aktualisiert. Dann gilt die folgende Logik:
                  Danke, hab mich mal versucht:
                  3eef9eea-f372-4004-83b4-632d4cd442b6-grafik.png

                  Option B- Die Aktualisierungen bleiben aus, Dann muss dein Timer zuschlagen, der (bei 10 sekunden Intervall alle 60 - 120 sekunden laufen sollte) 2 Dinge macht:

                  • Warnung triggern, analog zu oben, Sprich das auslösen einer 2. Warnung durch Merken wann die letzte Warnung verschickt wurde und einen Zeitvergleich blockieren.
                  • Das obige Skript triggern, damit auch eine Temperaturwarnung kommt sofern die Aktualisierung ausbleibt während die Temperatur zu hoch ist.

                  Danke, überlege gerade ob es hier nicht Sinn macht auf den MQTT DP status LWT -> connected bzw. disconnected zu triggern und dann einen Timer laufen zu lassen der alle 15 Minuten einen Alarm verschickt, wenn keine Aktualisierung erfolgt. Das unabhängig von einer Temperatur. Aber wie lässt sicht dieser Trigger nutzen? Das ist ja kein "einfacher" true/false binär DP. Muss man hier den Text auswerten?

                  Das Thema "der Wert passiert die Warngrenze" lässt sich über die dem Trigger Objekt obj mitgegebenen Informationen Lösen, da es auch den Wert beinhaltet den der State vor der auslösenden Änderung hatte.

                  Sorry das verstehe ich nicht, was Du damit meinst.

                  Asgothian 1 Reply Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @Guest last edited by

                    @pete0815 Du hast im trigger Bereich einen Extra Baustein:

                    Screenshot 2021-01-12 at 16.53.58.png

                    Damit kannst du Folgendes tun:

                    Screenshot 2021-01-12 at 17.04.11.png

                    Damit bekommst du 5 Minuten (300 sekunden) nach dem die Temperatur die Warngrenze (hier -10 Grad) unterschritten hat eine Meldung.

                    Das war mit diesem Satz gemeint.

                    A.

                    ? 1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @Asgothian last edited by A Former User

                      @asgothian
                      Vielen Dank!
                      Denke soweit das Prinzip verstanden zu haben. Habe jedoch versucht Informationen zu finden welche "Standardvariablen" einem Object immer mitgegeben werden bzw. existieren. Hast Du hier einen Tip?
                      Bei der Doku und google war ich nicht erfolgreich, was auch an den Suchbegriffen liegen mag.

                      Hintergrund ist, dass ich nicht weiß ob die von Dir gezeigten "Standardvariablen" previous value & state value immer so existieren oder ich ggf. die Deutsche Übersetzung hierfür verwenden muß bei mir.

                      Thx

                      Asgothian 1 Reply Last reply Reply Quote 0
                      • Asgothian
                        Asgothian Developer @Guest last edited by

                        @pete0815 Du musst schon den im ersten Bild genommenen Baustein aus dem Trigger Bereich wählen. Der Baustein listet die Werte auf auf die du den einstellen kannst. Auch wenn die Farbe wie eine Variable aussieht ist es ein anderer Baustein.

                        A.

                        ? 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @Asgothian last edited by A Former User

                          @asgothian
                          Danke! Jetzt verstanden 🙂

                          Option A ist angepasst und schaut so aus:

                          aa8bff0e-ebdc-481c-9870-dd02cd69f62f-grafik.png

                          @asgothian said in Alarmierung ja aber keine Alarmschauer?:

                          Option B- Die Aktualisierungen bleiben aus, Dann muss dein Timer zuschlagen, der (bei 10 sekunden Intervall alle 60 - 120 sekunden laufen sollte) 2 Dinge macht:

                          • Warnung triggern, analog zu oben, Sprich das auslösen einer 2. Warnung durch Merken wann die letzte Warnung verschickt wurde und einen Zeitvergleich blockieren.

                          Dies schaut dann für mich so aus:
                          2e4a92b4-3f04-4822-be5b-42992456530c-grafik.png
                          Hierbei noch unsicher, da der Timer nur initial einmal und dann endlos laufen soll. Kann bzw. wird so ein Timer ggf. mehrfach gestartet also mit jeder Aktualisierung ein weiterer Timer?

                          • Das obige Skript triggern, damit auch eine Temperaturwarnung kommt sofern die Aktualisierung ausbleibt während die Temperatur zu hoch ist.

                          Hier fehlt mir die Idee. Sehe derzeit nur die Möglichkeit den Trigger der Option A auszulösen indem ich per Blockly den Temperaturwert aktualisiere (nicht verändere). Diese "manuelle" Aktualisierung hebelt die Wirkung der Logik der Option B aber aus.

                          Asgothian 1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @Guest last edited by

                            @pete0815 Der erste Teil sieht gut aus, mit einem Caveat: Fällt der Kühlschrank kurz vor Mitternacht aus bekommst du keine Meldung.

                            Das liegt daran das du "Sekunden seit Tagesanfang" genommen hast. Deswegen hatte ich nur "Sekunden" genommen

                            Der Zweite Teil passt so nicht.

                            Screen Shot 2021-01-13 at 12.33.10 .png

                            So würde ich da ran gehen.

                            Damit bekommst du

                            • Eine Meldung wenn die Aktualisierung für 5 Minuten ausgefallen ist
                            • Alle 5 Minuten eine Meldung solange das so ist.

                            Wenn die Meldungen seltener kommen sollen würde ich das mit einem Zähler realisieren.

                            A.

                            ? 1 Reply Last reply Reply Quote 0
                            • ?
                              A Former User @Asgothian last edited by A Former User

                              @asgothian Vielen Dank!

                              Die Definition der TempWarnLimit Variable reicht ja aus, wenn ich sie für Option A und B einmal setze auf einem Blockly Skript, oder?

                              wäre dann so
                              Option A:
                              f8441067-adc1-4c6d-bb87-7186d14ec98d-grafik.png

                              Option B:
                              a6976cb7-2f4c-4af3-9287-6fb918796b12-grafik.png

                              Asgothian 1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @Guest last edited by

                                @pete0815 Korrekt.

                                ? 1 Reply Last reply Reply Quote 0
                                • ?
                                  A Former User @Asgothian last edited by

                                  @asgothian Vielen Dank! Eingebaut, getestet und funktioniert.

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  873
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  16
                                  558
                                  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