Intelligent Thermostat as cloud service

Hi all openhabbers.
Probably not only related to OH.
I’m also looking for Thermostat solution and came to some question. According to different tests and reviews in internet, like I found that modern Wifi thermostats like Nest, Ecobee, Honewell and others use some more sophisticates algorithms, than just setpoint temp keeping or week schedule, to control the heaters. For example some of them learn somehow, others use presence sensors and third are using weather info from internet and GPS Geocaching. All of this brings some savings to heat bill, according to reviews from happy customers.
So my point - I don’t like to spend n x 250$ on nice wall panel - and my Smart House already has all necessary sensors and actuators - presence, temperature, Internet Connection. What is missing - intelligence. Off course I can try to write all necessary rules in OH by myself, but it’s probably will be quite complex. Much better would be to get some thermostat library(where), but anyway I would be struggling configuring the system by myself.
But I think about another solution - what if such intelligence would be a some cloud service or server in internet, where my house would send periodically all necessary data from sensors (via MQTT, for example) and this service should run all these sophisticated algorithms, which present in thermostat for 250$ and just send back to my house the control signals to turn on and off the heaters. Latency is not critical here, so the only thing is that internet connection should be reliable, but this can be handled in some way. Setup should relatively easy, as data exchange protocol should be standardized.
Off course the service should be configurable for my needs using Web access - schedule, location, algorithm optimization, etc. I will also have access to statistics.
Perhaps such service already exists, do you know? If not - would you pay for it some reasonable amount, as part of savings?

1 Like

It’s a great idea, but probably has a very small potential market. The smart thermostat vendors most likely invested considerable time and money into their proprietary algorithms and guard them very carefully, but there’s nothing stopping anyone from making a nice cloud service that can take inputs from different sources (external weather and temp, internal temp, humidity, occupancy, kind of HVAC system, historical time-to-temperature, etc.). The smart thermostat vendors also have the selling point that their products continue to function well in absence of Internet access.

If you were looking to buy a smart thermostat and the ecobee3 works with your equipment, I can’t recommend it highly enough. Very capable, flexible and easy to use, and the latest rev supports Apple HomeKit natively, something that Nest is unlikely to do.

It’s highly unlikely that such a service exists - or ever will - beyond a ‘closed-shop’ solution to handle products of a single vendor. There’s simply to many factors to come into play for a full-range HVAC control solution (think of ventilation, cooling, fireplaces etc., all from different vendors …), and as @watou correctly noted, the addressable market is small.

I’m using the MAX! thermostats. They provide a cloud based GUI service for free. You don’t need to use it, it’s meant to enable you to access your thermostats from the internet because it is designed to run as a standalone system.
The amount of intelligence is rather limited, though, as MAX! don’t have motion detection, which is a prerequisite for knowledge about presence and thus more ‘intelligent’ heating algorithms.

Then again, you can integrate the MAX! system with openhab (see maxcube binding) and override/complement the MAX! system with your openhab rules. That’s what I did to add knowledge about presence, ventilation status, open doors, etc.
In the end, the $250 algorithms aren’t all that sophisticated. Some homemade openhab rules will get you a similar result.
Oh, and MAX! are just €30,- each.


About Market - I think the market is not yet there. The IoT world is exploding now and “cloud” home automation is already what OpenHAB is doing with it’s multiple binding solution and free hardware platform choice - it’s like a cloud.
I actually wanted to ask those “smart” thermostat vendors to provide such service in addition to their physical thermostats to gain additional customers, who don’t want to buy the box. This is very small investment, since algorithms can be reused. All they need is a cloud platform, which are already available from IBM, Microsoft and others.
Also Mathworks provides their platform, which is perfectly suitable for this - e.g. collect the data, analyze with MATLAB script, trigger the action.

I know of no service that provides thermostat algorithms. As @watou states, the vendors of these smart thermostats guard their algorithms as trade secrets and the market for providing them as a cloud service is pretty small. And there really is no need to make it a cloud service as all the information needed is local.

