v0.3.1
Fixes the relay switch showing the wrong state when toggled quickly.
The control endpoint returns the resulting relay state, which is now parsed and trusted rather than assumed. A poll or state report already in flight when a command lands no longer overwrites the new state with the old one, and overlapping commands are serialised so two fast presses cannot complete out of order.
Past a short settle window the device is believed again, so a relay changed at the wall — or a command that silently failed — still corrects itself.
Only affects the opt-in relay switch; events and every other entity are unchanged.