Ja, das ist kein Problem. Es gibt dazu verschiedene Möglichkeiten, z.B.
Code: Alles auswählen
aWATTarHourlyPrice_Today.members.sortBy[ name ].filter[item,index|index>=now.getHour].forEach[i|
Die Elemente der Gruppe (members) werden zunächst nach dem Namen sortiert (alphabetisch aufsteigend). Anschließend werden die Items gefiltert, und zwar in diesem Fall nach dem Index innerhalb der Liste, wobei der Index größer oder gleich der Stunde der aktuellen Zeit sein muss.
Das funktioniert hier, weil der Index zufälligerweise mit den Nummern im Namen übereinstimmt.

Der Index ist immer die zweite Variable innerhalb des Lambdas (also vor dem |) und wird nur selten gebraucht, hier aber enorm praktisch.
Besser wäre es natürlich, die Stunde stünde getrennt (durch _) im Itemnamen, so:
aWATTarHourlyPrice_Today_00_Totalgross denn dann könnte man direkt auf den Index im Itemnamen zugreifen (ohne weitere Verrenkungen)
Code: Alles auswählen
aWATTarHourlyPrice_Today.members.sortBy[ name ].filter[item|Integer.parseInt(item.name.split("_").get(2)) >= now.getHour].forEach[i|
dieser Ausdruck ist schon "schlimm genug", aber letztlich noch ganz gut zu verstehen
Ohne das Leerzeichen:
Code: Alles auswählen
aWATTarHourlyPrice_Today.members.sortBy[ name ].filter[item|Integer.parseInt(item.name.split("_").get(1).substring(5,6)) >= now.getHour].forEach[i|
also auch noch "irgendwie handlebar, aber halt definitiv nicht mehr selbsterklärend. Die erste Zahl bei substring() gibt die Startposition an, die zweite Zahl die Endposition, Endposition - Startposition + 1 entspricht dann der Länge des zurückgelieferten Strings. Man könnte auch so abfragen:
Code: Alles auswählen
aWATTarHourlyPrice_Today.members.sortBy[ name ].filter[item|Integer.parseInt(item.name.substring(24,25)) >= now.getHour].forEach[i|
was zwar kürzer, aber eben auch nicht verständlicher ist.
Leider unterstützt das Awattar Binding offensichtlich noch nicht den neuesten "geilen Scheiß", was Dir die Arbeit hier nämlich erleichtern könnte, wäre die Forecast Persistence (keine Ahnung, ob das der korrekte Name ist). Die Idee dahinter ist, dass Messwerte für zukünftige Zeitpunkte einfach unter dem passenden Zeitstempel in die Persistence geschrieben werden. Und von dort kann man sie dann auch leicht abrufen, sei es als Chart der in die Zukunft schaut oder als Abfrage eines Zeitraums, der mit der aktuellen Zeit startet und in der Zukunft endet. Mit verschiedenen Wetterprognosen funktioniert das schon und man braucht nicht mehr 120 Items, um die Stundenwerte eines Messwerts für die nächsten fünf Tage abrufbar zu haben. Das funktioniert nicht mit jeder Persistence, rrd4j ist da raus.
Eventuell wäre ein Feature Request zum Awattar Binding sinnvoll (im englischen Forum...)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet