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.
    • wendy2702
      wendy2702 last edited by

      Guten Morgen zusammen,

      ich bin ein wenig weitergekommen. Das Script startet nach manueller Zuordnung der enum functions zu einem Fenster und einer Tür erstmal Fehlerfrei.

      Öffne ich dann jedoch das Fenster erhalte ich im Script folgende Meldung:

      7.1.2022, 08:46:27.794	[error]: javascript.0 (12048)     at Meldung (script.js.common.Home.Fensterauswertung:395:17)
      7.1.2022, 08:46:27.794	[error]: javascript.0 (12048)     at CheckWindow (script.js.common.Home.Fensterauswertung:1014:64)
      7.1.2022, 08:46:27.794	[error]: javascript.0 (12048)     at Object.<anonymous> (script.js.common.Home.Fensterauswertung:1388:25)
      

      Vollständiges log vom start:

      7.1.2022, 08:45:55.354	[info ]: javascript.0 (12048) Start javascript script.js.common.Home.Fensterauswertung
      7.1.2022, 08:45:55.356	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: starting Fensterskript, Version 1.6.15
      7.1.2022, 08:45:55.356	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Raum- 0 = Flur EG hat Türsensor/en
      7.1.2022, 08:45:55.356	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Raum- 1 = Arbeitszimmer hat Fenstersensor/en
      7.1.2022, 08:45:55.357	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: registered 0 subscriptions and 0 schedules
      7.1.2022, 08:45:56.300	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: CreateStates fertig!
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: x=0=Arbeitszimmer SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: x=1=Flur EG SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CheckForHmShit val=false typof val=string x=0 Sensor[x]=hm-rpc.0.NEQ0944362.1.STATE
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching GetRoom x=0
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching CheckWindow, SensorVal[0]=closed SensorOldVal= TempRoom=Flur EG SensorType[x]=Door TempRoomIndex=1
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomOpenDoorCount[TempRoomIndex]=0 TempRoom=Flur EG TempRoomIndex=1
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching ClearWindowWarnTime - [x] = 1
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching ClearDoorWarnTime - [x] = 1
      7.1.2022, 08:45:56.301	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Alle Fenster geschlossen.
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Offene Fenster gesamt= 0
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Alle Türen geschlossen.
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Offene Türen gesamt= 0
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CheckForHmShit val=false typof val=string x=1 Sensor[x]=hm-rpc.0.NEQ0943039.1.STATE
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching GetRoom x=1
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching CheckWindow, SensorVal[1]=closed SensorOldVal= TempRoom=Arbeitszimmer SensorType[x]=Window TempRoomIndex=0
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching ClearWindowWarnTime - [x] = 0
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching ClearDoorWarnTime - [x] = 0
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Alle Fenster geschlossen.
      7.1.2022, 08:45:56.302	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Offene Fenster gesamt= 0
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Alle Türen geschlossen.
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Offene Türen gesamt= 0
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching VentCheck x=0 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1641541555996
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Room 0 = Arbeitszimmer is open or disabled, no vent warning set
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithVentWarnings
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching VentCheck x=1 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1641541555890
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Room 1 = Flur EG is open or disabled, no vent warning set
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithVentWarnings
      7.1.2022, 08:45:56.303	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithOpenDoorsList
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomsWithOpenDoors: Keine Tür/en geöffnet
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithTiltedDoorsList
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomsWithTiltedDoors: Keine Tür gekippt
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithOpenWindowsList
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomsWithOpenWindows: Alle Fenster sind geschlossen
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithTiltedWindowsList
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomsWithTiltedWindows: Keine Fenster gekippt
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: CreateOpenRoomsList()
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomsWithOpenings: 
      7.1.2022, 08:45:56.304	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithVentWarnings
      7.1.2022, 08:46:17.792	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Trigger= 1 Wert= true Alter Wert= false dp.channelId=hm-rpc.0.NEQ0943039.1 dp.channelName=Kontakt Fenster Arbeitszimmer Vorne
      7.1.2022, 08:46:17.792	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CheckForHmShit val=false typof val=string x=1 Sensor[x]=hm-rpc.0.NEQ0943039.1.STATE
      7.1.2022, 08:46:17.792	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Activating Ignore Timeout for 1, Value to ignore=closed
      7.1.2022, 08:46:27.792	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: InTimeout - Trigger= 1 Wert= true Alter Wert= false
      7.1.2022, 08:46:27.793	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CheckForHmShit val=true typof val=string x=1 Sensor[x]=hm-rpc.0.NEQ0943039.1.STATE
      7.1.2022, 08:46:27.793	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Ignore Timeout for 1 exceeded, Value change happend, starting Functions
      7.1.2022, 08:46:27.793	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching CheckForHmShit val=true typof val=string x=1 Sensor[x]=hm-rpc.0.NEQ0943039.1.STATE
      7.1.2022, 08:46:27.793	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching GetRoom x=1
      7.1.2022, 08:46:27.793	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: reaching CheckWindow, SensorVal[1]=open SensorOldVal=closed TempRoom=Arbeitszimmer SensorType[x]=Window TempRoomIndex=0
      7.1.2022, 08:46:27.793	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: RoomOpenWindowCount für Arbeitszimmer=1
      7.1.2022, 08:46:27.794	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Arbeitszimmer Fenster geöffnet
      7.1.2022, 08:46:27.794	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Reaching Meldung, msg= Arbeitszimmer Fenster geöffnet! NoMsgAtPresence= false Presence= true
      7.1.2022, 08:46:27.794	[error]: javascript.0 (12048)     at Meldung (script.js.common.Home.Fensterauswertung:395:17)
      7.1.2022, 08:46:27.794	[error]: javascript.0 (12048)     at CheckWindow (script.js.common.Home.Fensterauswertung:1014:64)
      7.1.2022, 08:46:27.794	[error]: javascript.0 (12048)     at Object.<anonymous> (script.js.common.Home.Fensterauswertung:1388:25)
      

      Für das Arbeitszimmer ändert sich auch der entsprechende DP auf "true":

      34c59265-5555-4b86-9150-087334afdaed-grafik.png

      In der Summary wird das offene Fenster nicht angezeigt:

      c2c2c791-4548-4dd6-a3a2-aeb608e82e2e-grafik.png

      Schließe ich das Fenster nach ca. 1min 30 sek wieder kommt noch das im Log:

      7.1.2022, 08:48:09.233	[info ]: javascript.0 (12048) script.js.common.Home.Fensterauswertung: Trigger= 1 Wert= false Alter Wert= true dp.channelId=hm-rpc.0.NEQ0943039.1 dp.channelName=Kontakt Fenster Arbeitszimmer Vorne
      

      e66c3763-50a2-4858-98ac-fdc241c1449e-grafik.png
      Allerdings ändert sich auch der DP im Arbeitszimmer nicht mehr zurück auf false:

      5e6572ff-3783-4832-ad2a-f4d556054627-grafik.png

      Hier noch meine ersten 47 Zeilen des Scripts:

      const Skriptversion = "1.6.15" //vom 22.11.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 = true; //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 = "Tueren"; // 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
      const WhichEnumCategoryToUse = "functions"; // Legt fest in welcher Kategorie sich die Aufzählungen befinden! Nur ändern wer weis was er tut!
      
      //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";
      const PushOverSound = "none"; //Welcher Sound soll abgespielt werden? "none" für kein Sound, "" für Standartsound, ansonsten Namen angeben z.B. "magic"
      
      //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 = true; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
      
      const NoMsgAtPresence = false; //Sollen Nachrichten bei Anwesenheit unterdrückt werden?
      
      

      Und hier meine beiden enum functions:

      Fenster/Arbeitszimmer:

      b565daac-20d8-4c35-9d06-b4aa9784e246-grafik.png

      edea653d-80e4-4f40-b7b3-ddd8021109a3-grafik.png

      Tueren/Haustür:

      b7bb2e50-742b-47a0-869b-eb83e1a4b561-grafik.png

      fde781af-92e8-4385-89de-f4bb521bc9d9-grafik.png

      Iobroker hat alle Adapter aus dem latest installiert.

      Wo liegt denn jetzt noch mein Fehler/Problem?

      Danke und Gruß

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

        @wendy2702 Da haste genau den Fehler produziert, vor dem Dich @Dominik-F 3 posts weiter oben noch gewarnt hat. Zeile 43 auf false setzen.

        wendy2702 1 Reply Last reply Reply Quote 1
        • wendy2702
          wendy2702 @Pittini last edited by

          @pittini Blind... zu Oft und zulange drauf geguckt und irgendwie immer nur Zeile 42 auf dem Schirm gehabt.

          Danke für den erneuten Schubs....

          Wird Zeit für ne Bildschirm Pause

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

            Nachdem das Script ja jetzt bei mir läuft und ich mehr oder weniger jetzt alle Beiträge hier gelesen habe wollte ich noch eine Frage stellen.

            Wie @Dominik-F auf einer der ersten Seiten auch geschrieben hat benutze ich ebenfalls für 4 Türen/Fenster sowohl die HM Drehgriff Sensoren als auch HM TFKs.

            Wie habt ihr die sinnvoll den Functions zugewiesen?

            Aktuell habe ich den Drehgriff Sensor als Tür und den TFK als Fenster was natürlich in der Tabelle zu 2 Einträgen führt.

            bf9c47d5-2877-437a-9886-798b19b9d36d-grafik.png

            Hintergrund ist das ich bei geschlossener Tür (Drehgriff steht auf open aber TFK auf closed) am liebsten eine Anzeige hätte das der "Griff" noch offen ist aber Tür/Fenster zu aber halt nicht verriegelt ist.

            Hoffe ich konnte mich verständlich ausdrücken.

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

              @pittini
              Hallo,

              nutze Dein wirklich gelungenes Skript schon lange und es funktioniert alles einwandfrei.

              Nun habe ich ein paar Alexa mehr und wollte mal fragen, wie ich mehrere Alexa (hier die anzugebene ID) in das Skript bekomme, so das die Ansage an alle Alexas ausgegeben wird.

              Bisher hatte ich die eine ID ja hier eingegeben:

              //Alexa
              const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
              const AlexaInstance = "alexa2.0";
              const AlexaId = "G090..."; // Die Alexa Seriennummer.
              const AlexaVolume = "50"; // Lautstärke der Nachrichten. Wert von 1 bis 100
              

              Hatte hier versucht die durch Komma/Semikolon getrennt einzugeben etc., hat aber leider nicht funktioniert.

              Wie könnte ich denn mehrere IDs eingeben? 🙂

              qqolli P I 3 Replies Last reply Reply Quote 0
              • qqolli
                qqolli @qqolli last edited by

                @Pittini

                Hi,

                wollte nur mal nachfragen wegen meiner Anfrage 🙂

                1 Reply Last reply Reply Quote 0
                • M
                  Malz1902 last edited by

                  versuchs mal als array <also ['id1, 'id2'] vielleicht gehts

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

                    @qqolli Sorry, da kann ich Dir nich helfen, ich hab nich mal eine Alexa, von daher kein Plan wie das umzusetzen wäre.

                    1 Reply Last reply Reply Quote 0
                    • I
                      intruder7 @qqolli last edited by

                      @qqolli leg doch bei alexa mehrere Geräte zusammen als Gruppe. Diese Gruppe taucht dann auch beim alexa adapter unter devices auf.

                      1 Reply Last reply Reply Quote 1
                      • S
                        Sesamstrasse last edited by

                        Hallo zusammen,
                        ich kriege das Skript leider nicht zum laufen und steh gerade auf den Schlauch. Ich habe die Standard Funktion für Fenster und Türen vom IoBroker verwendet.
                        a3c111ae-e2a3-4c76-a0da-94e1c9d1b31f-image.png

                        Und diese meinen Sensoren zugeordnet.
                        50eb9b5e-65cd-4d91-92f9-9d1c75c6555a-image.png

                        Im script habe ich die ids (habs auch mit dem Namen probiert) eingetragen.

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

                        leider schmeißt das Skript nach dem Start immer viele Warnungen, dann Fehler und bricht ab.
                        Says und EventLog habe ich auf false.

                        11:03:00.878	info	javascript.0 (5215) Start javascript script.js.common.Messages.WindowDoorStatus
                        11:03:00.897	info	javascript.0 (5215) script.js.common.Messages.WindowDoorStatus: starting Fensterskript, Version 1.6.15
                        11:03:00.899	info	javascript.0 (5215) script.js.common.Messages.WindowDoorStatus: registered 0 subscriptions and 0 schedules
                        11:03:00.927	warn	javascript.0 (5215) at init (script.js.common.Messages.WindowDoorStatus:325:26)
                        11:03:00.928	warn	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:349:5)
                        11:03:00.928	warn	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.929	warn	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        11:03:00.932	warn	javascript.0 (5215) at init (script.js.common.Messages.WindowDoorStatus:326:35)
                        11:03:00.932	warn	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:349:5)
                        11:03:00.933	warn	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.933	warn	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        11:03:00.937	warn	javascript.0 (5215) at init (script.js.common.Messages.WindowDoorStatus:327:37)
                        11:03:00.937	warn	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:349:5)
                        11:03:00.938	warn	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.938	warn	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        11:03:00.940	warn	javascript.0 (5215) at init (script.js.common.Messages.WindowDoorStatus:328:32)
                        11:03:00.940	warn	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:349:5)
                        11:03:00.941	warn	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.941	warn	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        11:03:00.943	warn	javascript.0 (5215) at init (script.js.common.Messages.WindowDoorStatus:329:30)
                        11:03:00.944	warn	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:349:5)
                        11:03:00.944	warn	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.945	warn	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        11:03:00.949	warn	javascript.0 (5215) at init (script.js.common.Messages.WindowDoorStatus:341:27)
                        11:03:00.949	warn	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:349:5)
                        11:03:00.950	warn	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.951	warn	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        11:03:00.960	error	javascript.0 (5215) at CreateRoomsWithOpenDoorsList (script.js.common.Messages.WindowDoorStatus:866:45)
                        11:03:00.961	error	javascript.0 (5215) at main (script.js.common.Messages.WindowDoorStatus:351:5)
                        11:03:00.961	error	javascript.0 (5215) at InitialSort (script.js.common.Messages.WindowDoorStatus:314:5)
                        11:03:00.962	error	javascript.0 (5215) at Object.<anonymous> (script.js.common.Messages.WindowDoorStatus:278:13)
                        

                        Ich bin gerade mit meinem Latein am Ende und hoffe ihr habt noch eine Idee.

                        Viele Grüße
                        Flo

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

                          @sesamstrasse

                          Probiere doch mal, überall Tuer zu nutzen. Also als Name der Aufzählung und der ID und im Script. Einfach nur mal als Test.

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

                            @dominik-f Leider selber Ergebnis. Ich habe jetzt auch noch alle Leerzeichen bei den Räumen raus. Hat aber auch nichts gebracht.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Sesamstrasse last edited by

                              Ich habe mal ein kleines Testskript gemacht. Bei mir scheint die Funktion zum ermitteln der Räume im Javascript Adapter nicht zu funktionieren.

                              
                              const testVar = $('zigbee.0.*.opened'/*Clients*/);
                              
                              console.log('test');
                              testVar.each(function (id, i) {
                                  console.log('*******************');
                                  console.log(id);
                                  let name = getObject(id).common.name;
                                  console.log(name);
                                  let room = getObject(id, 'rooms').enumNames[0];
                                  if (typeof room == 'object') room = room.de;
                                  console.log(room);
                              
                              });
                              

                              liefert das Ergebnis

                              14:40:20.880	info	javascript.0 (5215) script.js.TestJs: test
                              14:40:20.881	info	javascript.0 (5215) script.js.TestJs: *******************
                              14:40:20.883	info	javascript.0 (5215) script.js.TestJs: zigbee.0.00158d0007bf12fa.opened
                              14:40:20.883	info	javascript.0 (5215) script.js.TestJs: Is open
                              14:40:20.884	info	javascript.0 (5215) script.js.TestJs: undefined
                              14:40:20.884	info	javascript.0 (5215) script.js.TestJs: *******************
                              14:40:20.884	info	javascript.0 (5215) script.js.TestJs: zigbee.0.00158d0007d11bc3.opened
                              14:40:20.885	info	javascript.0 (5215) script.js.TestJs: Is open
                              14:40:20.885	info	javascript.0 (5215) script.js.TestJs: undefined
                              14:40:20.886	info	javascript.0 (5215) script.js.TestJs: *******************
                              14:40:20.886	info	javascript.0 (5215) script.js.TestJs: zigbee.0.00158d0007d11fd2.opened
                              14:40:20.892	info	javascript.0 (5215) script.js.TestJs: Is open
                              14:40:20.893	info	javascript.0 (5215) script.js.TestJs: undefined
                              

                              ....

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

                                Ich habe es gelöst. Der javascript Adapter kriegt Änderungen an den Aufzählungen Raum/Funktion nicht mit... Man muss erst alles Konfigurieren, dann den Javascript Adapter neustarten und dann funktioniert auch das Skript...

                                A bug or a feature? 🙂

                                link text

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

                                  @sesamstrasse

                                  Okay super, ich bin davon ausgegangen, dass du dies gemacht hast, da es auch in der Anleitung steht 🙂

                                  Nach der Zuweisung, bzw. dem anlegen neuer Aufzählungspunkte ist es empfehlenswert die JS Instanz neu zu starten da diese bei Aufzählungsänderungen gerne mal "zickt" was dann zu Skriptfehlern führt.
                                  
                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    Sesamstrasse @Dominik F. last edited by

                                    @dominik-f Ich könnte schwören, dass ich das bei meinem ersten Versuch auch getan habe. 😉 Aber daran lag es bei mir definitiv.

                                    S 1 Reply Last reply Reply Quote 1
                                    • S
                                      Sesamstrasse @Sesamstrasse last edited by

                                      Das zweite Problem war, dass ich die ids der Aufzählung door/window verwendet habe. Darum hat es zuerst nicht funktioniert. Das Skript geht explizit auf die DE Anzeigetexte. Darum ging es beim ersten Versuch nicht, als ich den JS Adapter durchgestartet habe.

                                      Jetzt macht es Sinn.

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

                                        @sesamstrasse

                                        Ah okay, das ist mir noch nie aufgefallen, da ich generell immer die gleiche ID und Name verwende in den Aufzählungen

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

                                          @Pittini Mir ist aufgefallen das seit einiger Zeit mein Ram voll läuft und mittlerweile auch IoB nach ein paar Tagen nicht mehr erreichbar ist, sobald ich dieses Script laufen habe. Ich habe die neuste Version. In der Log sehe ich leider nichts, was in Verbindung mit deinem Script stehen könnte, dennoch ist es so, wenn ich es deaktiviere läuft der ioB tagelang unauffällig, starte ich das Script geht es nach 1-3 Tagen los. Ram wird immer voller, Teilweise auch bis an die Grenze, beruhigt sich dann wieder. Mittlerweile schmiert dann auch irgendwie der iob ab, ich komm dann gar nicht mehr aufs Web If.

                                          Ich häng hier dennoch mal die Log an, vllt kannst du da was sehen...

                                          log.txt

                                          Die Log ist voll vom DB Close, ich hab da mal jede Menge gelöscht sonst hätte ich es nicht hochladen können.

                                          Auch sonst ist das System auf dem neusten Stand. (Latest)

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

                                            @d3ltoroxp Das Skript ist so oft im Einsatz, dass ich ein generisches Problem ausschliesse. Du müßtest jetzt rausfinden, was bei Dir anders als bei den anderen, mich eingeschlossen, ist.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            931
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

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