Smart home

How to build an automated thermostat with IFTTT

  • Customer Case Study - Josh Knarr

    Josh is an IFTTT Pro+ user and this is his personal setup. This story is written by him and all thoughts are his own. We think this is a great IFTTT automation and are pleased to share it with the world.

    Hello World!

    My thermostats now rely on a combination of Alexa skills, smart apps, and Voice Monkey. A routine controls receiving the information from voicemonkey which functions as a virtual doorbell. IFTTT does the logic signaling. Alexa magic just that - no-one knows how Alexa actually works but you need to install it, and all the smart apps, on your phone.

    Why do we want to do this?

    It’s a great, no code solution to marrying any two thermostats together. You could use it like I’ve outlined here for significant energy savings, but you also could do something like control an entire office’s worth of thermostats from one alexa also. You could even get really crazy and use the same puzzle pieces to do something like “If it’s cold out, start my car”. Assuming you have a tesla or something which enables that.

    My setup:

    I have a house which is on oil heat, as most houses are, but when I installed air conditioning I made it a point to pick a unit which also could do heat and work as a heat pump.

    Requirements

    • Amazon Alexa - This link takes you to the "virtual alexa". You will need Alexa installed on your phone or similar device which permits you to edit routines.
    • Voice Monkey - This defines your "virtual monkeys" which really are fake smart doorbells. Much cleaner than actual monkeys.
    • IFTTT - This is the API glue that holds the entire thing together.
    • Note that you can squeeze two thermostats into the free tier, but if you want to co-ordinate more thermostats, or you want to add more actions (like the car), you will need to upgrade to pro. You should consider it anyway - the service is that cool.

    If you’re simply co-ordinating a chorus of thermostats, you probably can skip the theory section. On the other hand if you want to know why this works, the next section is for you.

    Theory

    Heat pumps work by pumping a fluid around which evaporates and condenses depending on conditions. If it’s removing heat from the interior - it allows the fluid to boil, and evaporate in the coil in contact with the inside air. This then gets pumped outside, where a compressor forces it back into a liquid, which then blows exterior air over the coils which cools the liquid. The trick is that the heated refrigerant is less hot than the outside air.

    Heating is the same way - all the heat pump does is run in reverse. It took me a few times to grok it, so I would suggest watching this video. Depending on the type of refrigerant used, the heat pump will function to -15F (-26C). However, the thing has to use electricity to move all that refrigerant around, and it may have to heat the outside unit, so a handy rule of thumb is that efficiency starts to fall off somewhere around 40F to 30F (5C to 0C). Reason being - ice is a pretty good insulator, and so the heat pump has to invest energy simply into de-icing itself from water freezing on it out of the atmosphere. I made the judgment call that 40F was going to be my switchover from the heat pump to my aux heat which is oil.

    If you believe the numbers, a heat pump is 300% efficient - until it very suddenly is not when it starts to use electricity for de-icing. My oil burner is optimistically 95% efficient. I suspect it’s much less in practice.

    Flowchart

    thermostat automation flowchart

    This is pretty straightforward in practice but has some interesting requirements to set it up. The basic story is that IfTTT uses a Weather skill to look for changes to the weather. If the weather drops below 40F for my area, it will signal Voice Monkey to press the “Temp Drops Below” doorbell. Yes - voice monkey emulates a smart doorbell. Alexa sees the doorbell getting pressed, and it executes a routine. The routine integrates with the Wyze app and the Daikin app to set the thermostats to their appropriate temperatures.

    Setup

    For me, I had to install and configure accounts on:

    See the links above for the web services. Order of operations in that list is important. VoiceMonkey needs to be registered and logged in, with two "doorbells" defined to signal Alexa. IFTTT needs to have the voicemonkey integration enabled so it can "press" but doorbells when the "weather underground temp below" skill is triggered. Finally you need your appliances registered in their respective apps before they can be added to Alexa routines.

    If you already setup Alexa, NBD, just add the devices.

    Screenshots

    Oh screenshots! Look here if you want to know what it looks like when it’s all strung together properly. These screenshots will be presented in the happy-path order of getting everything working.

    VoiceMonkey

    You should have two monkeys setup - one for when the temperature is above 40, and one for when it’s below 40. You can call them what you want, but you should give them descriptive names. Since our system has two states - “Warmer than 40” and “Colder than 40” - we need two monkeys:

    VoiceMonkey

    IFTTT

    This is why you’re here, right?

    To create these we need to use the Weather Underground triggers since they have the two triggers we want:

    Selecting one of these lets us choose a temp which will trigger our skill, and then a location.

    Automating Thermostats

    For the “that” portion of the trigger, use VoiceMonkey. Remember those two Monkeys you setup earlier? Now you pick them with the “Trigger Monkey (Routine)” That:

    Automating Thermostats

    Clicking that, you should see your Amazon account you signed in with, and the monkeys you created earlier:

    Automating Thermostats

    Alexa

    Time to tie it all together! You need to have completed adding your thermostats to your Alexa before you can complete this step because Alexa needs to be able to use those thermostats. This procedure will be different each device/thermostat/app combo.

    Alexa

    In this case, I named the routine “oil heat” (to turn on the oil heat) and it looks for a “doorbell” called “tempBelow40” (remember the voicemonkey doorbell?), and when it’s “pressed” it will set the “downstairs heat” (the oil heat thermostat) to 66F and the “upstairs” (heat pump thermostat) to 50F.

    The upstairs heat will never turn on unless the oil heat fails (perhaps I’m out of oil?) and the house drops below 50F.

    When I want to disable this automation, I go into alexa and edit each routine to toggle “enabled” to “off”.

    Questions

    Q: Nothing is happening, what? A: Check to make sure each thermostat is set to “heat” and “on” at the thermostat. If the thermostat is set to “off”, you probably need to turn it on as there’s nothing in this routine which accomplishes that.

    Q: Why 50F? Why not turn it off? Why not set it to 40F? A: I don’t know why - but the apps will not accept input to “heat” below 40F. They don’t emit errors either. It’s vexing. At the moment, Alexa doesn’t support turning the heat “off” or “on” from either app.

    Q: Why didn’t you just buy my favorite brand of smart thermostat and use that? A: I have thermostats at two different places in the house, and the installer for the heat pump required us to use the Daikin thermostat. When the warranty is up in 12 years I’ll revisit the project.

    Q: What happens if I want to manually set the temp? A: It will be set to 50F and whatever you specified in the routine. For example if I set the routine to use 66F as my “heat” temp, it will force 66F to the thermostat.

    Q: What happens if I turn on the air conditioning/turn off the thermostat entirely? A: Neither Wyze nor Daikin allow the user to toggle the state of the HVAC system from their alexa integrations. A different system may permit this, though.

    Q: How do I disable the management of the thermostats? A: Disable the routines in Alexa.

    About the Author

    Josh Knarr can be reached at josh.knarr@gmail.com and currently works as a technical consultant (principal solutions architect) specializing in hybrid/multi cloud solutions. In his spare time he likes to noodle around with open source projects, homesteading, the great outdoors, and raising his three kids with his loving wife.

You may also like