npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

node-red-contrib-bravia2

v2.2.3

Published

A Node-RED node to control Sony BRAVIA Android TVs.

Downloads

762

Readme

node-red-contrib-bravia2

npm version npm downloads CI Node.js Version License

Node-RED nodes to control Sony BRAVIA Android TVs.

Features

  • Control Node - Simple way to control basic TV functions (power, volume, input) with a single compound message
  • API Node - Full access to the Sony BRAVIA REST API for advanced use cases
  • IRCC Node - Send remote control commands (power, volume, navigation, etc.)
  • Auto-discovery - Automatically discover TVs on your network
  • Modern codebase - Native fetch, async/await, zero vulnerabilities

Requirements

  • Node.js >= 18.0.0
  • Node-RED >= 3.0.0
  • Sony BRAVIA Android TV with IP Control enabled

Installation

npm install node-red-contrib-bravia2

Or install via the Node-RED palette manager.

TV Setup

  1. Turn on your TV
  2. Go to Settings > Network > Home network setup > Remote device/Renderer > On
  3. Go to Settings > Network > Home network setup > IP Control > Authentication > Normal and Pre-Shared Key
  4. Go to Settings > Network > Home network setup > Remote device/Renderer > Enter Pre-Shared Key and set your PSK (e.g., 0000)
  5. Go to Settings > Network > Home network setup > Remote device/Renderer > Simple IP Control > On

Nodes

bravia-tv (Config)

Configuration node for your TV connection. Set the hostname/IP, port (default: 80), and PSK.

bravia-control

Bidirectional node that polls TV status and accepts commands.

Polling: Configurable interval (1s to 1h) with selectable status items:

  • Power status (always polled)
  • Volume/mute level
  • Input source

Features:

  • Built-in RBE (Report by Exception) - only outputs on change
  • Skip-if-busy prevents request pileup

Input: msg.payload - JSON object with commands:

{"power": true, "volume": 30, "input": "hdmi1"}

Output: msg.payload - Current TV state in same format

bravia-api

Call any Sony BRAVIA API method directly.

Input:

  • msg.method - Method in format protocol:version:method (e.g., system:1.0:getPowerStatus)
  • msg.payload - Optional JSON payload for the method

Output: msg.payload - API response

bravia-ircc

Send IRCC (IR-like) commands to control the TV. Commands can be specified by name (e.g., VolumeUp, Home, Hdmi1) or as raw IRCC codes.

Input: msg.payload - Command name or comma-separated list of commands

Credits

This project is a modernized fork of node-red-contrib-bravia, originally created by Wayne Haffenden.

The original implementation provided the foundation for controlling Sony BRAVIA TVs from Node-RED. This fork updates the codebase to modern Node.js standards and removes deprecated dependencies.

Release Process

This project uses release-please for automated releases. The workflow:

  1. Push commits to main using Conventional Commits format
  2. Release-please automatically creates/updates a release PR with changelog
  3. Merge the release PR to trigger npm publish

Do NOT manually create tags or bump versions in package.json.

License

MIT