fix polling issue by making heartbeat it's own function

Second attempt to get heartbeat.  This time, it will not break the polling.

![](smb://rack1/drop/Screenshot.png)