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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Umfassendes Alarmanlagen-Skript

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                      • andreaskos
                                        andreaskos @Tirador last edited by andreaskos

                                        Grüß euch!

                                        @Tirador said in Umfassendes Alarmanlagen-Skript:

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

                                        Die Aufzählungen könnten schon durch das Skript selbst angelegt werden. Befüllen kann man sie dann über die Admin-Oberfläche ganz normal. Aber möglicherweise möchte man schon vorhandene Aufzählungen nutzen? Ich weiß nicht, ob das für alle allgmein so nutzbar wäre. Da weise ich lieber in den Kommentaren noch stärker drauf hin und mache die Bezeichner standardmäßig mit Kleinbuchstaben, denk ich.

                                        @dodi666

                                        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.

                                        Das ist schon eine eher spezielle Funktion - aber zugegeben, eine coole! Ich würde es aber der Einfachheit halber bei der Basisfunktion der Alarmanlage belassen. Solche Dinge kann man ja eh mit den vorhandenen Datenpunkten gut lösen mit "drum herum"-Skripts, Blocklys oder Szenen. Aber vielen Dank für den Input!

                                        LG Andreas

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

                                          Moin moin,

                                          das klingt sehr gut... gibts irgendeine Chance das in Blockly einzufügen? Ich habe die andere Programmierung nicht drauf 😢 .

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

                                            @radicalreel
                                            Du brauchst Blockly eh nicht dafür. Leg ein neues Javascript an, wähle aber bei der Auswahl nicht Blockly, sondern eben Javascript.
                                            Dann kopiere einfach das ganze Skript vom ersten Post in diesem Thread hinein in den Editor und scroll ein wenig nach unten.
                                            Alle Zeilen, die mit // beginnen, sind nur Kommentare und erklären ein paar Dinge.
                                            Dort, wo die Einstellungen zu machen sind, besserst du die Einträge einfach auf deine eigenen Anforderungen aus.
                                            Ich meine damit, diese Zeilen, immer nach dem = kannst du deine Änderungen machen:

                                            // EINSTELLUNGEN
                                            const entryDelay =                30;         // Eingangsverzögerung in Sekunden (sollte maximal 60s sein)
                                            const exitDelay =                 30;         // Ausgangsverzögerung in Sekunden (sollte maximal 60s sein)
                                            const alarmDurationAcoustical =  180;         // Dauer des akkustischen Alarms in Sekunden (ACHTUNG: in Ö sind maximal 180s erlaubt!)
                                            const alarmDurationOptical =      -1;         // Dauer des optischen Alarm in Sekunden, -1 für unendlich
                                             
                                            // TEXTE FÜR SCHALTZUSTAND
                                            // Diese Text geben Auskunft über den Zustand der Anlage.
                                            // Sie werden in den Datenpunkt "javascript.X.Output.StatusText" geschrieben.
                                            const textStatusInactive =        "unscharf";
                                            const textStatusActiveInternal =  "scharf intern";
                                            const textStatusActiveExternal =  "scharf extern";
                                            const textActiveExternalDelayed = "scharf extern verzögert";
                                            const textEntryDelayActive =      "Eingangsverzögerung aktiv";
                                            const textExitDelayActive =       "Ausgangsverzögerung aktiv";
                                             
                                            // TEXTE FÜR ALARMIERUNG UND FEHLER
                                            // Diese Text geben im unscharfen Zustand der Anlage Auskunft über die Bereitschaft
                                            // zum Scharfschalten (nur möglich, wenn alle Melder geschlossen - in Ruhe - sind) und
                                            // Fehler bei der Scharfschaltung bzw. bei scharfer Anlage über den Zustand Frieden oder Alarm.
                                            // Sie werden in den Datenpunkt "javascript.X.Output.AlarmText" geschrieben.
                                            const textAlarmInactive =         "Alles OK";
                                            const textAlarmActive =           "Alarm!!";
                                            const textReady =                 "Bereit";
                                            const textNotReady =              "Nicht bereit";
                                            const textError =                 "Fehler bei der Scharfschaltung";
                                            


                                            Irgendwann kommt dann die Zeile mit "DO NOT CHANGE ANYTHING BELOW THIS LINE" oder so ählich. Wenn du die erreicht hast, dann hast du's geschafft. Du brauchst das Script nur noch zu starten. Dann nochmal stoppen, dann beim zweiten Mal kannst du's laufen lassen. (Beim ersten Mal werden nämlich alle Datenpunkte angelegt, da können noch Warnings oder Fehler im Log auftauchen. Die sind beim zweiten Mal weg.)
                                            Die erzeugten Datenpunkte kannst du dann mit Blockly verarbeiten wie du magst.

                                            Du muss natürlich auch die Aufzählungen wie ein paar Posts vorher besprochen anlegen und dabei auf die Groß-/Kleinschreibung achten!

                                            LG Andreas

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            463
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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