I SWEAR it's impossible to make fun of the selfhosting / hacking communities. I made a joke once that they should hack a toothbrush then I found they already did
"Oh so you're telling me it works via the flow of electrons to power motors and sensors? Hold my beer."
Side note: This is why it's infuriating that companies seem to believe what we want is unsecured bluetooth / wi-fi enabled toothbrushes hooked up to our home networks and smartphones via some equally hacky app that tries to link toothbrush usage to buying habits and ad efficiency.
As the other poster said, both Zigbee and Zwave devices do not talk to the Internet. They can't even connect to your Wi-Fi anyway. They need to connect to a device that acts as a router but specifically for Zigbee or Zwave, usually called a Hub or Coordinator.
There's many different hubs around. Many commercial ones do indeed connect directly to the WiFi and therefore internet. But nothing is stopping you from buying a USB Dongle Hub with open source firmware and plugging it into a Raspberry Pi, if you want to eliminate the potential spying.
The Zigbee and Zwave networks inherently cannot communicate with the Internet. So the only risk of spying is if you installed something in the Raspberry that spies on you.
Both Philips Hue and IKEA Trådfri and many other vendors simply use Zigbee, which means you can bring your own Hub and completely eliminate the risk of spying.
I have some z-wave thermostats, which I know do not talk to the Internet, just a local system with a zwave dongle.
For a relative, recently set up a similar setup, but with a homekit thermostat. Similar deal, though it really really wanted to connect to a cloud server and you kind of had to trick it to a non apple homekit setup. The follow on model from that brand did drop homekit support, presumably because they wanted to force their cloud servers, which became required for any advanced functionally.
There are ways to get automation friendly devices without a cloud connected requirement, though admittedly you have to be paying pretty close attention. Generally offerings for business are more likely to be locally workable, but that's hardly a given either
Honestly, that's how competent programmers look at just about everything these days, especially junky-ass websites that probably couldn't violate more best practices if they tried.
I have a heat pump as well as a furnace (for auxiliary heating). The thermostat frustrates the hell out of me! For one thing it loses its date and time (yes it has a full calendar date and time as well as time zone) if there’s even a single second power outage. How hard would it have been to put a CR2032 battery and a diode in there just to run the clock when the power fails?
For another thing, the thermostat itself runs extremely hot. Just putting my hand on it, it feels super warm to the touch. The LCD touchscreen on the other hand has molasses-slow response time. It’s almost impossible to set the temperature on the first try without overshooting by 2 degrees.
Lastly, it is designed to be able to run both the heat pump and the furnace when heating load exceeds the capacity of the heat pump. The thermostat also has a sophisticated time of day temperature set point schedule system (with separate schedules for every day of the week). However, the damn thing does not correctly reconcile these two facts!
I have the system set for cooler temperatures at night and warmer temperatures in the day. When the morning arrives and the schedule hits the higher day time set point, the thermostat suddenly sees a multiple degree deficit vs the set point and then calls for emergency furnace heating because it thinks the heat pump is failing to meet heating demand!
This is so maddening and stupid! Why can’t I have the temperature set point just continuously and cyclically vary throughout the day and night like a sine wave? No, the dumb thing runs the heating and cooling schedule as a square wave and therefore runs the furnace every single morning in order to slam the temperature up by a few degrees to the day time set point instead of gradually ramping it up over several hours with the heat pump…
If my choices are a z-wave/zigbee thermostat that connects to my HomeAssistant instance and a Raspberry Pi that I have to maintain, I'll pick the z-wave one (and I did, 10 years ago. It's been rock solid.)
For my smart devices I prefer devices that can't send information over the internet no matter what. I don't want to worry about my thermostat mining bitcoin for some dude in China.
A smart thermostat is the only "smart device" I have in my home (ecobee). I figure it actually is better than something I could design in a week so it seemed worth it. Do you know of an actually competitive open hardware/open source solution?
And deal with breaking updates happening on HA and the thermostat software itself while simultaneously maintaining api keys and policy changes every 2-6 months.
Its hard work.
You're better off making your own thermostat relay controller
Most programmers (those doing fancy GUIs and C# programming on a PC) would be seriously out of their league if they ever actually tried to program such a thermostat. Or any other embedded system. You really need a special skillset and hardware knowledge to even get a simple embedded system running. This is what my trainee just learned the hard way in the last weeks...
Raspi is overkill. Mine runs off an esp32 using code I wrote in Arduino. The web interface takes up more space than the code.
Only reason it's an esp32 instead of an Atmega 328p is the wifi support
my high efficiency HVAC unit would like a word with you.
what you're saying is basically you can replace anything with a RPI. yes, in theory, you are correct. but, unfortunately for you, there are nuances that you didn't take into account. such as, startup/shutdown procedures, cool down cycles, heat pumps, dual compression ac units, etc.
That will get you a really shitty thermostat. Sure, even modern boilers can be controlled with a simple on/off signal but you really don’t want that, because it sucks. At the very least you need to make something that speaks OpenTherm. That allows you to modulate the boiler. With a simple on/off style thermostate you get relatively large temperature swings, with a modulating boiler/thermostat you can achieve very constant temperatures, which is way more comfortable, but requires both a more complicated protocol as well as more complicated logic.
Thermostats are Barney basic in function, touch the red to the hot to call heat, red to yellow for cool, and red to green for the fan, then open the circuit when the temp is where you want it. Kinda sounds like a fun project.
It’s actually surprising that we expect so much from a smart thermostat. Wouldn’t it be far smarter to sell a dumb thermostat on a local iot network and put the smarts in your automation hub? People who want the extra functionality would be good with that and people who don’t would appreciate saving the money
I could see that, but you have to remember that the average consumer doesn't have an automation hub or get deep into the automation sphere, and as such many of these products are designed to be standalone devices that can be controlled from a phone. Often enough they can be the only 'smart' device in a home.
That all said, a dumb thermostat like your suggesting would still require a small CPU, ram, embedded OS, and network stack/hardware to operate and communicate, so I don't know how far the savings would go. I can't imagine the processing power on something like a nest is that powerful as it is.
Yes, the C/blue wire is common, basically a neutral for the 24v system and necessary for more digital thermostats to keep the thermostat powered (some can work without the c wire, but it depends on the unit feeding power). The old mechanical ones work on the tilting mercury thing or copper coil for temp sensing, and only require the red wire to touch their respective wires to call whatever function, but the digital ones do the same thing on a switching level. I know there are additional wire sometimes for multistage heat and zoning, but as far as I know it's the same principle. I'll be honest I'm an electrician by trade and not an HVAC guy, and I know some of the more intricate systems can deviate from this, but your average residential system should be similar or damn near the same as my original comment (granted my experience is in Southern CA, so there are possibly regional differences with oil furnaces, radiator systems, etc).
I had no idea it was that simple! How do you control heat pumps? I know they have a setting where if outside is too cold it runs backup electric or gas.
Heat pumps are an entirely different story, and I don't have too much experience with them, most of the splits I've seen come with their own remote controls. I was talking on more traditional wall heaters, central air/furnace/forced air, etc.
Heat pumps are not simple at all. They are extremely efficient but can’t produce a large temperature gradient so they need to run very long cycles (potentially remaining on 24 hours straight). Modern cold weather air source heat pumps also tend to have variable output (variable speed compressor, variable speed fan). This demands a more complicated thermostat that adjusts the heat pump up and down, possibly with PWM.
And then there’s the emergency/auxiliary heating from the furnace. The thermostat needs to have some intelligent logic to decide when the heating demand exceeds the capacity of the heat pump and call for the furnace.
If its a cheap crappy one, the compressor is on/off depending on temperature. Decent ones will have a VFD to manage the load of the compressor so it doesn't have to turn on/off all the time but just regulates the compressor load to match heating/cooling requirement. Both have their own controls, and you generally shouldn't mess with them.