Next, I’ll rant for a bit and bring up the fact that yes, smart thermostats are expensive but how much is your time worth? Personally, based on how I value my own time, it would be FAR more expensive for me to try and implement the same things a smart thermostat does even at nx$250 unless n gets pretty big.

Now, to address your problem. Like @Artyom_Syomushkin suggests, Mathworks provides a nice platform for gathering and analyzing your IoT data which would be a good place to implement your algorithms. Wolfram Language (maker of Mathmatica) also probvides a cloud based algorithm and data analysis platform which, while not taylored to IoT could also provide a good place to implement your algorithms. I have no direct experience with either platform.

There are also at least two major machine learning libraries/servers that have been released and I recall some threads on this forum of people discussing how they interact with them but can’t find them at the moment. The problem with those sorts of libraries though is training the AI and potentially relying on a non-deterministic algorithms to drive your HA which I personally don’t like.

While that statement in general and all by itself is valid, I think you’re missing the point.
The value is not in the sophisticated intelligence of a single thermostat (or set of those). The executed algorithms all by themselves aren’t complex.
What Nest etc. did and now protects is to program && parametrize an algorithm to work in a product so that it can learn to adapt to anyone’s needs (which is a very complex and task indeed). Still, their result is not as good as when you just statically include your (well known) personal preferences into the code. That in turn is not too hard and time consuming.
And it allows to make use of input data that Nest etc. don’t have access to, which should give you overall better results.

1 Like

Not all. At least you need weather information, sometimes also GPS location from mobile phones. This is external. Also schedule requires calender, which is easier managed via Google service, than home-made.

For me too. That’s why I would not do this for myself only. But just some economics: That doesn’t mean that I would spend 250$ on nice looking gadget which can do temperature regulation only and has a nice display. Instead I can get much nicer 50-100$ touch panel of my preference which in addition to temperature setpoint would also control complete room, like light, curtains, scenes, etc. via OH + cloud service for temperature control for let’s say 1$ per month. This will cost me 100+120=220$ for 10 years. For me this is greater value, than Nest or Ecobee provides for roughly same money during their usable life.
There might be also some smart house owners, who don’t need room panels at all, but just have small arduino temperature sensor. This becomes reality, as I heard from Nest owners, that once the thermostat is set and learned, there is no need to adjust temperature frequently - you can just forget about it and from time to time adjust setpoint or plan your vacation using your favourite tablet or PC instead standing near door and programming via small screen. For them getting equivalent “intelligent” thermostat functionality without need to buy expensive gadget is a great alternative to self-implementation. In addition I doubt you will get such “maintenance-free” thermostat functionality using simple regulators when self-programming the thermostat functionality in OH for example.

In which case you have answered the question of “how much your time is worth and whether it is worth it to DIY to you.” The way you originally worded you posting it sounded like your main concern was that Nest et al were too expensive and that is what you were trying to solve.

I don’t disagree but I’ll play devil’s advocate for a second.

How much better results? What would be your criteria for better results? Less power used? More comfortable temperatures? HVAC only does so much and it really only controls one variable (temperature) unless you happen to have a whole house humidifier which most thermostats, smart or otherwise, don’t handle anyway. But even if they did we are not only talking about two variables. So given that, how would you measure “better results?”

Besides indoor temp, outdoor temp, indoor humidity, outdoor humidity, weather conditions, presence, and historical data (time to reach temp given conditions, preferred temps at given days and times of day), and location (i.e. coming home) what information would be useful to indoor climate control? I ask because the Nest has access to all of this info by itself or via the smartphone app.

As for “your (well known) personal preferences,” what would those be for an HVAC system beside “I like it to be this temperature at this time of day” or “when I’m on the way home I want it at this temp by the time I get there”?

