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

Fenstergriff mit Status "closed/tilted/open" im Datenpunkt wie einbinden? #48

Open adnet-solutions opened 2 years ago

adnet-solutions commented 2 years ago

Ich habe Enocean Fenstergriffe welche als status "closed/tilted/open" liefern. Wie kann ich die mit dem Script auswerten? Ich habe dem Datenpunkt der den Status enthält die Funktion "Fenster" zugewiesen. Aber er wertet den nicht wirklich aus. Auch meine Terassentuer hat diesen Fenstergriff mit den selben Status und ist der Fuktion "Tuer" zugewiesen. Auch dort geht es nicht wirklich das die Tuer ausgwertet wird.

Pittini commented 2 years ago

Grundsätzlich geht das, auch die HM Fenstergriffe liefern 3 Stati. Enocean hatte ich noch nicht, die Frage ist einfach, welche Werte die tatsächlich liefern, da mußt mal in die settings des Datenpunktes guggen, das ganze muß dann zu den Zuordungen in Zeile 81-83 passen. Wenn gar nix passiert, stimmt iwas anderes nicht, zumindest irgendwas (wenn vielleicht auch falsch) sollte schon passieren. Mal den JS Adapter neugestartet nach der Zuordnung zu Fenster/Tuer?

adnet-solutions commented 2 years ago

das sind die einstellungen vom Datenpunkt. { "_id": "fhem.0.fenster_eg_sz_strasse_status.state", "type": "state", "common": { "name": "fenster strasse state", "type": "string", "role": "state", "read": true, "write": false }, "native": { "Name": "fenster_eg_sz_strasse_status", "Attribute": "state", "Readings": true, "StateBoolean": true, "StateValue": true, "type": "string", "role": "state" }, "value": { "val": "tilted" }, "from": "system.adapter.fhem.0", "user": "system.user.admin", "ts": 1641072145223, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }

Was auffällt ist das beim öffnen er das fenster als offen zählt. jedoch beim schliessen nicht als geschlossen erkennt bzw auch den übergang von "open" nach "tilted" nicht erkennt. Das issue ist das die Fenstergriffe natürlich kurz nacheinander den status ändern da er immer beim kippen erst über open nach tilted geht. ggf ist es ein timing issue? nur weiss ich net wie ich das abfangen kann. ggf mit einem dummy DP der erst nach einem timeout also zeitverzögert über ein extra blockly gesetzt wird. Nur kenn ich mich da echt null aus. Leider muss ich die Sachen auch über FHEM nach iobroker bringen da ich enocoan noch nicht wirklich in IOBroker einbinden kann.

Pittini commented 2 years ago

Wenn das script "open" erkennt, die anderen Werte aber nicht, ist die grundsätzliche Funktion da, jetzt muß man mal guggen worans hängt. Mach doch mal das logging im Skript an und gugg was da drin steht, bzw. poste es hier nach nem Wechsel von open zu /tilted/closed.

adnet-solutions commented 2 years ago

Es sieht so als als enn ich den Fehler gefunden habe. Der Griff hat einen Zusätzlichen Status "open_from_tilted" den er zwischen sendet. Das hat das Script scheinbar durcheinander gebracht. ich habe nun mal den bei open mit eingefügt und nun scheint es zu gehen. Werd es mal beobachten. Wäre gut wenn man irgendwie auf enthält open in dem State parsen würde als auf "ist gleich". Das wäre denke ich vielseitiger und weniger Fehleranfällig.

Pittini commented 2 years ago

Wäre gut wenn man irgendwie auf enthält open in dem State parsen würde als auf "ist gleich". Das wäre denke ich vielseitiger und weniger Fehleranfällig.

Naja, Du bist der erste mit so nem Problem/Gerät, von daher seh ich das nicht als fehleranfällig, vorallem wenn es mit einem zusätzlichen Eintrag erledigt ist, genau deshalb hab ich das ja so flexibel vorgesehen.

adnet-solutions commented 2 years ago

Ok :-) Aber eine frage habe ich noch. Kann man irgendwie zw innen und aussentüren unterscheiden bzw das erweitern? Ich habe an allen türen sensoren und würd gern wissen ob die offen oder zu sind, jedoch bei aussentüren ist das kritischer und die sollten gemeldet werden bzw extra angezeigt werden da die ja quasi „einbruchsrelevant“ sind.

Pittini commented 2 years ago

Kann man irgendwie zw innen und aussentüren unterscheiden bzw das erweitern?

Nein. Du kannst aber bestimmte Türen/Fenster die unwichtig sind pro Raum excludieren. Evtl. wär auch ne möglichkeit nen extra Raum "Hülle" anzulegen und dort die sicherheitsrelevanten Sachen reinzupacken. Das Skript war nie als Alarmanlage gedacht, deswegen ist da sowas an sich nicht vorgesehen.

adnet-solutions commented 2 years ago

Es geht ja nicht nur um eine Alarmanlage sondern auch um die Überwachung für den Fensterstatus um die Heizung zu steuern. Wenn ich eine Außentür oder ein Fenster öffne brauche ich den Status um die Heizung im Raum ggf abzusenken oder Auszuschalten. Wenn ich eine Innentür öffne dann soll die Heizung nicht angefasst werden.