Pittini / iobroker-Fensterauswertung

Zählt geöffnete Fenster pro Raum und gesamt. Kann einmalig oder zyklisch an offene Fenster erinnern. Erzeugt Lüftungswarnung uvm.
MIT License
42 stars 15 forks source link

Aufzählung als undefined #21

Closed n3roGit closed 3 years ago

n3roGit commented 4 years ago

Moin moin,

ich nutze ja nun bereits seit einiger Zeit dein tolles Script. Mir ist folgenden aufgefallen, was ich noch nicht ganz nachvollziehen konnte.

Ich habe einige Aufzählungen (Räume) definiert. Jedoch wird der Raum "Eingang" immer nur als undefined angezeigt.

Hast du eine Idee an was das liegen könnte? Ich verwende die aktuelle Version.

image image image

Was mich wunder: Im Log habe ich ständig folgendes:

09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings 09:09:08.849 | info | javascript.0 (528) script.js.System.WindowWatcher: Reaching CreateRoomsWithVentWarnings

n3roGit commented 4 years ago

Ich hab die Türen im Eingang jetzt mal wieder raus genommen. Nun gibts auch keine Logmeldung mehr und iobroker bleibt bedienbar.

Vielleicht hast du ja eine idee

Pittini commented 4 years ago

Bitte komplettes Startlog MIT Türen im Eingang. Und Screen von den Skripteinstellungen.

n3roGit commented 4 years ago

Log: https://pastebin.com/raw/M6Gr5hxV

Settings: `const Skriptversion = "1.6.5" //vom 05.07.2020 - 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.WindowWatcher."; //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 = 30000; // 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 TimeToMsg = 1800000 // 300000 ms = 5 Minuten - Zyklus- bzw. Ablaufzeit für Tür/Fenster-offenwarnung/en const MaxMessages = 2; //Maximale Anzahl der Nachrichten pro Raum

const UseTelegram = false; // Sollen Nachrichten via Telegram gesendet werden? const UseAlexa = true; // Sollen Nachrichten via Alexa ausgegeben werden? const AlexaId = "eb1d078685c940f3b95359e5f85e9cc8"; // Die Alexa Seriennummer. //const AlexaId = "0_userdata.0.GlobalVars.AlexaNotify"; // 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 = false; // Überschrift anzeigen? const ShowSummaryTbl = false; // Zusammenfassung anzeigen? const ShowDetailTbl = true; // Details anzeigen? const RoomSortMode = 1; //0= Raumliste unsortiert, 1= alpabetisch sortiert, 2= Benutzerdefinierte Sortierung

//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 = "
"; //Trennzeichen für Logeinträge `

Pittini commented 4 years ago

const LogEntrySeparator = " "; //Trennzeichen für Logeinträge

Sollte eigentlich in einer Zeile stehen, ansonsten sehen die Settings für mich ok aus. Hast Du das System schon mal neugestartet? Wenn ja, was passiert denn wenn Du dem Eingang testweise Fenster statt Tür gibst? Gleicher Effekt? Und andersrum, was passiert wenn Du nen anderen Raum zuweist, aber "tuer" läßt?