HM Schaltaktor - Notify bei langem Tastendruck

Begonnen von galdo, 11 Juni 2015, 21:54:15

Vorheriges Thema - Nächstes Thema

sn0000py

Hallo ich hole dieses Thema mal rauf ...
Ich habe auch einen HM-LC-Sw1PBU damit schalte ich das Licht im Wohnzimmer.
Ich möchte nun wenn ich lange draufdrücke, das ich den Sleep Modus aktiviere ... also da sollte das Licht nicht geschaltet werden, sondern eben dann alles von FHEM gemacht werden...
Wie ist hier die vorgehensweise?

Pfriemler

FHEM kann doch eigentlich immer alles machen...
Wenn ich das richtig verstehe, möchtest Du, dass bei einem langen Tastendruck keine Aktion am Aktor erfolgt, aber FHEM etwas mitgeteilt wird. Ersteres lässt sich registern, zweiteres geht mit diesem Aktor nicht mit der Werksfirmware, weil der Aktor keine Tastenbetätigungen sendet, sondern nur Schaltzustandsänderungrn.
Cracks könnten den Aktor mit einer alternativen Firmware versehen, dann wäre das möglich. Siehe gepinnter Thread im Homematic-Bereich.
"Ä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 ..."

sn0000py

Aber so wie ich es gelesen habe geht es ohne der Firmware Änderung auch?
Nicht 100% perfekt aber es sollte gehen, nur habe es noch nicht so ganz verstanden wie ...

Wuppi68

Zitat von: sn0000py am 20 März 2017, 09:46:31
Aber so wie ich es gelesen habe geht es ohne der Firmware Änderung auch?
Nicht 100% perfekt aber es sollte gehen, nur habe es noch nicht so ganz verstanden wie ...

1. interne Schalter sichtbar machen
2. für Langes Event on-for--timer/off-for-timer  in den Registern setzen
3. Notify auf timed-on setzen und den Status des Schalters abfragen und dort ggfls wieder an/aus schalten, damit der Ausgang aufgrund des Timers nicht flappt
FHEM unter Proxmox als VM

sn0000py

was bedeutet
Zitat von: Wuppi68 am 20 März 2017, 12:43:00
1. interne Schalter sichtbar machen
??
Wie mache ich die "sichtbar" ?

Wuppi68

FHEM unter Proxmox als VM

BoobFrog

#51
Ich hole das Thema mal hoch, komme noch nicht so ganz weiter.
Nutze FHEM zwar schon länger aber eher in der Grundkonfiguration ohne viele Extras.

Nun habe ich FHEM mit dem HM-LC-Sw1PBU-FM erweitert um das normale Deckenlicht zu schalten.
Jetzt würde ich mit dem Schalter aber gerne noch mehr schalten als nur das Deckenlicht.

Geplant:
Kurz an / aus für das Deckenlicht
Lang an / aus für ein paar Hue Lampen im Wohnzimmer

Von den 3 Schritte die Wuppi68 beschrieben hatte ich mit dem ersten kein Problem.
Dafür aber mit dem 2ten und 3ten, weiß irgendwie nicht genau wie bzw. wo ich da ansetzen muss.

Wenn ich es richtig verstanden habe:
Lange drücken, schaltet Deckenlicht und nach x Sekunden dann die Hue Lampen?

vielleicht würde sich einer bereit erklären ein kleines HowTo zu erstellen?

MfG

Pfriemler

Erst mal: Willkommen im Forum als aktives Mitglied!

Trotzdem: erwartest Du dass wir jetzt den ganzen alten Thread nochmal studieren um zu wissen, was Du mit wuppis 2. und 3. Schritt meinst?

Sag doch bitte mal konkret, was nicht funktioniert.

