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 andreaskos

    @pix said in Umfassendes Alarmanlagen-Skript:

    die Ausgabe des Sensor Namens hast du über common.name schon realisiert ("Die Namen der Melder sollten gut gepflegt sein"). Es gibt aber sehr viel mehr Infos im Objekt, die man ausgeben könnte;

    Frage dazu: Für das feststellen der offenen Melder mit der Funktion checkDetectors wird das Array der Melder durchgearbeitet. Jedes Element des Arrays ist eine id (als String). Jede id wird geprüft mit getState(id).val, ob der Melder ausgelöst ist oder nicht.

    Über diese id kann ich mir das Objekt dazu holen mit getObject(id) und dort properties wie common.name etc. auslesen. Was aber sind das für properties, die du oben angegeben hast? Das sieht so HomeMatic-spezifisch aus (channelID, deviceID, etc.)? Ich bekomme hier nur Objekte, die den folgenden Aufbau haben, als Beispiel:

     {
      "type": "state",
      "common": {
        "def": false,
        "type": "boolean",
        "read": true,
        "write": false,
        "name": "Kueche grosses Fenster.SENSOR"
      },
      "native": {
        "CONTROL": "DOOR_SENSOR.STATE",
        "DEFAULT": false,
        "FLAGS": 1,
        "ID": "SENSOR",
        "MAX": true,
        "MIN": false,
        "OPERATIONS": 5,
        "TAB_ORDER": 0,
        "TYPE": "BOOL",
        "UNIT": ""
      },
      "from": "system.adapter.hm-rpc.1",
      "ts": 1549734551707,
      "_id": "hm-rpc.1.IEQ0064219.1.SENSOR",
      "acl": {
        "object": 1636,
        "state": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator"
      }
    }
    

    Komme ich von der State-id, wie sie im Array drin ist, überhaupt auf das von dir gezeigte Objekt über irgendwelche parent-Beziehungen o.ä.? Dafür bin ich zu sehr node.js-noob... :face_with_rolling_eyes:

    Bitte um Hilfe.
    LG Andreas

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

    @andreaskos said in Umfassendes Alarmanlagen-Skript:

    Komme ich von der State-id, wie sie im Array drin ist, überhaupt auf das von dir gezeigte Objekt über irgendwelche parent-Beziehungen o.ä.?

    OK - moment mal, ich glaube, ich hab schon eine Lösung. Ich kann ja über die id-Struktur selbst eine oder zwei Ebenen hochsteigen und mir dann von dort über getObject properties wie den Device-Namen holen etc.

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

      Hi zusammen,

      ich habe jetzt drei weitere Datenpunkte hinzugefügt (die jetzt auch alle eine Rolle zugeordnet bekomen) für die Ausgabe der offenen Melder (jeweils für alle / nur Außenhaut / nur Innenraum) und für den alarmierenden Melder als String im JSON-Format.
      Ich habe dafür die kompletten Objekte reingeschmissen, die von ioBroker zur Verfügung gestellt werden. Siehe Beschreibung im ersten Thread bzw. das aktualisierte Skript.

      Ich würde - sofern es keine Fehlerbehebungen gibt - die Arbeit an diesem Skript einmal vorläufig abschließen. Ich danke euch sehr für eure Hilfe, die Inputs und die Beschäftigung mit dem Skript, auch in Verbindung mit den anderen Projekten wie der coolen Ereignisliste!

      Liebe Grüße,
      Andreas

      sigi234S Homer.J.H 2 Antworten Letzte Antwort
      2
      • andreaskosA andreaskos

        Hi zusammen,

        ich habe jetzt drei weitere Datenpunkte hinzugefügt (die jetzt auch alle eine Rolle zugeordnet bekomen) für die Ausgabe der offenen Melder (jeweils für alle / nur Außenhaut / nur Innenraum) und für den alarmierenden Melder als String im JSON-Format.
        Ich habe dafür die kompletten Objekte reingeschmissen, die von ioBroker zur Verfügung gestellt werden. Siehe Beschreibung im ersten Thread bzw. das aktualisierte Skript.

        Ich würde - sofern es keine Fehlerbehebungen gibt - die Arbeit an diesem Skript einmal vorläufig abschließen. Ich danke euch sehr für eure Hilfe, die Inputs und die Beschäftigung mit dem Skript, auch in Verbindung mit den anderen Projekten wie der coolen Ereignisliste!

        Liebe Grüße,
        Andreas

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

        @andreaskos

        Hallo, bei mir bekomme ich keine Daten der Sensoren.

        Screenshot (2425).png

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

        Homer.J.H 1 Antwort Letzte Antwort
        0
        • sigi234S sigi234

          @andreaskos

          Hallo, bei mir bekomme ich keine Daten der Sensoren.

          Screenshot (2425).png

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

          Hi @sigi234 schau mal bei Innenraum da ist Alarmanlage falsch geschrieben, oder hast du es so ins Script übernommen. Und achte auf groß und Kleinschreibung, bei dir ist alles klein.
          Ich habe es bei mir Leer über die CCU angelegt, und dann die Datenpunkte im iobroker reingepackt.

          sigi234S 1 Antwort Letzte Antwort
          0
          • Homer.J.H Homer.J.

            Hi @sigi234 schau mal bei Innenraum da ist Alarmanlage falsch geschrieben, oder hast du es so ins Script übernommen. Und achte auf groß und Kleinschreibung, bei dir ist alles klein.
            Ich habe es bei mir Leer über die CCU angelegt, und dann die Datenpunkte im iobroker reingepackt.

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

            @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

            Hi @sigi234 schau mal bei Innenraum da ist Alarmanlage falsch geschrieben, oder hast du es so ins Script übernommen. Und achte auf groß und Kleinschreibung, bei dir ist alles klein.

            Screenshot (2427).png

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

            Homer.J.H 1 Antwort Letzte Antwort
            0
            • sigi234S sigi234

              @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

              Hi @sigi234 schau mal bei Innenraum da ist Alarmanlage falsch geschrieben, oder hast du es so ins Script übernommen. Und achte auf groß und Kleinschreibung, bei dir ist alles klein.

              Screenshot (2427).png

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

              @sigi234 gib es mal klein ein.

              sigi234S 1 Antwort Letzte Antwort
              1
              • Homer.J.H Homer.J.

                @sigi234 gib es mal klein ein.

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

                @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                @sigi234 gib es mal klein ein.

                Jupp läuft

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

                S 1 Antwort Letzte Antwort
                1
                • andreaskosA andreaskos

                  Hi zusammen,

                  ich habe jetzt drei weitere Datenpunkte hinzugefügt (die jetzt auch alle eine Rolle zugeordnet bekomen) für die Ausgabe der offenen Melder (jeweils für alle / nur Außenhaut / nur Innenraum) und für den alarmierenden Melder als String im JSON-Format.
                  Ich habe dafür die kompletten Objekte reingeschmissen, die von ioBroker zur Verfügung gestellt werden. Siehe Beschreibung im ersten Thread bzw. das aktualisierte Skript.

                  Ich würde - sofern es keine Fehlerbehebungen gibt - die Arbeit an diesem Skript einmal vorläufig abschließen. Ich danke euch sehr für eure Hilfe, die Inputs und die Beschäftigung mit dem Skript, auch in Verbindung mit den anderen Projekten wie der coolen Ereignisliste!

                  Liebe Grüße,
                  Andreas

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

                  Hi @andreaskos muss die json nicht in eckigen Klammer stehen. ?

                  sigi234S 1 Antwort Letzte Antwort
                  0
                  • andreaskosA Offline
                    andreaskosA Offline
                    andreaskos
                    schrieb am zuletzt editiert von
                    #52

                    Hi @Homer-J
                    Im Skript wird nur ein Objekt erzeugt, das dann mit der Methode JSON.stringify() in einen JSON-String ausgeben wird. Das erledigt diese Funktion, da hat das Skript keinen Einfluss drauf.

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

                      Hi @andreaskos muss die json nicht in eckigen Klammer stehen. ?

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

                      @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                      Hi @andreaskos muss die json nicht in eckigen Klammer stehen. ?

                      Hm, denke ich auch. Ich möchte ja eine Liste welcher Aktor in den jeweiligen DP ist.
                      Denke ein DP für Zone: Außenhaut, Innenhaut wäre Super

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          845

                                          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