Page 6 of 15

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

Posted: Fri Sep 19, 2014 3:05 pm
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.

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

Posted: Fri Sep 19, 2014 6:51 pm
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

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

Posted: Sat Sep 20, 2014 1:55 am
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.

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

Posted: Sat Sep 20, 2014 12:53 pm
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.

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

Posted: Sat Sep 20, 2014 1:21 pm
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.

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

Posted: Sat Sep 20, 2014 10:21 pm
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.

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

Posted: Sat Sep 20, 2014 11:31 pm
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?

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

Posted: Sun Sep 21, 2014 1:55 am
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

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

Posted: Sun Sep 21, 2014 2:39 pm
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.

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

Posted: Wed Sep 24, 2014 8:47 am
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.

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

Posted: Thu Sep 25, 2014 3:17 am
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?

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

Posted: Thu Sep 25, 2014 3:20 am
by lja
@Dragon470 Any help please with your approach?

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

Posted: Thu Sep 25, 2014 12:11 pm
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.

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

Posted: Fri Sep 26, 2014 3:25 am
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.

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

Posted: Fri Sep 26, 2014 11:58 am
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.