Dass der von Dir erwähnte Schalter keine direkte Schaltaktion auslösen kann, sondern bestenfalls FHEM über ein Notify auf eine Spezialbedienung (zeitbegrenztes Einschalten bei langem Tastendruck und Auswertung des readings "timedOn" reagieren kann, ist schon klar, oder?
"Ä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 ..."

BoobFrog

Vielen dank für das Willkommen, wusste gar nicht das dies mein erster Beitrag ist. Lese hier schon gefühlt ewig mit.

Entschuldige dies sollte kein Aufruf sein das jemand das ganze Thema noch mal lesen muss, hab eben aber auch erst das mit dem Zitieren gefunden.

Zitat von: Wuppi68 am 20 März 2017, 12:43:00
1. interne Schalter sichtbar machen
2. für Langes Event on-for--timer/off-for-timer  in den Registern setzen
3. Notify auf timed-on setzen und den Status des Schalters abfragen und dort ggfls wieder an/aus schalten, damit der Ausgang aufgrund des Timers nicht flappt


Diese 3 Schritte meine ich, nur habe ich leider absolut keine Ahnung wie und wo ich bei den nächsten Schritten ansetzten kann.
Deswegen war bzw. bin ich in der Hoffnung das jemand mir dies erklären kann.
Wie gesagt bin ich bis jetzt noch nicht wirklich tief in FHEM vorgedrungen und habe nur eher die einfachen Sachen oder solche mit HowTo gemacht.

Vielen Dank schon mal!

Pfriemler

#54
So wird es was.
Also ich habe da gerade was ins Wiki zur Registerprogrammierung geschrieben und verweise mal darauf.
Schritt 2 wäre jetzt das zeitliche Begrenzen der Laufzeit der Lampe. Das kann ganz pragmatisch auch mit 30 Stunden Laufzeit sein und wird im praktischen Betrieb daher gar nicht auffallen, aber den Unterschied kann FHEM merken.

Programmiere also z.B. "set <schalter> regSet lgOnTime 111111 self02" (<schalter> durch den Namen Deines HM-LC-Sw1PBU-FM ersetzen).
Das sind mehr als 30 Stunden und ich nehme an, dass die obere Taste self02 zum Einschalten gedacht ist.
Dann reagiere mit Notify oder DOIF auf "<schalter>:timedOn" und dem Wert running (im DOIF wäre das z.B. [schalter:timedOn:"running"], notify ist ein bisschen anders) und schaltest damit die HUE ein.
Mit einem kurzen Druck auf den Lichtschalter oben schaltest Du nur das Licht am Aktor ein, mit einem langen auch, aber dann auch die HUEs. Aktor geht also immer mit an, geht nicht anders.

Nicht ganz so logisch ist es mit dem Ausschalten: kurz und lang unten auf den Aktor schaltet den Aktor aus, den Unterschied bekommt FHEM nicht mit. Damit lassen sich die HUE nicht direkt ausschalten, indirekt schon. Denn wenn Du die HUE per notify/DOIF ausschalten lässt, wenn der Aktor wieder in den zeitlich unbegrenzten Zustand wechselt (timedOn also auf "off" geht), schalten sie auch aus, wenn der Aktor ausgeht - denn dann wird timedOn ebenfalls "off".

Das wäre kurzgefasst dann so zu bedienen:
- kurz oben: Licht an, HUE aus (über Notify/DOIF)
- lang oben: Licht an, HUE ein (über Notify/DOIF)
- kurz oder lang unten: Licht aus, HUE aus (über Notify/DOIF).

Ein DOIF könnte so aussehen (Name des DOIF und Bezeichnung für schalter und HUE entsprechend anpassen, soll nur Prinzip erläutern)
define d_SetHueByPBU DOIF ([schalter:timedOn] eq "running") (set HUE on) DOELSEIF ([schalter:timedOn] eq "off") (set HUE off)
attr d_SetHueByPBU DOIF do always

(ungeprüft)/edit: korrigiert

Wenn jemand ne bessere Idee hat, her damit.
"Ä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 ..."

BoobFrog

Hey danke für deine schnelle und ausführliche Hilfe!
Werde es am Wochenende mal probieren.

Ich hatte noch etwas gelesen wenn man eine andere Firmware aufspielt der Taster auch Leistung messen kann und das man Lange und Kurz drücken separat ansteuern kann?
Wenn ich das richtig verstanden habe muss ich nur nen ISP auflöten und mit meinem AVRISP II von Atmel die Firmware flashen?!
Dazu in FHEM noch die neuen Optionen hinterlegen.

Hab ich das richtig verstanden? Wenn ja wäre dies ja fast eine einfachere und bessere Lösung.

MfG
Dennis

Pfriemler

Zu der alternativen Firmware kann ich nichts sagen - dafür gibt es einen eigenen Thread. Wenn Du Dir das zutraust, gut. Hier war eher gefragt, wie es auch ohne geht.
Leistungsmessung ist relativ: der Aktor kann erkennen, ob er belastet ist - interessant für Wechselschaltungen, sonst eher nicht.

Die von mir vorgeschlagene Lösung habe ich an einem HM-LC-Sw1-Pl (als Schalter) und einem HM-LC-Dim1T-Pl (als Slave) per genanntem DOIF getestet und es hat einwandfrei funktioniert, durch die Laufzeit der Meldungen mit 2-3 Sekunden Verzögerung. Aber es hat sicher funktioniert.

"Ä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 ..."

BoobFrog

Ok perfekt werde auf jeden Fall erstmal deine Lösung probieren und gucken wie es passt und gefällt.
Der Basteltrieb wird wahrscheinlich dann doch eine andere FW auf den Schalter Zaubern... :D

Danke für die schnelle und ausführliche Hilfe!