We Built Skybot to Make Boring Things Not Boring
How many actions should it take to open an office every morning? I’m talking about lights, shades, TVs, coffee makers, fans, music. At SKYCATCHFIRE, the answer is one button. How that happens isn’t all that exciting. You just have to buy the right stuff and it all works pretty well. The cool part comes when you decide that on and off isn’t enough. What do you do when you want to just close the shades because you’re being blinded by 3p winter sun. Add more buttons? Stand up out of your chair and adjust the shades manually? No, sir. You build a bot.
What is skybot?
skybot runs as a Node-RED instance on a Raspberry Pi that interacts with the Slack API. Huh? skybot allows our team to control a bunch of stuff around the office. Lights too bright? Turn them down with
/lights. Have an announcement to make? Tell them like a robot with
What can it do?
Like other slackbots, slash commands are used to interact with skybot.
/shades allows us to adjust the window shades in the Dev Wing by up/down or a percentage.
Once you get the hang of it, you can save a step and jump to the part where you get what you want with a command like this
/shades east 60%.
Controlling Sonos is a drag because it’s not Slack so we fixed it. Type
/music to get your most used controls.
If the task isn’t related to building a website or an app, we’ve probably thought of ways for skybot to do it for us. Here are some of the frequently used commands:
/weathergives some local weather just because we can. Used often on Fridays to start a conversation about a patio lunch.
/temperaturedisplays the temp around the office. It’s helpful when you hear annoying sounds like “it’s so hot in here” or “it’s freezing cold in here”.
/lightsshows some light controls for on/off and an option for Chill Mode to dim all the lights.
But the best features of skybot are the ones that happen automatically.
If it’s very cloudy in the afternoon, skybot enables Chill Mode which dims the lights everywhere in the office. It’s a crowd favorite.
On Fridays at 11a, skybot lets us know the lunch weather forecast so we know if it’s patio friendly or not.
Someone at the front entrance? Instead of a normal door chime, skybot notifies us in Slack and announces over the Sonos speakers.
How it works
The office devices are hooked into Node-RED running on a Raspberry Pi. We’re using Node-RED for all of the automation, device control, and for the slackbot too.
Any work value to this thing?
We think there’s a lot of work value but one of the most obvious is our End of Day thread that shows up every day at 5p. It’s an easy way for us to share progress all in one thread and it’s an important part of our process.
skybot is an excuse to write code that adds a little convenience to SKY HQ. The benefits are tangible and we make use of it many times a day. It might not be a product that we can package up and sell but it feels right that a dev shop would use technology to make things a whole lot cooler than flipping light switches.