Skip to content

atvscript volume_down/volume_up is using deprecated functions #2782

@emcepe

Description

@emcepe

What to change?

Hello.

atvscript is using deprecated functions for volume_down/volume_up (maybe more):

atvscript -s 192.168.255.62 volume_down
/usr/local/lib/python3.9/dist-packages/pyatv/scripts/atvscript.py:315: DeprecationWarning: Call to deprecated function volume_down.
  await getattr(atv.remote_control, args.command)()
{"result": "success", "datetime": "2025-11-06T22:32:55.133515+01:00", "command": "volume_down"}

works with volume_up, volume_down, turn_on and turn_off

fix:

--- old/atvscript.py    2025-10-18 19:51:40.404927396 +0200
+++ new/atvscript.py    2025-11-06 22:51:17.100904114 +0100
@@ -10,7 +10,7 @@ import sys
 import traceback
 from typing import List, Optional

-from pyatv import connect, const, scan
+from pyatv import connect, const, interface, scan
 from pyatv.const import FeatureName, FeatureState, Protocol
 from pyatv.interface import (
     App,
@@ -311,7 +311,15 @@ async def _run_command(atv, args, abort_
         await wait_for_input(loop, abort_sem)
         return output(True, values={"push_updates": "finished"})

-    if args.command in retrieve_commands(RemoteControl):
+    if args.command in retrieve_commands(interface.Audio):
+        await getattr(atv.audio, args.command)()
+        return output(True, values={"command": args.command})
+
+    elif args.command in retrieve_commands(interface.Power):
+        await getattr(atv.power, args.command)()
+        return output(True, values={"command": args.command})
+
+    elif args.command in retrieve_commands(RemoteControl):
         await getattr(atv.remote_control, args.command)()
         return output(True, values={"command": args.command})

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions