Author Archives: RyanE
Ancient TableGrab driver
Someone requested that I post this ancient driver, which along with grabbing html tables can be used to send data to a website over URL GET.
No warranties, as usual.
OpenWest 2014 Lua Presentation
I gave a talk at the OpenWest 2014 conference last week (May 9, 2014) about how to embed Lua into a C application.
The slides can be viewed here:
The code sample is here: Lua_Openwest2014_RyanE.tar.gz
Handy Hacks Driver
Here’s a driver I did a while ago, and while it isn’t more than one hack as of yet, it is a useful hack if you have Yale locks.
It allows you to set the auto-timeout on the locks, as well as to disable the auto-timeout.
I use this driver to turn off auto-timeout when we’re going to be going in and out a lot, by toggling a button on a 3-button to red or off, and then setting auto-timeout.
It works fairly well, although I’ve seen the locks not pick up on it from time to time.
LED Wizard Driver
A while back, I was asked by a partner to create a driver that would allow a user to change multiple Control4 light LEDs at one time.
This ‘LED Wizard’ driver allows you to do that. With a single command, you can set the LED color for any LED on any number of Control4 dimmers, switches or keypads.
To set LEDs using this driver, go to ‘Programming’, and select the LED Wizard driver in the ‘Actions’ section of the page. Select the Radio Button that says ‘Device Specific Command’, and choose ‘Set Light LED Color’.
The parameters for Set Light LED Color include:
* Dimmer or Switch List: A list of dimmers or switches whose LED color you wish to change. This is a comma separated list of just Device IDs. You can get this list by using the ‘Lights List’ property on the Properties Page of the driver. NOTE: In 2.5 and later, the text in the ‘Lights List’ also shows the name of the devices, which must be removed to paste into the parameter.
* LED: On Lights, there are 4 LEDs that can be set: Top Button On, Top Button Off, Bottom Button On, Bottom Button Off. These correspond to the LEDs that are lit on the dimmer / switch for each LED in On / Off state.
* Color: The color can either be a color name, or the RGB value (000000-ffffff), without quotes. Valid color names include: BLACK, RED, YELLOW, ORANGE, GREEN, BLUE, AQUA, FUCHSIA, GRAY, NAVY, PURPLE, SILVER, TEAL, WHITE, DARKRED, DARKYELLOW, DARKORANGE, DARKGREEN, DARKBLUE, PEACH, BUBBLEGUM.
An example of the programming to set the ‘Bottom LED Off’ LED to a teal-type color (RGB #00DDFF) for 4 dimmers is shown below:
The driver can also set LEDs on Control4 keypads, although I haven’t provided an example here, it’s much the same as setting LEDs on dimmers and switches, and is left as an exercise to the reader.
A link to the driver is here: LED Wizard Driver
Web Events Driver
I’ve had a few requests for this driver lately, sorry I haven’t posted it before now.
This driver accepts connections on the main (master) controller on port 8080, and sets a variable with the sent command, and fires an event.
i.e. if you do a URL Get to the following address:
The Control4 ‘COMMAND’ variable will contain MYCOMMAND, and the ‘Command Received’ event will be fired.
In Control4 programming, you can program against the command name received in the COMMAND variable.
The driver can be found here:
Light Usage Agent Driver (Tracks Lights by Project / Floor / Room)
Driver Here: Light Usage Agent .zip file
I made this driver quite a while ago, but forgot to post it here. I was prompted to post it after a post on the external Control4 user forums (c4forums.com).
Fake Garage Door
By popular demand, here’s a driver that will fake a garage door hooked to a controller:
Have fun with that.
ETA: Commenter asked me to explain it a bit:
Control4’s Garage Door Sensor / Relay is a combination driver, that uses a relay to toggle a garage door, but shows the *contact*’s door state. One of our dealers wanted to show a garage door in his project that didn’t toggle immediately after you pressed it (like a relay would), so I created this driver.
It shows a garage door on the UI, and when you press it, a (configurable) time later, the door opens or closes, as a physical door would. i.e. Press, wait a few seconds, the door closes. Press again, wait a few seconds, the door opens.
Pretty simple stuff, and not that useful for anyone other than someone demoing Control4 without all the hardware.
Command-line Light Control
Although I like Control4’s touchscreens, the Android app, and Control4’s SR-250 remote, sometimes when I want to adjust my office lights or turn on / off the office ceiling fan, I’d rather do that with a simple command-line application.
Since I typically have a terminal window or two open, I can quickly type ‘lights 20’ or ‘fan off’, much faster than I can start up the Control4 Android App, or find my SR-250.
To that end, a while back I created a small Lua script that does just that.
Control4 Photo Screensaver
One of my favorite features of the Control4 system is that you can have Control4 touchscreens display photos as a screen saver, after a user-configurable timeout.
The initial setup of Photo Screensaver requires that a Control4 installer setup the storage location (typically on a network attached drive, or a local USB drive).
Once it’s setup, the homeowner or other user can use ComposerME or ComposerHE to add / remove photos from the screensaver.
While Composer isn’t a bad tool for adding photos to the screensaver, it isn’t a great tool, either, as it’s not all that convenient, especially if you’re running OSX or Linux, like I do.
I’d prefer something like this: