@postlund, I found the listing for Home Assistant in Music. I wasn’t looking in the right place for it. The only problem now is that there are four of them and I can’t delete them. I even tried a restart of the OS. I did try enter a new code into one of them. It wasn’t recognized. Any idea how to get rid of them so I can start fresh? It’s late here so I’ll look into it more tomorrow.
Tomorrow
I couldn’t find a way to delete them so I just tried entering the PIN into different ones. When I chose the top one, the PIN was accepted and Music said the remote was paired. After clicking submit in Home Assistant, I got another PIN for Airplay. I escaped and entered it and then got another code. When I escaped again and entered the code, I got this.
I forgot exactly what I did next, but another PIN appeared. I escaped and entered the new PIN and got the same dialog. On one attempt, I got this:
This logic must have been in a loop because the dialog flickered from being redisplayed.
I rebooted Home Assistant and tried again. It started from the beginning and took me to the same error.
After entering the PIN in Music, one of the Home Assistant devices disappears from the list on the left, three remain.
Turned on Logging
I turned on debug logging to see if I could anything useful. I couldn’t repair with Music until I deleted the remote. I got the same problem again. Here’s an error that came up in the log:
2022-05-12 15:54:21 DEBUG (MainThread) [pyatv.core.protocol] Got heartbeat 73 (AirPlay:10.0.0.124)
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Connection closed
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Connection closed
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Connection closed
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Sending HTTP/1.1 message: b’POST /pair-setup-pin HTTP/1.1\r\nUser-Agent: pyatv/0.10.0\r\nContent-Length: 85\r\n\r\nbplist00\xd2\x01\x02\x03\x04VmethodTuserSpin_\x10\x1052E2EF5EDE7FFA91\x08\r\x14\x19\x1d\x00\x00\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x000’
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Received: b"HTTP/1.1 200 OK\r\nDate: Thu, 12 May 2022 22:54:22 GMT\r\nContent-Length: 342\r\nContent-Type: application/x-apple-binary-plist\r\nServer: AirTunes/610.19.1\r\n\r\nbplist00\xd2\x01\x02\x03\x04RpkTsaltO\x11\x01\x00H\x90\xbcJ\xc5M\x17\xb8\x8a}u\xf9\xbf\x11\x8a\x83\xf1\x8b\xb76\x8a\x12\r\xb1\x7f%\x7f\x19\x81\t\xab\xf6|S\xad{\xa3\xd0\xe3\x05\x8a\xfax\xe7\x14/\xf9\xac\x97s\x1f\x10I\xcaN\x0f\xfd\x82\xf1\xc9\xdb<\xfa\xc1rw3x\x14\xe5\xee\x92\xf4\xdf(\x9e\xe34\x80\xcd\xe3i\x7fC\x08\xd7\x80~\xd3\xc8\xfd\x7f\xecN\xa2\xff\xda\x0b\x85T\xff\xec\xc4'v\xfa\x01\x8c\x97\xa4\xd8q\x893\xefH/\x90r\x0e\xb5N;\x92\xbe2\x9dx\xc7\xe2\xdd[{qu\x00\xd1\xd5\xe6\xce]c\xec\x06\x9e=aN\x15+\xdd\x10\x1b\xc9G\xec\x9d:\x03\xdc\xd4+\xb76e\xe7e\xf7\x92\xa9\xdb\xc2\xffFW\xc7\xfc\x84\xb7\x99\x9d\x85\x8f\xd9\x9fs\xa8\x0f\xf8\xe9\xc1\xbe\xfa\xfe\xdc\x90\xfe\xa3\x8aJ\xbfN1\x90t\xce#\x1f\x8cv\xe6s\xc0N\xe1\x1a\xec\x1f\x96\xf9{\xb5\xa0\xdd\xf3:\xa1 \xb0u\x14\xbbn\xeb_\x98\xa4\x98\xf2\xc7\x1f\x97\x9e\x1c3\x9a\x89\n\x0f\x93\xdb\xb2\x91\xff\xd9O\x10\x10\xb3\x03$\xc1\x8b\xc9<\xcd\xd1\xc2c\xf1\xc7A\x85\xb5\x00\x08\x00\r\x00\x10\x00\x15\x01\x19\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01," 2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Got HTTP response: HttpResponse(protocol='HTTP', version='1.1', code=200, message='OK', headers={'date': 'Thu, 12 May 2022 22:54:22 GMT', 'content-length': '342', 'content-type': 'application/x-apple-binary-plist', 'server': 'AirTunes/610.19.1'}, body=b"bplist00\xd2\x01\x02\x03\x04RpkTsaltO\x11\x01\x00H\x90\xbcJ\xc5M\x17\xb8\x8a}u\xf9\xbf\x11\x8a
\x83\xf1\x8b\xb76\x8a\x12\r\xb1\x7f%\x7f\x19\x81\t\xab\xf6|S\xad{\xa3\xd0\xe3\x05\x8a\xfax\xe7\x14/\xf9\xac\x97s\x1f\x10I\xcaN\x0f\xfd\x82\xf1\xc9\xdb<\xfa\xc1rw3x\x14\xe5\xee\x92\xf4\xdf(\x9e\xe34\x80\xcd\xe3i\x7fC\x08\xd7\x80~\xd3\xc8\xfd\x7f\xecN\xa2\xff\xda\x0b\x85T\xff\xec\xc4’v\xfa\x01\x8c\x97\xa4\xd8q\x893\xefH/\x90r\x0e\xb5N;\x92\xbe2\x9dx\xc7\xe2\xdd[{qu\x00\xd1\xd5\xe6\xce]c\xec\x06\x9e=aN\x15+\xdd\x10\x1b\xc9G\xec\x9d:\x03\xdc\xd4+\xb76e\xe7e\xf7\x92\xa9\xdb\xc2\xffFW\xc7\xfc\x84\xb7\x99\x9d\x85\x8f\xd9\x9fs\xa8\x0f\xf8\xe9\xc1\xbe\xfa\xfe\xdc\x90\xfe\xa3\x8aJ\xbfN1\x90t\xce#\x1f\x8cv\xe6s\xc0N\xe1\x1a\xec\x1f\x96\xf9{\xb5\xa0\xdd\xf3:\xa1 \xb0u\x14\xbbn\xeb_\x98\xa4\x98\xf2\xc7\x1f\x97\x9e\x1c3\x9a\x89\n\x0f\x93\xdb\xb2\x91\xff\xd9O\x10\x10\xb3\x03$\xc1\x8b\xc9<\xcd\xd1\xc2c\xf1\xc7A\x85\xb5\x00\x08\x00\r\x00\x10\x00\x15\x01\x19\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01,"):
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Sending HTTP/1.1 message: b’POST /pair-setup-pin HTTP/1.1\r\nUser-Agent: pyatv/0.10.0\r\nContent-Length: 347\r\n\r\nbplist00\xd2\x01\x02\x03\x04RpkUproofO\x11\x01\x00wM\xfa\xea\xd4\xd1\xb4A\xb3\xa9\xb8\x1b \xde\xcdh\xb5\t8Ck\xaf\xc3\xe7\x0f\xbb\xc3\xe0\xe4T\x82\xdf\xda\xe5H\x92\xa3\xe5>\x06\xc5\xd4=6\xbc\xf9\x84Z!\xad8,\xdd$\xf9\xa2-"G\x04\xea236\xc6\xab[\xba$\x17\xaa\x14K\xae\x0c\xf7\xeb);\xd6]p\x9e\x9fz\xbaAtq\xb5\xb6\xa4=%\xdc\xca\x9e\x96\xa4\xec\x16\xc5\x93\x0f\xa2\'$\xf6\x94W\xd8u\xbb<\xc0\x07&\xc0\xdb\xb5:J]\xef\xe1\x95\xed\xef\x18\xe8\xbdj\xbe\x0f+.\x80\xbbQ\xcfc\xe5\noe\xf5\x9d\xba\x15\x87\xfcx,\x05\x00i\xa2m\x8c\xe8h\x05v\x9b\xa7:B\xb6\xda\xa4\xd7\xfd\x18H\x8f\xd5\xff\x10\xde\x9f}>,\x10\x11\x8dc\xfc\xfb%\x7f\xea\xcdbiC6[\xae\x1f*\x88\xc2LD\x91B\xe8g)^=\x00\xb31\xc4\xa83\xe3n\x8f?\xec\xbb\x12\xefi\xf9/\x8fwT.\xfdg\x83f\xe4\x11O\xcfG\x17\xdf\x1e
:\x9afXb\x9c(\xbc,O\x10\x14+\xbb[\xfeA\x1f@\x00\x0c\x8130*Z[\x9b\xad\xf2\xbf=\x00\x08\x00\r\x00\x10\x00\x16\x01\x1a\x00\x00\x00\x00\x00\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x011’
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Received: b’HTTP/1.1 500 Internal Server Error\r\nContent-Length: 0\r\nServer: AirTunes/610.19.1\r\n\r\n’
2022-05-12 15:54:22 DEBUG (MainThread) [pyatv.support.http] Got HTTP response: HttpResponse(protocol=‘HTTP’, version=‘1.1’, code=500, message=‘Internal Server Error’, headers={‘content-length’: ‘0’, ‘server’: ‘AirTunes/610.19.1’}, body=’’):
2022-05-12 15:54:22 ERROR (MainThread) [homeassistant.components.apple_tv.config_flow] Authentication problem
Traceback (most recent call last):
File “/usr/local/lib/python3.9/site-packages/pyatv/support/init.py”, line 33, in error_handler
return await func(*args, **kwargs)
File “/usr/local/lib/python3.9/site-packages/pyatv/protocols/airplay/auth/legacy.py”, line 62, in finish_pairing
await self._send_plist(
File “/usr/local/lib/python3.9/site-packages/pyatv/protocols/airplay/auth/legacy.py”, line 79, in _send_plist
return await self.http.post(
File “/usr/local/lib/python3.9/site-packages/pyatv/support/http.py”, line 359, in post
return await self.send_and_receive(
File “/usr/local/lib/python3.9/site-packages/pyatv/support/http.py”, line 412, in send_and_receive
raise exceptions.HttpError(
pyatv.exceptions.HttpError: HTTP/1.1 method POST failed with code 500: Internal Server Error
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/components/apple_tv/config_flow.py”, line 429, in async_step_pair_with_pin
await self.pairing.finish()
File “/usr/local/lib/python3.9/site-packages/pyatv/protocols/airplay/pairing.py”, line 74, in finish
await error_handler(
File “/usr/local/lib/python3.9/site-packages/pyatv/support/init.py”, line 41, in error_handler
raise fallback(str(ex)) from ex
pyatv.exceptions.PairingError: HTTP/1.1 method POST failed with code 500: Internal Server Error
I am running Monterey and will let you know if TTS works once I get past setting it up. TTS works with my HomePods. They’re the original ones, not the minis.