Skip to content

forty2/bravia-simple-ip-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

bravia-simple-ip-control

Control your Sony Bravia TV over the network

NPM Version GitHub license

bravia-simple-ip-control is a Node.js library that allows you to control your Sony Bravia TV over your local network. It's especially useful for integrating into a home automation system.

Getting Started

bravia-simple-ip-control is distributed through NPM:

npm install bravia-simple-ip-control

# or, if you prefer:
yarn add bravia-simple-ip-control

Examples

bravia-simple-ip-control provides both discovery and control capabilities. To monitor the local network for Bravia TVs, try something like this:

import BraviaDiscovery from 'bravia-simple-ip-control';

BraviaDiscovery
    .on('founddevice', (device) => {
        console.log(`Found a device: ${device.id}`);
    })
    .on('lostdevice', (device) => {
        console.log(`Lost a device: ${device.id}`);
    })
    .discover();

Once you have a device object, you have a number of control commands at your disposal:

Commands

sendIrCode

Send an IR code to the TV. See KEYS for a full list of available IR code names.

isOn.get()

isOn.set(value)

isOn.toggle()

Get, set, or toggle the power state of the TV.

volume.get()

volume.set(value)

Get or set the current volume level.

isMuted.get()

isMuted.set(value)

Get or set the mute status.

channel.get()

channel.set(value)

Get or set the current channel.

tripletChannel.get()

tripletChannel.set(value)

Get or set the current "triplet" channel. (I don't currently know what a "triplet" channel is.)

inputSource.get()

inputSource.set(value)

Get or set the current input source (antenna, cable, etc).

input.get()

input.set(value)

Get or set the current input (HDMI, component, etc). Value is one of:

  • tv
  • hdmi
  • scart
  • composite
  • component
  • mirroring
  • pc-rgb

followed by a number 1-9999 (for any of the options except tv).

isPictureMuted.get()

isPictureMuted.set(value)

isPictureMuted.toggle()

Get, set, or toggle the picture mute feature. Picture mute turns off the screen without turning off the TV (in other words, audio only).

isPipEnabled.get()

isPipEnabled.set(value)

isPipEnabled.toggle()

Get, set, or toggle the Picture in Picture status. May not be supported by all models.

broadcastAddress.get(iface)

macAddress.get(iface)

Get the IP or hardware address of the given network interface.

sceneSetting.get()

sceneSetting.set(value)

Get or set the current scene setting value. One of:

  • auto
  • auto24pSync
  • general

Events

The following events are fired when it is detected that the corresponding state has changed:

power-changed

volume-changed

mute-changed

channel-changed

input-changed

piture-mute-changed

pip-changed

Compatibility

bravia-simple-ip-control is built to support Node.js version 6.0 or higher.

Contributing

Contributions are of course always welcome. If you find problems, please report them in the Issue Tracker. If you've made an improvement, open a pull request.

Getting set up for development is very easy:

git clone <your fork>
cd bravia-simple-ip-control
yarn

And the development workflow is likewise straightforward:

# make a change to the src/ file, then...
yarn build
node dist/example.js

# or if you want to clean up all the leftover build products:
yarn run clean

Release History

  • 1.0.0
    • The first release.

Meta

Zach Bean – zb@forty2.com

Distributed under the MIT license. See LICENSE for more detail.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published