Page 3 of 3

Re: Denon & Marantz Network Control Plugin

Posted: Thu Jan 19, 2017 12:58 pm
by kgschlosser
not better..

just a different way of going about it...

but I think you idea of doing the web UI would be an awesome addition as well... because I know the built in one is not up to snuff. (well so says the jibber jabber on the net)

I am still working on hammering down the best possible solution with the least amount of voodoo code but also not have to manually type every single thing in.. but I am thinking that is almost the way it is going to end up being because of their lousy API there is ny way to do any kind of matching because there are multiple things with the same command prefix that are unrelated. and Z2CV for zone 2 channel volume and just plain ol CV for main zone channel volume.. but then you have Z280 for the main volume for zone 2. and ZM80 for Zone Main volume

it's really stupid.

and the zones have no input designation. like the main zone does.

the only way to go about doing this i think is going to take a long ass time and a lot of typing to make a complete command/event/description/class/container dictionary

it's either that and keep the code simple to understand and read.. or code out a way to work through all that API crap (which would lend it's self to a real hard time debugging it). but also if things are added to the API it adds to the disaster. where as if i type out the 5000 + lines for the dictionary adding things would be far easier later...

Re: Denon & Marantz Network Control Plugin

Posted: Thu Jan 19, 2017 1:00 pm
by kgschlosser
the other thing is... if i had one of these bad larries to work with it would make development far faster. so if anyone wants to ship me one.... i am all for it. It has be be of higher quality then my Harman Kardon AVR-745 :-D

Re: Denon & Marantz Network Control Plugin

Posted: Thu Jan 19, 2017 11:25 pm
by kkl
No log file in the ProgramData folder. Didn't change default of Debug = TRUE in the __init__.py file.
Capture.PNG
Still had issue with socket connection after disabling plug-in, closing EG, restarting, then enabling plug-in. Was able to connect after 3 disable/enable cycles:

Code: Select all

16:08:46   Marantz Echo Server Started
16:08:47   Marantz AVR connection error
16:08:47   Traceback (most recent call last):
16:08:47     File "C:\ProgramData\EventGhost\plugins\MarantzAVR\telnetclient.py", line 41, in run
16:08:47       sock.connect((self.host, self.port))
16:08:47     File "<string>", line 1, in connect
16:08:47   error: [Errno 10061] No connection could be made because the target machine actively refused it
16:08:56   Marantz Echo Server Stopped
16:09:04   Marantz Echo Server Started
16:09:05   Marantz AVR connection error
16:09:05   Traceback (most recent call last):
16:09:05     File "C:\ProgramData\EventGhost\plugins\MarantzAVR\telnetclient.py", line 41, in run
16:09:05       sock.connect((self.host, self.port))
16:09:05     File "<string>", line 1, in connect
16:09:05   error: [Errno 10061] No connection could be made because the target machine actively refused it
16:09:14   Marantz Echo Server Stopped
16:09:21   Marantz Echo Server Started
16:09:21   Marantz AVR connected
Same issues, but this may not help without the log file. This shows commands immediately after plug-in enabled:

Code: Select all

16:10:10   Marantz AVR Serial/TCP/Forwarding: Master Power Status
16:10:10   MarantzTCPPlugin.Master.Power.On
16:10:11   MarantzTCPPlugin.Zone2.Power.On
16:10:19   Marantz AVR Serial/TCP/Forwarding: Main Zone Source BluRay
16:10:27   Marantz AVR Serial/TCP/Forwarding: Main Zone Source CD
16:10:28   System.DeviceRemoved [u'\\\\?\\DISPLAY#DON0047#5&1953f089&0&UID265#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}']
16:10:28   MarantzTCPPlugin.MainZone.SourceInput.CD
16:10:28   MarantzTCPPlugin.MainZone.ChannelVolume.FrontLeft.50 [50]
16:10:28   MarantzTCPPlugin.MainZone.ChannelVolume.FrontRight.50 [50]
16:10:28   Marantz: Unknown message, 'CVEND'
16:10:29   Marantz: Unknown message, 'MVMAX 98'
16:10:29   System.DeviceAttached [u'\\\\?\\DISPLAY#DON0047#5&1953f089&0&UID265#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}']
16:10:43   Marantz AVR Serial/TCP/Forwarding: Main Zone Source Status
16:10:43   MarantzTCPPlugin.MainZone.SurroundMode.Stereo
16:10:43   MarantzTCPPlugin.MainZone.AudioInput.No
16:10:56   Marantz AVR Serial/TCP/Forwarding: Master Power Status
16:10:57   MarantzTCPPlugin.MainZone.DigitalAudioInputMode.Auto
16:10:57   MarantzTCPPlugin.MainZone.OtherSettings.MultiEQ.Audyssey
16:10:59   Marantz AVR Serial/TCP/Forwarding: Master Power Status
16:10:59   MarantzTCPPlugin.MainZone.OtherSettings.DynamicEQ.Off
16:10:59   MarantzTCPPlugin.MainZone.OtherSettings.DynamicVolume.Off
16:11:01   Marantz AVR Serial/TCP/Forwarding: Master Power Status
16:11:01   MarantzTCPPlugin.MainZone.OtherSettings.DynamicCompression.Off
16:11:01   MarantzTCPPlugin.MainZone.OtherSettings.LFE.00 [0]
16:11:03   Marantz AVR Serial/TCP/Forwarding: Master Power Status
16:11:03   MarantzTCPPlugin.MainZone.OtherSettings.Bass.50 [50]
16:11:03   MarantzTCPPlugin.MainZone.OtherSettings.Treble.50 [50]
Power status: worked.
Change main source to Blu-ray: no response
Change main source to CD: OK, with some extra responses
Several more Power Status commands: responses don't match

Sorry you're having to spend so much time on this.

Re: Denon & Marantz Network Control Plugin

Posted: Fri Jan 20, 2017 3:01 am
by kgschlosser
in the appdata folder

not the programdata

c:\users\YOUR_WINDOWS_USER_NAME\appdata\roaming\eventghost

i did say appdata right??

well if i made a boo boo sorry about that my bad.. i meant to say appdata

send that file and it will reveal all to me... LOL

Re: Denon & Marantz Network Control Plugin

Posted: Fri Jan 20, 2017 3:13 am
by kgschlosser
ok the socket is not getting stuck anymore...

it's taking forever for the AVR to open the port to another connection. I do not know if this is normal behavior for the AVR . I will see if i can find some information about it


but i did find this. which will give you a better understanding of why you think you are receiving random events that have nothing to do with the command you sent. when in fact they really do. and is normal

this is just an example that has been given with the protocol. it does not tell you what events get shown for what

Since CHANNEL VOLUME changes simultaneously when the input source changes, the value of the channel volume of used channels returns as EVENT.
Since SURROUND MODE or CHANNEL VOLUME changes simultaneously when the INPUT source changes, the SURROUND MODE or CHANNEL VOLUME returns as EVENT.
When SURROUND MODE or CHANNEL VOLUME is the same in between INPUT source change before and after, EVENT of SURROUND MODE and CHANNEL VOLUME does NOT return.
Although EVENT of SURROUND MODE returns when the present SURROUND MODE is set up again, CHANNEL VOLUME does NOT return.
When SURROUND MODE is changed, before returning SURROUND MODE after change as EVENT, the present SURROUND MODE is returned.

Re: Denon & Marantz Network Control Plugin

Posted: Fri Jan 20, 2017 3:54 am
by yokel22
but I think you idea of doing the web UI would be an awesome addition as well... because I know the built in one is not up to snuff. (well so says the jibber jabber on the net)
It's pretty much raw jquery styling, they threw some icons on top of it. Looks like most router settings pages. Here's a couple of screenshots of it.

Okay, so i've been thinking about this periodically throughout the day. If were gonna go through the trouble of hacking up the excellent webserver plugin. Why don't we just make this universal, so any plugin can tie into it. A small amount of code could be added to any plugin to make it comm with the web-ui plugin. 'Cause i'm pretty much doing the same thing with the AxialControl plugin and a few others i have in the works.

I took a look at the webserver plugin. I certainly don't understand all of the code in there, but i have a basic idea of what's needed. I'll likely need a bit of help with some of that. I'm posting the code bellow to try and explain better how the javascript is going to comm directly with the webserver plugin and the marantz/denon plugin(& it's just good info that doesn't appear often on the forums). At the top of the webserver plugin you'll see a list of methods that can be used.

Code: Select all

METHODS = (
    "SetValue",
    "SetPersistentValue",
    "ExecuteScript",
    "TriggerEvent",

    "GetGlobalValue",   
    "GetValue",   
    "GetPersistentValue",   
    "GetAllValues",

    "GetChangedValues",
    "TriggerEnduringEvent",
    "RepeatEnduringEvent",
    "EndLastEvent",
    "Ping"
)
The one's we would need "SetValue", "ExecuteScript", "TriggerEvent", "Ping", "GetValue". I'm not even sure SetValue & GetValue will be need or not. But these are basic ajax post examples of how the methods are called via javascript.

ExecuteScript(Uses the python expression to execute the plugins action, this method with generate nothing in the log window when run) :

Code: Select all

$("#testsend1").on('click', function () {
		$.ajax({
            type: 'POST',
            cache: false,
            url: "",
            data: JSON.stringify({"args": ["eg.plugins.MarantzTCPPlugin.SetVolumeAbsolute(80)"], "method" :"ExecuteScript"}),
            dataType: 'JSON',
            contentType: "application/json;charset=utf-8",
       	});
	});
2nd ExecuteScript(with a return value success function, it alerts the returned value):

Code: Select all

$("#testsend2").on('click', function () {
		$.ajax({
            type: 'POST',
            cache: false,
            url: "",
            data: JSON.stringify({"args": ["eg.plugins.DenonTCPIP.GetMainZoneVolume()"], "method" :"ExecuteScript"}),
            dataType: 'JSON',
            contentType: "application/json;charset=utf-8",
            success: function (jsonData, textStatus) {
                alert(jsonData);  
            },
       	});
	});
TriggerEvent:

Code: Select all

$("#testsend3").on('click', function () {
		$.ajax({
             type: 'POST',
             url: "",
             dataType: 'JSON',
             contentType: "application/json;charset=utf-8",
             data: JSON.stringify({'args':["suffix", "payload"],'kwargs':{'prefix':"prefix"},'method' :'TriggerEvent'}),
			 cache: false,
       	});
	});
Sorry Nuts if we hijacked the thread a bit.

Re: Denon & Marantz Network Control Plugin

Posted: Fri Jan 20, 2017 4:16 am
by kgschlosser
ok I am going to make a new thread.. this it just to much because now it seems as tho they crossed.... LOL


sorry nutz.. we will move elsewhere.