Monday, November 18, 2019
I got Control4 in my new house. It's home automation stuff.
Almost everything in the house is on the control4 system. Lights, Curtains, Blinds, TV, Sound, Heating Cooling, Doorbells, Cameras.
Instead of light switches in your house you have Control4 keypads. Unlike regular light switches that are directly wired to the lights they control, these keypads are wireless and just talk to the Director.
This means that you can make any of the buttons do anything. Like turn the TV on and off, close the curtains or even turn the lights on and off.
I'm a nerd. This stuff is interesting to me. Being able to reconfigure the house without knocking holes in walls seems like a simple no brainer if you have that choice.
Having almost every device in my house be able to have inputs and outputs and making them talk to each other is totally what I want to do.
The Bad Stuff
Control4 are kind of old fashioned. They operate a dealer network. You can't just hop on amazon and buy a new switch. No-one is allowed to sell stuff but dealers.
Even worse - they lock the system down and no-one is allowed to add or rename devices apart from dealers. Imagine buying all this future technology shit and then having to phone someone up to ask them to rename a light for you. Fucked.
It's something that is constantly bitched about on their forums, and of course the dealers all come to the defense. "It's high end stuff - rich people don't want to program it", "They can't be trusted".
The obvious truth is that the dealers push Control4 because they know that reliance on them is created - which is good for business.
The good news is that while it's kind of locked down, it's totally possible to jailbreak.
I've got the feeling that this is done on purpose. If you have the technical ability to jailbreak it, you can probbaly deal with the programming.
Information is pretty scarce so I'll probably do another blog on how to jailbreak and share a tool/code to get it done. There are patches out there already but they have some questionable stuff in them so I wouldn't recommend using them.
There's a few different components to Control4:
Director - Runs on a server you'd have in a server rack somewhere. Looks to be coded in C, runs under Linux. You can log into the server with root/t0talc0ntr0l4! and have full control.
Composer - This is the house editor. There's two versions. Home Edition - which is sometimes given to the home owner, can do some simple programming. The Pro Edition is given to dealers - can do everything (this is what you want for full control). It's written in C# so you can decompile explore.
Drivers - Written in Lua - can do anything Lua can do - network requests etc. There's limited ability to update UI etc.
Yep. Shitty Lua.
It could be worse.
So here's an example for you. This is using their logic block shit.
So when the doorbell is pressed, set a variable WatchCameras to true, make an announcement (this plays a doorbell sound through all the speakers in the house), then after 40 seconds call another function.
The Variable WatchCameras does this
Which turns all the TVs onto the CCTV view when someone presses the doorbell.
Here's another one..
I got a bit carried away with this one. It flashes the lights and plays a sound if there's motion detected upstairs. The variable is toggled by pressing a button in the basement.
It's a child alarm, so we can be in the basement, arm it, and it'll flash the lights and make a noise if the kids get out of bed :D