This page last changed on Jan 24, 2015 by baloutre.

Hi everybody,

I've got some problems controlling my Marantz NR1602 receiver with OR, installed on my NAS, 2.1 version.
I use TCP/IP protocol on port 23, as there is no telnet on the designer.
Every single commande works fine, volume, source switching, tuner preset... But when i use macro for in example, switching to tuner, and chose a preset, the control get stuck!
I tried with a time delay of 1000ms between commands without success. I have to re-power the amp, or send an ir command via the remote control to "restore" the TCP control.
After few tests, i see that if i'm already in tuner mode, and press tuner again, it is stuck. Sensor are also buggy.
One thing i know about IP control of marantz receiver is that it allows only one connection at a time.

Any idea of what i could try?

I read some post on the forum about marantz control, OR pro version has integration of it, and i read that integration in the free version was in the pipeline, is it for soon?

Thanks for your help!

PS here are the terminal logs when i use my mac as controller (same problems)

ERROR HTTP\-Thread\-3: SocketCommand could not execute
java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:382)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431)
at java.net.Socket.connect(Socket.java:527)
at java.net.Socket.connect(Socket.java:476)
at java.net.Socket.<init>(Socket.java:373)
at java.net.Socket.<init>(Socket.java:187)
at org.openremote.controller.protocol.socket.TCPSocketCommand.requestSocket(TCPSocketCommand.java:162)
at org.openremote.controller.protocol.socket.TCPSocketCommand.send(TCPSocketCommand.java:156)
at org.openremote.controller.service.impl.ControlCommandServiceImpl.trigger(ControlCommandServiceImpl.java:95)
at org.openremote.controller.rest.ControlCommandRESTServlet.handleRequest(ControlCommandRESTServlet.java:77)
at org.openremote.controller.rest.RESTAPI.doPost(RESTAPI.java:159)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.openremote.controller.rest.support.json.JSONCallbackFilter.doFilter(JSONCallbackFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:78)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:354)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)

Other tests i made this evening; i used the DataViewer software provided by Extron to send command to the receiver, it is a visual interface with command and response windows, it allows to create shortcuts to send commands. When i send multiple commands as fast as i can, every command is executed with its appropriate response...

Posted by baloutre at Jan 20, 2015 20:07

The TCP command always creates a new socket which could be the problem. Although I am surprised that single commands work since the macro only executes single commands.

Posted by mredeker at Jan 24, 2015 17:00

Thanks Marcus for your reply!
More tests and i realize that it is not the macro that causes issue, it is only when i.e. i send the tuner input command, and i'm already in tuner input.
I use the macros to have TV and radio presets without need to manually choose the input source. So if i listen to radio preset 1 and want to listen preset 2, the macro sends tuner input then pst 2, but control is stuck before pst 2 because i'm already in tuner input.

With Extron DataViewer if i send the same commands X times it still works, but i think this software open the socket and maintain it since i disconnect.

Is it possible with OR to open a socket and maintain the connection? How do the marantz protocol works with the pro licence?

Posted by baloutre at Jan 24, 2015 21:19

The marantz protocol does use a single connection.
The current socket command does not support a single connection.
The code for the marantz is publicly available in the svn repo. I will check why this is not in free version.

Posted by mredeker at Jan 24, 2015 22:33

I think you can also use http-commands on port 80. You can easily compile long macros from them. I have tested these only with my denon, but denon and marantz should use same commands.

You could test with that example:

http://192.168.1.102/MainZone/index.put.asp?cmd0=PutZone_OnOff%2FON&cmd1=PutZone_InputFunction%2FCD&cmd2=PutMasterVolumeSet/-25.0

Posted by nokk3r1 at Jan 25, 2015 11:12

The marantz code will also be merged into the free version but I can't say when.
If you are familiar with java you could build a version yourself.

Posted by mredeker at Jan 26, 2015 21:08

Great it works!
HTTP protocol is hard to find as D&M doesn't communicate it, do you have other commands? Did you try feedbacks/sensors?

Thank you for this tip!

Posted by baloutre at Jan 29, 2015 20:36

I am working on the HTTP protocol for my Denon X3000. I have a document in my profile that is a work in progress. Also, see my post from earlier today, regarding sensors for Denon.

Posted by desertdog at Jan 29, 2015 21:02

You could try with ip address of the amp with your regular browser. Newer models serve also web page for controlling it. From there you can look commands from page source. If I remember correctly, I have collected all commands to one file, but as I'm not at home for weekend, I can't provide them before next week. Also Jack has provided great post about sensors with denon.

Posted by nokk3r1 at Jan 30, 2015 06:41

Jussi,

Could I trouble you for the http command just to turn the amplifier on? I've looked at the web client but can't figure out the correct http command.

Thanks in advance!

Posted by kannang at Jan 31, 2015 15:38

Thank you jack for this! I tried many things today, commands, sensors, it works fine!

I'll put a little contribution on the page because for tuner or web radio preset the URL is not the same! http://192.168.0.101/Tuner/TUNER/index.put.asp? cmd0=PutTunerPreset/A2 or http://192.168.0.101/NetAudio/index.put.asp? cmd0=PutNetAudioCommand/PresetCall02

I had to familiarize myself with Xpath expression, and wireshark, but thanks to google it's not so hard!

Thanks to all contributors off my post, hope it'll help others!!!!!!!!!

Oli

Posted by baloutre at Jan 31, 2015 21:48

Kannan G,
Click on my name (while logged in) and you will go to my homepage. I have a document called OpenRemote 2.0 How to - Denon Http control. I have a list of http commands that I have found around the web.

Posted by desertdog at Jan 31, 2015 22:07

Thanks Jack! That's exactly what I was looking for. On/Off commands work great on a Marantz NR1504.

Posted by kannan_g at Feb 01, 2015 01:51

I moved the page to OpenRemote 2.0 How To - Denon HTTP Control. Feel free to edit the page.

Posted by desertdog at Feb 01, 2015 06:55
Document generated by Confluence on Jun 05, 2016 09:37