Notice: This forum has been recovered from an old backup, so some content, links, and dates may be outdated. The forum is currently read-only while we restore sign-in and registration functionality. Details

If you find this forum valuable and would like to help keep it online, donations to help cover hosting and domain costs are greatly appreciated, but never expected. You can support the forum through Buy Me a Coffee or Ko-fi. Thank you for helping preserve the EventGhost community.

HDMI-CEC Replacement / Repair

If you have a question or need help, this is the place to be.
Post Reply
Garfonso
Posts: 1
Joined: Mon Jan 11, 2016 2:38 pm

HDMI-CEC Replacement / Repair

Post by Garfonso »

Hi,

I recently upgraded my Windows 7 HTPC to Windows 10. Everything kept working fine, except my HDMI CEC device which used the RCAWare plugin. I used it to switch on / off my TV and use the TV remote to control the HTPC which was quite nice so I wanted it back. RCAWare seems gone now and there is no driver (which was already kind of an issue in Windows 7).

Windows 10 detects the hardware as "Serial USB-Devices" and assigns a COM Port to it, so it can basically work, just not with RCAWare, because the hardware communicates via serial connection with the computer. Also the protocol is documented by my hardware vendor ( rainshadowtech.com which still exists ).. but for some strange reason (probably making money?) the guys from RCAWare used some proprietary .dll which is loaded in the original Plugin and used for the communication. From looking at the pything code it seemed to me that the .dll does not do a lot except the serial communication. The main issue with the .dll is that it needs some different driver than the one which is installed by Windows 10 and I did not manage to repair that (also I'm not too happy about installing a bunch of unsigned drivers just to try them out...) otherwise it would just not detected your hardware and refuse to do anything (although it *should* work anyway).

So I ripped the .dll from the python files and modified the plugin to use EventGhost's own SerailPort implementation. It now works with the default Windows 10 drivers and without the RCAWare .dll in the system. Sadly the device is not registred as a COM port in the system but just a device using a com port (or so..??), at least EventGhost's SerialPortChoice control does not listen the port of the device, so I added a number spinner to the config page and a test port button (which acts a bit strange and needs multiple presses from time to time, could not find out why). So configuration is a bit shaky... but you have to select the right port only once... :)
The rest of the plugin started working just as before after those modifications. Of course there could be some bugs in stuff I do not really use...

Anyway, the file has a GPL header, so I think it is ok for me to modify it and share my modifications with you (I just modified the __init__.py there is another file wmi.py and macros.xml in the package which I did not modify). I never did plugin development for EventGhost before (so I don't have a clue how to get a GUID for the plugin and so on) and I also do not have the time to maintain a plugin or do this right and pretty things up... but, seeing the GPL headers, I think it is OK for me to share my work here "as is". If anybody wants to pick up from here and make it a decent plugin, kink out some more bugs (there were TODOs in there from the original author ;)), or whaterever, please feel free to do so.
If you are just like me and want to repair your EventGhost HDMI CEC setup after upgrading or re-installing or whatever, then you can just copy the files over the old ones, go back to the Windows 10 (and probably before) default driver, and configure the COM Port (the one you can see in device manager) and you are probably done.

If any of this should be in conflict with copy rights (as I said: It has GPL headers!), feel free to delete.
Attachments
HDMI-CEC.zip
(47.73 KiB) Downloaded 199 times
tobyg
Posts: 9
Joined: Wed May 13, 2009 12:54 pm

Re: HDMI-CEC Replacement / Repair

Post by tobyg »

This worked for me. Thank you!
Post Reply