thkl / hap-homematic

a AddOn for HomeMatic CCU3 (Raspberrymatic) that will bring HomeKit to your CCU
MIT License
221 stars 25 forks source link

Garagentor nutzen mit zwei Sensoren #397

Open ciddi89 opened 3 years ago

ciddi89 commented 3 years ago

Hallo,

Um das Thema von diesem Issue nochmal aufzugreifen. Gibt es mittlerweile eine Möglichkeit ein Garagentor mit zwei HmIP Tür.- und Fenstersensoren zu nutzen ohne das in HomeKit dauerhaft "Opening..." angezeigt wird?

Danke und LG

thkl commented 3 years ago

Nope ich muss das mal durch den Simulator laufen lassen, um zu sehen was da schief geht

robbyHuelsi commented 3 years ago

Hallo,

inzwischen wechselte ich auch von homebridge-homematic auf hap-homematic. Das Zwei-Sensor-Garagentor-Problem beschäftigt mich hier jedoch weiterhin. Die fehlerhaften Zustände sind weiterhin genauso, wie in Issue #573 (homebridge-homematic) beschrieben.

Meine neue Config in HAP: Screenshot Config in HAP

Daraus entsteht in der config.json:

"settings": {
    "state_sensor_close": "false",
    "state_sensor_open": true,
    "delay_actor_open": 5,
    "delay_actor_close": 5,
    "message_actor_open": "{\"on\":true,\"onTime\":1}",
    "message_actor_close": "{\"on\":true,\"onTime\":1}",
    "sensor_requery_time": 25,
    "address_sensor_close": "BidCos-RF.LEQ1455294:2.STATE",
    "address_sensor_open": "BidCos-RF.LEQ1455294:1.STATE",
    "address_actor_open": "BidCos-RF.NEQ1459651:1.STATE",
    "address_actor_close": "BidCos-RF.NEQ1459651:1.STATE"
}

Interessant hier: "false" mit Anführungszeichen - true ohne Anführungszeichen. Aber das ist bestimmt nur ein Randphänomen.

Da ich inzwischen in zwei Haushalten diese Funktion einsetzen möchste, würde ich mich sehr freuen, wenn es bald hier Fortschritt gibt. 😃

Vielen Dank und liebe Grüße!

thkl commented 3 years ago

Hallo,

die Vergleiche der Stati werden durch eine interne didMatch Funktion gemacht. Und in der wird auch true = "true" und false = "false" als wahr verglichen ...

Die Logik eines 2 Sensor Tores ist:

CloseSensor Wert = Wert des Gerätes & OpenSensor Wert != Wert des Gerätes -> Tor geschlossen CloseSensor Wert != Wert des Gerätes & OpenSensor Wert = Wert des Gerätes -> Tor geöffnet CloseSensor Wert != Wert des Gerätes & OpenSensor Wert != Wert des Gerätes -> Tor öffnend

robbyHuelsi commented 3 years ago

Hallo Thomas,

Du meinst wahrscheinlich die Logik, die ab hier implementiert ist, oder? Das erklärt schon mal, warum "Tor schließend" nicht ausgegeben wird. Das wäre natürlich zukünftig nice to have, aber für Erkennung bzw. Unterscheidung zu "Tor öffnend" muss dann der Zustand in der Vergangenheit betrachtet werden, das machts natürlich schwieriger. Darauf kann ich eigentlich auch verzichten.

Mein großes Problem besteht im Zusammenhang mit "Tor geschlossen". Ich denke, die Logik gibt schon Sinn so. Hier habe ich (damals noch bei homebridge-homematic, aber das Verhalten ist noch das selbe) Ist und Soll der Zustände aufgelistet. Unter 4. siehst Du, dass iOS sogar eine Push-Mitteilung mit dem richten Zustand anzeigt, wenn der CloseSensor betätigt wird. Also die Logik passt, sonst würde der Push nicht zur richtigen Zeit kommen. ABER in der Home-App wird es weiterhin angezeigt, dass das Tor sich öffnen würde. Auch dann, wenn ich die App neustarte. Wieso? 🤔 Die Menschen in meinem Umfeld sind immer sehr irritiert, wenn sie in der App sehen, dass das Garagentor gerade unbeabsichtigt geöffnet wird... 👀

thkl commented 3 years ago

ich versuche das mal im Simulator nachzustellen ....

Den Zustand öffnen oder schließen kann ich nur bedingt richtig darstellen. Wenn die Betätigung aus HomeKit erfolgt, dann weiss ich ja ob es geöffnet oder geschlossen werden soll und dann kann ich auch den richtigen Zustand setzen. Für eine Betätigung die aus der CCU erfolgt sehe ich nur die Änderungen der Sensoren.

robbyHuelsi commented 3 years ago

Zum Fehler "Tor geschlossen": Wäre klasse, wenn Du da mal drüber gucken könntest. 👍

Zum Fehler "Tor schließend": Stimmt, das wäre eine Option. Könnte man nicht aber auch aus der CCU auslesen, welcher der beiden Sensoren sich zuletzt geändert hat und den Zustand dann daraus schlussfolgern? Dann wäre der Zustand auch dann richtig, wenn das Tor nicht über HomeKit gesteuert wird. Aber wie gesagt, das ist nicht so wichtig wie das andere Problem. 😊

thkl commented 3 years ago

So, ich habe das jetzt so angepasst, das die Stati stimmen sollten, und auch Öffnen und Schließen aus den zuletzt bekannten Stati der Kontakte abgeleitet wird. Eine Sache ist aber noch.

Es gibt ja die Möglichkeit das Tor in eine Lüftungsposition zu versetzen. Bei einem 2 Sensor Betrieb sind dann beide Kontakte offen. Das ist das gleiche wie, wenn der Aktor mittendrin gestoppt wird. Hier würde in der jetzigen Implementierung HomeKit auf "öffnend" oder "Schließend" stehen ...

So recht habe ich noch keine Idee wie ich das besser hinbekommen könnte.

robbyHuelsi commented 3 years ago

Hey, genial! Nächstes Wochenende werde ich das testen können und berichte dann. Bin schon sehr gespannt. Vielen lieben Dank schonmal! 🙏

Von der Lüftungsposition wusste ich bislang gar nichts. Was mir spontan einfällt: Einen dritten Sensor, der diese Position detektiert. Ich z.B. nutze den HM-PBI-4-FM, hätte noch einen Kanal übrig und auch die Möglichkeit, an der Führungsschiene bei einer solchen Position einen Taster anzubringen. Problem: Wenn die Position erreicht ist, muss der Motor so schnell gestoppt werden, dass der Sensor noch betätigt bleibt... Aber bislang habe ich diese Funktion auch noch nicht vermisst und denke, ich bräuchte sie auch nicht. Aber vielleicht meldet sich ja jemand, der diese Funktion nutzen möchte, dann kann man das nochmal in einem neuen Issue diskutieren. 👍

ciddi89 commented 3 years ago

Super! Ich bedanke mich auch dafür das es nun doch klappt mit den zweiten Sensor. :))

Das mit der Lüftungsposition bräuchte ich auch nicht und wenn diese Funktion jemanden fehlt, wird dieser sich sicherlich melden. 🙈

Ein Riesen Dank nochmal!

ghost commented 3 years ago

Ich verzweifle seit gestern Abend. Ich habe die Homematic Geräte HM-Sec-TiS sowie HM-LC-Sw1-Pl-CT . Ich kriege es einfach nicht hin das alles rund läuft. Ich kann das Garagentor steuern und der Zwischenstecker wird auch zurück gesetzt. Aber in der Home App steht das Garagentor die ganze Zeit auf schließen obwohl es geschlossen ist. PNG-Bild

thkl commented 3 years ago

