Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playing Netflix "crashes" #959

Closed
spigotx opened this issue Feb 12, 2021 · 53 comments · Fixed by #975
Closed

Playing Netflix "crashes" #959

spigotx opened this issue Feb 12, 2021 · 53 comments · Fixed by #975
Labels

Comments

@spigotx
Copy link

spigotx commented Feb 12, 2021

Describe the bug
After update to the latest HACS version or the latest HA integration version, while using Netflix on AppleTV, Netflix exists to AppleTV main menu after few seconds. After restore to previous version everything is working as expected.

To Reproduce

Expected behavior

System Setup (please complete the following information):

  • OS: Ubuntu 20.4.2 (HA in VENV)
  • Python: 3.8.5
  • pyatv: 0.7.6
  • Apple TV: Apple TV 4 tvOS 14.5

Additional context
HA - 192.168.20.58
AppleTV - 192.168.20.109

2021-02-12 08:38:59 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=40989f45291b8089e426758c661735a292de7bc1bcc7f6ff6f97959a2d076a4426622caf64d2e7931931aace6091a8738623b015532bc6f8b3359c4dcf25f7a327)
2021-02-12 08:38:59 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08282000e202020801aa052439374536343741422d434634432d343234362d424641342d354439314336464133333044)
2021-02-12 08:38:59 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_HILITE_MODE_MESSAGE
errorCode: NoError
[setHiliteModeMessage] {
  hiliteMode: 1
}
uniqueIdentifier: "97E647AB-CF4C-4246-BFA4-5D91C6FA330D"
2021-02-12 08:39:03 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=0 state=5 current_position='0xC800' target='0xC800' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-23 02:52:48'/>
2021-02-12 08:39:03 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=0 state=5 current_position='0xC800' target='0xC800' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-23 02:52:48'/>
2021-02-12 08:39:03 DEBUG (MainThread) [pyvlx] Balcony - Right window position changed to: 100 %
2021-02-12 08:39:05 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=1 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-24 15:17:20'/>
2021-02-12 08:39:05 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=1 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-24 15:17:20'/>
2021-02-12 08:39:05 DEBUG (MainThread) [pyvlx] Terrace - Left window position changed to: 0 %
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.protocol] Sending periodic heartbeat 6
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=0801122444423338464343372d363739342d343134322d414534322d3536434645413432333238412000)
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=b297441ed2d882f946df63bd3062c6714aabc14febca7425dcc00b05200797157de8e0d8e5757953779ab85a80620a929c48b96c8aa5e696d36e)
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_COMMAND_MESSAGE
identifier: "DB38FCC7-6794-4142-AE42-56CFEA42328A"
errorCode: NoError
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=655e67492b93b56076bbb5ce345cffdf5dea695288fd21e44075280e1a334ce6d0cf8cc08612e133c64fd5528105e04a4c017183ee4843a1c152fecc5fd7cef27ab155d1969b74a218cae9edde7479071ff6fbf239354f74b7286879362eecfc64f28e7aaf13)
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=0802122444423338464343372d363739342d343134322d414534322d35364346454134323332384120003a020801aa052437374133423944412d343339442d344635452d393036332d414230413341313033423546)
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SEND_COMMAND_RESULT_MESSAGE
identifier: "DB38FCC7-6794-4142-AE42-56CFEA42328A"
errorCode: NoError
[sendCommandResultMessage] {
  sendError: ApplicationNotFound
}
uniqueIdentifier: "77A3B9DA-439D-4F5E-9063-AB0A3A103B5F"
2021-02-12 08:39:07 DEBUG (MainThread) [pyatv.mrp.protocol] Got heartbeat 6
2021-02-12 08:39:07 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=2 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-26 21:54:08'/>
2021-02-12 08:39:07 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=2 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-26 21:54:08'/>
2021-02-12 08:39:07 DEBUG (MainThread) [pyvlx] Terrace - Right window position changed to: 0 %
2021-02-12 08:39:09 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=3 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-28 10:18:40'/>
2021-02-12 08:39:09 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=3 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-28 10:18:40'/>
2021-02-12 08:39:09 DEBUG (MainThread) [pyvlx] Balcony - Left window position changed to: 0 %
2021-02-12 08:39:11 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=4 state=5 current_position='0xC800' target='0xC800' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-29 22:43:12'/>
2021-02-12 08:39:11 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=4 state=5 current_position='0xC800' target='0xC800' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-04-29 22:43:12'/>
2021-02-12 08:39:11 DEBUG (MainThread) [pyvlx] Balcony - Middle window position changed to: 100 %
2021-02-12 08:39:13 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=5 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-05-01 11:07:44'/>
2021-02-12 08:39:13 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=5 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-05-01 11:07:44'/>
2021-02-12 08:39:13 DEBUG (MainThread) [pyvlx] Hallway - Left window position changed to: 0 %
2021-02-12 08:39:15 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=6 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-05-02 23:32:16'/>
2021-02-12 08:39:15 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=6 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-05-02 23:32:16'/>
2021-02-12 08:39:15 DEBUG (MainThread) [pyvlx] Hallway - Middle window position changed to: 0 %
2021-02-12 08:39:16 WARNING (MainThread) [homeassistant.components.camera] Updating xiaomi_cloud_map_extractor camera took longer than the scheduled update interval 0:00:05
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=080820006a3e0a3c438922cf0802000000000000000000000100000000000000020000002000000003000000010000000000000001008900010000000000000001000000)
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=c2e80bb3afd0d586b5b5d35548506cb686018381efc81fa3c9f49442842e5d28c863c8b3e3bc980dc53bf082202a09e25657343bcbb86b7f91a91c74b7e053470e07bff027c2aaeb36fc07e8ef8fbf97fdeb7506)
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_HID_EVENT_MESSAGE
errorCode: NoError
[sendHIDEventMessage] {
  hidEventData: "C\211\"\317\010\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\003\000\0...
}
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=080820006a3e0a3c438922cf0802000000000000000000000100000000000000020000002000000003000000010000000000000001008900000000000000000001000000)
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=cd4927d6424b2a331f99ec9dcdf16a960b6c4ae48650743fd2f68220a3635d5e6ce2392e60d829f1e1a897bafba2e656ddfbc219bd85b6f8e3a74e666358f1bf8094a4ca9c8e41c0f02a55b32fb89ca58177060e)
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_HID_EVENT_MESSAGE
errorCode: NoError
[sendHIDEventMessage] {
  hidEventData: "C\211\"\317\010\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\003\000\0...
}
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=4084877ee3120a44cf9fa41bbf42c241c654d71cf54cef99a6a2644ccc4e2a18c693f8e52aaffe146349ba600947e1db210623843e2cb8432f3cb211f34fdbb554)
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08282000e202020800aa052445334633423736302d343543322d344542382d413435442d394334324535324233383435)
2021-02-12 08:39:17 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_HILITE_MODE_MESSAGE
errorCode: NoError
[setHiliteModeMessage] {
  hiliteMode: 0
}
uniqueIdentifier: "E3F3B760-45C2-4EB8-A45D-9C42E52B3845"
2021-02-12 08:39:19 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=aa013330830a573e2dc711bd98171ebd9207b56c73894b142e5dded0b064c859855a643ec20725c0cbbf58fe3e6d9634440939fa1ebf5a192e51b5b0521f3d99a02a7d879fe5279dceb07ffd50eeb9993d64847de578630c4d7f0010172e7e1a6ca2381f61bc80c8adf28814fbee7ed4c5a161a5bf08fa0a861f370bb6caf48cc4164c67cf72a266f598a46eeca9ee6782031d235e3bd63431e7c4f1a148b5870677517026a7966e4cc0dd09)
2021-02-12 08:39:19 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08412000aa046c0a340a074170706c655456122435393432443538442d333738382d344645332d393739362d3036363744304242373837455005a802001a340a074170706c655456122435393432443538442d333738382d344645332d393739362d3036363744304242373837455005a80200aa052433444631413936442d434243462d343642362d384534372d314332343445383535324532)
2021-02-12 08:39:19 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: UPDATE_OUTPUT_DEVICE_MESSAGE
errorCode: NoError
[updateOutputDeviceMessage] {
  outputDevices {
    name: "AppleTV"
    uniqueIdentifier: "5942D58D-3788-4FE3-9796-0667D0BB787E"
    deviceType: Wired
    volumeCapabilities: 0
  }
  clusterAwareOutputDevices {
    name: "AppleTV"
    uniqueIdentifier: "5942D58D-3788-4FE3-9796-0667D0BB787E"
    deviceType: Wired
    volumeCapabilities: 0
  }
}
uniqueIdentifier: "3DF1A96D-CBCF-46B6-8E47-1C244E8552E2"
2021-02-12 08:39:25 DEBUG (MainThread) [pyvlx] REC: <FrameNodeStatePositionChangedNotification node_id=7 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-05-10 13:34:56'/>
2021-02-12 08:39:25 DEBUG (MainThread) [pyvlx] NodeUpdater process frame: <FrameNodeStatePositionChangedNotification node_id=7 state=5 current_position='0x0000' target='0x0000' current_position_fp1='0xF7FF' current_position_fp2='0xF7FF' current_position_fp3='0xF7FF' current_position_fp4='0xF7FF' remaining_time=0 time='2003-05-10 13:34:56'/>
2021-02-12 08:39:25 DEBUG (MainThread) [pyvlx] Hallway - Right window position changed to: 0 %
2021-02-12 08:39:34 DEBUG (MainThread) [pyvlx] SEND: <FrameGetStateRequest/>
2021-02-12 08:39:34 DEBUG (MainThread) [pyvlx] REC: <FrameGetStateConfirmation gateway_state="GatewayState.GATEWAY_MODE_WITH_ACTUATORS" gateway_sub_state="GatewaySubState.IDLE"/>
2021-02-12 08:39:34 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=080820006a3e0a3c438922cf0802000000000000000000000100000000000000020000002000000003000000010000000000000001008900010000000000000001000000)
2021-02-12 08:39:34 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=ec7fc724a8245fc25e6ef7675773419ccfbba480f231934972b07cf13d53069eb763a74817cdd8ad040f2f0ebf7b117fdbec4c44fb23696cb2dd65282178c3bc9b2b0c9ada18c6e83b757eef3470738c12418b1a)
2021-02-12 08:39:34 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_HID_EVENT_MESSAGE
errorCode: NoError
[sendHIDEventMessage] {
  hidEventData: "C\211\"\317\010\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\003\000\0...
}
2021-02-12 08:39:34 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=080820006a3e0a3c438922cf0802000000000000000000000100000000000000020000002000000003000000010000000000000001008900000000000000000001000000)
2021-02-12 08:39:34 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=ced6cdfe758c38e700221eee29e9fdda4ccb948f424d8ac2f72b06a911772e0b8c020629f5dd26b632e9c761faa783c73e484886618b66340a8e13e5c170d018af40b205c17a55bf279da3a9441e0528d5f1d1c9)
2021-02-12 08:39:34 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_HID_EVENT_MESSAGE
errorCode: NoError
[sendHIDEventMessage] {
  hidEventData: "C\211\"\317\010\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\003\000\0...
}
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Sending periodic heartbeat 7
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=0801122435383446333642302d333139422d344438352d384134332d4141364146434238433838462000)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=163a0618b968bb8eba866cdaf5bc1fcc4965924673431cf453d3bb563b958ff1c11aaa999f0bfaabc70c71b7fe48ebe4b94ac76646a405969313)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_COMMAND_MESSAGE
identifier: "584F36B0-319B-4D85-8A43-AA6AFCB8C88F"
errorCode: NoError
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=65eb3ec67e06378b489b9efbb37dc3de595a8e3f91b06514184f0d0e41237fe76234c3f3c61d1e3842ad29ec4b50be2a9bd34ce1e181bc44b1d25babdfb4d446dcf2e7ab6568dbd537e864b203c09756c7bb1cd2b117a25fc4056baa30f13df2d74e947935e7)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=0802122435383446333642302d333139422d344438352d384134332d41413641464342384338384620003a020801aa052442433633453441312d413236462d343736412d423134352d374544443734363232304438)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SEND_COMMAND_RESULT_MESSAGE
identifier: "584F36B0-319B-4D85-8A43-AA6AFCB8C88F"
errorCode: NoError
[sendCommandResultMessage] {
  sendError: ApplicationNotFound
}
uniqueIdentifier: "BC63E4A1-A26F-476A-B145-7EDD746220D8"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Got heartbeat 7
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=9901e0296c4a2bd5946daec8ad7b0bbbc6405fef39c0e11884b144341435482728a226e18b01c56b70a1a87bcb4431de0c736a201950d67695d21f712abd05f6d6297de4984d0347e38bd1960a8ea35bb4c83015a93fa724173e08ac8fff0dd289b4763a9b5b96b6b6440bba9f7da47e80f890b74cc89a9df160818fa15bbb29c99841171454c67b7c46664a48acb0c2ecff4744d27a01412d02a2)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082f20009a035b0a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572aa052441444541333233392d414139302d344145412d414243352d463032313934363644423338)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
errorCode: NoError
[setNowPlayingPlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
}
uniqueIdentifier: "ADEA3239-AA90-4AEA-ABC5-F0219466DB38"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.player_state] Active player is now MediaRemote-DefaultPlayer (Default Player)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=5815c10f63c364bd484088991bfeeaafcaafb2f007e9fff7c8bf881b608da6fec0ac5e0ea26962a521abcd00ded8ca08b159ea9e9d3faefeda5291f8fa6c5483d3ac15b9fce386fcdf9633660b16e3274ac0042be76481a469d002f25ac30825b9419047604115c36396265d20d60a165dbcbef88a17ab97b1c4bbbd802bc220c3038317a865a8d71ab6c78d9a9ae1aedbf1d6fe20b68beeaaf2e771f297852ba898612aa5ec5e7ebeea9e9d82007e6013d9a92871abc1f22548da3c4efa4b86f4d86dc1f11368800e0ed3d5611b43a995e492e3fd5f02e34dfd5d50e2769272ff70b1608c5766d72e51c0b2ac18847b570994668dd3bbe8e691536b08cdf...)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082e200092031a0a1808c5041213636f6d2e6e6574666c69782e4e6574666c6978aa052437383638443545302d324633432d343832452d414331422d303033464539343930453446)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: NoError
[setNowPlayingClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "7868D5E0-2F3C-482E-AC1B-003FE9490E4F"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04910212e2010a04080110010a04083a10010acf0108301001880107880103880106880102880105880101880108920123636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e726164696f920127636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e747261636b6c69737492013b636f6d2e6170706c652e4d65646961506c61796261636b436f72652e706c61796261636b436f6e74657874417263686976652d76312e6f7061636b920125636f6d2e6170706c652e6d65646961706c617965722e706c61796261636b636f6e746578740a02083b2211636f6d2e6170706c652e54564d75736...)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: PrepareForSetQueue
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 7
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
      supportedPlaybackQueueTypes: 8
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio"
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist"
      supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack"
      supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext"
    }
    supportedCommands {
      command: SetPlaybackSession
    }
  }
  displayID: "com.apple.TVMusic"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.TVMusic"
    }
  }
}
uniqueIdentifier: "EB5DA0B3-1369-4B46-B503-8371A383FBD3"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04ca011299010a04080110010a13083010018801038801068801028801058801010a7c083b1001ba0139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e657269635175657565c20139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e6572696351756575652212636f6d2e6170706c652e706f64636173747342004a1612141212636f6d2e6170706c652e706f646361737473aa052441363936343436302d433144352d343744322d413843332d363643303238303638463232)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
    }
    supportedCommands {
      command: SetPlaybackSession
      enabled: true
      supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
      currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
    }
  }
  displayID: "com.apple.podcasts"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.podcasts"
    }
  }
}
uniqueIdentifier: "A6964460-C1D5-47D2-A8C3-66C028068F22"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08692000aa052432303031443537382d363235422d343444362d423441382d303438453842333034423343ba0509099ead9df73aebc241)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "2001D578-625B-44D6-B4A8-048E8B304B3C"
[originClientPropertiesMessage] {
  lastPlayingTimestamp: 634811887.2318609
}
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082e200092031a0a1808c5041213636f6d2e6e6574666c69782e4e6574666c6978aa052438443537324338462d374644322d344445412d413245432d373337334446453437454236)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: NoError
[setNowPlayingClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "8D572C8F-7FD2-4DEA-A2EC-7373DFE47EB6"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08372000da03260a2408c5041213636f6d2e6e6574666c69782e4e6574666c697820f5033a074e6574666c6978aa052430463339454331432d364430332d344345312d394438422d393735333246324445323742)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
errorCode: NoError
[updateClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
    processUserIdentifier: 501
    displayName: "Netflix"
  }
}
uniqueIdentifier: "0F39EC1C-6D03-4CE1-9D8B-97532F2DE27B"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a7912060a04080210012a074e6574666c6978300242004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c6179657259ffd0c4243bebc241aa052444314133383732332d344239372d343333302d423431462d334337383741444536383143)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  supportedCommands {
    supportedCommands {
      command: Pause
      enabled: true
    }
  }
  displayName: "Netflix"
  playbackState: Paused
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  playbackStateTimestamp: 634811977.537628
}
uniqueIdentifier: "D1A38723-4B97-4330-B41F-3C787ADE681C"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08682000aa052444314342324634342d364541352d343344432d423634452d443241303642413430324642b205700a650a1012084170706c6520545618cc86bde204122408c5041213636f6d2e6e6574666c69782e4e6574666c697820f5033a074e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c6179657211000000c5c8632dc2)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "D1CB2F44-6EA5-43DC-B64E-D2A06BA402FB"
[playerClientPropertiesMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
      processUserIdentifier: 501
      displayName: "Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  lastPlayingTimestamp: -63114076800.0
}
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.player_state] Active client is now com.netflix.Netflix
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.player_state] Active client is now com.netflix.Netflix
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a501d3f182719f4e1ed3b4d043b07a94681c59079c46db666de2322dc3938a14ae9e77e4426803c2509fcc479095ef590c77f3fc30e7589e0ce0428801d34a35ac31a09d5e6b6a8a0c3c68fd5a526eb386da7fdd090056f1ee2f71f64c0de7b5e5b8789daadf656429c8abaa6ae621fa549a3f47c93637fc55a669e8bbefab40da27af939b826f781f5e2a9b8f4ac78cba71a78bd922c1290ba9f81ee97fcec2fbf9d0613da40aa2012d715e39949302a663a77e45f069c7b3bcf08dcac8908bd40cdaff626700a7b594539ffa2e5ad228a70fa75404c2bb0f7148c84a4ff5010f0ace86d4b066a8bbe13f2d23d18dd73da969ead13426c01effde0cd5258...)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a68300242004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c6179657259ffd0c4243bebc241aa052442343045453844362d444335352d343335452d414435462d464234393531353830433843)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Paused
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  playbackStateTimestamp: 634811977.537628
}
uniqueIdentifier: "B40EE8D6-DC55-435E-AD5F-FB4951580C8C"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a6512060a040802100142004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572aa052443343335334445422d323330382d343834382d383442422d374645413137334142324436)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  supportedCommands {
    supportedCommands {
      command: Pause
      enabled: true
    }
  }
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
}
uniqueIdentifier: "C4353DEB-2308-4848-84BB-7FEA173AB2D6"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a68300242004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c6179657259ffd0c4243bebc241aa052439433437314435392d353144332d343336322d394535382d344631333733423230353541)
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Paused
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  playbackStateTimestamp: 634811977.537628
}
uniqueIdentifier: "9C471D59-51D3-4362-9E58-4F1373B2055A"
2021-02-12 08:39:37 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:39 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a50166bfd9e79cea5133ec77adadc6b28b524c78d7db8f6aca97bf010270cd11989bb564dc55c6cc4e91172bd962a18c45f04a785d69245fb5d6bd9a956a174c9c52703c2e62b1b6ae926cc0c9071a0c6c48c2432c5c99ab7b980e7c3d13654bb5d8f552f3f9f0b2156405797e3e02bd14f3b7ab257bd9911e8a7c28e51b4fc278d09eb370b6df2b3e3fb6fb8f0189905800a183c8bff361d2fa8f6762c48a111877a2979d5310)
2021-02-12 08:39:39 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a68300142004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572598bff83253bebc241aa052442353641413335462d313236332d343139452d413330442d443236464230323541413143)
2021-02-12 08:39:39 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  playbackStateTimestamp: 634811979.031236
}
uniqueIdentifier: "B56AA35F-1263-419E-A30D-D26FB025AA1C"
2021-02-12 08:39:39 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:39 INFO (MainThread) [homeassistant.components.automation.conditional_media_playing] Conditional media - Playing: Running automation actions
2021-02-12 08:39:39 INFO (MainThread) [homeassistant.components.automation.conditional_media_playing] Conditional media - Playing: Executing step call service
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=080820006a3e0a3c438922cf0802000000000000000000000100000000000000020000002000000003000000010000000000000001008900010000000000000001000000)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=f0f32f7de21479d47df5e6f24f0eca6f660339201de959bdd52057d7e0cf52fe5f7d6885e923ff53833fad3cf67bdeb09de4c5f0c474c7fc2cb47a6944272a47e495d3a5a067d117dbc9e2fc027b95a22a251c88)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_HID_EVENT_MESSAGE
errorCode: NoError
[sendHIDEventMessage] {
  hidEventData: "C\211\"\317\010\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\003\000\0...
}
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=080820006a3e0a3c438922cf0802000000000000000000000100000000000000020000002000000003000000010000000000000001008900000000000000000001000000)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=e3eaa71219be25aabadc778cba28f1e7565902334a503ade4ef2d07ac17beb8ff0e7bcabad61469ff51b6a0e77c799356e8c2c69c067227e10448d3d2d522d746a089cf98b35256c8a9ab5ad0fa2edd6caf7f1a8)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_HID_EVENT_MESSAGE
errorCode: NoError
[sendHIDEventMessage] {
  hidEventData: "C\211\"\317\010\002\000\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\002\000\000\000 \000\000\000\003\000\0...
}
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=9a01cfa1d98dd1b0216d24d11fe32b0718a5b8a975501df41b437b7901352a3e735f594b83f4cd9daec38195182710271d15ef5e04e5edd4b1a80e0e00db28e0dd456a49a2f5afb0395d5f9b2cdcb3986f404c42bea0b70dc54914214ebcdb4707e9cbc8a071efd238ce8c94410c39c0d18411507e888a39be6998f960aa68be9c5ba24f27501097dd07f6f0221e5b36b2217f03a438c1d43fef83e3)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a5d42004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572aa052432313939383031382d454234322d343739382d383541312d313443443337454236453638)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
}
uniqueIdentifier: "21998018-EB42-4798-85A1-14CD37EB6E68"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a501780c633236397caaa4046d1c11950fc2bd8dcc23b9a16d8e9fd95d959252b75da795fb975e3ed8affb597b591e850586cdbc9676238728a3c2ac6768c994ddea73083f65790f5b3724783ec46d116fa499dab874ea92d01bdb3203bd9ae686954905b319f1a1c48e2edd710fb5b83dd77b8f1339573f1437ba0dedf2e06c9d8f3b4e89283d10b5d2a1ae4c67994617511eec04ade886b02255869edf14464eb834caf7220f)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a68300142004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572598bff83253bebc241aa052446423741353331462d353444392d344446352d393731462d464239373344394545313042)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  playbackStateTimestamp: 634811979.031236
}
uniqueIdentifier: "FB7A531F-54D9-4DF5-971F-FB973D9EE10B"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=3e87028328453da73f9becdf0ec1b0e76b081d04a7dcbe0e79427016216d9ff18beec6e79090aa92115f88083d83da0dc08992b1b6ca5aa6c995fd6396abb1d0024a0e080ec4d243f7ba6ddf7a11365efef8f572a86952f9a96ac19937bb9084a20df4a3c5a43019025cde1204bd877b0db466c08a7955b6bdd09d32b3705d025f3b07644d7cc925f1bcc05c8622e020c634c1781ff63225f84510ec8e20f91814e301a35cb6d00abd5bcc9bdef26d465dbcbf368996400cd0fb7cc34928fbde4988d496ba9555648c2a86e8b6aef9be15da8721f377db299c0a5cf2bd240ee9ea5af692a82bcfe1b794a082e78b3da61c4ea0bed3016810e51dba47fcd9c...)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082e2000920300aa052442423345463741462d363435372d344635332d414339362d414137364331353232443441)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: NoError
[setNowPlayingClientMessage] {
}
uniqueIdentifier: "BB3EF7AF-6457-4F53-AC96-AA76C1522D4A"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04910212e2010a04080110010a04083a10010acf0108301001880107880103880106880102880105880101880108920123636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e726164696f920127636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e747261636b6c69737492013b636f6d2e6170706c652e4d65646961506c61796261636b436f72652e706c61796261636b436f6e74657874417263686976652d76312e6f7061636b920125636f6d2e6170706c652e6d65646961706c617965722e706c61796261636b636f6e746578740a02083b2211636f6d2e6170706c652e54564d75736...)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: PrepareForSetQueue
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 7
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
      supportedPlaybackQueueTypes: 8
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio"
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist"
      supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack"
      supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext"
    }
    supportedCommands {
      command: SetPlaybackSession
    }
  }
  displayID: "com.apple.TVMusic"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.TVMusic"
    }
  }
}
uniqueIdentifier: "6AD9F316-0E21-4806-BAC4-5FDB69316872"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04ca011299010a04080110010a13083010018801038801068801028801058801010a7c083b1001ba0139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e657269635175657565c20139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e6572696351756575652212636f6d2e6170706c652e706f64636173747342004a1612141212636f6d2e6170706c652e706f646361737473aa052435463331303641312d333233462d344242362d413746392d414246323038333338454335)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
    }
    supportedCommands {
      command: SetPlaybackSession
      enabled: true
      supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
      currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
    }
  }
  displayID: "com.apple.podcasts"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.podcasts"
    }
  }
}
uniqueIdentifier: "5F3106A1-323F-4BB6-A7F9-ABF208338EC5"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08692000aa052433364530454141342d453130322d343634412d414230312d393943453445423032364132ba050909f01c36263bebc241)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "36E0EAA4-E102-464A-AB01-99CE4EB026A2"
[originClientPropertiesMessage] {
  lastPlayingTimestamp: 634811980.4227581
}
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082f20009a0300aa052437433733364539322d374144302d343346432d393244342d463933383534453244394133)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
errorCode: NoError
[setNowPlayingPlayerMessage] {
}
uniqueIdentifier: "7C736E92-7AD0-43FC-92D4-F93854E2D9A3"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08042000aa052434334543414641392d384143342d344336342d424345422d464230413232364134363144)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
uniqueIdentifier: "43ECAFA9-8AC4-4C64-BCEB-FB0A226A461D"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08682000aa052437413745334539332d413830332d343235342d383133422d384343303834393733423339b20509110000000000000000)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "7A7E3E93-A803-4254-813B-8CC084973B39"
[playerClientPropertiesMessage] {
  lastPlayingTimestamp: 0.0
}
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.player_state] Active client is now 
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.player_state] Active player no longer set
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a5014cf1e75590315f9d2a4d3e2442474369349f17c1e6ac165226e58c263d6f5b1c04c2f161822aa661f1f7fc268cbaa9cbd68eac60ad4ffbd57809593f730ffcb36997ecfddf5c7d8949e229c16870aaf06e20ba8dd5b6a2c264ec70d0816d08457549637f2584cbc6af0f914a93f4c59d5c98d6dafc3b64550568efcba0635929cc9c400214b3279c9770b137123517620f2abdaf5b5053dfb062c03aca4a92a60ea63cec27)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a68300242004a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c6179657259d71636263bebc241aa052430424538353741432d463443302d343233342d383335382d433737373336393330324636)
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Paused
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
  playbackStateTimestamp: 634811980.422572
}
uniqueIdentifier: "0BE857AC-F4C0-4234-8358-C777369302F6"
2021-02-12 08:39:40 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:40 INFO (MainThread) [homeassistant.components.automation.conditional_media_paused_idle] Conditional media - Paused idle: Running automation actions
2021-02-12 08:39:40 INFO (MainThread) [homeassistant.components.automation.conditional_media_paused_idle] Conditional media - Paused idle: Executing step call service
2021-02-12 08:39:40 INFO (MainThread) [homeassistant.components.automation.conditional_media_all_off] Conditional media - All Off: Running automation actions
2021-02-12 08:39:40 INFO (MainThread) [homeassistant.components.automation.conditional_media_all_off] Conditional media - All Off: Executing step call service
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=b0010f4a0c45f445266d9af07d12af9619a4a8622af74dc349d2121d0b8ee8e5798cd92af23d9beaaa5479a5bc782b562c27f3544edf30634423603d29fbe7f0e42fa8243cf3c69f38e0a5ec0b5ae0eeab0f3331ed421f1b6003476e910e4f2651014e282aad22722efa14af4ec2d04f5653a94577e5a7003239d760841a5d11e0af1ee00a69dbc787f7a241c6b56dfd6d444ff606c6992c106fe8658e8b146f1c2d2bca6d6265c803e3c57b38f24780f41d)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a73300142004a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d315990d808273bebc241aa052445313637464134422d323042372d344639422d424543412d454234423730434646433344)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
  playbackStateTimestamp: 634811982.069109
}
uniqueIdentifier: "E167FA4B-20B7-4F9B-BECA-EB4B70CFFC3D"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=ab016c61e995304f01a07eccff120395b62051059a350d28a290f3ffb2dbc8bffa9b19d991ba4775231f63cb1130e13966170d2173c62973c0f6ef3b8e213d3c8c0cae94230d10e1d4fd37f5618f7e9de1fe833bc78f8152a616059500000b5bf591f3357247f2b6dcb8413062819a880afb4fa3fc18cb6e360f818402f01c73a640ef8814849f58f1c7c4829e4e9f09e723fe4a36045bb1d393fe62a96508ef7cacb167e06840fe1d01fdb3ceb001ac3a082f5576d9f0b21b69866840ea3c19bb1f6de3dd69604b8869609c44cf87714c69db78fb3e93468eac049f0ca2b8f7bfb96f0bd7341f31cfbfa70bcc7788caccd8c9ae75ed5cf27cb624b783cca...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=083a2000f2036d0a6b0a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a3d0a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d3128ca838080d048aa052446303642363246392d363930432d344443302d413636312d333831433146314138463932)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: errorCode: NoError
uniqueIdentifier: "F06B62F9-690C-4DC0-A661-381C1F1A8F92"
1: 58
62 {
  1 {
    1 {
      2: "Apple TV"
      3: 1280262988
    }
    2 {
      1: 581
      2: "com.netflix.Netflix"
    }
    3 {
      1: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      2: "player-1"
      5: 2495375999434
    }
  }
}
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a73300142004a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d315990d808273bebc241aa052442393044464541352d363135382d343342462d413446462d414431423146393634464430)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
  playbackStateTimestamp: 634811982.069109
}
uniqueIdentifier: "B90DFEA5-6158-43BF-A4FF-AD1B1F964FD0"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=58c3dcc0aa51cc5b268565110336ca048a32d29b3f9082540fd4ae045f6df7a5e8e10ea72b2a0e16159cb4c224d3a6da99fdc2e213aa4966ccda24b01a3363c0d7331c2f9b6d3365a64e9d3d8aab90dbc08edcf8cf7a45f6d7d00256949c184fbf198746e4fb74bcaad9034a278634eb44821113e307c8a05d0a149ddbd84d45615e40d8555e9e089d0defd151675a7a24fee92c9b813dabaeb44d080c84ee3d1e4f71ab73f6d78e76cb380276626df526deaa56b4f81adf290d2472a909989e7163f6aca04fcd405ac66c23099c60b9b9280afbe5fbec3d1b10bc36386b552d0363b18dd2b3f12c0e54d6a04af64a8372e979e4a4102277f8379a04eb3fe...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082e200092031a0a1808c5041213636f6d2e6e6574666c69782e4e6574666c6978aa052433414143433845302d323544392d343832332d393539412d324433393445364631304246)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: NoError
[setNowPlayingClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "3AACC8E0-25D9-4823-959A-2D394E6F10BF"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04910212e2010a04080110010a04083a10010acf0108301001880107880103880106880102880105880101880108920123636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e726164696f920127636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e747261636b6c69737492013b636f6d2e6170706c652e4d65646961506c61796261636b436f72652e706c61796261636b436f6e74657874417263686976652d76312e6f7061636b920125636f6d2e6170706c652e6d65646961706c617965722e706c61796261636b636f6e746578740a02083b2211636f6d2e6170706c652e54564d75736...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: PrepareForSetQueue
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 7
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
      supportedPlaybackQueueTypes: 8
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio"
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist"
      supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack"
      supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext"
    }
    supportedCommands {
      command: SetPlaybackSession
    }
  }
  displayID: "com.apple.TVMusic"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.TVMusic"
    }
  }
}
uniqueIdentifier: "AD79A31A-A69D-47C8-89FC-A5E8BBD8783E"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04ca011299010a04080110010a13083010018801038801068801028801058801010a7c083b1001ba0139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e657269635175657565c20139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e6572696351756575652212636f6d2e6170706c652e706f64636173747342004a1612141212636f6d2e6170706c652e706f646361737473aa052431384331394545372d423637362d343738372d393433342d333943373939383738303244)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
    }
    supportedCommands {
      command: SetPlaybackSession
      enabled: true
      supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
      currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
    }
  }
  displayID: "com.apple.podcasts"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.podcasts"
    }
  }
}
uniqueIdentifier: "18C19EE7-B676-4787-9434-39C79987802D"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08692000aa052438463342313538442d454433362d344642372d394342392d464441314330323839384239ba050909da1a13273bebc241)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "8F3B158D-ED36-4FB7-9CB9-FDA1C02898B9"
[originClientPropertiesMessage] {
  lastPlayingTimestamp: 634811982.149257
}
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082e200092031a0a1808c5041213636f6d2e6e6574666c69782e4e6574666c6978aa052436423431393434422d394533312d344430312d423245422d463836413536444345383743)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: NoError
[setNowPlayingClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "6B41944B-9E31-4D01-B2EB-F86A56DCE87C"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08372000da03260a2408c5041213636f6d2e6e6574666c69782e4e6574666c697820f5033a074e6574666c6978aa052433344238453544462d334437382d344342392d393045312d383135343843433239463946)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
errorCode: NoError
[updateClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
    processUserIdentifier: 501
    displayName: "Netflix"
  }
}
uniqueIdentifier: "34B8E5DF-3D78-4CB9-90E1-81548CC29F9F"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082f20009a03660a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d31aa052435373345393338432d443042412d343937412d424339432d374243363644444534344331)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
errorCode: NoError
[setNowPlayingPlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "573E938C-D0BA-497A-BC9C-7BC66DDE44C1"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a7e2a074e6574666c69783001420208014a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d315990d808273bebc241aa052438414346463731452d423134392d343545412d394246352d453844354339463538423246)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  displayName: "Netflix"
  playbackState: Playing
  playbackQueueCapabilities {
    requestByRange: true
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
  playbackStateTimestamp: 634811982.069109
}
uniqueIdentifier: "8ACFF71E-B149-45EA-9BF5-E8D5C9F58B2F"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08682000aa052445414242374330462d303638322d344638342d424531352d353933364433354534334536b20582010a770a1012084170706c6520545618cc86bde204122408c5041213636f6d2e6e6574666c69782e4e6574666c697820f5033a074e6574666c69781a3d0a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d3128ca838080d04811000000c5c8632dc2)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "EABB7C0F-0682-4F84-BE15-5936D35E43E6"
[playerClientPropertiesMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
      processUserIdentifier: 501
      displayName: "Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
      5: 2495375999434
    }
  }
  lastPlayingTimestamp: -63114076800.0
}
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=083a2000f2036d0a6b0a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a3d0a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d3128ca838080d048aa052430413336324139322d363632442d344138392d393834422d363238393145414441304136)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: errorCode: NoError
uniqueIdentifier: "0A362A92-662D-4A89-984B-62891EADA0A6"
1: 58
62 {
  1 {
    1 {
      2: "Apple TV"
      3: 1280262988
    }
    2 {
      1: 581
      2: "com.netflix.Netflix"
    }
    3 {
      1: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      2: "player-1"
      5: 2495375999434
    }
  }
}
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.player_state] Active client is now com.netflix.Netflix
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.player_state] Active client is now com.netflix.Netflix
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.player_state] Active player is now avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2 (player-1)
2021-02-12 08:39:42 INFO (MainThread) [homeassistant.components.automation.conditional_media_playing] Conditional media - Playing: Running automation actions
2021-02-12 08:39:42 INFO (MainThread) [homeassistant.components.automation.conditional_media_playing] Conditional media - Playing: Executing step call service
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a701569ffee09dae7b5ce595039a760e10420aa70d66e0f41b4034febd491079e933834b01e13d73906ec24003ebc517811a4b7726951631ec1668d4c083adf01e2500eb768476727fa7c63d45190220cbf9a5aa4312c7d90cb7f835f01a02e6669d80d921910b850d95a52cb130c8426dc82a22bca5e180a5dc510217a2faef1c5eaabe8fc76e54eb80e3ae2024186f8d5d879a0aeb115a7434ccaba15540df7ff301787fb594a6a6)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a6a420208014a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d31aa052444354537433533462d314142312d343833372d384241372d364131413134433646434541)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackQueueCapabilities {
    requestByRange: true
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "D5E7C53F-1AB1-4837-8BA7-6A1A14C6FCEA"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a4019c5d97c269c33b6c798715a7e0fcfcd96b3fa670b5c0a20a062f7fa2c894533ea3c74d0f576f4d92056bca63e10c70808fe7a3ae57693eaebea29b16b85287a591dbcf7a7788c171c3899d04e93356ec205dbaec5bb599cd620d8530f957bef2aeb0a33691f4ee7d27c83fe7230a9b467287d1f2749255dd596ff4f4141cda945d4dd7736661d043cc204d2fc3494616f476029cd8ecc039c9e983c1f65b8f81dd6d9b2391027d39179660c50849186bbc29875bd0140fcc7b424ad89379c5339a1b61ea6c22a00c5c407eac2b044916f4c85898690f16fdc7a25fb913310a989e5ff3a890be253dde1caa13982a9a16b1e78953df637c651d6bdc138...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082f20009a03660a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d31aa052433313841454230382d393735322d343238412d413843462d453334324645364135443142)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
errorCode: NoError
[setNowPlayingPlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "318AEB08-9752-428A-A8CF-E342FE6A5D1B"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004ad30112690a04080110010a04080210010a04080310010a04083510010a04083610010a04080410010a0d081210012100000000000024400a0d081310012100000000000024400a04080910010a04080b10010a04081410010a07082d10018001000a04082210010a040823100142004a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d31aa052430444633454242372d373946442d344537302d393842342d4437464644323342464...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: Pause
      enabled: true
    }
    supportedCommands {
      command: TogglePlayPause
      enabled: true
    }
    supportedCommands {
      command: EnableLanguageOption
      enabled: true
    }
    supportedCommands {
      command: DisableLanguageOption
      enabled: true
    }
    supportedCommands {
      command: Stop
      enabled: true
    }
    supportedCommands {
      command: SkipForward
      enabled: true
      preferredIntervals: 10.0
    }
    supportedCommands {
      command: SkipBackward
      enabled: true
      preferredIntervals: 10.0
    }
    supportedCommands {
      command: BeginFastForward
      enabled: true
    }
    supportedCommands {
      command: BeginRewind
      enabled: true
    }
    supportedCommands {
      command: ChangePlaybackRate
      enabled: true
    }
    supportedCommands {
      command: SeekToPlaybackPosition
      enabled: true
      canScrub: 0
    }
    supportedCommands {
      command: NextInContext
      enabled: true
    }
    supportedCommands {
      command: PreviousInContext
      enabled: true
    }
  }
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "0DF3EBB7-79FD-4E70-98B4-D7FFD23BFF5E"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004a73300142004a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d315990d808273bebc241aa052437393346323443462d324630372d343841412d414243452d353939453346463331304446)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
  playbackStateTimestamp: 634811982.069109
}
uniqueIdentifier: "793F24CF-2F07-48AA-ABCE-599E3FF310DF"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.player_state] Active player is now avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2 (player-1)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a40ededeb9c1974de97473ce07cf436e36aafff94b5897fdfcc2278772131aa820205f81fb7d63e04d15131b3d31c7147d50cfc89eaca6bc74148302d1fb1ec78536029114bd942daf847310a6b28dbcdcd5f3888968d242b267ab02da6a0368cceeacf6e34403b2b1005082f87b423ab4100e67d3ae5d879c8dcf0ab5e5bd20a04180eeacfdf6e5f12b3e4050e42f65eb5ff250467d426dcdc10525b3ffc5337081a53733dc0ac83914150b05759a562e1f786c0028d7ddda58a2676ef2e50c3aed711745600a0ed14c8f11068432c9655fc1afdf527e32da63381652ec4d15281c6d518cb17c840e7bc376b56a2547ebde038451e2f01c9fc9f9238b2c1...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=080420004ae60d1afb0c080012ca0b0a1c636f6d2e6170706c652e61766b69742e3538312e646132393839623212ff020a0071d7a3703d4a41a940980100a80100b00101b80100990286d312c33baa8d40a80200bd020000803f8004029a04ae0262706c6973743030d4010203040506070a582476657273696f6e592461726368697665725424746f7058246f626a6563747312000186a05f100f4e534b657965644172636869766572d1080954726f6f748001a50b0c15161755246e756c6cd30d0e0f101214574e532e6b6579735a4e532e6f626a656374735624636c617373a1118002a113800380045f103041564d6564696152656d6f74654d616e6...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
[setStateMessage] {
  playbackQueue {
    location: 0
    contentItems {
      identifier: "com.apple.avkit.581.da2989b2"
      metadata {
        title: ""
        duration: 3232.645
        artworkAvailable: false
        infoAvailable: false
        languageOptionsAvailable: true
        numberOfSections: 0
        elapsedTime: 949.279180667
        isAlwaysLive: false
        playbackRate: 1.0
        mediaType: Video
        nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchive...
        elapsedTimeTimestamp: 634811982.164496
        inferredTimestamp: 634811982.052167
        legacyUniqueIdentifier: -634811982
      }
      availableLanguageOptions {
        allowEmptySelection: false
        languageOptions {
          type: 0
          languageTag: "en"
          characteristics: "public.main-program-content"
          displayName: "English"
          identifier: "English [Original]-en-English"
        }
        languageOptions {
          type: 0
          languageTag: "en"
          characteristics: "public.auxiliary-content"
          characteristics: "public.accessibility.describes-video"
          displayName: "English - Audio Description AD"
          identifier: "English - Audio Description-en-English - Audio Description AD"
        }
        languageOptions {
          type: 0
          languageTag: "de"
          characteristics: "public.auxiliary-content"
          displayName: "German"
          identifier: "German-de-German"
        }
        languageOptions {
          type: 0
          languageTag: "pl"
          characteristics: "public.auxiliary-content"
          displayName: "Polish"
          identifier: "Polish-pl-Polish"
        }
      }
      availableLanguageOptions {
        allowEmptySelection: true
        languageOptions {
          type: 1
          languageTag: "__AUTO__"
        }
        languageOptions {
          type: 1
          languageTag: "en"
          characteristics: "public.main-program-content"
          characteristics: "public.accessibility.transcribes-spoken-dialog"
          characteristics: "public.accessibility.describes-music-and-sound"
          displayName: "English SDH"
          identifier: "English-en-English SDH"
        }
        languageOptions {
          type: 1
          languageTag: "cs"
          characteristics: "public.main-program-content"
          displayName: "Czech"
          identifier: "Czech-cs-Czech"
        }
        languageOptions {
          type: 1
          languageTag: "de"
          characteristics: "public.main-program-content"
          displayName: "German"
          identifier: "German-de-German"
        }
        languageOptions {
          type: 1
          languageTag: "hu"
          characteristics: "public.main-program-content"
          displayName: "Hungarian"
          identifier: "Hungarian-hu-Hungarian"
        }
        languageOptions {
          type: 1
          languageTag: "pl"
          characteristics: "public.main-program-content"
          displayName: "Polish"
          identifier: "Polish-pl-Polish"
        }
      }
      currentLanguageOptions {
        type: 0
        languageTag: "en"
        characteristics: "public.main-program-content"
        displayName: "English"
        identifier: "English [Original]-en-English"
      }
      currentLanguageOptions {
        type: 1
        languageTag: "en"
        characteristics: "public.main-program-content"
        characteristics: "public.accessibility.transcribes-spoken-dialog"
        characteristics: "public.accessibility.describes-music-and-sound"
        displayName: "English SDH"
        identifier: "English-en-English SDH"
      }
    }
    requestId: "PlaybackQueueInvalidation-EDF2C1B3-AE2E-48BC-AAB5-644BCA936252"
    resolvedPlayerPath {
      origin {
        displayName: "AppleTV"
        identifier: 1280262988
      }
      client {
        processIdentifier: 581
        bundleIdentifier: "com.netflix.Netflix"
      }
      player {
        identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
        displayName: "player-1"
        5: 2495375999434
      }
    }
  }
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "F8D7DECA-BFBE-483D-8967-AD9899D127E8"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=f00910c70d8aabe6aab0897d3ef1f2692f7089c520280b86a713e8afa9192bee831e7904049cbf876a5bac616831d91c2560f780e0e2930d0e0aac2a234079cc80109ab1fde7d6d6a7b2716db2dc58b69be90857608f29307331ee0283ce97c362d3d543e2e711b490ceb5cda8b8d3a858b5e64e6e4b90bfae80c6bdb5b775d7cfd4bc6a70cbfef5d413bdb0ef8403dcca52f64d417f7f637d25f68facfd66a9be0ce1f2398e595c77f9df7dbea535fcfefa1821f5ce9bd09a269935399e758c570c42fce3ab0da6e2b0f6407f4335b89cb991138a9412afae6b0c9fe84e17206d4bb642a4aa6fc44edc6efb8f19e1e8e47bd9855283fa6b6640bda684fdb...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08382000e203b1090ac8080a1c636f6d2e6170706c652e61766b69742e3538312e64613239383962322aef0208001a4b08001202656e1a1b7075626c69632e6d61696e2d70726f6772616d2d636f6e74656e742207456e676c6973682a1d456e676c697368205b4f726967696e616c5d2d656e2d456e676c6973681aa50108001202656e1a187075626c69632e617578696c696172792d636f6e74656e741a247075626c69632e6163636573736962696c6974792e6465736372696265732d766964656f221e456e676c697368202d20417564696f204465736372697074696f6e2041442a3d456e676c697368202d20417564696f2044657363726970746...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
errorCode: NoError
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.581.da2989b2"
    availableLanguageOptions {
      allowEmptySelection: false
      languageOptions {
        type: 0
        languageTag: "en"
        characteristics: "public.main-program-content"
        displayName: "English"
        identifier: "English [Original]-en-English"
      }
      languageOptions {
        type: 0
        languageTag: "en"
        characteristics: "public.auxiliary-content"
        characteristics: "public.accessibility.describes-video"
        displayName: "English - Audio Description AD"
        identifier: "English - Audio Description-en-English - Audio Description AD"
      }
      languageOptions {
        type: 0
        languageTag: "de"
        characteristics: "public.auxiliary-content"
        displayName: "German"
        identifier: "German-de-German"
      }
      languageOptions {
        type: 0
        languageTag: "pl"
        characteristics: "public.auxiliary-content"
        displayName: "Polish"
        identifier: "Polish-pl-Polish"
      }
    }
    availableLanguageOptions {
      allowEmptySelection: true
      languageOptions {
        type: 1
        languageTag: "__AUTO__"
      }
      languageOptions {
        type: 1
        languageTag: "en"
        characteristics: "public.main-program-content"
        characteristics: "public.accessibility.transcribes-spoken-dialog"
        characteristics: "public.accessibility.describes-music-and-sound"
        displayName: "English SDH"
        identifier: "English-en-English SDH"
      }
      languageOptions {
        type: 1
        languageTag: "cs"
        characteristics: "public.main-program-content"
        displayName: "Czech"
        identifier: "Czech-cs-Czech"
      }
      languageOptions {
        type: 1
        languageTag: "de"
        characteristics: "public.main-program-content"
        displayName: "German"
        identifier: "German-de-German"
      }
      languageOptions {
        type: 1
        languageTag: "hu"
        characteristics: "public.main-program-content"
        displayName: "Hungarian"
        identifier: "Hungarian-hu-Hungarian"
      }
      languageOptions {
        type: 1
        languageTag: "pl"
        characteristics: "public.main-program-content"
        displayName: "Polish"
        identifier: "Polish-pl-Polish"
      }
    }
    currentLanguageOptions {
      type: 0
      languageTag: "en"
      characteristics: "public.main-program-content"
      displayName: "English"
      identifier: "English [Original]-en-English"
    }
    currentLanguageOptions {
      type: 1
      languageTag: "en"
      characteristics: "public.main-program-content"
      characteristics: "public.accessibility.transcribes-spoken-dialog"
      characteristics: "public.accessibility.describes-music-and-sound"
      displayName: "English SDH"
      identifier: "English-en-English SDH"
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "8049A40F-BB2B-47E6-A249-14BFD1052812"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=da04caa8fa7ac2a117fee1d22a21ddbd5a9b64f32a25a5d430de7ed9770cec246f23f11523342ac1a8baf6cc0cfbf094e82d862850647b56a9ade9f6245655acbaf4005daf2538a662a7cfefa722c3994bd18fc15128642b80a3651fcf452d980206b05ab80d3237de113ff7a78c10c7907530fd9a7f4f0ce52a31d3fe7fd5ffb8e2182683ce82c36b7fda3b65d807853205fa1b7b2d36afd067bc7ddc1334590e0395679ce8922ad5f89390d2f9c76e2765fc53587ac3ac0bab53da86d81bd040d860eb58efe01c73865039a6feba26b024dd84858a6570bc604836a8ce54329d1b9a5994465b8d9ba58d189843c1d3a65cb39732ddb37c4fcb39fa5cd22...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08382000e2039b040ab2030a1c636f6d2e6170706c652e61766b69742e3538312e64613239383962321291030a1c53313a20453120224c6f737420696e204c6f7320416e67656c65732271d7a3703d4a41a940980101a80101b00101b80100990250cbf8bfa3ad8d40a80200bd020000803f8004029a04ae0262706c6973743030d4010203040506070a582476657273696f6e592461726368697665725424746f7058246f626a6563747312000186a05f100f4e534b657965644172636869766572d1080954726f6f748001a50b0c15161755246e756c6cd30d0e0f101214574e532e6b6579735a4e532e6f626a656374735624636c617373a1118002a11...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
errorCode: NoError
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.581.da2989b2"
    metadata {
      title: "S1: E1 \"Lost in Los Angeles\""
      duration: 3232.645
      artworkAvailable: true
      infoAvailable: true
      languageOptionsAvailable: true
      numberOfSections: 0
      elapsedTime: 949.704956001
      isAlwaysLive: false
      playbackRate: 1.0
      mediaType: Video
      nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240_\020\017NSKeyedArchiver\...
      elapsedTimeTimestamp: 634811982.590252
      legacyUniqueIdentifier: -634811982
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "65ACA041-03EC-409A-9977-7FA5A0AB9342"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=0820122433423942303044312d454439462d343935382d413239372d3137414343423642463334452000aa02180800100121000000000000804029000000000000f0bf6801)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=5123022ca390bff6560228ecae62a9528ca418330a55c85725f4acfc332c2e70144de2d947c6add4fbb48456b9ab6eaa2ac2d6214e2af09d08d4aa570907374fe7af632a703ff315e9bafac4e419b4bc964bfec476)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: PLAYBACK_QUEUE_REQUEST_MESSAGE
identifier: "3B9B00D1-ED9F-4958-A297-17ACCB6BF34E"
errorCode: NoError
[playbackQueueRequestMessage] {
  location: 0
  length: 1
  artworkWidth: 512.0
  artworkHeight: -1.0
  returnContentItemAssetsInUserCompletion: true
}
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=0820122432333735353944462d414145372d343932452d423042392d3333323544443231384235342000aa02180800100121000000000000804029000000000000f0bf6801)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=b29680d3cbad1ab0bf1d1bb62cb0fcf4730393c37d5e89207d20e354dd7ebfb1eac928987431080368dc3bee85a61ab743d506a91ab6dc87b575eb637042bcc19ae415ba276b6cc9fb3db4f18040ab19eaa11e8332)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: PLAYBACK_QUEUE_REQUEST_MESSAGE
identifier: "237559DF-AAE7-492E-B0B9-3325DD218B54"
errorCode: NoError
[playbackQueueRequestMessage] {
  location: 0
  length: 1
  artworkWidth: 512.0
  artworkHeight: -1.0
  returnContentItemAssetsInUserCompletion: true
}
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=bcc903338dc9837963e3ce31734a829d68b62708359038f3b77ac5db79604ba177c787b6d75c0cdef92721aa2e84c05e4d28f833d9b3a41c198c599b7e3a986d4c60dbd609b7263e3deae1f76e1910e168890ba034ddd59f781e81795a901ff05e302990dc57af0eae01c4ef3b4394ec513f4a716910d176469d3c325c1dbb4106beb414fe9fd4b5311922e61e176033d3caa6d18f616679c0cd32202dd57edc9085da302850ab618c63ba540d041f6827e4b5ae953289fd7115d81499ae73a0bf47c4d1b7a9fc5c4249f7006f9e4dbe824921361eafad661b069ae7bf7fce2c15ad217b88761fb891b53e88d543cc05dc02f4cab4b0e6eed1b6029e7f697...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 2893 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=7ea478cedb556286bee741f03643145d67eb129eff921525d92a5b6031f2d47e83d2e2e646aa8bec67561c74c02de72d9363027eeeb23ccd9fa6c0a9123052e55bde581be0f4a1d002effb4fafdc9c8b5d363c4d489d4767ca7d89ddd85bddaf8e8280b4602d888c093ec48b1614ab7a02da6a8af6d0a96f1f620473c22845d4be1ade3c76bd958d41ab434d36e22dc0c70c9735a9956979d2e8d76781343a9caf9b4779f8275a51554f46f4cbd7c39b13467a31c76e622fa45b0258d65d45346c922bb01679cbd433651f7a6f4bd3f21ee25f59b71827b65b5037bc0c98221ddbba12ebae30475ee9e8942bc90548ddb1f2e32c676d5b912f350eda43a27...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 13029 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=79923a164131acae62bc6d9b55bef39f358de37c9e3ccbfd659acfdb04cb36e2725125a88281a0d73c56e4d40d982514a4e3bb679c5421cd83113af4450060fdf6a127eced19345d1b5c86acd8bc0eb2bf346b280f008ff06c47832aa8a432236f32bb01e744d78a5cd21c7728acace647cc3cc6ebb978fa733cbc1c6016583994dddc0e99b31f27d023d855b25882f6d0036d3b13deca62d9ed86e8dc38cb3c942253f38cf40117a21f3d442d535073edb4b5b3669bfdb9cf4759d41778cdac306c454dcfb3eaf3e2c1add6ade62799405731d500a00d400e5425be3134ad239fb9666228b4189c2dc22337db71fc7fe3763c3b761cf0ce338925fb4db10...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 21717 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=c7e68fd3bba20d35c180f1d8e2653eca4afc5dcf7d54476b3f8332e762212bbdd47fc76048987c8fc9be2e634df2220d5d473752ae2c5306088e5ff078e1c8b1e1ad01d6515aa015904a33e05a68a8c973345f309a9255aac4384c0eeaa95723d9f6f6019ed860102d7596e514e0ce63ce7b6ed928f42f9d0de6e907e7c9725a795db353ab11d3c9dc8e8719fba3c912ac30ec6c86c873ec984d60948de42f11ff30afeaf047784f753e100033bf8e241eabf912f1268dc390509cca0d54a26b52047dc37c13e77d6a22899c0795c2d5f757c33f899ea7f527ce07ccb9e8c7be07243b2605a212995dbe78d9f8a502f79a89978cc746d0804223358199dfe...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 28957 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=f409fe0ab6c7bd91d49b4d07cfbe2d56304bb6ddeed3321c9b01d4a2cc8e4796bbefe8e6b684d4de477fe7c2cd312031065c4e6d077bb3c3f25ede68cbe57b241ddabb5291e964c3ef2d722cce40910ba8f7bcf8dfbb7d75510e1ecb457824fc854d1c26e308951867f24c2fb7720b77a8b72f8130d32ee335eb1f5669883a521d2ae10f8f68736418f58d35348ec9554d7776da5390930be31df92fde991ffa42d61bc3a7d72236527faf2487e529a021f2c5b4883a729cf31a0bb1d628baf3112d6642b5e58910411d0145a7dddb1c65ac546a3f29fa5530c3899f16b818c6e46f8d9604f07bd1632c439cb21fe34189f0b0e34c53d2212c307caa304dd...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 33301 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=e05b0bc1c06c344c2ff48f6544a53ac17dae907380d1a30e59af320d9b648e6cdf897d817c211fe73d09426d7eac1f72ceabd45273abbac6b3d607c9dfc321758f7974f4236bbde9f08ac2469a7e17b109c654c8accb66a9799c9b08d8c9776117e60923b2e1f599ee8f72c47e2522067ba065147c5426152af4321a7313ff98b275e324ca5070a06c229231e72e94eaec51e2ecd772c9f6c60f5469228f46c2b55f7b6592da40dbf03574fae1220f55847be7e48f19fad1c24fbc661d401dfb3f4f5ab30e150acfbd974e1b1d91f85c241f6a8183598cd66a67989520fd01f87d6dc78e2b17de6e5fd92365513596ba1a03a6219000092ab6ee599e048f1...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 39093 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=9d4343bf49892d549e2d7b71445ada95ef5505096a7ee5c66cf497493401fbc9551e3a6c64531da76b2a14a7bbcda1a433bf9c87794630a4dbbc4cea4996704c3a94334c7831d1789062cc5b09610cfb8309e52cada8cc0951941bd41cab85b7fcf8559c7dc55267afdba350d89fb6873665f459fb44fe44e0006e8f8f0f6641afc5302a42fd892d92fe2cbd4dc6dd112d3a69324feb804ed3bd99977aece8ea3e51cfeb747cee25f7fc14127c026a5a7f1689d6bbac4765f40046168b92271af846e1394c2a735a1c103669569c5f4cf757ca8e37001ab265fbf4eb6b737f223a6388d5bcfdd82b91f07e94d7c335c4ad88636a2bc8a1e02b199f312a349...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 47781 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a091330a2616ee6f865ac3566af3a2cc5146603a2bb55765d2c0f5f9a46dc06d04f58eba76848a3450f7438732fed6f4c8dcf11790def37ac61ee1ff5353c864c9698409a0e2fda99a7c94f1a57c99c4e2157f6cb910167569abf383f6af74ef4fdbcff77bfb33697b41ea9e4ea721680817898041373c58924bafd5b8297db8bb4559d9aa003dec76fbc09f1f2f897f4350b0233bc75af02a3a23de2a1ee10e1d9d78323e1df59329d9dd46d7efd4a265d2c9dadfe0aacdaf0eec46a7de0ca084cdcc9c6164ed6f5d433fbc4b91284364b8e6815f8cf2ec85e699f81fe7a21e704abb1a0ee42b295f99ff2ecff4d2e5ca67a16c4b6e151d19548d7761862...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 53573 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=d5d523f53f8ba08ddf8c1745c908e3aaac07abacff646782d565db71c6c5714b87da92c59acb16e69e6e5a5889887d9baf366f27a342e91d15e23c0273c147c41e3ad7f0fdc33fbb047b2f6909ec195fc25435b2556c73c38f744f4460053b1cbb7f6de0789a1420ae194466ea1f17f403e349bc5c291ef6759c412c992d2891b752785dbacff5ef48b6d873c5cb5ae9edc65231435fe2c741660634dd046009b1cb1be67b632a61049f5c78b318c4bf9c0f11f440ea2d4938eebca9e647bed413a800ec559f93e0ca0b729b06929bc88fd90a3e70db3cf075c702f8fc190db10c1d4ba8ff59cb3d2eb5ba3d57ac9a563c9f10b0e348be05d8d0792491a99...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=0804122433423942303044312d454439462d343935382d413239372d31374143434236424633344520004ad7c8031ad1c703080012acc6030a1c636f6d2e6170706c652e61766b69742e3538312e64613239383962321a8ac603ffd8ffe000104a46494600010100004800480000ffe100584578696600004d4d002a000000080002011200030000000100010000876900040000000100000026000000000003a00100030000000100010000a00200040000000100000200a0030004000000010000012000000000ffc00011080120020003011100021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc40...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
identifier: "3B9B00D1-ED9F-4958-A297-17ACCB6BF34E"
errorCode: NoError
[setStateMessage] {
  playbackQueue {
    location: 0
    contentItems {
      identifier: "com.apple.avkit.581.da2989b2"
      artworkData: "\377\330\377\340\000\020JFIF\000\001\001\000\000H\000H\000\000\377\341\000XExif\000\000MM\000*\000\000\000\010\000\002\001\022\...
    }
    requestId: "A39FAC53-5A9A-4527-ADF6-667B0196C871"
    resolvedPlayerPath {
      origin {
        displayName: "Apple TV"
        identifier: 1280262988
      }
      client {
        processIdentifier: 581
        bundleIdentifier: "com.netflix.Netflix"
        processUserIdentifier: 501
        displayName: "Netflix"
      }
      player {
        identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
        displayName: "player-1"
        5: 2495375999434
      }
    }
  }
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
  request {
    location: 0
    length: 1
    artworkWidth: 512.0
    artworkHeight: -1.0
    returnContentItemAssetsInUserCompletion: true
  }
}
uniqueIdentifier: "D32E6DF7-ADB5-4929-BC38-B52FBFA9DA9D"
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=bcc90389e87d10f015a3dc60cdd318ae8e78567c08d9d19e3d44136da377222acbc0d026321b3a02f1ee60696fbeb49a2ebf8cd66a23fa226d0514de5a81a513f7257b2d40edd4d1bfab92db20b7047690691e389a33d98c3bceb9365c568b7e0d84edaa30ab4bca5817362cccf5e8168a4dbe3401393d3d861a4ffb120dcc21270fe3b124c39e21a042ee70eff45cf4f23d5995e74a82488e43b0749094af9cc9e98732947292d8213f7ac3323c7c9d17e3a8b3d4a66aa0021f62aa9f8d311f016b7bf6634edcf0a864526dca40445d49d7864c3f1d2802d344db310e17a3ba8a5cf80223fea9e5a0a24acf83c21c7bb194c09251f81791bab7f75c87a48...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 2893 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=6d0d307eb3401f4dcba2bdae0c8958b8923564272a928ad8843d794e75802c5f38a21fe0ca1ad14660bcfc8d70e178038e28f4a6dd8288d4989dd94fb188941ddf96cac61ad5700d6de3c96614c8c7e88d78dad65a3f30d3dc08c681ac5895329aa1876bcef3479ef6c3deda73d7e9af0afd753fd9cd47f107561c2baccab7bb2675df12de97a179f07d84d0ece2d15cffc942db036089fc01a001a07e33a9492e47e72608edb808071f6ab558bfd62637bdfb715dd0136622ce8a06471f81056dd77b2867404993aa08670526efcef5bee874d55585e5f14f58f1008606770fd1a5ea3e164a22c9e99d00f5f250385ed0ef48dc9a17159c815024c28e25f...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 11581 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=b456ba87724ffc00e0f8e251b60c629699a43911633fc82857270bd59bfe84871f1c1922bed2bda59850de94fb8a5d915b013add5496634f7b206e3c759f890e70f7c68734da69fa9b3f3f8d1c13f165c3b3c726b5e259e4b6afbbc4636ed87ce94e1f8219814c615384aba2451bb8ef886154cec8d13367d4de218351c34884028f7e2a2f06d7e14566013e44e87c7fec5dfa17cea7ef4d0d0995f9fc5fe0cdae8b913f53d1397595459bc11eef167e6b5205c25aff922f4bc2812cae5893df3913979db0a755dc19832a9303496313c76473a99481a493295d879bbb8443ac41cf46e1a4192430abbc6d17af6ccac5ffcf1fe482478745493dc5a2da53b...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 17373 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a257b43c54582f89ee2a2cf551c4de2241f1fa906f532eef08efbcfddd457ed859f756095c03fe30f73829c296bb3567da56dd3ae1b0d3fb83a28cba75d231a3cba7382a721d619f1041c507039fdb03764bf2d8e7f3ecad58366bca1b3f9bbde2c7883adeaf8dc2edf41dd86c84ea7a6e256b5dc986116962d02e1e0fbe6825839ee2bdb89f40b91676d0e8f72cbcc103baec00c05eb316132c7b934bb5c3bf0e42f565d90a5c1f3c2a0cea60016f57f04a72c8e7a7a237e85daf99470d49ba7b87c242d7247dd8bcfa27106440b647036634bd51190249699e3228d2a3852903779d8a99a33e6374bdfaff9cd36ed70d2ccffe6dc4bdd3d4c2aa63561b5...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 23165 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=d9a30ed8dddafa94cc4a74fa4446c62acb65671824d3d1eea1e6445850375fb467e1b7b23372bbbfc19a50fdd621d614fe8a43e81a5549b258f12212421e66bc9d8a99ad1d9aa0c8d9ce9f2a4fa85a3fbd1a2189e21df990c6f5453b2b538a2542e554fd4b8112a9b0feddfec083e2388ecd2fbdbcbb39218b744f004d71b1816a0e37f370a42fb9393826cd9b2700cc3e2f47c75b8ea54ce8e0b363a26ef35947531a995b364f53b35beae2db17e42ec3218d08313f124a04f1dd1cd4dff9571ccdaf0d48a9e3618c2df5ca932d735de25009d0cccfda5dbc24d4f076c037b0d2e1884a8f32b1c7fe55db23d2efc912fd3a5b4fd579ee62a8adae11cfdb3...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 28957 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=ed5569c45170366de4f9ebb9fea279754f2fa932dd686a38ab0dc37de3e82592df22fb5ff0f7c314dfcddde9444c00eb3586c0397ae6d160ca98c874652db045eedca23d31416deaa8de45d80edd47a07afd176adbf961a0b20f1e8ae007553bfa4306b0f644afbbe734ddaac5f79650b457ab864e3a166a0676b21c38a1be6e87be6382f54cbaaabec60480c6f996a3b8c99d80428c31e731ba355b940e98a157cf70b468cb3d2c6997ea2b90309441caeb3af180e0061ec377343b17b833f43b7f1874240513dfa833a6ceb313336c989f75b15be8b09d215e4145d6471298f082e8a4c66934afa925fbe939c9de860c31dc3cf7c6e57d47c38e84b40d8...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 34749 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=31330330c09fc27dec2220976a95fb182a55c56b85b419a262758b77a6702b35b6cd785b58c0daa8df2c2a3b7542fbbff604dfedae44e74d6af85f5a7528895ffdffecd01853151f0f6c31d5b72bab5769216701ebe1e22a5e42a19c1eb306492d8c269676d8fb7900d815bdf666b541674a97e6d54a784805d8344b2e413ebad98f0acb068e5b94535a50be632085d7e3c0499268071612d08990a766d89f3f2abaeb922afea6d71071cdd8c72f59d4477f3afb5cccc387c59af702c1680854db8e61aa4d297b7581015f24aba453fa64f8957899ee28a788564fa29ba569a22c1968c1932ddd7025478371cefd4b4ab001adb1e8c6a119e0d8b56ecfcf5...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 40541 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=42594423d87a3d64cc88c70a19cc40597d2ba149c5e0f88c7de8388c94ebd8ae4d28432776ef52471b4f54bd19732fd6b61dc095091746f41a502fdf37b328417e9698bcf0dcf91b5c60fb2bdfe181b1837084aeb51d7565bf3ba3cafbf54195fdd87bd737685bccb928d094dcc9242a6b7246944f693318c0f2c12268e90016f4060e30cdf3a687ccd74891aacba576540670ac3769b4adb9b0884c81163a32522286bc417c383a7e147ea485970fb7430835554d8e2fac86cf7c1dabe7df0e9428c3dd7bbc8392aa7afd621d5d09f925c987c86723d5d799354633986b8999f342f67eab41d88f119c8ec95e0cc72043c76663ee81177cef17f8690758c...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 44885 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=8f74255d10841132cb7d8ec5597d2bcd4897af895e132216082c604e6f213e5138644970fd1eb4af3af8f381114e6a01a791a87ba413bc90af588b9bfc7a12819867e07969dc97ad8d032851ced11ecfef77ec6d450f562941f5e65a5b52993b35f424b6dec85e9c2b744380cfc4a6d999ac6aafb162260de908183fa9d2faacc1932973fc7c043fdae07ba1d95fe29a1f88af1ba34e327e5106cac2b24e969a97bfd455f42ad66e303d783188c75d8ff34321bb67017a1be30dab366f2a441f1b840a02bc5699bad5725678629971bdceddc4222a68df0a93210ce0029b3c90baa693fdb09a4f61c5ad091a252238485e96d5d5208de652bc76e788f0db5...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 49229 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=5edcc85b680867ab0b5c710ad393d8b992f4bbff1a0f27f6093265cdd818398bfaca5cf63602bd930c904f401a22639f265a5e8893b2002c217856b4fc20d5bb0d50f9278021dd94e96a8106c3d1eca576c26dd4e26354f57b579c203682e3431d3160ac5f338d66bf94dd384a0dc91cefa1b9852eb0fa6f7010186a1a12fb4d6477d666cbeaee54a2f11f056dea8c6391706b66fdae062bf5f5e72e0585d99399e14c88eec078aaa1a4a2ce4a22bcb83fa30376a09409777bbdca7fc8aaf82fd2a32b04371665c87c9b93f7b24d777fcc6026c7372a6ca2e6d0fe09a19c570852d7ad257b9714a99eb9743acb618c8a8aea56df954f835ef726af28e4243...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 Require 58556 bytes but only 55021 in buffer
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=810d460ab66e47e19ffad9a266d601972aab9f943b9c92d12747dbf5b2b97c4ba2e6a70303156254cf8947f7a4e0c9f57f6c819857e5bd0cd14877396f545ab00f54fbe91ebbf3c2bfc960405e1dcc3abe7c28317cc0d3631139d1d33241fc69c8c79a55476182fe30654b8ada2e374665095b193ed7ffc2650278987442887076754486a6622587f622305fd5a1b1c5d7f4327f67a934fb584411b345b7282b4db228a78b81799eb5e89eb32676906cf1d98b0e62863af66ef992059e3c7e8cf15774d7bc1fff5562fd9644974cd34e6ed982c669d7e6d3b54523e0b95256e735e078e586ed04cb9b61c427cb81a6d19d02bbce7305cf01ded6c65b15572...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=0804122432333735353944462d414145372d343932452d423042392d33333235444432313842353420004ad7c8031ad1c703080012acc6030a1c636f6d2e6170706c652e61766b69742e3538312e64613239383962321a8ac603ffd8ffe000104a46494600010100004800480000ffe100584578696600004d4d002a000000080002011200030000000100010000876900040000000100000026000000000003a00100030000000100010000a00200040000000100000200a0030004000000010000012000000000ffc00011080120020003011100021101031101ffc4001f0000010501010101010100000000000000000102030405060708090a0bffc40...)
2021-02-12 08:39:42 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
identifier: "237559DF-AAE7-492E-B0B9-3325DD218B54"
errorCode: NoError
[setStateMessage] {
  playbackQueue {
    location: 0
    contentItems {
      identifier: "com.apple.avkit.581.da2989b2"
      artworkData: "\377\330\377\340\000\020JFIF\000\001\001\000\000H\000H\000\000\377\341\000XExif\000\000MM\000*\000\000\000\010\000\002\001\022\...
    }
    requestId: "7682898E-DA85-4473-A3DD-1A524683E813"
    resolvedPlayerPath {
      origin {
        displayName: "Apple TV"
        identifier: 1280262988
      }
      client {
        processIdentifier: 581
        bundleIdentifier: "com.netflix.Netflix"
        processUserIdentifier: 501
        displayName: "Netflix"
      }
      player {
        identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
        displayName: "player-1"
        5: 2495375999434
      }
    }
  }
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
  request {
    location: 0
    length: 1
    artworkWidth: 512.0
    artworkHeight: -1.0
    returnContentItemAssetsInUserCompletion: true
  }
}
uniqueIdentifier: "EEB1F1FE-1A44-4383-A0E5-CF1297623DDC"
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.protocol] Sending periodic heartbeat 8
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Data=0801122436464438453639332d313839462d343043422d394531362d4435463733303035423537352000)
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send (Encrypted=9e86a240cd0c6f73ded5c8dc6717b1346fa78a607c26b3674785f16091783b4011298100eb4e7f63ea5ae26a6750382c6b051345560d4c320c7a)
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 >> Send: Protobuf: type: SEND_COMMAND_MESSAGE
identifier: "6FD8E693-189F-40CB-9E16-D5F73005B575"
errorCode: NoError
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=65de176385e12b82d18827ace084a5be467cc1e5fc732cff7878a83fca6dc8412cd7c7541b78ef02dd134d810353f524f01d64bf0c4f1b6b30307f71e9c4137c437981e7dcefa330e7a2c81dd1561fb8084ce9395b314f27035b384e3ee7ac99fb8c1a4fc8df)
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=0802122436464438453639332d313839462d343043422d394531362d44354637333030354235373520003a020802aa052431444441373431442d444332442d344633382d383235442d433535343138333637363630)
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SEND_COMMAND_RESULT_MESSAGE
identifier: "6FD8E693-189F-40CB-9E16-D5F73005B575"
errorCode: NoError
[sendCommandResultMessage] {
  sendError: ConnectionFailed
}
uniqueIdentifier: "1DDA741D-DC2D-4F38-825D-C55418367660"
2021-02-12 08:40:07 DEBUG (MainThread) [pyatv.mrp.protocol] Got heartbeat 8
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=9901d0cd2f236dc81ded8ab5f32416fb4a3254a834b210433878cfc754515297c869cf05a7d29c3040a6ebe6d2ace0f02cb52c9b82476a5ec5f78a77dd7feffa7304ca750df171da338ad74c0b1eb0a367950da7089876bc5a1242cf9104de3e828d49879717674af4cdcb1ffb85be2a5a27b05827a34068db583f08321fb267c0dc0d2e914b4c216fd1901b1a1689ad94676a63f285fda0a20716)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08362000d2035b0a590a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572aa052442393436323639332d423531452d344543442d383239302d433541333245393433333444)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: REMOVE_PLAYER_MESSAGE
errorCode: NoError
[removePlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "MediaRemote-DefaultPlayer"
      displayName: "Default Player"
    }
  }
}
uniqueIdentifier: "B9462693-B51E-4ECD-8290-C5A32E94334D"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 54 (RemovePlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_remove_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=a40113915eee2ca9f10edc585e1d4badd36518bf7d6aa16219a2f0028eec0a12ed0615631326c5e0b3137063ba97c4bcccb030d6112aa022c8751c308c2033a5de31d8f3f335c0f49bc4b76f7d1583e402a1de1b22a5359f8e0daf20699044aa33d2f5f23fe21b209ff62689781198373c1f8c10c5b1651c57994faee67c6db31af96a4e43934991a953c308372bdfe187ebd548b23626f11ba0f91996ff10300ee9f9abe047)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08362000d203660a640a1012084170706c6520545618cc86bde204121808c5041213636f6d2e6e6574666c69782e4e6574666c69781a360a2a61766b69742d32343344464634432d393046422d344539422d413133382d3439424545304433384545321208706c617965722d31aa052438314345353330442d323939452d343735442d393939332d383444324539354446453044)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: REMOVE_PLAYER_MESSAGE
errorCode: NoError
[removePlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV"
      identifier: 1280262988
    }
    client {
      processIdentifier: 581
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-243DFF4C-90FB-4E9B-A138-49BEE0D38EE2"
      displayName: "player-1"
    }
  }
}
uniqueIdentifier: "81CE530D-299E-475D-9993-84D2E95DFE0D"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 54 (RemovePlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_remove_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=58f0f76890a07cdc44aa76772bf826adb1430e72695527f9052552c1798ff59237c77cfa8c26ae66397377fed633ed86784044618123fe0d6e57af26687debf4ad083839a391bdb3f89ad1b653fe023df767fc97dc2dbfb45d3e1c1973168397818684f637a874657e9baa097ebb470d7aa61296f83bd80f6ec8b5096fd725397ce12f40902ad5f65bde96b126767da0937864dbb741be31d002f1f779a97c3dc88668c6f04c0cae3b1b6798a0e9c60f82d299177a939143edbd6f330a2a8134ab15a0ec3e4223f80dc0e81582a93b562afaaaa0d41b08a1cea7ab2685c3206159de703cb5dd0d237ecca6e5eef461e9f3f6cba9e5390aaeada26bbd29ae5...)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08352000ca031a0a1808c5041213636f6d2e6e6574666c69782e4e6574666c6978aa052444444535344135382d333832322d343643412d413846302d413945304235443346413038)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: REMOVE_CLIENT_MESSAGE
errorCode: NoError
[removeClientMessage] {
  client {
    processIdentifier: 581
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "DDE54A58-3822-46CA-A8F0-A9E0B5D3FA08"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 53 (RemoveClientMessage) to Listener(func=<bound method PlayerStateManager._handle_remove_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082e2000920300aa052445304444343534462d394334312d344432452d383442462d303532454139353442443339)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: NoError
[setNowPlayingClientMessage] {
}
uniqueIdentifier: "E0DD454F-9C41-4D2E-84BF-052EA954BD39"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04910212e2010a04080110010a04083a10010acf0108301001880107880103880106880102880105880101880108920123636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e726164696f920127636f6d2e6170706c652e6d757369632e706c61796261636b71756575652e747261636b6c69737492013b636f6d2e6170706c652e4d65646961506c61796261636b436f72652e706c61796261636b436f6e74657874417263686976652d76312e6f7061636b920125636f6d2e6170706c652e6d65646961706c617965722e706c61796261636b636f6e746578740a02083b2211636f6d2e6170706c652e54564d75736...)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: PrepareForSetQueue
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 7
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
      supportedPlaybackQueueTypes: 8
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.radio"
      supportedCustomQueueIdentifiers: "com.apple.music.playbackqueue.tracklist"
      supportedCustomQueueIdentifiers: "com.apple.MediaPlaybackCore.playbackContextArchive-v1.opack"
      supportedCustomQueueIdentifiers: "com.apple.mediaplayer.playbackcontext"
    }
    supportedCommands {
      command: SetPlaybackSession
    }
  }
  displayID: "com.apple.TVMusic"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.TVMusic"
    }
  }
}
uniqueIdentifier: "AF42C73B-D4B6-428C-ABDF-881CC0EA22B3"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08482000da04ca011299010a04080110010a13083010018801038801068801028801058801010a7c083b1001ba0139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e657269635175657565c20139636f6d2e6170706c652e706f6463617374732e4d54506c61796261636b5175657565436f6e74726f6c6c65722e47656e6572696351756575652212636f6d2e6170706c652e706f64636173747342004a1612141212636f6d2e6170706c652e706f646361737473aa052430304237384144312d333839332d344542312d394544312d443732433030423730363639)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
errorCode: NoError
[setDefaultSupportedCommandsMessage] {
  supportedCommands {
    supportedCommands {
      command: Play
      enabled: true
    }
    supportedCommands {
      command: SetPlaybackQueue
      enabled: true
      supportedPlaybackQueueTypes: 3
      supportedPlaybackQueueTypes: 6
      supportedPlaybackQueueTypes: 2
      supportedPlaybackQueueTypes: 5
      supportedPlaybackQueueTypes: 1
    }
    supportedCommands {
      command: SetPlaybackSession
      enabled: true
      supportedPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
      currentPlaybackSessionTypes: "com.apple.podcasts.MTPlaybackQueueController.GenericQueue"
    }
  }
  displayID: "com.apple.podcasts"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.podcasts"
    }
  }
}
uniqueIdentifier: "00B78AD1-3893-4EB1-9ED1-D72C00B70669"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08692000aa052443464244343443302d454343432d343638392d424330372d334238433139394241374241ba050909d0cefb333bebc241)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "CFBD44C0-ECCC-4689-BC07-3B8C199BA7BA"
[originClientPropertiesMessage] {
  lastPlayingTimestamp: 634812007.9672489
}
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=082f20009a0300aa052446423235424634302d324134322d343033352d383331452d303837343246363842303732)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
errorCode: NoError
[setNowPlayingPlayerMessage] {
}
uniqueIdentifier: "FB25BF40-2A42-4035-831E-08742F68B072"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08042000aa052441444443393032412d344146412d344344332d423433322d343542354630353032304334)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: NoError
uniqueIdentifier: "ADDC902A-4AFA-4CD3-B432-45B5F05020C4"
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.mrp.player_state.PlayerStateManager object at 0x7fad5f002970>>, data=None)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08682000aa052443394442393436412d393634452d343837302d423438302d463131374333383841323533b20509110000000000000000)
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
errorCode: NoError
uniqueIdentifier: "C9DB946A-964E-4870-B480-F117C388A253"
[playerClientPropertiesMessage] {
  lastPlayingTimestamp: 0.0
}
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.player_state] Active client is now 
2021-02-12 08:40:08 DEBUG (MainThread) [pyatv.mrp.player_state] Active player no longer set
2021-02-12 08:40:08 INFO (MainThread) [homeassistant.components.automation.conditional_media_paused_idle] Conditional media - Paused idle: Running automation actions
2021-02-12 08:40:08 INFO (MainThread) [homeassistant.components.automation.conditional_media_paused_idle] Conditional media - Paused idle: Executing step call service
2021-02-12 08:40:08 INFO (MainThread) [homeassistant.components.automation.conditional_media_all_off] Conditional media - All Off: Running automation actions
2021-02-12 08:40:08 INFO (MainThread) [homeassistant.components.automation.conditional_media_all_off] Conditional media - All Off: Executing step call service
2021-02-12 08:40:09 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Data=aa01bd17e1214398ddfaf4c7669dba1f3edf69f849d8db5868b3000f1171fd54c8a1b29df5db3af60e0e9cf947a909591329a60e2d9c12df18812f449087eab7c8a8374fe54b7751bb0e47d655e75ed5d5018f01d130b9a5c2af831e5a59948ff546f0d1fb47b553573b651d850551eaf47bed7763c9da7d603138690410043b3e23746f37e244ae31c0dd8b19836b351d97f6420afbde1f3149bcb84386767848e96c71ba93a53a4f4f2798)
2021-02-12 08:40:09 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive (Decrypted=08412000aa046c0a340a074170706c655456122435393432443538442d333738382d344645332d393739362d3036363744304242373837455005a802001a340a074170706c655456122435393432443538442d333738382d344645332d393739362d3036363744304242373837455005a80200aa052437303942374444362d363334432d344531442d384635312d344438384146304638464541)
2021-02-12 08:40:09 DEBUG (MainThread) [pyatv.mrp.connection] 192.168.20.58:50104<->192.168.20.109:49152 << Receive: Protobuf: type: UPDATE_OUTPUT_DEVICE_MESSAGE
errorCode: NoError
[updateOutputDeviceMessage] {
  outputDevices {
    name: "AppleTV"
    uniqueIdentifier: "5942D58D-3788-4FE3-9796-0667D0BB787E"
    deviceType: Wired
    volumeCapabilities: 0
  }
  clusterAwareOutputDevices {
    name: "AppleTV"
    uniqueIdentifier: "5942D58D-3788-4FE3-9796-0667D0BB787E"
    deviceType: Wired
    volumeCapabilities: 0
  }
}
uniqueIdentifier: "709B7DD6-634C-4E1D-8F51-4D88AF0F8FEA"

