I was able to create scenes to control my Monoprice 6 Zone Controller from Vera using an Itach Flex with Serial cable and a little bit of LUA code.
I have found it to be very reliable and relatively easy to manage, I may eventually create some Multiswitch or a plug in to be more interactive but for now, atleast being able to turn on and off zone, change the input channel, with no feedback has been more than sufficient for my needs.
Here is my setup:
I have two Monoprice 6 Zone Controllers (one is a slave to the other). I have 10 zones in my house, my house is old school whole house audio, so only has only speaker wire and manual volumn dials pre-wired, there was no CAT 5 to the zones, so I don’t use the keypads (except for one that is in the room that houses the Zone Controller and is a zone room). I have velco command strips and attached a minimote next to the manual volume dial in most of the rooms so that you can turn on the speakers and change the input easily.
Next I have a Itach Flex and Serial cable and configured the Itach Flex as follows (you can also use a IP2SL or WF2SL if you have one):
Make sure to set the baud rate to 9600 on the Itach, leave all other setting to their default.
They I setup a bunch of scenes to turn on and off various speakers and set different inputs using some LUA code. Note that you do not need the ITACH plug in to do any of this, I don’t think it even works with RS232 commands so don’t worry about it. Also, make sure to reserve the IP address of your ITach on your router so that it always has the same IP address.
Here are some samples of the LUA code you will need to send commands to your Monoprice via the Itach:
Note! It is very important to call the receive command after each send command or the Itach gets jammed up waiting for you to read the response from controller, even if you do nothing with the response (I don’t do anything with the responses in my samples).
You need to replace the IP address with the address of your Itach.
Turn on a zone 1 and 2 of Controller 1 (or Master):
local socket = require("socket")
host = "192.168.1.116"
c = assert(socket.connect(host, 4999))
c:settimeout(5)
local sres, serr = c:send("<11PR01\r")
local data, rerr = c:receive(8)
local sres, serr = c:send("<12PR01\r")
local data, rerr = c:receive(8)
c:close()
Turn off all zones of Controller 1 (or Master):
local socket = require("socket")
host = "192.168.1.116"
c = assert(socket.connect(host, 4999))
c:settimeout(5)
local sres, serr = c:send("<10PR00\r")
local data, rerr = c:receive(8)
c:close()
Turn on all zones 3 and 4 Controller 2 (Slave) and set to Input 3 :
Note: the zone must be On to change the Input, Change the Volumn etc
local socket = require("socket")
host = "192.168.1.116"
c = assert(socket.connect(host, 4999))
c:settimeout(5)
local sres, serr = c:send("<23PR01\r")
local data, rerr = c:receive(8)
local sres, serr = c:send("<24PR01\r")
local data, rerr = c:receive(8)
local sres, serr = c:send("<23CH03\r")
local data, rerr = c:receive(8)
local sres, serr = c:send("<24CH03\r")
local data, rerr = c:receive(8)
c:close()
More commands for changing the volumn etc, can be found in the last few pages of the Monoprice manual.
I plugged in and configured a few keypads at the control unit to help debug that I was doing everything right, as you can only tell that a zone is on or off by looking at the lights, the keypad will tell you volume, input channel, etc. There is also a very basic app from Tiny Starship that you can use to control the zones on your Iphone if you have a Itach installed. Note the app currently only support 6 zones but the author said he is adding support for additional slaves later.