stigger / trakt-for-appletv

Trakt.tv scrobbler for Apple TV
49 stars 7 forks source link

Netflix shows not recognized #23

Closed vicegold closed 2 years ago

vicegold commented 2 years ago

As mentioned in #19 I'm not seeing any status updates after ready!. Tried with multiple different shows. Examples:

Is this a internationalization issue? Since I'm using a german subscription.

The same happens with Apple TV + shows.

Netflix debug output: netflix.log

Apple TV + debug output: atvp.log

stigger commented 2 years ago

Is this a internationalization issue? Since I'm using a german subscription.

The subscription doesn't matter (I'm in Germany too), but could still be caused by internalization if Netflix shows tv show titles and descriptions in German. As an experiment, could you try to switch Apple TV interface to English?

vicegold commented 2 years ago

Setting the OS language of tvOS to english unfortunately has no effect on the Netflix app. It keeps the UI in german. Even after logging out and logging in again.

Do you have a Buymeacoffee or something? Happy to sponsor a Netflix sub.

stigger commented 2 years ago

In that case Netflix probably uses your profile settings to choose the UI language. Please try to find a way to change the language in the account settings on their website.

Do you have a Buymeacoffee or something? Happy to sponsor a Netflix sub.

Thanks for offering, but that's rather unnecessary :) I'll get a subscription soon, if switching language won't help (and I believe it should).

vicegold commented 2 years ago

Managed to set the account to english but still nothing after ready!. Will try to let it play an episode until it finished to see what happens then.

Debug output:


DEBUG:pyatv.core.protocol:Sending periodic heartbeat 0 (AirPlay:192.168.7.244)
DEBUG:pyatv.support.http:Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 3\r\nDACP-ID: 4B04CC6F2F312D7F\r\nActive-Remote: 2756273661\r\nClient-Instance: 4B04CC6F2F312D7F\r\n\r\n'
DEBUG:pyatv.support.http:Received: b'RTSP/1.0 200 OK\r\nDate: Wed, 16 Feb 2022 15:16:30 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/605.1\r\nCSeq: 3\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'
DEBUG:pyatv.support.http:Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Wed, 16 Feb 2022 15:16:30 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/605.1', 'cseq': '3'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'):
DEBUG:pyatv.core.protocol:Got heartbeat 0 (AirPlay:192.168.7.244)
DEBUG:pyatv.core.protocol:Sending periodic heartbeat 1 (AirPlay:192.168.7.244)
DEBUG:pyatv.support.http:Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 4\r\nDACP-ID: 4B04CC6F2F312D7F\r\nActive-Remote: 2756273661\r\nClient-Instance: 4B04CC6F2F312D7F\r\n\r\n'
DEBUG:pyatv.support.http:Received: b'RTSP/1.0 200 OK\r\nDate: Wed, 16 Feb 2022 15:16:32 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/605.1\r\nCSeq: 4\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'
DEBUG:pyatv.support.http:Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Wed, 16 Feb 2022 15:16:32 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/605.1', 'cseq': '4'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'):
DEBUG:pyatv.core.protocol:Got heartbeat 1 (AirPlay:192.168.7.244)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000ebacd676bbe1ebf397bee246bdf3421bf5f760fa33e3a8b8e59a34fb97e0131a0101797043198f0a94382d2ebc4a3346e600d5a76c25ac971009f65bdb2aae525e32737d45c40512156c87cee5f4c2b68b3501bd2a59524ace201793dcf576ba78384ac4b4e16ed9a035d5302e0579af5f9ffcc797364e6a5c84dd510c837a195a4b2ff375f447d29f1382d60b1089aecce789e6a24032a9a9484d4a03f038cddd9f7b0df18d759b00b89f0f6256d1de4197f04c1eb7d83c7acf5f1e4fb2dff5aa114a1437d06b8d678234f6481612265dfa2c26c323ecbf1c7e2505131762ae24ac81762c5b0b94693484e41f7a79ab392a02601c2ec4b568697d48f...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_PLAYER_MESSAGE
uniqueIdentifier: "3655F50E-C4F5-4CFD-B36B-FEB51CA0B56E"
62 {
  1 {
    1 {
      2: "Apple TV Wohnzimmer"
      3: 1280262988
    }
    2 {
      1: 362
      2: "com.netflix.Netflix"
    }
    3 {
      1: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      2: "player-6"
      5: 1085
      6: 0
    }
  }
}
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=200001cdb89b3e22268c8f060748ff5b804c915b3d230bb2924df23e63b83f5f0167a8da30270f3b80cf682c7177e0f5983a)
DEBUG:pyatv.auth.hap_channel:Received data (Data=20004de3dcc3a060c65804f2fb71a2c4fabff011a8f0ca4a416dd9db020ebb71795095d42a186901521f146cdfd30d127a46f00081edbd50be2b538226f587dd62eacd91880ddb2e0c2e0e6208e24c27452e1f9a83d260240f825c19773a0620d7eeae1c7de30cea6680bac7d3e14d7f87c30bfb3be56ed3ed6b79b550bf1c669822b99ef04823c94952a438b00c0aac7800385c16b6a2424971ff48698a5725fa2039abc43b5c128e3c2987f0fc2481bd57b60c35aaced2ce436a466d74a0c1e07d31e689ce5f9ba1c5310c158bdcc87b76a64fc020b044a4274f49d03b5dcebd8882565d126b950cb82ebcb22e7327aeabd040fcfb6b356924c4d316ca8...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
  playbackState: Paused
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
  playbackStateTimestamp: 666717392.746867
}
uniqueIdentifier: "D48C7456-BA1C-44A2-8892-02286F0DCCD9"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=200070c42345098e4d19e902c5763602c8b1497999df473eb3b6b13341162cdc49cb0bcb20007e8ee3eec29033d3d044e156)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000c2e1df572592468618f03dedda78b12f979fed99debd696729600fc06ad13b660f0d7c35af792f49d4675487f87a9b68e60070a48b234cd9a0cd2558a55c8d4b6eb1807f00bb283cb0d944d66046187e45f34af3964f2b63c4b0878d655ae53843100c062195645a334238ebf1cb400d25bc2203094ca2ddcbaa572a951956a147064fc1b49cfe7f238266c55bc01ad536615011b6287f059227d230c05472c00dc976d3cf436b2ceeca0f7d992303c287f086dac9e6d13ef22738d5d7c41a9a932f62e1d9e0e1c9ebec4ef3fe29fa7240598029c62a2539adf8ade6ac1f96f558bfd45c4907569f8b34888ce3b36d616183795085c9ffc0905429ab6...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
  playbackQueueCapabilities {
    requestByRange: true
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "1742172D-D3CE-4E9E-B03B-8A2667A1D1EB"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20003ba7b4f9ee99b2686a27261fd1472c48fac679e705e160c2b4d5786df34e30625fd78e5760c941c3f82a6608864d0d61)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000030b62a0a1ae104e55a5effa3d786ba134c7be318a6142a0e009cdbab5a1b4cfc70fa6c33a67025a062529500d8f38c8e30085e1c28ce6e54088afc17f739984b709a92990c8735a59d0b70b411c8dcd7bb7cf1f5463b7f630a6c1abdc70276bdad4c6641c235a6f04bb820f5d1e20f9342a500f13e70563742f817c7b0d92559e08fae689c962a341dd0e5a378d6f350e51a93686257ee6d56677d297fc09c63e2e29731730f3df62e682daf7e67fa2627c1aeb1f93a9db1a01a48e34574cd67b0c6d526f504d441f93510c81cc2988273648ed2c3ebf7f87ca136621e3cc1da16f420b1dccbed310510bcf136dfa38aff925a8163944193ed1c1349...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
[setNowPlayingPlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "611526F9-B9B7-485F-9788-ABC0F58A73E5"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20006fe57cbb91bf320997a1368645f6db5662fbbe65aa3426f6fafe054f0e317b11def0120f99b13b67e0e714ecb3173473)
DEBUG:pyatv.protocols.mrp.player_state:Active player is now avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53 (player-6)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000aab1dd3d9d87b6061292fb2313cc91a5c61d470e1d4cf2c2d5bcbea43553a698e74a727f4b52cd63469341c65021aa8c)
DEBUG:pyatv.protocols.airplay.channels:Not enough data on data channel (has 32, expects 1774)
DEBUG:pyatv.auth.hap_channel:Received data (Data=ce06b8a6b28c4c550c9077226ce1507f7b3e00dcbeb4b6f5c0bd55734135860a880267ee6eef0f5eaa717bd56b1ed86c841abf0a12d6543be27a2d2a93456b25db69c62780bdfc7c09a71a207fb1a8a237b1989b07478b173bb5e72405c9fcfe2bfd45e898067058d4bccb6ddeb25acf77809164e7ffb8250de8316df8b7a835b35ccf1c9b14e823a36b4257b65e8828d3d1fd46f29162e31b08a9d411430b1828a41f05f7df9a8c878f32655de5ad659c39c8fa92d9192ba6879219655eddfde1dcc4f59a7717661222da90f77bb2b910cf8afa95941055c3bf9859c6dd45613a67626b6b980ed35456f31583ef935770ac675f3c138c9f6298654b4bad3...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
[setNowPlayingClientMessage] {
  client {
    processIdentifier: 362
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "083D3490-33B8-44ED-B080-33D32277BF2E"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
[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
    }
    supportedCommands {
      command: PreloadedPlaybackSession
    }
  }
  displayID: "com.apple.TVMusic"
  playbackQueueCapabilities {
  }
  playerPath {
    client {
      bundleIdentifier: "com.apple.TVMusic"
    }
  }
}
uniqueIdentifier: "65C2E51C-1F15-4ED8-8322-44F4084ABA08"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_DEFAULT_SUPPORTED_COMMANDS_MESSAGE
[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: "D1B6E1FC-E536-4AF1-B605-F8C988440A2E"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 72 (SetDefaultSupportedCommandsMessage) to Listener(func=<bound method PlayerStateManager._handle_set_default_supported_commands of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: ORIGIN_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "7781C1C7-F974-4538-A35E-060D17BCD533"
[originClientPropertiesMessage] {
  lastPlayingTimestamp: 666717392.785128
}
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
[setNowPlayingClientMessage] {
  client {
    processIdentifier: 362
    bundleIdentifier: "com.netflix.Netflix"
  }
}
uniqueIdentifier: "4C97EA92-EA23-4DAB-AD4D-64992399B35C"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 46 (SetNowPlayingClientMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
[updateClientMessage] {
  client {
    processIdentifier: 362
    bundleIdentifier: "com.netflix.Netflix"
    processUserIdentifier: 501
    displayName: "Netflix"
  }
}
uniqueIdentifier: "C9DF0A09-BF12-4DF9-A51F-E1E7733FFD23"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 55 (UpdateClientMessage) to Listener(func=<bound method PlayerStateManager._handle_update_client of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_NOW_PLAYING_PLAYER_MESSAGE
[setNowPlayingPlayerMessage] {
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "9AD4DEB0-0966-4E68-A3A6-8B0823CAB395"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 47 (SetNowPlayingPlayerMessage) to Listener(func=<bound method PlayerStateManager._handle_set_now_playing_player of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[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: EndFastForward
      enabled: true
    }
    supportedCommands {
      command: BeginRewind
      enabled: true
    }
    supportedCommands {
      command: EndRewind
      enabled: true
    }
    supportedCommands {
      command: ChangePlaybackRate
      enabled: true
    }
    supportedCommands {
      command: SeekToPlaybackPosition
      enabled: true
      canScrub: 0
    }
    supportedCommands {
      command: NextInContext
      enabled: true
    }
    supportedCommands {
      command: PreviousInContext
      enabled: true
    }
  }
  displayName: "Netflix"
  playbackState: Playing
  playbackQueueCapabilities {
    requestByRange: true
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
  playbackStateTimestamp: 666717392.769455
}
uniqueIdentifier: "67C6D639-0D15-404E-9CDF-F958B81D2F51"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: PLAYER_CLIENT_PROPERTIES_MESSAGE
uniqueIdentifier: "41BBD303-1411-4406-9B71-009F85C681DD"
[playerClientPropertiesMessage] {
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
      5: 1
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
      processUserIdentifier: 501
      displayName: "Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      5: 1085
      6: 0
    }
  }
  lastPlayingTimestamp: -63114076800.0
}
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_PLAYER_MESSAGE
uniqueIdentifier: "EC40BD8C-E17A-4F21-B5A5-03F0310E3E39"
62 {
  1 {
    1 {
      2: "Apple TV Wohnzimmer"
      3: 1280262988
    }
    2 {
      1: 362
      2: "com.netflix.Netflix"
    }
    3 {
      1: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      2: "player-6"
      5: 1085
      6: 0
    }
  }
}
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=2000f58a8c246fe2411685042c5f1279ca7b780f644b6009149d7c8828d16dd16f30062446a07fc5a31004ed5df89459ce6a)
DEBUG:pyatv.protocols.mrp.player_state:Active client is now com.netflix.Netflix
DEBUG:pyatv.protocols.mrp.player_state:Active client is now com.netflix.Netflix
DEBUG:pyatv.protocols.mrp.player_state:Active player is now avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53 (player-6)
DEBUG:pyatv.auth.hap_channel:Received data (Data=20007e51256f284feee18e8782c46098f8efc0f78056963919169b3499dd408d03bd032a39cb435409707df397accb97750ff0001d6fe6c54532729a1aa5ad71bec127445720d159c255447022b3e9ccf53cd71c1233ca6590987cc19a4d80b31e722cfbbe7fd176d200d6b1ef5a87ccd361d476f79bbe5dc99ac81ba0212df18c2a1f4536831d538bf57e3fa90f9be123bcb5d6e5f2a2701f2d104fdbd5f42439ed80f48c75384a7ccda9da8477dd9ed018e122ea34499a11fabd04f8ab14d5c90ca6a567ed70b9878013143504c3ce32c4b74d0e306901306eec61dcc29c671b12e1092857fb59c5800f065c5e2333bedc19fec37eab11fca98b1d3c350...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
  playbackStateTimestamp: 666717392.769455
}
uniqueIdentifier: "9FB88C5C-F3A5-43AB-AB51-F69BB5A8E883"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=2000e61f0768ad2d3586ac6a8c38a5b6f7bdb064cb3d4875f1c8f14d6ca0c7a1460da6d4eeed6952ea2e1f91fb6b16a4c179)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000a0e0c80fc9793fc86dbb70b9f10880236aa6d79b98fcef2740f936ce62819dc2dbdbc17e3b216aa745c4bc0397970c4b62018603f5013bce1e0aa39abd7421ff2a492696e9219b4c4b938955718b3bc230efcce7a694d05259807ae041529eb77295315dbfba3b5b9b779fe72050be20e1596ef75ad76300911a41aa2f62b57df287f0cdb507f903c1d1f67995dcf41b446843482f89eff57995f936d8f68972af4c11c350c7c47457b1795d20f595a7669f3b1ca359b3a5c0ff661498a541cd4c90d0041d07a3d723814a54f6f39dfe4ccc878b3df9b70b80df64d96f4c9243da8feca331a5c2ce0e54fbaddd4e177a48f8539da664234285bc777a2...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[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: EndFastForward
      enabled: true
    }
    supportedCommands {
      command: BeginRewind
      enabled: true
    }
    supportedCommands {
      command: EndRewind
      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 Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "2467489A-C7DE-43F7-A470-84D9CB542BD9"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=2000310818ebf8946843f017be17be3c82467f5020eceefb7cee4c81b6876d878580fdbd49272b400978259331387c2ec6b1)
DEBUG:pyatv.auth.hap_channel:Received data (Data=200049b47deacadcc79b8d0ccf0729767171b2de1798ccbc7903f46917338fdfa59ffabee68c5301d06d9d8792400d24af8af00041421c13c94610d5badeee25d4d3c885de6fda02dd503a730b430a24ebb08baf26b4c2758ffbaa5ec906e5b984c5dfdbde91240366e3769b47be91f1e1d898f953f621f60dba576e0e0c1dae81e5e57f886ff59f51766d774cc3f733cc9073ac11c000d48a41de24761a2f54b3d9f16d997fc8bd587fcbfbe96a2cd6e0bcb0e2fd6b62e0ceb185fd0f3009c2ef9f626922dacd9c10185f6eaf9e9b647ad564b3ca6a02a5c7512d8a07fa8d93cce3212d1638b0dfcd11754576b173161484b9fb36f65ab3ae7c43f98363f...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
  playbackState: Playing
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
  playbackStateTimestamp: 666717392.769455
}
uniqueIdentifier: "DB756F4A-5F12-46A0-8905-94C129C87F8C"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20001bf1213060e107a74fd5ce3bfaf2a30310846532a0b318bf22517e55410ba1b64fc04559b6100a78a62f2eed9886eacf)
DEBUG:pyatv.auth.hap_channel:Received data (Data=200098b2860560ba7e492991b9c19f8b126b2d69121f3c9efb3652ec570ae55b033d6344e3bdcd7e48be1e81da401afa8b22)
DEBUG:pyatv.protocols.airplay.channels:Not enough data on data channel (has 32, expects 2067)
DEBUG:pyatv.auth.hap_channel:Received data (Data=f30784d1bd418b0a6f78494605b27c3c0e0bdb097091c4521c29524ace822321ae290ce1d90055d22b876822d0ed4914f5e1c1e22cfcbe3ca082d31594bee3a40afd2755fcc7a531c498bd3dd45277a19d120388184b25d97ee533f30601a6707b91a41731f3b77178fefdc83064bef79219702e4e1faceead2f743e01125ee9a0772aef09ddf829fbfdb0a89f15870339717f9789cd366a9c6656523e57938b86864a7274e472ca4b31c029053c33bdfe58b36315fbbce6c893e393255ee7582546a46b9d5c894e59f7581f2c5c1effc9ecde6958d0a44a435b433504807cd962d3c869f09f84bab6257641e32fd77145e8826b1c8252f2153fa141bb806...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: SET_STATE_MESSAGE
[setStateMessage] {
  playbackQueue {
    location: 0
    contentItems {
      identifier: "com.apple.avkit.362.d842b422"
      metadata {
        title: ""
        duration: 3200.679
        artworkAvailable: false
        infoAvailable: false
        languageOptionsAvailable: true
        numberOfSections: 0
        elapsedTime: 0.0
        isAlwaysLive: false
        playbackRate: 0.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: 666717392.795774
        inferredTimestamp: 666717392.745471
        legacyUniqueIdentifier: -666717150
      }
      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: "fr"
          characteristics: "public.auxiliary-content"
          displayName: "French"
          identifier: "French-fr-French"
        }
        languageOptions {
          type: 0
          languageTag: "de"
          characteristics: "public.auxiliary-content"
          displayName: "German"
          identifier: "German-de-German"
        }
        languageOptions {
          type: 0
          languageTag: "ru"
          characteristics: "public.auxiliary-content"
          displayName: "Russian"
          identifier: "Russian-ru-Russian"
        }
        languageOptions {
          type: 0
          languageTag: "tr"
          characteristics: "public.auxiliary-content"
          displayName: "Turkish"
          identifier: "Turkish-tr-Turkish"
        }
      }
      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: "fr"
          characteristics: "public.main-program-content"
          displayName: "French"
          identifier: "French-fr-French"
        }
        languageOptions {
          type: 1
          languageTag: "de"
          characteristics: "public.main-program-content"
          displayName: "German"
          identifier: "German-de-German"
        }
        languageOptions {
          type: 1
          languageTag: "ru"
          characteristics: "public.main-program-content"
          displayName: "Russian"
          identifier: "Russian-ru-Russian"
        }
        languageOptions {
          type: 1
          languageTag: "tr"
          characteristics: "public.main-program-content"
          displayName: "Turkish"
          identifier: "Turkish-tr-Turkish"
        }
      }
      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-DCCD4CCB-0665-49D9-A717-B4BDF18A0BBF"
    resolvedPlayerPath {
      origin {
        displayName: "Apple TV Wohnzimmer"
        identifier: 1280262988
        5: 1
      }
      client {
        processIdentifier: 362
        bundleIdentifier: "com.netflix.Netflix"
      }
      player {
        identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
        displayName: "player-6"
        5: 1085
        6: 0
      }
    }
  }
  playbackQueueCapabilities {
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "8A9342E5-D7C3-4A36-BD34-05BC1340C937"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method PlayerStateManager._handle_set_state of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 4 (SetStateMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=2000093081b22c3f630dbcb5b9e598d570e405fec679c2daaaa36c8df950f25cfaf2ca0f22ba02275753f34c0375b186850d)
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.trakt.tv:443
DEBUG:pyatv.auth.hap_channel:Received data (Data=20004b9e6c39aad44631650dbcb94f7082f32d08400fd3b63c73c33b5bd4b8201961d123d3aee43417d465198c9474c54f91b5058c91e669fa25114b9f373e695caa6b5ad70754228f3723775470f3fa2501c14b5ad3ba9fd9e40be9e08a29518cdb019437f84754cd39935f84e54a870779ceb426b02290474e6ee7566b7f66308734de8991b7581014e878949a632711cc9b4afffa1bc934384164ad1c1c8483f68878b6990720c61a13af981a7413113761ffba572a129317f3920298e94aacdb865ccc4571008cddb1c5e6f8b7c72fcd1b2667742c7626fc65346d57c1af4df437b69253632e4e7d20048c59b78c4f4f6f87b218ab986cc2a32262300...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.362.d842b422"
    metadata {
    }
    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: "fr"
        characteristics: "public.auxiliary-content"
        displayName: "French"
        identifier: "French-fr-French"
      }
      languageOptions {
        type: 0
        languageTag: "de"
        characteristics: "public.auxiliary-content"
        displayName: "German"
        identifier: "German-de-German"
      }
      languageOptions {
        type: 0
        languageTag: "ru"
        characteristics: "public.auxiliary-content"
        displayName: "Russian"
        identifier: "Russian-ru-Russian"
      }
      languageOptions {
        type: 0
        languageTag: "tr"
        characteristics: "public.auxiliary-content"
        displayName: "Turkish"
        identifier: "Turkish-tr-Turkish"
      }
    }
    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: "fr"
        characteristics: "public.main-program-content"
        displayName: "French"
        identifier: "French-fr-French"
      }
      languageOptions {
        type: 1
        languageTag: "de"
        characteristics: "public.main-program-content"
        displayName: "German"
        identifier: "German-de-German"
      }
      languageOptions {
        type: 1
        languageTag: "ru"
        characteristics: "public.main-program-content"
        displayName: "Russian"
        identifier: "Russian-ru-Russian"
      }
      languageOptions {
        type: 1
        languageTag: "tr"
        characteristics: "public.main-program-content"
        displayName: "Turkish"
        identifier: "Turkish-tr-Turkish"
      }
    }
    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 Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "A7E7F4CD-C115-48B8-8964-F77D1E64AAD7"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20009af2fa0fcb233ef38e062ede54f0f205e9c48f4f13e9a556b91afaa90027f36f19a5cdcce063459aa2642519453335e6)
DEBUG:pyatv.auth.hap_channel:Received data (Data=20005c53325068e881e85a6b5ac1832c9e29f1d6eee78c93c7aee30b33b6ef4146660142d8dff9dee36a50406602c5ab5e779502ba1e0111fccffd66b34093b7c265e123776533ecb5365ebb803762737aa5d9a52e5e85c34af84e840696488b5b6383bae0f50eba3a978b8168804e8656d74e9a5e8fe67d33a18ea50988f4bd1a99d9273a27ab9e98fcd872d3f4f060d8c9beaba9e36be6edfa6d6e66fab3609b23640fca00b4f9c9d013a98c2bc0e7893ea86eda6023750a5005ae8ca01551ba44c8d3f9ad20aea7ff222c8988f8e7f8b7f6b089215e851823c771ad76ee7266a9631df1f01ca55233de19329adf522f9596340a962a39a533ffb9cd7b9...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_MESSAGE
[updateContentItemMessage] {
  contentItems {
    identifier: "com.apple.avkit.362.d842b422"
    metadata {
      title: "S3: E3 \"Episode 3\""
      duration: 3200.679
      artworkAvailable: true
      infoAvailable: true
      languageOptionsAvailable: true
      numberOfSections: 0
      elapsedTime: 0.542508625
      isAlwaysLive: false
      playbackRate: 0.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: 666717393.329769
      legacyUniqueIdentifier: -666717150
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "8EB3248A-F5DA-497E-8552-11F91AF3384E"
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method PlayerStateManager._handle_content_item_update of <pyatv.protocols.mrp.player_state.PlayerStateManager object at 0xb2cfc088>>, data=None)
DEBUG:pyatv.protocols.mrp.protocol:Dispatching message with type 56 (UpdateContentItemMessage) to Listener(func=<bound method ScrobblingRemoteProtocol.message_received of <scrobbling.ScrobblingRemoteProtocol object at 0xb6327b08>>, data=None)
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=2000a2d4bab81546910c29145747b8b956dfeceae3eace901f2ee38711d9b25cb2dc31417d99ad1b75c3d181f4206aa70a10)
DEBUG:pyatv.auth.hap_channel:Received data (Data=2000e85e30a03f98f569db49f2ec29c9f631b1630501a60fcfd4b0aff0c742d2bf2c9db3a38b5edfac159e33025c0136096f060164d85b715ed6edb0619ed56b46b6e4b41a00e50de230cd7ec9eae7c849e22c471d139da6f17ac10a2aaff1f58686c3e412a107c3ed560aec6674dbcb6613ae874ecb4204bb9b761b8f939b256e14b75e628b196b7b0971be1e31bdc4f5a379e4032529c81aec1b96462e42ed9c77fc9fffab74e1853879f8073c83e39bae95ac625aedc739f95bf32560760b29916bf6b792f4327380cd58c4738b436f57dc2fc1874378a39a376c51d66cfbd9024eba9314410624c3aa2d88d031f0a91ca138219a0120f4aeb019563a1...)
DEBUG:pyatv.protocols.airplay.mrp_connection:<< Receive: Protobuf: type: UPDATE_CONTENT_ITEM_ARTWORK_MESSAGE
[updateContentItemArtworkMessage] {
  contentItems {
    identifier: "com.apple.avkit.362.d842b422"
    metadata {
    }
  }
  playerPath {
    origin {
      displayName: "Apple TV Wohnzimmer"
      identifier: 1280262988
    }
    client {
      processIdentifier: 362
      bundleIdentifier: "com.netflix.Netflix"
    }
    player {
      identifier: "avkit-9D7D38B6-2E97-4BC8-9E65-99E52DF3EB53"
      displayName: "player-6"
      6: 0
    }
  }
}
uniqueIdentifier: "FBF284B1-4395-420E-BF07-DBD491176589"
DEBUG:pyatv.auth.hap_channel:Sending data (Encrypted=20004221943a6a1ce1b022cad17695d168d491ae7eb7aed3bf4d961b5c097488280183e28ed97feafd815ffcabc90e46e4ff)
DEBUG:urllib3.connectionpool:https://api.trakt.tv:443 "POST /scrobble/start HTTP/1.1" 404 None
WARNING:trakt.interfaces.base:Request failed: "POST /scrobble/start" - 404: "Method exists, but no record found" (Not Found)
DEBUG:pyatv.core.protocol:Sending periodic heartbeat 2 (AirPlay:192.168.7.244)
DEBUG:pyatv.support.http:Sending RTSP/1.0 message: b'POST /feedback RTSP/1.0\r\nUser-Agent: AirPlay/540.31\r\nCSeq: 5\r\nDACP-ID: 4B04CC6F2F312D7F\r\nActive-Remote: 2756273661\r\nClient-Instance: 4B04CC6F2F312D7F\r\n\r\n'
DEBUG:pyatv.support.http:Received: b'RTSP/1.0 200 OK\r\nDate: Wed, 16 Feb 2022 15:16:34 GMT\r\nContent-Length: 55\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/605.1\r\nCSeq: 5\r\n\r\nbplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'
DEBUG:pyatv.support.http:Got RTSP response: HttpResponse(protocol='RTSP', version='1.0', code=200, message='OK', headers={'date': 'Wed, 16 Feb 2022 15:16:34 GMT', 'content-length': '55', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/605.1', 'cseq': '5'}, body=b'bplist00\xd1\x01\x02Wstreams\xa0\x08\x0b\x13\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14'):
DEBUG:pyatv.core.protocol:Got heartbeat 2 (AirPlay:192.168.7.244)
^CDEBUG:pyatv.core.protocol:Stopping heartbeat loop at 4 (AirPlay:192.168.7.244)
DEBUG:pyatv.protocols.airplay.mrp_connection:Closing connection
DEBUG:pyatv.protocols.airplay.mrp_connection:Disconnected from device: None
DEBUG:pyatv.support.http:Connection closed
DEBUG:pyatv.auth.hap_channel:Connection was lost to remote
Traceback (most recent call last):
  File "/home/laurids/trakt-for-appletv/./tvscrobbler.py", line 32, in <module>
    asyncio.run(launch(ScrobblingRemoteProtocol(load_config())))
  File "/usr/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/lib/python3.9/asyncio/base_events.py", line 629, in run_until_complete
    self.run_forever()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 596, in run_forever
    self._run_once()
  File "/usr/lib/python3.9/asyncio/base_events.py", line 1854, in _run_once
    event_list = self._selector.select(timeout)
  File "/usr/lib/python3.9/selectors.py", line 469, in select
    fd_event_list = self._selector.poll(timeout, max_ev)
KeyboardInterrupt```
vicegold commented 2 years ago

I completely uninstalled and reinstalled Netflix and now it seems to show something on "You are watching".

Seems like it's just quite delayed. When I finished the episode Trakt still showed 91%. Will look into this more.

vicegold commented 2 years ago

Can confirm setting the entire UI of Netflix and AppleTV+ to english fixes this issue.