Race Condition with MQTT and Apple HomeKit causing an issue with 2024.11

Using the Ring and MQTT add ons. Pushing my alarm control panel to HomeKit via HomeKit bridge.

After upgrading to 2024.11 I am getting this in the logs on reboot and the alarm control panel is missing in HomeKit. Reloading that particular HomeKit bridge manually causes it to pick up the alarm control panel (which is working fine). Looks like HomeKit bridge starts before MQTT has a value for that Ring alarm.

Is there a way to set like a 2 minute delay on HomeAssistant start and then read that specific HomeKit bridge instance? Or another way to solve this?

Logger: homeassistant.components.homekit
Source: components/homekit/__init__.py:758
integration: HomeKit Bridge (documentation, issues)
First occurred: 8:22:35 PM (1 occurrences)
Last logged: 8:22:35 PM

Failed to create a HomeKit accessory for alarm_control_panel.home_alarm
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/homekit/__init__.py", line 758, in add_bridge_accessory
    acc = get_accessory(self.hass, self.driver, state, aid, conf)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/homekit/accessories.py", line 280, in get_accessory
    return TYPES[a_type](hass, driver, name, state.entity_id, aid, config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/homekit/type_security_systems.py", line 141, in __init__
    self.async_update_state(state)
  File "/usr/src/homeassistant/homeassistant/components/homekit/type_security_systems.py", line 160, in async_update_state
    hass_state = AlarmControlPanelState(new_state.state)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 757, in __call__
    return cls.__new__(cls, value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 1171, in __new__
    raise ve_exc
ValueError: 'unavailable' is not a valid AlarmControlPanelState

Seeing the same issue with my Ring panel, just starting a few days ago. Uneducated guess since I haven’t looked yet and am just googling the issue while on dad duty - seems to me that “unavailable” should just be a valid state so that it can catch up a few seconds later when it becomes available?

This should be fixed soon per Alarm control panel exported to HomeKit bridge error · Issue #129867 · home-assistant/core · GitHub