More recently, I've started using a Harmony Smart Control unit as my main controller, since this is able to connect directly to my Home Theatre PC using a Bluetooth dongle as though it were a PS3.
I signed up for the forum here, simply to try and give something back to the community.
I'm not a software developer, and I'm therefore no good at python either, so doing anything other than simply modifying an already made plugin, or creating just a simple python action is a bit beyond me.
With that being said, I have been able to create a python action to send commands to my JVC DILA projector, and I thought that by posting here it might either be useful to someone as is, or be the start of a fully fledged plugin.
My Projector is a JVC DLA-RS46U, which is identically to a DLA-X35. Although this script was written for my specific projector, I'm 99% sure that it will work with all recent (as in the last 3 or 4 years) JVC projectors.
Without further ado, here is the code:
Code: Select all
import socket
import time
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client_socket.connect(('172.16.17.6', 20554))
client_socket.send('PJREQ')
time.sleep(0.25)
client_socket.send('\x21\x89\x01\x50\x57\x31\x0A')
time.sleep(0.25)
client_socket.close()
The example above is the discrete 'Power On' command. Other commands can be found in the JVC documentation here: http://support.jvc.com/consumer/support ... lGuide.pdf
and here:
http://pro.jvc.com/pro/attributes/PRESE ... nglish.pdf
I'm not sure if it's valuable, but I was also able to find a JVC document Pronto HEX format IR commands for this range of projectors. I prefer to use the TCP/IP communication, but some may find it valuable. That document was here:
http://uk.jvc-service.net/public/docume ... DC_id=6918
One final note to say, is that the action above does not pay any attention to the responses from the projector, and therefore also doesn't provide a way of checking the power state or selected input etc. I doubt this is complex, but it will take someone better at Python than I am to add in this functionality.