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.

Your relays are going off and calling for either hot or cold quite a bit, but your beer temp looks fairly stable.

Your graph starts off easy to understand, but it looks at some point your ambient temp drops below 20C, which eventually drives your chamber and beer temp down, calling for a heat cycle ( goes on for 1.5-2 days). Is your chamber in a garage or an area that got below 20C?

Your instance gets to a point where it stops losing heat to an extent where the heater does not need to be turned on, and your beer temp gets back to 0.2C of your set point.

I’ll be honest, I’m extremely new to all this....I think the fridge temp setting is useful info, but at times (graphically speaking) is just noise. I try to focus on the beer temp...If I’m within 0.5F of my beer set point...life is good.

(If your worried about how efficiently you maintain your temp range....well that’s a statistical black belt study that I can’t answer)
 
IMG_4400.JPG


Is this better? It's from my phone, can probably get a better picture from my pc[emoji4]
 
Your relays are going off and calling for either hot or cold quite a bit, but your beer temp looks fairly stable.

Your graph starts off easy to understand, but it looks at some point your ambient temp drops below 20C, which eventually drives your chamber and beer temp down, calling for a heat cycle ( goes on for 1.5-2 days). Is your chamber in a garage or an area that got below 20C?

Your instance gets to a point where it stops losing heat to an extent where the heater does not need to be turned on, and your beer temp gets back to 0.2C of your set point.

I’ll be honest, I’m extremely new to all this....I think the fridge temp setting is useful info, but at times (graphically speaking) is just noise. I try to focus on the beer temp...If I’m within 0.5F of my beer set point...life is good.

(If your worried about how efficiently you maintain your temp range....well that’s a statistical black belt study that I can’t answer)

My chamber is inside where the temperature is about 17-18C
It started out very good with beer temp at set pont +-0,05C when there was high fermentation activity.
Now that fermentation is done the temperature swings much more [emoji848]
 
The constant battle between the call for cold and the call for heat is crazy with the graph.

Me, I would disable either the heat or cool relay and see what happens for a couple hours.

I know I ran into some crazy graph anomaly’s...my issue was a loose wire from my relay to cold outlet.
 
The constant battle between the call for cold and the call for heat is crazy with the graph.

Me, I would disable either the heat or cool relay and see what happens for a couple hours.

I know I ran into some crazy graph anomaly’s...my issue was a loose wire from my relay to cold outlet.

Honestly, in a lot of cases you can get away without heat at all.
 
Did you clip the tab on your outlet? Is both heat and cooling running at the same time?
As MegaTrond seems to be living here in Norway, there is no tab to clib as we have way different sockets that the US :) But yeah, if current is flowing to both sockets at the same time this might happen. I had a "stray" single strand of wire bridging the sockets my self so I have seen this happen

regs,
peram
 
As MegaTrond seems to be living here in Norway, there is no tab to clib as we have way different sockets that the US :) But yeah, if current is flowing to both sockets at the same time this might happen. I had a "stray" single strand of wire bridging the sockets my self so I have seen this happen

regs,
peram

That's right, I live in Norway [emoji4]
Did some pid tuning recommended by Elco and it looks better so far. Will let it go for a couple of days an see how it performs. [emoji4]
 
That's right, I live in Norway [emoji4]
Did some pid tuning recommended by Elco and it looks better so far. Will let it go for a couple of days an see how it performs. [emoji4]

I always forget how disjointed electrical standards can be. Everyone should be on 110v DC, just like Edison wanted. ;)

For future reference, what exactly did you change?

I’ve contemplated adding PID “presets” to Fermentrack that could be sent to a controller for situations like this - I’d be curious to see if anyone else having a similar issue could resolve it via tuning as well. If so, this feature might make sense to add.
 
I’ve contemplated adding PID “presets” to Fermentrack that could be sent to a controller for situations like this - I’d be curious to see if anyone else having a similar issue could resolve it via tuning as well. If so, this feature might make sense to add.
I think Elco's standard is to tell people to zero it all out.
 
Hey,
Just installed fermentrack - is there any way to rename a device once it has been setup?

I tried changing the name from the config - the form gets submitted successfully but if I refresh the page the name reverts back to what I selected during the intial setup.

Thanks!
 
I always forget how disjointed electrical standards can be. Everyone should be on 110v DC, just like Edison wanted. ;)

