Im Zweifel (mehrere Tonnen an einem Tag) musst Du den gelieferten Text mittels Script auf die Schlüsselworte scannen und daraus einen komplett neuen Wert erzeugen.
Per Mapping ginge das auch, ist aber sehr umständlich, da Du je Text eine extra Zeile anlegen musst, Du musst also jeden Text exakt kennen, in jeder möglichen Kombination. Leerzeichen musst Du escapen, da sie links vom Gleichheitszeichen stehen. Also z.B.
Code: Alles auswählen
Abfuhr\ Restmüll\ (14tägige\ und\ vierwöchentliche\ Abfuhr)=Restmüll
Abfuhr\ Biomüll=Biomüll
Abfuhr\ Restmüll\ (14tägige\ und\ vierwöchentliche\ Abfuhr)\ und \ Abfuhr\ Biomüll=Restmüll, Biomüll
...
Immer vorausgesetzt, es sind exakt diese Texte, die geliefert werden.
Stattdessen wäre ein Scan auf Schlüsselworte so möglich, ungefähr so:
Code: Alles auswählen
var strMuell = ""
if(input.contains("Rest")) {if(strMuell != "") strMuell = strMuell + ", " strMuell = strMuell + "Rest"}
if(input.contains("Bio")) {if(strMuell != "") strMuell = strMuell + ", " strMuell = strMuell + "Bio"}
if(input.contains("Papier")) {if(strMuell != "") strMuell = strMuell + ", " strMuell = strMuell + "Papier"}
if(input.contains("Wert")) {if(strMuell != "") strMuell = strMuell + ", " strMuell = strMuell + "Wertstoff"}
strMuell
Unter OH4 geht das Scripting in der Transformation auch mittels DSL, ansonsten müsste man halt ein JavaScript Script schreiben, der Code dürfte aber nahezu identisch sein (bis auf die semantischen Feinheiten...)
Die Formatierung des Codes sieht etwas ungewohnt aus, ist hier aber vermutlich besser lesbar. Man könnte den Code natürlich auch "eleganter" bauen und mit einer Schleife arbeiten.
Oder Du erledigst das Ganze innerhalb einer normalen Rule und setzt für jede Müllsorte ein eigenes (ungebundenes) Item.
openHAB4.3.0 stable in einem Debian-Container (bookworm) (Proxmox 8.3.2, LXC), mit openHABian eingerichtet