NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
@pittini
So, habe jetzt alle Daten korrigiert und es scheint auch etwas Bewegung zu geben, allerdings wirft er mir folgende Fehlermeldungen aus:Im Skript der neusten Version färbt er auch was ab Zeile 265 rot ein. Weiss nicht, ob das eine Bedeutung hat, aber immerhin versucht er ja hier ins Log zu schreiben und da die Fehlermeldungen wohl auch mit dem Log zu tun haben, poste ich das mal
//Alle States anlegen, Main aufrufen wenn fertig let numStates = States.length; States.forEach(function (state) { createState(state.id, state.initial, state.forceCreation, state.common, function () { numStates--; if (numStates === 0) { if (logging) log("CreateStates fertig!"); InitialSort(); }; }); });
-
@joergh Nein, das im Skript rot gefärbte hat nix damit zu tun, bei manchen Sachen kommt der Syntaxcheck ausm Tritt, kannste ignorieren. Der Fehler liegt bei Dir in Zeile 42 würd ich sagen, das muß auf false.
-
@pittini Ja, danke! Das war's. Es geht!!
-
Moin.moin, zuerst einmal vielen Dank für das interessante Script.
Leider bin ich verzweifeln! Habe nun die 514 Beiträge hier im Thread durchgelesen, doch so richtig hilft es mir nicht weiter.
Alle Fenster und Tueren sind gemäß deiner Anleitung zugeorndet und beschrieben.Im Fehlerlog des Scripts werde ich aus den Fehlerzeilen nicht schlau:
11:14:47.348 info javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN 11:14:47.464 info javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN 11:14:47.499 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11 11:14:47.501 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules 11:14:47.517 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26) 11:14:47.517 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 11:14:47.518 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.518 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 11:14:47.520 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35) 11:14:47.521 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 11:14:47.521 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.521 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 11:14:47.523 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37) 11:14:47.523 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 11:14:47.523 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.524 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 11:14:47.525 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32) 11:14:47.525 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 11:14:47.526 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.526 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 11:14:47.527 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30) 11:14:47.528 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 11:14:47.528 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.528 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 11:14:47.529 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27) 11:14:47.530 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 11:14:47.530 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.530 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 11:14:47.536 error javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45) 11:14:47.537 error javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5) 11:14:47.537 error javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 11:14:47.537 error javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
Die Warnungen sind erst enmal sekundär, doch die Errormeldungen bekomme ich nicht gedeutet.
Auch wird in den Objekten nicht wirklich "viel" generiert:
Wo muss / soll ich ansetzen?
Danke bereit im Voraus! -
@ub-privat Zeig mal nen Screenshot vom Objektbaum wo ich die Zuordnungen sehen kann. Ausserdem Zeile 1-44 posten damit ich Deine Einstellungen seh. Und ein Log bei eingeschaltetem logging (Zeile 9) wär auch hilfreich.
-
Hier der Objektbaum:
Das sind ZigBee (Xiaomi) - Sensoren:
Hier habe ich einen Homematic-Sensor:
Hier noch ein paar Homematic-IP-Sensoren:
Hier die Zeilen 1-44 aus dem Script:
const Skriptversion = "1.6.11" //vom 18.03.2021 - https://github.com/Pittini/iobroker-Fensterauswertung - https://forum.iobroker.net/topic/31674/vorlage-generisches-fensteroffenskript-vis //Script um offene Fenster/Türen pro Raum und insgesamt zu zählen. //Möglichkeit eine Ansage nach x Minuten einmalig oder zyklisch bis Fensterschließung anzugeben //Dynamische erzeugung einer HTML Übersichtstabelle //WICHTIG!!! //Vorraussetzungen: Den Geräten müssen Räume zugewiesen sein, sowie die Funktion "Fenster" bzw "Tuer" für jeden entsprechenden Datenpunkt. //Grundeinstellungen const logging = false; //Erweiterte Logs ausgeben? const praefix = "javascript.0.FensterUeberwachung."; //Grundpfad für Script DPs - Muß innerhalb javascript.x sein. const PresenceDp = "" //Pfad zum Anwesenheitsdatenpunkt, leer lassen wenn nicht vorhanden const WhichWindowFunctionToUse = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel! const WhichDoorFunctionToUse = "Tuer"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel! const WindowIgnoreTime = 10000; // 10000 ms = 10 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird const DoorIgnoreTime = 1000; // 1000 ms = 1 Sekunden - Zeit in ms für die kurzzeitiges öffnen/schliessen ignoriert wird //Nachrichteneinstellungen const TimeToWindowMsg = 900000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Fenster-offenwarnung/en const TimeToDoorMsg = 300000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Tür-offenwarnung/en const MaxMessages = 1; //Maximale Anzahl der Nachrichten pro Raum //Telegram const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden? //Pushover const UsePushover = false; // Sollen Nachrichten via PushOver gesendet werden? const PushoverInstance = "pushover.0"; //Pushoverinstanz welche genutzt werden soll angeben const PushoverDevice = "All"; //Welches Gerät soll die Nachricht bekommen const PushOverTitle = "Fensterüberwachung"; //Alexa const UseAlexa = false; // Sollen Nachrichten via Alexa ausgegeben werden? const AlexaInstance = "alexa2.0"; const AlexaId = ""; // Die Alexa Seriennummer. const AlexaVolume = "50"; // Lautstärke der Nachrichten. Wert von 1 bis 100 //Other const UseMail = false; //Nachricht via Mail versenden? const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden. const UseEventLog = false; // Sollen Nachrichten ins Eventlog geschreiben werden? Autorenfunktion, muß deaktiviert werden. const NoMsgAtPresence = false; //Sollen Nachrichten bei Anwesenheit unterdrückt werden?
Hier das Logging = true:
15:48:47.676 info javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN 15:48:47.790 info javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN 15:48:47.837 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11 15:48:47.840 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules 15:48:47.866 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: CreateStates fertig! 15:48:47.875 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26) 15:48:47.875 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 15:48:47.875 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.876 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 15:48:47.879 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35) 15:48:47.880 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 15:48:47.880 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.881 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 15:48:47.886 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37) 15:48:47.886 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 15:48:47.887 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.887 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 15:48:47.891 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32) 15:48:47.892 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 15:48:47.892 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.892 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 15:48:47.895 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30) 15:48:47.896 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 15:48:47.896 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.896 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 15:48:47.897 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null 15:48:47.899 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27) 15:48:47.900 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 15:48:47.900 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.900 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 15:48:47.902 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined 15:48:47.902 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Room 0 = is open or disabled, no vent warning set 15:48:47.903 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithVentWarnings 15:48:47.907 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithOpenDoorsList 15:48:47.911 error javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45) 15:48:47.912 error javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5) 15:48:47.913 error javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 15:48:47.913 error javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
Ich hoffe, du wirst daraus "schlau"...
-
@ub-privat Lies mal in der Anleitung was unter dem dicken fetten WICHTIG! steht. Und schau Dir den Screenshot dazu an und dann vergleichs mit Deinen Screenshots. Stichwort Räume. Wozu schreib ich eigentlich ne Anleitung?
-
Es sind doch Räume angelegt! EG_Wohnen, EG_Kochen; EG_Werkstatt.... OG_Bad, OG_Schlafen
Halt genau so, wie ich es der Anleitung entnehmen konnte und wie es die Scrennshots zeigen!
Es wurde nochmals intensiv geschaut, das nicht der gesamte Channel benant wurde.
Verstehe nicht, worauf du hinaus willst! Ja ich habe die Anleitung gelesen, dass ist das wichtigste, bevor ich mich mit dem Thema auseinandersetze...
Auch das Synchronisieren zwischen HM und ioBroker ist deaktiviert.Mir ist schon bewusst, dass du als Entwickler von vermeintlich "dummen" Fragen zu hauf bekommst, doch mehr als Lesen, Fragen und Lernen kann man nicht!?
-
Pittini meint glaube ich folgenden Satz:
Den Geräten müssen Räume (für den gesamten Channel) zugewiesen sein.
Du hast wenn ich das richtig sehe einem Datenpunkt einen Raum zugewiesen, nicht dem gesamten Channel. -
Stimmt, jetzt habe ich es gecheckt! Werde nochmals genau überarbeiten! DANKE!
-
@ub-privat sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
doch mehr als Lesen, Fragen und Lernen kann man nicht!?
Sorry, zum lesen gehört auch das gelesene zu verstehen und umzusetzen. Ich mach extra ausführliche und bebilderte Anleitungen...
Da steht doch ganz klar, dass den Geräten für DEN GESAMTEN CHANNEL Räume zugewiesen sein müssen. Du hast aber nur jeweils einem Datenpunkt nen Raum zugewiesen. -
Ihr habt recht, dass habe ich nicht korrekt umgesetzt.
Hier die Überarbeitung:
Es ändert jedoch nichts am Zustand.
19:05:33.694 info javascript.0 (4473) Stop script script.js.common.FENSTER_TUEREN 19:05:33.698 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: reaching ClearWindowWarnTime - [x] = 0 19:05:36.122 info javascript.0 (4473) Start javascript script.js.common.FENSTER_TUEREN 19:05:36.151 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: starting Fensterskript, Version 1.6.11 19:05:36.154 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: registered 0 subscriptions and 0 schedules 19:05:36.211 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: CreateStates fertig! 19:05:36.214 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:317:26) 19:05:36.214 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 19:05:36.215 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.215 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 19:05:36.217 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:318:35) 19:05:36.218 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 19:05:36.218 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.218 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 19:05:36.221 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:319:37) 19:05:36.221 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 19:05:36.221 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.222 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 19:05:36.224 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:320:32) 19:05:36.224 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 19:05:36.225 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.225 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 19:05:36.227 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:321:30) 19:05:36.228 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 19:05:36.228 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.228 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 19:05:36.230 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: x=0= SendWindowWarnMsg=null SendDoorWarnMsg=null SendVentMsg=null SendWindowOpenCloseMsg=null SendDoorOpenCloseMsg=null 19:05:36.231 warn javascript.0 (4473) at init (script.js.common.FENSTER_TUEREN:333:27) 19:05:36.232 warn javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:341:5) 19:05:36.232 warn javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.232 warn javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) 19:05:36.233 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching VentCheck x=0 Init=true VentwarnTime[x]=null RoomStateTimeStamp[x]=undefined 19:05:36.235 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Room 0 = is open or disabled, no vent warning set 19:05:36.236 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithVentWarnings 19:05:36.237 info javascript.0 (4473) script.js.common.FENSTER_TUEREN: Reaching CreateRoomsWithOpenDoorsList 19:05:36.240 error javascript.0 (4473) at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45) 19:05:36.240 error javascript.0 (4473) at main (script.js.common.FENSTER_TUEREN:343:5) 19:05:36.241 error javascript.0 (4473) at InitialSort (script.js.common.FENSTER_TUEREN:308:5) 19:05:36.241 error javascript.0 (4473) at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13)
Das steht im LOG:
javascript.0 2021-05-06 19:06:50.322 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1976:38) javascript.0 2021-05-06 19:06:50.322 error at Object.<anonymous> (script.js.common.FENSTER_TUEREN:272:13) javascript.0 2021-05-06 19:06:50.321 error at main (script.js.common.FENSTER_TUEREN:343:5) javascript.0 2021-05-06 19:06:50.322 error at processImmediate (internal/timers.js:463:21) javascript.0 2021-05-06 19:06:50.320 error at CreateRoomsWithOpenDoorsList (script.js.common.FENSTER_TUEREN:839:45) javascript.0 2021-05-06 19:06:50.321 error at InitialSort (script.js.common.FENSTER_TUEREN:308:5) javascript.0 2021-05-06 19:06:50.320 error Error in callback: TypeError: Cannot set property '1' of undefined
-
@ub-privat In den Einstellungen die Du gepostest hast steht:
const WhichWindowFunctionToUse = "Fenster"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel! const WhichDoorFunctionToUse = "Tuer"; // Legt fest nach welchem Begriff in Funktionen gesucht wird. Diese Funktion nur dem Datenpunkt zuweisen, NICHT dem ganzen Channel!
Tja, und in der Funktion heisst das bei Dir TUER bzw. FENSTER. Du mußt Dich schon entscheiden wie Dus schreiben willst, aus Sicht des Skripts hast Du somit nirgends nix zugewiesen weil halt TUER nicht gleich Tuer ist.
-
Vielen Dank! Es funktioniert. Das gute daran ist, wieder etwas gelernt zu haben.
Für mich ist neu, das die Syntax 'entscheident' ist. Weiterhin zweimal lesen!Danke für die Geduld und das gute Skript.
-
Hallo @Pittini,
nochmal eine Frage: In der Anleitung steht, dass wenn man Say(it) benutzen möchte die "Autorenfunktion" deaktiviert sein muss. Was ist denn die "Autorenfunktion"?
Ich habe say auf true gesetzt, loggen ist deaktiviert, aber er bringt dennoch keinen Ton raus. Im Log erscheinen einige Fehlermeldungen u.a. Say is not defined. Ich vermute irgendwas stimmt an meiner Config nicht, weiss aber nicht was.
javascript.0 2021-05-20 22:46:32.051 error (3472) at processTimers (internal/timers.js:497:7) javascript.0 2021-05-20 22:46:32.051 error (3472) at listOnTimeout (internal/timers.js:554:17) javascript.0 2021-05-20 22:46:32.051 error (3472) at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2073:34) javascript.0 2021-05-20 22:46:32.051 error (3472) at Object.<anonymous> (script.js.Fenster_zählen_2:1005:83) javascript.0 2021-05-20 22:46:32.050 error (3472) at Meldung (script.js.Fenster_zählen_2:361:25) javascript.0 2021-05-20 22:46:32.050 error (3472) Error in callback: ReferenceError: Say is not defined
-
const UseSay = false; // Sollen Nachrichten via Say ausgegeben werden? Autorenfunktion, muß deaktiviert werden.
Was ist denn an : "muß deaktiviert werden" nicht zu verstehen? Das ganze hat auch absolut nix mit SayIt zu tun, sondern ist ne Funktion, die nur ich, der Autor des Skripts, habe und welche deshalb bei Dir, der diese Funktion nicht hat zum Fehler führt. Bei mir ist Say eine globale Funktion, so dass ich aus allen Skripten Sprachinfos via SNIPS ausgeben kann.
-
Danke für die Antwort.
Ich habe nicht gefragt was "muss deaktiviert werden" ist, sondern was eine "Autorenfunktion" ist. Der Begriff war mir nicht geläufig und auch google konnte mir keine Ergebnisse liefern. Ich habe halt gedacht, dass ich irgendeine andere Funktion des Systems deaktivieren muss, damit das läuft.
Man könnte auch einfach schreiben "funktioniert nur auf dem Rechner des Autors" o.ä., dann wäre es eindeutig. -
Moin,
bei mir kommt leider neuerdiengs eine Fehlermeldung von Javascript und der Code wir gestoppt.
Leider kann ich den Fehler nicht richtig deuten.
Es gibt eine Tür die überwacht ist (die im Wohnzimmer) aber irgendwie kann er wohl das nicht in die Objektliste schreiben...Habt Ihr einen Tip für mich?
11:45:51.902 info javascript.0 (30808) script.js.FensterUeberwachung: Alle Türen geschlossen. 11:45:51.904 info javascript.0 (30808) script.js.FensterUeberwachung: RoomOpenDoorCount[TempRoomIndex]=0 TempRoom=Wohnzimmer TempRoomIndex=5 11:45:51.906 info javascript.0 (30808) script.js.FensterUeberwachung: Alle Türen geschlossen. 11:45:51.916 error javascript.0 (30808) at CreateRoomsWithOpenDoorsList (script.js.FensterUeberwachung:826:45) 11:45:51.916 error javascript.0 (30808) at main (script.js.FensterUeberwachung:331:5) 11:45:51.917 error javascript.0 (30808) at InitialSort (script.js.FensterUeberwachung:297:5) 11:45:51.918 error javascript.0 (30808) at Object.<anonymous> (script.js.FensterUeberwachung:260:13) 11:46:38.816 info javascript.0 (29500) Stop script script.js.FensterUeberwachung
-
@luft-post sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Moin,
bei mir kommt leider neuerdiengs eine Fehlermeldung von Javascript und der Code wir gestoppt.Was heisst neuerdings? Ging es schon mal vorher? Wenn ja, was hast geändert? Und zeig mal Screenshot der Objektliste dieser Tür damit ich die Funktions und Raumzuweisung seh. Und den Teil des Skriptes mit den Einstellungen, bis zur Zeile "Ab hier nix mehr ändern".
-
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 FehlerHier 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)