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.4k

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 andreaskos
    #27

    OK, dann versuche ich, das wechseln der Schaltzustände von scharf intern auf scharf extern (oder umgekehrt) zu verhindern. Ich würde aber dann auch ohne anstehenden Alarm den Wechsel verbieten. Der Error "Fehler bei der Scharfschaltung" sollte dann ja auch dafür verwendet werden können.

    Der Ursprung der drei boolschen Datenpunkte für die Schaltzustandseingabe- und -anzeige ist das KNX Sicherheitsmodul von ABB, mit dem ich schon oft gearbeitet hab und es damit auch liebgewonnen hab. ;-)
    Ich verwende diese Datenpunkte dabei am liebsten. Der Mehrwert im Falle des ioBroker-Skripts besteht darin, dass diese zum Beispiel ganz einfach mit einer Code-Tastatur (oder sonst einer Hardware-Schaltstelle), die true/false liefert, verbunden werden können. Einfach, indem die beiden States mit einer Subscription gekoppelt werden. 2 Codes für extern und intern (d.h. jeweils ein Relais, das anzieht) - fertig.
    Genau auf diese Art könnte auch der Wunsch von @Homer-J umgesetzt werden, wo er schreibt:

    telenot Alarmanlagen die habe ich auch bei mir im Büro, die kann man ja über Chip aktivieren deaktivieren kannst du das vielleicht mit einbauen das wäre mal richtig genial.

    Ebenso verwende ich die Ausgabe-Datenpunkte, für zB true/false Status-Anzeigen. Insofern sind sie nicht tatsächlich redundant. Nur eine zusätzliche Möglichkeit für die Schaltzustandseingabe und -anzeige. Ich verwende kaum eine Visualisierung dafür.

    Was die Liste der Melder angeht, so würde ich nach meinem Gefühl eher auf einen JSON-String setzen, das ist noch universeller als HTML. Daraus kann man sich dann ja eine beliebige HTML-Struktur erstellen für seine eigene Visu.

    Danke mal wieder für die Inputs @Tirador ! - Die Arbeit geht mir also nicht aus... ;-)
    LG Andreas

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

      OK, die nächste Version ist da:

      • Die Melder werden aus den ENUMs geholt, by default von diesen:
        "Alarmanlage_Aussenhaut"
        "Alarmanlage_Innenraum"
        "Alarmanlage_Verzoegert"
      • Direktes Wechseln von einem Scharf-Zustand zu einem andern wird verhindert.
      • Instanz muss nicht eingegeben werden, sondern kommt von der Variable instance

      Nächstest ToDo: Ausgabe der ausgelösten Melder in 3 JSON-Strings, einmal alle Melder, einmal nur Außenhaut und einmal nur Innenraum-Melder.

      Homer.J.H 1 Antwort Letzte Antwort
      2
      • andreaskosA andreaskos

        OK, die nächste Version ist da:

        • Die Melder werden aus den ENUMs geholt, by default von diesen:
          "Alarmanlage_Aussenhaut"
          "Alarmanlage_Innenraum"
          "Alarmanlage_Verzoegert"
        • Direktes Wechseln von einem Scharf-Zustand zu einem andern wird verhindert.
        • Instanz muss nicht eingegeben werden, sondern kommt von der Variable instance

        Nächstest ToDo: Ausgabe der ausgelösten Melder in 3 JSON-Strings, einmal alle Melder, einmal nur Außenhaut und einmal nur Innenraum-Melder.

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

        @andreaskos Hallo Andreas kannst du mal bitte ein Beispiel Arrays für die Melder mit ins Script packen, hab jetzt schon einiges Probiert bekomme es aber nicht ans laufen. Danke

        Grüße

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

          Hi! Du brauchst keine Arrays mehr anlegen im Skript, das wurde mit der letzten Version geändert.
          Einfach drei Aufzählungen anlegen. Dazu gehst du im ioBroker-Admin auf Aufzählungen. Falls die in der Auswahl links nicht angezeigt werden, dann kannst du sie einblenden.
          Dort dann die drei neuen Aufzählungen unter "Functions" (Funktionen) anlegen und die States einfügen deiner Sensoren.
          Achtung auf die Groß/Kleinschreibung bei der id!
          Hast du das gemeint?

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

            Hi! Du brauchst keine Arrays mehr anlegen im Skript, das wurde mit der letzten Version geändert.
            Einfach drei Aufzählungen anlegen. Dazu gehst du im ioBroker-Admin auf Aufzählungen. Falls die in der Auswahl links nicht angezeigt werden, dann kannst du sie einblenden.
            Dort dann die drei neuen Aufzählungen unter "Functions" (Funktionen) anlegen und die States einfügen deiner Sensoren.
            Achtung auf die Groß/Kleinschreibung bei der id!
            Hast du das gemeint?

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

            @andreaskos
            Hab es musste nur die Funktion neu anlegen.

            Kleiner Fehler in deinem Script ist mir noch aufgefallen. Soll sicher Innenraum heißen.

            const functionIndoor = "Alarmanlage_Inneraum";
            

            Beim Bewegungsmeldern sollte doch eigentlich nur Motion Triggern oder. ?


            Fenstergriff Flur.STATE, Bewegungsmelder Flur.CURRENT_ILLUMINATION, Bewegungsmelder Flur.ILLUMINATION, Bewegungsmelder Flur.MOTION, Bewegungsmelder Flur.MOTION_DETECTION_ACTIVE, Bewegungsmelder Schlafzimmer.CURRENT_ILLUMINATION, Bewegungsmelder Schlafzimmer.ILLUMINATION, Bewegungsmelder Schlafzimmer.MOTION_DETECTION_ACTIVE, Bewegungsmelder Abstellraum.CURRENT_ILLUMINATION, Bewegungsmelder Abstellraum.ILLUMINATION, Bewegungsmelder Abstellraum.MOTION_DETECTION_ACTIVE, Bewegungsmelder Küche.CURRENT_ILLUMINATION, Bewegungsmelder Küche.ILLUMINATION, Bewegungsmelder Küche.MOTION_DETECTION_ACTIVE, Bewegungsmelder Wohnzimmer.CURRENT_ILLUMINATION, Bewegungsmelder Wohnzimmer.ILLUMINATION, Bewegungsmelder Wohnzimmer.MOTION_DETECTION_ACTIVE, Bewegungsmelder Badezimmer.CURRENT_ILLUMINATION, Bewegungsmelder Badezimmer.ILLUMINATION, Bewegungsmelder Badezimmer.PRESENCE_DETECTION_ACTIVE

            man muss die Funktion per Hand anlegen und nicht über die CCU dann geht es.

            Wieder Klasse Arbeit von dir. :+1:

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

              Danke für dein Feedback @Homer-J !
              Ja - klassischer Copy-Paste-Fehler, sorry. Innenraum sollte es heißen, genau.

              1 Antwort Letzte Antwort
              0
              • T Tirador

                @Homer-J hast du dein MDCSS Alarmanlagenview auf dieses Skript bereits angepasst?

                Ich meine dieses hier:

                https://forum.iobroker.net/topic/19970/suche-alarmanlagen-views/43

                Kannst du vielleicht die neueste Version bereitstellen?

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

                Hi @Tirador hab jetzt meine Vis auf das Script angepasst nochmal Vielen Dank an Andreas für die Umsetzung.
                Funktioniert hervorragend. :+1:
                Hab noch meine Pineingabe mit integriert.
                Hier mal 2 Screenshots wie meine Vis jetzt Aussieht.
                Sag Bescheid ob du es haben willst dann stelle ich alles hier ein.

                Grüße
                2020-05-05 vis.png Screenshot_2020-05-05 vis.png

                Hier meine Alarmanlage als Vorlage.
                Bitte die einzelnen View genau so anlegen wie die Textdatei heißen dann sollte es sofort funktionieren ansonsten alles an die eigene Struktur anpassen.
                Voraussetzung ist das [Projekt] MDCSS v2: Material Design CSS Version 2 von Uhula.
                Für die Pineingabe das Blocklyscript ist auch dabei und angepasst, es muss nur der vierstellige Pin im Datenpunkt PW_Auswertung eingegeben werden.

                Viel Spaß.

                Alarmanlage.rar

                M sigi234S T 4 Antworten Letzte Antwort
                3
                • Homer.J.H Homer.J.

                  Hi @Tirador hab jetzt meine Vis auf das Script angepasst nochmal Vielen Dank an Andreas für die Umsetzung.
                  Funktioniert hervorragend. :+1:
                  Hab noch meine Pineingabe mit integriert.
                  Hier mal 2 Screenshots wie meine Vis jetzt Aussieht.
                  Sag Bescheid ob du es haben willst dann stelle ich alles hier ein.

                  Grüße
                  2020-05-05 vis.png Screenshot_2020-05-05 vis.png

                  Hier meine Alarmanlage als Vorlage.
                  Bitte die einzelnen View genau so anlegen wie die Textdatei heißen dann sollte es sofort funktionieren ansonsten alles an die eigene Struktur anpassen.
                  Voraussetzung ist das [Projekt] MDCSS v2: Material Design CSS Version 2 von Uhula.
                  Für die Pineingabe das Blocklyscript ist auch dabei und angepasst, es muss nur der vierstellige Pin im Datenpunkt PW_Auswertung eingegeben werden.

                  Viel Spaß.

                  Alarmanlage.rar

                  M Offline
                  M Offline
                  MartyBr
                  schrieb am zuletzt editiert von
                  #34

                  @Homer-J
                  Hallo @Homer-J , ich würde mich sehr über die View freuen.

                  Gruß
                  Martin

                  Gruß
                  Martin


                  Intel NUCs mit Proxmox / Iobroker als VM unter Debian
                  Raspeberry mit USB Leseköpfen für Smartmeter
                  Homematic und Homematic IP

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

                    Hi @Tirador hab jetzt meine Vis auf das Script angepasst nochmal Vielen Dank an Andreas für die Umsetzung.
                    Funktioniert hervorragend. :+1:
                    Hab noch meine Pineingabe mit integriert.
                    Hier mal 2 Screenshots wie meine Vis jetzt Aussieht.
                    Sag Bescheid ob du es haben willst dann stelle ich alles hier ein.

                    Grüße
                    2020-05-05 vis.png Screenshot_2020-05-05 vis.png

                    Hier meine Alarmanlage als Vorlage.
                    Bitte die einzelnen View genau so anlegen wie die Textdatei heißen dann sollte es sofort funktionieren ansonsten alles an die eigene Struktur anpassen.
                    Voraussetzung ist das [Projekt] MDCSS v2: Material Design CSS Version 2 von Uhula.
                    Für die Pineingabe das Blocklyscript ist auch dabei und angepasst, es muss nur der vierstellige Pin im Datenpunkt PW_Auswertung eingegeben werden.

                    Viel Spaß.

                    Alarmanlage.rar

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

                    @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                    Viel Spaß.
                    Alarmanlage.rar

                    Danke, wollte es auch mal testen, aber da fehlen einige Pages im Rar?

                    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:

                      Viel Spaß.
                      Alarmanlage.rar

                      Danke, wollte es auch mal testen, aber da fehlen einige Pages im Rar?

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

                      Morgen @sigi234 war mir was durchgerutscht, hab ich ergänzt sollte jetzt alles da sein.

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

                        Morgen @sigi234 war mir was durchgerutscht, hab ich ergänzt sollte jetzt alles da sein.

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

                        @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                        Morgen @sigi234 war mir was durchgerutscht, hab ich ergänzt sollte jetzt alles da sein.

                        Ok, da gibt es noch einen Fehler bei der cardAlarmanlageFenster:

                        Screenshot (2408).png

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

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

                          Hi @Tirador hab jetzt meine Vis auf das Script angepasst nochmal Vielen Dank an Andreas für die Umsetzung.
                          Funktioniert hervorragend. :+1:
                          Hab noch meine Pineingabe mit integriert.
                          Hier mal 2 Screenshots wie meine Vis jetzt Aussieht.
                          Sag Bescheid ob du es haben willst dann stelle ich alles hier ein.

                          Grüße
                          2020-05-05 vis.png Screenshot_2020-05-05 vis.png

                          Hier meine Alarmanlage als Vorlage.
                          Bitte die einzelnen View genau so anlegen wie die Textdatei heißen dann sollte es sofort funktionieren ansonsten alles an die eigene Struktur anpassen.
                          Voraussetzung ist das [Projekt] MDCSS v2: Material Design CSS Version 2 von Uhula.
                          Für die Pineingabe das Blocklyscript ist auch dabei und angepasst, es muss nur der vierstellige Pin im Datenpunkt PW_Auswertung eingegeben werden.

                          Viel Spaß.

                          Alarmanlage.rar

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

                          @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                          es muss nur der vierstellige Pin im Datenpunkt PW_Auswertung eingegeben werden.

                          Wo?

                          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:

                            es muss nur der vierstellige Pin im Datenpunkt PW_Auswertung eingegeben werden.

                            Wo?

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

                            @sigi234 wo die 2054 steht dort deinen gewünschten Pin eintragen.
                            Es kann sein das ich die Fenster gruppiert habe löse diese mal auf, dann sollte es gehen.
                            Hab die Gruppierung jetzt raus genommen.

                            Screenshot_2020-05-06 javascript - ioBroker.png

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

                              @sigi234 wo die 2054 steht dort deinen gewünschten Pin eintragen.
                              Es kann sein das ich die Fenster gruppiert habe löse diese mal auf, dann sollte es gehen.
                              Hab die Gruppierung jetzt raus genommen.

                              Screenshot_2020-05-06 javascript - ioBroker.png

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

                              @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                              @sigi234 wo die 2054 steht dort deinen gewünschten Pin eintragen.
                              Es kann sein das ich die Fenster gruppiert habe löse diese mal auf, dann sollte es gehen.
                              Hab die Gruppierung jetzt raus genommen.

                              Screenshot_2020-05-06 javascript - ioBroker.png

                              wo die 2054
                              ?

                              Irgendwas stimmt nicht:

                              Screenshot (2411).png

                              Screenshot (2413)_LI.jpg

                              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:

                                @sigi234 wo die 2054 steht dort deinen gewünschten Pin eintragen.
                                Es kann sein das ich die Fenster gruppiert habe löse diese mal auf, dann sollte es gehen.
                                Hab die Gruppierung jetzt raus genommen.

                                Screenshot_2020-05-06 javascript - ioBroker.png

                                wo die 2054
                                ?

                                Irgendwas stimmt nicht:

                                Screenshot (2411).png

                                Screenshot (2413)_LI.jpg

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

                                @sigi234 im Timeoutblock Pineingabe den du offen hast, hab es bei mir gerade nochmal eingefügt und läuft.

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

                                  @sigi234 im Timeoutblock Pineingabe den du offen hast, hab es bei mir gerade nochmal eingefügt und läuft.

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

                                  @Homer-J sagte in Umfassendes Alarmanlagen-Skript:

                                  ast, hab es bei mir gerade nochmal eingefügt und läuft.

                                  Aha, gecheckt

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • P pix

                                    Hallo,

                                    tolle Arbeit, super Skript. Werde wohl demnächst mal mein altes Skript von 2016 ersetzen.

                                    Ich habe einige Vorschläge zum Skript:

                                    • die Javascript Instanz lässt sich durch instance abfragen. createState() darf eh nur in der Instanz, in der das Skript läuft States anlegen (und im neuen 0_userdata-Pfad)
                                    • Bitte beim Anlegen von Datenpunkten auch Rollen vergeben (Liste möglicher Werte).
                                    • 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
                                    on({
                                        id: idTrigger,
                                        change: "ne"
                                    }, function(obj) {
                                            log("obj.id " + obj.id);
                                            log("obj.name " + obj.name);
                                            log("obj.deviceName " + obj.deviceName);
                                            log("obj.deviceId " + obj.deviceId);
                                            log("obj.channelId " + obj.channelId);
                                            log("obj.channelName " + obj.channelName);
                                            log("obj.common.name " + obj.common.name);
                                            log("obj.common.desc " + obj.common.desc);
                                            log("obj.state.ts (formatiert) " + formatDate(obj.state.ts, "TT.MM.JJJJ SS:mm:ss"));
                                    });
                                    

                                    Ist die Subscription von Rollen nicht geplant? So kann man leicht zB alle Bewegungsmelder eines Raumes oder die Tür-Fenster-Kontakte auf einmal überwachen, die z.B. einer Rolle "Alarmsensoren_Aussenhaut" zugeordnet sind. Das reduziert die Wartungsarbeit beim Wechsel von Sensor-Hardware.

                                    const motion_kizi = $("channel[state.id=*.MOTION](rooms=Kinderzimmer)");
                                    motion_kizi.on(function(obj){
                                        if (obj.state.val && (getState(idAlarmanlage).val === 1 || getState(idAlarmanlage).val) ) { // wenn Alarmanlage ein
                                           setState("scene.0.licht_kinderzimmer_alles_ein", true);  // alle Lichter an
                                           // weitere Aktionen
                                       }
                                    });
                                    

                                    Top Arbeit :+1:
                                    Pix

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          843

                                          Online

                                          32.4k

                                          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