fix(device): speed up heartbeats
Between 2026.3.3 and 2026.4.0 the heartbeat logic was fixed to respect a set heartbeat interval
instead of sending a heartbeat every time around the loop that a full poll is not sent.
This was done after confirming the code in tinytuya.receive would just passively listen for
asynchronous updates if no heartbeat was sent.
Heartbeat interval was set to 10s, on the assumption that devices that timeout the connection
without heartbeats will time them out at around 30s. Upstream tinytuya has recently changed their
heartbeat interval from 20s to 8s based on bug reports, so it seems that there are devices that
timeout at 10s, and a heartbeat interval of 10s risks just missing the timeout. Previously we tried
reverting to every time around the loop, but as expected this causes problems for other devices
that get overloaded by too frequent communication, which the original change was fixing.
Possible fix for remaining devices still seeing #5136 in 2026.7.1
This may also provide an improvement on #5136 if that is caused by devices not updating asynchronously without a heartbeat.