Yes! On a raspberry Pi.
@ postlund I will have soon to repass to a newest backup soon since a lot of automations are not working anymore in my home and that is a bit… annoying. BUT I really want to help you if you need I am looking into something before that. Just give me some news so I know how long I will have to live with an old school home (-:
It is ok to revert, make sure it works for you! I’ll have a look at this tomorrow to see if I can figure something out!
Can you just tell me which app you used for airplay, so I can try with the same?
I use Spotify and then I choose the Airplay within Spotify. See below:
I have tried with other program such as Tunein Radio and it works great as well!
Can I reinstall my Backup? In that backup I have the newest Pyatv and the artwork is not working. I will not be able to help you afterwards. Ok?
That will be fine!
Great! Good luck with the artwork (-:
@postlund I really does not understand anything. Today when I repass to my newest backup with Pyatv v.ceb69bf… the artwork was working as a charm!
No idea what I did and what happened…
Hard to tell without logs from both occasions for comparisons I’m afraid. I’m still confused to why it works at all as I have never seen Spotify push this information over AirPlay before. Would be interesting to see the logs now though. This in your configuraiton.yaml would help:
logger:
default: error
logs:
pyatv: debug
custom_components.apple_tv: debug
I get the following error:
The websocket command media_player_thumbnail is deprecated. Use /api/media_player_proxy instead.
10:10:36 AM – Media player (WARNING) - message first occurred at 10:10:23 AM and shows up 3 times
But as I mentionned yesterday, the artwork is now working when I stream music on Spotify or another app such as TuneIn Radio
You can ignore that log, it is an issue in mini-media-player and will be fixed in the next release (if the release isn’t already out, not sure). I guess we will have to monitor the situation then. Logs would still be appreciated though, so I can see how AirPlay picks up metadata from Spotify (since I cannot reproduce it myself).
I have written the log config in my configuration. What should I do next to get the log file? I am a newbie, sorry! Using HA via Hassio on Raspberry Pi.
2020-03-31 21:43:23 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=d502a773a7f3ac948a3f0a62fa47d5cf7408a10056f1e30aa42a79e15aa13129197bcd571e2802f65ebfc5c66658f37090a3676cd96f816a99cffbb38a42256a81b50865944d66f9a70e848f190f3f2c6cf1b07c1f76eff02e516efa6d7beb3a5a32a3389afe648ef3b6b6f199decba43ce79a51feafc1430661e109b10c177e77b72b2c1cd0b90630db0e481defce1d501cf12945445430d4993e3d1cba72683cd5dbe314e40833eb23daeb4a4d0219a0b6a79750d14b972934f2ca6d6f50a96f85fc0ce2e9945e5408622d10f98468dd918380224bd62f2b754c5ec224b9f8ba0ae62027e2702a7706d0774f65990410447171ff17ce92117f837731693…)
2020-03-31 21:43:23 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=08252000a201bd020a2435343630313336362d354439462d343233412d413830412d3036374636413339463145311204412054561a094170706c65c2a05456220631374b3434392a16636f6d2e6170706c652e6d6564696172656d6f7465643801404d480150016211636f6d2e6170706c652e54564d75736963680170017801820106dc56e736a5888801029a012437464245413344372d423234322d343239332d413236382d393939303533384432443338a2011164633a35363a65373a33363a61353a3839a80104b00100c00100d2012432444239323241302d323642432d344632452d393832452d303345344133393645323145e80100f00101fa0…)
2020-03-31 21:43:23 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: DEVICE_INFO_UPDATE_MESSAGE
errorCode: 0
[deviceInfoMessage] {
uniqueIdentifier: “54601366-5D9F-423A-A80A-067F6A39F1E1”
name: “A TV”
localizedModelName: “Apple\302\240TV”
systemBuildVersion: “17K449”
applicationBundleIdentifier: “com.apple.mediaremoted”
protocolVersion: 1
lastSupportedMessageType: 77
supportsSystemPairing: true
allowsPairing: true
systemMediaApplication: “com.apple.TVMusic”
supportsACL: true
supportsSharedQueue: true
supportsExtendedMotion: true
bluetoothAddress: “\334V\3476\245\210”
sharedQueueVersion: 2
deviceUID: “7FBEA3D7-B242-4293-A268-9990538D2D38”
managedConfigDeviceID: “dc:56:e7:36:a5:89”
deviceClass: 4
logicalDeviceCount: 0
isProxyGroupPlayer: false
groupUID: “2DB922A0-26BC-4F2E-982E-03E4A396E21E”
isGroupLeader: false
isAirplayActive: true
systemPodcastApplication: “com.apple.podcasts”
enderDefaultGroupUID: “F1CC143C-AB87-4B94-BD7C-10D24F72CED4”
airplayReceivers: “TVAirPlay”
}
2020-03-31 21:43:23 DEBUG (MainThread) [pyatv.mrp.protocol] Dispatching message with type 37 (DeviceInfoMessage) to Listener(func=<bound method MrpPower._update_power_state of <pyatv.mrp.MrpPower object at 0x6c560870>>, data=None)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=c00178742653b413e89ae6ecd438db401329a6a5e030e75425bea457639bb4122f032aabee4da624fdca17b2527a101fd6913257c4d015f9150a20459295da68bf8a64c162bfc583f2f65d4c10bee597fbf53f25af5d4910cde2b573f8798de6d41691ea3a021ba13a4fab89944d752dbb7775a495e49d0e041bff4f7ac69566669a454839612c6c96fa514b288e05cb833b08cc7c8db7a55fc06aa54b0239abc5d2d7439234205af1c3d150bd989c763720a582ba7dfdb3622b9ef7ab514d372029)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=080420004aa901124f0a04080310010a04080110010a04080210010a06082e100150010a06082f100158030a04080510010a04080610010a04081310000a04081210000a04080910010a04080b10010a07082d10018001004a560a0e080112044120545618cc86bde2041217087d1213636f6d2e6170706c652e5456416972506c61791a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: 0
[setStateMessage] {
supportedCommands {
supportedCommands {
command: TogglePlayPause
enabled: true
}
supportedCommands {
command: Play
enabled: true
}
supportedCommands {
command: Pause
enabled: true
}
supportedCommands {
command: ChangeRepeatMode
enabled: true
repeatMode: One
}
supportedCommands {
command: ChangeShuffleMode
enabled: true
shuffleMode: Songs
}
supportedCommands {
command: NextTrack
enabled: true
}
supportedCommands {
command: PreviousTrack
enabled: true
}
supportedCommands {
command: SkipBackward
enabled: false
}
supportedCommands {
command: SkipForward
enabled: false
}
supportedCommands {
command: BeginFastForward
enabled: true
}
supportedCommands {
command: BeginRewind
enabled: true
}
supportedCommands {
command: SeekToPlaybackPosition
enabled: true
canScrub: 0
}
}
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
2020-03-31 21:43:27 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=4d5588e8e0d8aefc9ce2d5357cb0435a123d30237867de32c40366f7721f63c80ce88ca99eb46b859317171056de7ef9efd96c3f605f2f6f4bdb24135655d0cf826f90cdd4c4eb75eecb0e2903306fc13853cd9d6d6a2c4921025a105b532109cf773b853e8a531b7f4595ee2e629f92b829cdfdf044e41c755ee0d266bd34a337f669267b1dbce4c78992201dd8d4eefd33f4c0efc2a5dda8f01d56493c0560d36017bd3f8fc03e734bd826fdf42625717d4001973ff1c42a98c78b3ec3)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=08372000da03360a34087d1213636f6d2e6170706c652e5456416972506c61793a0753706f746966794212636f6d2e73706f746966792e636c69656e74)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: UPDATE_CLIENT_MESSAGE
errorCode: 0
[updateClientMessage] {
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
displayName: “Spotify”
bundleIdentifierHierarchys: “com.spotify.client”
}
}
2020-03-31 21:43:27 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=082f20009a03580a560a0e080112044120545618cc86bde2041217087d1213636f6d2e6170706c652e5456416972506c61791a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_NOT_PLAYING_PLAYER_MESSAGE
errorCode: 0
[setNowPlayingPlayerMessage] {
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.player_state] Updated client
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=bf01e4c6c14f4b38bc2f9ed1914642f4aac81d36f2731336e1e714f76652e062206593d0a4868439d309896620060725e452203fda66660b884fac96756ff997b770d921a8a62b955e2627bc981480f62b3ad97c098528395735d5a156f912f498c4fca7363444d5abe4465a6490dfdc1a58c5c40e293fc958fedae8c538359e2fb89115ba213ae8917939cbc83924237cbed310eab19277935571c3ffe2b49cc82ccff58d8bcbdbda0122a3f1c8954875919078993a77072c9e80a03ab0aff5a1)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=080420004aa801124e0a04080110010a04080210010a04080310010a04080410010a04080510010a04080610010a04080910010a04080a10010a04080b10010a04080c10010a04080810010a04080710010a04082d10014a560a0e080112044120545618cc86bde2041217087d1213636f6d2e6170706c652e5456416972506c61791a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: 0
[setStateMessage] {
supportedCommands {
supportedCommands {
command: Play
enabled: true
}
supportedCommands {
command: Pause
enabled: true
}
supportedCommands {
command: TogglePlayPause
enabled: true
}
supportedCommands {
command: Stop
enabled: true
}
supportedCommands {
command: NextTrack
enabled: true
}
supportedCommands {
command: PreviousTrack
enabled: true
}
supportedCommands {
command: BeginFastForward
enabled: true
}
supportedCommands {
command: EndFastForward
enabled: true
}
supportedCommands {
command: BeginRewind
enabled: true
}
supportedCommands {
command: EndRewind
enabled: true
}
supportedCommands {
command: AdvanceRepeatMode
enabled: true
}
supportedCommands {
command: AdvanceShuffleMode
enabled: true
}
supportedCommands {
command: SeekToPlaybackPosition
enabled: true
}
}
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
2020-03-31 21:43:27 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=30aca2f7e013c5dad1ab0b250b2d61d9d4dd1244663d23fd678326cadd4340fbebe637198f50a1f3017a08fe8665991ecf)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=082e20009203190a17087d1213636f6d2e6170706c652e5456416972506c6179)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_NOW_PLAYING_CLIENT_MESSAGE
errorCode: 0
[setNowPlayingClientMessage] {
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
}
2020-03-31 21:43:27 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.player_state] Active player is now com.apple.TVAirPlay
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=c0019f79667f303189922aee565a7a21c8291d5fb3f249300a8c79a1db9bf9d9b7c90e7a52bb3e3caf5005c21be859e2c40d90bb19a73f1f75f637ac0d976fc86986bb73d0e57ebcbff5baaf2a42750c072e5dcb3aba00da0f3b524b6e94da9120f32b8657d2f4137fc94848e6d2523ca99ac0bf712ff56ee5acca5260d46aaff1bd67b073835764d55f681716419d51ab86940d298cfa6805dbba4717c765e3f533f559812e8ae374b4170aff62f9dab713e41818cfcdc07448930daece2180666bf603e4a56bf8e7b194118d8c2063e616bf8c9145fcff5c6726296ff7ebe0fcbb71f0bf447a652a8694f92d344cc6ed5d3be0980aab1734f6cbd3762e0…)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=080420004aa901124f0a04080310010a04080110010a04080210010a06082e100150010a06082f100158030a04080510010a04080610010a04081310000a04081210000a04080910010a04080b10010a07082d10018001004a560a0e080112044120545618cc86bde2041217087d1213636f6d2e6170706c652e5456416972506c61791a2b0a194d6564696152656d6f74652d44656661756c74506c61796572120e44656661756c7420506c61796572)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: 0
[setStateMessage] {
supportedCommands {
supportedCommands {
command: TogglePlayPause
enabled: true
}
supportedCommands {
command: Play
enabled: true
}
supportedCommands {
command: Pause
enabled: true
}
supportedCommands {
command: ChangeRepeatMode
enabled: true
repeatMode: One
}
supportedCommands {
command: ChangeShuffleMode
enabled: true
shuffleMode: Songs
}
supportedCommands {
command: NextTrack
enabled: true
}
supportedCommands {
command: PreviousTrack
enabled: true
}
supportedCommands {
command: SkipBackward
enabled: false
}
supportedCommands {
command: SkipForward
enabled: false
}
supportedCommands {
command: BeginFastForward
enabled: true
}
supportedCommands {
command: BeginRewind
enabled: true
}
supportedCommands {
command: SeekToPlaybackPosition
enabled: true
canScrub: 0
}
}
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
2020-03-31 21:43:27 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=080420004adf031a8403080012ff020a2439313531304335452d363934412d343941422d393537432d44383046463141314334463912d6027123f2047b6e7a664098010099029921c98a37282940bd020000803fe2022439313531304335452d363934412d343941422d393537432d4438304646314131433446399a04850262706c6973743030d4010203040506070a582476657273696f6e592461726368697665725424746f7058246f626a6563747312000186a05f100f4e534b657965644172636869766572d1080954726f6f748001a30b0c1355246e756c6cd30d0e0f101112574e532e6b6579735a4e532e6f626a656374735624636c617373a0a…)
2020-03-31 21:43:27 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: 0
[setStateMessage] {
playbackQueue {
location: 0
contentItems {
identifier: “91510C5E-694A-49AB-957C-D80FF1A1C4F9”
metadata {
duration: 179.82598639455782
artworkAvailable: false
elapsedTime: 12.578548752834466
playbackRate: 1.0
contentIdentifier: “91510C5E-694A-49AB-957C-D80FF1A1C4F9”
nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240\020\017NSKeyedArchive…
elapsedTimeTimestamp: 607376607.745006
}
}
}
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
2020-03-31 21:43:27 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=a10542d4bb776ba08480e27babf35aace7dfd607356ec8a537c0be6743db0faecd38e3545eb973dfdd0109750f3c6a68a5ec226e0041d764da92c9e28d9afae02d601ea52971c50df7c21a9bfd6830e7e0dc8475d948e637b425e3026ed3c7d880a2e2d9c15e11e514ad2b08d4c6141464baaf716b8479ca18ec448d3e7a0bd52460751907d22e675311ef76ed5e669d658dc911c646ee0762e043dc923254a13275d65a244b469083ef9792b26f5494f4b317b925fdf7a3cb97ad76e8c20f54cb7d3655db367b5d6366c1a8e538c413b39d3a25fe7093abd870daa17e54ff574e41d38b06f1d7dd1118a4deb1aa6fd303217c91b87678a9ebfc9c35d34cc…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=080420004a8a051aaf04080012aa040a2473706f746966793a747261636b3a364d30497361555834474e79746f346e69536567664912fb030a094e6f204f7074696f6e320f53746f6e6579202844656c757865293a0b506f7374204d616c6f6e6571df4f8d976e7a6640980101e2012773706f746966793a706c61796c6973743a3337693964515a4631445753576c6c6b39526d675a4dfa010a696d6167652f6a70656790020199027b14ae87d6c2e13fbd020000803fc80201d00212d80204e2022473706f746966793a747261636b3a364d30497361555834474e79746f346e6953656766498004018804019a04850262706c6973743030d4010203040…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_STATE_MESSAGE
errorCode: 0
[setStateMessage] {
playbackQueue {
location: 0
contentItems {
identifier: “spotify:track:6M0IsaUX4GNyto4niSegfI”
metadata {
title: “No Option”
albumName: “Stoney (Deluxe)”
trackArtistName: “Post Malone”
duration: 179.826
artworkAvailable: true
collectionIdentifier: “spotify:playlist:37i9dQZF1DWSWllk9RmgZM”
artworkMIMEType: “image/jpeg”
discNumber: 1
elapsedTime: 0.5550339365005493
playbackRate: 1.0
totalDiscCount: 1
totalTrackCount: 18
trackNumber: 4
contentIdentifier: “spotify:track:6M0IsaUX4GNyto4niSegfI”
mediaType: Audio
mediaSubType: Music
nowPlayingInfoData: "bplist00\324\001\002\003\004\005\006\007\nX$versionY$archiverT$topX$objects\022\000\001\206\240\020\017NSKeyedArchive…
elapsedTimeTimestamp: 607376595.729384
artworkIdentifier: “DF4A068E-E3AA-4E46-AAE1-920C63AC9DAC”
legacyUniqueIdentifier: -1427170829195417957
}
artworkDataWidth: 600
artworkDataHeight: 600
}
}
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
2020-03-31 21:43:28 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 0x6c8fdd50>>, data=None)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] >> Send (Data=0820122433626262393135612d383434642d343432342d626466322d3566663537316137396661372000aa02160800100121000000000000f0bf290000000000007940)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] >> Send (Encrypted=3c3f1806802bf52489a36ae9de3c8381a276c47e70c8e7ed71fedb61229a4ae6b6426ac946c09bb1bd2bbb1154277d5f9bff5e1ec968e33e33da4e7b3872b4ac54465ee35d952d25a1ccd62333e0ca778c0018)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] >> Send: Protobuf: type: PLAYBACK_QUEUE_REQUEST_MESSAGE
identifier: “3bbb915a-844d-4424-bdf2-5ff571a79fa7”
errorCode: 0
[playbackQueueRequestMessage] {
location: 0
length: 1
artworkWidth: -1.0
artworkHeight: 400.0
}
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=a2ac03b5518e209d34c25f7c0d8ffb74a23551c1da6e2ac91e6742dbe0a4a22078919f5c7bd7d220b923cc96f0fc708fde32539cfc718f3ecd9154b47f679e92b1618d1fc3a4eba50078681dbb5b2256e1d535ccc5b6f5943d208394531f0ed824def55f4b7839a32a3074fcd3c208251127aa7c27a0ab454153f7a495a15b698c1f27e784d3d8297f4484cf42cb485a9b95e51bdd96f6d7fd5dbac24110b57908b366cd896c9a299298353b8c9d2ec7afe83b1a25d0d44b7eef672d3eef5de12f9a76e965a7801ecf0b0e8a0366022c4db0f9f1f74d83b04ab13ed7006f0755252bda8c0cf062effa0f8fac72093bb1539f4654230a2281f52f60d171876…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] Require 54818 bytes but only 13029 in buffer
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=e1219cc5ee32c44050451a91e017421dd0d57c68555a7708ed1ea4b76e666ec302006b1b0f70e76aae0d72352cfd7a7ef949ac2bcf202d4436384722cd1c34f51702195022eff11f66d42d0666828996d8d33337a2099f106525e484efd0cd5a40b9d7f3468bf0de9242e5ba601ab8869227a11bc2b1deac161e347bc2b916bf4f6b46f3d7b7df3b81901254e95c510dfd0772848aa806dde454bafb444db5acc34e002294a78f99934e97a47dd76a192458dfaf176d98710088cb349f735ed711da0c8e3f6b1ea577adc9405526a90ab54f30f26a7cf7660bfda5b87218ec4fdde6d91951ce966e9c00e91b28d8e6dab8770ecf61ae7c49019a9a4195a8d…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] Require 54818 bytes but only 33301 in buffer
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=a51d06d5cf602cd08df5d31d2e419795863231ebfb84e2776ee88c5097fd520e74949cdd1a172f8a77442e8703f9af9a963e08402e175990af6a1cf16aeba2e77db2fbd80dc26a4afae923b43e25368772f77e4e160c7ea77d2723cd2eba7323f49b41726bdc9f98d0cddccf4b948f7a14f5335501e5e1ba22ddb230631f60caafc121546513e48eab169738010dae58a5d17d3e609ca2c2987b82c3aec89ce0075a79427553147b24f0286a677970840ae60de691dbc5432c867a82444ecd3e4159ea7146a61bd463744fe93163dd45b76d2c29d4b518a83cbb338e7e680f618187af52395aa2639d04bd4c0409dfecf3e8d7fe8cd07e2ad7aa98331babc…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] Require 54818 bytes but only 46333 in buffer
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=84032463b66c2a6a3d274415a206e3221b0e695a807879e0bdae3413166f3d3b7b2270cdbd5b10b23a5146cbd28a2532f239f99b6f96722316774fe2efa16d5dfe4427316c4d56b860cd8b3b41a9b30d524edfc88321afb1292d74bc4eb8bf720e301bfdf64fdcdb43d3e5f87d4d02e75d251fbd5e84722758046b463feb8bc3b2dabab24f81ff9380e188934b3ce6935adff5732959494f4ef7c2a4fda89849088b4a773bec8fc2eba7996a333ef4cc266e881506b22633b222882f6297b01661bc5138ced45d8ada97469c0dd087e26d028287a299bd081ac58925f92b3d4b168b1e03dd9d28cb0f117dce6011306f69eba5e1b2893450056eadd3bf4b9…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=0804122433626262393135612d383434642d343432342d626466322d35666635373161373966613720004ae4ab031acaaa03080012a9a9030a2473706f746966793a747261636b3a364d30497361555834474e79746f346e6953656766491af9a803ffd8ffe10ffe4578696600004d4d002a000000080005011a0005000000010000004a011b0005000000010000005201280003000000010002000002130003000000010001000087690004000000010000005a00000000000000480000000100000048000000010007900000070000000430323231910100070000000401020300a00000070000000430313030a00100030000000100010000a00200040…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: SET_STATE_MESSAGE
identifier: “3bbb915a-844d-4424-bdf2-5ff571a79fa7”
errorCode: 0
[setStateMessage] {
playbackQueue {
location: 0
contentItems {
identifier: “spotify:track:6M0IsaUX4GNyto4niSegfI”
artworkData: "\377\330\377\341\017\376Exif\000\000MM\000*\000\000\000\010\000\005\001\032\000\005\000\000\000\001\000\000\000J\001\033\000\00…
artworkDataWidth: 400
artworkDataHeight: 400
}
requestId: “05929A7D-91CE-4A6D-A821-07BC70766157”
resolvedPlayerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
displayName: “Spotify”
bundleIdentifierHierarchys: “com.spotify.client”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
}
playerPath {
origin {
type: Local
displayName: “A TV”
identifier: 1280262988
}
client {
processIdentifier: 125
bundleIdentifier: “com.apple.TVAirPlay”
}
player {
identifier: “MediaRemote-DefaultPlayer”
displayName: “Default Player”
}
}
request {
location: 0
length: 1
artworkWidth: -1.0
artworkHeight: 400.0
requestID: “05929A7D-91CE-4A6D-A821-07BC70766157”
}
}
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] Require 54681 bytes but only 4544 in buffer
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Data=162749064c491836d900619149d0864aff79791ca9f6b26f6513ac25f1c222fcf7fbb2b3ac2466574f691855b16db07ea08a1b0e1a444b9dd44e2a6b91c1125ac53f726a5ce0fda5c678a950b2f9572a525052b2d85d793a63b7f1610194a573ffff100b4aa8d6d796a2389933d010c4c6c531008c0826c8172b345eb8fac367dab6680e34e773a95e96bfb81636d8f2e237065aa455b5f4e1451b49f21bd2b59d51ea95b72c43b10a7f9af9cfba6ed8dd0c58724ce23681924c27eabd279a6828f3a132c1d1e2424755f0882452c16ebce14b08b2777789c97f89720ba5747b71c2b2708920e7514bd54f0d45803e1f1738a95e48e8ca08020fcd33af0c0…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive (Decrypted=08212000b20280ab0308021285aa030a81aa030a260a2473706f746966793a747261636b3a364d30497361555834474e79746f346e69536567664912a9a9030a2473706f746966793a747261636b3a364d30497361555834474e79746f346e6953656766491af9a803ffd8ffe10ffe4578696600004d4d002a000000080005011a0005000000010000004a011b0005000000010000005201280003000000010002000002130003000000010001000087690004000000010000005a00000000000000480000000100000048000000010007900000070000000430323231910100070000000401020300a00000070000000430313030a001000300000001000…)
2020-03-31 21:43:28 DEBUG (MainThread) [pyatv.mrp.connection] << Receive: Protobuf: type: TRANSACTION_MESSAGE
errorCode: 0
[transactionMessage] {
name: 2
packets {
packets {
key {
identifier: “spotify:track:6M0IsaUX4GNyto4niSegfI”
}
packetData: "\n$spotify:track:6M0IsaUX4GNyto4niSegfI\032\371\250\003\377\330\377\341\017\376Exif\000\000MM\000*\000\000\000\010\000\005\001\0…
identifier: “15BF9DB4-A43C-437D-8A9B-759D73789414”
totalLength: 54441
totalWritePosition: 0
}
}
3 {
1 {
1: 1
2: “A TV”
3: 1280262988
}
2 {
1: 125
2: “com.apple.TVAirPlay”
7: “Spotify”
8: “com.spotify.client”
}
3 {
1: “MediaRemote-DefaultPlayer”
2: “Default Player”
}
}
}
2020-03-31 21:43:40 DEBUG (MainThread) [pyatv.mrp] Retrieved artwork DF4A068E-E3AA-4E46-AAE1-920C63AC9DAC from cache
2020-03-31 21:43:43 DEBUG (MainThread) [pyatv.mrp] Retrieved artwork DF4A068E-E3AA-4E46-AAE1-920C63AC9DAC from cache
Here is my log file when I start Spotify to Airplay. The artwork is working without issues for 2 days now.
Huh, look at that. Looks good, I wonder why I don’t get any metadata and artwork like that. As long as it works it’s good. If you run into the problem again, please enable logging again and include the logs
Don’t worry, I will do that since I really think it is a great function to get the artwork into this integration (-;
I mainly stream everything through the Apple TV and that is a big + to gathered in one place (your great Pyatv) artworks from different streaming media!
Keep in touch!
FInally got back around to this … updated OpenSSL and it works as expected.
Thanks for the help/support/work on this project!
Sorry if this is not the right forum for this, but I am experiencing the same problem to get the appleTV integration working.
I am on FreeNas 10.2. How did you updated OpenSSL in the jail? I have been browsing but it doesn’t seem straightforward and haven’t found a solution.
Thanks.
Hi @postlund, great job.
I have Home Assistant running in a FreeNAS (FreeBSD) jail. I have the same problem as @GeneralFailure with the current version of your appleTV integration. Seems that @GeneralFailure succeeded in upgrading to openssl 1.1.1, but I ended messing up my system. No great problem: I recovered from a snapshot. I am afraid that my knowledge is quite limited.
Is any way to install a previous version (0.4) of the appleTV integration?
I understand that this helps very little to your objetive of testing the versions, but I really want to to have it working.
Thank you very much.