For future reference, what exactly did you change?

I’ve contemplated adding PID “presets” to Fermentrack that could be sent to a controller for situations like this - I’d be curious to see if anyone else having a similar issue could resolve it via tuning as well. If so, this feature might make sense to add.

I set Ki and Kd to 0 and Kp to 10. Think I ended up with adding a bit Ki. Worked a lot better so looking forward to my next batch. Coldcrashed a couple of days ago and kegged today [emoji4]
 
Running my first ferment on my first minion, besides that i couldnt get it wireless before i needed to brew so it is hardwired to the Pi. And my ambient temp sensor isnt responding, idk if it is the sensor itself or the wiring or the shield. i will trouble shoot that after. And im not running a heater so the temp swings are larger then it should be if i had a heater.

But my Tilt pi got one reading WAY off (1.728) and it has thrown my SG scale on the graph to ****. Is there a way to delete this point while fermentation is underway or do i need to wait until i am finished? Also it is weird my SG line is maroon and the Legend shows it should be turquoise .

ovg7CeY.png
 
I'm also interested in this. If you are careful with the iSpindel when you power it up, you get crazy gravity readings. Maybe you can un-bind it to the fermenter, turn it on, and then re-bind it? It would be nice to be able to turn off the logging until the sensor has settled out. (I calibrated mine mid-brew..)
Untitled.jpg
 
Might be simpler to code a solution for that. There's two ways to do it:
  1. Make a reasonable min/max values for y2 axis and it would clamp anything crazy
  2. Implement a signal filter for iSpindel (most of the Tilt implementations have this) will get rid of any crazy spikes
These electronics are not really "precision" in any sense, so being able to see a reasonable trend is all that's needed. I'm also being very careful to come up with coding ideas in someone else's thread so it doesn't cause ME any more work.
:ban:
 