Die Änderung in obigem File ist noch nicht im aktuellen Release. Hast du das File aus dem Repo genommen oder bist Du auf dem "normalen" Release ?

ghost commented 3 years ago

Ich bin auf dem „normalen“ Release, laut HAP Oberfläche 0.0.61.

Heute morgen stand in der Home App das Garagentor auf geöffnet obwohl es geschlossen war. Das würde ja bedeuten das die Werte des Sensors einfach getauscht werden müssen. Das habe ich dann gemacht, brachte aber kein Erfolg.

robbyHuelsi commented 3 years ago

Es klingt für mich nach dem Bug, der hier diskutiert wird. Wenn Du den "normalen" Release nutzt, dann kann es noch nicht klappen. Wie Thomas sagte: "Die Änderung in obigem File ist noch nicht im aktuellen Release."

Kopiere mal die die beiden Dateien, die Thomas in diesem Commit geändert hat, in Deine RaspberryMatic-Instanz und probiere es dann nochmal:

https://github.com/thkl/hap-homematic/commit/c506527320c207c32e6c643e45f23ef3c51e096b

⚠️ Backup von RaspberryMatic davor machen!

ciddi89 commented 3 years ago

Hallo @thkl

Seit dem neusten Update scheint es nun mit zwei Sensoren fast zu funktionieren. Nur ein State wird fehlerhaft in HomeKit angezeigt. Nämlich beim Öffnen springt er erst auf öffnen und dann auf schließen. Garagentor fährt dann auf und dann wird der richtige State "geöffnet" angezeigt. Beim Schließen stimmt alles. Tor fährt zu und HomeKit zeigt "schließen" an und wenn es geschlossen ist steht es auch auf "geschlossen". Kann man den Fehler beim öffnen irgendwie noch beheben?

Ich danke schon mal

robbyHuelsi commented 3 years ago

Hallo,

es hat lange gedauert, aber endlich kam ich dazu, wieder auf 2-Sensor-Betrieb umzuschalten und zu testen. Ich schließe mich @ciddi89 an: Bei mir ist der Fehler exakt auch so. Dieser Fix wäre noch das i-Tüpfelchen, aber ich kann auch so gut damit leben. 👍

An dieser Stelle nochmal vielen lieben Dank @thkl für die Verbesserung! Ich lasse Dir über den PayPal-Link bisschen was für die Snack-Pause da. ☕️🍪

Viele Grüße

thkl commented 3 years ago

kann mal bitte jemand das DebugLog anschalten (https://github.com/thkl/hap-homematic/wiki/Troubleshooting#running-in-debug-mode ) dann Das Tor einmal bewegen, das der Fehler verursacht wird; und dann das Log Downloaden und hier anhängen.

Dann könnte ich sehen was da schief läuft.

robbyHuelsi commented 3 years ago

Ich hab Dir gerade die Datei per E-Mail geschickt.

https://user-images.githubusercontent.com/10974639/125850337-ac776e16-bf23-4074-a88a-99314e5225d2.mov

ChrWi commented 3 years ago

@thkl das von @ciddi89 und @robbyHuelsi genannte Verhalten habe ich auch bei einem Sensor gemäß Wiki. Ich kann nur nicht mehr nachvollziehen, seit welchem Release. Habe das Öffnen sowie das Schließen gefilmt.

https://user-images.githubusercontent.com/52505025/135729435-4991f49c-5524-4d9a-9aab-367025ea017b.MP4

https://user-images.githubusercontent.com/52505025/135729446-c7629d99-816b-4136-8f95-322cd9dc70c1.MP4

Für mich nichts Wildes, sondern das o.g. i-Tüpfelchen

blackbasket commented 2 years ago

@ciddi89 besteht das Problem noch? Sonst bitte das Ticket schließen. Danke :)

ciddi89 commented 2 years ago

@blackbasket Ja dieses Problem besteht noch da diesbezüglich noch kein Update kam. Oder sollte sich was wegen dem neuen Home Update etwas geändert haben?