Control The Air Conditioning With Slack

[Raphael Baron] needed a better way to control his office’s air conditioning units. Sure, they have remotes, but that’s too easy. [Raphael] came up with a solution that uses an ESP8266, a computer, IR LEDs, and a bot that runs on Slack.

[Raphael] built a prototype of the ESP8266 hardware on protoboard and used it to read and record the IR signals from the remote. Once he’d figured out the issues he was having with the IR library he was using, he could use it to send the IR commands to the AC unit. Since their office has two AC units, [Raphael] built a second prototype which had two IR LEDs but didn’t have the IR receiver. Using this he could turn both AC units on and off and set their temperatures.

For the server, [Raphael] turned to Clojure, a dialect of Lisp, which provides easy access to the Java Framework, mainly to get practice working with the language. The server’s main responsibility is to use Slack’s real-time API to listen for messages from a Slack bot and forward them to the ESP. In this way, a user talking to the Slack bot can send it messages which the server forwards to the microcontroller which, in turn, parses the messages and send IR commands to the AC units.

[Raphael] admits that this isn’t the most advanced, professional stuff, but it doesn’t matter. The schematics for the ESP8266 board and the code for both the ESP board and the server are available on GitHub. There seems to be a lot of hacks using Slack, such as this NERF Turret controlled by a Slack bot.  Or this jukebox that users can interact with by talking to a Slack bot.

6 thoughts on “Control The Air Conditioning With Slack

  1. I just want a remote thermostat that works with a GE window AC. All it needs to do is be able to be set to a temperature and have the capability to send the Power command when it reads the temp rising too high or dropping too low.

    My dumb AC unit regularly insists it’s 65F in here when thermometers across the room are around 80F. I want to hold it as close to 70~71F as possible.

  2. Something like 24°C (around 75F) would be a good value. I do not run around with excessive clothing in summer anyway.
    But independent of personal temperature preferences, this effect often comes when an A/C unit sucks in part of it’s cool output air, because it uses the temp of the input air ais a measure of the room temperature. This can happen, if it is in a less than optimal position when external obstacles redirect part of the output air. At 18°C (65F) I would turn on a heater :-)

    So I would check if this air short-circuit can happen and otherwise reduce the set temperature by some degrees, until the real air temp. is satisfying. Some newer A/C units have a sensor in the remote control to avoid this problem all together.

  3. Interesting project. On a side note I just received last week a Broadlink RM 3 mini which is a small devide that connect to WiFi and is capable of controlling all the IR devices from a room. It’s also programable and works fine out of the house. And the most amazing thing, it only cont $11. Bought 3 of them, one for each room :p

  4. I’ve been seriously considering retrofitting a minimal serial interface onto the control chip inside a common remote-controllable window fan, so I can feed that through an ESP8266 for home automation purposes. Has anyone else tried that before? (Would anyone like to join me on this?)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.