I've posted this on another forum and wanted to share what I had here to help a wider audience. I originally got the idea from this forum so I hope you guys like it.
I'm using a Pi2+B with a wifi dongle running Raspbian Buster on a Jotul F45 v2 wood stove. Stove was installed December 2020 (managed to get the last one!) and Pi was added in January. I heat a ~1300sqft house with a NG furnace but try to offset as much heat as I can with the wood stove. With Covid, I was able to heat almost exclusively with wood last season with wfh, hoping to do the same this season.
The inspiration for this came from when I had to do the break in fires. Going off a magnetic temperature seemed archaic. Being on cast iron I knew it would heat slow, being on a cast iron surrounded by steel would be slower. My biggest paint point was figuring out how big a fire I could make to get the temp up as quickly as possible without it running away from me. Looking at the magnetic thermometer it was always a guess as to when it would peak and start dropping. I had a separate flue probe thermometer that helped but the overall setup wasn't working for me. After the break ins I felt tied to the stove more than I needed to be. Growing up my parents had a Noble stove that was steel that came with our house. I learned how to use it but we didn't follow any sort of science to it. Put wood in, set air low. As long as the fire was going we didn't worry about how hot the stove was. Only how hot the room was getting. Besides not making the stove glow red (there was one time) it was set and forget. With a newer stove I knew that adage was gone and with the increased components inside there's more room for things to break. Dialing in the temperature in real time was something I needed to feel comfortable and after browsing this forum found the idea of using thermocouples to measure the heat. I had a pi but couldn't find a reliable tutorial to use so I took some parts from several sources and decided to create my own post with all I've learned.
The hardest bit was finding a thermocouple board to register the temperature and read from it. I originally browsed hearth.com forum and some people here had success with a pi and a separate maxi board that reads the temp. I tried ordering Max31855 board but it didn't quite work out too well. I didn't like the tutorial, there was too much that could go wrong and you couldn't tell if it was the board that was broken or the code. After scratching my head on why the temperature reading wasn't working, I found this https://pi-plates.com/thermoplate/. Bit pricey but it works really well with node-red (see below). It's also overkill as it has 8 type-k and 4 DS18B20 ports. But you just plug this "hat" into the GPIO and pi automatically reads and powers it properly. No guessing and no wiring involved, it just works.
The probe thermocouple for use with my double wall pipe. There's dozens, this is just what I went with - Amazon product ASIN B07BL4XPPP
A surface thermocouple for use with the stove top - Amazon product ASIN B07MCYVTHF
After all the hardware was received, I played around with Python to write the code from scratch but I was not patient enough to learn a new language. So I decide to go with node-red as I've heard some things about it and wanted to play with it. It was scary easy, really shines with event driven development. Stove emits a temp, board reads input => do something.
To enable node-red, I followed this https://nodered.org/docs/getting-started/raspberrypi
I installed the following node-red libraries to help
From the attached photos, node-red-config is the workflow configuration screen. Running node-red creates a workflow design view to drag and drop different event emitters to watch and interact with from my pi. The first image emits a timestamp event every 5 seconds to start the workflow. It then goes to the two thermocouples to read the temperature individually, converts the temp for me, sends the data to chart and goes to a switch where if the temperature is above a threshold, will text me by mapping my phone number to an email address from the carrier I use. The text has the temp of both thermocouples and is set to text me every 5 mins if the temp is above 700*. The chart is set to hold data for 24 hours, allowing me to see the past days performance and especially the overnight temps. I can change the chart to hold more time but I found it to be too noisy and didn't really add much benefit.
The dashboard screen I can access on my local network. I have an iPad that keeps the browser window open so while I'm in the living room I can view the dashboard at all times. I can also view it on my phone if I'm elsewhere on the property. Still working to make the dashboard available outside my network while I'm away from the house while keeping it secure. But at least I'll get text alerts.
The rest are pics of my setup, a pi attached to a pi-plate that reads from two thermocouples on the stove and in the stack. I'm happy with the results. The temps from the magnetic thermometer were too slow to read. Especially having the cast iron jacket I'd get 600* in the flue before the stove top would reach 300*. With this I mostly go off the stack temp and keep it under 650 and wait for the stove top to reach >500. After reading the data for a couple days I found my stove keeps a high temp for ~1 hour and has a high drop off after off-gassing but has a prolonged burn over 4-6 hours. Depending on how quickly I shut off the air and how cold it's outside it can last longer. I try to refill when it drops below 300 as that seems to be the sweet spot for how fast it ignites with the bed of coals. If it gets <200 it takes a bit of effort to restart.
Thanks for the inspiration and I hope this helps someone else.
Side question, from the manual it states to put the stove thermometer left/right of center top but there's 3 spots it can technically be and they're all ~100* difference from each other. There's the outer ring of the stove that doesn't quite fit the diameter of the thermometer, the middle ring area (left of the line in the pic with the stove top thermometer) and the sides of the inner plate (where the thermometer currently sits in the pic). Am I right in where it sits currently? Thanks in advance.
I'm using a Pi2+B with a wifi dongle running Raspbian Buster on a Jotul F45 v2 wood stove. Stove was installed December 2020 (managed to get the last one!) and Pi was added in January. I heat a ~1300sqft house with a NG furnace but try to offset as much heat as I can with the wood stove. With Covid, I was able to heat almost exclusively with wood last season with wfh, hoping to do the same this season.
The inspiration for this came from when I had to do the break in fires. Going off a magnetic temperature seemed archaic. Being on cast iron I knew it would heat slow, being on a cast iron surrounded by steel would be slower. My biggest paint point was figuring out how big a fire I could make to get the temp up as quickly as possible without it running away from me. Looking at the magnetic thermometer it was always a guess as to when it would peak and start dropping. I had a separate flue probe thermometer that helped but the overall setup wasn't working for me. After the break ins I felt tied to the stove more than I needed to be. Growing up my parents had a Noble stove that was steel that came with our house. I learned how to use it but we didn't follow any sort of science to it. Put wood in, set air low. As long as the fire was going we didn't worry about how hot the stove was. Only how hot the room was getting. Besides not making the stove glow red (there was one time) it was set and forget. With a newer stove I knew that adage was gone and with the increased components inside there's more room for things to break. Dialing in the temperature in real time was something I needed to feel comfortable and after browsing this forum found the idea of using thermocouples to measure the heat. I had a pi but couldn't find a reliable tutorial to use so I took some parts from several sources and decided to create my own post with all I've learned.
The hardest bit was finding a thermocouple board to register the temperature and read from it. I originally browsed hearth.com forum and some people here had success with a pi and a separate maxi board that reads the temp. I tried ordering Max31855 board but it didn't quite work out too well. I didn't like the tutorial, there was too much that could go wrong and you couldn't tell if it was the board that was broken or the code. After scratching my head on why the temperature reading wasn't working, I found this https://pi-plates.com/thermoplate/. Bit pricey but it works really well with node-red (see below). It's also overkill as it has 8 type-k and 4 DS18B20 ports. But you just plug this "hat" into the GPIO and pi automatically reads and powers it properly. No guessing and no wiring involved, it just works.
The probe thermocouple for use with my double wall pipe. There's dozens, this is just what I went with - Amazon product ASIN B07BL4XPPP
A surface thermocouple for use with the stove top - Amazon product ASIN B07MCYVTHF
After all the hardware was received, I played around with Python to write the code from scratch but I was not patient enough to learn a new language. So I decide to go with node-red as I've heard some things about it and wanted to play with it. It was scary easy, really shines with event driven development. Stove emits a temp, board reads input => do something.
To enable node-red, I followed this https://nodered.org/docs/getting-started/raspberrypi
I installed the following node-red libraries to help
- To communicate with the board - https://flows.nodered.org/node/node-red-contrib-pi-plates
- To render the results on screen - https://flows.nodered.org/node/node-red-dashboard
- Notification - https://flows.nodered.org/node/node-red-node-email
From the attached photos, node-red-config is the workflow configuration screen. Running node-red creates a workflow design view to drag and drop different event emitters to watch and interact with from my pi. The first image emits a timestamp event every 5 seconds to start the workflow. It then goes to the two thermocouples to read the temperature individually, converts the temp for me, sends the data to chart and goes to a switch where if the temperature is above a threshold, will text me by mapping my phone number to an email address from the carrier I use. The text has the temp of both thermocouples and is set to text me every 5 mins if the temp is above 700*. The chart is set to hold data for 24 hours, allowing me to see the past days performance and especially the overnight temps. I can change the chart to hold more time but I found it to be too noisy and didn't really add much benefit.
The dashboard screen I can access on my local network. I have an iPad that keeps the browser window open so while I'm in the living room I can view the dashboard at all times. I can also view it on my phone if I'm elsewhere on the property. Still working to make the dashboard available outside my network while I'm away from the house while keeping it secure. But at least I'll get text alerts.
The rest are pics of my setup, a pi attached to a pi-plate that reads from two thermocouples on the stove and in the stack. I'm happy with the results. The temps from the magnetic thermometer were too slow to read. Especially having the cast iron jacket I'd get 600* in the flue before the stove top would reach 300*. With this I mostly go off the stack temp and keep it under 650 and wait for the stove top to reach >500. After reading the data for a couple days I found my stove keeps a high temp for ~1 hour and has a high drop off after off-gassing but has a prolonged burn over 4-6 hours. Depending on how quickly I shut off the air and how cold it's outside it can last longer. I try to refill when it drops below 300 as that seems to be the sweet spot for how fast it ignites with the bed of coals. If it gets <200 it takes a bit of effort to restart.
Thanks for the inspiration and I hope this helps someone else.
Side question, from the manual it states to put the stove thermometer left/right of center top but there's 3 spots it can technically be and they're all ~100* difference from each other. There's the outer ring of the stove that doesn't quite fit the diameter of the thermometer, the middle ring area (left of the line in the pic with the stove top thermometer) and the sides of the inner plate (where the thermometer currently sits in the pic). Am I right in where it sits currently? Thanks in advance.