Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Generisches Fensteroffenskript + Vis

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Vorlage] Generisches Fensteroffenskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      Mike Hellracer @Pittini last edited by Mike Hellracer

      @Pittini
      kann gelöscht werden. habe mein Problem gelöst

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

        Erstmals, danke @Pittini für dieses Skipt! Ich wollte fragen ob ihr denkt dass jemand Interesse hätte dieses Skript auf Englisch zu haben? Ich habe es für mich übersetzt inkl. alle Kommentare. Funktioniert einwandfrei! Bei Bedarf kann ich es gerne teilen.
        Noch ein "Feature Request" an dem ich vielleicht selbst bald bauen werde wäre dass man in den Triggers auch die jetzige Außentemperatur in Betracht nehmen kann. Habe ich z.B. so bei meinem "einfacheren" Skript getan denn im Sommer ist mir eigentlich egal ob eine Tür oder ein Fenster länger offen bleibt aber im Winter würde ich gerne die Warnung bekommen.

        Negalein P 2 Replies Last reply Reply Quote 0
        • Negalein
          Negalein Global Moderator @mrFenyx last edited by Negalein

          @mrFenyx sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

          Habe ich z.B. so bei meinem "einfacheren" Skript getan denn im Sommer ist mir eigentlich egal ob eine Tür oder ein Fenster länger offen bleibt aber im Winter würde ich gerne die Warnung bekommen.

          das fände ich sehr gut. Derzeit hab ich genau aus diesem Grund die Benachrichtigung deaktiviert.

          1 Reply Last reply Reply Quote 0
          • P
            Pittini Developer @mrFenyx last edited by

            @mrFenyx @Negalein Ich versteh Euer anliegen, werde das aber erstmal nicht integrieren, weil das ein riesen Fass aufmacht. Dann will der nächste das für Türen und Fenster separat, der übernächste nur wenns nacht is usw. Ist ja eh schon ein Konfigurationsmonster, das möchte ich nicht noch verschärfen. Ich hab das bei mir so dass nur einmalig ne Benachrichtigung nach 2 Stunden kommt, im Winter setz ich das dann auf 15 Minuten.

            Negalein 1 Reply Last reply Reply Quote 0
            • Negalein
              Negalein Global Moderator @Pittini last edited by

              @Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

              Ich versteh Euer anliegen, werde das aber erstmal nicht integrieren, weil das ein riesen Fass aufmacht. Dann will der nächste das für Türen und Fenster separat, der übernächste nur wenns nacht is usw. Ist ja eh schon ein Konfigurationsmonster, das möchte ich nicht noch verschärfen. Ich hab das bei mir so dass nur einmalig ne Benachrichtigung nach 2 Stunden kommt, im Winter setz ich das dann auf 15 Minuten.

              kein Problem.
              Ich aktiviere es jetzt wenns kälter wird wieder.

              1 Reply Last reply Reply Quote 0
              • B
                Bibo*13 last edited by

                Erstmal Danke für das Skript. Läuft super.

                Gibt es eine Möglichkeit die Logeintäge etwas zurückzunehmen.
                Das Skript ist sehr geschwätzig. Was gut wenn man Fehler sucht.
                Aber im normal Betrieb sind die MSgs die meisten Einträge im Log.
                Das macht es etwas unübersichtlich.
                Aber vielleicht habe ich auch einfach einen Parameter(DP) zur Kontrolle derselben übersehen.

                vielen Dank

                P 1 Reply Last reply Reply Quote 0
                • P
                  Pittini Developer @Bibo*13 last edited by

                  @Bibo-13 Ganz oben in den Skripteinstellungen, logging von true auf false setzen.

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    Bibo*13 @Pittini last edited by

                    @Pittini Das steht auf false.
                    Ich habe im Skript nachgesehen und da gibt es doch noch sehr viel log Ausgabe ohne das Logging abgefragt wird.

                    P 1 Reply Last reply Reply Quote 0
                    • P
                      Pittini Developer @Bibo*13 last edited by

                      @Bibo-13 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                      Ich habe im Skript nachgesehen und da gibt es doch noch sehr viel log Ausgabe ohne das Logging abgefragt wird.

                      Kannste ja als workaround erst mal mit // auskommentieren. Werd mal drübergehen und das mit dem nächsten update einspielen.

                      D3ltoroxp 1 Reply Last reply Reply Quote 0
                      • D3ltoroxp
                        D3ltoroxp @Pittini last edited by

                        @Pittini Ich hätte mal eine Frage, bzw. einen Feature Request.

                        Es wird ja in einem DP Punkt eine Art Log angelegt, also alle Infos, stehen in einem DP. Gibt es hier eine Möglichkeit das zu trennen und den Zähler z.b. für jeden Kontakt zu erstellen in einem extra DP. Also Beispiel : Bad Fenster seit 20 Min offen. Wenn die nächste Meldung kommt wird der DP einfach überschrieben. Dann steht dort eben drin Bad Fenster seit 40 min geöffnet.

                        Ich habe eine Übersicht mit allen Fenstern, dort hätte ich gern pro Fenster noch einen Text mit der Minutenzahl, so wie sie auch im Message Log stehen. Dann kann ich das über den Fenstern zuordnen.

                        2ad25a2a-c3e5-48eb-96b8-d5012869e832-image.png

                        Quasi hier noch nen DP dazu, wo eben der Text für den passenden Text steht. Ich weiß ja nicht wie schnell und mit welchem Aufwand das um zu setzten ist.

                        Ich kenne mich leider nicht so aus, sonst hätte man das vllt auch mit nem extra Script aus der Message Log raus holen können, aber dann brauch ich einige Scripte um das bei jedem Fenster zu machen.

                        Daher meine Frage, ob du das vllt ein wenig aufsplitten kannst ?

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          Pittini Developer @D3ltoroxp last edited by

                          @D3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          Also Beispiel : Bad Fenster seit 20 Min offen. Wenn die nächste Meldung kommt wird der DP einfach überschrieben. Dann steht dort eben drin Bad Fenster seit 40 min geöffnet.

                          Das macht eigentlich der Dp "LastMessage". Was gefällt Dir an dem nicht?

                          D3ltoroxp 1 Reply Last reply Reply Quote 0
                          • D3ltoroxp
                            D3ltoroxp @Pittini last edited by

                            @Pittini Stimmt den hatte ich auch schon im Auge, aber auch hiermit kann ich das ja nicht jedem Fenster zuordnen.

                            021ccec7-2081-42d7-9440-a0ed80266b08-image.png

                            Das hier würde ich gerne mit Infos füttern.

                            Wenn ich aber den DP "LastMessage" kann ich diesen Text dort ja nicht für alle Fenster nutzen, sonst steht dann über jedem Fenster der gleiche Text. Dieser Last Message wäre super in jedem angelegten Kontakt.

                            Also Schlafzimmer dort Last Message, Büro dort Last Message.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Pittini Developer @D3ltoroxp last edited by

                              @D3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                              Stimmt den hatte ich auch schon im Auge, aber auch hiermit kann ich das ja nicht jedem Fenster zuordnen.

                              Verstehe, warum nimmste dann nicht das Timestamp Widget und nimmst dafür den Room is open dp? Nur so als Idee die mir grad einfällt.

                              D3ltoroxp 2 Replies Last reply Reply Quote 1
                              • D3ltoroxp
                                D3ltoroxp @Pittini last edited by

                                @Pittini Könnte ich mir so mal anschauen. Danke für den Tipp.

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

                                  @Pittini - ich bin heute das erste mal über dein Skript gestolpert. Habe alles eingerichtet wie auf GIT beschrieben, aber bei mir wird im javaskript Ordner nur ein Fensterüberwachungsordner mit 4 DP angelegt - mehr nicht....... und das was da drin steht stimmt leider auch nicht, denn entgegen der Anzeige sind noch Fenster offen.

                                  Räume und Funktionen sind den Datenpunkten die verwendet werden sollen zugewiesen. Instanz von JS ist gestoppt und gestartet worden.

                                  Aber wie gesagt, bei mir läuft es nicht so wie es beschrieben ist.

                                  2020-09-08 20_53_39-objects - ioBroker.png

                                  2020-09-08 20_57_48-objects - ioBroker.png

                                  P 1 Reply Last reply Reply Quote 0
                                  • P
                                    Pittini Developer @JB_Sullivan last edited by

                                    @JB_Sullivan Meine Glaskugel is in Urlaub, bitte komplettes Startlog.

                                    JB_Sullivan 1 Reply Last reply Reply Quote 0
                                    • JB_Sullivan
                                      JB_Sullivan @Pittini last edited by JB_Sullivan

                                      @Pittini

                                      Was mir nicht so ganz Klar ist, ist der Begriff Verschluss, den habe ich nirgend definiert. Wo müsste man den denn definieren?

                                      javascript.0	2020-09-09 11:39:48.818	warn	(9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.OverviewTable, state="<table style='width:100%; border-collapse: collapse; border: 0px solid black;'><
                                      javascript.0	2020-09-09 11:39:48.817	info	(9100) script.js.common.Fensterueberwachung: Alle Fenster sind geschlossen
                                      javascript.0	2020-09-09 11:39:48.817	warn	(9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.RoomsWithOpenWindows, state="Alle Fenster sind geschlossen") - wurde nicht ausgeführt, während der Deb
                                      javascript.0	2020-09-09 11:39:48.817	info	(9100) script.js.common.Fensterueberwachung: Alle Fenster geschlossen.
                                      javascript.0	2020-09-09 11:39:48.817	warn	(9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.WindowsOpen, state=0) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
                                      javascript.0	2020-09-09 11:39:48.816	warn	(9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.AlleFensterZu, state=true) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
                                      javascript.0	2020-09-09 11:39:48.815	info	(9100) script.js.common.Fensterueberwachung: CreateStates fertig!
                                      javascript.0	2020-09-09 11:39:48.814	info	(9100) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules
                                      javascript.0	2020-09-09 11:39:48.804	info	(9100) Start javascript script.js.common.Fensterueberwachung
                                      javascript.0	2020-09-09 11:39:46.609	info	(9100) Stop script script.js.common.Fensterueberwachung
                                      j
                                      

                                      habe gerade gesehen das Debug noch aktiv war. Habe ich gerade geändert, javaskript Instanz neu gestartet und auch das Script selber. Leider ohne Erfolg. Es beliebt bei 4 DP`s

                                      javascript.0	2020-09-09 11:42:11.863	info	(9100) script.js.common.Fensterueberwachung: Alle Fenster sind geschlossen
                                      javascript.0	2020-09-09 11:42:11.863	info	(9100) script.js.common.Fensterueberwachung: Alle Fenster geschlossen.
                                      javascript.0	2020-09-09 11:42:11.862	info	(9100) script.js.common.Fensterueberwachung: CreateStates fertig!
                                      javascript.0	2020-09-09 11:42:11.860	info	(9100) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules
                                      javascript.0	2020-09-09 11:42:11.856	info	(9100) Start javascript script.js.common.Fensterueberwachung
                                      javascript.0	2020-09-09 11:42:09.979	info	(9100) Stop script script.js.common.Fensterueberwachung
                                      javascript.0	2020-09-09 11:42:08.784	info	(9100) script.js.common.Fensterueberwachung: Alle Fenster sind geschlossen
                                      javascript.0	2020-09-09 11:42:08.783	info	(9100) script.js.common.Fensterueberwachung: Alle Fenster geschlossen.
                                      javascript.0	2020-09-09 11:42:08.783	info	(9100) script.js.common.Fensterueberwachung: CreateStates fertig!
                                      javascript.0	2020-09-09 11:42:08.782	info	(9100) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules
                                      javascript.0	2020-09-09 11:42:08.777	info	(9100) Start javascript script.js.common.Fensterueberwachung
                                      javascript.0	2020-09-09 11:42:08.662	info	(9100) Stop script script.js.common.Fensterueberwachung
                                      
                                      

                                      .... und stimmen tut es auch nicht, da noch ein Fenster offen ist.

                                      2020-09-09 11_47_47-objects - ioBroker.png

                                      2020-09-09 11_48_51-objects - ioBroker.png

                                      P 1 Reply Last reply Reply Quote 0
                                      • P
                                        Pittini Developer @JB_Sullivan last edited by

                                        @JB_Sullivan sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                                        .... und stimmen tut es auch nicht, da noch ein Fenster offen ist.

                                        Naja, stimmen tut es schon, solange er nicht mal einen Raum erkennt, is auch kein Fenster offen.
                                        Als erstes sollteste mal dem Device den Raum zuordnen, nicht nur dem Datenpunkt. Aber ich denke nichtmal dass das der eigentliche Grund für das Verhalten ist, iwas liegt da bei Dir im argen, ich behaupte mal dasses nicht am Skript liegt, das ist zu oft im Einsatz als dass so ein Fehler durchschlupfen hätte können.
                                        Zur Frage zum "Verschluss" - das ist alt, als Türen und Fenster noch gemeinsam verarbeitet wurden. Das wurde dann durch Tueren und Fenster ersetzt (wobei mans natürlich nennen kann wie man mag).
                                        Hast Du an den Einstellungen iwas geändert? Das Log is so kurz, da is ja nicht mal der Startvermerk drin, der sollte so aussehen:

                                        12:20:25.770	info	javascript.0 (15439) script.js.common.FensterUeberwachung: starting Fensterskript, Version 1.6.6
                                        

                                        Also entweder ist das Skript nicht vollständig, Du hast iwas deaktiviert etc. pp.
                                        Zeig doch mal nen Screenshot von den Skripteinstellungen und nen Datenpunkt aus der Objektliste wo Du Tür/Fenster zugeordnet hast, inkl. Raum, mit alle Dps aufgeklappt bis zum Rootchannel.

                                        JB_Sullivan 1 Reply Last reply Reply Quote 0
                                        • JB_Sullivan
                                          JB_Sullivan @Pittini last edited by JB_Sullivan

                                          @Pittini Ich sage ja gar nicht das es an deinem Script liegt - nur das es nicht so wie beschrieben funktioniert.

                                          Das Script habe ich von GIT herunter geladen und so gut wie nichts geändert.
                                          Der Screenshot von der Objekt Liste ist oben - oder was meinst du?

                                          2020-09-09 12_34_05-javascript - ioBroker.png

                                          Oder kommt das Statt "Verschluss"; ---- "Fenster"; "Tuer"; rein?

                                          Hier nochmal aufgeklappt bis zum Root Channel

                                          2020-09-09 12_42_31-objects - ioBroker.png

                                          Hier - ich habe noch was im LOG File gefunden. Da ich aktuell über die Cloud auf meiner ioB Maschine drauf bin, scheint die Erstellung der Datenpunkte durch das Unterbrechen der Verbindung (warum auch immer habe 1Gbit Leitung) nicht ausgeführt zu werden.

                                          cloud.0	2020-09-09 12:44:52.185	info	(7112) User disconnected from cloud: XuaPWrPgDGn5F46UAA9g
                                          javascript.0	2020-09-09 12:44:45.904	info	(14640) script.js.common.Fensterueberwachung: Kinderzimmer 1 offenes Fenster
                                          javascript.0	2020-09-09 12:44:45.903	info	(14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=5
                                          javascript.0	2020-09-09 12:44:45.903	info	(14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=4
                                          javascript.0	2020-09-09 12:44:45.902	info	(14640) script.js.common.Fensterueberwachung: Kinderzimmer Fenster = geöffnet
                                          javascript.0	2020-09-09 12:44:45.902	info	(14640) script.js.common.Fensterueberwachung: Setting Interval at initialization to Room: Kinderzimmer
                                          javascript.0	2020-09-09 12:44:45.902	info	(14640) script.js.common.Fensterueberwachung: Temproom= Kinderzimmer TempRoomIndex= 3 RoomOpenWindowcount= 1
                                          javascript.0	2020-09-09 12:44:45.901	info	(14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=3
                                          javascript.0	2020-09-09 12:44:45.901	info	(14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=2
                                          javascript.0	2020-09-09 12:44:45.900	info	(14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=1
                                          javascript.0	2020-09-09 12:44:45.900	info	(14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=0
                                          javascript.0	2020-09-09 12:44:45.899	info	(14640) script.js.common.Fensterueberwachung: CreateStates fertig!
                                          javascript.0	2020-09-09 12:44:45.897	info	(14640) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules
                                          javascript.0	2020-09-09 12:44:45.896	info	(14640) script.js.common.Fensterueberwachung: Raum 5 = Toilette
                                          javascript.0	2020-09-09 12:44:45.894	info	(14640) script.js.common.Fensterueberwachung: Raum 4 = Kinderzimmer-OG
                                          javascript.0	2020-09-09 12:44:45.893	info	(14640) script.js.common.Fensterueberwachung: Raum 3 = Kinderzimmer
                                          javascript.0	2020-09-09 12:44:45.893	info	(14640) script.js.common.Fensterueberwachung: Raum 2 = Büro
                                          javascript.0	2020-09-09 12:44:45.893	info	(14640) script.js.common.Fensterueberwachung: Raum 1 = Badezimmer-OG
                                          javascript.0	2020-09-09 12:44:45.893	info	(14640) script.js.common.Fensterueberwachung: Raum 0 = Ankleidezimmer
                                          javascript.0	2020-09-09 12:44:45.883	info	(14640) Start javascript script.js.common.Fensterueberwachung
                                          javascript.0	2020-09-09 12:44:39.432	info	(14640) Stop script script.js.common.Fensterueberwachung
                                          

                                          Oder meintest du ggf. den Baum aus dem Funktionsordner?

                                          2020-09-09 12_52_35-enums - ioBroker.png

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            Pittini Developer @JB_Sullivan last edited by

                                            @JB_Sullivan Ok, Problem gelöst denk ich. Wenn Du die alte Version 1.2.3 nimmst, musst Du "Verschluss" verwenden als Funktion (oder was anderes, dann musste es aber auch im Skript ändern.)

                                            Wenn Du die aktuelle Version nimmst, verwendeste "Tuer" und "Fenster".

                                            Da Du aktuell "Fenster" zugewiesen hast, das Skript aber nach "Verschluss" sucht, is klar warum nix angelegt wird.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.2k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript monitoring template
                                            81
                                            768
                                            172148
                                            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