NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
@Pittini
Das mit der Zeit hat sich erledigt. War nur zu ungeduldig. Die anderen Themen habe ich dank deiner Hinweise auch gelöst bekommen.
Noch ein Bitte in eigener Sache für "getEnums('functions')"
Ich möchte vorschlagen eine Variable für die Kategorie (hier fest auf 'functions' eingestellt) einzuführen. vlt. "enumCategorie" oder so. -
@Pittini
kann gelöscht werden. habe mein Problem gelöst -
Erstmals, danke @Pittini für dieses Skipt! Ich wollte fragen ob ihr denkt dass jemand Interesse hätte dieses Skript auf Englisch zu haben? Ich habe es für mich übersetzt inkl. alle Kommentare. Funktioniert einwandfrei! Bei Bedarf kann ich es gerne teilen.
Noch ein "Feature Request" an dem ich vielleicht selbst bald bauen werde wäre dass man in den Triggers auch die jetzige Außentemperatur in Betracht nehmen kann. Habe ich z.B. so bei meinem "einfacheren" Skript getan denn im Sommer ist mir eigentlich egal ob eine Tür oder ein Fenster länger offen bleibt aber im Winter würde ich gerne die Warnung bekommen. -
@mrFenyx sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Habe ich z.B. so bei meinem "einfacheren" Skript getan denn im Sommer ist mir eigentlich egal ob eine Tür oder ein Fenster länger offen bleibt aber im Winter würde ich gerne die Warnung bekommen.
das fände ich sehr gut. Derzeit hab ich genau aus diesem Grund die Benachrichtigung deaktiviert.
-
@mrFenyx @Negalein Ich versteh Euer anliegen, werde das aber erstmal nicht integrieren, weil das ein riesen Fass aufmacht. Dann will der nächste das für Türen und Fenster separat, der übernächste nur wenns nacht is usw. Ist ja eh schon ein Konfigurationsmonster, das möchte ich nicht noch verschärfen. Ich hab das bei mir so dass nur einmalig ne Benachrichtigung nach 2 Stunden kommt, im Winter setz ich das dann auf 15 Minuten.
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich versteh Euer anliegen, werde das aber erstmal nicht integrieren, weil das ein riesen Fass aufmacht. Dann will der nächste das für Türen und Fenster separat, der übernächste nur wenns nacht is usw. Ist ja eh schon ein Konfigurationsmonster, das möchte ich nicht noch verschärfen. Ich hab das bei mir so dass nur einmalig ne Benachrichtigung nach 2 Stunden kommt, im Winter setz ich das dann auf 15 Minuten.
kein Problem.
Ich aktiviere es jetzt wenns kälter wird wieder. -
Erstmal Danke für das Skript. Läuft super.
Gibt es eine Möglichkeit die Logeintäge etwas zurückzunehmen.
Das Skript ist sehr geschwätzig. Was gut wenn man Fehler sucht.
Aber im normal Betrieb sind die MSgs die meisten Einträge im Log.
Das macht es etwas unübersichtlich.
Aber vielleicht habe ich auch einfach einen Parameter(DP) zur Kontrolle derselben übersehen.vielen Dank
-
@Bibo-13 Ganz oben in den Skripteinstellungen, logging von true auf false setzen.
-
@Pittini Das steht auf false.
Ich habe im Skript nachgesehen und da gibt es doch noch sehr viel log Ausgabe ohne das Logging abgefragt wird. -
@Bibo-13 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich habe im Skript nachgesehen und da gibt es doch noch sehr viel log Ausgabe ohne das Logging abgefragt wird.
Kannste ja als workaround erst mal mit // auskommentieren. Werd mal drübergehen und das mit dem nächsten update einspielen.
-
@Pittini Ich hätte mal eine Frage, bzw. einen Feature Request.
Es wird ja in einem DP Punkt eine Art Log angelegt, also alle Infos, stehen in einem DP. Gibt es hier eine Möglichkeit das zu trennen und den Zähler z.b. für jeden Kontakt zu erstellen in einem extra DP. Also Beispiel : Bad Fenster seit 20 Min offen. Wenn die nächste Meldung kommt wird der DP einfach überschrieben. Dann steht dort eben drin Bad Fenster seit 40 min geöffnet.
Ich habe eine Übersicht mit allen Fenstern, dort hätte ich gern pro Fenster noch einen Text mit der Minutenzahl, so wie sie auch im Message Log stehen. Dann kann ich das über den Fenstern zuordnen.
Quasi hier noch nen DP dazu, wo eben der Text für den passenden Text steht. Ich weiß ja nicht wie schnell und mit welchem Aufwand das um zu setzten ist.
Ich kenne mich leider nicht so aus, sonst hätte man das vllt auch mit nem extra Script aus der Message Log raus holen können, aber dann brauch ich einige Scripte um das bei jedem Fenster zu machen.
Daher meine Frage, ob du das vllt ein wenig aufsplitten kannst ?
-
@D3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Also Beispiel : Bad Fenster seit 20 Min offen. Wenn die nächste Meldung kommt wird der DP einfach überschrieben. Dann steht dort eben drin Bad Fenster seit 40 min geöffnet.
Das macht eigentlich der Dp "LastMessage". Was gefällt Dir an dem nicht?
-
@Pittini Stimmt den hatte ich auch schon im Auge, aber auch hiermit kann ich das ja nicht jedem Fenster zuordnen.
Das hier würde ich gerne mit Infos füttern.
Wenn ich aber den DP "LastMessage" kann ich diesen Text dort ja nicht für alle Fenster nutzen, sonst steht dann über jedem Fenster der gleiche Text. Dieser Last Message wäre super in jedem angelegten Kontakt.
Also Schlafzimmer dort Last Message, Büro dort Last Message.
-
@D3ltoroxp sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Stimmt den hatte ich auch schon im Auge, aber auch hiermit kann ich das ja nicht jedem Fenster zuordnen.
Verstehe, warum nimmste dann nicht das Timestamp Widget und nimmst dafür den Room is open dp? Nur so als Idee die mir grad einfällt.
-
@Pittini Könnte ich mir so mal anschauen. Danke für den Tipp.
-
@Pittini - ich bin heute das erste mal über dein Skript gestolpert. Habe alles eingerichtet wie auf GIT beschrieben, aber bei mir wird im javaskript Ordner nur ein Fensterüberwachungsordner mit 4 DP angelegt - mehr nicht....... und das was da drin steht stimmt leider auch nicht, denn entgegen der Anzeige sind noch Fenster offen.
Räume und Funktionen sind den Datenpunkten die verwendet werden sollen zugewiesen. Instanz von JS ist gestoppt und gestartet worden.
Aber wie gesagt, bei mir läuft es nicht so wie es beschrieben ist.
-
@JB_Sullivan Meine Glaskugel is in Urlaub, bitte komplettes Startlog.
-
Was mir nicht so ganz Klar ist, ist der Begriff Verschluss, den habe ich nirgend definiert. Wo müsste man den denn definieren?
javascript.0 2020-09-09 11:39:48.818 warn (9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.OverviewTable, state="<table style='width:100%; border-collapse: collapse; border: 0px solid black;'>< javascript.0 2020-09-09 11:39:48.817 info (9100) script.js.common.Fensterueberwachung: Alle Fenster sind geschlossen javascript.0 2020-09-09 11:39:48.817 warn (9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.RoomsWithOpenWindows, state="Alle Fenster sind geschlossen") - wurde nicht ausgeführt, während der Deb javascript.0 2020-09-09 11:39:48.817 info (9100) script.js.common.Fensterueberwachung: Alle Fenster geschlossen. javascript.0 2020-09-09 11:39:48.817 warn (9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.WindowsOpen, state=0) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist javascript.0 2020-09-09 11:39:48.816 warn (9100) script.js.common.Fensterueberwachung: setForeignState(id=javascript.0.FensterUeberwachung.AlleFensterZu, state=true) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist javascript.0 2020-09-09 11:39:48.815 info (9100) script.js.common.Fensterueberwachung: CreateStates fertig! javascript.0 2020-09-09 11:39:48.814 info (9100) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules javascript.0 2020-09-09 11:39:48.804 info (9100) Start javascript script.js.common.Fensterueberwachung javascript.0 2020-09-09 11:39:46.609 info (9100) Stop script script.js.common.Fensterueberwachung j
habe gerade gesehen das Debug noch aktiv war. Habe ich gerade geändert, javaskript Instanz neu gestartet und auch das Script selber. Leider ohne Erfolg. Es beliebt bei 4 DP`s
javascript.0 2020-09-09 11:42:11.863 info (9100) script.js.common.Fensterueberwachung: Alle Fenster sind geschlossen javascript.0 2020-09-09 11:42:11.863 info (9100) script.js.common.Fensterueberwachung: Alle Fenster geschlossen. javascript.0 2020-09-09 11:42:11.862 info (9100) script.js.common.Fensterueberwachung: CreateStates fertig! javascript.0 2020-09-09 11:42:11.860 info (9100) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules javascript.0 2020-09-09 11:42:11.856 info (9100) Start javascript script.js.common.Fensterueberwachung javascript.0 2020-09-09 11:42:09.979 info (9100) Stop script script.js.common.Fensterueberwachung javascript.0 2020-09-09 11:42:08.784 info (9100) script.js.common.Fensterueberwachung: Alle Fenster sind geschlossen javascript.0 2020-09-09 11:42:08.783 info (9100) script.js.common.Fensterueberwachung: Alle Fenster geschlossen. javascript.0 2020-09-09 11:42:08.783 info (9100) script.js.common.Fensterueberwachung: CreateStates fertig! javascript.0 2020-09-09 11:42:08.782 info (9100) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules javascript.0 2020-09-09 11:42:08.777 info (9100) Start javascript script.js.common.Fensterueberwachung javascript.0 2020-09-09 11:42:08.662 info (9100) Stop script script.js.common.Fensterueberwachung
.... und stimmen tut es auch nicht, da noch ein Fenster offen ist.
-
@JB_Sullivan sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
.... und stimmen tut es auch nicht, da noch ein Fenster offen ist.
Naja, stimmen tut es schon, solange er nicht mal einen Raum erkennt, is auch kein Fenster offen.
Als erstes sollteste mal dem Device den Raum zuordnen, nicht nur dem Datenpunkt. Aber ich denke nichtmal dass das der eigentliche Grund für das Verhalten ist, iwas liegt da bei Dir im argen, ich behaupte mal dasses nicht am Skript liegt, das ist zu oft im Einsatz als dass so ein Fehler durchschlupfen hätte können.
Zur Frage zum "Verschluss" - das ist alt, als Türen und Fenster noch gemeinsam verarbeitet wurden. Das wurde dann durch Tueren und Fenster ersetzt (wobei mans natürlich nennen kann wie man mag).
Hast Du an den Einstellungen iwas geändert? Das Log is so kurz, da is ja nicht mal der Startvermerk drin, der sollte so aussehen:12:20:25.770 info javascript.0 (15439) script.js.common.FensterUeberwachung: starting Fensterskript, Version 1.6.6
Also entweder ist das Skript nicht vollständig, Du hast iwas deaktiviert etc. pp.
Zeig doch mal nen Screenshot von den Skripteinstellungen und nen Datenpunkt aus der Objektliste wo Du Tür/Fenster zugeordnet hast, inkl. Raum, mit alle Dps aufgeklappt bis zum Rootchannel. -
@Pittini Ich sage ja gar nicht das es an deinem Script liegt - nur das es nicht so wie beschrieben funktioniert.
Das Script habe ich von GIT herunter geladen und so gut wie nichts geändert.
Der Screenshot von der Objekt Liste ist oben - oder was meinst du?Oder kommt das Statt "Verschluss"; ---- "Fenster"; "Tuer"; rein?
Hier nochmal aufgeklappt bis zum Root Channel
Hier - ich habe noch was im LOG File gefunden. Da ich aktuell über die Cloud auf meiner ioB Maschine drauf bin, scheint die Erstellung der Datenpunkte durch das Unterbrechen der Verbindung (warum auch immer habe 1Gbit Leitung) nicht ausgeführt zu werden.
cloud.0 2020-09-09 12:44:52.185 info (7112) User disconnected from cloud: XuaPWrPgDGn5F46UAA9g javascript.0 2020-09-09 12:44:45.904 info (14640) script.js.common.Fensterueberwachung: Kinderzimmer 1 offenes Fenster javascript.0 2020-09-09 12:44:45.903 info (14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=5 javascript.0 2020-09-09 12:44:45.903 info (14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=4 javascript.0 2020-09-09 12:44:45.902 info (14640) script.js.common.Fensterueberwachung: Kinderzimmer Fenster = geöffnet javascript.0 2020-09-09 12:44:45.902 info (14640) script.js.common.Fensterueberwachung: Setting Interval at initialization to Room: Kinderzimmer javascript.0 2020-09-09 12:44:45.902 info (14640) script.js.common.Fensterueberwachung: Temproom= Kinderzimmer TempRoomIndex= 3 RoomOpenWindowcount= 1 javascript.0 2020-09-09 12:44:45.901 info (14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=3 javascript.0 2020-09-09 12:44:45.901 info (14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=2 javascript.0 2020-09-09 12:44:45.900 info (14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=1 javascript.0 2020-09-09 12:44:45.900 info (14640) script.js.common.Fensterueberwachung: Reaching GetRoom x=0 javascript.0 2020-09-09 12:44:45.899 info (14640) script.js.common.Fensterueberwachung: CreateStates fertig! javascript.0 2020-09-09 12:44:45.897 info (14640) script.js.common.Fensterueberwachung: registered 0 subscriptions and 0 schedules javascript.0 2020-09-09 12:44:45.896 info (14640) script.js.common.Fensterueberwachung: Raum 5 = Toilette javascript.0 2020-09-09 12:44:45.894 info (14640) script.js.common.Fensterueberwachung: Raum 4 = Kinderzimmer-OG javascript.0 2020-09-09 12:44:45.893 info (14640) script.js.common.Fensterueberwachung: Raum 3 = Kinderzimmer javascript.0 2020-09-09 12:44:45.893 info (14640) script.js.common.Fensterueberwachung: Raum 2 = Büro javascript.0 2020-09-09 12:44:45.893 info (14640) script.js.common.Fensterueberwachung: Raum 1 = Badezimmer-OG javascript.0 2020-09-09 12:44:45.893 info (14640) script.js.common.Fensterueberwachung: Raum 0 = Ankleidezimmer javascript.0 2020-09-09 12:44:45.883 info (14640) Start javascript script.js.common.Fensterueberwachung javascript.0 2020-09-09 12:44:39.432 info (14640) Stop script script.js.common.Fensterueberwachung
Oder meintest du ggf. den Baum aus dem Funktionsordner?