After doing some digging, I was able to use the Onkyo and Binary Light JSON files as examples, I was able to add buttons to the control pad for this. Here is the latest with the following changes:
- Added Remote Power (RSPW) commands
- Added all the View Mode commands
- Added special commands for 3D Televisions
- Added On and Off buttons to the main control pad and in the Control tab
It looks like Sharp does a good job of avoiding overlap in commands for IP Control between different TV sets. None of the new commands for 3D TV's overlap with the commands we already had. While the buttons cannot determine status, they do function for turning the TV on and off.
Now, I still need to determine if there is the ability to send authentication when using the raw or crlf protocol. I looked all over the place but could not find anyone actually doing this, and the documentation for Luup does not say whether this is or is not possible.
EDIT: I used modified code from the DSC Alarm Panel plugin Implementation file to add the capability to specify a custom port in the IP address field in the format: <ip_address>:<port> (eg 10.0.0.1:10003). If no port is specified, it defaults to 10002. I also found in the documentation where you cannot specify a username and password using the built-in raw or crlf protocols. The function luup.io.open only takes the device ID, IP address, and Port number. Here is a list of the new features:
- Added the ability to specify a custom port number in the IP address field (eg. 10.0.0.1:10003)
- Added a check to see if there is a connection before attempting to execute a command. The start up function is called before command execution if there is no connection
I feel like this is now complete enough to upload as a downloadable plugin and will work on doing that.