Is there a way to delete this point while fermentation is underway or do i need to wait until i am finished? Also it is weird my SG line is maroon and the Legend shows it should be turquoise .
In "classic" BrewPi you can edit the *.json file. I believe you can do the same here. I don't have Fermentrack installed at the moment but if I were going to try it I would first stop logging to prevent crossing things up. In fermentrack/data under the directory for your brew should be the JSON files (again, if it's done like BrewPi.) There should be a date/time named JSON file with a format like this:
Code:
{"cols":[{"type":"datetime","id":"Time","label":"Time"},{"type":"number","id":"BeerTemp","label":"Beer Temp."},{"type":"number","id":"BeerSet","label":"Beer Setting"},{"type":"string","id":"BeerAnn","label":"Beer Annot."},{"type":"number","id":"FridgeTemp","label":"Chamber Temp."},{"type":"number","id":"FridgeSet","label":"Chamber Setting"},{"type":"string","id":"FridgeAnn","label":"Chamber Annot."},{"type":"number","id":"RoomTemp","label":"Room Temp."},{"type":"number","id":"State","label":"State"},{"type":"number","id":"PurpleTemp","label":"Purple Tilt Temp."},{"type":"number","id":"PurpleSG","label":"Purple Tilt Gravity"}],"rows":[
{"c":[{"v":"Date(2019,4,12,6,45,44)"},null,null,null,{"v":185.0},null,null,null,{"v":0},{"v":66.0},{"v":1.073}]},
{"c":[{"v":"Date(2019,4,12,6,47,45)"},null,null,null,{"v":75.44},null,null,null,{"v":0},{"v":66.0},{"v":1.073}]},
{"c":[{"v":"Date(2019,4,12,6,49,45)"},null,null,null,{"v":74.04},null,null,null,{"v":0},{"v":66.0},{"v":1.073}]},
Here you can see at 06:45:44 on 4/12 I had a bad temp reading of 185.0. That can simply be edited (carefully) in a text editor and saved. You might have to change file permissions to do so. Chances are, since logging is on a set interval (defaults to 120 seconds with BrewPi) that you only have to edit or or two of these values to smooth things out.
 
:off:
I just wish Excel would correctly read the danged json files created by brewpi but it's just odd enough that Excel gets its knickers all in a twist trying to make it all one thing, not reading column titles, etc., even when "retrieve from JSON" is attempted.

carry on
 
:off:
I just wish Excel would correctly read the danged json files created by brewpi but it's just odd enough that Excel gets its knickers all in a twist trying to make it all one thing, not reading column titles, etc., even when "retrieve from JSON" is attempted.

carry on
Fermentrack also generates CSV files, you know. ;)
 
Logging data to ANY files is ... just ... bad. BUT, a database on an SD card is worse. So ... there you have it. Rock, meet hard place.

I was not sure why my "CSV" files did not open up. Never really thought about it but I'll add myself an issue and look into it.
 
Been following the older post and this (read pretty much every post). I am running a R3b+ and ESP without a LCD. I am waiting for my IT friend to help wire everything up (I would probably burn my house down if I did it) this weekend. In the meantime, I was able to install Stretch and fermentrack and flash the ESP via serial, but I get the error Cannot receiveLCD text fromController/Script in the little black box (sorry for lack of proper terminology). Does everything need to wire up to not get this error?
 
The “Cannot receive LCD” text generally means the script is not running. Fermentrack is a little more robust about that than the older versions of BrewPi. I believe there's a watchdog script to keep things going. It could of course also mean that the controller and the script are not talking, but if you got it flashed that seems less likely.

You know, the universal fix is a reboot ... try that and see if it kicks it free. If that doesn't work maybe one of the folks here who are more familiar with the care and feeding part of Fermentrack will speak up.
 
I ran the debug and this is what I get. I am guessing that the USB serial number being blank and the Udev Availibility test failing are my issues. Can someone walk me through a possible fix? Or at least describe what needs to happen so my friend can fix it when we wire the system up? Thank you in advance for the help. I am amped to get this working.

When I run Stderr Log I get this:

May 16 2019 16:07:15 Connection type Serial selected. Opening serial port.
May 16 2019 16:07:25 Errors while opening serial port:
Could not find compatible serial devices

I Reflashed the ESP and installed the v0.10 serial and it now shows the USB Serial number but Udev still fails. Fells like I'm getting closer...

Connection Settings
Connection Type serial
USB Serial Number 1a86_USB2.0-Serial
Locate port via USB Serial? True
Last Located Serial Port /dev/ttyUSB0
Serial Alt Port (optional) None
Tests Performed
Test Parameter Pass/Fail Output
Device Status Test active Passed Device active & managed by Circus
Udev Availability Test linux Failed pyudev is not available, or isn't loaded

Edit: Reinstalled the latest version on ESP (serial). Log now reports this:
May 16 2019 17:19:25 Connection type Serial selected. Opening serial port.
May 16 2019 17:19:35 Errors while opening serial port:
[Errno 2] could not open port /dev/ttyUSB0: [Errno 2] No such file or directory: '/dev/ttyUSB0'
 

Attachments

  • Fermentrack error.pdf
    54.1 KB · Views: 17
Last edited:
You are using the serial firmware, right?
Yes serial with the latest firmware (after I tried v.10 with no luck), I came back from lunch and decided to take another look at it. I started thinking about your earlier comment about rebooting and thought to try the little reset button on the ESP. Like magic the message changed to script starting, and then up came the mode, temps and Idling. I know see that I have to push that button every time I power cycle the R3b+. If I switched it to wifi and sent power directly to the ESP, would I still need to hit reset every time?

BTW, Thank you so much for your help. I know just about nothing about programming, and I'm pretty stoked(and shocked) that I was able to figure this out.
 
I have finished building my first fermentrack everything went together well. I thank everyone who has answered my questions. I will post pics soon of the final project. I have not put it to the test yet because I have a new problem. When I finished back in February I was able to have three temp sensors running at the same time. One for the beer, one for the fridge, and one for the room temp. This week I fired it all up and notice that the room temp sensor was not working. I removed all sensors from the program, and plugged them in one by one and started to reassign but having a third sensor plugged in at the same time makes all sensors not work. I can only use two sensors at a time. I can use any combination of sensors but only two at a time. I have checked the connections and they are all fine, but I'm stumped.
 
Check the value of the One-Wire pull-up. It should be between 10K and 1K ohms. I typically use 4.7K and run as many as five three meter probes on a single channel successfully.
Also, if you're using an UNO the ds18b20's should be operated on 5V and the pull up should be to 5V.
Otoh, on a 3.3V part (esp) you can still run the ds18b20's on 5V but the pull up must be to 3.3V...

Cheers!
 
my room temp sensor isnt working either but im mid fermentation so im going to troubleshoot this weekend. Im using the cadi pcb,so it should take care of the ohm value right? I think all three worked when i installed everything. But my minion is a spiderweb at the moment. so it could be anything.
 
Oh yes, if you built on the Cadibrewer shield and used the prescribed component values you should be in good shape. I have four of those in service plus a test bed unit, each with three probes, no issues...

Cheers!
 
I built Fermentrack with the raspberry pi 3 and an esp8266 build using thorracks PCB. I'm powering the PCB with a 5 Volt power supply. Could it be the supply? I attached a few pics of what I have so far. If I used the components from the PCB material bud I should have the correct values you listed? Also why would it work at first and then not now months later?
20190516_091850.jpeg
20190516_091900.jpeg
20190516_091854.jpeg
 
If you have the ability to swap out the PS, that’s an easy check. They are not exactly high quality items. You could also monitor the voltage as it runs and look for drops.

What’s changed since you had it all working? Any physical changes?
 
Ok, so I tested all connections at the "one wire sensor jacks" with a patch cable and it measured 3.32V while everything was running with two of the sensors plugged in, I then plugged in a third one wire sensor, and the readings from the other sensors disappear. I measured at the back of the Jacks and got 3.32V at each jack. I measured the power coming from the power supply and it is 5.12V
Nothing has changed physically, however one accident occurred when I was checking power to the main switch on the front. When I was checking AC voltage at the main switch I accidentally touched two terminals together, this blew a fuse at the main coming in to my enclosure, I replaced the fuse and everything powered up fine. But that part of the circuit is isolated from the AC side... correct? When I was checking was to make sure I had the relay board wired up correctly as well. I don't remember at that time if I was only getting 2 sensors working or all 3. Could that have messed up the sensor controller PCB by shorting out the AC for split second?
 
I'm no EE, but it sounds like there's not enough power. Does the voltage to the sensors drop when the third is added?
Nope no voltage drop. 3.32v with all sensors 3.32v with one. The PSU is 2.5Amp
 
I'm wondering if maybe a couple sensors have the same address? Anything is possible from China. I think the way to go would be to rule that out, and/or use a simple sketch to see if three sensors can be detected. If you are feeling froggy, you can use a sketch like this which I use on an Arduino:
Code:
#include <OneWire.h>

int inPin = 14; // Connect data to pin A0
//int inPin = 18; // Connect data to pin A4

void setup(void) {
  Serial.begin(9600);
  listOneWire();
}

void listOneWire(void) {
  byte i;
  byte present = 0;
  byte data[12];
  byte addr[8];
  pinMode(inPin, INPUT);
  OneWire oneWire(inPin);
 
  Serial.print("Looking for 1-Wire devices.\n\r");
  while(oneWire.search(addr)) {
    Serial.print("\n\rFound 1-Wire device with address:\n\r");
    for( i = 0; i < 8; i++) {
      Serial.print("0x");
      if (addr[i] < 16) {
        Serial.print('0');
      }
      Serial.print(addr[i], HEX);
      if (i < 7) {
        Serial.print(", ");
      }
    }
    if ( OneWire::crc8( addr, 7) != addr[7]) {
        Serial.print("CRC is not valid.\n");
        return;
    }
  }
  Serial.print("\n\r\n\rComplete.\r\n");
  oneWire.reset_search();
  return;
}

void loop(void) {
  // Nothing here
}
To use this on the D1 Mini, you'd change the int inPin = 14; line to be compatible with the D6 assignment from @Thorrak's board. I think that would be 12. Someone should check me on that. Then you'd also comment out the line in void listOneWire() which says pinMode(inPin, INPUT); (I don't think that needs to be specified with the ESP8266). If you monitor the serial port when this starts up you will see a line representing the OneWire address of each connected sensor (only one shown here):
Code:
09:27:30.378 -> Looking for 1-Wire devices.
09:27:30.378 ->
09:27:30.378 -> Found '1-Wire' device with address:
09:27:30.424 -> 0x28, 0xAA, 0x39, 0xBD, 0x37, 0x14, 0x01, 0xDB
09:27:30.471 ->
09:27:30.471 -> Complete.
The idea here being using a very simple setup to see if the physical/electrical configuration will allow you to connect more than two sensors. If this proves out then there's a software issue. If not, there's a hardware/electrical issue.
 
Back
Top