Apple TV component does not work on TVos 13

Hey @alfcnx! This is an issue in some sense, for sure. I do not plan to take a turn on this change as I see the benefits being to big. Something I would encourage would be guides to simplify upgrading for people in the same situation. Perhaps @GeneralFailure can yot down the steps needed to make the upgrade and we can make it into a small guide? I can then publish it along with the documentation for pyatv at pyatv.dev. There’s no such section today but I can add it!

OK, @postlund. Thanks. Let’s try to get a short guide for this.
This a short description of what I tried (unsuccessfully). Obviously, my little knowledge is insufficient.
I run Home Assistant in a virtaulenv inside a FreeNas jail (OS FreeBSD 11.3-RELEASE-p7).
I used the set-up from the excellent guide from @troy.
OpenSSL version is 1.0.2. The OS can not be upgraded, because the one in the jail can not be greater than the base OS of the FreeNas system. FreeNas is always behind FreeBSD.

So, I followed the recommendations in https://www.ixsystems.com/community/threads/openssl-update-to-1-1-1.76814/post-535033:
Install OpenSSL 1.1.1 with pkg install openssl and then reinstall the software using the option DEFAULT_VERSIONS+=ssl=openssl111 in /etc/make.conf.
I don’t really know what needs to be installed again to make openssl1.1.1 work in Home Assistant.
I tried this: install again python3.7, create a new virtualenv and re-install Home Assistant in it.

HA starts, but reports problems with several integrations: cloud, mobile_app, alexa and broadlink. In the logs, the common entry is:
Unable to import component: /srv/homeassistant/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: Undefined symbol “OPENSSL_no_config”.

If trying to set-up the AppleTV integration with HACS, I get the same error:
Error occurred loading configuration flow for integration apple_tv: /srv/homeassistant/lib/python3.7/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so: Undefined symbol “OPENSSL_no_config”.

All help is welcomed.

I haven’t figured this out either. It’s a problem for some other integration as well. It’s still months away but I think FreeNAS 12.0 will ship with OpenSSL version 1.1.1 in the base OS.

Hey everyone!
Sorry for the stupid question: Is there a way to open an specific app on ATV?
Was hoping to make some cool wake-up automations with CNNgo or Haystack tv after the light finishes fading-in. Cheers!

Sorry, BSD is not really my domain :frowning: I hope that you get an updated version of FreeNas soon with a later version of OpenSSL!

No, not right now. It is something I want to add and support, but I haven’t managed to reverse engineer it yet.

It is possible via Shortcuts app. Maybe you can find something there.

Anyway, thanks for the component. Works great. :+1:

Yes, I do know that. That’s what I’ve been trying to reverse but not succeeded with yet. It will be something for the future.

i have an automation to do so. in the morning after the light turn on, i use an iptv m3u8 link so you can use cnn channel iptv link instead, and if you have your appletv using CEC shoud wakeup the tv as well. i hope it works for you!!

data:
  entity_id: media_player.dormitorio
  media_content_id: 'http://t13-movil-live.cdn.nedmedia.io/index.m3u8'
  media_content_type: video
service: media_player.play_media

I seemingly ran into this issue today though I do have openssl upgraded to 1.1.1. I followed @troy’s guide in order to do that as a pre-req for HomeKit to function (which I can happily say works quite well).

I am getting some errors in the log about AppleTV though:

2020-09-08 00:01:10 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.34661105552] 'data_apple_tv_entities'
Traceback (most recent call last):
  File "/usr/local/share/homeassistant/lib/python3.7/site-packages/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
    connection.context(msg),
  File "/usr/local/share/homeassistant/lib/python3.7/site-packages/homeassistant/core.py", line 1308, in async_call
    task.result()
  File "/usr/local/share/homeassistant/lib/python3.7/site-packages/homeassistant/core.py", line 1343, in _execute_service
    await handler.func(service_call)
  File "/usr/local/share/homeassistant/lib/python3.7/site-packages/homeassistant/components/apple_tv/__init__.py", line 161, in async_service_handler
    devices = hass.data[DATA_ENTITIES]
KeyError: 'data_apple_tv_entities'

Any ideas?

Hi @postlund
Long time since last time but the artwork stopped now working when using Spotify to my Apple TV. Any ideas about why?

Hi @postlund!!

thanks for all your hard work man! I’ve installed today the HACS component and went through the PIN input process twice (one for the remote and one for airplay). When I had input the information twice, my AppleTV displayed yet a new PIN but the integration had already finished the configuration process. I suspect something is fishy on my end. I run TvOS14 btw!

Could you help me figure out what is going on? At the moment I see a media player and a remote on my front-end but they won’t work. I suspect it has to do with the additional PIN that I was prompted for.

Note that I’ve reset the integration a couple of times with the same result.

thanks a million again!