Du brauchst nur ein einziges Item, nämlich dieses:
E3DC_PVPower
Ich gehe davon aus, dass der Wert korrekt mit der Einheit
W übergeben wird.
Nun hast Du direkt die Wahl, in welcher Einheit Du im Item den Wert gespeichert haben möchtest.
Aber Obacht! Die Entscheidung sollte einmalig getroffen und danach nicht mehr geändert werden.
Diese Einheit legst Du über die Metadaten des Items fest, und dort über den Parameter
unit.
Setze
unit z.B. auf
kW, so wird der Wert in
kW gespeichert. Du könntest auch
W,
mW,
MW oder gar
GW angeben

und openHAB wird - ohne irgendwelche Verrenkungen - den Wert korrekt in MilliWatt, Watt, MegaWatt oder GigaWatt speichern.
Die
unit bestimmt auch, in welcher Einheit der Wert in der
Analyze Ansicht angezeigt und in der Persistence allgemein gespeichert wird.
Die Anzeige kannst Du ebenfalls mittels Metadaten steuern, und zwar über
State Description ->
Pattern. Dort trägst Du dann z.B.
%.2f kW ein, um eine Anzeige der Form
1,23 kW für den Eingangswert
1234 W zu erhalten. Gespeichert wird der Wert dabei dennoch in der Einheit, die Du gewählt hast, ohne Verlust von Nachkommastellen.
Innerhalb von Rules möchtest Du evtl. den nackten Zahlenwert verwenden, also ohne Einheit. Dazu castest Du dann den Wert nach
Number und wendest
.floatValue an:
und auch hier dran denken: der Status enthält den Zahlenwert in dem Format, der über
unit angegeben wurde, also bei
unit dW z.B.
12340 dW für
1234 W Eingangswert. (dW = DeziWatt, eher unüblich, aber sei's drum...)
Ganz allgemein kann man sagen, dass UoM (Units of Measurement) bzw. QuantityType als Datentyp eine extrem mächtige Funktion von openHAB darstellt. Funktioniert z.B. auch, um aus d°C einfach °F oder K abzuleiten - ganz ohne Rules...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet