NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
@bluelinux Zeile 42 und 43 wie angegeben auf false stellen.
-
@pittini es war nur zeile 43 auf true aber jetzt funzt es.. vielen dank...!!!!!
-
@Pittini
Hi,ich bräuchte mal wieder Deine Hilfe. Das Skript läuft auf einmal nicht mehr. Inzwischen habe ich auf die neusten Admin und nodejs Versionen upgedatet und dann irgendwann festgestellt, dass das Skript keine Meldungen mehr generiert (habe eh fast alles ausgeschaltet weshalb das nicht auffiel). Also habe zunächst das Skript angehalten und neu gestartet, dann angehalten und die JS Instanz+Skript neu gestartet und anschließend ins Log gesehen und folgenden Fehler entdeckt:
javascript.0 2022-01-03 17:49:17.840 error at processTimers (internal/timers.js:500:7) javascript.0 2022-01-03 17:49:17.840 error at listOnTimeout (internal/timers.js:557:17) javascript.0 2022-01-03 17:49:17.839 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2119:34) javascript.0 2022-01-03 17:49:17.839 error at Object.<anonymous> (script.js.Fenster_und_Türen.Fenster_zählen_1_6_14:1387:25) javascript.0 2022-01-03 17:49:17.838 error at CheckWindow (script.js.Fenster_und_Türen.Fenster_zählen_1_6_14:1014:38) javascript.0 2022-01-03 17:49:17.836 error Error in callback: ReferenceError: WriteEventLog is not defined
Der Fehler tritt auch in Zeile 1086 auf (ist identisch mit 1014) hatte ich ein anderes Mal gesehen...
Dir fällt doch sicher was dazu ein?
-
@joergh Hast du das aktuelle Script geladen ? Ich hatte so was ähnliches, schau mal einen Post über dir in Zeile 42 und 43, da ist die Ausgabe für Say auf true, da ich das nicht nutze, gabs wohl den Fehler denke ich. Ich habs auch auf false gesetzt und der Fehler ist weg.
//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.
Vllt ist es bei dir das selbige.
-
@d3ltoroxp
Danke! Das war es. Kann mich nicht erinnern das auf true gesetzt zu haben, aber das Skript hatte ich tatsächlich auch mal aktualisiert. -
@joergh Ich denke das ist so im Script, da Pittini das wahrscheinlich so nutzt und bei einstellen es evtl. vergessen hat raus zu nehmen, aber das war es auch bei mir, danach gings. Super !!!
-
@d3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
da Pittini das wahrscheinlich so nutzt und bei einstellen es evtl. vergessen hat
lesen hilft oft, da steht Autorenfunktion, muß deaktiviert werden.
-
@fastfoot sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@d3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
da Pittini das wahrscheinlich so nutzt und bei einstellen es evtl. vergessen hat
lesen hilft oft, da steht Autorenfunktion, muß deaktiviert werden.
Solche Posts hingegen helfen nicht.
-
@joergh sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Solche Posts hingegen helfen nicht.
musste er auch nicht, du hattest deine Hilfe ja schon. Der Post war für die Zukunft und offensichtlich auch notwendig
-
Hi,
ich muss mal kurz fragen. Wollte das Script jetzt mal einsetzen aber meine HM Devices (Fensterkontakte) haben, aus der CCU übernommen, Zimmer und Funktion auf allen Einträgen /Kanälen:
Siehe Beispiel:
Muss ich das jetzt für jedes Device ändern oder sollte es auch so funktionieren?
Mein Log wenn ich das script starte sieht übrigens so aus:
2022-01-06 16:30:16.819 - info: javascript.0 (5053) Start javascript script.js.common.Home.Fensterauswertung 2022-01-06 16:30:16.822 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: starting Fensterskript, Version 1.6.15 2022-01-06 16:30:16.822 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: registered 0 subscriptions and 0 schedules 2022-01-06 16:30:16.828 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: CreateStates fertig! 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) getState "javascript.0.FensterUeberwachung..SendVentMsg" not found (3) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) at init (script.js.common.Home.Fensterauswertung:325:26) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:349:5) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) at processImmediate (internal/timers.js:466:21) 2022-01-06 16:30:16.829 - warn: javascript.0 (5053) getState "javascript.0.FensterUeberwachung..SendDoorOpenCloseMsg" not found (3) 2022-01-06 16:30:16.833 - warn: javascript.0 (5053) at init (script.js.common.Home.Fensterauswertung:326:35) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:349:5) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at processImmediate (internal/timers.js:466:21) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) getState "javascript.0.FensterUeberwachung..SendWindowOpenCloseMsg" not found (3) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at init (script.js.common.Home.Fensterauswertung:327:37) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:349:5) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at processImmediate (internal/timers.js:466:21) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) getState "javascript.0.FensterUeberwachung..SendWindowWarnMsg" not found (3) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at init (script.js.common.Home.Fensterauswertung:328:32) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:349:5) 2022-01-06 16:30:16.834 - warn: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at processImmediate (internal/timers.js:466:21) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) getState "javascript.0.FensterUeberwachung..SendDoorWarnMsg" not found (3) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at init (script.js.common.Home.Fensterauswertung:329:30) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:349:5) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at processImmediate (internal/timers.js:466:21) 2022-01-06 16:30:16.835 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) getState "javascript.0.FensterUeberwachung..VentWarnTime" not found (3) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at init (script.js.common.Home.Fensterauswertung:341:27) 2022-01-06 16:30:16.835 - warn: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:349:5) 2022-01-06 16:30:16.836 - warn: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.836 - warn: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.836 - warn: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.836 - warn: javascript.0 (5053) at processImmediate (internal/timers.js:466:21) 2022-01-06 16:30:16.836 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined 2022-01-06 16:30:16.836 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: Room 0 = is open or disabled, no vent warning set 2022-01-06 16:30:16.836 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithVentWarnings 2022-01-06 16:30:16.836 - info: javascript.0 (5053) script.js.common.Home.Fensterauswertung: Reaching CreateRoomsWithOpenDoorsList 2022-01-06 16:30:16.836 - error: javascript.0 (5053) Error in callback: TypeError: Cannot set property '1' of undefined 2022-01-06 16:30:16.836 - error: javascript.0 (5053) at CreateRoomsWithOpenDoorsList (script.js.common.Home.Fensterauswertung:866:45) 2022-01-06 16:30:16.836 - error: javascript.0 (5053) at main (script.js.common.Home.Fensterauswertung:351:5) 2022-01-06 16:30:16.836 - error: javascript.0 (5053) at InitialSort (script.js.common.Home.Fensterauswertung:314:5) 2022-01-06 16:30:16.836 - error: javascript.0 (5053) at Object. (script.js.common.Home.Fensterauswertung:278:13) 2022-01-06 16:30:16.837 - error: javascript.0 (5053) at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1986:38) 2022-01-06 16:30:16.837 - error: javascript.0 (5053) at processImmediate (internal/timers.js:466:21)
Ist das "normal" ?
EDIT: Das script mal unbeobachtet aktiviert gelassen.... sorgt bei mir leider für einen komplett absturz von ioBroker:
Habe das File dann nach ca. 9000 Zeilen gekürzt.
Jemand ne Idee was da bei mir falsch läuft?
-
Du hast jeden Datenpunkt der Funktion Fenster zugeordnet. Es darf nur der der STATE die Funktion Fenster haben.
Ich habe bei den HM Geräten die Synchronisierung von Gewerken, Räumen und Favoriten deaktiviert, es macht mehr Sinn die in iobroker zuzuordnen.
-
@dominik-f danke für deine Antwort. Denkst du alle Probleme kommen davon?
-
Das kann man so nicht sagen, aber als aller erstes muss das was Pittini vorgibt eingehalten werden und richtig eingestellt werden. Das sind 99% der Fehler hier im Thread. Wenn das alles passt, dann muss man genauer schauen. Ich denke aber, wenn alles richtig eingestellt ist, wird es bei dir funktionieren.
Das Problem, wenn du die Synchronisation nicht rausnimmst ist, dass wenn du den Rega adapter neu startest oder iobroker an sich, er deine Konfiguration bei iobroker wieder ändert und alles durcheinander haut.
-
Dazu achte bitte darauf, dass du folgendes auf false gesetzt hast :
//Other const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Developerfunktion, muß deaktiviert sein. const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Developerfunktion, muß deaktiviert sein.
Das sind auch sehr beliebte Fehler. Wenn nach dem richtigen Einstellen der Funktion es immer noch Fehler gibt, zeig mal die ersten 47 Zeilen des Skriptes, da könnte dann noch was falsch eingestellt sein. Steht aber auch alles nochmal detailliert in der Anleitung.
-
@dominik-f ok.
Ich gebe mich morgen nochmal dran.
Einstellungen hatte ich schon paarmal kontrolliert aber irgendwann sieht man die einfachsten Fehler nicht mehr.
-
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":
In der Summary wird das offene Fenster nicht angezeigt:
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
Allerdings ändert sich auch der DP im Arbeitszimmer nicht mehr zurück auf false: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:
Tueren/Haustür:
Iobroker hat alle Adapter aus dem latest installiert.
Wo liegt denn jetzt noch mein Fehler/Problem?
Danke und Gruß
-
@wendy2702 Da haste genau den Fehler produziert, vor dem Dich @Dominik-F 3 posts weiter oben noch gewarnt hat. Zeile 43 auf false setzen.
-
@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
-
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.
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.
-
@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?