Skip to content

External integration still sometimes causes the "Try Again?" dialog when pressing a button when remote is asleep #90

@rccoleman

Description

@rccoleman

Description

I suspect that this is more of a general problem with the remote wake/retry process, potentially when using external integrations running on a server, but I'm seeing it with the AppleTV integration and I thought I'd report it here.

I'm still seeing the "Couldn't send command" and "Try Again?" message on the remote periodically on my R3 with the AppleTV integration running on my home server despite the fact that I have the "Retry Commands" setting set to 10s. The logs indicate that the remote connected to the AppleTV integration and the AppleTV integration connected to the AppleTV within a second (almost immediately), so I wonder if there's a case where the initial failure isn't subject to the retry mechanism in the v2.8.1 R3 firmware. I suspect that that retry is focused on an integration connecting to a remote device, but connecting to an external integration is a similar case and I think also needs to participate to participate in the retry mechanism. I suspect that this is only an issue if I leave the remote on a table or couch arm and just hit a button without picking it up.

From the logs, I see the following:

System is entering suspend:

2026-01-01 16:43:17.749568 +00:00	systemd-suspend	INFO	Entering sleep state 'suspend'...

System woke up less than 10s later:

2026-01-01 16:52:13.254881 +00:00	core	NOTICE	Enter normal mode: standby in 602s
2026-01-01 16:52:13.253251 +00:00	systemd-suspend	INFO	System returned from sleep state.

DPAD_LEFT button is recognized (probably what caused the wakeup):

2026-01-01 16:52:13.258360 +00:00	ui	INFO	uc.ui.input: Key released: "DPAD_LEFT" "Activity_QMLTYPE_285(0x558e74a540)"
2026-01-01 16:52:13.257269 +00:00	ui	INFO	uc.ui.input: Key pressed: "DPAD_LEFT" "Activity_QMLTYPE_285(0x558e74a540)"

The remote couldn't send the command because it wasn't connected to the AppleTV integration:

2026-01-01 16:52:13.262952 +00:00	ui	WARN	uc.ui.entity.controller: Cannot execute command: "appletv.main.9A:08:0C:B3:C6:8Amedia_player.cursor_left" 503 "appletv session not available"

The remote starts reconnecting devices:

2026-01-01 16:52:13.280739 +00:00	core	NOTICE	[integrations] WiFi connected: starting all external intg drivers

The AppleTV integration is connecting:

2026-01-01 16:52:13.366473 +00:00	core	NOTICE	[appletv] Session became active: sending subscribe_events, get_driver_version, connect

The remote requested and received the current state (again, almost immediately after waking up):

2026-01-01 16:52:13.474598 +00:00	core	NOTICE	Sent get_entity_states to appletv: Ok(())

By this point, the "Retry?" message has already been on the remote screen for a bit, and I grabbed my laptop and refreshed my logdy session and pressed the right and left keys several times with no effect while the remote was waiting for me to respond to the dialog (see starting timestamp of 2026-01-01 16:52:21.642989). I think the retry dialog popped up immediately and I just took time to get my laptop.

2026-01-01 16:52:52.963547 +00:00	ui	INFO	uc.ui.input: Key released: "DPAD_RIGHT" "StackView_QMLTYPE_68(0x558dbf7220)"
2026-01-01 16:52:52.877781 +00:00	ui	INFO	uc.ui.input: Key pressed: "DPAD_RIGHT" "StackView_QMLTYPE_68(0x558dbf7220)"
2026-01-01 16:52:49.932584 +00:00	core	NOTICE	Setting rgb button backlight to: (255, 255, 255)
2026-01-01 16:52:49.931940 +00:00	core	NOTICE	Enter normal mode: standby in 602s
2026-01-01 16:52:43.774990 +00:00	core	NOTICE	Setting rgb button backlight to: (0, 0, 0)
2026-01-01 16:52:43.773780 +00:00	core	NOTICE	Enter idle mode: standby in 572s
2026-01-01 16:52:28.277552 +00:00	voice-core	INFO	[2026-01-01T16:52:28Z DEBUG voice_core::ws::client_connection] [0] sent back pong (0)
2026-01-01 16:52:27.366499 +00:00	core	NOTICE	No session state has been found for a valid session key, creating a new empty session.
2026-01-01 16:52:26.403749 +00:00	core	NOTICE	No session state has been found for a valid session key, creating a new empty session.
2026-01-01 16:52:24.813593 +00:00	intg-androidtv	INFO	DEBUG:androidtvremote2:Closing idle connection
2026-01-01 16:52:21.642989 +00:00	logdy	INFO	time="08:52:21.642" level=info msg="New Web UI client connected"

