MonoPrice 6 zone Whole home amp Driver

In my experience is better to hit my keyboard hard that wait for an official release of a particular device or function. I love hubitat but is too new to get everything, is also the underdog of the smart hubs doing stuff in a non traditional way that big corporations don't like, that attract a lot of smart people ready to put brain power to work, I'm glad Im here I put a lot of time to make things happen my way ST got me tie to wherever they want, here if is not done the way I want it I make it my way I want it that is good slogan for this hub, I enjoy all the time I put in to make a few driver for everyone to use. if you got some experience in groovy/java you could make it yourself no problem. I'm pretty sure if you open a thread with you code partially working people will jump in to use it and give feedback to make it better, I will help as much as I can I don't have that type of amp to test, but look like you say is very similar,
a things I notice it do not look like it have a poll command so if something change via smart app, keypad, another telnet client, the hubitat have no way to know unless the amp send update as soon it happen that is not the case of the monoprice amp.
The first step should be if you could talk to the amp with any telnet client like putty send a few commands and see what happen if you could get some type of response back try to send one of the hex command to control a zone I don't know if putty will send it as hex or I may try to change it to an stream.
if do not work use usr-tcp-test-testing-software https://www.usriot.com/support/downloads/usr-tcp-test-testing-software.html
it has an option to send it hex format
if all that work add the monoprice amp child and parent drivers add a parent device to your hub then go to the driver set the ip and port of the ip to serial adapter save the change,
open another tab with the logs
go back to the parent device and look for the function Send Msg type something there and see what happen on the log tab
if you can control the amp like that you only need to modify the sendMsg(String msg) on line 197-200 of the parent driver just make an override of what the child is sending ex. if msg = "<11pr01" then msg = \x02\x00\x01\x04\x20\x27
Let me know how it goes i will be happy to help

@mluck feliz navidad.
I finally got some time to put work on this I reproduce you bug the problem lays on the amp it won't actually change the volume on a mute zone I could by code force if zone is mute then unmute change the volume and mute again but that will flash whatever is playing on that input briefly. the other thing is it could unmute if mute and the volumen change

@joshrperson did you got something going on any micontroler Im thinking on retaking my old project of making a better keypad for the amp I got a arduino uno taking via telnet to the amp but I want something wifi espXXX.

feliz navidad mi amigo. Entiendo.

My suggestion is leave it alone. Don't change anything, but maybe add an explanation to the first post to make it clear that volume change doesn't work if zone is muted. Would've saved me hours of confusion! :slight_smile:

10-4

@martinez.mp3 Thank you for the comments and all the work you provide. My colleague found this driver, which was posted just yesterday and does exactly what I was looking to develop. I will move my discussion and comments over to that page. Thanks again!

[RELEASE] HTD MCA66 Multizone Amp - Developers - Hubitat

I couldn't get it to work so I set it aside for a bit. I have left it setup on a breadboard on my desk to taunt me.

I could get a pi with an usb/ftdi cable to work fine with the amp, but for some reason I can't get the esp to do so. If you have the arduino sketch that you got to work I would love to take a look.

I mostly just used the ESP WifiTelnetToSerial example in my code. From there I just kept modifying the code to try different things to get it to work and haven't got it going.

I am also using the ESP to do the TTS via a DAC and control a 12v relay to trigger the PA function on the amp. I will try some code with just the telnet/serial and drop all the TTS as that may be causing the issue.

For those that had/have problems getting the USR-TCP232-302 Serial to Ethernet converter (or similar) to communicate with the Monoprice 6-zone amp, I figured out that it will only work with a Null Modem cable, not a straight through serial cable. After a lot of frustration trying to get the amp to respond, I swapped cable types as a test. Afterwards, the TX and RX counters started to increment. Now, I am able to communicate with the amp from PuTTY and @martinez.mp3's awesome HE driver! I'm guessing that this is because the Serial to Ethernet adapter is a DTE device. Thanks a lot @martinez.mp3 for all of your hard work! I look forward to seeing future versions!

1 Like

If you still don't have the Serial to Ethernet adapter working with the Monoprice Amp, see my solution below.

1 Like

@martinez.mp3 I noticed that if the Serial to Ethernet adapter is power cycled, the amp does not automatically re-initiate a telnet connection to it, even though it has a polling interval set of 1 minute. To get the amp to reconnect, I have to click the Initialize button for the parent device. Is there a way to have the amp check the telnet connection and automatically attempt to reconnect?

Just wanted to check in to say I'm the owner of one of the rare 4 zone versions of this amp. Currently migrating from smartthings. Really looking forward to trying this out.

I think my current serial cable is a serial to USB - do I need to buy a serial to ethernet?

If you have a Raspberry PI and want to use the ser2net script you don’t
Best

Thanks. Sorry to be the new guy with the fairly basic questions, but looking back over the thread there seems to be a few different git repositories and a few versions of things. Is there a up to date, this is how you install and what you install to get this working guide? My long term goal is to have this run through hubitat and exposed through homebridge to homekit so that I could use the iOS home app to turn on and off zones and control volume and sources (with voice assistant support). First step though is getting my zone amp talking to a hub again, as the current set up with smarrtthings using the redloro nodeproxy is now kaput.

I'm currently not using Hubitat, I have a SmartThings hub and have used the Node-Proxy in the past to control my Monoprice amp. I have also used other application built on the Rasberry Pi. I just purchased the Global Cache Flex and I'm using the NT Mobile app to control my amps. I've been thinking about switching to Hubitat, I want to be able to use Voice Control with my Alexa to control my system. Does this provide that capability?

So it didn't take me long to see that I need to move to Hubitat, I just ordered my hub.

1 Like

You could control on/off I’m not sure how to do the volume but I’m pretty sure something could be work out

I found a link on here where someone was sending commands via Telnet, which should work I can do that with a script within a .bat file. Thanks

Sorry for the super long response (learning a new job) hopefully you figured all out I really don't have that much of time anymore
but basically is the same drivers on the hubitat side and to connect to the amp is to separate way
1 - Raspberry PI with an usb to seral adapter and ser2net https://www.jpaul.me/2019/01/how-to-build-a-raspberry-pi-serial-console-server-with-ser2net/
2- Serial to Ethernet TCP IP Device Server Converter
I will take a look to fix anything confusing documentation but you could ask here if you ran in some trouble

I was able to get this running, I had to change the " Child MonoPrice 6 Zone Amp Controller" code.

All the commands need to be UPPERCASE, So on line 234:

parent.sendMsg ("<${state.zone}pr01")
changed to:
parent.sendMsg ("<${state.zone}PR01")

When they were lowercase, the command wasn't accepted.

FYI, I am not running a RaspberryPi to connect using the iTach Flex, which maybe why I need to capitalize the commands.

Any thoughts on getting the volume control to work like a dimmer switch to be able to control the volume with voice commands? Has anyone been able to do this?
I appreciate all the work that has gone into this @martinez.mp3