Homematic Dimmer HM-LC-Dim1TPBU-FM Tastendruck event unterscheiden

Begonnen von willib, 13 Januar 2020, 11:32:57

Vorheriges Thema - Nächstes Thema

willib

Moin
ich weiß, dass der HM-LC-Dim1TPBU-FM keine events des Sensors erzeugt. Nur Änderungen des Aktors tauchen im Eventmonitor auf.
Gibt es trotzdem eine Möglichkeit zu unterscheiden ob der Taster am HM-LC-Dim1TPBU-FM gedrückt wurde, oder ob der Schaltbefehl von der VCCU gekommen ist?
Ich möchte mit dem Aus Taster eine scene starten. Das klapp auch gut. Nur wenn ich den Dimmer per VCCU ausschalte, soll die scene nicht gestartet werden.
Hat da jemand einen Tipp oder Codeschnipsel für mich?
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD

Pfriemler

Ich nutze bei meinen Dimmern/Rolladenaktoren, die ich aber via FHEM nur per Slider oder mit pct steuere, das ein:

In userReadings diesen Teil einsetzen oder anfügen:
setTo:level..set.* {(split("_",ReadingsVal($name,"level","?")))[1]} , lastControl:pct.* {if (ReadingsVal($name,"pct","?") == ReadingsVal($name,"setTo","?")) {"fhem"} else {"manual"}}

Das Reading setTo enthält / bekommt den letzten Wunschwert aus FHEM, sobald nach einem entsprechenden Befehl in level ein "set_xx" auftaucht. Sobald der Aktor eine Rückmeldung liefert, wird das mit diesem Wunschwert verglichen. Stimmen sie überein, ist die Wahrscheinlichkeit, dass der Befehl aus fhem kam, sehr hoch - folglich wird lastControl "fhem" sein. Wenn diese Werte nicht stimmen, hat wohl ein anderes Objekt (was auch eine gepeerte Fernbedienung sein kann) den Level geändert und lastContol wird "manual".

Eine zweite Lösung, die aber umständlicher ist: Setze ein Reading bei jeder Änderung, die Du aus FHEM an diesem Aktor erzeugst. Prüfe beim Reagieren auf den Auszustand, ob dieses Reading nur ein paar Sekunden alt ist - dann wurde der Befehl wohl von FHEM ausgelöst, anderenfalls kann die Szene starten.
So etwas nutze ich bei meinem Garagentor. Ich kann auf diese Weise erkennen und melden, wenn das Tor bewegt wurde ohne dass der Befehl aus oder über FHEM kam. Da ich mit einem Taster im Fahrzeug auch über FHEM gehe, bleibt dann der (seltene) Fall einer Handfunkernbedienung oder aber der wahrscheinlichere Fall, dass der Paketbote das Codeschloss benutzt hat. Beide senden Funkbefehle, die FHEM nicht empfangen kann. Sollte sich am Tor also was tun, ohne dass es eben einen Befehl aus FHEM gab, dann war da wohl was.
"Änd're nie in fhem.cfg, denn das tut hier allen weh!" *** Wheezy@Raspi(3), HMWLAN+HMUART, CUL868(SlowRF) für FHT+KS+FS20, miniCUL433, Rademacher DuoFern *** "... kaum macht man es richtig, funktioniert es ..."

willib

Coole Ansätze.
Der einfache Fall funktioniert leider bei mir nicht. Das lastControl Reading enthält auch fhem wenn ich am Dimmer schalte.
Ich versuche mal deine zweite Lösung.
FHEM in Debian 10 LXC unter Proxmox auf NUC, Homematic, Hue, Intertechno, Jeelink, RFXTRX, Harmony Hub, VU+ Uno 4K, Sonos, AMAD