Neverending Pile of Messages

    bravia-simple-ip-control

    1.0.1 • Public • Published

    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.

    Install

    npm i bravia-simple-ip-control

    DownloadsWeekly Downloads

    3

    Version

    1.0.1

    License

    MIT

    Last publish

    Collaborators

    • forty2