Simple .Net wrapper to control Sony Bravia devices through IRCC
If you find this package useful, please make a gift on Paypal : https://www.paypal.me/roddone
Do pull requests to implement more features !
- Go in your TV settings and enable IP Control : Network > Home Network Setup > IP Control > Simple IP Control.
- Set Authentication to "Normal and Pre-shared Key"
- Choose a Pre-shared key.
The Pre-Shared Key will be asked when connecting.
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.
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.
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);