@spigotx spigotx added the bug label Feb 12, 2021
@postlund
Copy link
Owner

I wonder if this has to do with the new heartbeat support I added... Will have to investigate a bit myself, thanks for reporting!

@github-actions
Copy link

Generated html log for issue description is here.

@postlund
Copy link
Owner

I cannot seem to reproduce this myself. Still on tvOS 14.4 thoug, so maybe it's related to something in the beta builds. Can you still reproduce this? Even after restarting the device? Also, does it happen while just being in the Netflix app or only when playing something?

@spigotx
Copy link
Author

spigotx commented Feb 17, 2021

Hi.
Yes, I can reproduce it every time I update the integration. Doesn't matter if I restart appletv or HA, it happens every time.
And it happens only when playing something, otherwise it's ok.

@terriblefox
Copy link

terriblefox commented Feb 18, 2021

This happens to all apps. I got the issue on AplleTV+ / Netflix & Amazon Prime. All apps stop after a short time and it quits to the home menu. Also on 14.5 beta 2

@postlund
Copy link
Owner

This must be an issue in tvOS 14.5 then. Question is if it's a bug or an intended change from Apple though.

@spigotx
Copy link
Author

spigotx commented Feb 18, 2021

That's a good question. :) But older integration is working fine with 14.5.

@terriblefox
Copy link