I’m not saying Nest or other similar products are perfect (e.g. they don’t really provide a way to run the fan based on temperature, they don’t seem to integrate well into whole house humidifiers). But without a more specific definition what “better results” means or concrete examples of what you could do that current smart thermostats can’t do with augmented with some relatively simple OH rules I’m still skeptical.

What I meant by that statement is that there is no reason to host your HVAC algorithms as a cloud service. Yes, it still will rely upon data from other external sources, some of which may very well be cloud services. But it can pull all those data down to the local instance and does not itself need to be a cloud service to utilize that data.

But are there enough of customers like you to make this a viable business? Or are you simply making the case for why we all use OH in the first place?

This is true.

You can do that now with the Nest app. In fact I only interact with my Nest via its built in app or via my OH sitemap.

Again, are there enough people willing to pay for such a system to make it a viable business? Given that your audience will be a subset of HA enthusiasts I agree with @watou that the potential market is pretty small.

Perhaps when OH2 comes out with the new rules engine which allows easier sharing of rules someone will implement some thermostat rules and make them available.

A final note. While I do indeed have a Nest, I too believe they are overpriced, but there are other cheaper options that do almost the same though often with a more traditional HMI. I only have one because my old power company sent it to me for free when I signed up for a program that allowed the power company to adjust my target temps a couple degrees when there is too much stress on the power grid.

Well, I’m not familiar with the Nest so I didn’t know it has access to humidity and location. That’s what I had in mind. Does location work with multiple persons, too ? Would they each need to run the app ?
For example, I can ramp up my wife’s room temperature right when she’s leaving her workplace.

Less power is a point. My smart thermostats are linked to sensors that detect open windows. My pumps are activated from OH just when I have a need to heat.
And I have floor heating. Not sure how well Nests handle those. And I plan on a whole house ventilation.

Anyway. You’re right, it’s hard even to just determine the criteria for ‘better’, and it’s even harder to measure. It’s likely impossible to determine how much energy could be saved by making use of this ‘extended’ knowledge, still I believe there’s quite some potential.
And finally, don’t we all do it just for fun, just for the sake of it ?


Yes it will work with multiple users. All users will have to have the Nest app installed and logged into the account the devices are registered with. I should caution though that this is a feature I have read Nest supports but haven’t used myself. It also might be something better supported on Android with Google Now, I’m not sure. My wife is a stay at home mom so the vast majority of the time someone is home so I don’t really need this feature and haven’t played with it much.

This is actually the use case they advertise, only they go one step further and learns how long it takes typically to get home coupled with how long it takes to reach the target temp and turns on the heater/ac so the house is just reaching the desired temp when you get home.

I think it works with floor heating just fine. I’m not sure whether it can handle a separate whole house ventilation. I suppose if the wiring is similar to a forced air HVAC it should work. That is one of the issues I had as I want to use my fan as an “air conditioner” by circulating air from the basement when it gets hot but had to write a rule in OH to implement that as Nest only supported turning the fan on on demand or for a certain number of minutes every hour. It won’t connect to your door and window sensors entier but those would be simple rules in OH to implement.

In my opinion any project like this should have a measurable goal. That goal can be “learn HVAC algorithms” or “save money on energy” or “need to interact with the thermostat even less frequently” but if you don’t define what your goal is it becomes impossible to know when you are “done” or whether you have achieved your goal.

That is where the “what’s my time worth” calculation comes in. For me if it is something that I would pay for someone to let me do then absolutely it is worth doing it myself (for me that is woodworking). My rant was more directed at those who complain that, for example, a zwave sensor is $40 and then just implement their own using arduino without even thinking about the amount of time it will take to implement and and maintain. So if your goal is to learn arduino or you like spending time figuring these things out then DIY is the perfect way to go. But it you only want to save money, when adding in the cost of your time I think most people will find that the DIY approach is far more expensive. This is a point I often see as being lost in these types of discussions.

