Ben spent most of the last month glued to his computer, working on product development, Horatio updates, and lots and lots of coding. But that’s not to say it wasn’t an exciting month! Here’s a few peeks at what we’ve been up to:
We created a mockup for a public art installation in downtown Pittsburgh, which includes a web-portal control interface for an RGBW light. The controller also tracks temperature and humidity, since the lights in this installation are going to live in some pretty extreme conditions. (More on that soon!)
The new revision of the Horatio hardware now sports an internal battery backup, allowing us to distinguish between a power failure and a network failure.
We have a new system in the works (Code Name: Prometheus), and we’re getting close to a beta release and announcement. Can’t say more than that yet, but we’ll have more details for you in next month’s roundup post!
Mockup web interface with temp and humidity monitoring.
Updated Horatio board with internal battery backup.
Board for Prometheus, now in development. Any guesses as to what it is?
We’re headed to LDI this week (exhibiting for the first time!), and we’re excited to show off some great products and chat with people over locally-crafted pop while reclining in our super-squishy chairs. Here’s a peek at what you’ll see if you stop by and see us in Booth #1782:
A live demo of the Horatio Architainment Monitoring System – an affordable, easily integrated, internet-connected system that monitors unattended lighting systems, collects diagnostic data and sends out immediate notifications of problems. Designed to be manufacturer agnostic, Horatio dramatically increases the accessibility and visibility of the inner workings of any lighting network.
The Prospero DMX cue light controller – a reconfigurable controller that enables the creation of simple, flexible DMX cue light systems, providing the benefits of a custom cue light controller without the expense. Developed to the specifications of Broadway electricians and stage managers, it has been used over the past two years on more than 30 Broadway productions and tours, as well as installations in regional theatres and road houses.
The MSC Box – the newest addition to BPI’s product line, the MSC Box is a unique tool that provides visibility into a MSC message stream and can also pause the data stream, temporarily isolating portions of a show’s control system. We’ll be giving two MSC Boxes away this week – one at the show, and another one online, so follow us on Instagram, Facebook or Twitter if you aren’t making it to Vegas this year!
If you are at the show, stop by our booth and relax for a bit while you chat with Ben – we’ll be fully stocked with a supply of pop from Natrona Bottling Company, including root beer, ginger beer and almond cream soda. A word of warning, though: the chairs are so comfy, you might not want to leave…
It’s been a big month for us here at BPI! We moved out of the old shop (just in time, since that huge storm blew out a window – if we hadn’t already moved Ben’s office out, all the computers and electronics would have been soaked!), and we’re mostly settled into the new shop. I’ve been organizing the office, while Ben got the router set up in its new home and started organizing the electronics shop. Meanwhile, the littlest member of our team has settled right into her office – we’re pretty sure she’d be happy to just move in there and never come home.
We got the move done just in time, since cue light season is back in full swing – we’re shipping 6 Prospero units in the next six weeks – and Ben is about to do a beta installation of Horatio Outdoor. He’s also continuing development on the Midi Show Control box, which should be done by mid-October.
We’ve also got some exciting news: we’re exhibiting at LDI for the first time this year! I’ve gone into master planning mode, making schedules and designing the booth, while Ben gets Horatio and Prospero ready to show off to the world. It’s going to be a crazy couple of months, but we’re excited. If you’re going to be at LDI, drop us a line, and stop by to chat with Ben – Booth #1782!
Sad to leave behind our “urban stained glass”, and our fabulous neighbors at the Design Center!
Good thing we got out before the storm – there were giant puddles in the middle of the former office!
New home of our little CNC router.
She’s made herself right at home.
The new MSC Box lets you pause and restart MIDI data with the press of a button.
Ben and Horatio had a busy week last week, with great news on several different fronts. We made arrangements for the installation of Horatio Outdoor beta units in two different locations and applications (more on that in the weeks to come!), and Ben spent some time in the shop doing an overhaul of Horatio’s email alert system, to make it more streamlined and easy to use. Meanwhile, the Horatio at the Petersen Automotive Museum, one of our very first installations, celebrated 5 months of continuous uptime this week (that’s 152 days!).
Ben also continued working with Clear Story to develop a custom 4-universe lighting controller, all while avoiding being pressure washed through the shop’s leaky windows.
The location of an upcoming Horatio Outdoor beta installation
Streamlining the Horatio alert notifications
Working on a custom 4-universe lighting controller
Ben’s been busy with several top-secret projects this week (more on those in the next few months), but he also found time to do some more development on the outdoor Horatio unit that we’ll be beta testing soon. This week he was mostly working with those giant metal halide lamps he acquired last week – setting up a system to log data as they cycled, and then analyzing that data (graph of a single lamp striking below). He then used that data to create an algorithm that remotely detects lamp strikes, which will allow the new Horatio to monitor outdoor lighting in a variety of applications.
Coffee geek that he is, Ben also discovered that Aeropress Inverted is a thing, and he’s been brewing his coffee that way all week. He says it’s even better than the standard Aeropress method – which is pretty good all on its own!
Ben spent most of this week working on a custom Horatio installation for a public art project downtown. When the installation opens tomorrow, we’ll be monitoring everything about it, from lighting to water to CO2, via 30 different sensors connected to a custom-built Horatio. We can’t say much about it right now, but check out the photos below, and stop by the parklet at Penn & 8th downtown after tomorrow to see it for yourself – it’s going to be great!
Ben also found time this week to do a little more testing on the outdoor Horatio, stop by a local Horatio installation in progress, and head down to Market Square to assist with Mix N’ Match strike. It was a busy week!
Swapping out the CO2 regulator for a digital sensor to monitor flow and consumption.
Left NPT to Right NPT nipple, plus a female to female (right hand) NPT coupler, to make the CO2 sensor fit.
Sensor in place, monitoring the CO2 tank.
Wiring up some sensors to monitor the art installation.
Horatio, mid-installation. Not the recommended mounting orientation.
Beta unit of the outdoor Horatio, mounted on the roof of the shop to see how it holds up out in the elements.
“Hardware eventually fails, software eventually works.” — Michael Hartung
A reality that we all face is that the hardware that controls our lighting systems will eventually fail. Systems with an operator are easiest to maintain; when something fails, the operator sees it and works to resolve it before the next show. Unattended systems, like architectural lighting systems, don’t have someone watching the show every cycle, and failures can accumulate until someone notices and reports them.
With the launch of our Horatio Monitoring System, there is now a streamlined solution for monitoring unattended installations. Horatio connects to a lighting network and actively monitors the system to ensure that everything is working properly. Monitoring data is collected in the cloud in real-time and notifications are pushed via text or email when errors are detected.
Saks Winter Palace
Our first Horatio installation, and the impetus for its development, was the Winter Palace on Fifth holiday display at Saks Fifth Avenue in New York. Chris Werner Design, American Christmas, and Saks Fifth Avenue developed an ambitious facade display consisting of 176 universes of ArtNet driving thousands of light fixtures, with a cadre of Mac Minis as back-end media servers.
Horatio monitored all of this: pinging Minleon NDBs to make sure they were still online, watching CITP discovery packets to track the status of the media servers, collecting syslog data from the various embedded systems and network switches, logging OSC messages from QLab3, and safely providing a backup storage solution for the MA Lighting GrandMA2 console. The event ran from 4:30pm-midnight for five weeks, and on several occasions Horatio was able to notify the team of potentially show-stopping errors that occurred during the day, giving technicians plenty of time to reset things before the display went live again that evening.
“Horatio’s logging functions provided an incredibly powerful forensic tool which allowed for remarkably accurate and fast troubleshooting of the system by members of the design team scattered throughout the country. Horatio’s persistent monitoring and error reporting allows our team to boast “zero down-time”: each and every scheduled performance ran on-time.” — Chris Werner
Petersen Automotive Museum
Horatio’s second installation was at the Petersen Automotive Museum in Los Angeles. The complete renovation of the Museum features a multi-layered lighting control system with an ETC Mosaic at the head. During the programming of the system, Horatio’s remote syslog feature with filtering and searching capabilities allowed Chris Werner Design to rapidly troubleshoot programming issues in the interactions between the ETC Mosaic, MediaLon Show Controller, and the rest of the show control systems. Now that the museum is open, Horatio continues to monitor the network infrastructure, lighting controller, Ethernet-DMX gateways, and remote power supplies, alerting technicians of any problems and failures in the system.
“Horatio’s frequent communication with the connected hardware allowed for the very thorough assessment of network functionality, identifying and eliminating hiccups prior to the facility’s grand opening. Currently, Horatio tracks all triggered events within the museum’s lighting system, allowing for easy verification of show playback throughout the various ‘signature’ galleries and up-to-the-minute status monitoring of all components. We have been given such a powerful diagnostic tool and remote monitoring device! It’s a Swiss Army knife for lighting systems requiring any level of remote support.” — Chris Werner
We’ve also worked with Clear Story Creative to integrate Horatio units into two of their recent projects, both of which required not only lighting system monitoring, but also a customized interface to improve the end-user experience.
The first of these was the bridge lighting at The Waterfront in Homestead, PA. This is a rooftop and grade mounted lighting system designed and installed by Clear Story. The lighting system consists of four different lighting positions linked by Lumenradio CRMX units, as well as in-grade fixtures with integrated radios, with the back end controlled by a Pharos TPC.
Connecting to the internet from its integral GSM link, the Horatio on this system monitors the Lumenradio network and fixture health on the RDM-enabled fixtures, logs syslog and OSC messages, and integrates an IP camera for live camera views. Additionally, we created a custom mini site with Clear Story’s branding that gives the Waterfront staff the ability to easily adjust the bridge lighting through preset recall. No special VPN software or configuration is required; the client simply logs into a custom page on the Horatio website.
The second project with Clear Story was St. Nicholas Croatian Catholic Church in Millvale, PA. Clear Story is providing a lighting system, controlled by an Interactive Technologies CueServer, to illuminate the Maxo Vanka murals covering the inside of this historic church. In addition to typical monitoring, their Horatio has been customized as a UDP-to-Serial bridge, allowing the CueServer to send simple UDP messages to trigger control of the Middle Atlantic UPS as a sequencer for the audio system.
Find Out More
After these successful beta installations, we are launching Horatio this week, with units available on a 4-6 week lead. For more information, visit the Horatio website, or email Ben at email@example.com.
Now that Mix N’ Match is up and running, Ben’s been spending most of his time finishing development on Horatio, which is coming out of beta in the next few weeks. Most of what he’s doing is back-end database voodoo, but here’s a few sneak peeks at some of the new features he’s implementing – plus some handy reports from the Horatio that’s monitoring the Mix N’ Match installation.
Data dump from migration to Horatio’s new back-end database
Horatio’s new syslog interface with improved search engine and filtering
Mix N’ Match real-time interaction data
Nightly test data showing power consumption for each 5m segment of Mix N’ Match, to check for problems with the wiring
Nightly test data showing that Mix N’ Match’s power consumption is lower when it’s cold outside
We’re excited to finally be able to announce the new product we’ve been developing for the last few months: say hello to Horatio!
Horatio is a manufacturer agnostic system that integrates with your lighting network and monitors all devices in order to send you alerts when your system isn’t working as it should.
Horatio dramatically increases your visibility of the inner workings of a lighting system from wherever you are, using the rack-mounted Horatio Bridge Device to link your lighting network to a variety of monitoring tools on the horat.io website. This web interface allows you to monitor almost anything through your ethernet network; supported protocols currently include ARP, TCP, CITP, RDM , DMX, Lyntec RPC, Syslog, and OSC.
We’re currently beta testing, and we expect to ship the first Horatio Bridge Devices in January 2016. I’ll have a beta unit with me at LDI this week, though, so drop me a line if you’d like to check it out, or visit horat.io for more details.
One of the things we’re developing right now is a new product that will monitor architectural lighting installations (more on that soon!). We’re testing out the system in our shop, but before we could test it properly we needed to create a nice dataset to feed into the system. To do this, we decided to mock up a basic architectural lighting system and generate some random lighting effects, which our new prototype system could monitor.
Among the random things that live in our shop is a mockup of an architectural lighting system from a project we did last year, consisting of 30 feet of RGB iLight Hypnotica. The lights in that system didn’t do anything particularly useful for our purposes, but with some modifications it became the perfect testbed for our new product.
I wanted to create something like a realistic use case, so I started by writing a script that turns the lights on at sunrise and off at sunset (so our on and off times will drift as the season changes). Simply turning the lights on to a static look didn’t give us a lot of useful data to monitor, though, and it would have been difficult to detect whether the controller was still running or if it had crashed.
My solution was to create a generative lighting system, but rather than doing something complicated like a Forest Fire, I went with the simplest algorithm possible: a random walk.
Random walking is where you vary a value (or a position) based on a random input. So if we have a random walk over a range of -1 to 1 with integers, our possible inputs are -1, 0 and 1. A random selection of those inputs might be 0, 0, 0, -1, -1, 1, -1, -1, 0, -1, so if our value started at 0, it would do this:
0 0 0 -1 -2 -1 -2 -3 -3 -4
This is, of course, not a particularly useful function all by itself, but we can scale it up.
In this case, we took the 186 DMX channels of our lighting rig and simply produced a random walk for each value, continuously. The initial approach was a bit flickery because we didn’t handle the ends very well – variables just sort of wrapped around from 0 to 255, causing channels to bounce back and forth repeatedly from full to out. Adding some nudging on the ends smoothed things out, and we now have a rig that produces random colors continuously.
Here’s the key bit of code:
for i in range(len(self._data)):
if(self._data[i] < 25): self._data[i] = self._data[i] + random.randrange(0,20) elif(self._data[i] > 230):
self._data[i] = self._data[i] + random.randrange(-20,0)
self._data[i] = self._data[i] + random.randrange(-25, 25)
In short: if the current value is less than 25, add a random number between 0 and 20. If the current value is greater than 230 (25 less than 255, the maximum), subtract a number between 0 and 20. Otherwise add a random number between -25 and 25.
This executes 40 times per second, so the lights can change color rather quickly. Here’s a look at the finished test system:
In this case we’re doing a random walk on each of the Red Green Blue channels. This doesn’t always end up being particularly interesting, but on average it does – and it gives us some good data to monitor with our prototype. Another approach might be to run the random walk on the Hue channel of a Hue Saturation Lightness colorspace, and then map those into RGB. This would get you saturated colors at maximum brightness, but would not wander off into dark territory like the current software does.
For our testing purposes, we also need to track sun-up vs. sun-down. The way we handled that was through the python ephem module, which gives you access to all sorts of data for astronomical bodies and observers. In this case, we simply needed to calculate the sun’s angle to the horizon: if it’s above 0 the sun is up; if it’s below 0 the sun is down. It would be possible to add correction factors for dawn and dusk, but simply tracking day vs. night was enough for our purposes.
We based our script heavily on Sean Sill’s ola_simple_fade.py from the excellent Open Lighting Architecture library. You can download our script here.