Doppelklick mit Funktasterschnittstelle

Begonnen von Tarja, 20 November 2016, 18:22:55

Vorheriges Thema - Nächstes Thema

UliM

Tarja, erklär doch bitte mal genauer was Du hast und was Du erreichen möchtest.
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Tarja

Also die Kellervariante von Pfriemler entspricht fast meiner Anwendung.
Im Prinzip habe ich einen Schalter im Wohnzimmer für die Deckenlampe aufgrund von mehreren Schaltern, muss ich mit Tasterkontakten arbeiten.

Nun habe ich ein Möbel gebaut mit TV Lift. Das Ziele wäre nun am Abend, wenn man ins Bett geht per longpress den TV Lift runterzufahren.
Ich selber nutze dafür die App aber es gibt da ja noch den bekannten WAF ;-) Für sie wäre der Schalter besser.

Pfriemler

Zitat von: Tarja am 23 November 2016, 21:23:46
Im Prinzip habe ich einen Schalter im Wohnzimmer für die Deckenlampe aufgrund von mehreren Schaltern, muss ich mit Tasterkontakten arbeiten.

Das verstehe ich erst recht nicht mehr...
Welche Bedienelemente hast Du derzeit genau (Schalter, Taster, wie viele "Kanäle" - also Betätigungswippen z.B.)?
Wie viele Geräte musst Du damit schalten? Welche "Familie" ist das (HomeMatic, Hue, ...)
Wie sind die derzeitigen Bedienprozeduren?
Wie würdest Du sie Dir besser vorstellen?
Offenbar wolltest Du den TV-Lift durch einen wiederholten Tastendruck auslösen?
Und wenn Du für den TV-Lift eine App hast - ist das ein anderes System als HomeMatic? Oder steuerst Du ein HomeMatic-Ding über ein App-Frontend, weil gerade keine Hardwaresteuerung dafür verfügbar ist?

Werde mal ganz konkret. Hintergrund: Manchmal ergeben sich interessante Prozeduren durch das Hintertürchen, ohne Kollisionen. Mir fällt spontan ein: Wenn Du abends beim Insbettgehen sicher auch das Licht ausschaltest, macht es z.B. vielleicht gar nichts, wenn der Doppelklick für den TV-Lift zuvor das Licht ausschaltet.

Anderes Beispiel von mir: Ein Sechskanal-Wand-Taster (quer montiert, also drei Spalten mit je einer Taste oben und unten) steuert bei mir drei Lampengruppen mit Dimmern. Die unteren linken und rechten sind per Sequence mit den Rolläden verbandelt: Drei Tastendrücke im Abstand von maximal zwei Sekunden fahren die beiden Rolläden hoch. Auch hier schalte ich zwar sinnloserweise dreimal das Licht aus, aber das ist morgens sowieso aus und bleibt es auch. Die Longpress brauche ich in diesem Fall ja zum Dimmen der Lampen.

Wenn Du also den Fernsehabend final beenden könntest, indem Du wiederholt das Licht ausschaltest, kann Dir FHEM mit einer "sequence" dabei helfen, den Lift herunterzufahren. Wobei ich den Longpress da intuitiver fände. Und wenn ein normaler Longpress dafür u.U. zu kurz sein kann, könnte man  (als Fehlbedienungsschutz) auf einem besonders langen Longpress per FHEM reagieren (z.B. 1 Sekunde). Das nutze ich bspw. beim Ausschalten der Netzsteckdose von Fernseher und Dreambox (deren Abschaltung besorgt sonst ein DOIF, wenn sie mehrere Minuten nicht mehr im LAN auffindbar sind (weil sauber heruntergefahren), der Superlongpress ist quasi nur die Notabschaltung).

Also sag konkret, was Du Dir vorstellst, und wir geben Dir ein paar Ideen, wie Du es umsetzen kannst. Es gibt sehr viele Möglichkeiten ...


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

Tarja

Also vielen Dank für eure Bemühungen.
Also hier die Details.

Habe ein Wandtaster der an einem HM-PBI-4-FM hängt (3 Kanäle unbenutzt) dieser schaltet einen HM Unterputzaktor für die Deckenlampe.
Der TV Lift hängt an einem HM-LC-Sw4-WM (1. Kanal: Lift hoch, 2. Kanal: Lift runter, 3. Kanal: frei, 4. Kanal: frei)

Ziel ist es mit dem Wandtaster sowohl die Deckenlampe, als auch das runterfahren des TV Lifts zu steuern und zwar unabhängig.

Pfriemler

So, da ist im Prinzip (fast) alles gesagt aus meiner Sicht.
a) alles HM-Geräte
b) es steht nur ein Taster zur Verfügung
c) der Lift soll unabhängig heruntergefahren werden können.
Damit scheiden Doppelklick und Sequence praktisch aus und es bleibt bei der Short- bzw. Long-Variante.

