On my system, Z-Wave is usually the last thing to load, so I typically use the zwave.network_complete to trigger other things like announcements that HA has restarted. I use homeassistant_start as an announcement event that HA is in pre-flight checks mode.
Yup, on my instance, Z-Wave always loads last even after the homeassistant_start event has fired. So, I have an automation that traps on homeassistant_start first and notifies that HA in is pre-flight mode. Then, once Z-Wave has loaded, I start homekit and a couple of custom python apps I have running and then do a final announcement that HA is up.