reboot_timeout (Optional, Time): The amount of time to wait before rebooting when no WiFi connection exists. Can be disabled by setting this to 0s, but note that the low level IP stack currently seems to have issues with WiFi where a full reboot is required to get the interface back working. Defaults to 15min.
Actually, this seems rather linked to the api: component.
In the same vein, if “api” is enabled but no HA connected to the esphome device, it also reboots after 15 minutes
reboot_timeout (Optional, Time): The amount of time to wait before rebooting when no client connects to the API. This is needed because sometimes the low level ESP functions report that the ESP is connected to the network, when in fact it is not - only a full reboot fixes it. Can be disabled by setting this to 0s. Defaults to 15min.
User error. Just posting for anyone else runs into the same issue.
Something I failed to realise but obviously the API is only connected once the device has been adopted into HA. I assumed if you upload a yaml file to your device in the ESPHome add on tab the API would automatically be connected.
Thanks for the post above that got me to think about the correct things to understand where i went wrong.