External integration - Apple TV

Thanks for your feedback. I will look in detail at the access point mode, but from memory I had doubts about my configuration on the impacts it could have.

The version of the integration is the latest 2.0 (ghcr.io/valentinhttr/gladys-apple-tv:2.0.0)

Here are the logs following the new scan, I put everything hoping you see something that impacts mDNS.

[2026-10-01T17:47:53.027Z] [INFO] [apple-tv] Starting the Gladys Apple TV integration
[2026-10-01T17:47:53.090Z] [INFO] [apple-tv:pyatv] Starting the pyatv worker (/opt/pyatv/bin/python3 /app/src/pyatv_bridge.py)
[2026-10-01T17:47:53.489Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
2026-10-01 19:47:54,429 INFO [pyatv-bridge] pyatv 0.18.0 bridge ready (storage: /data/pyatv.json)
[2026-10-01T17:48:01.515Z] [INFO] [apple-tv] 3 mDNS announcement(s) captured by Gladys, 2 device configuration(s) available without a direct query
[2026-10-01T17:48:05.959Z] [INFO] [apple-tv] Scan requested
[2026-10-01T17:48:05.971Z] [WARN] [apple-tv] The mediated mDNS scan failed: Conflict
[2026-10-01T17:48:05.972Z] [WARN] [apple-tv] No candidate address found. Check that Gladys and your Apple TV are on the same network, or try a manual address when direct traffic still exits on the Apple TV local subnet.
[2026-10-01T17:48:09.545Z] [INFO] [apple-tv] 3 mDNS announcement(s) captured by Gladys, 2 device configuration(s) available without a direct query
[2026-10-02T17:33:37.556Z] [WARN] [gladys-sdk] connection to Gladys lost (close code 1006)
[2026-10-02T17:33:37.556Z] [WARN] [gladys-sdk] not connected to Gladys (ws://172.30.0.1:80), retrying in 1000 ms (attempt 1)
[2026-10-02T17:33:38.560Z] [ERROR] [gladys-sdk] websocket error on ws://172.30.0.1:80: connect ECONNREFUSED 172.30.0.1:80
[2026-10-02T17:33:38.560Z] [WARN] [gladys-sdk] not connected to Gladys (ws://172.30.0.1:80), retrying in 2000 ms (attempt 2)
[2026-10-02T17:33:40.562Z] [ERROR] [gladys-sdk] websocket error on ws://172.30.0.1:80: connect ECONNREFUSED 172.30.0.1:80
[2026-10-02T17:33:40.562Z] [WARN] [gladys-sdk] not connected to Gladys (ws://172.30.0.1:80), retrying in 4000 ms (attempt 3)
[2026-10-02T17:33:45.134Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
[2026-10-02T17:33:53.187Z] [INFO] [apple-tv] 2 mDNS announcement(s) captured by Gladys, 1 device configuration(s) available without a direct query
[2026-10-02T17:34:03.339Z] [INFO] [apple-tv] Received SIGTERM, closing the Apple TV sessions
[2026-10-02T17:34:03.867Z] [INFO] [apple-tv] Starting the Gladys Apple TV integration
[2026-10-02T17:34:03.871Z] [INFO] [apple-tv:pyatv] Starting the pyatv worker (/opt/pyatv/bin/python3 /app/src/pyatv_bridge.py)
[2026-10-02T17:34:04.468Z] [INFO] [gladys-sdk] connected to Gladys (http://172.30.0.1:80)
2026-10-02 19:34:05,471 INFO [pyatv-bridge] pyatv 0.18.0 bridge ready (storage: /data/pyatv.json)
[2026-10-02T17:34:12.585Z] [INFO] [apple-tv] 3 mDNS announcement(s) captured by Gladys, 2 device configuration(s) available without a direct query
[2026-10-02T17:34:20.612Z] [INFO] [apple-tv] 3 mDNS announcement(s) captured by Gladys, 2 device configuration(s) available without a direct query
[2026-10-02T18:15:23.296Z] [INFO] [apple-tv] Scan requested
[2026-10-02T18:15:31.314Z] [INFO] [apple-tv] Gladys captured 3 mDNS announcement(s) across 2 service(s): _airplay._tcp.local, _raop._tcp.local
[2026-10-02T18:15:31.314Z] [INFO] [apple-tv] mDNS announcement 1/3: {"name":"[LG] webOS TV OLED55C25LB._airplay._tcp.local","service":"_airplay._tcp.local","host":"LGwebOSTV.local","addresses":["192.168.1.161"],"ipv4":["192.168.1.161"],"port":7000}
[2026-10-02T18:15:31.315Z] [INFO] [apple-tv] mDNS announcement 2/3: {"name":"Freebox Player._airplay._tcp.local","service":"_airplay._tcp.local","host":"Freebox-Player.local","addresses":["192.168.1.5"],"ipv4":["192.168.1.5"],"port":7000}
[2026-10-02T18:15:31.315Z] [INFO] [apple-tv] mDNS announcement 3/3: {"name":"70FC8F6129FC@Freebox Player._raop._tcp.local","service":"_raop._tcp.local","host":"Freebox-Player.local","addresses":["192.168.1.5"],"ipv4":["192.168.1.5"],"port":5000}
[2026-10-02T18:15:31.315Z] [INFO] [apple-tv] Candidate address 1/2: {"address":"192.168.1.161","sources":["mDNS announcement"]}
[2026-10-02T18:15:31.315Z] [INFO] [apple-tv] Candidate address 2/2: {"address":"192.168.1.5","sources":["mDNS announcement"]}
[2026-10-02T18:15:31.315Z] [INFO] [apple-tv] Verifying 2 candidate address(es) with pyatv
[2026-10-02T18:15:39.323Z] [INFO] [apple-tv] pyatv response 1/2: {"name":"Freebox Player","address":"192.168.1.5","model":"Apple TV 3","operating_system":"tvos","is_apple_tv":true,"source":"direct"}
[2026-10-02T18:15:39.323Z] [INFO] [apple-tv] pyatv response 2/2: {"name":"[LG] webOS TV OLED55C25LB","address":"192.168.1.161","model":"OLED55C25LB","operating_system":"unknown","is_apple_tv":false,"source":"announced"}
[2026-10-02T18:15:39.323Z] [INFO] [apple-tv] 1 device(s) were rebuilt from the announcements Gladys captured, because they did not answer a direct query: [LG] webOS TV OLED55C25LB (192.168.1.161). This is the expected path when Gladys and the Apple TV sit on different subnets.
[2026-10-02T18:15:39.323Z] [INFO] [apple-tv] 1 candidate address(es) did not answer a direct query: 192.168.1.161
[2026-10-02T18:15:39.324Z] [INFO] [apple-tv] Found 1 Apple TV(s)

valentinhttr, I finally set up my router as an access point after pulling my hair out, but I finally found my Apple TVs. However, I lost some features, I’ll just have to get over it :-).

The Apple TV Free Player is still there, though.

Hi @JKBS64

Sorry, I was AFK this weekend. Thanks for the logs. Perfect if you were able to find a solution with the access point!

For the Apple TV Free Player, your logs show that the library used recognizes your Freebox as an Apple TV 3 via its AirPlay announcements. It therefore passed our filter, then the integration added the prefix « Apple TV » to its name.

I fixed this false positive in version 2.1.0. The integration now accepts the following models, under tvOS 15 or later :

  • Apple TV HD — formerly 4th generation Apple TV ;
  • 1st generation Apple TV 4K ;
  • 2nd generation Apple TV 4K ;
  • 3rd generation Apple TV 4K.

Recognition of future models is also preserved. Older Apple TVs from generations 1, 2, and 3 are excluded, which also removes your Freebox identified as an Apple TV 3.

2.1.0 will be available in the next store update (~10 minutes). If you had already added the Free Player to Gladys, you will need to remove it manually: the update does not remove existing devices.

Thanks for your report!
Can you confirm that it works well?

Hello, everything is great :ok_hand:. Thanks for everything.

Hello everyone :waving_hand:

Version 2.2.0 of the Apple TV integration is available, with an update to SDK 0.15 and a new feature that takes advantage of Gladys 5.2: the Apple TV - Volume widget.

From the dashboard, it allows you to check the volume and open a form to adjust it from 0 to 100 %, pre-filled with the last known level. It is available when your installation allows volume adjustment via the Apple TV.

This widget complements the Playback and Favorites cards. To add it, open the dashboard editor, choose Apple TV - Volume, then select your device.

:warning: This version requires Gladys 5.2.0 minimum.

:backhand_index_pointing_right: Release notes

Hi,

Apparently, I still have logs:

[2026-10-29T12:52:07.974Z] [WARN] [apple-tv] Could not connect to Apple TV Chambre: Failed to set up remote control channel
2026-10-29 13:52:12,978 INFO [pyatv-bridge] connect failed: Failed to set up remote control channel
[2026-10-29T12:52:12.979Z] [WARN] [apple-tv] Could not connect to Apple TV Salon (3): Failed to set up remote control channel
2026-10-29 13:52:14,988 WARNING [pyatv-bridge] Reconnection to DE:0D:01:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:52:19,991 WARNING [pyatv-bridge] Reconnection to 8E:4D:52:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:52:25,004 WARNING [pyatv-bridge] Reconnection to DE:0D:01:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:52:30,005 WARNING [pyatv-bridge] Reconnection to 8E:4D:52:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:52:37,978 INFO [pyatv-bridge] connect failed: Failed to set up remote control channel
[2026-10-29T12:52:37.980Z] [WARN] [apple-tv] Could not connect to Apple TV Chambre: Failed to set up remote control channel
2026-10-29 13:52:42,980 INFO [pyatv-bridge] connect failed: Failed to set up remote control channel
[2026-10-29T12:52:42.981Z] [WARN] [apple-tv] Could not connect to Apple TV Salon (3): Failed to set up remote control channel
2026-10-29 13:52:44,995 WARNING [pyatv-bridge] Reconnection to DE:0D:01:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:52:49,995 WARNING [pyatv-bridge] Reconnection to 8E:4D:52:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:52:55,011 WARNING [pyatv-bridge] Reconnection to DE:0D:01:XX:XX:XX failed: Failed to set up remote control channel
2026-10-29 13:53:00,010 WARNING [pyatv-bridge] Reconnection to 8E:4D:52:XX:XX:XX failed: Failed to set up remote control channel

By the way, this also creates logs in Gladys:

Could you look into this as soon as possible, @valentinhttr? :slight_smile:

Hello,

Version 2.3.0 is available: it fixes the repetitive logs related to network errors and Gladys polling timeouts. You can update and let me know if it works for you? :slightly_smiling_face:

Cheers

Thanks, all good on my side :slight_smile: