I’m starting to learn zigbee2mqtt so doing experiments.
I have a paired Zigbee switch, which I disconnected from power supply expecting it will turn unavailable.
While in MQTT confirms it, HA still shows it as OFF.
I have both set. Without them availability is not reported to mqtt.
I also have HueGo which currently is also unavailable and this fact is picked by HA up correctly.
The only difference between mentioned switch and HueGo was, that reporting and availability_timeout params has been enabled after pairing the switch but before pairing HueGo.
After system restart, it started to work as expected.
Seems like autodiscovery caches the fact that ‘availability’ information was inexistent at time of creating entity. If availability information is added later, HA must be restarted to pick up this information