Genau, allerdings bevorzuge ich den Begriff Proxyitem.

Du legst einfach ein passendes Item an, nach Belieben über die UI, per Textdatei...
Dabei verbindest Du das Item aber mit keinem Channel, es bleibt also "ungebunden".
Dieses ungebundene Item packst Du in die UI. Wenn Du nun das Item über die UI bedienst, gibt es jedes Mal ein received command Ereignis.
Dann brauchst Du noch zwei Rules:
Code: Alles auswählen
rule "Befehl empfangen"
when
Item myProxyItem received command
then
myRealItem.sendCommand(receivedCommand)
end
rule "Status geändert"
when
Item myRealItem changed
then
myProxyItem.postUpdate(newState.toString)
end
Das Betätigen des Items löst den Befehl aus, der an das eigentliche Item weitergeleitet wird.
Ändert sich der Status des "echten" Items, so wird der neue Status an das Proxy Item geleitet, damit die Anzeige korrekt ist.
Es ist essenziell, dass sendCommand und postUpdate genau wie gezeigt verwendet werden, da sich sonst eine Endlosschleife bilden könnte (abgesehen davon, dass es nicht funktionieren würde...)
Da der Befehl zum eigentlichen Item nun von der Rule kommt, hast Du alle Freiheten, vor dem sendCommand() Bedingungen zu setzen.
Die Rules können genauso auch über die UI angelegt werden, in jeder beliebigen Form.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet