triggeringItem ist ein implizites Objekt, welches eben das triggernde Item enthält. Hier möchtest Du aber wissen, an welche Lichter der OFF-Befehl gesendet wurde. Du nutzt dazu einfach mehrere Befehle im Lambda:
Code: Alles auswählen
...
then
gLicht.members.filter[ i|i.state != OFF ].forEach[ licht |
licht.sendCommand(OFF)
sendTelegram("bot",licht.name + " musste ausgeschaltet werden!")
]
end
Telegram verwende ich momentan nicht, vermutlich ist die Syntax mindestens leicht abweichend

Der Punkt ist, dass nun für jedes eingeschaltete Licht ein Telegram versendet wird.
Wenn Du nur genau ein Telegram bekommen willst, musst Du mit einer Variablen arbeiten:
Code: Alles auswählen
...
then
var String strLightsOn = ""
gLicht.members.filter[ i|i.state != OFF ].forEach[ licht |
licht.sendCommand(OFF)
if (strLightsOn != "")
strLightsOn =strLightsOn + ", "
strLightsOn =strLightsOn + licht.name
]
if(strLightsOn != "")
sendTelegram("bot",strLightsOn + " musste"+if(strLighsOn.contains(",")) "n" + " ausgeschaltet werden!")
end
In
strLightsOn werden alle Itemnamen der eingeschalteten Lichter gesammelt, während sie abgeschaltet werden. Ist der String anschließend nicht leer, so muss die Nachricht versendet werden. Da der String einen oder auch mehr Namen enthalten kann, muss für eine korrekte Formulierung noch das n in den Text hinein gemogelt werden, falls im Sammelstring mindestens ein Komma vorkommt.
Fleißaufgabe: Finde heraus, wie Du das letzte Komma im Sammelstring durch die Zeichenfolge " und" ersetzen kannst und denke daran, den ternären Operator (das ist das if() im sendTelegram) entsprechend anzupassen.

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