NEWS
[Vorlage] Generisches Fensteroffenskript + Vis
-
In deinem Skript scheint ein kleiner Fehler zu sein. Wenn mein HM IP Drehgriffkontakt auf open geht, wird mir in der Vis gekippt angezeigt, bei tilted wird mir geöffnet angezeigt.
Ich kann das natürlich in den Einstellungen der Arrays ändern, wollte dich aber darauf hinweisen.
So müsste es aussehen.const WindowIsOpenWhen = ["true", "offen", "open", "opened", "2"]; // Hier können eigene States für offen angegeben werden, immer !!! in Kleinschreibung const WindowIsClosedWhen = ["false", "geschlossen", "closed", "0"]; // Hier können eigene States für geschlossen angegeben werden, immer !!! in Kleinschreibung const WindowIsTiltedWhen = ["tilted", "gekippt", "1"]; // Hier können eigene States für gekippt angegeben werden, immer !!! in Kleinschreibung
-
@Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich kann das natürlich in den Einstellungen der Arrays ändern, wollte dich aber darauf hinweisen.
Ja, danke. Ich hatte paar mal in der Telegram Gruppe um diese Info gebeten und als nach 3 Tagen immer noch keiner geantwortet hatte, dacht ich mir, es trifft je eh diejenigen die jetzt nicht antworten und hab das mit ner 50/50 Chance einfach geraten . Werd das jetzt korrigieren.
Edit: Haha, eigentlich isses eh egal was ich mach, da sich die HM Geräte scheinbar nicht einig sind was jetzt eigentlich open ist, hat mir einer auf FB gepostet:
-
Hallo zusammen,
würde das Skript gerne ans laufen bekommen.
Bekomme folgende Fehlermeldung:javascript.0 2020-04-27 12:45:00.363 error (9318) at process._tickCallback (internal/process/next_tick.js:68:7) javascript.0 2020-04-27 12:45:00.363 error (9318) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) javascript.0 2020-04-27 12:45:00.362 error (9318) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-04-27 12:45:00.362 error (9318) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17) javascript.0 2020-04-27 12:45:00.362 error (9318) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:855:17) javascript.0 2020-04-27 12:45:00.362 error (9318) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1264:17) javascript.0 2020-04-27 12:45:00.362 error (9318) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1211:37) javascript.0 2020-04-27 12:45:00.362 error (9318) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:988:28) javascript.0 2020-04-27 12:45:00.361 error (9318) at Object.createScript (vm.js:277:10) javascript.0 2020-04-27 12:45:00.361 error (9318) at new Script (vm.js:83:7) javascript.0 2020-04-27 12:45:00.361 error (9318) SyntaxError: Unexpected end of input javascript.0 2020-04-27 12:45:00.361 error (9318) javascript.0 2020-04-27 12:45:00.361 error (9318) log('registered ' + __engine.__subscriptions + ' subscription' + (__engine.__subscriptions === 1 ? '' : 's' ) + ' and ' + __engine.__schedules + ' schedule' + (__engine.__schedules === 1 ? '' javascript.0 2020-04-27 12:45:00.360 error at script.js._Testumgebung.Fensterüberwachung:259 javascript.0 2020-04-27 12:45:00.360 error (9318) script.js._Testumgebung.Fensterüberwachung compile failed:
Einer ne Idee, woran das liegen könnte?
Grüße
-
@dodi666 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Einer ne Idee, woran das liegen könnte?
Abrakadabra es liegt an....ich weis es nicht.
Bisserl mehr Infos mußt schon rausrücken wenn ich helfen soll.- Haste Dich an die Anleitung gehalten?
- Zeig mal Deine Einstellungen im Skript.
- Zeig mal aus der Objektliste einen der Fensterdatenpunkte wo ich seh wie Du die Raum und Funktionszuweisung gemacht hast
- Zeig mal das Log vom Skript selber.
-
@Pittini
HMIP einfache Sensoren (nur auf/zu)
haben 0 = geschlossen und 1 = offen, oder über die Werteliste CLOSED = geschlossen und OPEN = offenHMIP Drehgiffe haben 0 = geschlossen, 1 = gekippt und 2 = offen, oder über die Werteliste CLOSED = geschlossen, TILTED = gekippt und OPEN = offen.
Siehst Du das "Problem" ?
Ich habe das bei mir (ich kann aber nur Blockly und wenig Javascript) über eine zusätzliche Variable gelöst, wo man die Fenstervariante einstellen kann. Ja nach Fenstervariante nehme ich für die Auswertung nur true/false (1 und 0 macht ja das Gleiche), oder die Werteliste. Ich habe zum Beispiel eine Mischvariante aus beiden Sensoren.
(über rpc Adapter)
Hier zu finden. -
@dslraser sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Siehst Du das "Problem" ?
Ja, sehe ich, wie ja oben schon geschrieben. Finde das etwas "dämlich" das HM sich da nicht auf ein Schema einigen kann, wär ja schliesslich kein Thema zu sagen grundsätzlich ist 0=geschlossen, 1=open und 2=gekippt. Aber gut, werd ich wohl mal guggen müssen ob ich da ne Extrawurst für HM braten kann.
-
@Pittini
ja, finde ich auch "dämlich", aber ist halt so. Wie gesagt, nimm die Werteliste zur Auswertung, bei mir funktioniert das so. Weil, OPEN ist OPEN, egal ob mit 1 oder 2.Einfache Sensoren
"states": { "0": "CLOSED", "1": "OPEN"
Drehgriffe
"states": { "0": "CLOSED", "1": "TILTED", "2": "OPEN"
Bei mir
zusätzliche Abfrage
Bisher funktioniert es so, aber ich habe noch keine weiteren Fenstersensoren (habe keine anderen) getestet.
Dein Script macht ja ansonsten was "ähnliches" wie mein Blockly. -
@dslraser sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Wie gesagt, nimm die Werteliste zur Auswertung, bei mir funktioniert das so. Weil, OPEN ist OPEN, egal ob mit 1 oder 2.
Bin ich grad schon dran. Werd erstmal abfragen ob HM Sensor und dann die Werteliste auswerten. Die Function heißt CheckForHmShit()
Dein Script macht ja ansonsten was "ähnliches" wie mein Blockly.
Jap, nur halt mit mehr Schnickschnack drumrum. Ich hab auch nur Xiaomi Sensoren, alle anderen leg ich mir "virtuell" zum testen als Dp an, wo ich manuell die States reinschreib.
-
@Pittini sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
CheckForHmShit()
-
@Dominik-F sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Ich kann das natürlich in den Einstellungen der Arrays ändern, wollte dich aber darauf hinweisen.
So müsste es aussehen.Ich hab mal ne Beta 1.5.2 auf Git geladen, teste mal ob das jetzt passt mit den HM Sensoren, ich werte die jetzt anders aus.
-
@Pittini Sorry läuft alles, hat sich beim kopieren von Git ein Fehler eingeschlichen. Vielen Dank für das coole Script!
-
keine Probleme bei meinem Drehgriffkontakt. Zeigt in der Vis alles so an wie es sein soll
-
@Pittini Was hältst du von einer Möglichkeit zur Konfiguration der Symbolik (Fenster/Türe)?
-
@dodi666 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Was hältst du von einer Möglichkeit zur Konfiguration der Symbolik (Fenster/Türe)?
Nix. Außer Du hast nen konkreten Plan, der auch die Lüftungsempfehlungsfunktion etc berücksichtigt. Wenn Du da z.B. einfach ne Türe mit einklinkst wird nach jedem Tür öffnen/schliessen die Lüftungsempfehlung zurückgesetzt. Die Fensteroffenwarnung greift auch nicht mehr weil ne Tür ja auch mal paar Minuten offen sein kann usw.
-
@Pittini
In meinem speziellen Fall hab ich für die Wohnungstüre bis dato einen separaten Raum für die Türe angelegt. Somit kann ich dann die Lüftungsmeldung für den Raum (Flur mit Fenster) und die Türe getrennt voneinander konfigurieren. Ein Flag für Fenster/Türe wäre ja auch denkbar, welches somit dann die von dir genannten Funktionen für die Türe disabled. Zudem gibt es ja auch beispielsweise Terrassentüren mit Kippfunktion, welche durchaus zur Belüftung des Raumes genutzt werden können. -
@Pittini hast Du noch eine Version Deines Skriptes das „einfach“ nur die Räume anzeigt und die Fenster zählt ohne Ventwarning?
-
@der-eine sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
hast Du noch eine Version Deines Skriptes das „einfach“ nur die Räume anzeigt und die Fenster zählt ohne Ventwarning?
https://github.com/Pittini/iobroker-Fensterauswertung/tree/master/V1.2.3-stable
-
@Pittini danke
-
@dodi666 sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
Zudem gibt es ja auch beispielsweise Terrassentüren mit Kippfunktion, welche durchaus zur Belüftung des Raumes genutzt werden können.
Eben, und spätestens da wirds dann schräg. Momentan wird das als Fenster gewertet, gäbs jetzt auch Türen im Skript, würden die meisten es als Tür definieren, was dann die Lüftungs und Öffnungswarnung durcheinander bringen würde, also müßte man es als Tür und Fenster deklarieren können usw. So "einfach" mit nem Flag ist das auch nicht getan, geht schon damit los, wo willste denn das Flag setzen? In der Objektliste bei den Fenstern? Da hats nix zu suchen, das sind Fenster. Also müßte man ne 2te Struktur anlegen, ne 2te Funktion einführen und den halben Code umschreiben wenns anständig gemacht sein soll. Einfach "dranpappen" is Pfusch und wird nicht passieren. Vieleicht mach ich irgendwann mal was in der Richtung wenn mir richtig langweilig ist, aktuell wirds keinerlei Änderungen in der Größenordnung geben.
-
@der-eine sagte in [Vorlage] Generisches Fensteroffenskript + Vis:
danke
Gerne. Kann Dir aber nicht garantieren dass da alles perfekt läuft, das wird nicht gepflegt/weiterentwickelt, kann sein dass da evtl. kleiner Probs auftauchen, wenngleich keiner was gemeldet hat, bzw wenn, dann ist der Bugfix in die aktuelle Version eingeflossen.