fix (device): ignore null return values in heartbeatless polls.
Or even if there was a heartbeat, but not a full poll request.
We listen on the socket in case the device sends something, but the
default timeout is 100ms so we can check for outgoing messages and
send them in a timely fashion. If nothing comes during that period,
it is not an error.
Possible fix for issue #4845