Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Umfassendes Alarmanlagen-Skript

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Umfassendes Alarmanlagen-Skript

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

      @Homer-J & @sigi234
      Meint ihr, dass diese beiden Datenpunkte

      • OpenDetectorsOuterSkingJSON
      • OpenDetectorsIndoorJSON

      jeweils nicht ein einziger JSON-String sein sollten, sondern ein Array mit JSON-Strings?

      Beim Parsen würde man dann also ein Array mit Objekten enthalten, die genauso aufgebaut sind, wie ein einzelnes Objekt, so wie es als JSON-String abgebildet ist im Datenpunkt:

      • AlarmingDetectorJSON

      Derzeit ist es ja so, dass die beiden Datenpunkte oben jeweils ein einziges Objekt sind. Das Array mit den einzelnen Objekten der offenen Melder ist dann in der property listOfDetectors enthalten. Siehe so:

      {
        "title":   "Open detectors outer skin",
        "zone":  "Alarmanlage_Aussenhaut",
        "listOfDetectors": [  /*  HIER IST DAS ARRAY DER MELDER-OBJEKTE  */  ]
      }
      

      LG Andreas

      1 Reply Last reply Reply Quote 0
      • andreaskos
        andreaskos last edited by

        Ich möchte ja eine Liste welcher Aktor in den jeweiligen DP ist.

        Vielleicht noch zum Verständnis, diese Liste kann man folgendermaßen holen (jeweils den richtigen Datenpuntkt einsetzen für alle / innen /außenhaut):

        const idOpenDetectorsJSON = 'javascript.0.Alarmanlage.Output.OpenDetectorsJSON'/*Open Detectors*/;
        var jsonString = getState(idOpenDetectorsJSON).val;
        var obj = JSON.parse(jsonString);
        var detectors = obj.listOfDetectors;
        
        // Beispiel für einen HomeMatic-State
        var i=0;
        while (i < detectors.length){
          log("id: " + detectors[i].id);
          log("Name: " + detectors[i].self.common.name);
          log("Gerät: " + detectors[i].parentsparent.common.name);
          i++;
        }
        
        Homer.J. 1 Reply Last reply Reply Quote 0
        • Homer.J.
          Homer.J. @andreaskos last edited by

          Hi Andres bei meiner alten Alarmanlage hatte ich die Ausgabe so.
          Screenshot_2020-05-10 objects - ioBroker.png
          Das ist zwar keine json aber man sieht halt wann ausgelöst hat und was.
          Wie kann man deine Datenpunkte jetzt verwenden das habe ich noch nicht so richtig verstanden.?
          Nehme ich jetzt ein Datenpunkt in ein Widget auf wird mir bei deiner json nichts angezeigt wie verarbeitet man diese.

          Gibt es das in deinem Script schon

          const idOpenDetectorsJSON = 'javascript.0.Alarmanlage.Output.OpenDetectorsJSON'/*Open Detectors*/; 
          

          oder muss das noch irgendwo eingefügt werden.

          Grüße

          andreaskos 1 Reply Last reply Reply Quote 0
          • K
            kilasat last edited by

            Vielen Dank an @andreaskos für das Script. Sieht wirklich gut aus.

            Hat jemand noch ein paar Beispiele was ihr mit dem ausgelöstem Alarm macht. Also vielleicht noch ein Blockly dazu mit einer akkustischen und optischen Signalisierung? Wie genau schaltet ihr bei euch die Alarmanlage scharf und wieder unscharf?

            sigi234 T 2 Replies Last reply Reply Quote 1
            • sigi234
              sigi234 Forum Testing Most Active @kilasat last edited by

              @kilasat sagte in Umfassendes Alarmanlagen-Skript:

              Vielen Dank an @andreaskos für das Script. Sieht wirklich gut aus.

              Hat jemand noch ein paar Beispiele was ihr mit dem ausgelöstem Alarm macht. Also vielleicht noch ein Blockly dazu mit einer akkustischen und optischen Signalisierung? Wie genau schaltet ihr bei euch die Alarmanlage scharf und wieder unscharf?

              https://forum.iobroker.net/topic/32885/umfassendes-alarmanlagen-skript/32?page=2

              1 Reply Last reply Reply Quote 1
              • K
                kilasat last edited by

                5f8600f1-4107-44e4-aec4-dfd24cacb002-image.png

                alle Sensoren sind auf false und trotzdem zeigt er mir bei Ready - false ein. Was könnten noch das Problem sein?

                andreaskos 1 Reply Last reply Reply Quote 0
                • T
                  Tirador @kilasat last edited by

                  @kilasat said in Umfassendes Alarmanlagen-Skript:

                  Vielen Dank an @andreaskos für das Script. Sieht wirklich gut aus.

                  Hat jemand noch ein paar Beispiele was ihr mit dem ausgelöstem Alarm macht. Also vielleicht noch ein Blockly dazu mit einer akkustischen und optischen Signalisierung? Wie genau schaltet ihr bei euch die Alarmanlage scharf und wieder unscharf?

                  Die Weiterverarbeitung des Alarms, d.h. auslösen von Nachrichten, Email, Telegram und pushover geht mit dem MessageHandler Skript.

                  K 2 Replies Last reply Reply Quote 0
                  • K
                    kilasat @Tirador last edited by

                    @Tirador OK schaue ich mir an. Dachte das dient nur der Anzeige.

                    Derzeit löst die Alarmierung bei mir nicht aus. Weiss nicht genau warum.

                    1 Reply Last reply Reply Quote 0
                    • K
                      kilasat @Tirador last edited by

                      @Tirador MessageHandler ist sehr cool. Ich dachte eher an die akustische und visuelle Alarmierung. z.b. Sirene, Alexa Lautsprecher oder ähnliches. Licht Usw. Dazu natürlich Benachrichtigung.

                      1 Reply Last reply Reply Quote 0
                      • andreaskos
                        andreaskos @kilasat last edited by

                        @kilasat
                        Habe das Setzten des Ready-Datenpunkts überarbeitet. Das Verhalten bei dir konkret kann ich zwar momentan nicht nachvollziehen, aber es war definitiv noch nicht ganz in Ordnung.
                        Neue Version oben im ersten Thread.

                        LG
                        Andreas

                        K 1 Reply Last reply Reply Quote 1
                        • andreaskos
                          andreaskos @Homer.J. last edited by

                          @Homer-J
                          Du müsstest die unterschiedlichen Datenpunkte selber zu dem Format zusammenstöpseln, wie du es für deine Visualisierung benötigst.
                          Das kleine Skript, das ich am 10 May 2020, 15:43 gepostet hab, das ist ein eigenständiges, zusätzliches. Das kann man ausführen, wenn das Hauptskript von ganz oben schon läuft.
                          Ein eigener Log-Datenpunkt wäre natürlich schon noch interessant, bei dem alle Ereignisse zeitlich hintereinander mit ausgegeben werden. Auch damit könnte man sich eine eigene Ereignisliste bauen, die letztlich alle Ereignisse anzeigt. Ich behalte das mal im Hinterkopf.
                          LG Andreas

                          1 Reply Last reply Reply Quote 1
                          • K
                            kilasat @andreaskos last edited by kilasat

                            @andreaskos sagte in Umfassendes Alarmanlagen-Skript:

                            @kilasat
                            Habe das Setzten des Ready-Datenpunkts überarbeitet. Das Verhalten bei dir konkret kann ich zwar momentan nicht nachvollziehen, aber es war definitiv noch nicht ganz in Ordnung.
                            Neue Version oben im ersten Thread.

                            LG
                            Andreas

                            Hallo Andreas,

                            besten Dank. Der Datenpunkt "ready" steht jetzt auf "true". Soweit so gut, aber jetzt kommt das nächste Problem 🙄

                            666a7271-ffc5-4f0c-b63b-d2f7c15acdd4-image.png

                            Habe mal zum Testen einen Datenpunkt erstellt und diesen in die Funktion: "Aussenhaut" hinzugefügt. Leider löst die Alarmanlage beim Umschalten auf true nicht aus.

                            Ebenfalls wenn die Anlage deaktiviert ist und der Datenpunkt Test auf true steht, dann müsste der Ready doch auf false gehen oder? Tut dies aber nicht.

                            Homer.J. 1 Reply Last reply Reply Quote 0
                            • Homer.J.
                              Homer.J. @kilasat last edited by Homer.J.

                              @kilasat Die Datenpunkte müssen unter Funktionen angelegt werden und die state dort rein, nicht unter Javascript schau mal ein bisschen weiter vorn dort steht alles. Und auf Groß- und Kleinschreibung achten.

                              Screenshot_2020-05-13 enums - ioBroker.png

                              K 1 Reply Last reply Reply Quote 0
                              • K
                                kilasat @Homer.J. last edited by

                                @Homer-J

                                ist auch so gemacht, leider läuft es trotzdem noch nicht bei mir.

                                0c4ecabf-8edf-4691-8b2b-15186f68afeb-image.png

                                Homer.J. 1 Reply Last reply Reply Quote 0
                                • Homer.J.
                                  Homer.J. @kilasat last edited by

                                  @kilasat schau mal im Script dort steht es Großgeschrieben drin du hast es klein.

                                  1 Reply Last reply Reply Quote 1
                                  • andreaskos
                                    andreaskos last edited by

                                    @kilasat
                                    Du kannst auch einfach die Bezeichnung der Aufzählungen im Skript ändern auf: "alarmanlage_aussenhaut" usw. mit Kleinbuchstaben, dann geht's auch.
                                    Ich sollte diese Standard-Einstellungen vielleicht von vornherein in Kleinschreibung im Skript angeben, wenn das eine Stolperfalle ist.

                                    sigi234 T K 3 Replies Last reply Reply Quote 1
                                    • sigi234
                                      sigi234 Forum Testing Most Active @andreaskos last edited by

                                      @andreaskos sagte in Umfassendes Alarmanlagen-Skript:

                                      Ich sollte diese Standard-Einstellungen vielleicht von vornherein in Kleinschreibung im Skript angeben, wenn das eine Stolperfalle ist.

                                      👍

                                      1 Reply Last reply Reply Quote 2
                                      • T
                                        Tirador @andreaskos last edited by

                                        @andreaskos said in Umfassendes Alarmanlagen-Skript:

                                        @kilasat
                                        Du kannst auch einfach die Bezeichnung der Aufzählungen im Skript ändern auf: "alarmanlage_aussenhaut" usw. mit Kleinbuchstaben, dann geht's auch.
                                        Ich sollte diese Standard-Einstellungen vielleicht von vornherein in Kleinschreibung im Skript angeben, wenn das eine Stolperfalle ist.

                                        Noch genialer wäre es wenn die Aufzählungen durch das Skript generiert werden könnten. Ich habe keine Ahnung ob es dafür eine Funktion gibt.

                                        andreaskos 1 Reply Last reply Reply Quote 2
                                        • K
                                          kilasat @andreaskos last edited by kilasat

                                          @andreaskos

                                          ja jetzt verstehe ich es. Der Name der Funktion ist ja in Gross aber die ID ist immer noch klein. Das ist wirklich unglücklich.

                                          Scheint nun zu funktionieren. Danke an alle.

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            dodi666 last edited by

                                            @andreaskos
                                            Vielen Dank für das tolle Skript. Meine Alarmanlage läuft derzeit in Homematic und ich werde die Logik durch dein Skript ablösen. Bei mir ist es derzeit so, dass ich die Alarmanlage aktiviere und dann 5 Minuten Zeit habe die Wohnung zu verlassen. Mit dem Schließen der Wohnungstüre wird dann die Alarmanlage scharf geschaltet. Wenn ich innerhalb der 5 Minuten die Wohnung nicht verlassen habe, deaktiviert die Alarmanlage sich wieder von selbst. Ist das eine Funktionalität, welche interessant wäre im Skript umzusetzen? Wenn nicht, würde ich diesen Mechanismus "drum herum" bauen.

                                            Grüße
                                            Sascha

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            932
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript security
                                            27
                                            145
                                            22052
                                            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