Marantz/Denon Plugin Development

Questions and comments specific to a particular plugin should go here.
Nuts
Posts: 26
Joined: Tue Oct 07, 2008 11:32 am

Re: Marantz/Denon Plugin Development

Post by Nuts » Wed Feb 01, 2017 12:16 am

Hi,

I talked to Denon/Marantz a few years ago about their API and I got a very similar answer. :/
I decided not to do "reverse Engineering" for big companies but good luck to you. 8)

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Thu Feb 02, 2017 3:21 pm

I am diligent.. and so much to the point... if i get no where with this support thing.. I will locate the US CEO's e-mail and i will e-mail that person.. I am not typically very nice at that point. and it's more like they get blasted. I have had to do this in the past. and it does manage to get things moving or at the very least get me the information i am looking for.. because someone has to know about it. someone made it.. it's just their documentation is horrid. and people on the other end think they have position to make decisions that they shouldn't. I am sure that each and every single time i have had to do this someone has lost their job. but it is by rights because they aren't doing it the right way. in no way is the person that is making a means to make a product better any less then someone that works for that company.. the only difference is they aren't getting paid. but they should be given the respect and information they ask for. we will see how this all pans out. I am not expecting them to change the API but at the very least they need to make the API docs complete.
If you like the work I have been doing then feel free to Image

User avatar
yokel22
Experienced User
Posts: 265
Joined: Thu Feb 05, 2015 5:56 pm
Location: U.S. - Kansas city

Re: Marantz/Denon Plugin Development

Post by yokel22 » Thu Feb 02, 2017 8:02 pm

kgschlosser, i went ahead & finished the basic web ui. It's setup to have both a Working tree(if you have a Denon/Marantz AVR and the included DenonTCPIP plugin installed), or a Testing tree(If you don't have a Denon/Marantz AVR). So you can see how it functions & how info would need to be passed. I included a more recent Webserver plugin within the zip also, use this if you get any errors from the Webserver plugin that's currently installed in your EG.
Attachments
WS - Denon.zip
HTML & EG tree for Web UI
(2.55 MiB) Downloaded 167 times

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Fri Feb 03, 2017 7:04 am

ok will do... and BTW i am not sure if you looked at one of my earlier posts... but it seems as tho the AVR does in fact output things like.

which inputs are available and if they are enabled or not
user entered names for the inputs
the max volume it supports

all kinds of goodies.. I am trying to get all of the API from marantz/denon. we will see what happens
If you like the work I have been doing then feel free to Image

User avatar
yokel22
Experienced User
Posts: 265
Joined: Thu Feb 05, 2015 5:56 pm
Location: U.S. - Kansas city

Re: Marantz/Denon Plugin Development

Post by yokel22 » Fri Feb 03, 2017 3:33 pm

I saw you posted those commands. I tried some of them with the DenonTCPIP plugin, they didn't work for me though. How's the current version of this plugin going, is it in working order now?

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Fri Feb 03, 2017 4:29 pm

i believe it's running. tho not 100%. I am going to have to class out each specific action and response the reason for this is so that i can clean out the data cache for that action.. this is no real simple solution for this because of the API. and is going to take a while. If i could shanghai someone to help with it. and lay out a basic template and one person works from one end of the list and the other person works from the other end. But due to the complexities of this thing i do not want any voodoo code. it's going to be a real daunting task to locate bugs and fix them without breaking something else. so going the route of keying a class for each specific action is going to be the easiest to maintain and debug. I can group things together. because of the data storage i could say put all the channel volumes together. and have it look at the data storage and determine what commands need to be sent. basically anything that the user has changed. otherwise it will not send the command.
If you like the work I have been doing then feel free to Image

gorman
Posts: 15
Joined: Mon Jan 26, 2009 12:33 pm

Re: Marantz/Denon Plugin Development

Post by gorman » Fri Apr 06, 2018 4:41 pm

Any update on this? Any other TCP/IP Denon plugin available somewhere?

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Fri Apr 06, 2018 10:19 pm

for me to continue with making this plugin I am going to need someone to either let me remote into their computer to code the rest of the plugin or port forward the AVR through their router so i can attach to it. I have beaten Marantz support to death. Their API is a complete disaster and not all functions are documented. and neither is all of the responses from the AVR. so in order for me to be able to properly handle the data i need to see the data. and make changes. It is far easier and faster to do this if i have access to the device.
If you like the work I have been doing then feel free to Image

User avatar
yokel22
Experienced User
Posts: 265
Joined: Thu Feb 05, 2015 5:56 pm
Location: U.S. - Kansas city

Re: Marantz/Denon Plugin Development

Post by yokel22 » Tue Apr 17, 2018 2:39 pm

Just to further answer your question. There are three other plugins that will likely work for your avr. However, most of these plugins will lock up the avr from other connections. Meaning you won't be able to control your avr from an app or other means while the plugin is active.
This thread was started to overcome this problem.

viewtopic.php?f=9&t=7456

viewtopic.php?f=9&t=5498

viewtopic.php?f=9&t=7464

kkl
Experienced User
Posts: 317
Joined: Wed May 04, 2011 9:32 pm

Re: Marantz/Denon Plugin Development

Post by kkl » Sun Jan 12, 2020 10:35 pm

kgschlosser wrote:
Fri Apr 06, 2018 10:19 pm
for me to continue with making this plugin I am going to need someone to either let me remote into their computer to code the rest of the plugin or port forward the AVR through their router so i can attach to it.
I've been away from the forum for quite a while, but if you're still willing, I'll port forward you into my two receivers, a X4400H and a X3200W. As I recall, one of the more impressive things you did with the plugin was creating multiple modes of connection, TCP/IP and Serial (was there another?). If you just created a stand alone plug-in for that function it would be great as EG's original serial plug-in was never very good.

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Mon Jan 13, 2020 7:48 am

what I did for this in terms of the connections was I created a kind of a pass through.. The issue with Denon/Marantz network control is that only a single device can be connected at a time. So if you had say an app on your phone you wanted to use to control the thing. if EG was connected to it.. you would not be able to use the app on the phone.

So what I did was I have the plugin connect to the AVR.. and do the things a plugin normally does receiving information parsing it and producing events if needed. and also sending commands to the AVR.. The lightbulb went on. why can't we have the application connect to the PC running EG instead of the the AVR. The plugin will pass the information over to the AVR and vice versa.
so when a connection is made from another application to your PC to control the AVR a new thread gets made. that threads sole purpose is to read data coming from the application and places that information in a send queue for the AVR. another thread reads that queue and sends the data to the AVR. there is a 3rd thread that reads the data from the AVR. it passes that data to the plugin then it will send the data to the application via that conenction to the PC.. the application has not a clue this is taking place.

It's actually a fairly complex process using queues thread locks and code that stalls a thread without sleeping or endlessly looping causing high CPU use. this is done so the application and the plugin are not able to write the data to the AVR at the same time if that occurred I am sure some ugly things could happen.

The largest problem is their API. It SUCKS!. there is no consistency with it. You can actually tell when responsibility for adding to it was given to a new person in the company. The other problem is I do not even think that Denon\Marantz knows all of the commands across all of the models and then across all of the firmware versions for each model. There is no single document that contains this information. There are things the AVR spits out that I am not able to locate anywhere in the API for any of the devices they have. and the company is horribly disorganized it took me almost a month to actually get to someone that knew what I was asking for when I asked for the IP API documentation. and that person was not able to provide me with all of the API information.. The WebUI that is on these things does not utilize the full API either so no love can be found in the source code for the WebUI.

If I remember correctly where I left off was writing the 1000 actions. this is because of the command variations. Here is an example...

