So I became fed up with not being able to control my Sony VPL-VW535 projector through home assistant so I can make nice automation for my home theater. It started with finding an RJ45 connector on the projector itself, and assuming there should be some IP control protocol.
Being a high end projector, it supports lots of fancy protocols for Creston RoomView, and other high end automation systems for which I couldn’t find any components for in Home Assistant. So I started Googling on which supported protocol seemed to have the lowest barrier of entry, and I write my own switch component based off of telnet.switch that handles states, turning on/off and authentication (password handling) as per the ADCP (advanced display control protocol).
Hopefully this might be a useful starting ground for someone else interested in controlling Sony ADCP displays through home assistant. My final goal will be to integrate with Kodi to change lens memory based off of movie aspect ratio automatically.
This is a couple hours of work reading protocol PDFs, checking wireshark, and hacking together some samples in Python, and then merging into the closest thing in HA (telnet.switch) I could find, so code is still very rough, but it works. My first community contribution, yay…!
Replying to myself, but I cleaned up everything, and I would say this is now a pretty clean (albeit simple) switch component for Sony projectors. Passwords/authentication is now clean and nice. Sane defaults and much simpler configuration. Documentation updated to reflect this as well.
Hi
Thanks for sharing this . I have a 295 es for which I am trying to automate thru HA . Could you pls lemme know if you have an updated version of the code ?
Also do you have any node red flow to turn on and off ?
I don’t see why it wouldn’t work still as is. I ended up moving to Harmony (IR) instead, since I pretty much only needed this to turn the projector on and off. I tried to make the code readable, so if there is something that changed in the latest HA version, you should be able to tweak it easily. All the high end projectors have the same IP control plane I believe, so should work with your projector?
I’m currently on Harmony + Homebridge, so might not be able to troubleshoot anything for you, but more than happy to help.
Let me know if I can help. Should work as a normal switch to turn on/off, that you can easily use from Node Red. Just like any other light bulb really.
I wonder if anyone has gone “just a little bit farther” than a simple switch. I have a Sony Projector too and the simple switch driver that Home Assistant offers is just not enough. I also want to be able to change the aspect ratio (1.85 or 2.35) of the lens based upon whether I am viewing a 4K UHD movie or not. It would almost seem like I have to create a second switch for the same projector.
I was also thinking of perhaps changing the driver from a switch to a media player as I am well versed in programming with python. However, I cannot determine the easiest way to switch aspect ratio’s with a media_player as this is something not really thought about with the current implementation.
I probably would have done it as a media player if I were to redo things. Should be fairly straightforward based on this code to be honest. It was just my first custom component so I tried to keep it simple and most of it was understanding Sony authentication and commands etc.
Anyway, you can very easily tweak this component to issue aspect ratio command (e.g. have a separate switch for aspect ratio). I might be interested in redoing this component and adding some stuff like custom commands etc. Would be really nice to have auto discovery since the projector does announce itself all the time over the network even when not set up…