Short toggelt dann die Lampe (ein/aus), Long schaltet den Lift zum Herunterfahren ein (Kanal 2). Hat der TV-Lift einen Endanschlag? Muss der Lift dauerhaft (maximal für eine komplette Fahrzeit) angesteuert werden oder reicht ein Impuls zum "Losfahren"?
Bleibt die Frage: Was fährt den Lift herauf? Einschalten des TV?

Ich empfehle ein komplette Lösung per Peering und Registerprogrammierung.

Außerdem schrieb ich:
ZitatUnd wenn ein normaler Longpress dafür u.U. zu kurz sein kann, könnte man  (als Fehlbedienungsschutz) auf einem besonders langen Longpress per FHEM reagieren (z.B. 1 Sekunde)
Das geht natürlich auch direkt über Register, d.h. man kann die Erkennungsschwelle für Longs entsprechend heraufsetzen.

a) Taster mit Deckenlichtaktor peeren (single) - ist ja wohl schon gemacht
b) Taster mit Kanal 2 des LC-Sw4-WM peeren (single)
c) longpress beim Deckenaktor ausschalten
d) shortpress beim LC-Sw4 ausschalten
e) Laufzeitbegrenzung für den Peer "Taster" - entweder maximale Laufzeit bei direkter Motoranssteuerung oder erforderliche "Tastendauer" bei Impulsbetrieb (dann vermutlich etwa 0.5-1s)
Bei direkter Motoransteuerung muss ggf. Fehlbedienung (gleichzeitige Aktivierung des Hochfahr-Kanals 1) abgefangen werden.

Ich hoffe, Du erwartest jetzt keine konkreten Programmierbefehle?

Kann mal jemand die passenden Register für c) und d) beisteuern, hab's einfach nicht im Kopf und mein FHEM ist gerade 500 km weg...
"Ä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 ..."

Tarja

Zitat von: Pfriemler am 24 November 2016, 23:43:24
Ich hoffe, Du erwartest jetzt keine konkreten Programmierbefehle?
Nein das sollte ich selber noch können ist nicht das erste Mal, dass ich die Register ändere. Und sonst frage ich wieder.
Habe nur noch immer nicht den Überblick was denn alles möglich ist mit HM.

Hier noch die Antwort bzgl. Hochfahren:
Der TV Lift wird über die FHEM app von mir oder meiner Frau hochgefahren an eine im Lift gespeicherte Position. Diese Funktion soll NICHT über einen Schalter zugänglich sein, denn ab und zu stellen wir die Legokonstruktionen der Kinder auf das Möbel und es wäre schade, wenn dann Gäste auf den falschen Knopf drücken und die schöne Legoburg zerquetscht wird ;-)

Runterfahren braucht ein permanentes Signal (Todmannschalter), schaltet aber in Endstellung ab. Bisher habe ich das mit einem on-for-timer 40 gelöst. Würde das dann auch direkt im Register ändern

Pfriemler

Danke für die Aufklärung. Dann gibt es also gute Gründe, das Hochfahren an bestimmte Bedingungen zu knüpfen  8). Zudem sollte dann auch soviel Intelligenz vor Ort sein, nicht zeitlich zum Herunterfahren einen Hochfahrbefehl zu erteilen. Davor wollte ich warnen.
Die Register für das Trennen der Aktoren heißen "lgActionType" und "shActionType". Wenn man sie von "jmpToTarget" auf "off" ändert, wird der entsprechende Tastendruck des betreffenden Peers komplett ignoriert. Es sind weiterreichende Aktionen möglich, dann mit anderen Registern. "lgOnTime" auf 40 und gut. Viel Erfolg! (Ich habe selber erst 20% der Möglichkeiten begriffen, es fehlt vielen eine umfassende Doku dazu).
"Ä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 ..."

Tarja

Zitat von: Pfriemler am 25 November 2016, 23:47:28
(Ich habe selber erst 20% der Möglichkeiten begriffen, es fehlt vielen eine umfassende Doku dazu).

Ja genau so ist es! Zwar gibt es die Einsteigerdoku aber dann ist schon bald Schluss. Aber naja ein paar Regentage und nette Leute in einem Forum und schon kommt man schrittweise weiter.

Gebe dann kurz Bescheid, wenn ich es geschafft habe. Und vielen Dank für die Register.

Gruss

martinp876

Das Einsteigerdoc erklärt eigentlich 90% der Funktionen eines Schalters, dimmers, Rollo aktors.
Das a und o ist die statemachine. Dabei gibt es noch ein paar Parameter wie ontime,... Sollte alles m.e. ersichtlich sein.
Zu verstehen ist, dass die statemachine, welche immer die selbe ist (es gibt nur eine) durch Trigger umgeschaltet wird. Der Ablauf ist auch immer identisch: im Kreis.
Hat man dann noch condition table verstanden ist man bei 95%..

Was man damit machen erreichen kann ist etwas anderes. Da muss man sich Gedanken machen. Es geht einiges.

Ok, bei dimmern muss ich zugeben, da geht noch mehr. Durch die virtuelle Kanäle des device . Und die else Logik.