Recently I had tried to integrate my Apple TV 4K with following the guide available on Homeassistant’s docs.
You need to scan your device, but I couldn’t get that working for nothing in this world that it was required for the setup.
It’s supposed to work via
apple_tv domain and
apple_tv_scan service .
Maybe I couldn’t due to some missing dependencies, as I have Hass installed via docker. 🤷♂️
So I run into this
/r/homeassistant post that helped me a lot.
Running the following
python script would allow me to find my Apple TV and get the tokens I needed to set it up on Homeassistant
Save this snippet as
atv.py (you may need to either install
import pyatv import asyncio @asyncio.coroutine def discover(loop): atvs = yield from pyatv.scan_for_apple_tvs(loop, timeout=5) print(atvs) # Devices are now in atvs loop = asyncio.get_event_loop() loop.run_until_complete(discover(loop))
And then run:
$ python3 atv.py
This willl print something like this:
[AppleTVDevice(name='Living room', address=IPv4Address('192.168.1.104'), login_id='00000000-0ea5-1c43-c57b-58bb37bd5726', port=3689, airplay_port=7000)]
And voilá, here’s what you need 🎊 to set it up on Homeassistant.
After that, you just need to use this to call
apple_tv_authenticate service and it should all work.
With this setup you’ll have access to the AppleTV component and a remote component that you can use for example to turn on and play stuff when you arrive home…
Or maybe broadcast a voice message to your family, it’s up to your imagination… it’s also creepy 😁.