FHEM und anhaltende Tastendrücke

Begonnen von Uli Zappe, 28 März 2013, 05:03:19

Vorheriges Thema - Nächstes Thema

Uli Zappe

Hallo an alle,

ich habe eine Frage zur zukünftigen Entwicklung von FHEM:

Es gibt Fälle, in denen die Bedienung eines Gerätes über die Dauer eines länger anhaltenden Tastendrucks erfolgt, typischerweise, wenn es darum geht, einen Wert kontinuierlich zu verstellen.

Typische Beispiele wären das kontinuierliche Auf- oder Abdimmen einer Lampe durch einen anhaltenden Tastendruck etwa in FS20, oder das Regeln der Lautstärke einer Audioanlage durch deren Fernbedienung.

(Ein damit verwandtes Bedienungskonzept wären Echtzeit-Regler, also Regler, bei denen sich z.B. während des Verschieben des Reglers die Helligkeit in Echtzeit entsprechend ändert.)

Wenn ich das richtig verstehe, kann FHEM zur Zeit mit dieser Form von Bedienung konzeptionell grundsätzlich nicht umgehen:

  • Von Sendern empfangene Daten liefern nur ein summarisches Ergebnis, FS20 z.B. dimup oder dimdown, ohne jede Information darüber, wann der auslösende Tastendruck begann und wann er endete.
  • Aktoren kann nur ein abschließendes Signal gesandt werden, das das Endresultat widerspiegelt (z.B. FS20: dim87%), aber keine kontinuierliche Folge von Signalen (in regelmäßigen Intervallen) auf dem Weg dahin (dim31% > dim37% > dim43% > dim50% > dim56% > dim62% > dim68% > dim75% > dim81% > dim87%).
  • Das in HTML implementierte Webfrontend erlaubt ebenfalls nicht die Auswertung der Dauer anhaltender Tastendrücke.
Meine Frage wäre, welche der obigen 3 Punkte konzeptionell ausschlaggebend für die jetzigen Einschränkungen sind (alle 3? nur einer oder zwei davon?), und ob hier eine Änderung angedacht ist.

Hintergrund der Frage ist, dass ich meine gesamte FS20-Haussteuerung indirekt gekoppelt über FHEM abwickeln möchte, aber etliche solcher kontinuierlichen Regelungen (Dimmer und andere) habe. Eine denkbare, eingeschränkte Lösung des Problems wäre, kontinuierliche Regelungen über zwei Tastendrücke, Start und Stopp, zu implementieren, wobei sich nach dem ersten Tastendruck die zu regelnde Größe selbsttätig langsam kontinuierlich verstellt, bis dieser Prozess durch den zweiten Tastendruck gestoppt wird.

Bei einer solchen Variante wären die obigen Punkte 1 und 3 kein Problem, und es müsste lediglich Punkt 2 angegangen und ein Modul zum kontinuierlichen Senden der Signale an den Aktor bis zu einem Stoppsignal implementiert werden.

Da es sich dabei aber eben um eine eingeschränkte Lösung des Problems handelt, ergäbe das nicht so viel Sinn, wenn ohnehin geplant sein sollte, dieses Problem in FHEM in nächster Zeit grundsätzlich anzugehen.

Uli

Uli Zappe

Weiß keiner irgendwas, wie es bezüglich dieses Problems mit FHEM weitergehen soll?

UliM

Hi,
die Einschränkung liegt wohl hauptsächlich im Hardwaresystem, also Punkte 1 und 2.
Ein wiederholtes Senden von zB dimup würde sehr schnell die 1%-Regel sprengen, ist also auch kein Ansatz.

Du könntest ein langsames Hichdimmen einstellen, das kann das hardwaresystem immanent. Beispiel findest du im Wiki unter Wakeuplight.

=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Uli Zappe

Hi Uli,

danke für Deine Antwort!

Zitat von: UliM schrieb am Do, 04 April 2013 11:03Ein wiederholtes Senden von zB dimup würde sehr schnell die 1%-Regel sprengen, ist also auch kein Ansatz.
Oooops! Von dieser 1%-Regel hatte ich noch nie gehört ... Das ist ja eine höchst unerfreuliche Einschränkung. :(

Wobei ich mich frage, wie dann die FS20-Dimmer funktionieren sollen - ich kann (unabhängig von FHEM) auf einem FS20-Sender ja problemlos eine Taste lange gedrückt halten, und der Dimmer-Empfänger agiert entsprechend kontinuierlich. Und da habe ich in der Praxis nie eine Einschränkung bemerkt, obwohl bei uns eigentlich "irgendjemand immer gerade irgendwo dimmt". ;)

Aber gut, da gibt's halt 2-3 Sender pro einzelnem Dimmer statt 1 Zentrale für alle Dimmer, und kein Sender weiß von einem anderen. Selbst wenn ELV in ihren Sendern so eine Zeitbeschränkung wie CUL & Co. implementiert hätte, wäre die ja schon von daher Makulatur. (BTW, dass mehrere CULs rechtlich problematisch wären (wenn jeder für sich die 1% ausschöpft), wie im Wiki-Artikel zur 1%-Regel geargwöhnt, kann eigentlich schon aufgrund dieser Parallele nicht sein.)

Hmmmmm ...

ZitatDu könntest ein langsames Hochdimmen einstellen, das kann das hardwaresystem immanent.
Schon klar, das geht, nur wie könnte ich dann durch einen zweiten Tastendruck - wenn mir das Licht hell genug ist - das Hochfahren an genau dieser Stelle stoppen? Das müsste dann ja auch gehen, und da wüsste ich nicht wie.

Das Einzige, was mir einfiele, wäre so etwas "Wackliges" wie die verstrichene Zeit seit dem Dimmstart auch FHEM-intern mitzuzählen, beim Eintreffen des Stopp-Tastendrucks den mutmaßlich aktuellen Status des Dimmers daraus zu errechnen und ihn an diesem Stand mit dem entsprechenden dimn%-Befehl "anzuhalten". Nicht sehr vertrauenseinflößend ... Aber vielleicht wirklich die einzige Möglichkeit ...