* when setting a channel's value, store it as prevValue in tuya mapping.
If we see this value again in TuyaMCU_OnChannelChanged, just do not
propagate this value to TuyaMCU again.
* TuyaMCU dimmers like moes smart dimmer module 105 are controlled by a
push button. After long button press, TuyaMCU automatically starts dimming slowly
from low to high and back to low. This is repeated until the button is released,
selecting the current dimmer level.
While cycling thorugh the dimming range, TuyaMCU reports the current dimming
level in short intervals. We update our Channel with this value, but we must not
run CHANNEL_OnChanged, as this will set the same value to TuyaMCUs data point again.
However, TuyaMCU did already change its data point value internally, so we would
set an old value, which leads to flicker on dimming.
* add Tuya_SendState (and typed variants) to set value of a data point
* add tuy sendQueryState command to query state of TuyaMCU's data points
* add a new channel type "dimmer" (normalized value from 0..100)
* run TuyaMCU_OnChannelChanged, whenever a Channel is set to a new value:
This updates TuyaMCU's data point linked to the channel
* map normalized dimmer value (0..100) to TuyaMCU's dimmer range
(tuyaMcu_setDimmerRange)