You have commands for Zone1. Zone1 is the Master Zone. Zone2, Zone3, Zone4 have commands for them to set the volume. Zone1 does not. Zone 1 you have to use a separate volume command. and if memory servs the response gotten from setting the master volume is not the same when you set the volume for a zone..It's bat shit crazy. I think they use completely different measurements scales. one is db the other is % and the step rates are different. The AVR volume can be set in increments of 0.5 DB but the thing only reports back in 1db increments. so if you use the remote to up the volume a 1/2 a DB no event for the change can get generates because we simply do not know if the volume went up 0.5 or a whole db...

For my own home I was going to buy these Marantz components for my house
AV8001
MM7055
MM8077
MM7025 * 4

I started working on this plugin and said forget that.. if they can't get an API right what makes me think they are going to build the equipment correctly LOL. It was a shame too because I could have gotten a hell of a deal on the components at the time 50% or 60% off retail. I also realized that I do not have the room to fit a second rack next to my existing one. It was 1 inch to wide and I didn't want to have to go through the process of moving a wall and redoing my laundry room in order to make everything fit properly.. I may end up doing it anyway because my washer and dryer are to deep for the space they are in I need to move the wall back to make more room.

I did wire the house up with 4 conductor 14ga speaker wire to each room. 2 runs per room. This is the wire I used http://www.katerno.com/detail/s/291067/ ... NAQAvD_BwE

dirt cheap at 40 cents a foot. I got it less then that because someone ordered it at the microcenter near me and they never paid for it and never came and got it. I paid like 100 bucks for the 500 foot roll.
If you like the work I have been doing then feel free to Image

kkl
Experienced User
Posts: 317
Joined: Wed May 04, 2011 9:32 pm

Re: Marantz/Denon Plugin Development

Post by kkl » Mon Jan 13, 2020 8:57 pm

Since a plug-in becomes out of date as soon as Marantz/Denon releases a new model with new commands that didn't previously exist, why not make the plug-in barebones to just handle the communications and make the user responsible for looking up and entering the specific commands and parsing the return? I think I'd be happy with that.

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Tue Jan 14, 2020 12:04 am

It's not a new commands thing. It's a firmware thing. commands are tied to specific firmware versions for a given model. They cannot furnish me with a list of commands broken down by model/firmware. They can't even give me a complete list of all commands across all models. and then I would be able to handle the lack of a response or an error coming back from the AVR. It has been a few years. maybe I will be able to get a list now. I will try again.

in the meantime if you want you can help by downloading the command set for every single model that Denon and Marantz makes. then compile a complete list of all of the commands and also all of the possible responses. You can also compile a list of announcements made that are not invoked by the sending of a command.
If you like the work I have been doing then feel free to Image

kkl
Experienced User
Posts: 317
Joined: Wed May 04, 2011 9:32 pm

Re: Marantz/Denon Plugin Development

Post by kkl » Tue Jan 14, 2020 7:55 pm

Finding Denon or Marantz control protocol documents is completely hit and miss, mostly miss. The best and most recent that I've been able to find is "Denon AVR Control Protocol", ver. 01, 01-Dec-17, that includes the commands for the flagship model AVR-X8500H. I couldn't open the .xlsx file in Excel, so I opened it in sheets and converted it back to .xlsx and included both in the attached .zip. I'm pretty sure I don't understand the issue(s). The generic "Send Text Command" that you created seems to do the heavy lifting for my needs.
Attachments
DENON_AVC-X8500H_PROTOC.zip
(415.31 KiB) Downloaded 5 times

User avatar
kgschlosser
Site Admin
Posts: 5146
Joined: Fri Jun 05, 2015 5:43 am
Location: Rocky Mountains, Colorado USA

Re: Marantz/Denon Plugin Development

Post by kgschlosser » Tue Jan 14, 2020 10:24 pm

You see what I am talking about as far as the availability of API documentation. It really SUCKS!
You will find commands for the lower models that do no exist on the flagship. This is the things that is proving to be the hard part to tackle.


If I recall.
The Send Text Action is there so that if a commands is not added by using an action then a user would have the ability to enter it manually.

Ideally that should not be there and there should be an action for each command. this is so that any response from the AVR can be properly handled along with any possible errors that can occur.
If you like the work I have been doing then feel free to Image

Post Reply