I know this topic is primarily meant for sharing unique use cases and success stories. I actually have several of my own use cases that I want to share, like my son’s openHAB connected busy board, my Arduino-powered yard irrigation/lighting controller, or just an overview of my setup. I want to finish these projects completely so I can make them easier in case others want to replicate them once they’re in the wild.
No, today, I have a different sort of openHAB story to share. First, a disclaimer. I am a happy openHAB user, and find it to be exceptionally stable, easy to use, and usually very trouble free. I say this, because the story I’m about to share doesn’t necessarily tell a story of a smart home in the best light. I share it for the benefit of my fellow smart home enthusiasts, and perhaps more importantly, so you can all have a laugh.
Hey, it could have been worse!
I live with my wife in a single family suburban home in the US. I run openHAB 2 on a Raspberry Pi 3, and my smart devices are primarily a mix of Z-wave devices, Phillips Hue bulbs, and MQTT-connected Arduino and Particle micro controllers. I have a custom-built computer desk with a RGB LED strip that is connected via MQTT. I haven’t explored all the possibilities, but I did have it set up to warn me of a failure of my MQTT server by flashing the strip red.
An old picture of MegaDesk.
I also have a Particle Photon embedded in an Internet Button. I call it the openHAB Particle Monitor (OHPM), and wrote an overview/tutorial on GitHub. Basically, it lets me monitor my openHAB installation from anywhere with an internet connection, and allows for remote notifications of alarms, notifications, or for disconnections.
In June, we had a toddler son and my wife was pregnant with our daughter. One evening my wife went in to check in on some concerns with the pregnancy, and I stayed home with my son. My wife was told by the doctor that it would be best for her to deliver that night. It was early, but not too early, so though there was a bit of stress it wasn’t by any means an emergency. Our designated standby babysitter for any unplanned delivery was my mother, so I called and asked her to come.
My mother has many strengths, but I wouldn’t count strong technical skills among them. In fact, at this point, she had just received her first ever phone, an iPhone 7. And no, I don’t mean first smartphone- her first ever phone that wasn’t hooked up to a phone line. She routinely calls me with technical questions, such as a refresher on how to send a photo using her iPad or how to attach a file to her emails. I have given her a brief crash course on openHAB but suggested she let the home’s automations manage the lights for her.
My slightly technophobic mother arrived, and after a few minutes I left for the hospital. I’m not immediately keen to share the details on a home automation forum, but the physician suggested a C-section, so that’s what we did. I gowned up, and after a long few minutes headed into the surgical suite. I watched as my healthy daughter was born, and reveled in the miracle of parenthood. By this time, it was thoroughly late at night, and I was fairly sure my mother had gone to sleep. I later learned she had only just fallen asleep at 2 AM.
Now, the guest futon in our home is conveniently co-located with the aforementioned mega-desk that has built in MQTT failure alert capabilities. Under normal circumstances, when nobody without technical skills is in the area, this would be a great feature to let you know something’s wrong. In this situation, it turned out not to be so beneficial, because at 4 AM local time, despite our typically rock-solid power supply, our electricity briefly went out.
At the time, I had my openHAB Pi mounted in a case called a Plusberry Pi. It’s an Indiegogo product that’s no longer around, and it’s a nice little case that includes a power button. I learned the hard way, however, that the case doesn’t restore power to a connected Pi upon power failure - it defaults to OFF. This created an issue for two reasons. First, my ever-vigilant mega desk dutifully warned my sleeping mother of the failure of the MQTT server. Secondly, as any Hue owner knows, these bulbs respond to a power cycle by defaulting to full brightness. While billed as a safety feature, I don’t think my mom, who awoke to a fully lit room, would agree. Under normal circumstances, I might be able to notice the problem and fix it remotely once openHAB had fully restarted. Unfortunately, with my fancy case with a power button, remote control was impossible. Another unexpected result of the outage, though unrelated directly to openHAB, was that another Raspberry Pi, with RetroPie emulator installed, power cycled and turned on my TV.
Somehow, though, she didn’t immediately wake up due simply to sheer exhaustion. After a few minutes, however, the above-described OHPM noticed the lack of contact from my openHAB server and began chirping every 10 seconds. Add in the chirping protest from our carbon monoxide monitor and the baby monitor’s warning beeps alerting her that the base station had also switched off, and this was finally enough to overcome her exhaustion.
Unfortunately, not really my office.
So, my technophobic mother awoke, to a brightly lit room, with a desk flashing red like a set from Star Trek, with no less than three simultaneous audible alerts warning her of various issues she was powerless to remedy, and to a television beckoning her to engage in classic retro gaming. I have to give her credit, she tried really hard not to call me, but after she reached the limits of her troubleshooting she broke down and called. My only indication of the chaos in progress at my home was the simple, innocuous message on my phone: “openHAB is offline.”
As she described the various symptoms of smart home failure, this is what I began picturing.
In short, I talked her how to unplug the various devices and slowly return my revolting smart home to a state of order. She never did fall asleep, and ended up chasing my toddler most of the day on two hours of sleep!
On my daughter’s birthday, I learned the importance of testing my system for failure, and was reminded of the fact that Murphy’s law is the real deal!