Du kannst die schon als QuantityType addieren, aber die Daten müssen dann auch in diesem Format vorliegen.
Es ist außerdem niemals sicher, dass ein Item auch einen gültigen Wert hat (solange Du das nicht vorher geprüft hast...), also besser:
Code: Alles auswählen
rule "PV Produktion gesamt"
when
Item Solaredge_PV_Produktion_Jahr changed
then
val newVal = if(newState instanceof Number) (newState as Number) else 0|Wh
val oldVal = if(Solaredge_SE3H_Produktion_Jahr.state instanceof Number) (Solaredge_SE3H_Produktion_Jahr.state as Number) else 0|Wh
logInfo("pvGesamt", "Wert neu: {} Wert alt: {}", newVal, oldVal)
PV_Produktion_Gesamt.postUpdate(newVal + oldVal)
end
Allerdings: Wenn Du von "dem jetzigen" Wechselrichter schreibst, kann es sein, dass Dein Wechselrichter getauscht wurde, Du also gar nicht zwei Wechselrichter hast, sondern einen neuen, bei dem Du den (fixen, unveränderlichen) alten Wert mit beaufschlagen willst, zumindest bis Ende des Jahres...? Das ginge weitaus einfacher, wenn Du die betreffenden Werte notierst und in lokalen Konstanten definierst und diese zum Item addierst, das ginge sogar über ein Offset Profile im Link zwischen Channel und Item, also ganz ohne Rules.
Ansonsten müsste die Rule nicht nur bei Änderung der einen Jahressumme triggern, sondern zusätzlich auch bei Änderung der zweiten Jahressumme, und dann wäre es sinnvoller, ein Group Item mit der Aggregation SUM zu nutzen, womit die Rule dann wieder obsolet wäre...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet