Fermentrack: Fermentation monitoring & BrewPi-www Replacement for Raspberry Pi

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
@ChrisThomas
If you have the reed switch on the ispindel you can " attract " your ispindel to the side of your fermenter with a strong magnet and then use the magnet to trigger the ispindel ap and check your settings / adjust without getting your fishing rod out!
 
I'm fermenting my first beer using Fermentrack and it's holding my beer temp within .1 deg F, but it's cycling cool/heat to do it. I didn't see it do that but a couple times during the testing I did with water, maybe it's because of the heat being generated from active fermentation. I'm fermenting in a True 10cf commercial fridge (old soda fridge out of Safeway) and it cools very fast. It also looses temp pretty fast. For heat I'm using a small 200w Lasco space heater. It's been cycling like this all morning and I'm wondering if it will learn to control without cycling, or if there's some settings I can tweak to either make it allow a little larger beer temp swing, or change the minimum cycle times. You can see that the minimum cycle time is much longer than it takes to reach the setpoint for both heating and cooling. Personally, It would be nice if there were no min time for heating especially. I could use a lower wattage heater, but I don't see that changing the cycling as It's cooling and then waiting to heat.
graph.jpg
 
I'm fermenting my first beer using Fermentrack and it's holding my beer temp within .1 deg F, but it's cycling cool/heat to do it. I didn't see it do that but a couple times during the testing I did with water, maybe it's because of the heat being generated from active fermentation. I'm fermenting in a True 10cf commercial fridge (old soda fridge out of Safeway) and it cools very fast. It also looses temp pretty fast. For heat I'm using a small 200w Lasco space heater. It's been cycling like this all morning and I'm wondering if it will learn to control without cycling, or if there's some settings I can tweak to either make it allow a little larger beer temp swing, or change the minimum cycle times. You can see that the minimum cycle time is much longer than it takes to reach the setpoint for both heating and cooling. Personally, It would be nice if there were no min time for heating especially. I could use a lower wattage heater, but I don't see that changing the cycling as It's cooling and then waiting to heat.
View attachment 765422

Looking at the graph, I'd say you should either dramatically lower the wattage on the heater (think 15-20W vs 200W) or think about ditching the heater entirely. It's possible that you'll get fewer calls for heat as the algorithm adjusts, but when you get spikes like you're seeing it's difficult for the algorithm to keep up.
 
I've been running Fermentrack for a few years now, and everything has been working great. I'm still on the non-Docker version, so I'm going to switch over once my current fermentation is complete in a few days. In preparation for the migration, I've been trying to create a backup, but Firefox just spins for a few minutes before throwing a "504 Gateway Time-out" error. Not sure what the problem is, but to be honest, I don't really care if I don't have all of my old fermentation logs, all I really want to do is copy any necessary config files so that I don't have to set up everything manually. I don't remember much about my setup, but I guess I'll have to refamiliarize myself with the guts of my controller box since my beer probe seems to be misbehaving after I accidentally got it wet.

Any suggestions?
 
I've been running Fermentrack for a few years now, and everything has been working great. I'm still on the non-Docker version, so I'm going to switch over once my current fermentation is complete in a few days. In preparation for the migration, I've been trying to create a backup, but Firefox just spins for a few minutes before throwing a "504 Gateway Time-out" error. Not sure what the problem is, but to be honest, I don't really care if I don't have all of my old fermentation logs, all I really want to do is copy any necessary config files so that I don't have to set up everything manually. I don't remember much about my setup, but I guess I'll have to refamiliarize myself with the guts of my controller box since my beer probe seems to be misbehaving after I accidentally got it wet.

Any suggestions?

The 504 Gateway Time Out thing is expected. For whatever reason, Django takes FOREVER to write out a dump of the database. Check back on the backup screen, and - if you left it running - you may now see the backup.

If you want a video of what it all looks like end-to-end, here you go:

 
I've added a Tilt Pro and Tiltbridge to my setup today. Config seemed to go OK, but no data is making it to Fermentrack from the tilt. (Using a pi w/ latest docker software and arduino controller).
The tiltbridge shows the data as expected.

I appreciate any ideas.

Thanks

Some log info:
stderr.1
Code:
 Apr 17 2022 21:23:47   BrewPi version received was 0.2.12 which this script supports in 'legacy' branch mode.
 Apr 17 2022 21:23:47   Bound to TCP socket on port 2552, interface localhost
 Apr 17 2022 21:23:48   Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 63.949, "a": "28225256B5013C51", "j": 0.9}, {"i": 1, "t": 1, "c": 1, "b": 0, "f": 6, "h": 2, "d": 0, "p": 18, "v": 65.75, "a": "283EA056B5013C52", "j": -1.012}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 67.549, "a": "281BF056B5013C9A", "j": 0.0}, {"i": 3, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 4, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
 Apr 17 2022 21:23:48   Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 2, "x": 1}, {"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 19, "x": 1}]
 Apr 17 2022 21:30:52   Refreshing dbConfig
 Apr 17 2022 21:30:52   Data logging stopped
 Apr 17 2022 21:48:20   Refreshing dbConfig
 Apr 17 2022 21:48:20   Notification: Started logging for beer 'Dogs in Raincoats Apr_22'.
 Apr 17 2022 21:48:42   Refreshing dbConfig
 Apr 17 2022 21:48:42   Notification: Beer temperature set to 66.0 degrees in web interface
 Apr 17 2022 21:48:43   Controller debug message: INFO MESSAGE 12: Received new setting: mode = b
 Apr 17 2022 21:48:43   Controller debug message: INFO MESSAGE 12: Received new setting: beerSet = 66.0
 Apr 17 2022 21:50:00   Controller debug message: INFO MESSAGE 17: Positive peak detected:  64.1, estimated:  64.1. Previous heat estimator:  0.031, New heat estimator:  0.031.

stdout (which is logging the wrong TZ)
Code:
Apr 18 2022 00:01:03  {"BeerTemp": 66.30,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.75,"FridgeSet": 61.77,"FridgeAnn":null,"RoomTemp": 67.32,"State":0}
Apr 18 2022 00:03:04  {"BeerTemp": 66.27,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.62,"FridgeSet": 62.24,"FridgeAnn":null,"RoomTemp": 67.32,"State":0}
Apr 18 2022 00:05:05  {"BeerTemp": 66.25,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.51,"FridgeSet": 62.09,"FridgeAnn":null,"RoomTemp": 67.44,"State":0}
Apr 18 2022 00:07:06  {"BeerTemp": 66.22,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.45,"FridgeSet": 61.77,"FridgeAnn":null,"RoomTemp": 67.32,"State":0}

The gravity sensor logs lists the new tilt as active. There are no logs for this or my other tilt.

Process spawner:
Code:
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-
 
I've added a Tilt Pro and Tiltbridge to my setup today. Config seemed to go OK, but no data is making it to Fermentrack from the tilt. (Using a pi w/ latest docker software and arduino controller).
The tiltbridge shows the data as expected.

I appreciate any ideas.

Thanks

Some log info:
stderr.1
Code:
 Apr 17 2022 21:23:47   BrewPi version received was 0.2.12 which this script supports in 'legacy' branch mode.
Apr 17 2022 21:23:47   Bound to TCP socket on port 2552, interface localhost
Apr 17 2022 21:23:48   Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 18, "v": 63.949, "a": "28225256B5013C51", "j": 0.9}, {"i": 1, "t": 1, "c": 1, "b": 0, "f": 6, "h": 2, "d": 0, "p": 18, "v": 65.75, "a": "283EA056B5013C52", "j": -1.012}, {"i": 2, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 18, "v": 67.549, "a": "281BF056B5013C9A", "j": 0.0}, {"i": 3, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 4, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
Apr 17 2022 21:23:48   Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 2, "x": 1}, {"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 19, "x": 1}]
Apr 17 2022 21:30:52   Refreshing dbConfig
Apr 17 2022 21:30:52   Data logging stopped
Apr 17 2022 21:48:20   Refreshing dbConfig
Apr 17 2022 21:48:20   Notification: Started logging for beer 'Dogs in Raincoats Apr_22'.
Apr 17 2022 21:48:42   Refreshing dbConfig
Apr 17 2022 21:48:42   Notification: Beer temperature set to 66.0 degrees in web interface
Apr 17 2022 21:48:43   Controller debug message: INFO MESSAGE 12: Received new setting: mode = b
Apr 17 2022 21:48:43   Controller debug message: INFO MESSAGE 12: Received new setting: beerSet = 66.0
Apr 17 2022 21:50:00   Controller debug message: INFO MESSAGE 17: Positive peak detected:  64.1, estimated:  64.1. Previous heat estimator:  0.031, New heat estimator:  0.031.

stdout (which is logging the wrong TZ)
Code:
Apr 18 2022 00:01:03  {"BeerTemp": 66.30,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.75,"FridgeSet": 61.77,"FridgeAnn":null,"RoomTemp": 67.32,"State":0}
Apr 18 2022 00:03:04  {"BeerTemp": 66.27,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.62,"FridgeSet": 62.24,"FridgeAnn":null,"RoomTemp": 67.32,"State":0}
Apr 18 2022 00:05:05  {"BeerTemp": 66.25,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.51,"FridgeSet": 62.09,"FridgeAnn":null,"RoomTemp": 67.44,"State":0}
Apr 18 2022 00:07:06  {"BeerTemp": 66.22,"BeerSet": 66.00,"BeerAnn":null,"FridgeTemp": 61.45,"FridgeSet": 61.77,"FridgeAnn":null,"RoomTemp": 67.32,"State":0}

The gravity sensor logs lists the new tilt as active. There are no logs for this or my other tilt.

Process spawner:
Code:
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-
INFO:processmgr:Settings: Start delay: 2s, Sleep Interval: 15s,
INFO:processmgr:New BrewPi device found: dev-1
INFO:processmgr:New Tilt device found: tilt-

Is this the only Tilt you have? If so, you need to set it up as connecting via a TiltBridge, rather than directly. The process spawner logs should be irrelevant for TiltBridges as they send data via HTTP, not Bluetooth.
 
Is this the only Tilt you have? If so, you need to set it up as connecting via a TiltBridge, rather than directly. The process spawner logs should be irrelevant for TiltBridges as they send data via HTTP, not Bluetooth.
I have a Black Tilt (currently out of service) and a pink Pro device added via a Tiltbridge. I have the pink one attached to this temp controller. Here is the pink config
1650374717164.png
 
@Thorrak Looks nice, but it doesn't work :-(

I just set up a TiltBridge and tested it, and everything seems to be working for me. Are you running the latest update for Fermentrack? If you go to this page on your Fermentrack install, do you get an error message?

http://<fermentrack_address>/api/gravity/

For your tiltbridge, if you log into its web interface and go to the "About" page what version of the firmware is it running? In the tiltbridge interface, if you go to Settings > Target Settings > Fermentrack, what is the web address listed?
 
I just set up a TiltBridge and tested it, and everything seems to be working for me. Are you running the latest update for Fermentrack? If you go to this page on your Fermentrack install, do you get an error message?

http://<fermentrack_address>/api/gravity/

For your tiltbridge, if you log into its web interface and go to the "About" page what version of the firmware is it running? In the tiltbridge interface, if you go to Settings > Target Settings > Fermentrack, what is the web address listed?

Questions answered below. Are there logs anywhere I can look at?

1 - I was prompted, in app to update and did so before adding the tiltbridge. I can't find version info?

2 - From the api/gravity page:
Code:
[
    {
        "device_name": "Black_Tilt",
        "current_gravity": "-.---",
        "current_temp": null,
        "temp_format": "F",
        "temp_string": "--.-&deg;",
        "device_url": "/gravity/sensor/1/",
        "manage_text": "Manage Device",
        "manage_url": "/gravity/sensor/1/",
        "bound_device": {},
        "modal_name": "#gravSensor1"
    },
    {
        "device_name": "tbPink",
        "current_gravity": "-.---",
        "current_temp": null,
        "temp_format": "F",
        "temp_string": "--.-&deg;",
        "device_url": "/gravity/sensor/4/",
        "manage_text": "Manage Device",
        "manage_url": "/gravity/sensor/4/",
        "bound_device": {
            "id": 1,
            "name": "TempCtl_1"
        },
        "modal_name": "#gravSensor4"
    }
]

3 - From the about page, tiltbridge is running 1.1.1

4 - tiltbridge url setup
1650505564897.png
 
Questions answered below. Are there logs anywhere I can look at?

1 - I was prompted, in app to update and did so before adding the tiltbridge. I can't find version info?

2 - From the api/gravity page:
Code:
[
    {
        "device_name": "Black_Tilt",
        "current_gravity": "-.---",
        "current_temp": null,
        "temp_format": "F",
        "temp_string": "--.-&deg;",
        "device_url": "/gravity/sensor/1/",
        "manage_text": "Manage Device",
        "manage_url": "/gravity/sensor/1/",
        "bound_device": {},
        "modal_name": "#gravSensor1"
    },
    {
        "device_name": "tbPink",
        "current_gravity": "-.---",
        "current_temp": null,
        "temp_format": "F",
        "temp_string": "--.-&deg;",
        "device_url": "/gravity/sensor/4/",
        "manage_text": "Manage Device",
        "manage_url": "/gravity/sensor/4/",
        "bound_device": {
            "id": 1,
            "name": "TempCtl_1"
        },
        "modal_name": "#gravSensor4"
    }
]

3 - From the about page, tiltbridge is running 1.1.1

4 - tiltbridge url setup
View attachment 766673


You’re likely on the latest version of both Fermentrack and the TiltBridge firmware, so that’s good.

Is that target URL correct? Do you run Fermentrack on HTTPS?
 
I need to go dig in the TiltBridge code and see if it is set up to post to HTTPS endpoints, but if you attempted to use http (and you don’t have your server set up to auto redirect to HTTP, or network set up to block outgoing HTTP traffic from IoT devices) then it should work.
 
I need to go dig in the TiltBridge code and see if it is set up to post to HTTPS endpoints, but if you attempted to use http (and you don’t have your server set up to auto redirect to HTTP, or network set up to block outgoing HTTP traffic from IoT devices) then it should work.

It is set to redirect. Let me try to shut that down.
 
OK - that did it. I set the url to http using the local address and it worked. I'll open a issue if you'd like.
TiltBridge was built before there was reliable HTTPS library support that would also play nice with Bluetooth. That said, I have a different, similar project that has switched to use the secure client for everything which I think I can port back to TiltBridge easily enough.

I’ll take a look and track against the issue you opened. Thanks for that!
 
Someone earlier had this problem:
"So everything was great until I tried to assign pins/sensors....
I was able to add my ESP8266 controller without much issues, but when trying to assign sensors/pins, It keeps failing to write configuration to controller. I have reset the eprom multiple times and restarted the controller too. It see's the sensors, but won't assign them."

I m stuck at the same point. was there ever a solution?
 
Someone earlier had this problem:
"So everything was great until I tried to assign pins/sensors....
I was able to add my ESP8266 controller without much issues, but when trying to assign sensors/pins, It keeps failing to write configuration to controller. I have reset the eprom multiple times and restarted the controller too. It see's the sensors, but won't assign them."

I m stuck at the same point. was there ever a solution?
Which version of the firmware are you using? The v14 beta or v11?
 
It won't flash correctly (Im using brewflasher on mac). I get error at the very end. I used V14. Did not try the low Delay version. Maybe something wrong with my controller. I have the Lolin D1 mini V4.0.0 from Ali express. This version has the I2C built in as well. Not sure if this affects attaching the LCD.
1650627686511.png
 
Last edited:
@Thorrak can you point me in the right direction? my cooling cycle will come on for just a minute or 2, id like to avoid it and increase the idle time prior to cooling. I have no idea what Control Constrain i should be using to get this. See below.

Also is there a way to remove the Heat/Cooling bars similar to how you can deselect the various Temp lines? Makes the plot hard to read having them full height of the graph. And while I'm asking... any way to change the Temp sensor line colors & or weight?

1650640721183.png
 
Hi all,

I've been using fermentrack on a raspberry pi for a couple of years and it's been working great. I've just checked on a brew when is nearing fermentation and the fan heater I have in the fridge has been on for 7 hours meaning the beer temperature has risen to 40c 😔 I looked at the graph and it was not calling for heat for that period, and the fridge was also on trying to cool.

I guess I was wondering how/where I start to problem solve this as I don't want this to happen again so it does not ruin the beer, but also the cost of running that Fan heater for 7 hours 😔

I wondered if it could be the relay maybe?

Thanks in advance
 
Hi all,

I've been using fermentrack on a raspberry pi for a couple of years and it's been working great. I've just checked on a brew when is nearing fermentation and the fan heater I have in the fridge has been on for 7 hours meaning the beer temperature has risen to 40c 😔 I looked at the graph and it was not calling for heat for that period, and the fridge was also on trying to cool.

I guess I was wondering how/where I start to problem solve this as I don't want this to happen again so it does not ruin the beer, but also the cost of running that Fan heater for 7 hours 😔

I wondered if it could be the relay maybe?

Thanks in advance
Is your wiring secure? Not just a loose nest of Dupont wires? And you're saying "relay" which means to me a mechanical relay and not an SSR.

If Fermentrack was not turning the heat on at the time it went bad, I don't suspect a bad relay (though it certainly could be a bad relay). I'd expect a relay to go bad (overheat and develop an issue) if it were run too long at too high current and get stuck/melt in the on position. The relay going bad or bad wiring could cause what happened. But out of curiosity, how many amps is the relay rated for vs. the load you're putting on it? If you've been running this relay for years at close to the maximum capacity, maybe it just finally gave up the ghost.

I'd measure the voltage out of the pin on the 8266 that is going to the relay input and see if it is triggering the relay. If it's not, then you have an issue with the relay or wiring. If the 8266 is sending the "on" voltage to the relay, then check Fermentrack. This should get you looking in the right area. Replace the relay or wiring as needed. If you have to replace the relay, be sure to use one rated for well above the max current draw of your heater.
 
Last edited:
Question - I'm using a Fermentation profile - how can I tell how far along through the profile it's progressed?
 
Is your wiring secure? Not just a loose nest of Dupont wires? And you're saying "relay" which means to me a mechanical relay and not an SSR.

If Fermentrack was not turning the heat on at the time it went bad, I don't suspect a bad relay (though it certainly could be a bad relay). I'd expect a relay to go bad (overheat and develop an issue) if it were run too long at too high current and get stuck/melt in the on position. The relay going bad or bad wiring could cause what happened. But out of curiosity, how many amps is the relay rated for vs. the load you're putting on it? If you've been running this relay for years at close to the maximum capacity, maybe it just finally gave up the ghost.

I'd measure the voltage out of the pin on the Pi that is going to the relay input and see if it is triggering the relay. If it's not, then you have an issue with the relay or wiring. If the Pi is sending the "on" voltage to the relay, then check Fermentrack. This should get you looking in the right area. Replace the relay or wiring as needed. If you have to replace the relay, be sure to use one rated for well above the max current draw of your heater.
Thanks for info, was in a bit of a rush yesterday, so just had to get the beer cooled down asap. Will have a proper look today and have a look at some of the above areas you mentioned 👍
 
I recently installed a room temperature sensor and it worked well for a few hours, but then pegged at 185°F. Since then, it will randomly cycle from reading the correct room temperature, to displaying the (what I assume is) max temp of 185°F. I have used two different sensors now, with the same results.

Any idea what might be causing this?

I am running the non-docker version, controlling an Arduino.

1.PNG
2.PNG
 
I recently installed a room temperature sensor and it worked well for a few hours, but then pegged at 185°F. Since then, it will randomly cycle from reading the correct room temperature, to displaying the (what I assume is) max temp of 185°F. I have used two different sensors now, with the same results.

Any idea what might be causing this?

I am running the non-docker version, controlling an Arduino.

View attachment 767363View attachment 767364

Which version of the firmware are you using? The latest one (v14)?
 
fwiw, 185°F (85°C) is what one receives if the ds18b20 isn't actually ready to send converted temperature data.
May indicate insufficient voltage to the sensor...

Cheers!
 
Which version of the firmware are you using? The latest one (v14)?

fwiw, 185°F (85°C) is what one receives if the ds18b20 isn't actually ready to send converted temperature data.
May indicate insufficient voltage to the sensor...

Cheers!
@day_trippr has it on this one. There’s a long standing bug with the sensor reading routine that can cause an 85deg reading to be seen as valid. This should be fixed in v14 if you upgrade.
 
Back
Top