The the logs of the actual AppleTV integartion, it looks like it was ready to go almost immediately:

ucr2-integration-atv  | 2026-01-01 16:52:13.369 DEBUG ucapi.api._process_ws_message: [('192.168.1.51', 57252)] <-: {"kind":"req","id":6380,"msg":"subscribe_events","msg_data":{"entity_ids":["9A:08:0C:B3:C6:8A"]}}
ucr2-integration-atv  | 2026-01-01 16:52:13.369 DEBUG ucapi.entities.add: [configured] entity already exists: '9A:08:0C:B3:C6:8A'
ucr2-integration-atv  | 2026-01-01 16:52:13.369 DEBUG ucapi.api._send_ws_response: [('192.168.1.51', 57252)] ->: {'kind': 'resp', 'req_id': 6380, 'code': 200, 'msg': 'result', 'msg_data': {}}
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG driver.on_subscribe_entities: Subscribe entities event: ['9A:08:0C:B3:C6:8A']
ucr2-integration-atv  | 2026-01-01 16:52:13.370 INFO  driver.on_subscribe_entities: Add 'Family Room' to configured devices and connect
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG ucapi.entities.update_attributes: [configured]: entity '9A:08:0C:B3:C6:8A' attributes updated
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG ucapi.api._broadcast_ws_event: [('192.168.1.51', 57252)] =>: {'kind': 'event', 'msg': <WsMsgEvents.ENTITY_CHANGE: 'entity_change'>, 'msg_data': {'entity_id': '9A:08:0C:B3:C6:8A', 'entity_type': <EntityTypes.MEDIA_PLAYER: 'media_player'>, 'attributes': {<Attributes.STATE: 'state'>: <States.UNAVAILABLE: 'UNAVAILABLE'>}}, 'cat': <EventCategory.ENTITY: 'ENTITY'>}
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG tv._connect_loop: [Family Room] Starting connect loop
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG tv._connect: [Family Room] Setting credentials for Protocol.AirPlay
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG tv._connect: [Family Room] Setting credentials for Protocol.Companion
ucr2-integration-atv  | 2026-01-01 16:52:13.370 DEBUG tv._connect: [Family Room] Connecting to device
ucr2-integration-atv  | 2026-01-01 16:52:13.374 DEBUG ucapi.api._process_ws_message: [('192.168.1.51', 57252)] <-: {"id":6381,"kind":"req","msg":"get_driver_version"}
ucr2-integration-atv  | 2026-01-01 16:52:13.374 DEBUG ucapi.api._send_ws_response: [('192.168.1.51', 57252)] ->: {'kind': 'resp', 'req_id': 6381, 'code': 200, 'msg': <WsMsgEvents.DRIVER_VERSION: 'driver_version'>, 'msg_data': {'name': 'Apple TV', 'version': {'api': '0.7.1', 'driver': '0.20.1'}}}
ucr2-integration-atv  | 2026-01-01 16:52:13.374 DEBUG ucapi.api._process_ws_message: [('192.168.1.51', 57252)] <-: {"id":6382,"kind":"event","msg":"connect"}
ucr2-integration-atv  | 2026-01-01 16:52:13.374 DEBUG driver.on_r2_connect_cmd: Client connect command: connecting device(s)
ucr2-integration-atv  | 2026-01-01 16:52:13.375 DEBUG ucapi.api._broadcast_ws_event: [('192.168.1.51', 57252)] =>: {'kind': 'event', 'msg': <WsMsgEvents.DEVICE_STATE: 'device_state'>, 'msg_data': {'state': <DeviceStates.CONNECTED: 'CONNECTED'>}, 'cat': <EventCategory.DEVICE: 'DEVICE'>}
ucr2-integration-atv  | 2026-01-01 16:52:13.385 DEBUG ucapi.api._process_ws_message: [('192.168.1.51', 57252)] <-: {"id":6383,"kind":"req","msg":"get_entity_states"}
ucr2-integration-atv  | 2026-01-01 16:52:13.387 DEBUG ucapi.api._send_ws_response: [('192.168.1.51', 57252)] ->: {'kind': 'resp', 'req_id': 6383, 'code': 200, 'msg': <WsMsgEvents.ENTITY_STATES: 'entity_states'>, 'msg_data': [{'entity_id': '9A:08:0C:B3:C6:8A', 'entity_type': <EntityTypes.MEDIA_PLAYER: 'media_player'>, 'device_id': None, 'attributes': {<Attributes.STATE: 'state'>: <States.UNAVAILABLE: 'UNAVAILABLE'>, <Attributes.VOLUME: 'volume'>: 50.0, <Attributes.MEDIA_DURATION: 'media_duration'>: 2543, <Attributes.MEDIA_POSITION: 'media_position'>: 2288, <Attributes.MEDIA_IMAGE_URL: 'media_image_url'>: 'data:***', <Attributes.MEDIA_TITLE: 'media_title'>: 'S1: E4 “Me You Him Me”', <Attributes.MEDIA_ARTIST: 'media_artist'>: '', <Attributes.MEDIA_ALBUM: 'media_album'>: '', <Attributes.MEDIA_TYPE: 'media_type'>: <MediaType.VIDEO: 'VIDEO'>, <Attributes.SOURCE: 'source'>: 'Netflix', <Attributes.REPEAT: 'repeat'>: 'OFF', <Attributes.SHUFFLE: 'shuffle'>: False, <Attributes.SOURCE_LIST: 'source_list'>: ['Fandango at Home', 'Arcade', 'HBO Max', 'Movies Anywhere', 'App\xa0Store', 'TV Shows', 'Search', 'Tailscale', 'Photos', 'Computers', 'Night Sky', 'Music', 'TV', 'Sing', 'Channels Beta', 'YouTube TV', 'Apple Events', 'YouTube', 'Movies', 'Disney+', 'FaceTime', 'The CW', 'Fitness', 'NASA', 'Infuse', 'CNN', 'Settings', 'Netflix', 'NBC', 'Comedy Central', 'TestFlight', 'Prime Video', 'Plex', 'Podcasts', 'Starmap', 'Channels'], <Attributes.SOUND_MODE: 'sound_mode'>: '', <Attributes.SOUND_MODE_LIST: 'sound_mode_list'>: ['Family Room', '[LG] webOS TV OLED65C8AUA', 'Denon AVR-X4400H', 'Kodi (osmc)', 'Exercise Room', 'MBR AppleTV', 'Dining Room', 'Living Room', 'Main Bedroom', 'rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H', '[LG] webOS TV OLED65C8AUA, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Exercise Room', '[LG] webOS TV OLED65C8AUA, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Dining Room', '[LG] webOS TV OLED65C8AUA, Living Room', '[LG] webOS TV OLED65C8AUA, Main Bedroom', '[LG] webOS TV OLED65C8AUA, rcoleman-m2', 'Denon AVR-X4400H, Kodi (osmc)', 'Denon AVR-X4400H, Exercise Room', 'Denon AVR-X4400H, MBR AppleTV', 'Denon AVR-X4400H, Dining Room', 'Denon AVR-X4400H, Living Room', 'Denon AVR-X4400H, Main Bedroom', 'Denon AVR-X4400H, rcoleman-m2', 'Exercise Room, Kodi (osmc)', 'Kodi (osmc), MBR AppleTV', 'Dining Room, Kodi (osmc)', 'Kodi (osmc), Living Room', 'Kodi (osmc), Main Bedroom', 'Kodi (osmc), rcoleman-m2', 'Exercise Room, MBR AppleTV', 'Dining Room, Exercise Room', 'Exercise Room, Living Room', 'Exercise Room, Main Bedroom', 'Exercise Room, rcoleman-m2', 'Dining Room, MBR AppleTV', 'Living Room, MBR AppleTV', 'Main Bedroom, MBR AppleTV', 'MBR AppleTV, rcoleman-m2', 'Dining Room, Living Room', 'Dining Room, Main Bedroom', 'Dining Room, rcoleman-m2', 'Living Room, Main Bedroom', 'Living Room, rcoleman-m2', 'Main Bedroom, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Exercise Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Living Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Exercise Room, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Dining Room, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Living Room', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Main Bedroom', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Exercise Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Dining Room, Exercise Room', '[LG] webOS TV OLED65C8AUA, Exercise Room, Living Room', '[LG] webOS TV OLED65C8AUA, Exercise Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Exercise Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Living Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Main Bedroom, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Living Room', '[LG] webOS TV OLED65C8AUA, Dining Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Dining Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Living Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Living Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Main Bedroom, rcoleman-m2', 'Denon AVR-X4400H, Exercise Room, Kodi (osmc)', 'Denon AVR-X4400H, Kodi (osmc), MBR AppleTV', 'Denon AVR-X4400H, Dining Room, Kodi (osmc)', 'Denon AVR-X4400H, Kodi (osmc), Living Room', 'Denon AVR-X4400H, Kodi (osmc), Main Bedroom', 'Denon AVR-X4400H, Kodi (osmc), rcoleman-m2', 'Denon AVR-X4400H, Exercise Room, MBR AppleTV', 'Denon AVR-X4400H, Dining Room, Exercise Room', 'Denon AVR-X4400H, Exercise Room, Living Room', 'Denon AVR-X4400H, Exercise Room, Main Bedroom', 'Denon AVR-X4400H, Exercise Room, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, MBR AppleTV', 'Denon AVR-X4400H, Living Room, MBR AppleTV', 'Denon AVR-X4400H, Main Bedroom, MBR AppleTV', 'Denon AVR-X4400H, MBR AppleTV, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Living Room', 'Denon AVR-X4400H, Dining Room, Main Bedroom', 'Denon AVR-X4400H, Dining Room, rcoleman-m2', 'Denon AVR-X4400H, Living Room, Main Bedroom', 'Denon AVR-X4400H, Living Room, rcoleman-m2', 'Denon AVR-X4400H, Main Bedroom, rcoleman-m2', 'Exercise Room, Kodi (osmc), MBR AppleTV', 'Dining Room, Exercise Room, Kodi (osmc)', 'Exercise Room, Kodi (osmc), Living Room', 'Exercise Room, Kodi (osmc), Main Bedroom', 'Exercise Room, Kodi (osmc), rcoleman-m2', 'Dining Room, Kodi (osmc), MBR AppleTV', 'Kodi (osmc), Living Room, MBR AppleTV', 'Kodi (osmc), Main Bedroom, MBR AppleTV', 'Kodi (osmc), MBR AppleTV, rcoleman-m2', 'Dining Room, Kodi (osmc), Living Room', 'Dining Room, Kodi (osmc), Main Bedroom', 'Dining Room, Kodi (osmc), rcoleman-m2', 'Kodi (osmc), Living Room, Main Bedroom', 'Kodi (osmc), Living Room, rcoleman-m2', 'Kodi (osmc), Main Bedroom, rcoleman-m2', 'Dining Room, Exercise Room, MBR AppleTV', 'Exercise Room, Living Room, MBR AppleTV', 'Exercise Room, Main Bedroom, MBR AppleTV', 'Exercise Room, MBR AppleTV, rcoleman-m2', 'Dining Room, Exercise Room, Living Room', 'Dining Room, Exercise Room, Main Bedroom', 'Dining Room, Exercise Room, rcoleman-m2', 'Exercise Room, Living Room, Main Bedroom', 'Exercise Room, Living Room, rcoleman-m2', 'Exercise Room, Main Bedroom, rcoleman-m2', 'Dining Room, Living Room, MBR AppleTV', 'Dining Room, Main Bedroom, MBR AppleTV', 'Dining Room, MBR AppleTV, rcoleman-m2', 'Living Room, Main Bedroom, MBR AppleTV', 'Living Room, MBR AppleTV, rcoleman-m2', 'Main Bedroom, MBR AppleTV, rcoleman-m2', 'Dining Room, Living Room, Main Bedroom', 'Dining Room, Living Room, rcoleman-m2', 'Dining Room, Main Bedroom, rcoleman-m2', 'Living Room, Main Bedroom, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Exercise Room, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Kodi (osmc), MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Kodi (osmc), Living Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Kodi (osmc), Main Bedroom', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Kodi (osmc), rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Exercise Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room, Exercise Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Exercise Room, Living Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Exercise Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Exercise Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Living Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Main Bedroom, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room, Living Room', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Dining Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Living Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Living Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Denon AVR-X4400H, Main Bedroom, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Exercise Room, Kodi (osmc), MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Dining Room, Exercise Room, Kodi (osmc)', '[LG] webOS TV OLED65C8AUA, Exercise Room, Kodi (osmc), Living Room', '[LG] webOS TV OLED65C8AUA, Exercise Room, Kodi (osmc), Main Bedroom', '[LG] webOS TV OLED65C8AUA, Exercise Room, Kodi (osmc), rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Kodi (osmc), MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Living Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Main Bedroom, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Kodi (osmc), Living Room', '[LG] webOS TV OLED65C8AUA, Dining Room, Kodi (osmc), Main Bedroom', '[LG] webOS TV OLED65C8AUA, Dining Room, Kodi (osmc), rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Living Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Living Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Kodi (osmc), Main Bedroom, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Exercise Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Exercise Room, Living Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Exercise Room, Main Bedroom, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Exercise Room, MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Exercise Room, Living Room', '[LG] webOS TV OLED65C8AUA, Dining Room, Exercise Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Dining Room, Exercise Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Exercise Room, Living Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Exercise Room, Living Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Exercise Room, Main Bedroom, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Living Room, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Dining Room, Main Bedroom, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Dining Room, MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Living Room, Main Bedroom, MBR AppleTV', '[LG] webOS TV OLED65C8AUA, Living Room, MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Main Bedroom, MBR AppleTV, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Living Room, Main Bedroom', '[LG] webOS TV OLED65C8AUA, Dining Room, Living Room, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Dining Room, Main Bedroom, rcoleman-m2', '[LG] webOS TV OLED65C8AUA, Living Room, Main Bedroom, rcoleman-m2', 'Denon AVR-X4400H, Exercise Room, Kodi (osmc), MBR AppleTV', 'Denon AVR-X4400H, Dining Room, Exercise Room, Kodi (osmc)', 'Denon AVR-X4400H, Exercise Room, Kodi (osmc), Living Room', 'Denon AVR-X4400H, Exercise Room, Kodi (osmc), Main Bedroom', 'Denon AVR-X4400H, Exercise Room, Kodi (osmc), rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Kodi (osmc), MBR AppleTV', 'Denon AVR-X4400H, Kodi (osmc), Living Room, MBR AppleTV', 'Denon AVR-X4400H, Kodi (osmc), Main Bedroom, MBR AppleTV', 'Denon AVR-X4400H, Kodi (osmc), MBR AppleTV, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Kodi (osmc), Living Room', 'Denon AVR-X4400H, Dining Room, Kodi (osmc), Main Bedroom', 'Denon AVR-X4400H, Dining Room, Kodi (osmc), rcoleman-m2', 'Denon AVR-X4400H, Kodi (osmc), Living Room, Main Bedroom', 'Denon AVR-X4400H, Kodi (osmc), Living Room, rcoleman-m2', 'Denon AVR-X4400H, Kodi (osmc), Main Bedroom, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Exercise Room, MBR AppleTV', 'Denon AVR-X4400H, Exercise Room, Living Room, MBR AppleTV', 'Denon AVR-X4400H, Exercise Room, Main Bedroom, MBR AppleTV', 'Denon AVR-X4400H, Exercise Room, MBR AppleTV, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Exercise Room, Living Room', 'Denon AVR-X4400H, Dining Room, Exercise Room, Main Bedroom', 'Denon AVR-X4400H, Dining Room, Exercise Room, rcoleman-m2', 'Denon AVR-X4400H, Exercise Room, Living Room, Main Bedroom', 'Denon AVR-X4400H, Exercise Room, Living Room, rcoleman-m2', 'Denon AVR-X4400H, Exercise Room, Main Bedroom, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Living Room, MBR AppleTV', 'Denon AVR-X4400H, Dining Room, Main Bedroom, MBR AppleTV', 'Denon AVR-X4400H, Dining Room, MBR AppleTV, rcoleman-m2', 'Denon AVR-X4400H, Living Room, Main Bedroom, MBR AppleTV', 'Denon AVR-X4400H, Living Room, MBR AppleTV, rcoleman-m2', 'Denon AVR-X4400H, Main Bedroom, MBR AppleTV, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Living Room, Main Bedroom', 'Denon AVR-X4400H, Dining Room, Living Room, rcoleman-m2', 'Denon AVR-X4400H, Dining Room, Main Bedroom, rcoleman-m2', 'Denon AVR-X4400H, Living Room, Main Bedroom, rcoleman-m2', 'Dining Room, Exercise Room, Kodi (osmc), MBR AppleTV', 'Exercise Room, Kodi (osmc), Living Room, MBR AppleTV', 'Exercise Room, Kodi (osmc), Main Bedroom, MBR AppleTV', 'Exercise Room, Kodi (osmc), MBR AppleTV, rcoleman-m2', 'Dining Room, Exercise Room, Kodi (osmc), Living Room', 'Dining Room, Exercise Room, Kodi (osmc), Main Bedroom', 'Dining Room, Exercise Room, Kodi (osmc), rcoleman-m2', 'Exercise Room, Kodi (osmc), Living Room, Main Bedroom', 'Exercise Room, Kodi (osmc), Living Room, rcoleman-m2', 'Exercise Room, Kodi (osmc), Main Bedroom, rcoleman-m2', 'Dining Room, Kodi (osmc), Living Room, MBR AppleTV', 'Dining Room, Kodi (osmc), Main Bedroom, MBR AppleTV', 'Dining Room, Kodi (osmc), MBR AppleTV, rcoleman-m2', 'Kodi (osmc), Living Room, Main Bedroom, MBR AppleTV', 'Kodi (osmc), Living Room, MBR AppleTV, rcoleman-m2', 'Kodi (osmc), Main Bedroom, MBR AppleTV, rcoleman-m2', 'Dining Room, Kodi (osmc), Living Room, Main Bedroom', 'Dining Room, Kodi (osmc), Living Room, rcoleman-m2', 'Dining Room, Kodi (osmc), Main Bedroom, rcoleman-m2', 'Kodi (osmc), Living Room, Main Bedroom, rcoleman-m2', 'Dining Room, Exercise Room, Living Room, MBR AppleTV', 'Dining Room, Exercise Room, Main Bedroom, MBR AppleTV', 'Dining Room, Exercise Room, MBR AppleTV, rcoleman-m2', 'Exercise Room, Living Room, Main Bedroom, MBR AppleTV', 'Exercise Room, Living Room, MBR AppleTV, rcoleman-m2', 'Exercise Room, Main Bedroom, MBR AppleTV, rcoleman-m2', 'Dining Room, Exercise Room, Living Room, Main Bedroom', 'Dining Room, Exercise Room, Living Room, rcoleman-m2', 'Dining Room, Exercise Room, Main Bedroom, rcoleman-m2', 'Exercise Room, Living Room, Main Bedroom, rcoleman-m2', 'Dining Room, Living Room, Main Bedroom, MBR AppleTV', 'Dining Room, Living Room, MBR AppleTV, rcoleman-m2', 'Dining Room, Main Bedroom, MBR AppleTV, rcoleman-m2', 'Living Room, Main Bedroom, MBR AppleTV, rcoleman-m2', 'Dining Room, Living Room, Main Bedroom, rcoleman-m2'], <Attributes.MEDIA_POSITION_UPDATED_AT: 'media_position_updated_at'>: '2026-01-01T16:43:13.916277+00:00'}}]}
ucr2-integration-atv  | 2026-01-01 16:52:13.463 DEBUG tv._connect_loop: [Family Room] Connect loop ended
ucr2-integration-atv  | 2026-01-01 16:52:13.463 DEBUG tv._start_polling: [Family Room] Polling started
ucr2-integration-atv  | 2026-01-01 16:52:13.463 DEBUG tv._connect_loop: [Family Room] Connected
ucr2-integration-atv  | 2026-01-01 16:52:13.464 DEBUG tv._update_app_list: [Family Room] Updating app list
ucr2-integration-atv  | 2026-01-01 16:52:13.464 DEBUG tv._update_output_devices: [Family Room] Updating available output devices list
ucr2-integration-atv  | 2026-01-01 16:52:13.465 DEBUG driver.on_atv_connected: Apple TV connected: 9A:08:0C:B3:C6:8A
ucr2-integration-atv  | 2026-01-01 16:52:13.465 DEBUG ucapi.entities.update_attributes: [configured]: entity '9A:08:0C:B3:C6:8A' attributes updated
ucr2-integration-atv  | 2026-01-01 16:52:13.466 DEBUG ucapi.api._broadcast_ws_event: [('192.168.1.51', 57252)] =>: {'kind': 'event', 'msg': <WsMsgEvents.DEVICE_STATE: 'device_state'>, 'msg_data': {'state': <DeviceStates.CONNECTED: 'CONNECTED'>}, 'cat': <EventCategory.DEVICE: 'DEVICE'>}
ucr2-integration-atv  | 2026-01-01 16:52:13.466 DEBUG tv.playstatus_update: [Family Room] Push update:   Media type: Video
ucr2-integration-atv  | Device state: Playing
ucr2-integration-atv  |        Title: S1: E5 “Dig”
ucr2-integration-atv  |     Position: 410/2583s (15.9%)
ucr2-integration-atv  |       Repeat: Off
ucr2-integration-atv  |      Shuffle: Off
ucr2-integration-atv  | 2026-01-01 16:52:13.466 DEBUG ucapi.api._broadcast_ws_event: [('192.168.1.51', 57252)] =>: {'kind': 'event', 'msg': <WsMsgEvents.ENTITY_CHANGE: 'entity_change'>, 'msg_data': {'entity_id': '9A:08:0C:B3:C6:8A', 'entity_type': <EntityTypes.MEDIA_PLAYER: 'media_player'>, 'attributes': {<Attributes.STATE: 'state'>: <States.PLAYING: 'PLAYING'>}}, 'cat': <EventCategory.ENTITY: 'ENTITY'>}
ucr2-integration-atv  | 2026-01-01 16:52:13.467 DEBUG tv._process_update: [Family Room] Process update
ucr2-integration-atv  | 2026-01-01 16:52:13.473 DEBUG tv.volume_update: [Family Room] Volume level: 50
ucr2-integration-atv  | 2026-01-01 16:52:13.473 DEBUG ucapi.api._process_ws_message: [('192.168.1.51', 57252)] <-: {"id":6384,"kind":"req","msg":"get_entity_states"}
ucr2-integration-atv  | 2026-01-01 16:52:13.474 DEBUG ucapi.api._send_ws_response: [('192.168.1.51', 57252)] ->: {'kind': 'resp', 'req_id': 6384, 'code': 200, 'msg': <WsMsgEvents.ENTITY_STATES: 

How to Reproduce

  1. Start the AppleTV integration from this repo in a container on a local server
  2. Add the integration to the R3 running v2.8.1
  3. Allow the remote to go to sleep
  4. Press a button on the remote without picking up the remote, such as leaving it on the arm of a couch or a table, where the button press wakes the remote.
  5. Observe that sometimes the remote immediately responds with a "Cannot send command. Retry?" dialog that requires interaction before it will respond to any further button presses.

Expected behavior

I expect the recently implemented retry mechanism to retry the command once the integration reconnects and is ready to respond. At the very least, it would be nice for additional button presses to clear the "retry?" state and just attempt to send additional commands. As it stands now, the remote just waits for a response.

Integration version

AppleTV 0.20.1 running in a container on a local server

Additional context

Full logs:

UCR3_logs_2026-01-01.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions