Skip to content
Simple .Net wrapper to control Sony Bravia devices through IRCC
C#
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
BraviaIRCCControl.Console
BraviaIRCCControl
.gitignore
.travis.yml
BraviaIRCCControl.sln
LICENSE
README.md
codes_list.json

README.md

Build Status NuGet Package NuGet Downloads Donate

BraviaIRCCControl

Simple .Net wrapper to control Sony Bravia devices through IRCC

Contribution

If you find this package useful, please make a gift on Paypal : https://www.paypal.me/roddone

Help

Do pull requests to implement more features !

Prerequisites

  1. Go in your TV settings and enable IP Control : Network > Home Network Setup > IP Control > Simple IP Control.
  2. Set Authentication to "Normal and Pre-shared Key"
  3. Choose a Pre-shared key.

The Pre-Shared Key will be asked when connecting.

HowTo

Instanciate a "BraviaIRCCControl.IRCCController", and simply use the "Send" method with an IRCCCode:

	IRCCController control = new IRCCController(hostname /*, port = 80, pinCode = "Pre-Shared-Key"*/);
	await control.Send(IRCCCodes.VolumeUp);
	await control.Send(IRCCCodes.VolumeDown);
	await control.Send(IRCCCodes.HDMI1);
	//etc.

Extensions

There are extensions that allows to use some commands in a more readable way, to use them juste include using BraviaIRCCControl.Extensions; For example :

	await control.VolumeUp();
	await control.VolumeDown();
	await control.Play();
	await control.Pause();
	//etc.

For the moment there is not a lot of extensions, but you can implement others via pull request.

Extensions (bis)

You can directly use extensions methods on the "IRCCCodes" Enum. To do so, you have to initialize extensions with the controller you want to use, and then call the send method on the enum valu you want to send :

	IRCCController control = new IRCCController(hostname, pinCode: pin);
	IRCCCodesExtension.InitializeController(control);
	
	await IRCCCodes.VolumeUp.Send();
	await IRCCCodes.VolumeDown.Send();
	await IRCCCodes.HDMI1.Send();

	//use another controller just one time 
	await IRCCCodes.HDMI1.Send(anotherController);
You can’t perform that action at this time.