И так результат такой.
Насчет heartbeat. Проверил датчики aqara герконы, отправляют heartbeat каждые 50 минут. Эти 50 минут всегда отсчитываются от последнего отправление сигнала от датчика, будь ли то сработка геркона, heartbeat или нажатие кнопки на датчике. Всегда следующий heartbeat будет через 50 минут.
Собрал логику при которой в брокере запускается таймер на 52 минуты. Время обновление берет от объекта link_quality.
Если от датчика не будет приходить извещении на протяжение 52 минут, то скрипт отправит на Телеграм сообщение. И объект в моем случае
sensor_service_information.heart_beat.2_poverkh_balkon_dveri
станет true. Стояние этого объекта можно завести в VIS, где при потери связи с датчиком можно включить визуальную индикацию.
Если связь с датчиком восстановится, то объект
sensor_service_information.heart_beat.2_poverkh_balkon_dveri
примет значение false. И так будет держатся пока снова не пропадет связь с датчиком.