Ich habe mein KNX-System mit acht neuen Tastern nachrüsten lassen. Jetzt möchte ich die Tasten mit einer Logik ausstatten nur weiss ich nicht wie ich das am beste mache.
Mir gibt es eine Adresse mit On und Off zurück damit ich maximal flexibel bin.
Ich möchte einen kurzen Tastendruck (<0.5 Sekunden), einen mittellangen (>0.5 <1.0 Sekunden) und ein langen (>1.0 Sekunden) .
Soll ich für jede Taste einen Helfer (input_boolean?) pro Tastendruck machen oder reicht einer für alle?
Irgendwie verstehe ich das mit den Helfern noch nicht richtig darum die Frage wie ihr es lösen würdet oder gelöst habt.
Möchtest Du die Funktionen (kurz/mittel/lang) denn über Home Assistant in KNX auslösen? Oder möchtest Du in Home Assistant etwas auslösen, wenn die Taster entsprechend gedrückt werden?
Ich möche in HA etwas auslösen wenn die Tasten entsprechend gedrückt werden (Doppelklick wäre auch noch eine zusätzlich Variante).
Beispiel: kurz = Saugroboter reinigen alles, mittel = Saugroboter reinigt nur Küche, lang = Saugroboter reinigt Wohnzimmer, Doppelklick = Saugroboter beendet reinigung
Werden die KNX-Taster nicht als Button in HA angezeigt? Dann könntest Du nämlich die Kurz-, Lang- und Doppel-Tastaktion ohne Umweg über die Custom:Buttom-Card (HACS) realisieren.
Die KNX-Taster werden als Button angezeigt nachdem ich sie “gemappt” habe.
Das mit der Button-Card könnte funktionieren, werde ich testen.
Allerdings wäre es schön eine eigene “logik” zu haben damit ich nicht von dritten Abhängig bin, oder sieht ihr das anders?
Für mich hat die Nutzung einer Funktion (Taste gedrückt), die durch eine Karte bereitgestellt wird zunächst nichts mit Logik zu tun. Die folgt dann in der Aktion, in der man auch einen Skript (mit Logik) aufrufen kann.
Aber es führen bekanntlich viele Wege nach Rom und wenn man Spaß daran hat solche Funktion im Detail selber zu bauen ist das ja auch OK.
Ich verstehe dein Gedanke und werde es vorübrgehend mal so versuchen, allerdings ist man dann immer “abhängig” von der Integration (obowohl, wo ist man das nicht ;))
Werde dann meine Lösung hier teilen falls ich eine andere nehme oder jemand noch einen anderen (mir noch unbekannten) Weg vorschlägt
Danke schonmal für deine. Tipp!
Also wenn ich jetzt nicht ganz falsch unterwegs bin, muss dein KNX-Taster das explizit unterstützen in seiner Applikation. Also kurzer, mittellanger und langer Druck generieren unterschiedliche Events, d.h. sprechen im einfachsten Fall verschiedene GA an.
Die Länge des Tastendrucks auf einen “dummen” KNX Taster wirst du in HA nicht abfragen können, da der Tastendruck ein Event für den KNX Bus ist und mit dem Auslösen abgeschlossen. D.h., HA bekommt nicht mit, wie lange du den Taster gedrückt hälst.
Richtig.
Die unterschiedliche Druckdauer sollte in der ETS mit den unterschiedlichen Kommunikationsobjekten mit verschiedenen Gruppenadressen verbunden sein.
Diese drei GAs (kurz, mittel, lang) in HA im KNX-Setup als Switches dann unterschiedlichen Entities zuordnen.
Mein Taster ergibt nur eine Rückmeldung wann die Taste gedrückt wird (on) und wann losgelassen (off). Mit dieser Einstellung sollte ich doch am flexibelsten sein um “Tastenkombinationen” zu erstellen um nicht jedes mal die ETS Datei zu ändern falls ich was anpassen möchte (kommt vermutlich nie vor aber man weiss ja nie)?
Unten sieht man eingefärbt die verschiedenen “Drucklängen”.
185 -186 = Klick
187-188 = kurz
189-190 = mittel
191-192 = lang
193-194/195-196 = Doppelklick
Edit: Falsches Bild Hochgeladen darum Nummern zu Zahlen gewechselt:
Vielleicht werde ich im Alter etwas farbenblind, aber ich seh keine Einfärbungen…
Der Taster liefert immer einen Event auf die selbe GA. Um daraus in HA was Sinnvolles zu machen, müsstest du die Zeiten zwischen Drücken und Loslassen in HA messen um daraus die verschiedenen Events abzuleiten. Witziger Ansatz, keine Ahnung ob das funktioniert.
Danke für die Rückmeldung, ich kann dich beruhigen, habe das falsche Bild hochgeladen .
Habe mich schlecht am Anfang ausgedruckt, ich wollte eigentlich mit den Zeiten zwischen den Events einen Helfer erstellen um dann zu wissen obe es ein kurz, mittel oder langer Tastendruck war. Nur bin ich mir nicht sicher wie ich das anstellen soll
Viele moderne KNX Taster beherrschen wenigstens Kurz- und Langklick. Die MDTs sogar kurz, lang und extra-lang. Check nochmal die Applikation, vlt kann deiner ja wenigstens kurz und lang…das wären dann 2 GA zum spielen und weniger Hirnakrobatik in HA…
Ich gebe mal ein Update zu meinem Frage/ eigener Anforderung.
Mitlerweile kann kann ich die Lampe mit einem kurzen Klick < 0.5 Sekunden an- und ausschalten, und bei einem längeren klick >0.5 Sekunden wird sie gedimmt, das nächste mal erhellt.
Ebenfalls kann ich auch mehrere Klicks mit unterschiedlichen “Tastendrucklängen” auswerten. Allerdings gefällt mir die Lösung mit dem Langen druck besser (wieso wollte ich überhaupt mehrere Drucklängen? )
Als letztes muss ich jetzt noch einen Doppelklick einbauen das ich einen Klick, Doppelklick und einen langen Klick habe.
Falls jemand mein Lösungsweg genauer Beschrieben haben will würde ich meine Lösung nach überarbeitung hier teilen (werde ich vermutlich so oder so, evtl. hat jemand noch eine bessere ;))
Ich danke schonmal allen die hier Inputs und Ideen geliefert haben wie man das lösen kann
Hallo,
ich bin noch ganz neu hier und mit Home Assistant.
Ich habe (leider) ein paar KNX Taster im Haus, wo ich die Funktionen Schalter/Wippe nur ganz generell für den gesamten Taster definieren kann und leider nicht pro Taster bzw. Tastereihe.
Jetzt möchte/muss ich aber mit einem dieser Taster die Lampen in der Küche und aber auch die Raffstores in der Küche damit bedienen.
Dafür bräuchte ich auch so eine Simulation eines kurzen und langen Tastendruckes. Damit ich dann darauf von HA aus darauf reagieren kann.
Und daher glaube ich, dass ich in diesem Thread richtig bin.
Wäre es bitte möglich den Code für deine Lösung zu sehen, damit ich mich daran orientieren kann? Das wäre sehr hilfreich.
Sorry für die späte Antwort. Folgende Helfer und Sensoren habe ich pro Taste erstellt.
Helfer für den zustand ob gedimmt oder erhellt werden soll.
input_boolean.knx_taste_1_2_gedimmt
Binary Sensor für die Taste, context_timeout für die Erkennung eines Doppelklicks.