Ob die Werte nun gleich sind, ist ja nicht gesagt. Ich verstehe aber auch nicht so ganz, was Du da tust.
Besser wäre folgender Code:
Code: Alles auswählen
var Number position = 100 - (i_rolladenaz_shutter.state as Number)
if (position != (i_rolladenaz_shutter_invert_percentage.state as Number))
{
logInfo("rolladenaz.rules", "Received postUpdate {}, {}", position,i_rolladenaz_shutter_invert_percentage.state)
i_rolladenaz_shutter_invert_percentage.postUpdate(position)
}
Natürlich solltest Du vorher sicherstellen, dass sowohl i_rolladenaz_shutter.state als auch i_rolladenaz_shutter_invert_percentage.state vom Typ Number sind. Das trifft normalerweise auf Rollershutter Items und auf Number Items zu, es sei denn das Item hat keinen gültigen Wert, z.B., weil openHAB gerade neu gestartet wurde.
Der Loggername ist auch nicht so ganz günstig, per Definition gehören alle logs aus dne rules zur Rubrik org.openhab.model.script, bzw. org.eclipse.smarthome.model.script, warum sollte man hier also eine Redundanz schaffen?
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet