I’m going to assume there is no such option available in ESPHome, or someone would have provided a constructive response. I’m still fairly new to it, so wasn’t sure if I’d missed it somewhere.
Hyphens are not allowed in the ESPHome device’s hostname because that does not work with how it translates into code.
It’s the DNS vs mDNS predicament.
I decided to use the use_address option to set the device’s IP address, and assign a static address on my DHCP server. The DNS name can then be whatever you want (with hyphens).
I don’t know too much about mDNS, except that sometimes it takes priority over DNS and breaks my name resolution. On Mac I have to kill the mDNSResponder process to resolve names correctly again
I used to do this and got sick of it. I don’t want to have to maintain so many static DHCP assignments/DNS entries.