NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
@sigi234 Och das ist ja easy, das kannst sogar selber denk ich. Ich baus schon rein, aber wenns schneller gehen soll:
Bei den Einstellungen ne neue Konstanteconst UseMail=true;
dazubauen und zwischen Zeile 124 und 125 ein
if (UseMail){ sendTo("email", "msg"); };
Das sollte es gewesen sein.
Hier nochmal die ganze Funktion nach Änderung:
function Meldung(msg) { if (UseSay) Say(msg); if (UseTelegram) { sendTo("telegram.0", "send", { text: msg }); }; if (UseAlexa) { if (AlexaId != "") setState("alexa2.0.Echo-Devices." + AlexaId + ".Commands.announcement"/*announcement*/, msg); }; if (UseMail) { sendTo("email", "msg"); }; if (logging) log(msg); }
-
Geht, natürlich kommt zwar die Mail, aber diese weis ja noch nicht was geöffnet wurde.
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
aber diese weis ja noch nicht was geöffnet wurde.
Ja doch, sollte se schon wissen, die Nachricht steht ja in msg und wird beim Funktionsaufruf übergeben. Wenn das nicht geht, dürfte auch Telegram und Alexa nicht gehen und ich denke das hätte schon mal wer gemeldet. Das wird ja in
if (logging) log(msg);
geloggt, steht im Log ne Nachricht?
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
aber diese weis ja noch nicht was geöffnet wurde.
Ja doch, sollte se schon wissen, die Nachricht steht ja in msg und wird beim Funktionsaufruf übergeben. Wenn das nicht geht, dürfte auch Telegram und Alexa nicht gehen und ich denke das hätte schon mal wer gemeldet. Das wird ja in
if (logging) log(msg);
geloggt, steht im Log ne Nachricht?
email.0 2020-03-31 22:13:19.059 info (20660) Send email: {"text":"msg","from":"xxxxxxt","to":"xxxxxxxxx","subject":"ioBroker"}
-
@sigi234
Mein Fehler, änder mal zu: sendTo("email", msg); -
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@sigi234
Mein Fehler, änder mal zu: sendTo("email", msg);Besser, aber
Wohnzimmerfenster seit 0.3333333333333333 Minuten geöffnet!
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Wohnzimmerfenster seit 0.3333333333333333 Minuten geöffnet!
Was steht bei Dir in Zeile 11? Was stört Dich an der Meldung, die kurze Zeit, oder die Nachkommastellen?
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Wohnzimmerfenster seit 0.3333333333333333 Minuten geöffnet!
Was steht bei Dir in Zeile 11?
const ZeitBisNachricht = 2000 // 300000 ms = 5 Minuten
Was stört Dich an der Meldung, die kurze Zeit, oder die Nachkommastellen?
Ja, die Nachkomma, abgesehen davon redet sich Alexa dusselig.
2000 habe ich extra eingestellt, ich will ja die Nachricht sofort.
Option bei Fenster schließen/öffnen ?
Also, Nachricht:
XY wurde geöffnet
wurde geschlossen
ist seit xx Minuten offen -
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ja, die Nachkomma, abgesehen davon redet sich Alexa dusselig.
Ok, vorgesehen und bisher genutzt waren immer Minuten, sewegen gibts das nen Rundungsfehler beim umrechen, 20 Sek ist 0,3 Periode Minuten. Das läßt sich leicht kürzen
Zeile 219 auf:
Meldung(TempRoom + "fenster seit " + (Laufzeit[TempRoomIndex] / 1000 / 60).toFixed(1) + " Minuten geöffnet!");
Zeile 226 auf:
Meldung(TempRoom + "fenster seit " +( ZeitBisNachricht / 1000 / 60).toFixed(1) + " Minuten geöffnet!");
Das .toFixed(1) macht eine Nachkommastelle, kannst auch 0 oder 2 machen.
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Option bei Fenster schließen/öffnen ?
Also, Nachricht:
XY wurde geöffnet
wurde geschlossen
ist seit xx Minuten offenIs an sich drin, nur nicht für Meldungen, läßt sich auch leicht aktivieren
Zeile 209 vonif (logging) log(TempRoom + " Fenster geöffnet");
zu
Meldung(TempRoom + " Fenster geöffnet");
und in Zeile 239 das gleiche Spiel, dort ändern zu
Meldung(TempRoom + " Fenster geschlossen.");
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
und in Zeile 239 das gleiche Spiel, dort ändern zu
Das finde ich nicht
else if (SensorVal[x] == "closed") { if (OpenWindowCount > 0) OpenWindowCount--; if (RoomOpenWindowCount[TempRoomIndex] > 0) RoomOpenWindowCount[TempRoomIndex]--; setState(praefix + "WindowsOpen", OpenWindowCount); setState(praefix + TempRoom + ".RoomOpenWindowCount", RoomOpenWindowCount[TempRoomIndex]); log(TempRoom + " Fenster geschlossen."); if (UseEventLog == true) WriteEventLog(TempRoom + " Fenster geschlossen!"); if (RoomOpenWindowCount[TempRoomIndex] == 0) { setState(praefix + TempRoom + ".IsOpen", false); if (RepeatInfoMsg == true) { if (logging) log("reaching clearInterval - [x] = " + [x] + " TempRoomIndex= " + TempRoomIndex); clearInterval(OpenWindowMsgHandler[TempRoomIndex]); } else { if (logging) log("reaching clearTimeout"); clearTimeout(OpenWindowMsgHandler[TempRoomIndex]); };
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
und in Zeile 239 das gleiche Spiel, dort ändern zu
Das finde ich nicht
else if (SensorVal[x] == "closed") { if (OpenWindowCount > 0) OpenWindowCount--; if (RoomOpenWindowCount[TempRoomIndex] > 0) RoomOpenWindowCount[TempRoomIndex]--; setState(praefix + "WindowsOpen", OpenWindowCount); setState(praefix + TempRoom + ".RoomOpenWindowCount", RoomOpenWindowCount[TempRoomIndex]); log(TempRoom + " Fenster geschlossen."); if (UseEventLog == true) WriteEventLog(TempRoom + " Fenster geschlossen!"); if (RoomOpenWindowCount[TempRoomIndex] == 0) { setState(praefix + TempRoom + ".IsOpen", false); if (RepeatInfoMsg == true) { if (logging) log("reaching clearInterval - [x] = " + [x] + " TempRoomIndex= " + TempRoomIndex); clearInterval(OpenWindowMsgHandler[TempRoomIndex]); } else { if (logging) log("reaching clearTimeout"); clearTimeout(OpenWindowMsgHandler[TempRoomIndex]); };
In Deinem Post isses Zeile 8
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
In Deinem Post isses Zeile 8
Hatte nach if . ...gesucht
-
@sigi234
Hab grad alle Änderungen eingepflegt und es in den Einstellungen aktivierbar gemacht, is auf Git. -
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@sigi234
Hab grad alle Änderungen eingepflegt und es in den Einstellungen aktivierbar gemacht, is auf Git.Super.
Könnte man ja auch auf Türen erweitern?
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Könnte man ja auch auf Türen erweitern?
Wieso erweitern? Gib der Tür die Funktion Verschluss und schon wird se mitberücksichtigt.
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Könnte man ja auch auf Türen erweitern?
Wieso erweitern? Gib der Tür die Funktion Verschluss und schon wird se mitberücksichtigt.
Habe ich, aber kann dann das Icon nicht abändern.
-
@sigi234 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Habe ich, aber kann dann das Icon nicht abändern.
Ja, das stimmt. Die Meldungen werden auch weiterhin von Fenster sprechen. Aber das generisch zu unterschieden, würde bedeuten ne zweite Funktionsbezeichnung zu verwenden und das Skript sowie die Konfiguration massiv aufzublasen, was ich eigentlich nicht möchte.
-
Ist ok....Kein Problem. Danke.
-
Hallo,
Habe das Script jetzt auch mal installiert. Läuft alles, vielen Dank.
Aaaber: bei mir kommt nicht die letzte Auf/Zu Meldung, sondern die Vorletzte. Hab eben die Balkontür aufgemacht und habe die Info von gestern Abend (schließen) drinEdit: Hat sich erledigt, nach 5 Minuten wurde es richtig angezeigt.
Nochmal vielen Dank.