I agree people don’t do the proper math regarding the time they invest, often it’s cheaper to buy a readymade box than to build it yourself.
You can’t calculate your wage rate per the hour as a company does either. We invest it because we’re all enthusiasts.

But I disagree DIY is more expensive. Not in home automation.
I’ve got 13 thermostats, plus 6 or so floor valves, so your n x 250$ is … well, a lot. About the sum that I’ve invested for all of my home automation hardware (~100 devices). Time - well, it depends. If you just count the hours I’ve spent on the heating code (and omit the way larger amount of time it took me to get up to speed on OH), well, that was just a couple of hours. Some days at most, depending on how you count the testing efforts and HW works that you don’t get along without even if you buy Nests.
And not to factor in savings because Google does not know what I do all day long (remember that will ultimately result in quite some extra expenses, too - you just don’t notice right away). :smile:
Then again, we drifted quite off topic. The thread initiator was willing to spend money on the algorithm service, so he obviously is not afraid of that as am I.


Obviously there will always be edge cases.I said that DIY can often be more expensive once the cost of time is taken into account. I agree you can’t just calculate your time at a flat rate like an employer might but you have to allocate something. Remember, any time spent building something DIY is time taken away from working on something else. So if you can look at a problem and say something like “I can have this working in an hour with this off the shelf device or I can save $30-$100 but spend forty hours to DIY” you have to have some way to figure out how much money you would have to save to make it worth while stealing time from some other problem or project you could be working or hobby or activity you would enjoy doing instead. If you really really enjoy DIY electronics then of course the DIY project IS the activity you would rather be doing so you may not need to save any money at all. But if HA is the problem you would rather solve or HA is just a means to an ends then the savings would have to be much higher.

I don’t have a magic formula for calculating it but most people on these forums don’t even bother thinking about it and that apparently is a pet peeve of mine.

In this case, 13 thermostats seems a bit excessive and I think not the sort of deployment that Nest et al were intended for. Based on how they work and what they do I think they are intended to be devices that control the heating for massive parts of a house or a whole house, not to have one per room. Obviously they would work that way and Google would love for you to buy that many, but base on what I’ve read and seen these sorts of thermostats are intended for deployments of one, two, or three at the most for the whole house.

I would push back a little on this. HW installation and testing wise I was up and running with the Nest in less than an hour which included connecting watou’s excellent binding and connecting a wire the installer neglected to bother with so I could run the fan separately from the heater. Depending on the device and your existing setup a lot of the commercial devices can really be that simple.

For a similar and better apples to apples comparison I wired up a dual relay to a RasPi to control my garage doors. Basically an ON/OFF switch. I probably spent a 20-30 hours doing the research, wiring it all up, testing it out, and solving weird problems (the pin went to ON when the RasPi booted causing the doors to open), etc. I installed some zwave switches and spent all of an hour installing and getting them configured with openHAB. If you have more experience with DIY electronics perhaps you can bring these times closer together but for someone of my skill level the DIY approach will take an order of magnitude at least longer than the COTS solution.

If you are into that then the hours essentially cost nothing. But if you would rather spend the time doing something else, those hours have a cost.

I bet Google knows more than you think, but that is a topic for another forum. :smile:

You got me wrong there. By “DIY” I was just referring to programming the algorithm.
I didn’t build any electronics. I, too, use COTS hardware (zwave devices and MAX! thermostats, actually. They’re not as sophisticated as Nests, but way cheaper, around $30).
Although to completely set it all up all by myself also made me learn a lot, so I now dare to do some of the wiring myself instead of ordering an electrician every time.