How can I downgrade to an older version to test it ?

@postlund
Copy link
Owner

I added heartbeat support in the latest release which is likely the reason why this happen. I guess the method I used to implement heartbeats changed in tvOS 14.5.

@jpatriarca
Copy link

Hi @postlund, not trying to push hard here but there is an ETA to review and correct the issue affecting the beta tvOS version 14.5?

@postlund
Copy link
Owner

@jpatriarca I want to wait at least until the next beta to see if the behavior is still there before making any changes. I'm not sure what message to use otherwise as an alternative to implement heartbeats.

@hdprice
Copy link

hdprice commented Feb 19, 2021

I updated HA to the latest version and had no issues with tvOS 14.4. This only started happening once I upgraded to tvOS 14.5b2. Apps only crash once they start playing video, navigating menus, etc does not cause them to crash. I don’t know if heartbeat is involved or if it’s something to do with retrieving the details about what content is playing.

@xirixiz
Copy link

xirixiz commented Feb 21, 2021

I'm experiencing the same, all video content crashing after several seconds. Apple is working on video related stuff: https://tweakers.net/nieuws/178172/apple-tv-krijgt-ondersteuning-voor-zowel-23-komma-976-als-24-komma-000fps.html

Most probably it's related to this implementation.

@xirixiz
Copy link

