Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. [Vorlage] Generisches Fensteroffenskript + Vis

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    334

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.6k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

[Vorlage] Generisches Fensteroffenskript + Vis

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplatemonitoring
768 Beiträge 81 Kommentatoren 223.7k Aufrufe 97 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Pittini

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

    Ist das jetzt korrekt so?

    Nein, natürlich nicht, deswegen auch die Fehler im Log. Es MUß so sein wie in der Anleitung beschrieben sonst klappts nicht, der Raum wird dem ganzen Gerät zugewiesen, die Funktion Fenster oder Tuer nur dem entsprechenden Datenpunkt. Das geht auch bei HM Geräten, iwo im HM Adapter kann man das automatische Synchronisieren der Gewerke deaktivieren, dann klappts auch.

    J Offline
    J Offline
    JoergH
    schrieb am zuletzt editiert von
    #509

    @pittini
    Danke für die Antwort.

    OK, also muss ich die, entgegen dem was der ioBroker übernommen hat, manuell ändern..?
    Die Synchronisierung der "Gewerke" habe ich jetzt deaktiviert.

    Welches ist denn der "entsprechende Datenpunkt"?

    Das ist mir nicht klar. Bei mir legt er das Device an, darunter dann einen Channel 0 für den Drehgriff unter dem selbst zugewiesenen Namen und dann noch einmal einen Channel 1 mit dem gleichen Griff, nur unter der Serienbezeichnung des Gerätes. Unter diesem ist dann auch der STATE zu finden der den Zustand angibt. Ist das der "entsprechende Datenpunkt"?

    Muss ich also bei letzterem Channel das "Fenster, Sicherheit, Verschluss" löschen während der Raum bei allen anderen korrekt ist und bleiben muss?

    Das Device hat als einziges keinen Raum zugewiesen. So wie ich Dich verstehe muss ich nun hier den Raum manuell nachtragen, aber muss ich auch den Raum bei allen anderen Datenpunkten manuell löschen?

    Sorry, aber ich kapiere es einfach nicht, was ich genau wo einstellen muss. Die "Anleitung" mit den drei Zeilen ist imho nicht so eindeutig oder ich bin halt einfach zu doof.

    P 1 Antwort Letzte Antwort
    0
    • J JoergH

      @pittini
      Danke für die Antwort.

      OK, also muss ich die, entgegen dem was der ioBroker übernommen hat, manuell ändern..?
      Die Synchronisierung der "Gewerke" habe ich jetzt deaktiviert.

      Welches ist denn der "entsprechende Datenpunkt"?

      Das ist mir nicht klar. Bei mir legt er das Device an, darunter dann einen Channel 0 für den Drehgriff unter dem selbst zugewiesenen Namen und dann noch einmal einen Channel 1 mit dem gleichen Griff, nur unter der Serienbezeichnung des Gerätes. Unter diesem ist dann auch der STATE zu finden der den Zustand angibt. Ist das der "entsprechende Datenpunkt"?

      Muss ich also bei letzterem Channel das "Fenster, Sicherheit, Verschluss" löschen während der Raum bei allen anderen korrekt ist und bleiben muss?

      Das Device hat als einziges keinen Raum zugewiesen. So wie ich Dich verstehe muss ich nun hier den Raum manuell nachtragen, aber muss ich auch den Raum bei allen anderen Datenpunkten manuell löschen?

      Sorry, aber ich kapiere es einfach nicht, was ich genau wo einstellen muss. Die "Anleitung" mit den drei Zeilen ist imho nicht so eindeutig oder ich bin halt einfach zu doof.

      P Offline
      P Offline
      Pittini
      Developer
      schrieb am zuletzt editiert von
      #510

      @joergh Ja, der State dürfte hier der richtige sein. Wie es aussehen muß, siehste doch an den Screenshots in der Anleitung, dafür hab ich se doch gemacht. Und wenn Du nen kleinen Screen hast, mußte die Bilder halt evtl. nach rechts scrollen um alles zu sehen. Anleitung mit 3 Zeilen? Tatsächlich besteht die Anleitung aus 158 Zeilen, weis ja nich wo Du da hinguggst.

      J 2 Antworten Letzte Antwort
      0
      • P Pittini

        @joergh Ja, der State dürfte hier der richtige sein. Wie es aussehen muß, siehste doch an den Screenshots in der Anleitung, dafür hab ich se doch gemacht. Und wenn Du nen kleinen Screen hast, mußte die Bilder halt evtl. nach rechts scrollen um alles zu sehen. Anleitung mit 3 Zeilen? Tatsächlich besteht die Anleitung aus 158 Zeilen, weis ja nich wo Du da hinguggst.

        J Offline
        J Offline
        JoergH
        schrieb am zuletzt editiert von
        #511

        @pittini
        Der Screenshot ist halt nicht so eindeutig, weil die Struktur bei Dir für einen Kontakt anders ist. Da geht es über Magnetkontakt Channel/ Raum Channel/ Fenster Channel schliesslich zum State. Bei meiner Struktur geht es direkt zu einem Drehgriff Device, das sich dann in zwei Channel aufsplittet. Wenn hier also steht " Den Geräten müssen Räume (für den gesamten Channel) zugewiesen sein.....Hier aber nur für den Datenpunkt, nicht den gesamten Channel!!!", dann frage ich mich denn für welchen der beiden Channel 0 oder 1 oder für beide?

        Außerdem hat mich halt verwirrt, dass ich im ioBroker aktiv Daten, die er eigentlich so durch den rega Adapter anlegt, verändern muss, sowie das synchronisieren deaktivieren. Das steht da nicht. Bei den drei Zeilen geht es nur um den relevanten Teil, die meisten Zeilen haben ja nichts mit dem Thema zu tun. Ich bezog mich dabei auf "Vorraussetzungen: Den Geräten müssen Räume (für den gesamten Channel) zugewiesen sein, sowie eine Funktion, z.B. "Fenster", bzw. "Tuer" für jeden entsprechenden Datenpunkt.
        Hier aber nur für den Datenpunkt, nicht den gesamten Channel!!!"
        Versteh das bitte nicht als Vorwurf, sondern einfach als Feedback von einem Nutzer. Ein Hinweis z.B., dass man die vom Adapter angelegten Daten verändern und das Synchronisieren der Gewerke im rega Adapter deaktivieren muss, würde sicherlich einigen helfen die eine piVCCU installiert haben. Vielleicht bin ich aber auch der Einzige der da Schwierigkeiten hat.

        Danke jedenfalls für die Antwort. Ich werde gleich mal probieren die Daten zu überschreiben und sehen, ob es funktioniert. Grundsätzlich finde ich das Skript ja klasse und würde es deswegen ja auch gerne zum Laufen bringen.

        1 Antwort Letzte Antwort
        0
        • P Pittini

          @joergh Ja, der State dürfte hier der richtige sein. Wie es aussehen muß, siehste doch an den Screenshots in der Anleitung, dafür hab ich se doch gemacht. Und wenn Du nen kleinen Screen hast, mußte die Bilder halt evtl. nach rechts scrollen um alles zu sehen. Anleitung mit 3 Zeilen? Tatsächlich besteht die Anleitung aus 158 Zeilen, weis ja nich wo Du da hinguggst.

          J Offline
          J Offline
          JoergH
          schrieb am zuletzt editiert von JoergH
          #512

          @pittini
          So, habe jetzt alle Daten korrigiert und es scheint auch etwas Bewegung zu geben, allerdings wirft er mir folgende Fehlermeldungen aus:

          Error.png

          Im Skript der neusten Version färbt er auch was ab Zeile 265 rot ein. Weiss nicht, ob das eine Bedeutung hat, aber immerhin versucht er ja hier ins Log zu schreiben und da die Fehlermeldungen wohl auch mit dem Log zu tun haben, poste ich das mal

          //Alle States anlegen, Main aufrufen wenn fertig
          let numStates = States.length;
          States.forEach(function (state) {
              createState(state.id, state.initial, state.forceCreation, state.common, function () {
                  numStates--;
                  if (numStates === 0) {
                      if (logging) log("CreateStates fertig!");
                      InitialSort();
                  };
              });
          });
          
          
          P 1 Antwort Letzte Antwort
          0
          • J JoergH

            @pittini
            So, habe jetzt alle Daten korrigiert und es scheint auch etwas Bewegung zu geben, allerdings wirft er mir folgende Fehlermeldungen aus:

            Error.png

            Im Skript der neusten Version färbt er auch was ab Zeile 265 rot ein. Weiss nicht, ob das eine Bedeutung hat, aber immerhin versucht er ja hier ins Log zu schreiben und da die Fehlermeldungen wohl auch mit dem Log zu tun haben, poste ich das mal

            //Alle States anlegen, Main aufrufen wenn fertig
            let numStates = States.length;
            States.forEach(function (state) {
                createState(state.id, state.initial, state.forceCreation, state.common, function () {
                    numStates--;
                    if (numStates === 0) {
                        if (logging) log("CreateStates fertig!");
                        InitialSort();
                    };
                });
            });
            
            
            P Offline
            P Offline
            Pittini
            Developer
            schrieb am zuletzt editiert von
            #513

            @joergh Nein, das im Skript rot gefärbte hat nix damit zu tun, bei manchen Sachen kommt der Syntaxcheck ausm Tritt, kannste ignorieren. Der Fehler liegt bei Dir in Zeile 42 würd ich sagen, das muß auf false.

            J 1 Antwort Letzte Antwort
            0
            • P Pittini

              @joergh Nein, das im Skript rot gefärbte hat nix damit zu tun, bei manchen Sachen kommt der Syntaxcheck ausm Tritt, kannste ignorieren. Der Fehler liegt bei Dir in Zeile 42 würd ich sagen, das muß auf false.

              J Offline
              J Offline
              JoergH
              schrieb am zuletzt editiert von
              #514

              @pittini Ja, danke! Das war's. Es geht!! :man_dancing: :pray: :clap:

              1 Antwort Letzte Antwort
              0
              • ub.privatU Offline
                ub.privatU Offline
                ub.privat
                schrieb am zuletzt editiert von
                #515

                @Pittini

                Moin.moin, zuerst einmal vielen Dank für das interessante Script.
                Leider bin ich verzweifeln! Habe nun die 514 Beiträge hier im Thread durchgelesen, doch so richtig hilft es mir nicht weiter.
                Alle Fenster und Tueren sind gemäß deiner Anleitung zugeorndet und beschrieben.

                Im Fehlerlog des Scripts werde ich aus den Fehlerzeilen nicht schlau:

                11:14:47.348	info	javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN
                11:14:47.464	info	javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN
                11:14:47.499	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11
                11:14:47.501	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules
                11:14:47.517	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26)
                11:14:47.517	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                11:14:47.518	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.518	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                11:14:47.520	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35)
                11:14:47.521	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                11:14:47.521	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.521	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                11:14:47.523	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37)
                11:14:47.523	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                11:14:47.523	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.524	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                11:14:47.525	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32)
                11:14:47.525	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                11:14:47.526	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.526	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                11:14:47.527	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30)
                11:14:47.528	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                11:14:47.528	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.528	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                11:14:47.529	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27)
                11:14:47.530	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                11:14:47.530	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.530	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                11:14:47.536	error	javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                11:14:47.537	error	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5)
                11:14:47.537	error	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                11:14:47.537	error	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                

                Die Warnungen sind erst enmal sekundär, doch die Errormeldungen bekomme ich nicht gedeutet.

                Auch wird in den Objekten nicht wirklich "viel" generiert:

                9a0df030-7a06-45ec-a8c7-b270d514b848-image.png

                Wo muss / soll ich ansetzen?
                Danke bereit im Voraus!

                P 1 Antwort Letzte Antwort
                0
                • ub.privatU ub.privat

                  @Pittini

                  Moin.moin, zuerst einmal vielen Dank für das interessante Script.
                  Leider bin ich verzweifeln! Habe nun die 514 Beiträge hier im Thread durchgelesen, doch so richtig hilft es mir nicht weiter.
                  Alle Fenster und Tueren sind gemäß deiner Anleitung zugeorndet und beschrieben.

                  Im Fehlerlog des Scripts werde ich aus den Fehlerzeilen nicht schlau:

                  11:14:47.348	info	javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN
                  11:14:47.464	info	javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN
                  11:14:47.499	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11
                  11:14:47.501	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules
                  11:14:47.517	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26)
                  11:14:47.517	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                  11:14:47.518	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.518	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  11:14:47.520	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35)
                  11:14:47.521	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                  11:14:47.521	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.521	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  11:14:47.523	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37)
                  11:14:47.523	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                  11:14:47.523	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.524	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  11:14:47.525	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32)
                  11:14:47.525	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                  11:14:47.526	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.526	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  11:14:47.527	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30)
                  11:14:47.528	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                  11:14:47.528	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.528	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  11:14:47.529	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27)
                  11:14:47.530	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                  11:14:47.530	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.530	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  11:14:47.536	error	javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                  11:14:47.537	error	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5)
                  11:14:47.537	error	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                  11:14:47.537	error	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                  

                  Die Warnungen sind erst enmal sekundär, doch die Errormeldungen bekomme ich nicht gedeutet.

                  Auch wird in den Objekten nicht wirklich "viel" generiert:

                  9a0df030-7a06-45ec-a8c7-b270d514b848-image.png

                  Wo muss / soll ich ansetzen?
                  Danke bereit im Voraus!

                  P Offline
                  P Offline
                  Pittini
                  Developer
                  schrieb am zuletzt editiert von
                  #516

                  @ub-privat Zeig mal nen Screenshot vom Objektbaum wo ich die Zuordnungen sehen kann. Ausserdem Zeile 1-44 posten damit ich Deine Einstellungen seh. Und ein Log bei eingeschaltetem logging (Zeile 9) wär auch hilfreich.

                  ub.privatU 1 Antwort Letzte Antwort
                  0
                  • P Pittini

                    @ub-privat Zeig mal nen Screenshot vom Objektbaum wo ich die Zuordnungen sehen kann. Ausserdem Zeile 1-44 posten damit ich Deine Einstellungen seh. Und ein Log bei eingeschaltetem logging (Zeile 9) wär auch hilfreich.

                    ub.privatU Offline
                    ub.privatU Offline
                    ub.privat
                    schrieb am zuletzt editiert von
                    #517

                    @pittini

                    Hier der Objektbaum:

                    Das sind ZigBee (Xiaomi) - Sensoren:
                    7b9f785a-8c60-4c58-9ad1-e28a42eb97cd-image.png
                    e2c2492a-9301-42c6-a6db-5bd6e18ca858-image.png

                    Hier habe ich einen Homematic-Sensor:
                    b90c810a-85a5-4651-80ea-c31af90ac402-image.png

                    Hier noch ein paar Homematic-IP-Sensoren:
                    573fd737-b363-4db5-bb1c-28a092d96aa2-image.png

                    Hier die Zeilen 1-44 aus dem Script:

                    const Skriptversion = "1.6.11" //vom 18.03.2021 - 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 = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                    const WhichDoorFunctionToUse = "Tuer"; // 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 
                    
                    //Telegram
                    const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                    
                    //Pushover
                    const UsePushover = false; // Sollen Nachrichten via PushOver gesendet werden?
                    const PushoverInstance = "pushover.0"; //Pushoverinstanz welche genutzt werden soll angeben
                    const PushoverDevice = "All"; //Welches Gerät soll die Nachricht bekommen
                    const PushOverTitle = "Fensterüberwachung";
                    
                    //Alexa
                    const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                    const AlexaInstance = "alexa2.0";
                    const AlexaId = ""; // Die Alexa Seriennummer.
                    const AlexaVolume = "50"; // Lautstärke der Nachrichten. Wert von 1 bis 100
                    
                    //Other
                    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?
                    

                    Hier das Logging = true:

                    
                    15:48:47.676	info	javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN
                    15:48:47.790	info	javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN
                    15:48:47.837	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11
                    15:48:47.840	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules
                    15:48:47.866	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: CreateStates fertig!
                    15:48:47.875	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26)
                    15:48:47.875	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                    15:48:47.875	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.876	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    15:48:47.879	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35)
                    15:48:47.880	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                    15:48:47.880	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.881	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    15:48:47.886	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37)
                    15:48:47.886	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                    15:48:47.887	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.887	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    15:48:47.891	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32)
                    15:48:47.892	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                    15:48:47.892	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.892	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    15:48:47.895	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30)
                    15:48:47.896	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                    15:48:47.896	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.896	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    15:48:47.897	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null
                    15:48:47.899	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27)
                    15:48:47.900	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                    15:48:47.900	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.900	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    15:48:47.902	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined
                    15:48:47.902	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Room 0 = is open or disabled, no vent warning set
                    15:48:47.903	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithVentWarnings
                    15:48:47.907	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithOpenDoorsList
                    15:48:47.911	error	javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                    15:48:47.912	error	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5)
                    15:48:47.913	error	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                    15:48:47.913	error	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                    

                    Ich hoffe, du wirst daraus "schlau"...

                    P 1 Antwort Letzte Antwort
                    0
                    • ub.privatU ub.privat

                      @pittini

                      Hier der Objektbaum:

                      Das sind ZigBee (Xiaomi) - Sensoren:
                      7b9f785a-8c60-4c58-9ad1-e28a42eb97cd-image.png
                      e2c2492a-9301-42c6-a6db-5bd6e18ca858-image.png

                      Hier habe ich einen Homematic-Sensor:
                      b90c810a-85a5-4651-80ea-c31af90ac402-image.png

                      Hier noch ein paar Homematic-IP-Sensoren:
                      573fd737-b363-4db5-bb1c-28a092d96aa2-image.png

                      Hier die Zeilen 1-44 aus dem Script:

                      const Skriptversion = "1.6.11" //vom 18.03.2021 - 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 = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                      const WhichDoorFunctionToUse = "Tuer"; // 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 
                      
                      //Telegram
                      const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
                      
                      //Pushover
                      const UsePushover = false; // Sollen Nachrichten via PushOver gesendet werden?
                      const PushoverInstance = "pushover.0"; //Pushoverinstanz welche genutzt werden soll angeben
                      const PushoverDevice = "All"; //Welches Gerät soll die Nachricht bekommen
                      const PushOverTitle = "Fensterüberwachung";
                      
                      //Alexa
                      const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
                      const AlexaInstance = "alexa2.0";
                      const AlexaId = ""; // Die Alexa Seriennummer.
                      const AlexaVolume = "50"; // Lautstärke der Nachrichten. Wert von 1 bis 100
                      
                      //Other
                      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?
                      

                      Hier das Logging = true:

                      
                      15:48:47.676	info	javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN
                      15:48:47.790	info	javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN
                      15:48:47.837	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11
                      15:48:47.840	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules
                      15:48:47.866	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: CreateStates fertig!
                      15:48:47.875	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26)
                      15:48:47.875	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                      15:48:47.875	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.876	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      15:48:47.879	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35)
                      15:48:47.880	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                      15:48:47.880	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.881	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      15:48:47.886	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37)
                      15:48:47.886	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                      15:48:47.887	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.887	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      15:48:47.891	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32)
                      15:48:47.892	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                      15:48:47.892	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.892	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      15:48:47.895	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30)
                      15:48:47.896	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                      15:48:47.896	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.896	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      15:48:47.897	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null
                      15:48:47.899	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27)
                      15:48:47.900	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                      15:48:47.900	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.900	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      15:48:47.902	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined
                      15:48:47.902	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Room 0 = is open or disabled, no vent warning set
                      15:48:47.903	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithVentWarnings
                      15:48:47.907	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithOpenDoorsList
                      15:48:47.911	error	javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                      15:48:47.912	error	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5)
                      15:48:47.913	error	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                      15:48:47.913	error	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                      

                      Ich hoffe, du wirst daraus "schlau"...

                      P Offline
                      P Offline
                      Pittini
                      Developer
                      schrieb am zuletzt editiert von Pittini
                      #518

                      @ub-privat Lies mal in der Anleitung was unter dem dicken fetten WICHTIG! steht. Und schau Dir den Screenshot dazu an und dann vergleichs mit Deinen Screenshots. Stichwort Räume. Wozu schreib ich eigentlich ne Anleitung?

                      ub.privatU 1 Antwort Letzte Antwort
                      0
                      • P Pittini

                        @ub-privat Lies mal in der Anleitung was unter dem dicken fetten WICHTIG! steht. Und schau Dir den Screenshot dazu an und dann vergleichs mit Deinen Screenshots. Stichwort Räume. Wozu schreib ich eigentlich ne Anleitung?

                        ub.privatU Offline
                        ub.privatU Offline
                        ub.privat
                        schrieb am zuletzt editiert von ub.privat
                        #519

                        @pittini

                        Es sind doch Räume angelegt! EG_Wohnen, EG_Kochen; EG_Werkstatt.... OG_Bad, OG_Schlafen
                        Halt genau so, wie ich es der Anleitung entnehmen konnte und wie es die Scrennshots zeigen!
                        Es wurde nochmals intensiv geschaut, das nicht der gesamte Channel benant wurde.
                        d52712d4-0203-4e79-a30d-d982ad7277bd-image.png

                        Verstehe nicht, worauf du hinaus willst! Ja ich habe die Anleitung gelesen, dass ist das wichtigste, bevor ich mich mit dem Thema auseinandersetze...
                        Auch das Synchronisieren zwischen HM und ioBroker ist deaktiviert.

                        3a19d1db-15bd-4a6c-8e36-041e32464ed6-image.png

                        Mir ist schon bewusst, dass du als Entwickler von vermeintlich "dummen" Fragen zu hauf bekommst, doch mehr als Lesen, Fragen und Lernen kann man nicht!?

                        Dominik F.D P 2 Antworten Letzte Antwort
                        0
                        • ub.privatU ub.privat

                          @pittini

                          Es sind doch Räume angelegt! EG_Wohnen, EG_Kochen; EG_Werkstatt.... OG_Bad, OG_Schlafen
                          Halt genau so, wie ich es der Anleitung entnehmen konnte und wie es die Scrennshots zeigen!
                          Es wurde nochmals intensiv geschaut, das nicht der gesamte Channel benant wurde.
                          d52712d4-0203-4e79-a30d-d982ad7277bd-image.png

                          Verstehe nicht, worauf du hinaus willst! Ja ich habe die Anleitung gelesen, dass ist das wichtigste, bevor ich mich mit dem Thema auseinandersetze...
                          Auch das Synchronisieren zwischen HM und ioBroker ist deaktiviert.

                          3a19d1db-15bd-4a6c-8e36-041e32464ed6-image.png

                          Mir ist schon bewusst, dass du als Entwickler von vermeintlich "dummen" Fragen zu hauf bekommst, doch mehr als Lesen, Fragen und Lernen kann man nicht!?

                          Dominik F.D Offline
                          Dominik F.D Offline
                          Dominik F.
                          schrieb am zuletzt editiert von
                          #520

                          @ub-privat

                          Pittini meint glaube ich folgenden Satz:
                          Den Geräten müssen Räume (für den gesamten Channel) zugewiesen sein.
                          Du hast wenn ich das richtig sehe einem Datenpunkt einen Raum zugewiesen, nicht dem gesamten Channel.

                          ub.privatU 2 Antworten Letzte Antwort
                          1
                          • Dominik F.D Dominik F.

                            @ub-privat

                            Pittini meint glaube ich folgenden Satz:
                            Den Geräten müssen Räume (für den gesamten Channel) zugewiesen sein.
                            Du hast wenn ich das richtig sehe einem Datenpunkt einen Raum zugewiesen, nicht dem gesamten Channel.

                            ub.privatU Offline
                            ub.privatU Offline
                            ub.privat
                            schrieb am zuletzt editiert von
                            #521

                            @dominik-f

                            Stimmt, jetzt habe ich es gecheckt! Werde nochmals genau überarbeiten! DANKE!

                            1 Antwort Letzte Antwort
                            0
                            • ub.privatU ub.privat

                              @pittini

                              Es sind doch Räume angelegt! EG_Wohnen, EG_Kochen; EG_Werkstatt.... OG_Bad, OG_Schlafen
                              Halt genau so, wie ich es der Anleitung entnehmen konnte und wie es die Scrennshots zeigen!
                              Es wurde nochmals intensiv geschaut, das nicht der gesamte Channel benant wurde.
                              d52712d4-0203-4e79-a30d-d982ad7277bd-image.png

                              Verstehe nicht, worauf du hinaus willst! Ja ich habe die Anleitung gelesen, dass ist das wichtigste, bevor ich mich mit dem Thema auseinandersetze...
                              Auch das Synchronisieren zwischen HM und ioBroker ist deaktiviert.

                              3a19d1db-15bd-4a6c-8e36-041e32464ed6-image.png

                              Mir ist schon bewusst, dass du als Entwickler von vermeintlich "dummen" Fragen zu hauf bekommst, doch mehr als Lesen, Fragen und Lernen kann man nicht!?

                              P Offline
                              P Offline
                              Pittini
                              Developer
                              schrieb am zuletzt editiert von
                              #522

                              @ub-privat sagte in [Vorlage] Generisches Fensteroffenskript + Vis:

                              doch mehr als Lesen, Fragen und Lernen kann man nicht!?

                              Sorry, zum lesen gehört auch das gelesene zu verstehen und umzusetzen. Ich mach extra ausführliche und bebilderte Anleitungen...
                              Da steht doch ganz klar, dass den Geräten für DEN GESAMTEN CHANNEL Räume zugewiesen sein müssen. Du hast aber nur jeweils einem Datenpunkt nen Raum zugewiesen.

                              Inked2021-05-06 18_55_13-Window_LI.jpg

                              1 Antwort Letzte Antwort
                              0
                              • Dominik F.D Dominik F.

                                @ub-privat

                                Pittini meint glaube ich folgenden Satz:
                                Den Geräten müssen Räume (für den gesamten Channel) zugewiesen sein.
                                Du hast wenn ich das richtig sehe einem Datenpunkt einen Raum zugewiesen, nicht dem gesamten Channel.

                                ub.privatU Offline
                                ub.privatU Offline
                                ub.privat
                                schrieb am zuletzt editiert von ub.privat
                                #523

                                @dominik-f
                                @Pittini

                                Ihr habt recht, dass habe ich nicht korrekt umgesetzt.
                                Hier die Überarbeitung:

                                c3b03e68-5fb8-4792-b381-4b548c4269c7-image.png
                                2e2fea92-d884-4a5a-8658-826d2045259f-image.png
                                54b7777c-b5a2-461c-8027-d15f8c6fe3af-image.png

                                Es ändert jedoch nichts am Zustand.

                                19:05:33.694	info	javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN
                                19:05:33.698	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: reaching ClearWindowWarnTime - [x] = 0
                                19:05:36.122	info	javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN
                                19:05:36.151	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11
                                19:05:36.154	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules
                                19:05:36.211	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: CreateStates fertig!
                                19:05:36.214	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26)
                                19:05:36.214	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                19:05:36.215	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.215	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                19:05:36.217	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35)
                                19:05:36.218	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                19:05:36.218	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.218	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                19:05:36.221	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37)
                                19:05:36.221	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                19:05:36.221	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.222	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                19:05:36.224	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32)
                                19:05:36.224	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                19:05:36.225	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.225	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                19:05:36.227	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30)
                                19:05:36.228	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                19:05:36.228	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.228	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                19:05:36.230	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null
                                19:05:36.231	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27)
                                19:05:36.232	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                19:05:36.232	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.232	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                19:05:36.233	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined
                                19:05:36.235	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Room 0 = is open or disabled, no vent warning set
                                19:05:36.236	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithVentWarnings
                                19:05:36.237	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithOpenDoorsList
                                19:05:36.240	error	javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                                19:05:36.240	error	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5)
                                19:05:36.241	error	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                19:05:36.241	error	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                

                                Das steht im LOG:

                                javascript.0
                                2021-05-06 19:06:50.322	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38)
                                javascript.0
                                2021-05-06 19:06:50.322	error	at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                javascript.0
                                2021-05-06 19:06:50.321	error	at main (script.js.common.FENSTER_TUEREN:343:5)
                                javascript.0
                                2021-05-06 19:06:50.322	error	at processImmediate (internal/timers.js:463:21)
                                javascript.0
                                2021-05-06 19:06:50.320	error	at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                                javascript.0
                                2021-05-06 19:06:50.321	error	at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                javascript.0
                                2021-05-06 19:06:50.320	error	Error in callback: TypeError: Cannot set property '1' of undefined
                                
                                P 1 Antwort Letzte Antwort
                                0
                                • ub.privatU ub.privat

                                  @dominik-f
                                  @Pittini

                                  Ihr habt recht, dass habe ich nicht korrekt umgesetzt.
                                  Hier die Überarbeitung:

                                  c3b03e68-5fb8-4792-b381-4b548c4269c7-image.png
                                  2e2fea92-d884-4a5a-8658-826d2045259f-image.png
                                  54b7777c-b5a2-461c-8027-d15f8c6fe3af-image.png

                                  Es ändert jedoch nichts am Zustand.

                                  19:05:33.694	info	javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN
                                  19:05:33.698	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: reaching ClearWindowWarnTime - [x] = 0
                                  19:05:36.122	info	javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN
                                  19:05:36.151	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11
                                  19:05:36.154	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules
                                  19:05:36.211	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: CreateStates fertig!
                                  19:05:36.214	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26)
                                  19:05:36.214	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                  19:05:36.215	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.215	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  19:05:36.217	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35)
                                  19:05:36.218	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                  19:05:36.218	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.218	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  19:05:36.221	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37)
                                  19:05:36.221	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                  19:05:36.221	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.222	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  19:05:36.224	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32)
                                  19:05:36.224	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                  19:05:36.225	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.225	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  19:05:36.227	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30)
                                  19:05:36.228	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                  19:05:36.228	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.228	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  19:05:36.230	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null
                                  19:05:36.231	warn	javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27)
                                  19:05:36.232	warn	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5)
                                  19:05:36.232	warn	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.232	warn	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  19:05:36.233	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined
                                  19:05:36.235	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Room 0 = is open or disabled, no vent warning set
                                  19:05:36.236	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithVentWarnings
                                  19:05:36.237	info	javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithOpenDoorsList
                                  19:05:36.240	error	javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                                  19:05:36.240	error	javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5)
                                  19:05:36.241	error	javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  19:05:36.241	error	javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  

                                  Das steht im LOG:

                                  javascript.0
                                  2021-05-06 19:06:50.322	error	at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38)
                                  javascript.0
                                  2021-05-06 19:06:50.322	error	at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
                                  javascript.0
                                  2021-05-06 19:06:50.321	error	at main (script.js.common.FENSTER_TUEREN:343:5)
                                  javascript.0
                                  2021-05-06 19:06:50.322	error	at processImmediate (internal/timers.js:463:21)
                                  javascript.0
                                  2021-05-06 19:06:50.320	error	at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45)
                                  javascript.0
                                  2021-05-06 19:06:50.321	error	at InitialSort (script.js.common.FENSTER_TUEREN:308:5)
                                  javascript.0
                                  2021-05-06 19:06:50.320	error	Error in callback: TypeError: Cannot set property '1' of undefined
                                  
                                  P Offline
                                  P Offline
                                  Pittini
                                  Developer
                                  schrieb am zuletzt editiert von Pittini
                                  #524

                                  @ub-privat In den Einstellungen die Du gepostest hast steht:

                                  const WhichWindowFunctionToUse = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                                  const WhichDoorFunctionToUse = "Tuer"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                                  

                                  Tja, und in der Funktion heisst das bei Dir TUER bzw. FENSTER. Du mußt Dich schon entscheiden wie Dus schreiben willst, aus Sicht des Skripts hast Du somit nirgends nix zugewiesen weil halt TUER nicht gleich Tuer ist.

                                  ub.privatU 1 Antwort Letzte Antwort
                                  1
                                  • P Pittini

                                    @ub-privat In den Einstellungen die Du gepostest hast steht:

                                    const WhichWindowFunctionToUse = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                                    const WhichDoorFunctionToUse = "Tuer"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
                                    

                                    Tja, und in der Funktion heisst das bei Dir TUER bzw. FENSTER. Du mußt Dich schon entscheiden wie Dus schreiben willst, aus Sicht des Skripts hast Du somit nirgends nix zugewiesen weil halt TUER nicht gleich Tuer ist.

                                    ub.privatU Offline
                                    ub.privatU Offline
                                    ub.privat
                                    schrieb am zuletzt editiert von
                                    #525

                                    @pittini

                                    Vielen Dank! Es funktioniert. Das gute daran ist, wieder etwas gelernt zu haben.
                                    Für mich ist neu, das die Syntax 'entscheident' ist. Weiterhin zweimal lesen!

                                    Danke für die Geduld und das gute Skript.

                                    J 1 Antwort Letzte Antwort
                                    0
                                    • ub.privatU ub.privat

                                      @pittini

                                      Vielen Dank! Es funktioniert. Das gute daran ist, wieder etwas gelernt zu haben.
                                      Für mich ist neu, das die Syntax 'entscheident' ist. Weiterhin zweimal lesen!

                                      Danke für die Geduld und das gute Skript.

                                      J Offline
                                      J Offline
                                      JoergH
                                      schrieb am zuletzt editiert von
                                      #526

                                      Hallo @Pittini,

                                      nochmal eine Frage: In der Anleitung steht, dass wenn man Say(it) benutzen möchte die "Autorenfunktion" deaktiviert sein muss. Was ist denn die "Autorenfunktion"?

                                      Ich habe say auf true gesetzt, loggen ist deaktiviert, aber er bringt dennoch keinen Ton raus. Im Log erscheinen einige Fehlermeldungen u.a. Say is not defined. Ich vermute irgendwas stimmt an meiner Config nicht, weiss aber nicht was.

                                      javascript.0	2021-05-20 22:46:32.051	error	(3472) at processTimers (internal/timers.js:497:7)
                                      javascript.0	2021-05-20 22:46:32.051	error	(3472) at listOnTimeout (internal/timers.js:554:17)
                                      javascript.0	2021-05-20 22:46:32.051	error	(3472) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2073:34)
                                      javascript.0	2021-05-20 22:46:32.051	error	(3472) at Object.<anonymous> (script.js.Fenster_zählen_2:1005:83)
                                      javascript.0	2021-05-20 22:46:32.050	error	(3472) at Meldung (script.js.Fenster_zählen_2:361:25)
                                      javascript.0	2021-05-20 22:46:32.050	error	(3472) Error in callback: ReferenceError: Say is not defined
                                      
                                      P 1 Antwort Letzte Antwort
                                      0
                                      • J JoergH

                                        Hallo @Pittini,

                                        nochmal eine Frage: In der Anleitung steht, dass wenn man Say(it) benutzen möchte die "Autorenfunktion" deaktiviert sein muss. Was ist denn die "Autorenfunktion"?

                                        Ich habe say auf true gesetzt, loggen ist deaktiviert, aber er bringt dennoch keinen Ton raus. Im Log erscheinen einige Fehlermeldungen u.a. Say is not defined. Ich vermute irgendwas stimmt an meiner Config nicht, weiss aber nicht was.

                                        javascript.0	2021-05-20 22:46:32.051	error	(3472) at processTimers (internal/timers.js:497:7)
                                        javascript.0	2021-05-20 22:46:32.051	error	(3472) at listOnTimeout (internal/timers.js:554:17)
                                        javascript.0	2021-05-20 22:46:32.051	error	(3472) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2073:34)
                                        javascript.0	2021-05-20 22:46:32.051	error	(3472) at Object.<anonymous> (script.js.Fenster_zählen_2:1005:83)
                                        javascript.0	2021-05-20 22:46:32.050	error	(3472) at Meldung (script.js.Fenster_zählen_2:361:25)
                                        javascript.0	2021-05-20 22:46:32.050	error	(3472) Error in callback: ReferenceError: Say is not defined
                                        
                                        P Offline
                                        P Offline
                                        Pittini
                                        Developer
                                        schrieb am zuletzt editiert von Pittini
                                        #527

                                        @joergh

                                        const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
                                        

                                        Was ist denn an : "muß deaktiviert werden" nicht zu verstehen? Das ganze hat auch absolut nix mit SayIt zu tun, sondern ist ne Funktion, die nur ich, der Autor des Skripts, habe und welche deshalb bei Dir, der diese Funktion nicht hat zum Fehler führt. Bei mir ist Say eine globale Funktion, so dass ich aus allen Skripten Sprachinfos via SNIPS ausgeben kann.

                                        J 1 Antwort Letzte Antwort
                                        0
                                        • P Pittini

                                          @joergh

                                          const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
                                          

                                          Was ist denn an : "muß deaktiviert werden" nicht zu verstehen? Das ganze hat auch absolut nix mit SayIt zu tun, sondern ist ne Funktion, die nur ich, der Autor des Skripts, habe und welche deshalb bei Dir, der diese Funktion nicht hat zum Fehler führt. Bei mir ist Say eine globale Funktion, so dass ich aus allen Skripten Sprachinfos via SNIPS ausgeben kann.

                                          J Offline
                                          J Offline
                                          JoergH
                                          schrieb am zuletzt editiert von
                                          #528

                                          @pittini

                                          Danke für die Antwort.
                                          Ich habe nicht gefragt was "muss deaktiviert werden" ist, sondern was eine "Autorenfunktion" ist. Der Begriff war mir nicht geläufig und auch google konnte mir keine Ergebnisse liefern. Ich habe halt gedacht, dass ich irgendeine andere Funktion des Systems deaktivieren muss, damit das läuft.
                                          Man könnte auch einfach schreiben "funktioniert nur auf dem Rechner des Autors" o.ä., dann wäre es eindeutig.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          499

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe