If query does not work as expected

I’m very new to OpenHAB. I use OpenHAB 2 and try to write a rule for Hue motion detectors.
It looks like this:
rule "Test FLHueMotion"
Item FLHueMotion changed
if FLHueMotion.state == true
{logInfo(“Motion”,“Test - state = true”)}
{logInfo(“Motion”,“Test - state = false”)}

For any reason the if statement always returns false.
In the log I see that FLHueMotion changes like this:

2016-11-20 21:03:19.211 [ItemStateChangedEvent ] - FLHueMotion changed from false to true
2016-11-20 21:03:29.521 [ItemStateChangedEvent ] - FLHueMotion changed from true to false

2016-11-20 21:03:19.780 [INFO ] [clipse.smarthome.model.script.Motion] - Test - FLHueMotion state = false
2016-11-20 21:03:29.550 [INFO ] [clipse.smarthome.model.script.Motion] - Test - FLHueMotion changed
2016-11-20 21:03:29.551 [INFO ] [clipse.smarthome.model.script.Motion] - Test - FLHueMotion state = false

What do I wrong?
Any help would be greatly appreciated.

Ok, got it, == “true” works…

But I have a similar problem using false/true in a “when” statement:

Item WZHueMotion changed to true or
Item FLHueMotion changed to true or

is true if i.e. FLHueMotion changes to true (as expected) but also if it changes to false.
No idea why. Already tried
… changed to "true"
this did not change anything.

I’m not sure how universal support for changed to is in the when clause. I’ve seen lots of people have difficulty getting it to work with String Items.