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.

New HDMI-CEC plugin

Questions and comments specific to a particular plugin should go here.
iDVB
Posts: 11
Joined: Sun Mar 24, 2013 3:12 pm

Re: New HDMI-CEC plugin

Post by iDVB »

Hey Patrick(hotbuddha)
Not sure which is best, as each seems to be used.
First off, great work with this plugin.

I'm sure the issues I'm having are with my lack of experience with EventGhost and/or HDMI-CEC. I was wondering if you could help point me in the right direction?
I've spent the past 1-2 hours scouring the forums and google but just can't seem to get the right context.

First off, here is a shot of my Plugin settings:
http://screencast.com/t/fuQ9mlo0H

Here is my issues:
1) My TV is a Samsung with a number of sources/inputs. I would have figured there would be a command that EG could send that would tell the TV to go to HDMI 2. I found the "Select Source" Action but that seems to only allow selecting the various CEC devices. I must be missing a fundamental thing here. I'd also like to do this with the Receiver. Effectively, I'd like it to work much like, and replace, the Logitech Harmony Remote which has things like "Watch TV" which knows all the devices that need to be on and which inputs they need to be set to. How can I do this? :?:

2) By firing the "RCAware PC-CEC: Standby Device: TV" I would have thought it would turn off the TV. However, EG just pops the entry in the log and then about 10secs later I get this in the log. "HdmiCec.Media Center.Feature Abort.Standby.Refused 'TV'"
When I get EG to fire this same Action but with the Receiver, it works as expected and the Receiver goes into standby.

More details:
Receiver: Toshiba Soundbar SBX4250 (CEC Supported)
LCD TV: Samsung 46" LN46A550P3FXZC (AnyNet+ Supported)
Last edited by iDVB on Sat Mar 30, 2013 2:05 pm, edited 1 time in total.
hotbuddha
Experienced User
Posts: 99
Joined: Tue Mar 29, 2011 5:14 am

Re: New HDMI-CEC plugin

Post by hotbuddha »

This is an alternate version which uses the native eventghost volume/mute events. This way you can change volume from any controls: remote, keyboard, windows volume slider with mouse, etc.

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1600">
    <Folder Name="All CEC Amp Volume Control" Expanded="True">
        <Macro Name="Volume">
            <Event Name="System.Volume" />
            <Action>
                EventGhost.PythonScript(u"if float(eg.event.payload) > 50.0:\n    eg.plugins.HdmiCec.CecCommand(4, u'Receiver', 9, 0, u'User Control Pressed', u'', u'', u'', u'', u'', u'', u'', 3, -1, -1, -1, -1, -1, -1, '44 41', -1, 'None', '')\nif float(eg.event.payload) < 50.0:\n    eg.plugins.HdmiCec.CecCommand(4, u'Receiver', 9, 0, u'User Control Pressed', u'', u'', u'', u'', u'', u'', u'', 3, -1, -1, -1, -1, -1, -1, '44 42', -1, 'None', '')")
            </Action>
            <Action>
                System.SetMasterVolume(50.0, 0)
            </Action>
            <Action>
                System.MuteOff(0)
            </Action>
        </Macro>
        <Macro Name="Toggle Mute">
            <Event Name="System.Mute" />
            <Action>
                HdmiCec.CecCommand(4, u'Receiver', 9, 0, u'User Control Pressed', u'', u'', u'', u'', u'', u'', u'', 6, -1, -1, -1, -1, -1, -1, '44 43', -1, 'None', '')
            </Action>
            <Action>
                System.SetMasterVolume(50.0, 0)
            </Action>
            <Action>
                System.MuteOff(0)
            </Action>
        </Macro>
    </Folder>
</EventGhost>
peterhjalmarsson
Posts: 6
Joined: Sun Mar 31, 2013 2:49 pm

Re: New HDMI-CEC plugin

Post by peterhjalmarsson »

iDVB wrote:Hey Patrick(hotbuddha)
Not sure which is best, as each seems to be used.
First off, great work with this plugin.

