The wood-burning heater [g3gg0] has at home works perfectly, except for one flaw: the pellet reservoir needs to be manually refilled every few days. Humans being notoriously unreliable creatures, this critical task is sometimes overlooked, which naturally leads to literally chilling results.
With automatic fill systems expensive and difficult to install, [g3gg0] wanted to find some kind of way for the heater to notify its caretakers about any potential fault conditions. Not just the fact that it was out of fuel (though that would naturally be the most common alert), but any other issue which would potentially keep the heater from doing it’s job. In short, the heater was going to get a one-way ticket to the Internet of Things.
As it turns out, this task was not quite as difficult as you might expect. The Windhager heater already had upgrade bays where the user could insert additional modules and sensors, as well as a rudimentary data bus over RS-485. All [g3gg0] had to do was tap into this bus, decode what the packets contained, and use the information to generate alerts over the network. The ESP32 was more than up to the task, it just needed a custom PCB and 3D printed enclosure that would allow it to slot into the heater like an official expansion module.
When an interesting message flashes across the bus, the ESP32 captures it and relays the appropriate message to an MQTT broker. From there, the automation possibilities are nearly endless. In this case, the heater’s status information is being visualized with tools like Grafana, and important alerts are sent out to mobile devices with PushingBox. With a setup like this, the Windhager will never go hungry again.
Or you simply put a recurrent task in your calendar… KISS
because the heater/burner always burns through the exact same amount of pellets in the same timeframe obviously.
oh and let the calendar remind you of the other fault conditions that happen predictably in the future too… ;-)
I’ve lived in cold climates for almost half a century, and have yet to EVER need a heater to be connected to the internet. When you live in places like this where the home heating season is 8 months long, you make it a habit to keep an eye on the heater, whatever kind it is.
well, then we seem to differ in our programming models.
i prefer to get an interrupt for events that are not easy to schedule, to get my head free of all things i would have to check every day.
and enjoy optimizing my workflows – without relying on the usual cloud stuff or buying off-the-shelf, cloud-based stuff.
you seem to prefer actively polling your devices for their current state, which is a lot more deterministic.
both are perfectly valid paradigms.
Yeah, I do tend to be rather hands on when it comes to electrical and mechanical equipment. Probably comes from my years as a maintenance guy working on pretty much everything one can find in your average factory. I don’t mind monitoring systems (and even built a few), but I don’t trust them enough to use them for critical systems without verifying with my own eyes, and around here heating is a critical system. Doing it that way works for me, or at least it did back before I retired. (now I can be lazy and let the landlord do it)
Wow so you can’t even bother to consider that there can be more than one way to do something, no wonder you live in isolation, and no wonder you spend your days staring at your stove.
Isolation? Oh, heck no. Nothing like that.
I just spent a lot of years working as an HVAC tech, among other things, and I know how to keep a furnace working reliably.
As for the isolation, I currently live in a 60 unit converted factory, so not much isolation here. I also don’t have to maintain my own furnace anymore. Retirement has its perks.
I also understand quite well that there are many ways to accomplish the same thing, and didn’t say my way was the only way. I simply pointed out that I don’t need the internet to watch my furnace for me. Silly me, didn’t realize that I was going to offend some insecure keyboard warrior by knowing how to heat my own home without adding extra potential points of failure to my equipment.
I thought that too, but then I realized I was on Hackaday. The things people do here aren’t necessarily “worth it”, but are more about learning, practicing a hobby, and having fun!
Pretty sure he knows he could set reminders. He could churn his own butter and use an icebox too.
How dangerous is an IoT interface that can inject, not just sniff, data on the RS-485 bus to a heater?
I only ask because his write up suggests that the ESP can also inject commands onto the bus.
the system is well designed and the protocol is quite robust.
modules on the LON bus can request their required water temperature (like for radiators or alike),
but the main control unit still has control over the whole heating procedure and system safety.
even if you would manage to override or reprogram the software of the main control via LON,
you still have physical overheating protection switches, which would shut down the heater.
so its not like “oh, i flipped a bit, now we’ll get a melt-down”.
it’s just as windhager would design heaters for their living ;)
injecting is probably not quite the right term for this. i’d rather call it “actively take part on the LON network”.
it was designed to have multiple devices – even things like the PCB i made.
I might just contact the Windhager folks… they might be interested in moving to the IoT age. Nice work; don’t pay any mind to the naysayers; the functionality works for you and you made it happen. Forget the hate, it isn’t their heater!!!
There are several uses of esp based automation. I have my heater automatically turn off when I am outside home (we don’t get freezing temp, heating is mainly for comfort) and automatically turns on when we are back home. Saves me bunch of money by not heating empty home.
I’m not going to be satisfied until I can also talk to my heater, not just listen… Working on it. Congrats on your beautifully clean solution.
I think if I tried to bolt anything electronic to my yunca it would melt. But I doubt there is a less cumbersome way to load logs into it than by hand anyway. Nice hack :-).