pyatv icon indicating copy to clipboard operation
pyatv copied to clipboard

AppleTV4K 1gen. A1842-tvos13.4.8 ("Home" and "+" button for pairing)

Open Slyrfecso opened this issue 1 year ago • 3 comments

What feature would you like?

Hi, I have a well restored ATV. It is standing on the first screen I have to pair with my physical remote, but I can't. I have a idea, I would like to use atvremote. I need "menu" and "+" buttons together long press.

INFO

       Name: Fekete iMac
   Model/SW: iMac20,1, MacOS
    Address: 192.168.0.240
        MAC: 9A:97:39:EF:27:99
 Deep Sleep: False
Identifiers:
 - 9A:97:39:EF:27:99
 - 9A9739EF2799
Services:
 - Protocol: AirPlay, Port: 7000, Credentials: None, Requires Password: False, Password: None, Pairing: Mandatory
 - Protocol: Companion, Port: 58050, Credentials: None, Requires Password: False, Password: None, Pairing: Unsupported
 - Protocol: RAOP, Port: 7000, Credentials: None, Requires Password: False, Password: None, Pairing: Unsupported

       Name: Apple TV
   Model/SW: Apple TV 4K, tvOS 13.4.8 build 17M61
    Address: 192.168.0.243
        MAC: c8:d0:83:ef:01:8d
 Deep Sleep: False
Identifiers:
 - B3F00AEE-369B-4CDE-855B-3F933FF3C673
Services:
 - Protocol: Companion, Port: 49153, Credentials: 5e9f3f580c3c7de0a7c8e3b03552c9068915261868f61badf8235af5dc410e12:a6ec01444e832bdf7deaa674e90f0aac0278ffbaf65131fba1f27b1c723e3660:42334630304145452d333639422d344344452d383535422d334639333346463343363733:32653930656664332d326463302d343939642d396138382d333334366235646562323463, Requires Password: False, Password: None, Pairing: Mandatory
 - Protocol: MRP, Port: 49152, Credentials: 0ea8c8f85f1066826c45554469180c345e2ee3f9aa3b1c75257902454d17ea3a:dd73386b4e18b0653f226eea9c2282923547f5691fbd11f17b2e7912d766a6d4:31363932386663382d636336372d343463372d386137652d383537623739363531623430:37663634303666662d346538312d343766312d616362612d666537666637656237326336, Requires Password: False, Password: None, Pairing: Optional

Describe the solution you'd like

The "home" or "menu" commands not working.

THE COMMAND what I need (long press): atvremote --id 9A:97:39:EF:27:99 volume_up menu

2025-03-28 08:20:01 ERROR [pyatv.scripts.atvremote]: Command 'menu' is not supported by device
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/scripts/atvremote.py", line 964, in _exec_command
    value = await tmp(*args)
            ^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/core/facade.py", line 107, in menu
    return await self.relay("menu")(action=action)
                 ~~~~~~~~~~^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/core/relayer.py", line 91, in relay
    instance = self._find_instance(
        target, chain(self._takeover_protocol, priority or self._priorities)
    )
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/core/relayer.py", line 115, in _find_instance
    raise exceptions.NotSupportedError(f"{target} is not supported")
pyatv.exceptions.NotSupportedError: menu is not supported

Any other information to share?

Please help me. Thanks

Slyrfecso avatar Mar 28 '25 07:03 Slyrfecso

You are specifying id for the iMac and not the Apple TV, that is not correct, right?

postlund avatar Mar 28 '25 07:03 postlund

You have right, I try it. If I use the MAC address, I got error: atvremote --id c8d083ef018d left
2025-03-28 08:45:40 ERROR [pyatv.scripts.atvremote]: Could not find any Apple TV on current network

atvremote -i B3F00AEE-369B-4CDE-855B-3F933FF3C673 menu

2025-03-28 08:49:01 ERROR [pyatv.protocols.companion]: Could not fetch SystemStatus, power_state will not work (Command failed: No request handler)
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/protocols/companion/__init__.py", line 219, in initialize
    system_status = await self.api.fetch_attention_state()
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/protocols/companion/api.py", line 439, in fetch_attention_state
    resp = await self._send_command("FetchAttentionState", {})
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/protocols/companion/api.py", line 172, in _send_command
    resp = await self._protocol.exchange_opack(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<6 lines>...
    )
    ^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/protocols/companion/protocol.py", line 153, in exchange_opack
    return await self._exchange_generic_opack(frame_type, data, identifier, timeout)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Library/Frameworks/Python.framework/Versions/3.13/lib/python3.13/site-packages/pyatv/protocols/companion/protocol.py", line 174, in _exchange_generic_opack
    raise exceptions.ProtocolError(f"Command failed: {unpacked_object['_em']}")
pyatv.exceptions.ProtocolError: Command failed: No request handler

Slyrfecso avatar Mar 28 '25 07:03 Slyrfecso

Pass one of the identifiers listed under "Identifiers" to --id, e.g B3F00AEE-369B-4CDE-855B-3F933FF3C673. You can also use the IP with -s.

postlund avatar Mar 28 '25 17:03 postlund