Hold on guys,
About DIY vs COTS (Commercial off the shelf) - I’m professional designer of control systems, so I know exactly how much my time costs. That’s why I have no plans to build any sensors or actuators on Arduino by myself.
But what I also experienced - a translation of development to product, which can be sold. So if I would do something on Arduino - I plan to bring it to product. Then all my DIY investments will be returned, so it makes worth to invest time.
Concerning Cloud service - yes, you are right. It makes no sense to do it like this, if I would keep it just for me. But if there will be hundreds of users, then I see cloud platform as ideal sharing service - IP is not visible to users, while service is accessible worldwide. Off-course other solutions are possible, like libraries, or rules. But cloud service again - hardware independent. E.g. users of Openhab, Domotiga, FHEM, MajorDomo, Souliss as well as many other commercial platforms could use this service with their smart homes without any translation effort.
Again I’m not planning to do it by myself right now - I’m going to propose this idea to thermostat vendors and see their reaction. That’s why my economics doesn’t include my time to develop it.

I would still calculate in your the cost of your time to develop it so you will know what your ROI needs to be to make it worth your while. At this point your time is a business investment and should be treated at such.

But my commentary above is directed at the legion of users who are only doing DIY for themselves. Not for those looking to turn their effort into a business. Obviously the economics are different.

As we all have different backgrounds and experiences, mine are such that I do not feel comfortable adding third party remote control (vulnerability) to my home. I am not inclined leave temperature control to a third party. If they performed monitoring / alerts that is OK from a security standpoint. Privacy is another discussion.

I do like your idea of greater intelligence (increasing the inputs to temperature control decision making). The current state of inputs to smart thermostats includes:

  • schedules (vacation etc)
  • schedule exceptions (geo-location / explicit remote user commands)
  • remote temperature \ sensors
  • remote people sensors

This list is not comprehensive: what additional inputs to decision making would you propose? There are companies that are tapping into the data stored in the cloud and controlling (turning off airconditioners) on behalf of power companies to manage peak loads. Is your idea an incremental improvement of efficiency or a new type of decision to be made?

For such concerns the solution would be to provide some thermostat library, running on your home automation hardware. Then you will have no concerns. But I can imagine effort to port it to different hardware, because It should be cross-platform to gain some number of users. Even for Open Source it has to be like that. Otherwise there will be no maintainers.
But unfortunately I know that there is no common standard for rules, therefore library will have to be rewritten from scratch for every platform and supported separately.

According the reviews the existing thermostats have also:

  • Weather via Internet
  • Presence detector via PIR Sensor.

Simply two main goals:

  • Maximize the heating cost savings in comparison to conventional Thermostats, while keeping comfort temperatures for habitants.
  • Fire and Forget solution - e.g. ideally the thermostat should not require any adjustments whole year long. Once set up I want to forget about it’s presence.

BTW this is one more reason to make it cloud-based. I want to protect my investment even if I will just keep it for me.
I don’t know yet if I will stay with OpenHAB forever or not. But if I will reach the limits with it I will need to migrate to different platform.
And here my time investment comes in question. If I implement thermostat as OH rules, definitely I will loose my time, used to implement it on OH when moving to new platform and will need to reimplement it there. But with cloud solution I will save it.

Some additional thoughts about this topic.
Ranging in Internet I found technical datasheet of some popular heating controller from Danfoss:

There is interesting section, which lists all programmable features of this controller, like weather compensation, automatic, cooling, heat storage etc. It’s worth to mention, that those features are not coming for free with hardware purchase. No, you need to buy application key for 150-200€ in order to activate one or another function. Good money making!

So in my cloud vision it could be realized like this:
The one, who wants such intelligent heating control, implements the heating/colling system according to similar application note, as from Danfoss, where all sensors, panels, switches, pumps and motorized valves are connected to some home controller(openhab etc) which has access to Internet.
Then he opens a personal web-panel, where all his sensors and actuators are assigned to “virtual” heating controller I/Os and defines his heating scheme. On the other tabs he activates necessary weather-compensation automatic, energy saving features, warm water temperatures etc. And that’s all!
And afterwards all he needs is to ensure that OH has a reliable internet connection to service and can watch nice charts of the temperatures and operation. And all this for much less money, than local Heating Controller.
What about this idea? I’m almost ready for making a start-up:slight_smile: