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

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    [Vorlage] Generisches Fensteroffenskript + Vis

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

      @pittini said in [Vorlage] Generisches Fensteroffenskript + Vis:

      @gib64
      Schau Dir mal Zeile 81-83 im Skript an, das könnte beim HM Problem helfen.

      Danke, true und false getauscht aber dann meldet ein anderes Fenster einen falschen Status...

      @pittini said in [Vorlage] Generisches Fensteroffenskript + Vis:

      @gib64
      Grundsätzlich hat HM ohnehin ne Extrabehandlung im Skript (ab Zeile 1236) weil die gern alles anders machen wie alle anderen.

      function CheckForHmShit 😄

      1 Reply Last reply Reply Quote 0
      • E
        exitus last edited by

        Hallo bei mir läuft der script zwar gut bis auf ein Zimmer .
        Obwohl Fenster geschlossen ist zeig es im Vis für kurze Zeit das Kinderzimmer offen ist.
        Es passiert nur bei Kinderzimmer.
        Ich habe den Magnet von Kinderzimmer und Funktion Fenster entfernt Kinderzimmer unter Room gelöscht und den die Datenpunkte gelöscht die unter Javascript sind, script Neugestartet dennoch taucht Kinderzimmer im Vis kurz auf obwohl kein Kinderzimmer definiert ist.
        kann mir jemand helfen ???

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

          @exitus Ohne Logs....tippe ich auf ne Leiche in den Aufzählungen. Ansonsten...mehr Infos bitte.

          1 Reply Last reply Reply Quote 0
          • Horst Böttcher
            Horst Böttcher @Pittini last edited by Horst Böttcher

            @pittini

            Hallo ich habe das Aktuelle script genommen und nach dem jetzt meine Balkon jetzt über 3 stunden offen ist wird es langsamm kalt 🙂 nee scherz

            c71b5bff-4fe8-4d2a-9dc7-77c754c8cd5b-image.png

            ich weiss nicht warum aber die tür ist zu
            Ich nutze den homatik fenstergriff

            qqolli 1 Reply Last reply Reply Quote 0
            • qqolli
              qqolli @Horst Böttcher last edited by

              @horst-böttcher
              Hi,

              das gleiche Phänomen hatte ich auch. Es lag am Ende aber tatsächlich nicht am Skript, sondern daran, das mein Magnet (als Gegenstück) meines Xiaomi-Sensors mit der Zeit etwas verrutscht war. Nach der Neumontage lief es wieder. Das hatte ich bei 3 Sensoren.

              Horst Böttcher 1 Reply Last reply Reply Quote 0
              • Horst Böttcher
                Horst Böttcher @qqolli last edited by

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

                @horst-böttcher
                Hi,

                das gleiche Phänomen hatte ich auch. Es lag am Ende aber tatsächlich nicht am Skript, sondern daran, das mein Magnet (als Gegenstück) meines Xiaomi-Sensors mit der Zeit etwas verrutscht war. Nach der Neumontage lief es wieder. Das hatte ich bei 3 Sensoren.

                ich habe kein magnett das verrutschen kann ist alles im sensor verbaut
                721d181c-a001-488b-a760-dd6ddd6a5c31-image.png

                Dominik F. Quarkmax 2 Replies Last reply Reply Quote 0
                • Dominik F.
                  Dominik F. @Horst Böttcher last edited by

                  @horst-böttcher

                  Hast du das Skript mal neu gestartet oder den Javascript Adapter?

                  1 Reply Last reply Reply Quote 0
                  • Quarkmax
                    Quarkmax @Horst Böttcher last edited by Quarkmax

                    @horst-böttcher
                    sind im Script die Variablen richtig gesetzt? Ich habe den gleichen Sensor und es funktioniert prima. Beachte unbedingt die Groß/Klein-Schreibung

                    const WindowIsOpenWhen = ["true", "offen", "open", "opened", "2"];
                    const WindowIsClosedWhen = ["false", "geschlossen", "closed", "0"]; 
                    const WindowIsTiltedWhen = ["tilted", "gekippt", "1"];
                    

                    Eigentlich sollte 1,2,0 bei dem Sensor ausreichen

                    Horst Böttcher 1 Reply Last reply Reply Quote 0
                    • Horst Böttcher
                      Horst Böttcher @Quarkmax last edited by

                      @quarkmax ab und zu geht es
                      kommen aber fehler meldung

                      
                      
                      javascript.0
                      2023-03-17 05:36:52.070	error	at processTimers (node:internal/timers:502:7)
                      
                      javascript.0
                      2023-03-17 05:36:52.069	error	at listOnTimeout (node:internal/timers:559:17)
                      
                      javascript.0
                      2023-03-17 05:36:52.069	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2575:34)
                      
                      javascript.0
                      2023-03-17 05:36:52.068	error	at Object.<anonymous> (script.js.common.Zimmer.Fenster_und_Türen.Fenster_Tür_Überwachung:1388:25)
                      
                      javascript.0
                      2023-03-17 05:36:52.068	error	at CheckWindow (script.js.common.Zimmer.Fenster_und_Türen.Fenster_Tür_Überwachung:1053:62)
                      
                      javascript.0
                      2023-03-17 05:36:52.067	error	at Meldung (script.js.common.Zimmer.Fenster_und_Türen.Fenster_Tür_Überwachung:387:25)
                      
                      javascript.0
                      2023-03-17 05:36:52.060	error	Error in callback: ReferenceError: Say is not defined
                      
                      wendy2702 Dominik F. 2 Replies Last reply Reply Quote 0
                      • wendy2702
                        wendy2702 @Horst Böttcher last edited by

                        @horst-böttcher sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                        Error in callback: ReferenceError: Say is not defined

                        Schau mal in den ersten und zweiten Beitrag dieses Threads.

                        1 Reply Last reply Reply Quote 0
                        • Dominik F.
                          Dominik F. @Horst Böttcher last edited by

                          @horst-böttcher sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          2023-03-17 05:36:52.060 error Error in callback: ReferenceError: Say is not defined

                          Das müsste eine Fehlermeldung sein, weil du eine Entwicklerfunktion als True in den Einstellungen hast.

                          const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Developerfunktion, muß deaktiviert sein.
                          const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Developerfunktion, muß deaktiviert sein.
                          
                          
                          Horst Böttcher 1 Reply Last reply Reply Quote 0
                          • Horst Böttcher
                            Horst Böttcher @Dominik F. last edited by Horst Böttcher

                            @dominik-f jo danke vorerst keine error meldung
                            giebt es eine möglichkein Nukki als tür einzubeinden

                            Dominik F. 1 Reply Last reply Reply Quote 1
                            • Dominik F.
                              Dominik F. @Horst Böttcher last edited by

                              @horst-böttcher

                              wenn du einem entsprechendem Datenpunkt die Funktion "Tuer" zuweist, dann wird sie als Tür eingebunden. Dem Skript ist es am Ende egal ob es wirklich eine Tür ist.

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

                                Hallo,

                                ich nutze diesen Script, habe die Einstellung der Datenpunkte vorgenommen.
                                So weit läuft es auch, nur leider bekomme ich diese Fehlermeldung:

                                20:21:22.490	error	javascript.0 (532) at Meldung (script.js.Fensterauswertung:387:25)
                                20:21:22.490	error	javascript.0 (532) at CheckWindow (script.js.Fensterauswertung:1014:64)
                                20:21:22.490	error	javascript.0 (532) at Object.<anonymous> (script.js.Fensterauswertung:1388:25)
                                

                                Dann erkennt das Script das die Fenster geschlossen worden sind, nur ein erneuerst öffnen erkennt er nicht mehr.
                                Da ich Neuling bin, kenne ich mich mit dem Fehler nicht ganz so aus. Wer kann mir helfen, habe ich was falsch gemacht ?

                                Das ist was das Log über den Adapter herausgibt

                                javascript.0
                                2023-05-06 20:56:11.453	error	at processTimers (node:internal/timers:502:7)
                                javascript.0
                                2023-05-06 20:56:11.453	error	at listOnTimeout (node:internal/timers:559:17)
                                javascript.0
                                2023-05-06 20:56:11.453	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2575:34)
                                javascript.0
                                2023-05-06 20:56:11.453	error	at Object.<anonymous> (script.js.Fensterauswertung:1388:25)
                                javascript.0
                                2023-05-06 20:56:11.453	error	at CheckWindow (script.js.Fensterauswertung:1014:64)
                                javascript.0
                                2023-05-06 20:56:11.452	error	at Meldung (script.js.Fensterauswertung:387:25)
                                javascript.0
                                2023-05-06 20:56:11.452	error	Error in callback: ReferenceError: Say is not defined
                                
                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  Pittini Developer @Longbow last edited by

                                  @longbow Die Antwort bzw. Lösung steht 3 Posts über Deinem.

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

                                    @pittini Erstmal danke für das Script, läuft auch alles bei mir. 👍
                                    Ich kann bei Alexa fragen welche Fenster offen sind und bekomme als Antwort das zurück, was im Datenpunkt "RoomsWithOpenWindows" steht. Wenn in mehreren Räumen Fenster geöffnet sind, "liest" Alex dieses <br> mit vor. Also sagt das Mädel: Büro eins offenes Fenster kleiner br größer Wohnzimmer eins offenes Fenster. Das ist nur beim ersten Mal lustig und um das zu ändern habe ich testweise die Zeile 79:

                                    const OpenWindowListSeparator = "<br>"; //Trennzeichen für die Textausgabe der offenen Fenster pro Raum
                                    

                                    geändert auf

                                    const OpenWindowListSeparator = " und "; //Trennzeichen für die Textausgabe der offenen Fenster pro Raum
                                    

                                    Jetzt liest das Mädel (oder wie du sagen würdest: die Wanze) es vernünftig vor.
                                    Ich hab absolut keinen Plan von irgendwelcher Programmierung, daher meine Frage, wofür ist das <br>? Laut Google wird das bei hmtl als Zeilenumbruch verwendet, ist dem so und dadurch das ich das ändere wird das in VIS oder wo auch immer nicht mehr richtig angezeigt?
                                    Wenn ja, kann ich dann einfach ein zweites Script anlegen, das nur anders benennen und dort die Zeile 79 ändern um das für die Alexa Frage zu nehmen?

                                    Grüße aus dem trüben Köln...

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      Chrunchy @JoJo58 last edited by

                                      @jojo58 ja, das <br> sorgt in HTML für einen Zeilumbruch.
                                      Wirkt sich aber nur aus, wenn du in einer VIS den Datenpunkt darstellst.

                                      Ich habe bei mir ein Komma als Trennzeichen drin.

                                      JoJo58 1 Reply Last reply Reply Quote 0
                                      • JoJo58
                                        JoJo58 @Chrunchy last edited by

                                        @chrunchy Danke dir. Dann weiß ich Bescheid.

                                        1 Reply Last reply Reply Quote 0
                                        • J
                                          JoergH last edited by

                                          Hi @pittini

                                          Ich habe das Skript lange Zeit benutzt und alles lief, allerdings seit meiner kompletten Neuinstallation bekomme ich es einfach nicht mehr zum Laufen. Für alle Fenster/Tueren erscheint der Fehler, dass er die States nicht finden kann, obwohl sie vorhanden sind.

                                          javascript.0
                                          	2023-05-24 12:39:24.755	warn	script.js.Fenster_und_Türen.Fenster_zählen_1_6_14: Unknown Windowstate undefined detected at hm-rpc.1.0000DD898C6B55.1, please check your configuration
                                          javascript.0
                                          	2023-05-24 12:39:24.754	warn	at processImmediate (node:internal/timers:478:21)
                                          javascript.0
                                          	2023-05-24 12:39:24.754	warn	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2443:38)
                                          javascript.0
                                          	2023-05-24 12:39:24.754	warn	at Object.<anonymous> (script.js.Fenster_und_Türen.Fenster_zählen_1_6_14:279:13)
                                          javascript.0
                                          	2023-05-24 12:39:24.754	warn	at InitialSort (script.js.Fenster_und_Türen.Fenster_zählen_1_6_14:315:5)
                                          javascript.0
                                          	2023-05-24 12:39:24.753	warn	at main (script.js.Fenster_und_Türen.Fenster_zählen_1_6_14:350:5)
                                          javascript.0
                                          	2023-05-24 12:39:24.753	warn	at init (script.js.Fenster_und_Türen.Fenster_zählen_1_6_14:335:45)
                                          javascript.0
                                          	2023-05-24 12:39:24.750	warn	getState "hm-rpc.1.0000DD898C6B55.1" not found (3)
                                          

                                          72d4c1d9-96ec-4a09-b65c-f14696c5f6db-grafik.png

                                          Ich finde den Fehler einfach nicht. Muss ich Zuweisungen der Räume oder Gewerke anders vornehmen?

                                          Wäre für einen Tipp dankbar!

                                          C 1 Reply Last reply Reply Quote 0
                                          • C
                                            Chrunchy @JoergH last edited by

                                            @joergh Die Funktion muss in den Datenpunkt, nicht in die übergeordnete Gruppe.
                                            Lösche "Fenster" aus functions von "hm-rpc.1.0000DD898C6B55.1" und setzte es in functions von "hm-rpc.1.0000DD898C6B55.1.STATE"

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            670
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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