v0.16.3-beta.1 - FCM listener watchdog (beta)
Pre-release
Pre-release
Beta release — please test before promoting to stable
Fixed
- FCM listener no longer reconnects after 3 sequential transport errors (#3) — the upstream
firebase_messagingclient used to abort its receiver and never reconnect, leaving the doorbell camera black:auto_onansweredcall_startingbut the push carrying the signaling payload never arrived.FcmPushClientnow usesFcmPushClientConfig(abort_on_sequential_error_count=None)so the library keeps retrying with its own backoff.- A 60s watchdog (
async_track_time_interval) revives the listener ifis_startedflips toFalse.ensure_running()is serialised by anasyncio.Lockso overlapping ticks cannot spawn parallelFcmPushClientinstances while a slowstart()is still handshaking. - The notification grace period is intentionally not re-armed on revival — the existing
_processed_notificationsdedup deque already filters re-deliveries, and re-arming the blackout could drop a real doorbell ring landing during the window.
How to test
- Install via HACS with Show beta versions enabled, or download the source for
v0.16.3-beta.1manually. - Restart Home Assistant.
- Verify the camera preview still works.
- (Optional) Watch the logs for
WARNING ... FCM listener revived for device ...— that is the watchdog kicking in after a network glitch. The camera should keep working without manual reload.
If everything is stable for a few days, this will be promoted to v0.16.3.