Nein, das ist so auch nicht die korrekte Herangehensweise.
Lege stattdessen einen Dimmtaster mit Zwei-Flächen-Bedienung an (links aus, dunkler, rechts an, heller) Dann verknüpfst Du zwei GA, die eine Kurzzeit (das ist ON/OFF), die zweite Langzeit (Dimmen heller/dunkler). Es bietet sich an, die Langzeit Funktion auf zyklisches Wiederholen einzustellen, z.B. alle 300 Millisekunden.
Auf openHAB-Seite konfigurierst Du für die Taste einen dimmer-control Channel (control ist hier essenziell). Bei den GA trägst Du für switch die Kurzzeit GA ein, position bleibt leer(!) und die Langzeit GA trägst Du als increaseDecrease ein. So:
Code: Alles auswählen
Type dimmer-control : squeeze1 "Volume/Track" [ switch="1/0/0",increaseDecrease="1/0/1" ]
Kurzzeit ist hier also 1/0/0, Langzeit 1/0/1.
Den Channel verknüpfst Du mit einem Dimmer Item:
Code: Alles auswählen
Dimmer NEGBad_Squeeze "Volume/Track" {channel="knx:device:bridge:GiraTSplus1_1_120:squeeze1", autoupdate="false"}
Das autoupdate ist optional, mit ist halt ordentlicher.
Die zugehörige Rule:
Code: Alles auswählen
rule "SB BadEG dimm"
when
Item NEGBad_Squeeze1 received command
then
switch receivedCommand {
case OFF : {
logDebug("Squeezebox","Bad EG Titel zurück")
SquBadEG_Prev.sendCommand(ON)
}
case ON : {
logDebug("Squeezebox","Bad EG Titel vor")
SquBadEG_Next.sendCommand(ON)
}
case IINCREASE : {
logDebug("Squeezebox","Bad EG lauter")
SquBadEG_Volume.sendCommand((SquBadEG_Volume.state as Number) + 5)
}
case DECREASE : {
logDebug("Squeezebox","Bad EG leiser")
SquBadEG_Volume.sendCommand((SquBadEG_Volume.state as Number) - 5)
}
}
end
Hier steuere ich eine Squeezebox (genauer, eine SqueezeLite Instanz) an, ein kurzer Tastendruck springt in der Titelliste vor/zurück, ein langer Tastendruck steigert/senkt die Lautstärke in 5-Prozent-Schritten.
Wenn Du den Taster nicht zum zyklischen Senden überreden kannst, kannst Du in openHAB im Dimmer Channel den optionalen Parameter frequency setzen, damit generiert openHAB selbst die entsprechende Befehlswiederholung. Natürlich muss der Taster dann auch ein Stopp-Telegramm generieren, welches openHAB dann ebenfalls auswertet (das passiert in der gleichen GA, DPT 3.007 (Increase/Decrease, Wert 1 - 7 -> Increase, Wert 9 - 15 -> Decrease, Wert 0 und 8 -> Stopp, der Wert der Bits 1 - 3 (Dezimal 0-7) ist die sogenannte Schrittweite, 7 = 100 %, 0 = 0%, die Werte dazwischen halbieren sich jeweils.
Die Konfiguraiton kannst Du exakt so natürlich auch über die UI vornehmen

openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet