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.
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!
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Great, thanks!
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
I have been looking and have discovered answers on both for the scene information and digital audio signal input.
For the scene information I never did implement any code for it. I found my old notes on why I didn't finish, and it is because the scene presets are just a set of variables that are to be changed when you select it. It does not even keep knowledge that a scene was selected. Each scene holds data on numerous items. If you wanted to keep track of them it would be monumental.
For the digital audio signal, I found no data slot in the YNC protocol that stores this data. I guess the display on the receiver gets it direct from a chip inside the device. At least this is the case for my RX-V775. I did check on the receiver's local http server and noticed it did not display anything like it either.
On the bright side I might take some time and implement the save, load and retrieval of the scene information now that it has been brought back to my attention.
For the scene information I never did implement any code for it. I found my old notes on why I didn't finish, and it is because the scene presets are just a set of variables that are to be changed when you select it. It does not even keep knowledge that a scene was selected. Each scene holds data on numerous items. If you wanted to keep track of them it would be monumental.
For the digital audio signal, I found no data slot in the YNC protocol that stores this data. I guess the display on the receiver gets it direct from a chip inside the device. At least this is the case for my RX-V775. I did check on the receiver's local http server and noticed it did not display anything like it either.
On the bright side I might take some time and implement the save, load and retrieval of the scene information now that it has been brought back to my attention.
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Hmm... OK, the format may not be possible to find. I have asked in the AVS Forum if anybody knows if that's possible to find anywhere, no answer so far. And the scene stuff sounds complicated. I see that not even the app retains memory of what scene's used. OK, workaround: Is it possible to check for what setting pattern (speaker setup) that's chosen, 1 or 2? Because all my scenes that uses Atmos (which is what I want to check for if it's not possible to find the format automatically) are using setting pattern 2, while the rest of the scenes are using setting pattern 1. From my setup it seems like the synthax is Pattern_Sel. That gives me a bunch of errors, but I'm guessing that's because you haven't implemented it. 
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
I have a problem checking for source. I get errors in the logger so something's wrong with the code, probably the name. This is the threaded script I got a "bit" of help with:
It checks the other stuff fine, but the Source (which I have tried calling source, SourceInput and so on) does not work. Can you please tell me what's wrong with that? Here's the errors I get:
Code: Select all
print(u'Starter Yamaha-script for sjekking av str├©m og demp')
import threading
import time
def worker(element, zone, kill=False):
#setup PreviousVar with actual data from receiver
PreviousVar = Yamahavariable = eg.plugins.YamahaRX.GetInfo(element, zone)
while True:
TempVar = Yamahavariable = eg.plugins.YamahaRX.GetInfo(element, zone)
if TempVar != PreviousVar:
eg.TriggerEvent(zone + " - " + element, TempVar, "YamahaRX")
PreviousVar = TempVar
time.sleep(3) #time in seconds
if kill():
break
print "Exiting " + zone + " - " + element
eg.globals.Yamaha_Stop_Threads = False
eg.globals.YamahaThreads = [] #stores all the thread info for later managment
objects = []
objects.append(["Power","Main Zone"])
objects.append(["Mute","Main Zone"])
objects.append(["Source","Main Zone"])
objects.append(["Power","Zone 2"])
objects.append(["Mute","Zone 2"])
for i in objects:
t = threading.Thread(target=worker, args=(i[0],i[1], lambda: eg.globals.Yamaha_Stop_Threads))
eg.globals.YamahaThreads.append(t)
t.start()
Code: Select all
11:52:09 Exception in thread Thread-21459:
11:52:09 Traceback (most recent call last):
11:52:09 File "threading.pyc", line 532, in __bootstrap_inner
11:52:09 File "threading.pyc", line 484, in run
11:52:09 File "157", line 132, in worker
11:52:09 File "C:\Program Files (x86)\EventGhost\plugins\yamaha-network-receivers-master\client.py", line 558, in __call__
11:52:09 return get_status_string(self.plugin, object,zone)
11:52:09 File "C:\Program Files (x86)\EventGhost\plugins\yamaha-network-receivers-master\yamaha_xml.py", line 135, in get_status_string
11:52:09 value = xmldoc.getElementsByTagName(param)[0].firstChild.data
11:52:09 IndexError: list index out of range
11:52:09
11:52:09 Exception in thread Thread-21457:
11:52:09 Traceback (most recent call last):
11:52:09 File "threading.pyc", line 532, in __bootstrap_inner
11:52:09 File "threading.pyc", line 484, in run
11:52:09 File "157", line 138, in worker
11:52:09 AttributeError: 'NoneType' object has no attribute 'sleep'
11:52:09
11:52:09 Exception in thread Thread-21460:
11:52:09 Traceback (most recent call last):
11:52:09 File "threading.pyc", line 532, in __bootstrap_inner
11:52:09 File "threading.pyc", line 484, in run
11:52:09 File "157", line 138, in worker
11:52:09 Exception in thread Thread-21461:
11:52:09 AttributeError: 'NoneType' object has no attribute 'sleep'
11:52:09 Traceback (most recent call last):
11:52:09 File "threading.pyc", line 532, in __bootstrap_inner
11:52:09
11:52:09 File "threading.pyc", line 484, in run
11:52:09 File "157", line 138, in worker
11:52:09 AttributeError: 'NoneType' object has no attribute 'sleep'
11:52:09
11:52:10 Exception in thread Thread-21375:
11:52:10 Traceback (most recent call last):
11:52:10 File "threading.pyc", line 532, in __bootstrap_inner
11:52:10 File "threading.pyc", line 484, in run
11:52:10 File "156", line 143, in worker
11:52:10 AttributeError: 'NoneType' object has no attribute 'sleep'
11:52:10
11:52:10 Exception in thread Thread-21379:
11:52:10 Traceback (most recent call last):
11:52:10 File "threading.pyc", line 532, in __bootstrap_inner
11:52:10 File "threading.pyc", line 484, in run
11:52:10 File "156", line 143, in worker
11:52:10 AttributeError: 'NoneType' object has no attribute 'sleep'
11:52:10
11:52:10 Exception in thread Thread-21373:
11:52:10 Traceback (most recent call last):
11:52:10 File "threading.pyc", line 532, in __bootstrap_inner
11:52:10 File "threading.pyc", line 484, in run
11:52:10 File "156", line 143, in worker
11:52:10 AttributeError: 'NoneType' object has no attribute 'sleep'
11:52:10 Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Code: Select all
objects.append(["Input Selection", "Main Zone"])For figuring out any others you can make a new macro of the "Get Info"
Then afterwords right click and do copy as python.
In any text editor or script paste it.
Example:
eg.plugins.YamahaRX.GetInfo('Input Selection', 'Main Zone')
Within it you can see what you need.
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Thanks a lot!
Btw did you have a chance to look at if you could add (if it's not there) checking for what speaker setup, 1 or 2, that's in use at any given time?
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
I see from the Get Info-thing that there is no mentioning of Speaker setup, all though scene is there. But from what you said I can probably not check reliably for that, right?
-
YetAnotherPhil
- Posts: 1
- Joined: Sat Mar 24, 2018 2:21 pm
RX-V481 family - Toggle Display
I like to play music through the Server with video out set to my HTPC.
The problem is the receiver defaults to showing the Server display on the TV & there's no way to change the default. So you've got to pick up the remote or press lots of buttons on the AV Controller app to dismiss it before you can see what your doing
For RX-V481 family of receivers, this will toggle the display on & off:
So use the Send Any Command with
Hope this helps someone else
Phil
The problem is the receiver defaults to showing the Server display on the TV & there's no way to change the default. So you've got to pick up the remote or press lots of buttons on the AV Controller app to dismiss it before you can see what your doing
For RX-V481 family of receivers, this will toggle the display on & off:
Code: Select all
<YAMAHA_AV cmd="PUT"><Main_Zone><Cursor_Control><Menu_Control>Display</Menu_Control></Cursor_Control></Main_Zone></YAMAHA_AV
Code: Select all
<Main_Zone><Cursor_Control><Menu_Control>Display</Menu_Control></Cursor_Control></Main_Zone>Phil
-
therealbiglou
- Experienced User
- Posts: 126
- Joined: Sat May 19, 2012 4:33 am
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Could someone help me come up with a way to check what input my receiver is in and do something based on each input?
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Looks like that should be possible.
I'm not familiar with the plugin, however, I can see there is a relevant command in the Yamaha Network API
//Get Info
yamaha.getBasicInfo(zone).done(function(basicInfo){
basicInfo.getCurrentInput();
}
I can do more digging into the plugin itself tomorrow if an answer isn't forthcoming.
I'm not familiar with the plugin, however, I can see there is a relevant command in the Yamaha Network API
//Get Info
yamaha.getBasicInfo(zone).done(function(basicInfo){
basicInfo.getCurrentInput();
}
I can do more digging into the plugin itself tomorrow if an answer isn't forthcoming.
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
The code if you used the macros would be:
if putting it in a script do something like:
Code: Select all
eg.plugins.YamahaRX.GetInfo('Input Selection', 'Main Zone')
eg.plugins.EventGhost.DumpResult()Code: Select all
VarInput = eg.plugins.YamahaRX.GetInfo('Input Selection', 'Main Zone')
if VarInput == "":
#do whatever
else:
#do this instead or nothing
-
therealbiglou
- Experienced User
- Posts: 126
- Joined: Sat May 19, 2012 4:33 am
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Thank you, that worked nicely!
-
therealbiglou
- Experienced User
- Posts: 126
- Joined: Sat May 19, 2012 4:33 am
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
I'm getting an error when I try to "Get Info" for the "Active Speakers" in the category of "System."
Here's what I receive:
Anyone know what could be causing this? Also, will this tell me if my Zone B speakers are on/off?
Here's what I receive:
Code: Select all
Yamaha RX-V Network Receiver: Get Info: Active Speakers
Error in Action: "Yamaha RX-V Network Receiver: Get Info: Active Speakers"
Traceback (most recent call last) (0.5.0-rc5):
File "C:\Program Files (x86)\EventGhost\eg\Classes\ActionBase.py", line 116, in CallWrapper
return self(*args)
File "C:\Program Files (x86)\EventGhost\plugins\yamaha-network-receivers-master\client.py", line 525, in __call__
return get_system_pattern_1(self.plugin, object)
File "C:\Program Files (x86)\EventGhost\plugins\yamaha-network-receivers-master\yamaha_xml.py", line 232, in get_system_pattern_1
value = xmldoc.getElementsByTagName("Type")[0].firstChild.data
IndexError: list index out of rangeRe: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
I am unsure at this time as to why you are getting the error.
As for checking if Zone B is ON, you should have a Zone B category and check the power info. If you don't have a Zone B or Zone 2 then the auto population of available functions of the receiver is not getting the information. This might also explain your actual error on "Active Speakers". If I have some time I will try to write up a script for you to do testing with.
As for checking if Zone B is ON, you should have a Zone B category and check the power info. If you don't have a Zone B or Zone 2 then the auto population of available functions of the receiver is not getting the information. This might also explain your actual error on "Active Speakers". If I have some time I will try to write up a script for you to do testing with.
-
therealbiglou
- Experienced User
- Posts: 126
- Joined: Sat May 19, 2012 4:33 am
Re: Yamaha RX-Vxxx (or similar) Ethernet Plugin!
Thanks, Dragon! Let me know if you need any more information.