Re: New HDMI-CEC plugin
Posted: Wed Feb 22, 2012 2:11 am
My pleasure Uwe.
I just purchased the hdmi-cec bridge so I'd like to take you up on your offer for the $20 off for being a beta tester. I'm confident that your plugin will work, but I like to make sure and in this case there is only one way to make sure. PM me if you need to.hotbuddha wrote:Actually I do not know of anyone using this with Mitsubishi, so if that is the what you plan to buy/use, I can give you the beta tester which will be the same as the EG contributor deal of $20 off. I'm not sure about your question regarding the ability for the TV or in this case the projector to be turned off. The PC-CEC can send the command to it, that is not a problem, but the question is will the Mitsubishi listen to and perform the power off (some brands don't listen to the Standby sent to TV, but they all can be powered on). You might be able to figure out from the owner's guide if that is supported for your particular brand/model.
I'm going to work on this later today. I hope something didn't happen to the receiver, I just got it. Switching inputs works, powering on and off works, but when EG tries to get the receiver audio mode status the receiver doesn't respond. I'm going to put a CEC capable TV in the room and hook it up to see if it will talk to the receiver without the CEC pc interface attached. I'll let you know.hotbuddha wrote:Your receiver could be having issues of it's own too. Try unplugging and plugging the power to force a hard restart of the receiver. Think you also customized some macros so also check the flow of your macros to ensure that they send the set auto mode on signal at appropriate times which should enable volume controls from the TV remote and/or PC-CEC.
Code: Select all
<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1544">
<Folder Name="TV Emulation" Expanded="True">
<Macro Name="Vendor ID">
<Event Name="HdmiCec.TV.Give Device Vendor ID" />
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][2] == 'Real':\n eg.StopMacro()\nexcept:\n eg.StopMacro()\n pass")
</Action>
<Action>
HdmiCec.SetLogicalAddress(-1, None, u'TV')
</Action>
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][4] == '008045':\n eg.plugins.HdmiCec.CecCommand(0, u'Broadcast', 16, 0, u'Device Vendor ID', '008045', u'', u'', u'', u'', u'', u'', -1, -1, -1, -1, -1, -1, -1, u'87 008045', -1, 'None', '')\nexcept:\n pass\neg.plugins.HdmiCec.CecCommand(0, u'Broadcast', 16, 0, u'Device Vendor ID', eg.plugins.HdmiCec.plugin.devDetails[0][4], u'', u'', u'', u'', u'', u'', -1, -1, -1, -1, -1, -1, -1, u'87 '+eg.plugins.HdmiCec.plugin.devDetails[0][4], -1, 'None', '')")
</Action>
<Action>
HdmiCec.SetLogicalAddress(1, None, u'Media Center')
</Action>
</Macro>
<Macro Name="OSD Name">
<Event Name="HdmiCec.TV.Give OSD Name" />
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][2] == 'Real':\n eg.StopMacro()\nexcept:\n eg.StopMacro()\n pass")
</Action>
<Action>
HdmiCec.SetLogicalAddress(-1, None, u'TV')
</Action>
<Action>
HdmiCec.CecCommand(1, u'Event Sender', 3, 1, u'Set OSD Name', u'54 56', u'', u'', u'', u'', u'', u'', -1, -1, -1, -1, -1, -1, -1, u'47 54 56', -1, 'None', '')
</Action>
<Action>
HdmiCec.SetLogicalAddress(1, None, u'Media Center')
</Action>
<Action>
HdmiCec.CecCommand(1, u'Event Sender', 3, 1, u'Set OSD Name', u'4d 65 64 69 61 20 43 65 6e 74 65 72', u'', u'', u'', u'', u'', u'', -1, -1, -1, -1, -1, -1, -1, u'47 4d 65 64 69 61 20 43 65 6e 74 65 72', -1, 'None', '')
</Action>
</Macro>
<Macro Name="Power Status">
<Event Name="HdmiCec.TV.Give Device Power Status" />
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][2] == 'Real':\n eg.StopMacro()\nexcept:\n eg.StopMacro()\n pass")
</Action>
<Action>
HdmiCec.SetLogicalAddress(-1, None, u'TV')
</Action>
<Action>
HdmiCec.CecCommand(1, u'Event Sender', 8, 1, u'Report Power Status', u'', u'', u'', u'', u'', u'', u'', 2, -1, -1, -1, -1, -1, -1, '90 00', -1, 'None', '')
</Action>
<Action>
HdmiCec.SetLogicalAddress(1, None, u'Media Center')
</Action>
</Macro>
<Macro Name="CEC Version">
<Event Name="HdmiCec.Receiver.Get CEC Version" />
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][2] == 'Real':\n eg.StopMacro()\nexcept:\n eg.StopMacro()\n pass")
</Action>
<Action>
HdmiCec.SetLogicalAddress(-1, None, u'TV')
</Action>
<Action>
HdmiCec.CecCommand(1, u'Event Sender', 16, 5, u'CEC Version', u'', u'', u'', u'', u'', u'', u'', 4, -1, -1, -1, -1, -1, -1, '9E 04', -1, 'None', '')
</Action>
<Action>
HdmiCec.SetLogicalAddress(1, None, u'Media Center')
</Action>
</Macro>
<Macro Name="Physical Address">
<Event Name="HdmiCec.TV.Give Physical Address" />
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][2] == 'Real':\n eg.StopMacro()\nexcept:\n eg.StopMacro()\n pass")
</Action>
<Action>
HdmiCec.SetLogicalAddress(-1, None, u'TV')
</Action>
<Action>
EventGhost.PythonScript(u"eg.plugins.HdmiCec.CecCommand(0, u'Broadcast', 16, 0, u'Report Physical Address', eg.plugins.HdmiCec.plugin.devDetails[0][1]+' 00', u'', u'', u'', u'', u'', u'', -1, -1, -1, -1, -1, -1, -1, u'84 '+eg.plugins.HdmiCec.plugin.devDetails[0][1]+' 00', -1, 'None', '')")
</Action>
<Action>
HdmiCec.SetLogicalAddress(1, None, u'Media Center')
</Action>
</Macro>
<Macro Name="Active Source">
<Event Name="HdmiCec.Broadcast.Request Active Source" />
<Action>
EventGhost.PythonScript(u"try:\n if filter(lambda i: i[0] == 0, eg.plugins.HdmiCec.plugin.devDetails)[0][2] == 'Real':\n eg.StopMacro()\nexcept:\n eg.StopMacro()\n pass")
</Action>
<Action>
HdmiCec.IsFromDevice(0, u'Receiver')
</Action>
<Action>
EventGhost.NewJumpIf(XmlIdLink(-1), 1, False)
</Action>
<Action>
HdmiCec.SetLogicalAddress(-1, None, u'TV')
</Action>
<Action>
HdmiCec.CecCommand(0, u'Broadcast', 10, 2, u'Active Source', u'0.0.0.0', u'', u'', u'', u'', u'', u'', -1, -1, -1, -1, -1, -1, -1, u'82 0.0.0.0', -1, 'None', '')
</Action>
<Action>
HdmiCec.SetLogicalAddress(1, None, u'Media Center')
</Action>
</Macro>
</Folder>
</EventGhost>@Zian Could you rename the subject of the first post in this merged thread to "RCAware PC-CEC Plugin (Rainshadow Tech HDMI-CEC Birdge)" Or whatever hottbuddha likes) to make it more clear? Maybe also a good idea to merge following thread that has only a single post: viewtopic.php?f=9&t=3354&hilit=rcawarezian wrote:hottbuddha,
Thanks for the update and the work your doing with/for EG users.
But...
Do you really need to post the same content to three topics in three diffrent catagories?
Wouldnt one suffice?
Btw...
The "related" hdmi-cec topic in Event Ghost News has been moved and may also soon be merged.