Sensibo was super easy to install, and within no time at all, I had full control over our Air-Conditioning requirements. Sensibo was SMART, and even integrated with IFTTT (IF This Then That) which opend a whole world of automation possibilities.
Life felt great. Life felt smart. I felt smart, until.......I found all is not as smart as it could be.
Sensibo coulb be smarter. It simply needed to be tought a little bit more about scheduling. To be more specific: scheduling Climate React.
So, what exactly IS climate React, and why should I care to schedule this?
As stated on the Sensibo site:
With Climate React you can be in control of your comfort and energy usage. Set triggers to change the climate in your room based on temperature, humidity and comfort parameters.
Use Climate React to protect your home and air conditioner system from extreme temperatures and humidity levels.
Quite the mouthfull of marketing speach....so lets break it down into laymans terms, and simultaneously discover the current shortcomings of the given feature.
Basically, Climate React alows you to switch on, and off, your air-conditioner, depending on the given rule conditions (either temp, humidity, or a combination of both).
You can set the unit to switch ON, if the conditions are above a set of defined values (lets say, humidity is higher than 80%), and on the reverse, switch OFF, when below a certain defined value. Lets say humidity below 50%
I can go about my business, and my (now SMART) air-conditioner will keep the house perfect and cool. All the time saving me time, and more importantly, saving me money. Awesome.
Eagerly I setup this cool (pun intended) feature, and marveled at the genius of it all. Life is great, it has meaning. Oh, how SMART this is.
Setup was so simple. So easy. The AC unit is to switch ON when humidity goes above 70%, and swtch OFF when it drops below 50%
With a great sigh of anticipated relief, I open the Sensibo APP, and enable Climate React. I aim to forget about the setup, which is the whole point of having automation.
That evening, I sleep fantastic. Not once did I wake up, the bedding damp from hours of sweat. Falling asleep was just awesome, the cool, crisp airflow from the AC unit caressing my skin, keeping me cool as a cucumber. No nagging worry the next morning that the AC unit was running for hours during the night, increasing the electricity bill dramatically. I was WINNING! I was my wife's hero.
My elation soon crumbled. I had a very serious 1st world problem to deal with!
I am at the office. The day is still going great, until I get a call from my frustrated wife: The AC unit keeps switching itself on during the day. She uses the remote to swich it off, but it stubornley keeps switching back on. I access the smart app, checking the history.
Climate React was kicking in, swiching the unit on. The super clever rules were simply being followed. I disable Climate React. The day goes on. No more frustrated wife.
Day turns into night. I wake up in turmoil, early morning hours. I am sweaty. I am hot. This cannot be! I have climate react! Frustrated I check the app. Crap, climate react was still disabled.
Next day. At work. Another call from a frustrated wife. Manually disable Climate React (again)
I quckly realise that Climate React is suddenly intefering with my way of life. It is NOT the answer to all my sweaty misfortunes. It is lacking in one very very very important aspect: SCHEDULING!
Checking the Sensibo app, I find there is no way to simply schedule the Climate React feature. There is a way to enable/disable it using location based control, but that is not going to solve my issue.
A few hours later, having had posted my need for scheduling online, I became aware that Sensibo has an API. Simply PUT (pun intended), it will be easy to send PUT requests via the API, thus enabling me to effect the schedule I want.
Scheduling can even be done via IFTTT, using webhook service, and your favourite (supported) calendar. Personally, I opted for a CRON based schedule, since I have a Linux server that is on 24/7. I prefer that to adding scheduling clutter to my Google calendar.
How to do this:
- Get an API key via Sensibo online account: https://home.sensibo.com/me/api
- Get the wanted Device ID from your listed devices: https://home.sensibo.com/#/pods
- Fetch my BASH script, and save on your server as an executable file. ~/sensibo_climate_schedule.sh https://gist.github.com/ProxiBlue/f7a751c9634a175bde1d6725abd7ce6c
- Create a cron to schedule on
- Create a cron to schedule off
The script simply takes a TRUE or FALSE param.
Alternatively, if you prefer IFTTT:
- Create a schedule via IFTTT supported calendar. I used Google Calendar
- Create an API key with Sensibo, and also get your device ID
The title is important, as you will use that to match the IFTTT applet - Access IFTTT account, and create a new Applet
- For 'If This', insert your chosen calendar service
- Select an option where Event Starts (Event from search starts) and configure to match the keyword/phrase you used as the event title in #1 (creating event in Calendar)
- For 'That' configuration, select the 'webhook' service
The URL will be: https://home.sensibo.com/api/v2/pods/DEVICE_ID/smartmode/?apiKey=YOUR API KEY
Replace DEVICE_ID and API KEY with your data, as collected in #2 - Set Webhook Method as PUT
- Set Content Type as 'application/json'
- Set Body as : {"enabled":true}
- Save
Now create another, but do one to detect Calendar event ENDS. In #9, the body will be : {"enabled":false}
Done.
Another very serious 1st world issue solved!