Sony Tv

v1.1.0

Control Sony Bravia TV — power, volume, apps, playback, and full remote navigation via REST API and IRCC on local network.

0· 209·0 current·0 all-time

Install

OpenClaw Prompt Flow

Install with OpenClaw

Best for remote or guided setup. Copy the exact prompt, then paste it into OpenClaw for ssupppp/sony-bravia-tv.

Previewing Install & Setup.
Prompt PreviewInstall & Setup
Install the skill "Sony Tv" (ssupppp/sony-bravia-tv) from ClawHub.
Skill page: https://clawhub.ai/ssupppp/sony-bravia-tv
Keep the work scoped to this skill only.
After install, inspect the skill metadata and help me finish setup.
Required env vars: SONY_TV_IP, SONY_TV_PSK, SONY_TV_MAC
Required binaries: uv
Use only the metadata you can verify from ClawHub; do not invent missing requirements.
Ask before making any broader environment changes.

Command Line

CLI Commands

Use the direct CLI path if you want to install manually and keep every step visible.

OpenClaw CLI

Bare skill slug

openclaw skills install sony-bravia-tv

ClawHub CLI

Package manager switcher

npx clawhub@latest install sony-bravia-tv
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (Sony Bravia control) match the actual code and required items: the scripts call the TV JSON-RPC/IRCC endpoints and send Wake-on-LAN. The required env vars (TV IP, PSK, MAC) are appropriate for this purpose. The declared dependency on the 'uv' runner is consistent with the usage examples in the README/SKILL.md.
Instruction Scope
SKILL.md instructs the agent to run the local Python script and report its output — this stays within the stated domain. The interactive setup performs local SSDP discovery and may invoke system commands (ip/arp) to read the ARP table; these network discovery actions are expected for auto-discovery but do access local network state.
Install Mechanism
This is instruction-only with included scripts (no install spec). The Python script lists dependencies (requests, wakeonlan) but the skill does not automatically download arbitrary code from remote URLs. No unusual download or extraction behavior is present.
Credentials
Requested env vars (SONY_TV_IP, SONY_TV_PSK, SONY_TV_MAC) are consistent with the functionality. Minor inconsistency: README and some comments treat SONY_TV_MAC as optional (only needed for Wake-on-LAN), but registry metadata lists it as required — this is benign but may cause confusion. No unrelated credentials are requested.
Persistence & Privilege
The skill is not configured as always:true and does not request system-wide config changes or other skills' credentials. It writes a .env file to its own skill directory during setup, which is normal for storing local configuration.
Assessment
This skill appears to do exactly what it says: control a Sony Bravia on your local network. Before installing, note: (1) You must provide the TV IP and its pre-shared key (SONY_TV_PSK); the setup can also write these into a .env file in the skill directory — review and protect that file (permissions, location) because it contains your PSK. (2) Setup will run local network discovery (SSDP) and may run 'ip' or 'arp' to read the ARP table; run it only on a trusted machine. (3) If you only need non-power commands you can omit the MAC; power-on uses Wake-on-LAN and requires the MAC. (4) The code depends on Python packages (requests, wakeonlan) and uses the 'uv' runner shown in examples — ensure those tools come from trusted sources. (5) If you have security concerns, review the two Python scripts (setup.py and tv_control.py) yourself before running; they're short and clear and contain no obfuscated or remote-exfiltration code.

Like a lobster shell, security has layers — review code before you run it.

Runtime requirements

Binsuv
EnvSONY_TV_IP, SONY_TV_PSK, SONY_TV_MAC
Primary envSONY_TV_PSK
latestvk975gdvwbxs04kk6zxpcdwrxyn83cdpy
209downloads
0stars
2versions
Updated 1mo ago
v1.1.0
MIT-0

Sony Bravia TV Control

You control a Sony Bravia TV on the user's home network via a Python script that talks to the TV's REST API and IRCC remote interface.

How It Works

