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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Generisches Fensteroffenskript + Vis

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      luft-post last edited by

      Moin,
      alles etwas her (Marz) aber es ging schon mal alles. Änderungen sind diverse Updats (auch Node, NPM) und einen kurzen swich auf den MAXCUBE für die Fensterkontakte, bin jetzt aber wieder zurück zum CUNO. Also viele Fehlermöglichkeiten 😞
      Habe gerade mal die Tür rausgenommen, kommt aber immer noch der Fehler

      Hier mal die Infos:

      const Skriptversion = "1.6.8" //vom 08.02.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_ueberwachung"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
      const WhichDoorFunctionToUse = "Tuer_ueberwachung"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
      const WindowIgnoreTime = 1000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
      const DoorIgnoreTime = 1000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird
      
      
      //Nachrichteneinstellungen
      const TimeToWindowMsg = 900000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Fenster-offenwarnung/en
      const TimeToDoorMsg = 300000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Tür-offenwarnung/en
      
      const MaxMessages = 1; //Maximale Anzahl der Nachrichten pro Raum 
      
      const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden?
      const UsePushover = false; // Sollen Nachrichten via PushOver gesendet werden?
      const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden?
      const AlexaId = ""; // Die Alexa Seriennummer.
      const UseMail = false; //Nachricht via Mail versenden?
      
      const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
      const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden.
      const NoMsgAtPresence = false; //Sollen Nachrichten bei Anwesenheit unterdrückt werden?
      
      //Tabelleneinstellungen
      const DoorOpenImg = "/icons-mfd-svg/fts_door_open.svg"; //Icon für Tür offen
      const DoorCloseImg = "/icons-mfd-svg/fts_door.svg"; // Icon für Tür geschlossen
      const DoorTiltedImg = "/icons-mfd-svg/fts_door_tilt.svg" // Icon für Tür gekippt
      const WindowOpenImg = "/icons-mfd-svg/fts_window_1w_open.svg"; //Icon für Fenster offen
      const WindowCloseImg = "/icons-mfd-svg/fts_window_1w.svg"; // Icon für Fenster geschlossen
      const WindowTiltedImg = "/icons-mfd-svg/fts_window_1w_tilt.svg" //Icon für Fenster gekippt
      const WindowOpenTiltedImg = "/icons-mfd-svg/fts_window_2w_open_l_tilt_r.svg" //Icon für offen und gekippt in einem Raum gleichzeitig
      const VentImg = "/icons-mfd-svg/vent_ventilation.svg"; //Icon für Lüftungsinfo
      const ImgInvert = 1; // Bildfarben invertieren? Erlaubte Werte von 0 bis 1
      const OpenWindowColor = "#f44336"; // Farbe für Fenster offen
      const OpenDoorColor = "darkorange"; //Farbe für Tür offen
      const TiltedWindowColor = "#F56C62"; //Farbe für gekippte Fenster o. Tür/en
      const ClosedWindowColor = "#4caf50"; // Farbe für geschlossene Fenster o. Tür/en
      const VentWarnColor = "#ffc107"; // Farbe für Lüftungswarnung
      const ShowCaptionTbl = true; // Überschrift anzeigen?
      const ShowSummaryTbl = false; // Zusammenfassung anzeigen?
      const ShowDetailTbl = true; // Details anzeigen?
      const RoomSortMode = 2; //0= Raumliste unsortiert, 1= alpabetisch sortiert, 2= Benutzerdefinierte Sortierung über RoomPrio eintrag in den Datenpunkten
      
      //Logeinstellungen
      const MaxLogEntrys = 20; //Maximale Anzahl der zu speichernden Logeinträge
      const AutoAddTimestamp = true; //Soll den geloggten Nachrichten automatisch ein Zeitsempel zugeordnet werden?
      const LogTimeStampFormat = "TT.MM.JJJJ SS:mm:ss"; //Zeitformatierung für Log Zeitstempel
      const LogEntrySeparator = "<br>"; //Trennzeichen für Logeinträge
      
      //Ab hier nix mehr ändern!
      
      2:30:23.025	info	javascript.0 (2346) Start javascript script.js.FensterUeberwachung
      12:30:23.050	info	javascript.0 (2346) script.js.FensterUeberwachung: starting Fensterskript, Version 1.6.8
      12:30:23.053	info	javascript.0 (2346) script.js.FensterUeberwachung: Raum- 0 = Wohnzimmer hat Fenstersensor/en
      12:30:23.055	info	javascript.0 (2346) script.js.FensterUeberwachung: Raum- 1 = Schlafzimmer hat Fenstersensor/en
      12:30:23.057	info	javascript.0 (2346) script.js.FensterUeberwachung: Raum- 2 = Bad hat Fenstersensor/en
      12:30:23.058	info	javascript.0 (2346) script.js.FensterUeberwachung: Raum- 3 = Gästebad hat Fenstersensor/en
      12:30:23.059	info	javascript.0 (2346) script.js.FensterUeberwachung: Raum- 4 = Arbeitszimmer hat Fenstersensor/en
      12:30:23.061	info	javascript.0 (2346) script.js.FensterUeberwachung: Raum- 5 = Kinderzimmer 1 hat Fenstersensor/en
      12:30:23.066	info	javascript.0 (2346) script.js.FensterUeberwachung: registered 0 subscriptions and 0 schedules
      12:30:23.585	info	javascript.0 (2346) script.js.FensterUeberwachung: CreateStates fertig!
      12:30:23.587	info	javascript.0 (2346) script.js.FensterUeberwachung: x=0=Bad SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.588	info	javascript.0 (2346) script.js.FensterUeberwachung: x=1=Arbeitszimmer SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.589	info	javascript.0 (2346) script.js.FensterUeberwachung: x=2=Kinderzimmer 1 SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.589	info	javascript.0 (2346) script.js.FensterUeberwachung: x=3=Schlafzimmer SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.590	info	javascript.0 (2346) script.js.FensterUeberwachung: x=4=Schlafzimmer SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.591	info	javascript.0 (2346) script.js.FensterUeberwachung: x=5=Wohnzimmer SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.598	info	javascript.0 (2346) script.js.FensterUeberwachung: x=6=Wohnzimmer SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.599	info	javascript.0 (2346) script.js.FensterUeberwachung: x=7=Gästebad SendWindowWarnMsg=true SendDoorWarnMsg=true SendVentMsg=true SendWindowOpenCloseMsg=true SendDoorOpenCloseMsg=true
      12:30:23.600	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CheckForHmShit val=0 typof val=string x=0 Sensor[x]=cul.0.MORITZ.0572b8.isopen
      12:30:23.602	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching GetRoom x=0
      12:30:23.603	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching CheckWindow, SensorVal[0]=closed SensorOldVal= TempRoom=Wohnzimmer SensorType[x]=Window TempRoomIndex=5
      12:30:23.605	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching ClearWindowWarnTime - [x] = 5
      12:30:23.606	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching ClearDoorWarnTime - [x] = 5
      12:30:23.607	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Fenster geschlossen.
      12:30:23.617	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Fenster gesamt= 0
      12:30:23.618	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Türen geschlossen.
      12:30:23.619	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Türen gesamt= 0
      12:30:23.619	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CheckForHmShit val=0 typof val=string x=1 Sensor[x]=cul.0.MORITZ.0f0694.isopen
      12:30:23.620	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching GetRoom x=1
      12:30:23.620	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching CheckWindow, SensorVal[1]=closed SensorOldVal= TempRoom=Schlafzimmer SensorType[x]=Window TempRoomIndex=3
      12:30:23.621	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching ClearWindowWarnTime - [x] = 3
      12:30:23.623	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching ClearDoorWarnTime - [x] = 3
      12:30:23.624	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Fenster geschlossen.
      12:30:23.625	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Fenster gesamt= 0
      12:30:23.626	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Türen geschlossen.
      12:30:23.627	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Türen gesamt= 0
      12:30:23.627	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CheckForHmShit val=0 typof val=string x=2 Sensor[x]=cul.0.MORITZ.0f0739.isopen
      12:30:23.628	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching GetRoom x=2
      12:30:23.629	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching CheckWindow, SensorVal[2]=closed SensorOldVal= TempRoom=Bad SensorType[x]=Window TempRoomIndex=0
      12:30:23.632	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching ClearWindowWarnTime - [x] = 0
      12:30:23.633	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching ClearDoorWarnTime - [x] = 0
      12:30:23.634	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Fenster geschlossen.
      12:30:23.635	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Fenster gesamt= 0
      12:30:23.637	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Türen geschlossen.
      12:30:23.637	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Türen gesamt= 0
      12:30:23.638	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CheckForHmShit val=1 typof val=string x=3 Sensor[x]=cul.0.MORITZ.0feb8b.isopen
      12:30:23.638	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching GetRoom x=3
      12:30:23.639	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching CheckWindow, SensorVal[3]=tilted SensorOldVal= TempRoom=Gästebad SensorType[x]=Window TempRoomIndex=7
      12:30:23.640	info	javascript.0 (2346) script.js.FensterUeberwachung: RoomOpenWindowCount für Gästebad=NaN
      12:30:23.641	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching tilted+ in checkWindow
      12:30:23.642	info	javascript.0 (2346) script.js.FensterUeberwachung: TiltedWindowCount=1 RoomTiltedWindowCount=NaN TempRoomIndex=7
      12:30:23.643	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Fenster gesamt= 1
      12:30:23.644	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Türen geschlossen.
      12:30:23.645	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Türen gesamt= 0
      12:30:23.645	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CheckForHmShit val=1 typof val=string x=4 Sensor[x]=cul.0.MORITZ.1587d4.isopen
      12:30:23.646	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching GetRoom x=4
      12:30:23.646	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching CheckWindow, SensorVal[4]=tilted SensorOldVal= TempRoom=Arbeitszimmer SensorType[x]=Window TempRoomIndex=1
      12:30:23.647	info	javascript.0 (2346) script.js.FensterUeberwachung: RoomOpenWindowCount für Arbeitszimmer=1
      12:30:23.648	info	javascript.0 (2346) script.js.FensterUeberwachung: SendWindowWarnMsg=true TempRoomIndex=1
      12:30:23.648	info	javascript.0 (2346) script.js.FensterUeberwachung: Setting Interval to Room:Arbeitszimmer
      12:30:23.655	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching tilted+ in checkWindow
      12:30:23.687	info	javascript.0 (2346) script.js.FensterUeberwachung: TiltedWindowCount=2 RoomTiltedWindowCount=1 TempRoomIndex=1
      12:30:23.689	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Fenster gesamt= 2
      12:30:23.695	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Türen geschlossen.
      12:30:23.696	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Türen gesamt= 0
      12:30:23.698	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CheckForHmShit val=1 typof val=string x=5 Sensor[x]=cul.0.MORITZ.1588a9.isopen
      12:30:23.699	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching GetRoom x=5
      12:30:23.703	info	javascript.0 (2346) script.js.FensterUeberwachung: reaching CheckWindow, SensorVal[5]=tilted SensorOldVal= TempRoom=Kinderzimmer 1 SensorType[x]=Window TempRoomIndex=2
      12:30:23.704	info	javascript.0 (2346) script.js.FensterUeberwachung: RoomOpenWindowCount für Kinderzimmer 1=1
      12:30:23.705	info	javascript.0 (2346) script.js.FensterUeberwachung: SendWindowWarnMsg=true TempRoomIndex=2
      12:30:23.706	info	javascript.0 (2346) script.js.FensterUeberwachung: Setting Interval to Room:Kinderzimmer 1
      12:30:23.720	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching tilted+ in checkWindow
      12:30:23.721	info	javascript.0 (2346) script.js.FensterUeberwachung: TiltedWindowCount=3 RoomTiltedWindowCount=1 TempRoomIndex=2
      12:30:23.723	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Fenster gesamt= 3
      12:30:23.724	info	javascript.0 (2346) script.js.FensterUeberwachung: Alle Türen geschlossen.
      12:30:23.724	info	javascript.0 (2346) script.js.FensterUeberwachung: Offene Türen gesamt= 0
      12:30:23.736	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=0 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1622713551991
      12:30:23.737	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 0 = Bad is open or disabled, no vent warning set
      12:30:23.739	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.740	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=1 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1622713551997
      12:30:23.742	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 1 = Arbeitszimmer is open or disabled, no vent warning set
      12:30:23.743	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.745	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=2 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1622713552001
      12:30:23.746	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 2 = Kinderzimmer 1 is open or disabled, no vent warning set
      12:30:23.746	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.747	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=3 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1613115959066
      12:30:23.748	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 3 = Schlafzimmer is open or disabled, no vent warning set
      12:30:23.748	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.749	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=4 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=undefined
      12:30:23.749	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 4 = Schlafzimmer is open or disabled, no vent warning set
      12:30:23.750	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.752	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=5 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1613037514757
      12:30:23.753	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 5 = Wohnzimmer is open or disabled, no vent warning set
      12:30:23.753	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.754	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=6 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=undefined
      12:30:23.754	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 6 = Wohnzimmer is open or disabled, no vent warning set
      12:30:23.755	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.756	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching VentCheck x=7 Init=true VentwarnTime[x]=0 RoomStateTimeStamp[x]=1613302603435
      12:30:23.756	info	javascript.0 (2346) script.js.FensterUeberwachung: Room 7 = Gästebad is open or disabled, no vent warning set
      12:30:23.757	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithVentWarnings
      12:30:23.761	info	javascript.0 (2346) script.js.FensterUeberwachung: Reaching CreateRoomsWithOpenDoorsList
      12:30:23.766	error	javascript.0 (2346) at CreateRoomsWithOpenDoorsList (script.js.FensterUeberwachung:826:45)
      12:30:23.767	error	javascript.0 (2346) at main (script.js.FensterUeberwachung:331:5)
      12:30:23.767	error	javascript.0 (2346) at InitialSort (script.js.FensterUeberwachung:297:5)
      12:30:23.768	error	javascript.0 (2346) at Object.<anonymous> (script.js.FensterUeberwachung:260:13)
      

      1.JPG

      2.JPG

      3.JPG

      4.JPG

      P 1 Reply Last reply Reply Quote 0
      • P
        Pittini Developer @luft-post last edited by

        @luft-post Zwei Sachen fallen mir auf. Zum einen scheint es ein Problem mit dem Gästebad zu geben, nimm das mal Testweise raus. Zum anderen hast Du die benutzerdefinierte Sortierung aktiviert, bitte überprüf nochmal ob da alles passt, keine Lücken, keine Doppeltvergaben.

        L D3ltoroxp 2 Replies Last reply Reply Quote 0
        • L
          luft-post @Pittini last edited by

          @pittini hi, und Danke für deine Hilfe. durch den homatic Adapter wurden unter Aufzählungen meine Raume geändert und durcheinander gewürfelt, dein Skript läuft soweit erstmal wieder muss nur noch mal wieder Ordnung in die Raume bringen.

          Vielen Dank

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

            @pittini Hallo, eine Frage. So ist momentan die Ausgabe.

            3fdcf347-a9be-485d-a02b-6f379a8f1d36-grafik.png

            Könnte ich das so abändern das nur steht Bad 1, Selina 1, usw ? offene Fenster hätte ich gern raus. Noch besser wäre nur der Name des Zimmers, Bad, Selina, Wohnzimmer. Auch wenn ich dort 3 oder mehr Fenster habe, ich weiß das im Wohnzimmer min 1 offen ist, das würde reichen. Könnte ich das besser in meine VIS integrieren.

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

              @d3ltoroxp Werd ich nicht integrieren weil dadurch die Erkennung Tür/Fenster wegfällt. Aber Du kannst gern im Skript nach dem Text suchen und durch z.B. ein Leerzeichen ersetzen. Mußt halt nach jedem Update erneuern.

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

                @pittini Mir fällt hier grad was in der Log auf.

                Read-only state "0_userdata.0.Tuer_Fenster_Ueberwachung.OverviewTable" has been written without ack-flag with value "<table style='width:100%; border-collapse: collapse; border: 0px solid black;'><tr><td style='height: 20px; text-align:center; padding-top: 5px; padding-bottom: 5px; font-size:14px; font-weight: normal;'>Esszimmer 1 offene Tür,</td></tr></table><table style='width:100%; border-collapse: collapse;'><thead><tr><th width='40px' style='text-align:left;'</th><th width='40px' style='text-align:left;'</th><th width='20px' style='text-align:center;'></th><th style='text-align:left;'></th></tr></thead><tbody><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Bad<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 1 Std. 53 Min.<br></div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Büro<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 3 Std. 59 Min.<br></div></td></tr><tr><td style='border: 1px solid black; background-color:#4caf50;'><img style='margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; background-color:darkorange;'><img style='margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_door_open.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center;background-color:darkorange;'>0<br>1</td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:darkorange;'>Esszimmer<br><div style='font-size:12px; font-weight:bold;'>Fenster geschlossen: 9 Std. 55 Min.<br>Tür geöffnet: 9 Min.</td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style='margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_door.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0</td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Haus<br><div style='font-size:12px; font-weight:normal;'>Tür geschlossen: 29 Tage 22 Std. 1 Min.</div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style='margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_door.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0</td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Hof<br><div style='font-size:12px; font-weight:normal;'>Tür geschlossen: 9 Std. 42 Min.</div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Küche<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 9 Std. 53 Min.<br></div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Phillip<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 9 Std. 52 Min.<br></div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Schlafzimmer<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 4 Std. 9 Min.<br></div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Selina<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 9 Std. 52 Min.<br></div></td></tr><tr><td colspan='2' style='border: 1px solid black; background-color:#4caf50;'><img style=' margin: auto; display: block; filter: invert(1); height: 40px;' src='/icons-mfd-svg/fts_window_1w.svg'></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; font-size:16px; font-weight: bold; text-align:center; background-color:#4caf50;'>0<br></td><td style='border: 1px solid black; padding-left: 10px; padding-right: 10px; padding-top: 4px; font-size: 16px; font-weight: bold; background-color:#4caf50;'>Wohnzimmer<br><div style='font-size:12px; font-weight:normal;'>Fenster geschlossen: 9 Std. 55 Min.<br></div></td></tr></tbody></table>"
                

                Sagt dir das was ? Was das sein könnte, wie ich das beheben könnte ? Am Text hab ich noch nichts geändert.

                Das kommt bei allen Scripten.

                Read-only state "0_userdata.0.Batterie_Ueberwachung.OverviewTable" has been written without ack-flag with value "<table style='width:100%; borde
                
                P 1 Reply Last reply Reply Quote 0
                • P
                  Pittini Developer @D3ltoroxp last edited by Pittini

                  @d3ltoroxp Hast Du da jeweils die aktuellsten Versionen laufen? Weil eigentlich ist das gefixt, kann aber natürlich auch mal was durchgerutscht sein, ich schaus mir mal an.

                  Edit: Grad mal drübergeguggt, in beiden Skripten wird das ack gesetzt bei der Overview Table, also sag ich mal Du hast nicht die aktuellsten Versionen installiert. Wenn doch, bitte bescheidsagen dann isses nen Mysterium dem auf den Grund gegangen werden muß.

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

                    @pittini Ich habe die 1.6.7. Indem Fall hänge ich hinterher, aktuell ist 1.6.12 richtig.

                    So wenn ich das Script tausche, muss ich eig nur oben die Einstellungen durchgehen und übertragen fertig.

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

                      @d3ltoroxp Du mußt aufs changelog guggen, wenns nur fixxes gab seit Deiner letzten Version langts ohne Einstellungen. Sind Features dzugekommen, mußt Du prüfen ob sich die Einstellungen vergrößert haben (Zeilenzahl).

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

                        @pittini Hm, ich lade doch dein Script runter und importiere es ? Oder soll ich alles nach Einstellungen und ab hier nicht mehr ändern und das kopieren und bei mir ersetzten ?

                        P 1 Reply Last reply Reply Quote 0
                        • Basti97
                          Basti97 Most Active last edited by

                          Mit was prüft ihr die Fenster ob sie offen oder gekippt sind. Da ich nicht weiß was optimal ist entweder Reedkontakt, oder mit einen Gyrosensor. Würde es damit funktionieren?

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

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

                            Mit was prüft ihr die Fenster ob sie offen oder gekippt sind. Da ich nicht weiß was optimal ist entweder Reedkontakt, oder mit einen Gyrosensor. Würde es damit funktionieren?

                            Für mich is gekippt auch offen, also langt mir ein Reedkontakt (ich verwende da die von Xiaomi weil gut und günstig). Willst Du wirklich unterscheiden gibt es HM Drehgriffkontakte, die sagens Dir anhand der Griffposition genau ob offen oder gekippt. Gyrosensor mit Extraskript würde vermutl. auch gehen, is aber iwie von hinten durch die Brust ins Auge.

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

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

                              @pittini Hm, ich lade doch dein Script runter und importiere es ? Oder soll ich alles nach Einstellungen und ab hier nicht mehr ändern und das kopieren und bei mir ersetzten ?

                              Die Frage hab ich Dir doch schon eins weiter oben beantwortet. Und das "importieren" beschränkt sich ja auf reines kopieren, also machs nich komplizierter als es ist, das ganze dauert keine 30 Sek.

                              1 Reply Last reply Reply Quote 0
                              • Basti97
                                Basti97 Most Active @Pittini last edited by

                                @pittini Naja das würde auf jeden Fall reichen über ein Reedkontakt. Es macht am Ende kein großer Unterschied ob sie nun gekippt oder geöffnet sind. 🙂
                                Bezüglich mit den Gyrosensor stellt sich mir so und-so die Frage ob er den Zustand (Koordinaten) von den Sensor richtig gespeichert werden. Und ob man es 100% am Ende sagen kann ob nun geöffnet oder gekippt.

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

                                  @Pittini habe gestern Dein Script gefunden und erstmal fettes Lob und Danke 🙂
                                  Eine kleine Sache, ist es möglich bei den Push Nachrichten wenn ein Fenster geöffnet/geschlossen wird den genauen Namen Namen vom Sensor zu nennen anstatrt nur den Raum? Habe mehrere Räume mit mehreren Fenstern und da wäre es cool wenn ich dann den Namen vom Sensor habe

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

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

                                    @Pittini habe gestern Dein Script gefunden und erstmal fettes Lob und Danke 🙂
                                    Eine kleine Sache, ist es möglich bei den Push Nachrichten wenn ein Fenster geöffnet/geschlossen wird den genauen Namen Namen vom Sensor zu nennen anstatrt nur den Raum? Habe mehrere Räume mit mehreren Fenstern und da wäre es cool wenn ich dann den Namen vom Sensor habe

                                    Möglich ist fast alles, die Änderung der Meldung würde aber jede Ausgabe beeinflußen, nicht nur PushOver. Kannst ja (weis jetzt nicht ob Du etwas Prog Erfahrung hast) mal selber ausprobieren. Zugriff auf den Sensornamen kriegste mit Sensor[x], das muß dann in jede Meldung eingebaut werden, entweder als Zusatzangabe oder es ersetzt den Raum, je wie Dus willst. Zu ändern sind die Zeilen: 988, 993, 1006, 1027, 1032, 1044, 1060, 1073, dort jeweils im Aufruf von Meldung(...). Bau ich das allgemein ein, müßte dazu zusätzlich überall ne Abfrage rein ob gewünscht oder nicht, sicher machbar, aber nur den Aufwand Wert wenn das mehr User möchten.

                                    M 1 Reply Last reply Reply Quote 1
                                    • M
                                      Malz1902 @Pittini last edited by Malz1902

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

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

                                      @Pittini habe gestern Dein Script gefunden und erstmal fettes Lob und Danke 🙂
                                      Eine kleine Sache, ist es möglich bei den Push Nachrichten wenn ein Fenster geöffnet/geschlossen wird den genauen Namen Namen vom Sensor zu nennen anstatrt nur den Raum? Habe mehrere Räume mit mehreren Fenstern und da wäre es cool wenn ich dann den Namen vom Sensor habe

                                      Möglich ist fast alles, die Änderung der Meldung würde aber jede Ausgabe beeinflußen, nicht nur PushOver. Kannst ja (weis jetzt nicht ob Du etwas Prog Erfahrung hast) mal selber ausprobieren. Zugriff auf den Sensornamen kriegste mit Sensor[x], das muß dann in jede Meldung eingebaut werden, entweder als Zusatzangabe oder es ersetzt den Raum, je wie Dus willst. Zu ändern sind die Zeilen: 988, 993, 1006, 1027, 1032, 1044, 1060, 1073, dort jeweils im Aufruf von Meldung(...).

                                      Hi, danke werd ich gleich mal versuchen.
                                      Sehe aber gerade das ich nen paar Errors bekommen:
                                      77660529-5044-4747-a8c2-ee68f81983ef-grafik.png

                                      Skriptversion = "1.6.13" //vom 29.06.2021

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

                                        @malz1902 Im Einstellbereich Say auf false stellen wies auch gefordert wird, das is ne Func die nur ich hab.

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

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

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

                                          @Pittini habe gestern Dein Script gefunden und erstmal fettes Lob und Danke 🙂
                                          Eine kleine Sache, ist es möglich bei den Push Nachrichten wenn ein Fenster geöffnet/geschlossen wird den genauen Namen Namen vom Sensor zu nennen anstatrt nur den Raum? Habe mehrere Räume mit mehreren Fenstern und da wäre es cool wenn ich dann den Namen vom Sensor habe

                                          Möglich ist fast alles, die Änderung der Meldung würde aber jede Ausgabe beeinflußen, nicht nur PushOver. Kannst ja (weis jetzt nicht ob Du etwas Prog Erfahrung hast) mal selber ausprobieren. Zugriff auf den Sensornamen kriegste mit Sensor[x], das muß dann in jede Meldung eingebaut werden, entweder als Zusatzangabe oder es ersetzt den Raum, je wie Dus willst. Zu ändern sind die Zeilen: 988, 993, 1006, 1027, 1032, 1044, 1060, 1073, dort jeweils im Aufruf von Meldung(...). Bau ich das allgemein ein, müßte dazu zusätzlich überall ne Abfrage rein ob gewünscht oder nicht, sicher machbar, aber nur den Aufwand Wert wenn das mehr User möchten.

                                          die ID vom Gerät zurück. In meinem Fall Zigbee Geräte steht dann da zigbee.0.00158d00044e86fb.opened

                                          Hier musste ich in Zeile 151 noch folgendes machen
                                          SensorName[SensorCount] = getObject(Sensor[SensorCount]).common.name;
                                          Dann passt es

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

                                            @malz1902 SensorName gibts doch noch gar nicht als Var bzw. Array, das haste doch auch erst noch deklarieren müssen? Kann man so machen, ich hätte das aber vermutlich direkt in den Meldung(...) Zeilen mit reingebaut, aber egal, hauptsache es läuft jetzt bei Dir wie gewünscht, bei Updates musstes halt wieder machen, dran denken pls.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            414
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

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