- cross-posted to:
- memes@lemmy.ml
- cross-posted to:
- memes@lemmy.ml
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.
Tape a raspberry pi to the wall with some relays and a temperature sensor dangling and call it a day. Anything else is spying on you.
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.
Yeah, I use Zigbee with Home Assistant, it’s pretty great, except it sometimes bugs out and I have to restart a few devices.
Do you trust every device you buy without question?
Nope, but I trust the ones that lack the hardware for dialing home.
But generally I don’t buy devices unless I have reason to trust them.
Well that’s not quite true.
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
Nah, just get one that can integrate with Home Assistant.
Nah, protect your privacy and build your own. You just need an esp board, a 4x relay board, and a thermometer sensor.
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…
Program it in increments?
My house has a lot of thermal mass. In the morning when the temperature comes up, it tends to overshoot and make the air temperature too hot after working hard to heat all that thermal mass. However I found it much more comfortable to add an increment: half an hour at a degree colder than I want. Now it can heat all that thermal mass while overheating the air is just playing into my hands
I’ve got it programmed in increments of a half a degree per hour. The thing still goes into panic mode.
Wow!
I think they might be computing the derivative of the temperature at time t in real time. When the schedule shifts to a higher set point the derivative goes to positive infinity and the system panics and calls for emergency maximum heat output.
They really ought to compute the temperature set point schedule for the whole day at once and then apply a low pass filter to that.
If we’re on this subject, do you happen to know any active esp Lemmy communities?
thanks and merry christmas
Noting ESP specific to my knowledge, but there is a home assistant community.
Alright I’ll check it out. Tnx:)
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?
This is the way.
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
From my understanding, those days are in the past. I can’t speak to that from experience because I only recently got into HA.
Depends on what proprietary WiFi controller you purchased. The one I bought for my electric underfloor heating makes me manually request new api key every 6 months. So I’ve had to write ANOTHER script to automate requesting a new key via their website with selenium
Now theyve put a captcha in and ive since given up. I’m too old and busy for these games so I made my own janky looking ESP relay setup
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.
Or mobile websites that ask you to install “apps”
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…
Except thermostats. You literally could do it with a Raspberry Pi, some 24V relays and a temperature sensors. Thermostats are not that hard.
Smart thermostats do way more than just set the temperature: that’s just table stakes and of course easy. Off the top of my head the ecobee will:
-
Set the temperature also taking the room’s humidity into account
-
Communicate with sensors throughout your house
-
Can change things via the Internet in case you accidentally forget to set it to a better temperature when you’ll be gone for a few days
-
Tweak your schedule based on demand
I’m probably missing things, but they’re actually pretty useful, and I’m someone who thinks most IoT is shit.
Which are all things you can easily do with an RPi and some simple python. My response was to OP stating that embedded systems are hard.
If you’re using a specific embedded system and want to make it pretty, sure that could pose some issues, but if you want to make something functional that matches what a smart thermostat can do, there’s not much behind it.
Programmers love to oversimplify things; “do easily with an RPi and some simple Python” is kinda meaningless. Like, yes, an RPi is a general purpose computer and Python is turing complete, thanks.
For one, UI/UX is actually hugely important for a consumer device and definitely nontrivial, but on top of that, there is way more that goes into creating custom hardware than a bill of materials (which isn’t just saying “Raspberry Pi”) and choosing a programming language…
A thermostat is controlling a very expensive device that runs on a highly flammable gas that costs me real money to use. I want 0 serious bugs. I also want 100% uptime. A poorly made “smart thermostat” is way worse then the old school analog metallic ones imo. I also want my partner to be able to control the temperature in the house. These devices are actually not simple at all and I assume that’s the reason there isn’t a good open source/open hardware solution.
Embedded systems aren’t some mystical impossible thing - contrary to the previous commenter I actually find working with them easier then designing GUIs - but the commercially available devices are definitely nontrivial to recreate
For one, UI/UX is actually hugely important for a consumer device and definitely nontrivial
Hugely agreed. I’m a huge proponent of DIY / open-source / self-hosting / repurposing etc…but also I realize if I duct-tape-engineer something that “requires a little fiddling until it works” and I’m the only one who can competently use it, I’m setting up the rest of my household for failure when (not if), for whatever reason, I’m not there to babysit it or walk them through it.
Which are all things you can easily do with an RPi and some simple python.
Just like anyone can “easily” rebuild their transmission or patch a piece of leaky copper pipe or bake an apple pie from scratch or hit a bullese from 50 yards out.
What’s easy for you isn’t easy for everyone.
-
Inputs and outputs mapping sure is hard /s
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.
This made me think:
What about thermal runaway protection? I’m betting that might be easily overlooked in a custom “smart device” if, for whatever reason, the temperature sensor were to fail and keep reporting “Hey it’s still only (below_target_F_degrees) in here! Keep that heat on full blast!”
This was an issue that made jank 3D printers catch fire and burn houses down until it was mitigated with open source firmware.
Point being, unless there’s a “custom smart thermostat project” that’s vetted and trusted, stuff like this might be overlooked in someone’s Python project, wherein it’s bog standard, low level, possibly redundant, in consumer devices. (Especially thanks to safety standards.)
Should there be an open-source smart thermostat project that’s looked over by thousands of HVAC turbo-nerds and engineers? Yes. Yes there should! Might already be?
All of that is handled by the HVAC (if there’s anything to handle) and not the thermostat
Thermostats can be (and most often are) a bimetallic strip that bends one way as it cools and bends the other way as it warms, and that flips some switches that you set for temperature ranges which then demands cool or hot from your hvac
That is the simplest possible thermostat and works great for setting a temperature, but that’s not the ideal thermostat. The temperature your house “feels like” also depends on humidity. You may also care about the temperature more in a spot further from the thermostat and getting accurate measurements in that location can save you money and waste less gas. There is also the decision of how long you should run a furnace and, in the case of multiple stages, which stage you should run, although some furnaces control the stages themselves. Then there is air flow. Controlling the fan separately is useful if the house doesn’t evenly heat. Sometimes you can just have the fan turn on more often and use the actual furnace less, saving gas again.
Also sometimes it makes sense to heat your house slightly more during high demand hours to save money. I dunno there is just a lot that could be done with an intelligent thermostat, it’s one of the few things that makes sense to make smart to me.
Those are all very nice things to have in an improved thermostat, I agree completely
The point I was replying to was making the erroneous claim that basic operation of an HVAC isn’t possible with an RPI thermostat because of things the thermostat doesn’t handle
Ah sorry yea agreed, at least for the units I know about
I think what you’re failing to understand is that newer HVAC units are designed to be run in a specific way. if you disregard that, and run it like a unit from the 1980s you will halve the life of the unit.
yes, most of the “brains” are on the unit itself but without proper “eyes” the brains are useless.
I’m not even an HVAC tech but I’ve worked on them enough to know it’s a dumb idea to just replace your thermostat with “a raspberry pi and a bunch of 24v relays”. there’s just too much risk of things to go terribly wrong and multiple people literally die.
I think what you’re failing to understand is that newer HVAC units are designed to be run in a specific way
Not missing that, as I and yourself said it’s done via the actual HVAC unit and not the thermostat
but without proper “eyes” the brains are useless.
No, the nicer features just don’t get used, it doesn’t make the entire unit not work
there’s just too much risk of things to go terribly wrong and multiple people literally die.
Lol, people aren’t going to die if you replace your thermostat with an RPI unless you wired the thermostat so poorly that you somehow manage to schock someone touching the thermostat
Again: thermostats just tell the HVAC to run and which part to run, any other advanced features are not required to be catered to in order to work. My brand new fancy schmancy heat pump with all those cool features listed runs off the same $2 Honeywell thermostat my old heater did, if I want the advanced features like zone sensing I can upgrade my thermostat, but my heat pump works without them just fine
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.
Everything is laugh and giggles until the thermostat is turing complete.
I’m a programmer. I miss my 70s thermostat. Hot/cold/off, temperature, and fan on/auto. Very simple. Just worked.
The smart thermostat is nice, but it’s something I’ll need to revisit when I have time.
I have smart thermostats. I block 100% of their traffic.
Why?
One winter I woke up to my house being not 70, but 50. BOTH of my units had stalled after a botched firmware update.
I can’t trust a multi-billion to fuck my house up while I sleep. not once, not twice.
now they are nice glowing thermostats I can see in the dark that my power company paid for.
couldn’t be happier since cutting them off.
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.
My Ecobee not only has some fairly sophisticated software, a touch screen, and remote sensors, but enough CPU to run Alexa
I’d be curious to see what system resources are required for Alexa
I’m sure not much: Amazon is not likely taking a loss on all those $50 Echo Dots, but that’s a lot more than a thermostat needs. It’s also on WiFi and can play streaming audio, so that’s not nothing
Is that the same for the ones with the C wire or any of the other crazy wires?
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 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.
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.
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.
They have their own microcontrollers usually to manage that stuff, including defrosting
I mean, as far as my mum is concerned, even setting up the TV channels correctly is “programming”…
“Smartknob View”