Anyone have Home Theater Direct MCA-66?


(Steve S) #1

As my holiday vacation project I’m working on a controller for the HTD MCA-66 whole-home audio system and I was wondering if there was any interest in this from anyone else here. I was inspired by @redloro’s Russound Controller but as I know nothing about javascript or node.js, I’m writing my backend in python and using web.py as the framework.

It uses a raspberry pi with a usb serial adapter (although any computer with serial port and python would work).


#2

Nice… just fyi @tcjennings also built a plugin for the SmartThings Node Proxy for the Monoprice MPR-SG6Z… similar 6 zone controller to the Russound and this one. Source for both plugins is in github if it helps. And feel free to reach out if you have any questions!


(Steve S) #3

I’m pretty much done, the thing was, I don’t know javascript at all… but I do know python. So it was pretty straightforward to write a python script for communicating through the serial port to the MCA-66 and then I used the web.py framwork to have a little webserver listening on the pi that uses the script I wrote to talk to the MCA-66.

However because I was working with an API I wrote myself, I had to pretty much build up my controller and child device types from scratch and looked at your code for inspiration/example

I stole some of your icons :smile: I hope you don’t mind.

The only thing remaining is a little code cleanup as I got smarter as I went along. Once I do that, I’ll post it here to hopefully help others.

Here’s a preview:


(Nathan) #4

Hi, can you share any more final results of your project? Are you going to open source it? Thanks.


(Derek) #5

Hey Steve, is there any chance you could share this?


(Steve S) #6

Ok sorry for the slow reply. I didn’t pretty this up so much…

I have an USB Serial adapter plugged into a Raspberry Pi. Then I have a serial cable attached from the adapter to the serial connector on the back of the MCA-66. Then on the raspberry pi, I use the code from my github repository:

That sets up a web server that implements a REST API that I then talk to from SmartThings.

Put the following in “My Device Handlers” - Just have it in your Device Handlers list and the SmartApp will install one instance of this per “zone” you don’t install this yourself.

Then finally put this smartapp in “My Smart Apps” and then install the smart app in your phone.

In the app, you enter the IP address of the Pi and the port on which the web server is listening. Upon installation, it will get the zone and source names from the controller on the Pi and then install a “Zone” device for each zone.

The zone device responds to switch capability, but I didn’t try to implement any official “media” commands… i implemented my own.

This was my Christmas vacation from work project, so I only had about a 10 days to work on this on-and-off. It works well for me, but I never meant it to be anything other than for my own person use :slight_smile: