It's funny how things turn out when you're a little determined.

Since I couldn't find any suitable driver, I worked on porting the python code that I had working over to a workable lua instance. At the moment it's a little broken, but I had the CRC method producing identical behaviour in both Python and Lua.  You can access it over on my github at  If you are going to fix it, please send me a pull request to get it back into my project.

I broke it during frustrations at the integration once I'd got the driver loaded into Control4. I need to work out how to both write to a serial device over the internal system (C4:SendToSerial(1,"msg") - not too difficult - but to then have the serial port locked so that I can wait to hear the response. Again, massive frustration since this is functionality that's no doubt present on the Extra Vegetables drivers, but to which I don't have access.

I'm not sure whether to go down an alternative route of writing a script to do the following:

1. Log into the tcp2serial web interface
2. Change the port number (which disconnects the control4 setup and allows me to connect my python script
3. Get the python script to connect and do it's business
4. Revert the changes in the tcp2serial device.
5. Carry on as normal.

There's a few 'open source' drivers around that'd turn it from being an internal C4 process into a network based and open setup - but I'm not sure if that defeats my end goal.