added another callback if value has not been actually changed. There are two reasons for that:
1)if we enable polling of a value, then a valueChanged callback is fired every time even though the value has not been really changed, so we need to keep track of the previous state. If a value has not been change we call the nochange callback. Otherwise, we fire either on or off callback
2) there is a bug in OpenZwave/Zwave or somewhere in our code...Sometimes the wrong value is reported right away even the state oof the device is changed, so the nochange callback gives us a possibility to spot this case. We may emplement more advanced mechanism if it is required. Anyway, not it is posted on the openzwave forum, will see what is a problem here