All commands go through one script: {baseDir}/scripts/tv_control.py

Run it with uv run:

uv run {baseDir}/scripts/tv_control.py --action <action> [--value <n>] [--app <name>] [--buttons <buttons>]

Command Mapping

When the user says something like the phrases below, run the corresponding command.

Power

User saysCommand
"turn on the TV" / "switch on TV" / "power on"--action power_on
"turn off the TV" / "switch off" / "power off" / "shut down TV"--action power_off

Volume

User saysCommand
"volume up" / "louder" / "increase volume"--action volume_up
"volume down" / "quieter" / "decrease volume" / "lower volume"--action volume_down
"set volume to 30" / "volume 30" / "make it 30"--action volume_set --value 30
"mute" / "unmute" / "toggle mute"--action mute

Volume range is 0-100. Values outside this range will be rejected.

Apps

User saysCommand
"open Netflix" / "play Netflix" / "launch Netflix"--action open_app --app netflix
"open YouTube" / "put on YouTube"--action open_app --app youtube
"open Hotstar" / "open JioCinema"--action open_app --app hotstar
"open Prime Video" / "open Amazon Prime"--action open_app --app prime
"open [any app name]"--action open_app --app "<name>"
"what apps are installed?" / "list apps"--action list_apps

Note: Hotstar and JioCinema use the same app (JioCinema absorbed Disney+ Hotstar in India). Both hotstar and jiocinema keys work.

Remote Control / Navigation

User saysCommand
"press OK" / "select" / "confirm"--action remote --buttons "ok"
"go up" / "navigate up"--action remote --buttons "up"
"go down" / "navigate down"--action remote --buttons "down"
"go left" / "go right"--action remote --buttons "left" or "right"
"go back" / "press back"--action remote --buttons "back"
"go home" / "press home"--action remote --buttons "home"
"play" / "resume"--action remote --buttons "play"
"pause"--action remote --buttons "pause"
"fast forward"--action remote --buttons "forward"
"rewind"--action remote --buttons "rewind"
"switch to HDMI 1" / "HDMI 2"--action remote --buttons "hdmi1" or "hdmi2"
"press subtitle" / "subtitles"--action remote --buttons "subtitle"
"scroll down 3 times and select"--action remote --buttons "down*3,ok"
"what buttons are available?"--action list_buttons

You can chain multiple buttons with commas: --buttons "down,down,ok". Use name*N for repeats: --buttons "down*5,ok".

Status

User saysCommand
"TV status" / "is the TV on?" / "what's playing?" / "what volume?"--action status

Response Guidelines

  • After running a command, report the script output to the user in a brief, natural way.
  • If the script prints an error (connection timeout, missing env var), tell the user what went wrong and suggest a fix (check if TV is on, check network, etc.).
  • If the user asks to open an app not in the known list, the script will search installed apps automatically — just pass the name.
  • For "volume up/down" repeated requests like "louder louder louder", run volume_up multiple times.
  • If the TV is off and the user asks for anything other than power on, suggest turning it on first.
  • For navigation sequences, chain buttons in a single remote command rather than running multiple commands.

Not Supported

  • Keyboard / text input — the TV API does not support typing text into search fields.
  • Screen mirroring — cannot start or manage Miracast/screen mirroring sessions.
  • Casting — cannot initiate Chromecast sessions (use your phone for that).

Compatibility

  • Android TV (2015+): Full support — REST API + IRCC + WoL.
  • Google TV: Works with caveats — some newer models may require re-pairing the PSK after firmware updates.
  • Pre-2015 (non-Android): Not supported — these models use a different API.

Notes

  • Power ON uses Wake-on-LAN — it sends a magic packet, so the TV must have Remote Start enabled and SONY_TV_MAC must be set.
  • All other commands use the REST API — requires SONY_TV_IP and SONY_TV_PSK.
  • The TV must be on the same network as the machine running this script.

Comments

Loading comments...