Das Problem ist hier der Trigger. Wenn der Schalter auf knx-Seite eine "echte" Lampe über knx steuert, dann handelt es sich um einen Channel, der mit dem Aktor gekoppelt ist. Der Schalter wird gar nicht direkt verwendet, nur der Zustand der Lampe wird ausgewertet.
Jetzt ist die erste Frage: Soll das so, oder ist das nur ein Test? Denn es hängt entscheidend davon ab, ob Du einen Taster exklusiv für Musicast verwenden möchtest, oder ob Du mit Einschalten der Beleuchtung einfach Musicast mit einschalten möchtest.
Paralleles Einschalten: Ändere den Trigger der Rule auf changed ab:
Code: Alles auswählen
rule "Musicast schalten"
when
Item MeineLampe changed
then
MeinMusicast.sendCommand(newState.toString)
end
Wenn die Lampe eingeschaltet wird, zieht das einen Einschaltbefehl für Musicast nach sich, ebenso in der anderen Richtung. Musicast läuft als Slave. Es ist dabei egal, wie die Lampe geschaltet wird, ob per UI, per Rule, von knx per Taster oder auch per Szene, weil der Status in openHAB immer den Zustand der Lampe widerspiegelt.
Dazu braucht es keine Rule.

Du musst lediglich beide Channel mit dem selben Item verlinken. Zusätzlich musst Du im Link vom knx Channel auf das Item als Profile "follow" auswählen. Fortan werden Statusänderungen in knx als Befehl an Musicast weitergeleitet.
Unabhängiges Einschalten über eine Taste, die sonst nichts steuert:
Soll eine Taste in knx etwas innerhalb openHAB steuern, aber nichts auf knx-Seite, so muss der betreffende Channel als switch-control Channel definiert werden.
der Unterschied zwischen switch und switch-control:
Bei switch ist openHAB die Schaltzentrale, sie sendet einen Schaltbefehl an knx, dort wird der Schaltbefehl ausgeführt. knx meldet den neuen Schaltzustand an openHAB zurück.
Bei switch-control ist die Rollenverteilung umgekehrt. openHAB nimmt Schaltbefehle von knx an und sendet den neuen Status an knx zurück. openHAB übernimmt sozusagen die Rolle des Aktors. Natürlich übernimmt openHAB diese Rolle nur stellvertretend gegenüber knx. In Wirklichkeit ist ja Musicast das System, welches den Schaltvorgang tatsächlich ausführt.
Auch hier kann man mit Rule und zwei Items arbeiten:
Code: Alles auswählen
rule "Musicast schalten"
when
Item MeinKnxSchalter received command
then
MeinMusicast.sendCommand(receivedCommand)
end
weil der Channel als switch-control definiert wurde, werden ankommende Telegramme nicht als Status Änderung gewertet, sondern als Befehle.
Auch hier braucht es keine Rule

Jetzt musst Du lediglich die zwei Channel mit dem selben Item verknüpfen. Da knx ohnehin schon als Befehl ankommt, wird dieser Befehl auch direkt an den Musicast Channel weitergeleitet.
Zu beachten ist noch, dass uneingeschränkt die oberste GA-Regel gilt: Nur die jeweils erste (oder Haupt-) GA ist sendend. Das heißt:
Code: Alles auswählen
Type switch : ch1 "Lampe" [ ga="1/1/1+<1/1/2" ]
Type switch-control : ch2 "Taste" [ ga="1/1/3+1/1/4" ]
GA 1/1/1 wird verwendet, um die Lampe von openHAB aus ein- und auszuschalten. GA 1/1/2 meldet den aktuellen Zustand der Lampe.
GA 1/1/4 wird verwendet, um den Schaltbefehl vom Taster zu empfangen. GA 1/1/3 wird verwendet, um den Zustand des Channels an knx zu senden (denn es ist die erste angegeben GA) Bei ch1 hält knx den Status im Aktor. Bei ch2 hält openHAB den Status (im verknüpften Item).
erhält ein Item, welches mit einem switch-control Channel verknüpft ist, per postUpdate() einen neuen Status, so wird dieser Status an knx gesendet. Dieses Verhalten ist sehr besonders, aber auch gut begründet.
Gewöhnlich wirkt postUpdate() ausschließlich auf den Status eines Items, während sendCommand() ausschließlich einen Befehl an die verknüpften Channel sendet.