xirixiz commented Feb 21, 2021

Just to share:

I executed the below several times until I got the question to reset or reboot. I then just rebooted without reset and then everything worked fine again for tvos 14.5b2:
Do a soft reset by pressing and holding the Menu + Home buttons at the same time on the remote until the sleep menu comes up, and continue to hold it till it starts to reboot. As soon as it starts to reboot, press and hold the Volume Down + Play + Pause buttons at the same time till it brings up the recovery mode screen separate to the main interface.

The only thing I had to do was repair the Apple remote:
Point your remote three inches away from your Apple TV. Then press and hold your remote's Menu and Volume Up buttons for five seconds.

@SeanPM5
Copy link

SeanPM5 commented Feb 21, 2021

Also have this issue on tvOS 14.5b2. The apps work fine until you start playing video and then it crashes after just a couple seconds. Reproduced it on ESPN+, HBO Max, Starz, Netflix, etc.

Interestingly, I was able to stream a two minute trailer on Disney+ app from start to finish with no crashes. I also used the Plex tvOS app to watch something off my personal Plex server and it didn't crash after several minutes. That makes me wonder if it might be something DRM related?

@xirixiz
Copy link

xirixiz commented Feb 21, 2021

Tried the solution I just provided @SeanPM5?

@SeanPM5
Copy link

