Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Umfassendes Alarmanlagen-Skript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

Umfassendes Alarmanlagen-Skript

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascriptsecurity
145 Beiträge 27 Kommentatoren 32.4k Aufrufe 52 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • andreaskosA Offline
    andreaskosA Offline
    andreaskos
    schrieb am zuletzt editiert von
    #54

    @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 Antwort Letzte Antwort
    0
    • andreaskosA Offline
      andreaskosA Offline
      andreaskos
      schrieb am zuletzt editiert von
      #55

      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.H 1 Antwort Letzte Antwort
      0
      • andreaskosA andreaskos

        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.H Offline
        Homer.J.H Offline
        Homer.J.
        schrieb am zuletzt editiert von
        #56

        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

        andreaskosA 1 Antwort Letzte Antwort
        0
        • K Offline
          K Offline
          kilasat
          schrieb am zuletzt editiert von
          #57

          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?

          sigi234S T 2 Antworten Letzte Antwort
          1
          • K kilasat

            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?

            sigi234S Online
            sigi234S Online
            sigi234
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #58

            @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

            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Immer Daten sichern!

            1 Antwort Letzte Antwort
            1
            • K Offline
              K Offline
              kilasat
              schrieb am zuletzt editiert von
              #59

              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?

              andreaskosA 1 Antwort Letzte Antwort
              0
              • K kilasat

                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?

                T Offline
                T Offline
                Tirador
                schrieb am zuletzt editiert von
                #60

                @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 Antworten Letzte Antwort
                0
                • T Tirador

                  @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 Offline
                  K Offline
                  kilasat
                  schrieb am zuletzt editiert von
                  #61

                  @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 Antwort Letzte Antwort
                  0
                  • T Tirador

                    @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 Offline
                    K Offline
                    kilasat
                    schrieb am zuletzt editiert von
                    #62

                    @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 Antwort Letzte Antwort
                    0
                    • K kilasat

                      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?

                      andreaskosA Offline
                      andreaskosA Offline
                      andreaskos
                      schrieb am zuletzt editiert von
                      #63

                      @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 Antwort Letzte Antwort
                      1
                      • Homer.J.H Homer.J.

                        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

                        andreaskosA Offline
                        andreaskosA Offline
                        andreaskos
                        schrieb am zuletzt editiert von
                        #64

                        @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 Antwort Letzte Antwort
                        1
                        • andreaskosA andreaskos

                          @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 Offline
                          K Offline
                          kilasat
                          schrieb am zuletzt editiert von kilasat
                          #65

                          @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 :face_with_rolling_eyes:

                          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.H 1 Antwort Letzte Antwort
                          0
                          • K 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 :face_with_rolling_eyes:

                            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.H Offline
                            Homer.J.H Offline
                            Homer.J.
                            schrieb am zuletzt editiert von Homer.J.
                            #66

                            @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 Antwort Letzte Antwort
                            0
                            • Homer.J.H 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 Offline
                              K Offline
                              kilasat
                              schrieb am zuletzt editiert von
                              #67

                              @Homer-J

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

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

                              Homer.J.H 1 Antwort Letzte Antwort
                              0
                              • K kilasat

                                @Homer-J

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

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

                                Homer.J.H Offline
                                Homer.J.H Offline
                                Homer.J.
                                schrieb am zuletzt editiert von
                                #68

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

                                1 Antwort Letzte Antwort
                                1
                                • andreaskosA Offline
                                  andreaskosA Offline
                                  andreaskos
                                  schrieb am zuletzt editiert von
                                  #69

                                  @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.

                                  sigi234S T K 3 Antworten Letzte Antwort
                                  1
                                  • andreaskosA andreaskos

                                    @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.

                                    sigi234S Online
                                    sigi234S Online
                                    sigi234
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #70

                                    @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:

                                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                    Immer Daten sichern!

                                    1 Antwort Letzte Antwort
                                    2
                                    • andreaskosA andreaskos

                                      @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.

                                      T Offline
                                      T Offline
                                      Tirador
                                      schrieb am zuletzt editiert von
                                      #71

                                      @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.

                                      andreaskosA 1 Antwort Letzte Antwort
                                      2
                                      • andreaskosA andreaskos

                                        @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.

                                        K Offline
                                        K Offline
                                        kilasat
                                        schrieb am zuletzt editiert von kilasat
                                        #72

                                        @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 Antwort Letzte Antwort
                                        0
                                        • D Offline
                                          D Offline
                                          dodi666
                                          schrieb am zuletzt editiert von
                                          #73

                                          @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 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          764

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe