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.

Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Questions and comments specific to a particular plugin should go here.
Post Reply
woggy
Posts: 40
Joined: Sun May 02, 2010 2:06 pm

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by woggy »

lja wrote:I have a Yamaha RX-V 3900. I have turned on Network Standby and can get the receiver to turn on and off. However I have been unable to get the increase volume and decrease volume to work. Can anyone share their setup to help? Thanks.
This is how I do it...
Copy and paste this in Eventghost:

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1640">
    <Folder Name="Volume Macro" Expanded="True">
        <Macro Name="On Volume Up Start" Expanded="True">
            <Event Name="Keyboard.F12" />
            <Action>
                EventGhost.PythonCommand(u'myLastVolumeEvent = eg.event')
            </Action>
            <Action>
                YamahaRX.Increase Volume('Active Zone', 0.5)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeUpRepeat', 0.5)
            </Action>
        </Macro>
        <Macro Name="On VolumeUp Repeat" Expanded="True">
            <Event Name="Main.VolumeUpRepeat" />
            <Action>
                EventGhost.PythonCommand(u'if myLastVolumeEvent.isEnded: eg.StopMacro()')
            </Action>
            <Action>
                YamahaRX.Smart Volume Up('Active Zone', 1.0, 2.0, 1.0)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeUpRepeat', 0.050000000000000003)
            </Action>
        </Macro>
        <Macro Name="On Volume Down Start" Expanded="True">
            <Event Name="Keyboard.F11" />
            <Action>
                EventGhost.PythonCommand(u'myLastVolumeEvent2 = eg.event')
            </Action>
            <Action>
                YamahaRX.Decrease Volume('Active Zone', 0.5)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeDownRepeat', 0.5)
            </Action>
        </Macro>
        <Macro Name="On Volume Down Repeat" Expanded="True">
            <Event Name="Main.VolumeDownRepeat" />
            <Action>
                EventGhost.PythonCommand(u'if myLastVolumeEvent2.isEnded: eg.StopMacro()')
            </Action>
            <Action>
                YamahaRX.Smart Volume Down('Active Zone', 2.0, 4.0, 1.0)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeDownRepeat', 0.050000000000000003)
            </Action>
        </Macro>
        <Macro Name="Yamaha RX-V Network Receiver: Get Info: Power" id="675" Expanded="True">
            <Action>
                YamahaRX.Get Info('Volume Level', 'Main Zone')
            </Action>
            <Action>
                EventGhost.PythonScript(u'#print eg.result\n\n#print eg.result[1: 5]\n\neg.globals.volume = eg.result')
            </Action>
            <Action>
                EventGhost.ShowOSD(u'Volume: {eg.globals.volume}\n', u'0;-21;0;0;0;700;0;0;0;0;3;2;1;49;Lucida Console', (255, 255, 0), None, 6, (0, 10), 0, 3.0, True)
            </Action>
        </Macro>
    </Folder>
</EventGhost>
You need the plugin Keyboard for this to work. F12 turns volume up and F11 down.
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

woggy wrote:
lja wrote:I have a Yamaha RX-V 3900. I have turned on Network Standby and can get the receiver to turn on and off. However I have been unable to get the increase volume and decrease volume to work. Can anyone share their setup to help? Thanks.
This is how I do it...
Copy and paste this in Eventghost:

Code: Select all

<?xml version="1.0" encoding="UTF-8" ?>
<EventGhost Version="1640">
    <Folder Name="Volume Macro" Expanded="True">
        <Macro Name="On Volume Up Start" Expanded="True">
            <Event Name="Keyboard.F12" />
            <Action>
                EventGhost.PythonCommand(u'myLastVolumeEvent = eg.event')
            </Action>
            <Action>
                YamahaRX.Increase Volume('Active Zone', 0.5)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeUpRepeat', 0.5)
            </Action>
        </Macro>
        <Macro Name="On VolumeUp Repeat" Expanded="True">
            <Event Name="Main.VolumeUpRepeat" />
            <Action>
                EventGhost.PythonCommand(u'if myLastVolumeEvent.isEnded: eg.StopMacro()')
            </Action>
            <Action>
                YamahaRX.Smart Volume Up('Active Zone', 1.0, 2.0, 1.0)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeUpRepeat', 0.050000000000000003)
            </Action>
        </Macro>
        <Macro Name="On Volume Down Start" Expanded="True">
            <Event Name="Keyboard.F11" />
            <Action>
                EventGhost.PythonCommand(u'myLastVolumeEvent2 = eg.event')
            </Action>
            <Action>
                YamahaRX.Decrease Volume('Active Zone', 0.5)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeDownRepeat', 0.5)
            </Action>
        </Macro>
        <Macro Name="On Volume Down Repeat" Expanded="True">
            <Event Name="Main.VolumeDownRepeat" />
            <Action>
                EventGhost.PythonCommand(u'if myLastVolumeEvent2.isEnded: eg.StopMacro()')
            </Action>
            <Action>
                YamahaRX.Smart Volume Down('Active Zone', 2.0, 4.0, 1.0)
            </Action>
            <Action>
                EventGhost.NewJumpIf(XmlIdLink(675), 2, True)
            </Action>
            <Action>
                EventGhost.TriggerEvent(u'VolumeDownRepeat', 0.050000000000000003)
            </Action>
        </Macro>
        <Macro Name="Yamaha RX-V Network Receiver: Get Info: Power" id="675" Expanded="True">
            <Action>
                YamahaRX.Get Info('Volume Level', 'Main Zone')
            </Action>
            <Action>
                EventGhost.PythonScript(u'#print eg.result\n\n#print eg.result[1: 5]\n\neg.globals.volume = eg.result')
            </Action>
            <Action>
                EventGhost.ShowOSD(u'Volume: {eg.globals.volume}\n', u'0;-21;0;0;0;700;0;0;0;0;3;2;1;49;Lucida Console', (255, 255, 0), None, 6, (0, 10), 0, 3.0, True)
            </Action>
        </Macro>
    </Folder>
</EventGhost>
You need the plugin Keyboard for this to work. F12 turns volume up and F11 down.
Thanks. However I can't get it to work.

Here is my setup before the above:

https://dl.dropboxusercontent.com/u/19298307/egy.JPG
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

Re my above post, I get the following error:

Command did not go to Yamaha Receiver, error not possible to set on this model.
Dragon470
Experienced User
Posts: 205
Joined: Thu Feb 10, 2011 2:16 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by Dragon470 »

lja,

When your model came out Yamaha was still developing their YNC communication setup. There are a lot of actions that will not work, even some of the core functions.

I found a valid function tree for the v3900 and there are numerous differences. Even the reference location for the volume is different on your model.

While this is not good news now, I think I will make a general action that can send any ync string. With a copy of the function tree for your model you could then type in the commands that way. Would require you to do a lot more work, but any changes to the plugin would have to be very substantial to accommodate every little variation from their now standard. Updated action will come soon.
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

Dragon470 wrote:lja,

When your model came out Yamaha was still developing their YNC communication setup. There are a lot of actions that will not work, even some of the core functions.

I found a valid function tree for the v3900 and there are numerous differences. Even the reference location for the volume is different on your model.

While this is not good news now, I think I will make a general action that can send any ync string. With a copy of the function tree for your model you could then type in the commands that way. Would require you to do a lot more work, but any changes to the plugin would have to be very substantial to accommodate every little variation from their now standard. Updated action will come soon.
Thanks Dragon470. Appreciated.
Dragon470
Experienced User
Posts: 205
Joined: Thu Feb 10, 2011 2:16 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by Dragon470 »

Updated GitHub.
The SendAnyCommand is what I created. This will allow people to use the xls function tree documents that Yamaha puts out for most models. Below are two that I have.
Attachments
V671_3071_FuncTree_1.10.xls.zip
(551.85 KiB) Downloaded 172 times
RX-V3900_Z7_Function_Tree_1.01.xls.zip
(370.57 KiB) Downloaded 167 times
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

Dragon470 wrote:Updated GitHub.
The SendAnyCommand is what I created. This will allow people to use the xls function tree documents that Yamaha puts out for most models. Below are two that I have.
Thanks for your speedy response.Should I place the xls file in the plugin folder? You had indicated that I would have to do some work. Is there any additional action I should take after placing the update in the plugin folder?
Dragon470
Experienced User
Posts: 205
Joined: Thu Feb 10, 2011 2:16 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by Dragon470 »

You have to use the xls file to see the structure of your receiver (as a reference). It doesn't have to be in the plugin folder.

On the function Tree worksheet you can select either the put or get command. Then select the item in the tree itself. Click on the ether button. Then in notepad or some other text editor you can past the xml string that is needed for the command. I also below is the document that I got from Yamaha for further explanation.


In the plugin action you do not need all what it puts out.

Ex.
<?xml version="1.0" encoding="utf-8"?> Don't need
<YAMAHA_AV cmd="GET"> Don't need
<System><Power_Control><Power>GetParam</Power></Power_Control></System> Yes, need
</YAMAHA_AV> Don't need
Attachments
How_to_get_actual_YNC_commands.zip
(429.77 KiB) Downloaded 172 times
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

Dragon470 wrote:You have to use the xls file to see the structure of your receiver (as a reference). It doesn't have to be in the plugin folder.

On the function Tree worksheet you can select either the put or get command. Then select the item in the tree itself. Click on the ether button. Then in notepad or some other text editor you can past the xml string that is needed for the command. I also below is the document that I got from Yamaha for further explanation.


In the plugin action you do not need all what it puts out.

Ex.
<?xml version="1.0" encoding="utf-8"?> Don't need
<YAMAHA_AV cmd="GET"> Don't need
<System><Power_Control><Power>GetParam</Power></Power_Control></System> Yes, need
</YAMAHA_AV> Don't need
Thanks. However, I must be doing something wrong as when I click on ether, there is nothing going to the clipboard. I am trying to get the volume working i.e increase and decrease.

https://dl.dropboxusercontent.com/u/19298307/tree.JPG

Any help? Thanks.
Illuminator
Posts: 2
Joined: Mon Dec 24, 2012 11:44 pm

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by Illuminator »

Maybe you could try the serial connection to your AVR using this plugin:
viewtopic.php?t=123

Works fine here with a RX-V1600.
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

Illuminator wrote:Maybe you could try the serial connection to your AVR using this plugin:
viewtopic.php?t=123

Works fine here with a RX-V1600.
Thanks @Illuminator. Will try if I can't get the present approach to work. In the interim, what additional would I need to be able to use the serial connection?
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

@Dragon470 Any help please with your approach?
Dragon470
Experienced User
Posts: 205
Joined: Thu Feb 10, 2011 2:16 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by Dragon470 »

I will give you an example:

A sample put for volume up (same as pushing the up on the remote)
1. As you look at the xls function tree On yours the 1st column it is Main_Zone. this means your string goes like this <Main_Zone></Main_Zone>
2. 2nd column is Vol -> <Main_Zone><Vol></Vol></Main_Zone>
3. 3rd column is Up_Down -> <Main_Zone><Vol><Up_Down></Up_Down></Vol></Main_Zone>
4. Since there are no other columns this means you are at the value. In the value column you can see the options "Down" or "Up"

This makes your final command to be <Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone>

This can be copied in to the send any command action with using the put option.

For a sample get:

A sample get current volume level:
1. follow the same method to get all the columns. This will result in <Main_Zone><Basic_Status><Vol><Lvl><Val></Val></Lvl></Vol></Basic_Status></Main_Zone>

2. The last thing to do is add "GetParam"

This makes your final command to be <Main_Zone><Basic_Status><Vol><Lvl><Val>GetParam</Val></Lvl></Vol></Basic_Status></Main_Zone>

This can be copied in to the send any command action with using the pet option.
lja
Posts: 16
Joined: Tue Jun 17, 2014 4:23 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by lja »

Dragon470 wrote:I will give you an example:

A sample put for volume up (same as pushing the up on the remote)
1. As you look at the xls function tree On yours the 1st column it is Main_Zone. this means your string goes like this <Main_Zone></Main_Zone>
2. 2nd column is Vol -> <Main_Zone><Vol></Vol></Main_Zone>
3. 3rd column is Up_Down -> <Main_Zone><Vol><Up_Down></Up_Down></Vol></Main_Zone>
4. Since there are no other columns this means you are at the value. In the value column you can see the options "Down" or "Up"

This makes your final command to be <Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone>

This can be copied in to the send any command action with using the put option.

For a sample get:

A sample get current volume level:
1. follow the same method to get all the columns. This will result in <Main_Zone><Basic_Status><Vol><Lvl><Val></Val></Lvl></Vol></Basic_Status></Main_Zone>

2. The last thing to do is add "GetParam"

This makes your final command to be <Main_Zone><Basic_Status><Vol><Lvl><Val>GetParam</Val></Lvl></Vol></Basic_Status></Main_Zone>

This can be copied in to the send any command action with using the pet option.
Thanks @dragon470.
Have copied <Main_Zone><Basic_Status><Vol><Lvl><Val></Val></Lvl></Vol></Basic_Status></Main_Zone> into Send any command action in EG
Click on Test and action shows in history. Moved action to macro. However when action is executed volume does not change. Sorry but can you help me further. Thanks.
Dragon470
Experienced User
Posts: 205
Joined: Thu Feb 10, 2011 2:16 am

Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!

Post by Dragon470 »

The one under the Basic_Status is only to GET the volume level.

The first example: <Main_Zone><Vol><Up_Down>Up</Up_Down></Vol></Main_Zone>
will increase the volume.

If you have a need to set the volume at a specific volume it is a bit different but you can use this:

<Main_Zone><Vol><Lvl><Val>***</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Vol></Main_Zone>

the *** is in the range of -805 to 165

The volume like this is the only one that requires a multi field PUT command.
Post Reply