I'm sure the issues I'm having are with my lack of experience with EventGhost and/or HDMI-CEC. I was wondering if you could help point me in the right direction?
I've spent the past 1-2 hours scouring the forums and google but just can't seem to get the right context.

First off, here is a shot of my Plugin settings:
http://screencast.com/t/fuQ9mlo0H

Here is my issues:
1) My TV is a Samsung with a number of sources/inputs. I would have figured there would be a command that EG could send that would tell the TV to go to HDMI 2. I found the "Select Source" Action but that seems to only allow selecting the various CEC devices. I must be missing a fundamental thing here. I'd also like to do this with the Receiver. Effectively, I'd like it to work much like, and replace, the Logitech Harmony Remote which has things like "Watch TV" which knows all the devices that need to be on and which inputs they need to be set to. How can I do this? :?:

2) By firing the "RCAware PC-CEC: Standby Device: TV" I would have thought it would turn off the TV. However, EG just pops the entry in the log and then about 10secs later I get this in the log. "HdmiCec.Media Center.Feature Abort.Standby.Refused 'TV'"
When I get EG to fire this same Action but with the Receiver, it works as expected and the Receiver goes into standby.

More details:
Receiver: Toshiba Soundbar SBX4250 (CEC Supported)
LCD TV: Samsung 46" LN46A550P3FXZC (AnyNet+ Supported)
I'm interested as well. Just adding this post to be able to get notified when there's an answer.
hotbuddha
Experienced User
Posts: 99
Joined: Tue Mar 29, 2011 5:14 am

Re: New HDMI-CEC plugin

Post by hotbuddha »

1) My TV is a Samsung with a number of sources/inputs. I would have figured there would be a command that EG could send that would tell the TV to go to HDMI 2. I found the "Select Source" Action but that seems to only allow selecting the various CEC devices. I must be missing a fundamental thing here. I'd also like to do this with the Receiver. Effectively, I'd like it to work much like, and replace, the Logitech Harmony Remote which has things like "Watch TV" which knows all the devices that need to be on and which inputs they need to be set to. How can I do this?
I assume you have something hooked up to HDMI2 that is not CEC capable, but you want to be able to switch to HDMI2 with CEC commands. Since there is no CEC device listening to tell the TV "yes I am here and I will display something" the TV probably is not having it. You can get around this using the RCAware pluging (I think). Go into RCAware settings, add an emulated device (if you don't have anything selected you will see the "add" button). Specify logical address of say 3 (second recording device I think), the plugin should prevent you from adding one that is already in use. Give it an OSD name of your liking, that is what you will see inside EG when you add RCAware events. Last and most important give a physical address of 2.0.0.0 which should be your HDMI2 port.

From there, I think you might need to setup macros to handle the handshaking and stuff like accepting the "select source" etc. You should have a Media Center Emulation folder in EG that was installed with the RCAWare plugin. I cannot remember if If that is programmed to handle all emulated devices or just the main one (your media center is an emulated device for instance). If you need to make the macros though that has what you need but could take some programming. Give it a try, you will figure it out I think.

PS - If you want to use CEC commands to select a non-HDMI source, for instance RCA1 or VID1, you are probably out of luck. The CEC spec has commands to do it but I have never seen a TV vendor that implemented them.
2) By firing the "RCAware PC-CEC: Standby Device: TV" I would have thought it would turn off the TV. However, EG just pops the entry in the log and then about 10secs later I get this in the log. "HdmiCec.Media Center.Feature Abort.Standby.Refused 'TV'"
When I get EG to fire this same Action but with the Receiver, it works as expected and the Receiver goes into standby.
Your TV is giving you the answer, it is refusing to listen to the standby command. Some TVs from Samsung will listen to this command, some will not (especially "older" models). I have an LG that does not listen to standby either, so I still have the power button programmed into my MCE remote, at least in that scenario when I tell the TV to power down the RCAware plugin takes care of putting the PC into standby and waking it back up from sleep when the TV is powered back on.
hotbuddha
Experienced User
Posts: 99
Joined: Tue Mar 29, 2011 5:14 am

Re: New HDMI-CEC plugin

Post by hotbuddha »

leyton01 wrote:Hi,

Just received my hardware (very excited) and installed the RCAware HDMI-CEC plugin and was wanting some help with this problem.

My set-up is:
Windows 7 WMC
Yamaha RX-V773 amp
Samsung UA60ES8000M TV
All connected into AMP via HDMI, but the audio goes from WMC to amp via optical. The amp outputs sound to the speakers - the TV has no sound either in or out (set to 'external source')

I want to change the volume using the WMC controls as it has a nice graphic, nice range and when muted it will show subtitles on live TV.
I turned on volume sync and was able to achieve this but when I change volume using the remote the amp volume just "wanders" to the correct volume without any hurry and seeming at a random speed.
I might go 5 notches up in windows media player (changes instantly on-screen as per the WMC volume dialogue box) and it will take about 4 seconds for the amp to finally arrive at it's destination volume.

Is there a way that I can fix this - am I missing something?

My guess is that it is to do with % volumes and the way it is calculated then controls the amp.
WMC volume runs from 0-50
the Amp runs from -80.0db - +16.5db (the max volume can be set to -30.0db, -25.0db in 5db increments up to +15.0db then a single option of 16.5db) with the good listening range around -30.0db

Is there a way I can code this so when it changes volumes it is instant and not so random? (ie do I have to match WMC vol 25 to -30.0db and just change up and down 1.0db per WMC volume - how would I achieve this?)
I updated the plugin for better (I hope) volume sync for Yamaha, and sent you an updated download link. Please give it a try and let me know how it works for you. PS - I wish it could be even faster but the way yamaha volume works with increasing % change with longer button holds it becomes difficult to synchronize with another device such as the PC.
leyton01
Posts: 3
Joined: Mon Jan 07, 2013 9:24 am

Re: New HDMI-CEC plugin

Post by leyton01 »

I updated the plugin for better (I hope) volume sync for Yamaha, and sent you an updated download link. Please give it a try and let me know how it works for you. PS - I wish it could be even faster but the way yamaha volume works with increasing % change with longer button holds it becomes difficult to synchronize with another device such as the PC.
Thanks - I will try it this weekend and let you know the results.

Thanks also for the earlier replies - I will also check out the posted scripts.
I was still hoping to use the mute on WMC as it turns on subtitles on Live TV automatically when muted. (separating the mute command from volume control should fix this though I suppose)
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

@hotbuddha:

I bought the RCAware device from you in April 2012. Back then, we had an e-mail conversation about an updated firmware for the RCAware device that would add a way to tell the device to ignore HDMI-CEC activity for a specified number of seconds. I e-mailed you to find out if a new firmware was available on Dec 18, 2012, Mar 25, 2013, and Apr 23, 2013. I haven't received a reply to my e-mails, and I'm hoping to contact you here.

Have there been any firmware updates since April 2012 that might address my original concern? How about improved stability of the device? It hangs every couple of weeks and I have to unplug the USB cable and plug it back in before it will begin to work again.
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

Well, I guess I'm being ignored. No response to my e-mails and no reply to this thread. I guess this is a dead product.
iDVB
Posts: 11
Joined: Sun Mar 24, 2013 3:12 pm

Re: New HDMI-CEC plugin

Post by iDVB »

Has anyone had the issue where the plugin can communicate with all CEC devices BUT the TV. Even though the TV device is showing in the Plugin device list.
More info...
- TV = Samsung 46" LCD
- TV appears in plugin device list
- When TV Turns off it successfully turns off other CEC devices.
- TV's AnyNet+ (CEC) Menu can successfully list all CEC devices.

Kinda frustrating. Could this be do to the age of the Tv, the config of the cabling or a plugin config?
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

I have updated my post over at TheGreenButton.tv to reflect the non-response from RCAware (and Rainshadow Tech).

I posted that thread because lots of Media Center users congregate at that site, and I was excited about the possibilities of this device. However, I don't want to steer sales to a company that doesn't answer repeated e-mails from its customers.
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

Just an update - I PM'd hotbuddha on this forum on July 15th. If you don't already know, a PM remains in your "outbox" until the recipient reads it. At that time, it moves to "sent", which indicates that it has been read.

Well, hotbuddha read my PM... but still no response.

I'm not a happy camper.

I just ordered the Pulse-Eight device. I don't know Python, but I'm willing to learn. I sent an e-mail to the Pulse-Eight developers asking for documentation on their Windows DLL's methods and properties. If they can provide the information, I can see no reason why I can't install their device driver and use their DLL in a Python program.
krambriw
Plugin Developer
Posts: 2570
Joined: Sat Jun 30, 2007 2:51 pm
Location: Stockholm, Sweden
Contact:

Re: New HDMI-CEC plugin

Post by krambriw »

Their offering might still be valid...

viewtopic.php?f=10&t=3697&p=20748&hilit=pulse#p20748
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

Thanks Walter. I saw that thread also. I've already paid for the hardware and should receive it in the next week or two (shipping from UK to USA via regular postal mail).

My goal is to get the device working with Windows Media Center. I've e-mailed the people at Pulse-Eight and received a response that they already have a tray application that works with Windows Media Center, but there is no documentation on the application. When I receive the device, I'll test it to see what functionality exists in the tray application. If I'm dissatisfied with the tray application, then I'll try my hand at writing a plugin for EG. I'm sure I'll need some help with that.

I downloaded the Pulse-Eight Windows installer package. It's a self-extracting archive file. I opened it with 7-zip and was able to browse the directories within the archive. It appears that there is a separate driver installer (another .exe file) and some DLL files (two for x86 and two for x64). I assume that making it work with EG would be as simple as installing the driver, registering the DLL, and then writing some Python code to make use of the DLL's methods and properties.

I've asked the Pulse-Eight devs for documentation on the DLL files' methods and properties. So far, I have not received a response to that request. I've seen similar requests on the Pulse-Eight forums, and the answer seems to always direct the user to look at the source code supplied by Pulse-Eight. The source is written in C# which is not something I'm very familiar with, but with enough time, I'm sure I could figure it out. It would be so much easier if they just had documentation on the DLL.
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

iDVB wrote:Has anyone had the issue where the plugin can communicate with all CEC devices BUT the TV. Even though the TV device is showing in the Plugin device list.
More info...
- TV = Samsung 46" LCD
- TV appears in plugin device list
- When TV Turns off it successfully turns off other CEC devices.
- TV's AnyNet+ (CEC) Menu can successfully list all CEC devices.

Kinda frustrating. Could this be do to the age of the Tv, the config of the cabling or a plugin config?
I had this problem at one time. I don't remember the exact details, but I had to make my EG macro wake the TV (even though it was already awake) and select the device for playback (even though it was already selected) in order for my TV to start communicating with the device after turning on the TV. The macro executes whenever the TV turns on, or when the PC is woken by a user action (pressing a button on the remote or keyboard).

For details on how I detect that a user woke the PC (instead of waking for an automatic task), see my post here:
http://www.thegreenbutton.tv/forums/vie ... =22&t=4948

EDIT: The post above doesn't discuss the "Action" that is triggered by the event in the Windows Event log. The action simply runs EG with the parameters that cause it to trigger an event in EG. Then, I simply used this event to trigger my EG macro.
barnabas1969
Experienced User
Posts: 133
Joined: Sat Feb 04, 2012 1:42 am

Re: New HDMI-CEC plugin

Post by barnabas1969 »

I got a response from one of the Pulse-Eight devs. Here is what he wrote:
Yes, the dll documentation is available in doxygen style and the .Net wrapper, which is used for the tray application, includes xml doc. So it'll be available in Visual Studio when you reference the file.

The source code of libCEC, LibCecSharp and the tray application can be found on Github: https://github.com/Pulse-Eight/libcec
OK, so I have a copy of Visual Studio somewhere. When I get some time, I'll find my copy of Visual Studio, install it, and see if the documentation is sufficient.
Post Reply