NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
Das denke ich auch. Mir ist gerade auch eine Idee gekommen, ich denke das ist die einzige Vernünftige Lösung ausser du hast noch eine andere^^ Ich werde eine zweite Version deines Fensterscriptes laufen lassen wo der Drehgriff nicht drin ist, aber der zweite Sensor mit einer anderen Funktion. So hab ich weiterhin die Übersicht der Sicherheit wegen, und kann die Heizung auch damit nutzen.
-
Ich denke ja auch immer an eine Funktion, dass wenn ein Fenster geöffnet ist und die Außentemperatur zu hoch oder zu niedrig ist nach einer bestimmten Zeit eine Meldung ausgegeben wird, damit der Raum nicht aufheizt oder zu stark abkühlt. Das könnte man sonst aber auch durch ein seperates Skript anhand Temperatursensor und meiner vorherigen Idee mit dem "msg_inactive" lösen.
Sorry aber eine Idee habe ich noch. Es wäre doch gut wenn eine Meldung nach beispielsweise 20 Minuten ausgegeben wurde, die Zeit der nächsten Meldung anzupassen zu können. Dass die zweite Meldung nicht erst erneut nach 20 Minuten, sondern z.B. nach 5 Minuten ausgegeben wird.
-
@Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
ich denke das ist die einzige Vernünftige Lösung ausser du hast noch eine andere^^
Ja, hab ich. 2ten Sensor an die Tür und ein kleines Skript dass ne Auswertung der beiden Sensoren macht und nen "virtuellen" Sensor anlegt. Und der wird in meinem Skript verwendet. Ich hab sowas ähnliches für mein Gewächshausfenster, da krieg ich nur den Öffnungswinkel gemeldet und bau mir das auf/zu mit nem Skriptchen dazu.
-
Ich habe noch etwas was ich nicht ganz deuten kann... bekomme ich bei jeder Meldung. Die Meldung wird aber ausgegeben.
meine config
ich hoffe ich habe nicht wieder etwas einfaches übersehen....
danke
Gruß Jan
-
@Chaibi87 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich denke ja auch immer an eine Funktion, dass wenn ein Fenster geöffnet ist und die Außentemperatur zu hoch oder zu niedrig ist nach einer bestimmten Zeit eine Meldung ausgegeben wird, damit der Raum nicht aufheizt oder zu stark abkühlt.
Das wirds definitiv nicht geben. Da käme der nächste dann mit ner Taupunktberechnung. Das Skript is eh schon ein Konfigurationsmonster, da blickt dann keiner mehr durch. Ursprünglich war das Skript für Anfänger gedacht die mit Blockly irgendwelchen Käse zusammengeklickt haben und dann nicht weiterkamen. Die sind inzwischen bei der aktuellen Version eh schon fast außen vor (deswegen lass ich die"kleine" stable Variante auch noch drin.
Sorry aber eine Idee habe ich noch. Es wäre doch gut wenn eine Meldung nach beispielsweise 20 Minuten ausgegeben wurde, die Zeit der nächsten Meldung anzupassen zu können. Dass die zweite Meldung nicht erst erneut nach 20 Minuten, sondern z.B. nach 5 Minuten ausgegeben wird.
Auf Git gibts nen FeatureRequest, der es genau anders rum haben will, nämlich dass die Meldungsabstände zunehmen und nicht wie Dein Wunsch abnehmen. Sorry, die Eierlegende Wollmilchsau geht nicht.
-
@Chaibi87 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
ch habe noch etwas was ich nicht ganz deuten kann... bekomme ich bei jeder Meldung. Die Meldung wird aber ausgegeben.
Die splitfunktion gibts nur an einer Stelle im Skript, beim aufbereiten des MsgLogs. Zeig mal den Inhalt des Datenpunktes: javascript.0.FensterUeberwachung.MessageLog
Möglicherweise steht da aufgrund Deiner vorherigen Fehlkonfig jetzt iwelcher Käse drin mit dem das Skript nicht klarkommt. Kannst auch versuchen den DP einfach mal zu löschen und das Skript dann neu zu starten. Wenn das nix hilft, bitte Logging im Skript anschalten und das Log hier posten. -
Update zu V 1.5.0
aktuelle Features
-
Kann beliebige Tür/Fenster Kontakte verwenden. Noch nicht erfasste Varianten können über die Einstellungen hinzugefügt werden.
-
Berücksichtigt mehrflügelige Fenster bzw. mehrere Fenster pro Raum.
-
Legt pro Raum sieben Datenpunkte an (Raumfensteroffenzähler, Raumfenstergekipptzähler, Raumfensterstatus und die Einstellfelder für die Lüftungsempfehlung und welche Nachrichten Ihr haben möchtet), sowie 10 Datenpunkte fürs gesamte. (Siehe Beschreibung der Datenpunkte weiter unten)
-
Möglichkeit eine Meldung/Ansage via Mail/Telegram/Alexa nach x Minuten einmalig oder zyklisch bis Fensterschließung auszugeben.
-
Meldungen können bei Bedarf über einen Mute Datenpunkt entweder gesamt oder nur für Sprachnachrichten stummgeschaltet werden.
-
Gibt dynamische HTML Tabelle mit Übersicht aller Räume und farblicher Kennzeichnug der jeweiligen Stati aus. Verwendete Bilder und Farben sind frei konfigurierbar.
-
Gibt zeitbezogene Lüftungswarnung aus wenn Fenster für Zeit x (pro Raum einstellbar) nicht geöffnet wurden.
-
Gibt Liste mit Räumen für welche aktuell eine Fensteroffen Warnung besteht aus.
-
Gibt Liste mit Räumen in denen gekippte Fenster sind aus.
-
Gibt Liste mit Räumen für welche aktuell eine Lüftungs Warnung besteht aus.
-
Kann kurze auf/zu Änderungen innerhalb Zeit x (einstellbar) ignorieren.
Changelog
24.4.20 (V 1.5.0)
- Add: Nachrichtenausgabe kann nun in den Raumdatenpunkten pro Raum konfiguriert werden. Hierzu die Datenpunkte: SendOpenCloseMsg, SendVentMsg und SendWarnMsg angelegt.
- Add: In den Skripteinstellungen, MaxMsg hinzugefügt. Hier kann festgelegt werden wieviele Nachrichten Ihr maximal pro Raum erhalten möchtet. Wegfall der Option RepeatInfoMsg, da dies durch MaxMsg=1 konfiguriert werden kann.
- Add: Zusätzlicher Status "gekippt". Ausgabe der entsprechenden Werte sowohl als Gesamtzählung, als Liste, als auch pro Raum. Entsprechende Änderung der Texte (Wenn Fenster im Raum nur gekippt, Ausgabe Fenster gekippt, wenn nur offen, Ausgabe Fenster offen, wenn Fenster im Raum sowohl gekippt als auch offen, Ausgabe x Fenster offen, davon x Fenster gekippt). Zusätzliche Farbe und Bild für HTML Tabelle.
- Fix: Problem mit inkorrekten Lüftungswarnungen nach öffnen/schliessen innerhalb Berechnungstimeout.
- Add: Kurzzeitige (Zeit einstellbar) öffnen/schliessen Aktionen werden nun ignoriert (z.B. mal schnell aus dem Fenster guggen)
-
-
Ich verstehe was du meinst, mir ist nur nicht ganz klar ob das die Lösung meines Problems ist. Ich könnte durch den zweiten Sensor eine Stellung des Drehgriffkontaktes ersetzen, damit wenn die Tür zu ist, aber nicht verschlossen, die Tür als zu angezeigt wird. Das würde Grundsätzlich das Problem lösen. Nur dann hab ich keinen Überblick mehr, ob die Tür wirklich zu ist wenn ich vorm verlassen des Hauses nochmal kurz nachschauen möchte.
Freue mich schon auf deine neue Version, werde sie heute abend noch testen
-
ich habe folgen Fehler:
javascript.0 2020-04-24 20:22:39.761 error (20140) at runMicrotasks (<anonymous>:null:null) javascript.0 2020-04-24 20:22:39.760 error (20140) at /opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49 javascript.0 2020-04-24 20:22:39.760 error (20140) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-04-24 20:22:39.760 error (20140) at /opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:534:55 javascript.0 2020-04-24 20:22:39.760 error (20140) at script.js.common.FensterUeberwachung:161:13 javascript.0 2020-04-24 20:22:39.760 error (20140) at main (script.js.common.FensterUeberwachung:194:5) javascript.0 2020-04-24 20:22:39.759 error (20140) at init (script.js.common.FensterUeberwachung:188:9) javascript.0 2020-04-24 20:22:39.759 error (20140) at VentCheck (script.js.common.FensterUeberwachung:421:37) javascript.0 2020-04-24 20:22:39.759 error (20140) at Meldung (script.js.common.FensterUeberwachung:229:5) javascript.0 2020-04-24 20:22:39.759 error (20140) at WriteMessageLog (script.js.common.FensterUeberwachung:234:37) javascript.0 2020-04-24 20:22:39.758 error (20140) script.js.common.FensterUeberwachung: TypeError: Cannot read property 'split' of nul
ne Idee?#
Habe heute meinen neuen PI4 aufgesetzt. -
@Saschag sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
ne Idee?#
3 Posts weiter oben steht was zu tun ist. Hab aber mal noch was geändert um (hoffentlich) den Fehler abzufangen, einfach nochmal von Git holen, is die gleiche Versionsnummer.
-
@Pittini vielen Dank nochmal für das tolle script. Funktioniert bei mir einwandfrei.
Eine persönliche Frage hätte ich noch dazu, komme aber mit Javascript noch nicht so klar: Ich würde gerne eine Nachricht (evtl. per Telegram/pushover + Alexa) über noch offene Fenster bekommen, wenn ein Datenpunkt (z.B. Abwesend) geschalten wird. Könnte man das noch irgendwie einfügen? -
@Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich würde gerne eine Nachricht (evtl. per Telegram/pushover + Alexa) über noch offene Fenster bekommen, wenn ein Datenpunkt (z.B. Abwesend) geschalten wird.
Dafür kannste doch den Mute Datenpunkt nehmen. Wenn anwesend läßte das über ein Miniskript oder Blockly muten, wenn abwesend den mute wieder aufheben.
-
@Pittini aaah, ok, danke, den habe ich total übersehen. Werde das gleich mal testen.
-
@Pittini
Läuft! Vielen Dank!! -
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
@Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich würde gerne eine Nachricht (evtl. per Telegram/pushover + Alexa) über noch offene Fenster bekommen, wenn ein Datenpunkt (z.B. Abwesend) geschalten wird.
Dafür kannste doch den Mute Datenpunkt nehmen. Wenn anwesend läßte das über ein Miniskript oder Blockly muten, wenn abwesend den mute wieder aufheben.
Läuft, muss (natürlich) die "Zeit bis Nachricht"-Meldung auf 0 stellen und das Javascript bei Abwesend starten/antriggern, sonst sind ja die Meldungen schon rum.
-
@Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Läuft, muss (natürlich) die "Zeit bis Nachricht"-Meldung auf 0 stellen und das Javascript bei Abwesend starten/antriggern, sonst sind ja die Meldungen schon rum.
ZeitBisNachricht auf 0 zu stellen is eigentlich keine gute Idee, das ist ja die Zeit nach der die Fensteroffenwarnung kommt, wenn Du die auf 0 stellst kommt die ja sofort und die Funktion ist nutzlos. Dafür gibts ja außerdem schon die OpenCloseMsg.
Wenn ich Dein Vorhaben richtig deute, willst Du erreichen dass Du quasi die "verpassten" Meldungen im nachhinein bei Anwesenheit bekommen möchtest? Dafür haste aber ja auch schon das Log. Und ich versteh auch nicht was das Skript starten/antriggern bei Abwesenheit bringen soll. -
@Pittini ich möchte einfach, wenn wir das Haus verlassen (Abwesend drücken), sofort die Meldung bekommen, welche Fenster noch offen sind. Wenn die "Zeit bis Nachricht" auf 0 steht, kommt diese Meldung auch sofort, aber erst nach Starten des Scripts. Deshalb kurz nochmal starten.
Ich wollte mir nicht noch ein Riesen Blockly-Script basteln, sondern die Daten einfach von Deinem Script nehmen...
Vielleicht hab ich ja auch nen Denkfehler und es wäre einfacher zu lösen, aber für mich funktioniert es so ganz gut.
-
@Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
ich möchte einfach, wenn wir das Haus verlassen (Abwesend drücken), sofort die Meldung bekommen, welche Fenster noch offen sind. Wenn die "Zeit bis Nachricht" auf 0 steht, kommt diese Meldung auch sofort, aber erst nach Starten des Scripts. Deshalb kurz nochmal starten.
Wie gesagt, Du kastrierst das Skript damit, die Funktion die Dir im Winter sagt dass das Fenster zulange offen ist, ist damit tot. Die Information die Du haben willst steht doch als Klartext im Datenpunkt javascript.0.FensterUeberwachung.RoomsWithOpenWindows. Lass Dir das anzeigen/vorlesen und gut ists.
Ich wollte mir nicht noch ein Riesen Blockly-Script basteln, sondern die Daten einfach von Deinem Script nehmen...
Vielleicht hab ich ja auch nen Denkfehler und es wäre einfacher zu lösen, aber für mich funktioniert es so ganz gut.Siehe oben
-
@Pittini Ja, das würde natürlich funktionieren, ich bekomme nur über Blockly die Formatierung des Textes nicht richtig hin und Alexa redet lauter wirres Zeugs mit mir...
Ich probiere mal weiter...
-
@Turbo sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ja, das würde natürlich funktionieren, ich bekomme nur über Blockly die Formatierung des Textes nicht richtig hin und Alexa redet lauter wirres Zeugs mit mir...
Ich probiere mal weiter...Na, soviel is da doch nicht zu formatieren? Einfach die <br< durchn Komma ersetzen und gut. Oder will Alexa Zahlen als Text?