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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Vorlage] Generisches Fensteroffenskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Chaibi87 last edited by

      Also jetzt funktioniert auf jeden Fall alles bei mir. Ich habe jetzt nicht den kompletten Verlauf hier gelesen, aber hast du schon daran gedacht eine Funktion einzubauen, um einzelne Fenster ohne Meldung schalten zu können? Wenn ich in der Küche ein Fenster habe welches ich offen lassen möchte, dann schalte ich über eine Variable die Meldungen inaktiv.

      Gruß Jan

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

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

        Also jetzt funktioniert auf jeden Fall alles bei mir. Ich habe jetzt nicht den kompletten Verlauf hier gelesen, aber hast du schon daran gedacht eine Funktion einzubauen, um einzelne Fenster ohne Meldung schalten zu können? Wenn ich in der Küche ein Fenster habe welches ich offen lassen möchte, dann schalte ich über eine Variable die Meldungen inaktiv.

        Wenn ein Fenster (sensor) nicht berücksichtigt werden soll brauch man ihn ja nur die Funktion "Verschluss" wegnehmen. Aber wenn ich Dich richtig verstehe soll das in den Anzeigen weiterhin drin sein, aber keine Meldung auslösen? Die Idee ist nicht schlecht, wird aber, da das Skript raumbasiert arbeitet, dann so sein dass man bestimmte Räume von der Meldung ausnehmen kann. Wär das so in Deinem Sinne?

        Dominik F. 1 Reply Last reply Reply Quote 0
        • C
          Chaibi87 last edited by

          Ja das wäre ja über ein anderes Ereignis ja schlecht machbar. Genau, es wäre ja sinnvoll einen Raum ausschließen zu können. Ich denke dabei an einen Anwendungsfall z.B. wenn ich mich in einem Raum befinde und der Bewegungsmelder eine Bewegung erkannt hat, brauche ich keine Meldung, dass ein Fenster o.ä. offen ist. So könnte man über ein seperates Skript die Variable z.B. "msg_mute" oder "msg_inactive" steuern.

          P 1 Reply Last reply Reply Quote 0
          • Dominik F.
            Dominik F. @Pittini last edited by

            @Pittini

            Ich habe für mich auch ein kleines Problem und weiß nicht wie ich das lösen kann, vielleicht passt das ja zu dem Thema.
            Ich nutze dein Skript um meine Heizung, sobald ein Fenster in einem Raum mehr als 10 Minuten offen ist, herunter zu fahren. Ich habe jetzt eine Terassentür die mit einem HM IP Drehgriffkontakt läuft. Wenn ich die Terassentür jetzt zu mache, den Drehgriffkontakt aber auf offen lassen, dann wird das Fenster ja als offen angezeigt. Das ist auch gut so, weil ich möchte ja auch überprüfen ob irgendwo ein Fenster offen ist. Nur geht dann natürlich auch die Heizung aus^^ Habe schon mal an einen zweiten Kontakt am Fenster gedacht der wirklich nur anzeigt, ob die Tür geöffnet ist unabhängig von der Stellung des Griffes, nur dann hätte ich n Fenster mehr in der Anzeige, was verwirrend in der Anzeige sein könnte. Ich hoffe ich hab mich verständlich ausgedrückt^^
            Vielleicht passt das ja zu dem Vorschlag von Chaibi887

            P 1 Reply Last reply Reply Quote 0
            • P
              Pittini Developer @Dominik F. last edited by

              @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

              Wenn ich die Terassentür jetzt zu mache, den Drehgriffkontakt aber auf offen lassen, dann wird das Fenster ja als offen angezeigt.

              Sorry aber das is halt einfach Käse dann. Mach den Griff halt einfach zu wenn zu ist. Der nächste macht das Fenster auf und dreht den Griff auf zu, das wär der gleiche Käse. Wenn Du das weiterhin so machen willst mußt halt wirklich nen 2ten Sensor für auf/zu nehmen und den ersten aus der Konfig nehmen. Wodurch Du jedoch die gekippt erkennung verlierst die im nächsten update drin ist mit gesonderter Anzeige und Meldung 👅

              Dominik F. 1 Reply Last reply Reply Quote 0
              • P
                Pittini Developer @Chaibi87 last edited by Pittini

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

                Genau, es wäre ja sinnvoll einen Raum ausschließen zu können.

                Da ich eh grad an dem Skript rumbau, schau ich mal das ich das mit reinkrieg, da es tatsächlich Sinn macht.

                1 Reply Last reply Reply Quote 0
                • Dominik F.
                  Dominik F. @Pittini last edited by

                  @Pittini

                  Ich glaube ich konnte den Sinn dahinter einfach nicht richtig erklären 😄 Wenn wir im Garten arbeiten dann machen wir die Tür zu, jedoch bleibt der Drehgriff offen weil wir ja sonst nicht mehr ins Haus kommen. Wenn du keine Idee hast, dann werde ich wohl n zweiten Sensor an die Tür machen müssen und den in das Heizungsscript integrieren. War halt nur so schön einfach mit deinem Fensterscript ^^

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @Dominik F. last edited by

                    @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                    Wenn wir im Garten arbeiten dann machen wir die Tür zu, jedoch bleibt der Drehgriff offen weil wir ja sonst nicht mehr ins Haus kommen. Wenn du keine Idee hast, dann werde ich wohl n zweiten Sensor an die Tür machen müssen und den in das Heizungsscript integrieren. War halt nur so schön einfach mit deinem Fensterscript ^^

                    Ok, jetzt versteh ich zwar den Sinn dahinter, was aber ja nix dran ändert dass das Skript nicht auf was reagieren kann was nicht gemeldet wird. Das wär dann ein Hellsehskript. Da wirste wohl um nen 2ten Sensor der den tatsächlichen Status und nicht den Griffstatus meldet nicht rumkommen.

                    Dominik F. 1 Reply Last reply Reply Quote 0
                    • Dominik F.
                      Dominik F. @Pittini last edited by

                      @Pittini

                      Das denke ich auch. Mir ist gerade auch eine Idee gekommen, ich denke das ist die einzige Vernünftige Lösung ausser du hast noch eine andere^^ Ich werde eine zweite Version deines Fensterscriptes laufen lassen wo der Drehgriff nicht drin ist, aber der zweite Sensor mit einer anderen Funktion. So hab ich weiterhin die Übersicht der Sicherheit wegen, und kann die Heizung auch damit nutzen.

                      P 1 Reply Last reply Reply Quote 0
                      • C
                        Chaibi87 last edited by Chaibi87

                        Ich denke ja auch immer an eine Funktion, dass wenn ein Fenster geöffnet ist und die Außentemperatur zu hoch oder zu niedrig ist nach einer bestimmten Zeit eine Meldung ausgegeben wird, damit der Raum nicht aufheizt oder zu stark abkühlt. Das könnte man sonst aber auch durch ein seperates Skript anhand Temperatursensor und meiner vorherigen Idee mit dem "msg_inactive" lösen.

                        Sorry aber eine Idee habe ich noch. Es wäre doch gut wenn eine Meldung nach beispielsweise 20 Minuten ausgegeben wurde, die Zeit der nächsten Meldung anzupassen zu können. Dass die zweite Meldung nicht erst erneut nach 20 Minuten, sondern z.B. nach 5 Minuten ausgegeben wird.

                        P 1 Reply Last reply Reply Quote 0
                        • P
                          Pittini Developer @Dominik F. last edited by

                          @Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                          ich denke das ist die einzige Vernünftige Lösung ausser du hast noch eine andere^^

                          Ja, hab ich. 2ten Sensor an die Tür und ein kleines Skript dass ne Auswertung der beiden Sensoren macht und nen "virtuellen" Sensor anlegt. Und der wird in meinem Skript verwendet. Ich hab sowas ähnliches für mein Gewächshausfenster, da krieg ich nur den Öffnungswinkel gemeldet und bau mir das auf/zu mit nem Skriptchen dazu.

                          Dominik F. 1 Reply Last reply Reply Quote 0
                          • C
                            Chaibi87 last edited by Chaibi87

                            Ich habe noch etwas was ich nicht ganz deuten kann... bekomme ich bei jeder Meldung. Die Meldung wird aber ausgegeben.

                            fensterfehler.png

                            meine config

                            config.PNG

                            ich hoffe ich habe nicht wieder etwas einfaches übersehen....

                            danke 😉

                            Gruß Jan

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

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

                              Ich denke ja auch immer an eine Funktion, dass wenn ein Fenster geöffnet ist und die Außentemperatur zu hoch oder zu niedrig ist nach einer bestimmten Zeit eine Meldung ausgegeben wird, damit der Raum nicht aufheizt oder zu stark abkühlt.

                              Das wirds definitiv nicht geben. Da käme der nächste dann mit ner Taupunktberechnung. Das Skript is eh schon ein Konfigurationsmonster, da blickt dann keiner mehr durch. Ursprünglich war das Skript für Anfänger gedacht die mit Blockly irgendwelchen Käse zusammengeklickt haben und dann nicht weiterkamen. Die sind inzwischen bei der aktuellen Version eh schon fast außen vor (deswegen lass ich die"kleine" stable Variante auch noch drin.

                              Sorry aber eine Idee habe ich noch. Es wäre doch gut wenn eine Meldung nach beispielsweise 20 Minuten ausgegeben wurde, die Zeit der nächsten Meldung anzupassen zu können. Dass die zweite Meldung nicht erst erneut nach 20 Minuten, sondern z.B. nach 5 Minuten ausgegeben wird.

                              Auf Git gibts nen FeatureRequest, der es genau anders rum haben will, nämlich dass die Meldungsabstände zunehmen und nicht wie Dein Wunsch abnehmen. Sorry, die Eierlegende Wollmilchsau geht nicht.

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

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

                                ch habe noch etwas was ich nicht ganz deuten kann... bekomme ich bei jeder Meldung. Die Meldung wird aber ausgegeben.

                                Die splitfunktion gibts nur an einer Stelle im Skript, beim aufbereiten des MsgLogs. Zeig mal den Inhalt des Datenpunktes: javascript.0.FensterUeberwachung.MessageLog
                                Möglicherweise steht da aufgrund Deiner vorherigen Fehlkonfig jetzt iwelcher Käse drin mit dem das Skript nicht klarkommt. Kannst auch versuchen den DP einfach mal zu löschen und das Skript dann neu zu starten. Wenn das nix hilft, bitte Logging im Skript anschalten und das Log hier posten.

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

                                  Update zu V 1.5.0

                                  aktuelle Features

                                  • Kann beliebige Tür/Fenster Kontakte verwenden. Noch nicht erfasste Varianten können über die Einstellungen hinzugefügt werden.
                                  • Berücksichtigt mehrflügelige Fenster bzw. mehrere Fenster pro Raum.
                                  • Legt pro Raum sieben Datenpunkte an (Raumfensteroffenzähler, Raumfenstergekipptzähler, Raumfensterstatus und die Einstellfelder für die Lüftungsempfehlung und welche Nachrichten Ihr haben möchtet), sowie 10 Datenpunkte fürs gesamte. (Siehe Beschreibung der Datenpunkte weiter unten)
                                  • Möglichkeit eine Meldung/Ansage via Mail/Telegram/Alexa nach x Minuten einmalig oder zyklisch bis Fensterschließung auszugeben.
                                  • Meldungen können bei Bedarf über einen Mute Datenpunkt entweder gesamt oder nur für Sprachnachrichten stummgeschaltet werden.
                                  • Gibt dynamische HTML Tabelle mit Übersicht aller Räume und farblicher Kennzeichnug der jeweiligen Stati aus. Verwendete Bilder und Farben sind frei konfigurierbar.
                                  • Gibt zeitbezogene Lüftungswarnung aus wenn Fenster für Zeit x (pro Raum einstellbar) nicht geöffnet wurden.
                                  • Gibt Liste mit Räumen für welche aktuell eine Fensteroffen Warnung besteht aus.
                                  • Gibt Liste mit Räumen in denen gekippte Fenster sind aus.
                                  • Gibt Liste mit Räumen für welche aktuell eine Lüftungs Warnung besteht aus.
                                  • Kann kurze auf/zu Änderungen innerhalb Zeit x (einstellbar) ignorieren.

                                  Changelog

                                  24.4.20 (V 1.5.0)

                                  • Add: Nachrichtenausgabe kann nun in den Raumdatenpunkten pro Raum konfiguriert werden. Hierzu die Datenpunkte: SendOpenCloseMsg, SendVentMsg und SendWarnMsg angelegt.
                                  • Add: In den Skripteinstellungen, MaxMsg hinzugefügt. Hier kann festgelegt werden wieviele Nachrichten Ihr maximal pro Raum erhalten möchtet. Wegfall der Option RepeatInfoMsg, da dies durch MaxMsg=1 konfiguriert werden kann.
                                  • Add: Zusätzlicher Status "gekippt". Ausgabe der entsprechenden Werte sowohl als Gesamtzählung, als Liste, als auch pro Raum. Entsprechende Änderung der Texte (Wenn Fenster im Raum nur gekippt, Ausgabe Fenster gekippt, wenn nur offen, Ausgabe Fenster offen, wenn Fenster im Raum sowohl gekippt als auch offen, Ausgabe x Fenster offen, davon x Fenster gekippt). Zusätzliche Farbe und Bild für HTML Tabelle.
                                  • Fix: Problem mit inkorrekten Lüftungswarnungen nach öffnen/schliessen innerhalb Berechnungstimeout.
                                  • Add: Kurzzeitige (Zeit einstellbar) öffnen/schliessen Aktionen werden nun ignoriert (z.B. mal schnell aus dem Fenster guggen)
                                  S 1 Reply Last reply Reply Quote 0
                                  • Dominik F.
                                    Dominik F. @Pittini last edited by

                                    @Pittini

                                    Ich verstehe was du meinst, mir ist nur nicht ganz klar ob das die Lösung meines Problems ist. Ich könnte durch den zweiten Sensor eine Stellung des Drehgriffkontaktes ersetzen, damit wenn die Tür zu ist, aber nicht verschlossen, die Tür als zu angezeigt wird. Das würde Grundsätzlich das Problem lösen. Nur dann hab ich keinen Überblick mehr, ob die Tür wirklich zu ist wenn ich vorm verlassen des Hauses nochmal kurz nachschauen möchte.

                                    Freue mich schon auf deine neue Version, werde sie heute abend noch testen 🙂

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

                                      @Pittini

                                      ich habe folgen Fehler:

                                      javascript.0	2020-04-24 20:22:39.761	error	(20140) at runMicrotasks (<anonymous>:null:null)
                                      javascript.0	2020-04-24 20:22:39.760	error	(20140) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49
                                      javascript.0	2020-04-24 20:22:39.760	error	(20140) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23)
                                      javascript.0	2020-04-24 20:22:39.760	error	(20140) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:534:55
                                      javascript.0	2020-04-24 20:22:39.760	error	(20140) at script.js.common.FensterUeberwachung:161:13
                                      javascript.0	2020-04-24 20:22:39.760	error	(20140) at main (script.js.common.FensterUeberwachung:194:5)
                                      javascript.0	2020-04-24 20:22:39.759	error	(20140) at init (script.js.common.FensterUeberwachung:188:9)
                                      javascript.0	2020-04-24 20:22:39.759	error	(20140) at VentCheck (script.js.common.FensterUeberwachung:421:37)
                                      javascript.0	2020-04-24 20:22:39.759	error	(20140) at Meldung (script.js.common.FensterUeberwachung:229:5)
                                      javascript.0	2020-04-24 20:22:39.759	error	(20140) at WriteMessageLog (script.js.common.FensterUeberwachung:234:37)
                                      javascript.0	2020-04-24 20:22:39.758	error	(20140) script.js.common.FensterUeberwachung: TypeError: Cannot read property 'split' of nul
                                      

                                      ne Idee?#
                                      Habe heute meinen neuen PI4 aufgesetzt.

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

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

                                        ne Idee?#

                                        3 Posts weiter oben steht was zu tun ist. Hab aber mal noch was geändert um (hoffentlich) den Fehler abzufangen, einfach nochmal von Git holen, is die gleiche Versionsnummer.

                                        T S 2 Replies Last reply Reply Quote 0
                                        • T
                                          Turbo @Pittini last edited by Turbo

                                          @Pittini vielen Dank nochmal für das tolle script. Funktioniert bei mir einwandfrei.
                                          Eine persönliche Frage hätte ich noch dazu, komme aber mit Javascript noch nicht so klar: Ich würde gerne eine Nachricht (evtl. per Telegram/pushover + Alexa) über noch offene Fenster bekommen, wenn ein Datenpunkt (z.B. Abwesend) geschalten wird. Könnte man das noch irgendwie einfügen?

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

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

                                            Ich würde gerne eine Nachricht (evtl. per Telegram/pushover + Alexa) über noch offene Fenster bekommen, wenn ein Datenpunkt (z.B. Abwesend) geschalten wird.

                                            Dafür kannste doch den Mute Datenpunkt nehmen. Wenn anwesend läßte das über ein Miniskript oder Blockly muten, wenn abwesend den mute wieder aufheben.

                                            T 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            913
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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