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.
    • Dominik F.
      Dominik F. @grazer75 last edited by

      @grazer75

      Also Zeile 28 und 29 müssen auf false stehen, das sind Funktionen von Pittini. Der Rest sieht eigentlich gut aus.

      Stell das mal um und starte den Javascript Adapter neu. Vielleicht ist es das ja schon

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

        @dominik-f
        ja das war es 🙂
        Allerdings das war ja Standard eingeschalten oder? Bild ich mir ein.
        Zeile 19 stellt man die Zeit für die Wiederholungen der Info ein oder?
        Kann man statt einem einzelnen Gerät einfach die Multiroom Gruppe bei Alexa auch verwenden?

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

          @pittini
          Was für ein supertolles Skript! Vielen Dank!
          Hätte ich das früher gefunden, wären mir viele erfolglose Skriptversuche erspart geblieben 🙂

          Eine Frage hätte ich allerdings:
          Kann man die Sprachnachrichten auch irgendwie gleichzeitig an mehrere Alexas schicken?

          Viele Grüße,
          Christian

          P G 2 Replies Last reply Reply Quote 0
          • P
            Pittini Developer @ChristianS last edited by

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

            Eine Frage hätte ich allerdings:
            Kann man die Sprachnachrichten auch irgendwie gleichzeitig an mehrere Alexas schicken?

            Das geht sicher irgendwie, nur nutze ich keine Alexa, kann Dir da nicht helfen.

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

              @pittini hab es schon gefunden, Multi Room sind auch eigene Devices mit Seriennummern 😄

              1 Reply Last reply Reply Quote 0
              • G
                grazer75 @ChristianS last edited by

                @christians geht wie einzelne Devices, Multi Room Devices haben auch Seriennummern die du dann ins Skript eintragst.
                @pittini mehrere einzelne Alexa devices kann man nicht eintragen oder? Immer nur eins?
                Sonst funktioniert es ganz gut

                G 1 Reply Last reply Reply Quote 0
                • G
                  grazer75 @grazer75 last edited by

                  @pittini wo definiert man die Verzögerung der Ansage, beim ersten Mal dauert es kurz ca 10 Sekunden bis es angezeigt/angesagt wird und die Erinnerung kommt das erste mal nach 15 Minuten, wo ist das definiert? Nicht in Zeile 19/20?

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

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

                    @pittini wo definiert man die Verzögerung der Ansage, beim ersten Mal dauert es kurz ca 10 Sekunden bis es angezeigt/angesagt wird und die Erinnerung kommt das erste mal nach 15 Minuten, wo ist das definiert? Nicht in Zeile 19/20?

                    Die 10 Sekunden kommen aus Zeile 14+15. Die 15 Minuten aus Zeile 19+20 . Alle weiteren Einstellungen sind Raumspezifisch und werden bei den Räumen eingestellt.

                    1 Reply Last reply Reply Quote 0
                    • H
                      HMFreund last edited by Negalein

                      Ich habe das Script nach bestem Wissen und Gewissen installiert und alle Einstellungen soweit für mich nötig durchgeführt. Alle Programme sind auf dem letzten Änderungsstand. Ich verwende das Script 1.6.7.
                      Zur Zeit bestehen jedoch noch die folgenden Probleme:

                      1. Das Einschalten des Scripts führt bei mir dazu, dass anscheinend eine solche Anzahl von Meldungen produziert wird, dass ein Arbeiten mit IObroker nicht mehr möglich ist.
                        Alle Aktionen sind zwar möglich, aber nur noch mit Zeitverzögerungen von zum Teil mehreren Minuten. Schalte ich das Script aus, sind diese Probleme weg.
                      2. Im Script werden jedoch noch die folgenden Fehler durch Unterstreichen mit einer „gezackten roten Linie“ angezeigt, die möglicherweise für das unter 1. geschilderte Verhalten verantwortlich sind.
                        Zeile 136 und 936 .enumNames[0];
                        Zeile 253 bis 259 alles
                        Zeile 353, 970, 975, 1009, 1014, 1042 WriteEventLog(msg);
                        Zeile 1195, 1196, 1197 .common.states)
                      3. Im Log werden die folgenden Fehler angezeigt (Siehe Anlage):
                        Daher meine Frage, was und wo muss ich ändern, damit die geschilderten Fehler verschwinden.
                        Bin für jede Hilfe dankbar, da meine Kenntnisse zur Behebung dieser Fehler leider nicht ausreichend sind. Vorab schon mal ein Dank an Alle die mir vielleicht helfen können.
                      javascript.0	2021-02-05 16:40:03.925	info	(1461) Stop script script.js.common.Fenster_und_Türen
                      javascript.0	2021-02-05 16:39:51.489	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.488	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.488	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.488	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.488	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.487	warn	(1461) at init (script.js.common.Fenster_und_Türen:317:27)
                      javascript.0	2021-02-05 16:39:51.482	warn	(1461) getState "javascript.0.FensterUeberwachung..VentWarnTime" not found (3)
                      javascript.0	2021-02-05 16:39:51.482	info	(1461) script.js.common.Fenster_und_Türen: RoomOpenDoorCount[TempRoomIndex]=1 TempRoom=Windfang TempRoomIndex=14
                      javascript.0	2021-02-05 16:39:51.481	info	(1461) script.js.common.Fenster_und_Türen: RoomOpenDoorCount[TempRoomIndex]=0 TempRoom=Dachboden TempRoomIndex=4
                      javascript.0	2021-02-05 16:39:51.480	info	(1461) script.js.common.Fenster_und_Türen: SendDoorWarnMsg=true TempRoomIndex=14
                      javascript.0	2021-02-05 16:39:51.479	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.479	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.478	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.478	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.478	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.478	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.478	warn	(1461) at init (script.js.common.Fenster_und_Türen:312:9)
                      javascript.0	2021-02-05 16:39:51.477	warn	(1461) at CheckWindow (script.js.common.Fenster_und_Türen:1146:5)
                      javascript.0	2021-02-05 16:39:51.477	warn	(1461) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1417:20)
                      javascript.0	2021-02-05 16:39:51.476	warn	(1461) State "javascript.0.FensterUeberwachung.Kein Raum definiert.RoomOpenCount" not found
                      javascript.0	2021-02-05 16:39:51.475	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.475	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.475	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.475	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.475	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.474	warn	(1461) at init (script.js.common.Fenster_und_Türen:312:9)
                      javascript.0	2021-02-05 16:39:51.474	warn	(1461) at CheckWindow (script.js.common.Fenster_und_Türen:1138:13)
                      javascript.0	2021-02-05 16:39:51.473	warn	(1461) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1417:20)
                      javascript.0	2021-02-05 16:39:51.472	warn	(1461) State "javascript.0.FensterUeberwachung.Kein Raum definiert.RoomIsOpen" not found
                      javascript.0	2021-02-05 16:39:51.472	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.471	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.471	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.471	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.471	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.470	warn	(1461) at init (script.js.common.Fenster_und_Türen:312:9)
                      javascript.0	2021-02-05 16:39:51.470	warn	(1461) at CheckWindow (script.js.common.Fenster_und_Türen:1059:13)
                      javascript.0	2021-02-05 16:39:51.469	warn	(1461) at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1417:20)
                      javascript.0	2021-02-05 16:39:51.468	warn	(1461) State "javascript.0.FensterUeberwachung.Kein Raum definiert.RoomOpenDoorCount" not found
                      javascript.0	2021-02-05 16:39:51.468	info	(1461) script.js.common.Fenster_und_Türen: RoomOpenDoorCount[TempRoomIndex]=undefined TempRoom=Kein Raum definiert TempRoomIndex=-1
                      javascript.0	2021-02-05 16:39:51.467	error	(1461) script.js.common.Fenster_und_Türen: Kein Raum definiert bei Sensor hm-rpc.0.LEQ0758123.1.STATE
                      javascript.0	2021-02-05 16:39:51.466	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.465	info	(1461) script.js.common.Fenster_und_Türen: RoomOpenDoorCount[TempRoomIndex]=0 TempRoom=Arbeitszimmer TempRoomIndex=1
                      javascript.0	2021-02-05 16:39:51.461	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.460	info	(1461) script.js.common.Fenster_und_Türen: RoomOpenDoorCount[TempRoomIndex]=0 TempRoom=Wohnzimmer TempRoomIndex=15
                      javascript.0	2021-02-05 16:39:51.459	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.455	info	(1461) script.js.common.Fenster_und_Türen: SendWindowWarnMsg=true TempRoomIndex=13
                      javascript.0	2021-02-05 16:39:51.455	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.454	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.453	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.453	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.452	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.452	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.451	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.450	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.449	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.449	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.448	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.447	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.444	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.443	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.442	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.442	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.441	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.440	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.439	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.439	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.438	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.437	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.436	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.436	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.435	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.435	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.433	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.433	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.429	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.429	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.428	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.427	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.426	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.425	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.424	info	(1461) script.js.common.Fenster_und_Türen: Alle Türen geschlossen.
                      javascript.0	2021-02-05 16:39:51.423	info	(1461) script.js.common.Fenster_und_Türen: Alle Fenster geschlossen.
                      javascript.0	2021-02-05 16:39:51.418	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.418	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.418	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.418	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.418	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.417	warn	(1461) at init (script.js.common.Fenster_und_Türen:305:30)
                      javascript.0	2021-02-05 16:39:51.416	warn	(1461) getState "javascript.0.FensterUeberwachung..SendDoorWarnMsg" not found (3)
                      javascript.0	2021-02-05 16:39:51.416	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.416	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.416	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.415	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.415	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.415	warn	(1461) at init (script.js.common.Fenster_und_Türen:304:32)
                      javascript.0	2021-02-05 16:39:51.414	warn	(1461) getState "javascript.0.FensterUeberwachung..SendWindowWarnMsg" not found (3)
                      javascript.0	2021-02-05 16:39:51.414	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.413	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.413	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.413	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.413	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.412	warn	(1461) at init (script.js.common.Fenster_und_Türen:303:37)
                      javascript.0	2021-02-05 16:39:51.411	warn	(1461) getState "javascript.0.FensterUeberwachung..SendWindowOpenCloseMsg" not found (3)
                      javascript.0	2021-02-05 16:39:51.411	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.411	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.410	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.410	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.410	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.409	warn	(1461) at init (script.js.common.Fenster_und_Türen:302:35)
                      javascript.0	2021-02-05 16:39:51.408	warn	(1461) getState "javascript.0.FensterUeberwachung..SendDoorOpenCloseMsg" not found (3)
                      javascript.0	2021-02-05 16:39:51.408	warn	(1461) at processImmediate (internal/timers.js:463:21)
                      javascript.0	2021-02-05 16:39:51.407	warn	(1461) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1952:38)
                      javascript.0	2021-02-05 16:39:51.407	warn	(1461) at Object.<anonymous> (script.js.common.Fenster_und_Türen:257:13)
                      javascript.0	2021-02-05 16:39:51.407	warn	(1461) at InitialSort (script.js.common.Fenster_und_Türen:293:5)
                      javascript.0	2021-02-05 16:39:51.406	warn	(1461) at main (script.js.common.Fenster_und_Türen:325:5)
                      javascript.0	2021-02-05 16:39:51.406	warn	(1461) at init (script.js.common.Fenster_und_Türen:301:26)
                      javascript.0	2021-02-05 16:39:51.398	warn	(1461) getState "javascript.0.FensterUeberwachung..SendVentMsg" not found (3)
                      javascript.0	2021-02-05 16:39:51.353	info	(1461) script.js.common.Fenster_und_Türen: registered 0 subscriptions and 0 schedules
                      javascript.0	2021-02-05 16:39:51.326	info	(1461) script.js.common.Fenster_und_Türen: starting Fensterskript, Version 1.6.7
                      

                      Mod-Edit: Log in Code-Tag gepackt

                      Dominik F. H P 3 Replies Last reply Reply Quote 0
                      • Dominik F.
                        Dominik F. @HMFreund last edited by Dominik F.

                        @hmfreund

                        Pack bitte den Log in den "Code" damit es übersichtlicher bleibt.

                        Dann zeigt bitte mal deine Konfiguration im Script und mach ein Screenshot von einem Fensterstate in den Objekten

                        Die Fehlermeldungen deuten auf falsche Einstellungen hin

                        1 Reply Last reply Reply Quote 0
                        • H
                          HMFreund @HMFreund last edited by

                          Bitte um Entschuldigung, da dies mein erster Post hier im Forum ist. Bin daher noch nicht mit den Möglichkeiten des Forums vertraut. Hoffe, dass ich alles richtig mache.

                          const Skriptversion = "1.6.7" //vom 15.10.2020 - https://github.com/Pittini/iobroker-Fensterauswertung - https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis
                          //Script um offene Fenster/Türen pro Raum und insgesamt zu zählen.
                          //Möglichkeit eine Ansage nach x Minuten einmalig oder zyklisch bis Fensterschließung anzugeben
                          //Dynamische erzeugung einer HTML Übersichtstabelle
                          //WICHTIG!!!
                          //Vorraussetzungen: Den Geräten müssen Räume zugewiesen sein, sowie die Funktion "Fenster" bzw "Tuer" für jeden entsprechenden Datenpunkt.
                          
                          //Grundeinstellungen
                          const logging = false; //Erweiterte Logs ausgeben?
                          const praefix = "javascript.0.FensterUeberwachung."; //Grundpfad für Script DPs - Muß innerhalb javascript.x sein.
                          const PresenceDp = "" //Pfad zum Anwesenheitsdatenpunkt, leer lassen wenn nicht vorhanden
                          const WhichWindowFunctionToUse = "FensterStatus"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                          const WhichDoorFunctionToUse = "TuerStatus"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                          const WindowIgnoreTime = 10000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                          const DoorIgnoreTime = 1000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
                          
                          
                          //Nachrichteneinstellungen
                          const TimeToWindowMsg = 900000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Fenster-offenwarnung/en
                          const TimeToDoorMsg = 300000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Tür-offenwarnung/en
                          
                          const MaxMessages = 1; //Maximale Anzahl der Nachrichten pro Raum 
                          
                          const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                          const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                          const AlexaId = ""; // Die Alexa Seriennummer.
                          const UseMail = false; //Nachricht via Mail versenden?
                          const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
                          const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
                          const NoMsgAtPresence = false; //Sollen Nachrichten bei Anwesenheit unterdrückt werden?
                          
                          //Tabelleneinstellungen
                          const DoorOpenImg = "/icons-mfd-svg/fts_door_open.svg"; //Icon für Tür offen
                          const DoorCloseImg = "/icons-mfd-svg/fts_door.svg"; // Icon für Tür geschlossen
                          const DoorTiltedImg = "/icons-mfd-svg/fts_door_tilt.svg" // Icon für Tür gekippt
                          const WindowOpenImg = "/icons-mfd-svg/fts_window_1w_open.svg"; //Icon für Fenster offen
                          const WindowCloseImg = "/icons-mfd-svg/fts_window_1w.svg"; // Icon für Fenster geschlossen
                          const WindowTiltedImg = "/icons-mfd-svg/fts_window_1w_tilt.svg" //Icon für Fenster gekippt
                          const WindowOpenTiltedImg = "/icons-mfd-svg/fts_window_2w_open_l_tilt_r.svg" //Icon für offen und gekippt in einem Raum gleichzeitig
                          const VentImg = "/icons-mfd-svg/vent_ventilation.svg"; //Icon für Lüftungsinfo
                          const ImgInvert = 1; // Bildfarben invertieren? Erlaubte Werte von 0 bis 1
                          const OpenWindowColor = "#f44336"; // Farbe für Fenster offen
                          const OpenDoorColor = "darkorange"; //Farbe für Tür offen
                          const TiltedWindowColor = "#F56C62"; //Farbe für gekippte Fenster o. Tür/en
                          const ClosedWindowColor = "#4caf50"; // Farbe für geschlossene Fenster o. Tür/en
                          const VentWarnColor = "#ffc107"; // Farbe für Lüftungswarnung
                          const ShowCaptionTbl = false; // Überschrift anzeigen?
                          const ShowSummaryTbl = true; // Zusammenfassung anzeigen?
                          const ShowDetailTbl = true; // Details anzeigen?
                          const RoomSortMode = 1; //0= Raumliste unsortiert, 1= alpabetisch sortiert, 2= Benutzerdefinierte Sortierung
                          
                          //Logeinstellungen
                          const MaxLogEntrys = 10; //Maximale Anzahl der zu speichernden Logeinträge
                          const AutoAddTimestamp = true; //Soll den geloggten Nachrichten automatisch ein Zeitsempel zugeordnet werden?
                          const LogTimeStampFormat = "TT.MM.JJJJ SS:mm:ss"; //Zeitformatierung für Log Zeitstempel
                          const LogEntrySeparator = "<br>"; //Trennzeichen für Logeinträge
                          
                          //Ab hier nix mehr ändern!
                          const SendVentMsg = [];
                          const SendDoorOpenCloseMsg = [];
                          const SendWindowOpenCloseMsg = [];
                          const SendWindowWarnMsg = [];
                          const SendDoorWarnMsg = [];
                          
                          const OpenWindowListSeparator = "<br>"; //Trennzeichen für die Textausgabe der offenen Fenster pro Raum
                          
                          const WindowIsOpenWhen = ["true", "offen", "open", "opened", "2"]; // Hier können eigene States für offen angegeben werden, immer !!! in Kleinschreibung
                          const WindowIsClosedWhen = ["false", "geschlossen", "closed", "0"]; // Hier können eigene States für geschlossen angegeben werden, immer !!! in Kleinschreibung
                          const WindowIsTiltedWhen = ["tilted", "gekippt", "1"]; // Hier können eigene States für gekippt angegeben werden, immer !!! in Kleinschreibung
                          
                          let OpenDoorCount = 0;  // Gesamtzahl der geöffneten Türen
                          let TiltedDoorCount = 0;  // Gesamtzahl der gekippten Türen
                          let OpenWindowCount = 0; // Gesamtzahl der geöffneten Fenster
                          let TiltedWindowCount = 0; // Davon Anzahl der gekippten Fenster
                          
                          const RoomOpenCount = [];  // Array für Summe geöffneter Verschlüsse pro Raum
                          const RoomOpenDoorCount = [];  // Array für Zähler offene Türen pro Raum
                          const RoomTiltedDoorCount = [];  // Array für Zähler gekippte Türen pro Raum
                          const RoomOpenWindowCount = []; // Array für Zähler offene Fenster pro Raum
                          const RoomTiltedWindowCount = []; // Array für Zähler gekippte Fenster pro Raum
                          const RoomWindowMsgCount = []; //Zähler für bereits ausgegebene Fenster Warnmeldungen
                          const RoomDoorMsgCount = []; //Zähler für bereits ausgegebene Tür Warnmeldungen
                          let RoomHas = [] // 0=Weder Tür noch Fenster, 1 Tür, 2 Fenster, 3 Tür und Fenster
                          const RoomsWithCombinedOpenings = [];
                          let RoomsWithOpenings = ""; // Kombinierte Liste mit offenen Türen und Fenstern
                          let RoomsWithOpenDoors = ""; //Liste der Räume mit offenen Türen
                          let RoomsWithTiltedDoors = ""; //Liste der Räume mit offenen Türen
                          let RoomsWithOpenWindows = ""; //Liste der Räume mit offenen  Fenstern
                          let RoomsWithTiltedWindows = ""; //Liste der Räume mit gekippten Fenstern
                          let RoomsWithVentWarnings = []; //Räume mit Lüftungswarnung
                          let RoomListOrderPriority = ""; //Sortierreihenfolge der Raumliste
                          
                          const OpenWindowMsgHandler = []; // Objektarray für timeouts pro Raum/Fenster
                          const OpenDoorMsgHandler = []; // Objektarray für timeouts pro Raum/Tür
                          const IgnoreValue = []; //Vergleichswert für IgnoreTimeout
                          const VentMsgHandler = []; //Timeout/Intervall Objekt
                          const VentMsg = []; //Lüftungsnachricht
                          const Sensor = []; //Sensoren als Array anlegen
                          let SensorType = []; //Unterscheidung zwischen Tür und Fenstersensor
                          const SensorVal = [];//Sensorwerte als Array anlegen
                          const SensorOldVal = []; //Alte Sensorwerte als Array ablegen
                          const WindowWarnRuntime = []; //Timer WindowWarnRuntime pro Fenster
                          const DoorWarnRuntime = []; //Timer DoorWarnRuntime pro Tür
                          const VentWarnTime = []; // Array mit Zeiten nach dem eine Lüftungsempfehlung ausgegeben wird
                          let RoomList = []; // Raumlisten Array
                          const RoomStateTimeStamp = []; //Letzte Änderung des Fenster-Raumstatus
                          const RoomStateTimeCount = []; // Zeitspanne seit letzter Änderung
                          const RoomDoorStateTimeStamp = []; //Letzte Änderung des Tür-Raumstatus
                          const RoomDoorStateTimeCount = []; // Zeitspanne seit letzter Änderung
                          let z = 0; //Zähler
                          let DpCount = 0; //Zähler
                          let IsInit = true // Marker - Wird nach initialisierung auf false gesetzt
                          const States = []; // Array mit anzulegenden Datenpunkten
                          let Funktionen = getEnums('functions'); //Array mit Aufzählung der Funktionen
                          let MessageLog = ""; //Log der ausgegebenen Meldungen
                          let MuteMode = 0; //Stummschaltungsmodus für Nachrichten. 0=Alles erlaubt, 1=Sprachnachrichten deaktivieren, 2=Alles deaktivieren
                          let Presence = true; //Anwesenheit als gegeben initialisieren
                          const IgnoreInProcess = []; //Läuft gerade eine Überprüfung ob eine Statusänderung ignoriert werden muß?
                          let SensorCount = 0; //Hilfszähler weil y bei mehreren Funktionen mehrmals bei 0 beginnt
                          
                          
                          Ich scheitere leider im Moment daran, hier einen Screenshot einzufügen. Habe den Screenshot als .png-File vorliegen, schaffe es aber nicht ihn einzufügen. Welches "Werkzeug" muss ich wie verwenden?
                          Dominik F. 1 Reply Last reply Reply Quote 0
                          • Dominik F.
                            Dominik F. @HMFreund last edited by

                            @hmfreund

                            Das hast du jetzt genau richtig gemacht!
                            Die icons-mfd-svg. hast du auch installiert? Sollte zwar nicht den Fehler hervorrufen, aber zur Not schließen wir mal alles aus.
                            Kannst du bitte noch einen Screenshot von deinen Objekten machen?
                            Ich würde mir gerne mal einen Channel anschauen von einem Fenster.
                            Hier ein Beispiel:
                            Unbenannt.PNG

                            Wichtig ist, dass der Fensteroffenstate bei dir auch in der Funktion FensterStatus ist und der Gesamte Channel einem Raum zugewiesen ist. Ein Beispiel dafür siehst du in meinem Bild, bei mir heisst die Funktion halt nur Fenster

                            1 Reply Last reply Reply Quote 0
                            • H
                              HMFreund last edited by

                              Objekt.PNG
                              Ja, die Icons-mfd-svg habe ich installiert. Hier ist der gewünschte Screenshot vom Objekt "FK-Bad". Habe alle entsprechenden Objekte überprüft. Sie sehen alle gleich aus. Alle Fensteroffenstates liegen auch im FensterStatus und alle Tueroffenstates liegen im TuerStatus.

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

                                @hmfreund

                                javascript.0	2021-02-05 16:39:51.467	error	(1461) script.js.common.Fenster_und_Türen: Kein Raum definiert bei Sensor hm-rpc.0.LEQ0758123.1.STATE
                                
                                K 1 Reply Last reply Reply Quote 0
                                • H
                                  HMFreund last edited by

                                  Diesem Sensor ist bereits ein Raum und eine Funktion zugeordnet. Er ist genauso eingerichtet wie alle andern von mir benutzten Sensoren, die alle mit dieser Einstellung funktionieren. Da es mir mit den unterschiedlichsten Einstellungen nicht gelungen ist diese Fehlermeldung zu verhindern, habe ich den Sensor deaktiviert (kein Eintrag von Raum und Funktion). Das hat immerhin den Vorteil, dass die anscheinend durch den Fehler verursachten Warn-Meldungen nun alle nicht mehr ausgegeben werden. Warum sich dieser Sensor so verhält ist mir leider nicht klar. Das Script läuft soweit ich bis jetzt erkennen kann einwandfrei. Damit ist der unter 1. angesprochene Fehler meiner Fehlermeldung erledigt. Allerdings bestehen die unter 2. aufgeführten Probleme immer noch.
                                  Vielen Dank für Eure Hilfe.

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

                                    @hmfreund

                                    Ich habe die unterstrichenden Zeilen auch im Script und das Script verursacht keine Fehlermeldungen im Log, daher würde ich einfach sagen, ignoriere die einfach.

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      luft-post last edited by luft-post

                                      Moin,
                                      würde gerne die Benutzerdefinierte Sortierung der Tabelle nutzen (RoomSortMode=2) kann aber leider keine Info dazu finden, außer die Antwort "Anleitung .6.13" die ich aber leider nicht verstehe/Finde.

                                      Des weiteren hatte ich versucht über die Raumliste "Sammelplatzhalter" zu generieren z.B. Obergeschoß, Untergeschoß und die bei den Sensoren zwei werte (Kinderzimmer, Obergeschoß) eingetragen, aber leider wertet das Skript nur den ersten Eintrag (hier: Kinderzimmer) aus. gibt es hierfür eine andere Möglichkeit die ich übersehen habe?

                                      gruß
                                      Matthias

                                      Dominik F. 1 Reply Last reply Reply Quote 0
                                      • Dominik F.
                                        Dominik F. @luft-post last edited by

                                        @luft-post

                                        zu deiner ersten Frage:

                                        In den Datenpunkten, die vom Skript generiert werden, hast du in jedem Raum einen Datenpunkt RoomOrderPriority, wenn du im Skript die 2 ausgewählt hast, kannst du dort Zahlen eingeben wonach die Räume geordnet werden sollen. Es dürfen da keine doppelten Zahlen angegeben werden und nach Einstellung muss das Skript neu gestartet werden.

                                        L 1 Reply Last reply Reply Quote 0
                                        • L
                                          luft-post @Dominik F. last edited by luft-post

                                          @dominik-f Moin, und danke für deine Antwort. Gefunden 😊

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kyocera007 0 @luft-post last edited by Kyocera007 0

                                            Hallo,
                                            ich habe ja überhaupt keine Ahnung vom programmieren 🙂
                                            Aber ich habe es geschafft, das mir Alexa auf meinen beiden Echos zeitgleich die Ansage macht.
                                            Habe es einfach mal probiert und es funktioniert auch ohne Fehlermeldungen im Log

                                            Gruß Kyocera007 (siehe Signatur) 🙂

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            455
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

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