When a device is "Unavailable" in Hass it does not reflect this in Apple Home as "No Response"

Hi,

I am migrating from homebridge to Hass to get some more functionality. There is one issue though which I can’t seem to find the answer for in the documentation/forums/google…

On Homebridge, when a MQTT device is unavailable (checking through LWT) it shows as “No Response” in the Apple Home app which is what you want, it reflects the state the device is in.

On Hass I am also checking though MQTT LWT if it is available.
When it is not available it shows in the Hass dashboard as Unavailable like you would expect. So far so good, MQTT LWT working as expected.

In homekit through Hass it also works fine when it is available. However when it is unavailable it does not reflect this in the Apple Home app, it just shows the light in the last state it was in rather than “No Response”.
It’s also possible to just tap the switch in homekit and it will just look as if it worked but in reality the whole device is actually unavailable

Is this behavior expected? Has the available state been implemented in the homekit component? Do I need to enable something I missed?

MQTT Snippet:

light:
        - platform: mqtt
          name: outside_light
          availability_topic: "tele/th10_5/LWT"
          command_topic: "cmnd/th10_5/POWER"
          state_topic: "stat/th10_5/RESULT"
          value_template: "{{ value_json.POWER }}"
          payload_on: "ON"
          payload_off: "OFF"
          payload_available: "Online"
          payload_not_available: "Offline"
          qos: 1
          retain: false

Homekit snippet:

homekit:
        filter:
                include_entities:
                        - light.kitchen_lights
                        - light.staircase_up
                        - light.staircase_down
                        - light.outside_light
1 Like

Did you figure anything out?
I just switched from using Homebridge add-on, and now I am really missing this feature!

Unfortunately I did not.

I have homebridge and Hass both login to the same MQTT broker. That way I can expose the MQTT switches over homebridge to homekit but still have Hass do the automation with it. It works fine this way.

In the configurations.yaml for hass you then just need to use “filter:” under the “homekit:” section to exclude the same switches you are already exposing through homebridge.

It’s not a fix but it’s a decent workaround. From either Homekit or the Hass gui you can’t see this is happening in the background.