Rules doesn't get triggered from KNX-Scene

Hi,

Since upgrading to OH3 I have an issue with a rule which doesn’t get triggered anymore.
The rules should get triggered when a certain scene is activated by a switch on the KNX-bus.

This is the item:

Number Szenen "Szenen" <none> (gALL, gLOG)

The item is linked to a Number-control channel on the KNX binding (was a Number channel before, I changed it to Number-control to see whether this makes any difference) - DPT 17.001
Here is the rule:

rule "GoodN8"
when
	Item Szenen changed to 5
then

	logInfo("TEST", "GoodN8 Szene aktiviert.")
	val String[] exceptions = newArrayList("Licht_Vorraum_Lampe")
		
	var onLights = gLights_E1.members.filter(x | (x.state == ON || x.state > 0) && exceptions.contains( x.name) == false)
	onLights.forEach [light|
		logInfo("GoodN8", light.toString + " ist aus.")
		sendCommand( light, OFF)
		
	]

	onLights = gLights_E2.members.filter(x | (x.state == ON || x.state > 0) && exceptions.contains( x.name) == false)
	onLights.forEach [light|
		logInfo("GoodN8", light.toString + " ist aus.")
		sendCommand( light, OFF)
	]

	LSSchlafzimmer_Volume.sendCommand(18)
	
	createTimer(ZonedDateTime.now.plusMinutes(10)) [|
		Licht_SZ_dim.sendCommand( OFF)
	]

	createTimer(ZonedDateTime.now.plusMinutes(25)) [|
		LSSchlafzimmer_Volume.sendCommand(15)
	]

	createTimer(ZonedDateTime.now.plusMinutes(30)) [|
		LSSchlafzimmer_Volume.sendCommand(12)
	]
	createTimer(ZonedDateTime.now.plusMinutes(35)) [|
		LSSchlafzimmer_Volume.sendCommand(10)
	]
	createTimer(ZonedDateTime.now.plusMinutes(38)) [|
		LSSchlafzimmer_Volume.sendCommand(8)
	]
	createTimer(ZonedDateTime.now.plusMinutes(40)) [|
		LSSchlafzimmer_Volume.sendCommand(6)
	]
	createTimer(ZonedDateTime.now.plusMinutes(45)) [|
		LSSchlafzimmer_Volume.sendCommand(4)
	]
	createTimer(ZonedDateTime.now.plusMinutes(46)) [|
		LSSchlafzimmer_Remote.sendCommand(PAUSE)
	]

	GoodN8_ON = true
	Szenen.postUpdate("99")
end

When I activate the scene the item does get updated to 5, but the rule doesn’t get triggered.

What am I missing here?

Are you sure about 5? Not maybe 5.0?

Better use this approach:

rule "scenes"
when
	Item Szenen changed
then
    var Integer iScene = -1
    if(Szenen.state instanceof Number) 
        iScene = (Szenen.state as Number).intValue
    switch(iScene) {
        case  5: {
            // GoodN8 activated
            ....
        }
        case  4: {
            // another scene
        }
        ...
        case -1: {
            // Szenen.state is not of type number
            logWarn("scenes","Something went wrong! Szenen.state is: {}",Szenen.state)
        }
    }
end

Thanks for the hint.
This seems to work now.