I recently had to research about how to get Alexa to run routines based on temperature and the results were not so great.

There are many reasons one might want to have routines based on temperature. These could be to counter heat waves / summer heat or to get some heat during cold nights of winter. In Mauritius, it is becoming quite the standard to have air conditioner(s) in every house for those who can afford it.

I recently had to replace an AC in the kids room and wanted to buy something smart but not too expensive and found the Gree Pular series with WiFi and Alexa capabilities. No more needs to be said.

It is quite good actually, being able to ask Alexa to turn on/off the AC, set the desired temperature or turn on heat or cold. Then came winter and I needed a way to automate the heating so the kids could stay warm at night. It gets pretty cold!

How to get the AC to turn on the heat automatically when the temperature drops?

I tested this with an Alexa 4th generation Echo and a Philips Hue Motion Sensor. (Yes, the Hue motion sensor has inbuilt temperature.) There are some catches though. You can’t query Alexa about the temperature on it – I haven’t been able to do so until now. The only way to see the temperature is through Apple Homekit or Home App.

Home App on iOS
Home App On IOS.

To setup the routine, go to your Alexa app

  • Select routines from the menu
  • Enter a name for the routine.
  • Under When this happens, select Smart Home
  • Find your Echo device that has an inbuilt temperature sensor. Mine is the Echo 4th Gen
  • Then you will get the option of selecting what type of routine you want, either above or below certain temperature, adjust with the slider and click on save
  • Then under action, set the smart device you want it to control and what actions you want done.
  • Don’t forget to set a time for it as well.
Alexa temperature routines
My Settings

A few things you should know.

I have had a tough time getting the routine to kick in. It seems that it always needs some kind of motion to trigger it. Once triggered it works fine.

I had to find another solution as this method is unreliable.

The real deal!

I went on to research more and didn’t getting much results as there are limitations with what can be done with temperature routines. Then I found Sonoff Temperature Sensor. The SNZB-02 is a ZigBee device that works with Sonoff Bridge (I don’t have a Sonoff Bridge). My Echo 4th generation has an inbuilt ZigBee hub and I wanted to use it.

Sonoff SNZB-02
Sonoff SNZB-02 Temperature Sensor

I thought I would give it a try and I am glad I did. This thing works great. It is a very small device that you just stick and forget.

How to setup the Sonoff SNZB-02

Follow instructions on how to setup and power on from the package, but do not link it to you ewelink account. This is important.

  • Put the device in pairing mode and ask Alexa to find new devices. Note that you need an Alexa device that has built-in hub compatible with ZigBee.
  • Once device is found, rename it.
  • Go to all devices and find the sensor and click on it, you should now see the temperature and an option to create a routine.
Sonoff SNZB-02 in Alexa App.
Alexa app showing Sonoff SNZB-02 sensor.

  • The steps are the same as the Hue sensor but this time no motion will be required to trigger it.

Limitation!

While this works great, there is one thing that I believe Alexa is not able to handle. Let’s say you have the routine set to turn on heat when the temperature is below 24 degrees during specific hours. If that hour comes and the temperature is already below 24 degrees, the routine will not trigger as the conditions have not been met.

I believe Alexa expects the temperature to decrease from 24+ to 23.9 or something else. I do hope that they get this fixed or if a workaround is available do let me know.

.