SeanPM5 commented Feb 21, 2021

Tried the solution I just provided @SeanPM5?

Not at home right now but will try your solution when I get back. Sounds promising!

@postlund
Copy link
Owner

I still feel that I'm 99% certain that it's related to heartbeats. A simple way to confirm is to use atvremote manually:

  1. Go to an app and pick something to play, but don't start it yet (just remain in the menu to be one click away)
  2. Run atvremote -s <ip> --debug push_updates and wait for it to settle. After about 30s, a new heartbeat is sent and you should see that in the log.
  3. Precisely after a heartbeat has been sent, start whatever you picked in 1) and play it
  4. Wait for about 30s until next heartbeat is sent
  5. "Hopefully" the media is playing fine until the heartbeat is sent and stopped when it is

If someone could try, it would be great. You have to install pyatv first and that doesn't have to be on the same computer as Home Assistant.

postlund added a commit that referenced this issue Feb 21, 2021
Seems like tvOS 14.5 beta has some issues with current heartbeat
implementation, so switch to another measage for heartbeats.

Fixes #959.
@postlund
Copy link
Owner

If someone can confirm what I wrote above, please try with #975 as well and let me know if that solves the problem.

@spigotx
Copy link
Author

spigotx commented Feb 25, 2021

I'll try it once I get home.

@github-actions
Copy link

Generated html log for issue description is here.

@postlund
Copy link
Owner

Any success to report? 😛

@xirixiz
Copy link

xirixiz commented Feb 26, 2021

My two cents. I'd close the issue as it's only appearing on a beta release...

@hdprice
Copy link

hdprice commented Feb 26, 2021

My two cents. I'd close the issue as it's only appearing on a beta release...

What if it makes it into the release candidate? Too early to close IMHO.

@postlund
Copy link
Owner

I agree that it is beta and perhaps this won't be a problem when the final release is out. But I still feel that it's a good idea to follow up. I would actually prefer my suggested solution as I find it "more clean". It also works for both current release and beta, so it's win-win.

@spigotx
Copy link
Author

spigotx commented Feb 28, 2021

I still feel that I'm 99% certain that it's related to heartbeats. A simple way to confirm is to use atvremote manually:

1. Go to an app and pick something to play, but don't start it yet (just remain in the menu to be one click away)

2. Run `atvremote -s <ip> --debug push_updates` and wait for it to settle. After about 30s, a new heartbeat is sent and you should see that in the log.

3. Precisely after a heartbeat has been sent, start whatever you picked in 1) and play it

4. Wait for about 30s until next heartbeat is sent

5. "Hopefully" the media is playing fine until the heartbeat is sent and stopped when it is

If someone could try, it would be great. You have to install pyatv first and that doesn't have to be on the same computer as Home Assistant.

debug: https://pastebin.com/dl/sFfBkHME

There's Starting heartbeat loop -> heartbeat 0 -> heartbeat 1 -> play but right after start it crashes and no heartbeat 2

It there's anything else I could try just let me know

@spigotx
Copy link
Author

spigotx commented Feb 28, 2021

If someone can confirm what I wrote above, please try with #975 as well and let me know if that solves the problem.

What should I do, to try this? Thanks.

@terriblefox
Copy link

allright , beta 3 seems to work again!

@postlund
Copy link
Owner

Great! Not surprised it was an error in tvOS. I'm gonna merge my change in #975 as well since I find that to be a better solution.

postlund added a commit that referenced this issue Mar 11, 2021
Seems like tvOS 14.5 beta has some issues with current heartbeat
implementation, so switch to another measage for heartbeats.

Fixes #959.
@ramondunker
Copy link

I recently updated to stable 14.5, and I’m having the same issues. Maybe it wasn’t just the beta version?

@postlund postlund reopened this Mar 12, 2021
@postlund
Copy link
Owner

@ramondunker Hmm, that doesn't sound good. Do you have time to see if you can reproduce with latest pyatv alone (using atvremote push_updates) and then re-test with version from master?

@ramondunker
Copy link

Hey, sure. I will try it in a couple of hours 👍
Can I ask you for help when I can't get it to work?

@postlund
Copy link
Owner

Of course! What you want to test is basically to run atvremote -s <ip> --debug push_updates, start something on Netflix and wait for the log regarding heartbeat to appear. It's periodically every 30s, so if it works for more than 30s it should be ok. First do this with latest released version to verify that its reproducible, then test the same thing with master and hopefully it works.

@ramondunker
Copy link

Thanks for your explanation, will let you know :)
BTW, do you have experience with this Breakout cable?:
https://gizmite.com/shop/apple-tv-4k-hacks/apple-tv-advanced-breakout-cable/

@postlund
Copy link
Owner

Great! Let me now if you have any questions 👍

No experience, no. Didn't know it existed 😅 Does it have any useful use cases yet?

@ramondunker
Copy link

You can jailbreak the latest version of tvOS on Apple TV 4K. But it worked once and now I'm getting some weird green screen and crash after connecting the USB.

About pyatv: how do I install the master version of the package?

@postlund
Copy link
Owner

Interesting! Sorry, can't really help you there 😕

You have instructions here (master corresponds to the development version):

https://pyatv.dev/documentation/#installing-pyatv

@ramondunker
Copy link

Latest release:
https://pastebin.com/jU6icFJT

Master:
https://pastebin.com/fsfKbfqH

It quits the player with both versions, release and master.

@postlund
Copy link
Owner

It looks like the master log contains the same keepalive message as latest release, so I don't think it worked correctly. Try uninstalling all versions of pyatv and then install master again, might be that you have both versions installed and the released version got precedence. Should be enough to run pip uninstall pyatv a few times until you get a message that it is not installed.

@ramondunker
Copy link

image

After uninstalling it says it's completely removed. After installing with git it says its installing 0.7.6.

@postlund
Copy link
Owner

Yeah, the version in git is the same as the released version. Should add dev0 or something to it, but haven't come around to to that. Should be fine nonetheless.

@ramondunker
Copy link

Ah okay, this still gives the same output. It kills the player on the Apple TV

@postlund
Copy link
Owner

If you check the debug log, do you see GENERIC_MESSAGE or SEND_COMMAND_MESSAGE around the time it sends the first keepalive message?

@ramondunker
Copy link

It actually works now. I guess I still had the wrong version installed.

When will this be pushed to the next release? :D

@postlund
Copy link
Owner

Yeah, probably the reason 😊 I will try to make a release today and open a PR for version bump in Home Assistant soon after that.

@postlund
Copy link
Owner

I will bump the beta component was the PR has been merged, to ensure I get code review comments included.

@postlund
Copy link
Owner

New release is out, 0.7.7, and a PR is opened here. Lets see how it goes.

@postlund
Copy link
Owner

PR merged into dev and will be available in a future release (I will try to remember to post here when it's out). Beta component has been updated with this change, available via HACS soon.

@ramondunker
Copy link

ramondunker commented Mar 12, 2021 via email

@ramondunker
Copy link

ramondunker commented Mar 20, 2021

Hey there, I recently updated this module with HACS. I can play and pause the Apple TV, but the status stays at unknown. The crashing has stopped though!

image

@postlund
Copy link
Owner

@ramondunker That seems to be another problem. Please open a new issue and include debug logs. Preferably you just use atvremote --debug -s <ip> playing to get the log.

@ramondunker
Copy link

After a full fresh installation of Home Assistant its all fixed. Really weird... Thanks for your help 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants