postlund / pyatv

A client library for Apple TV and AirPlay devices
https://pyatv.dev
MIT License
876 stars 95 forks source link

Installing pyatv on a raspberry pi to work with node-red-contrib-apple-tv-x 1.0.3 #2441

Open AnandJhaveri opened 2 months ago

AnandJhaveri commented 2 months ago

What do you need help with?

I am trying to use node-red-contrib-apple-tv-x 1.0.3

It requires pyatv to be installed on the raspberry pi.

I am unable to get the contrib to work and the pyatv installation does not seem to work on rpi.

Please could someone help me with this?

Regards,

postlund commented 2 months ago

Can you elaborate a bit more on what you have done? It's really hard to give any pointers without any logs or command outputs.

AnandJhaveri commented 2 months ago

Thanks for the reply. I am very new to this so sorry for not sending logs.

I have now managed to get the nod-red contrib to work and have installed pyatv on my raspberry pi.

I was unable to get the contrib to work with pyatv as it was not 'paired'. It was not clear from the documentation in the contrib that I needed to pair the raspberry pi pyatv using atvremote wizard before it would work. After much trial and error, I have now managed to get it to work.

However, I do have one question. When the apple tv is turned off, i keep getting error messages in nodered. Here are the messages:

Error: Got pyatv Error: no response to CSeq 144 (/feedback)

pyatv Stacktrace: Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/pyatv/support/rtsp.py", line 317, in exchange await self.requests[cseq][0].wait() File "/usr/lib/python3.9/asyncio/locks.py", line 226, in wait await fut asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/pyatv/support/rtsp.py", line 317, in exchange await self.requests[cseq][0].wait() File "/usr/local/lib/python3.9/dist-packages/async_timeout/init.py", line 141, in aexit self._do_exit(exc_type) File "/usr/local/lib/python3.9/dist-packages/async_timeout/init.py", line 228, in _do_exit raise asyncio.TimeoutError asyncio.exceptions.TimeoutError

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "/usr/local/lib/python3.9/dist-packages/pyatv/core/protocol.py", line 56, in heartbeater await sender_func(message) File "/usr/local/lib/python3.9/dist-packages/pyatv/protocols/airplay/ap2_session.py", line 94, in _send_feedback await self.rtsp.feedback() File "/usr/local/lib/python3.9/dist-packages/pyatv/support/rtsp.py", line 248, in feedback return await self.exchange("POST", uri="/feedback", allow_error=allow_error) File "/usr/local/lib/python3.9/dist-packages/pyatv/support/rtsp.py", line 320, in exchange raise TimeoutError( TimeoutError: no response to CSeq 144 (/feedback)

So, not sure how to handle this?

Your help would be greatly appreciated.

Regards, Anand.

On Thu, 18 Jul 2024 at 01:44, Pierre Ståhl @.***> wrote:

Can you elaborate a bit more on what you have done? It's really hard to give any pointers without any logs or command outputs.

— Reply to this email directly, view it on GitHub https://github.com/postlund/pyatv/issues/2441#issuecomment-2234179363, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADDRQRHSEATBF2HS7HFVTODZM3GBHAVCNFSM6AAAAABK35R6Z6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZUGE3TSMZWGM . You are receiving this because you authored the thread.Message ID: @.***>