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.
I see an error hitting sentry, but it's DNS related. I'll try to manually test it on my end, but in the mean time can you check to make sure your Pi can resolve/reach log.brewfather.com ?

(Try logging into your Pi via ssh, then running "wget log.brewfather.net" . If you get an error like "failed: Name or service not known" then that's your problem.

Yep that will be it, my Pi can not resolve the name, di you know if the DNS lookup address can be changed to 8.8.8.8 or another work around?

Cheers

**Edit**

All good, for some reason my Pi changed is DSN Server and Address to a random IP. Swapped it back to 8.8.8.8 and all working now.
 
Last edited:
I saw that this morning -- honestly, aside from the branding, I don't get it. It's an ESP32 without the WiFi, Bluetooth, Arduino support (currently), increased ram, increased flash, and (relative) maturity - and at a (potentially) higher price.
That's pretty much what I thought. No WIFI? Really? Yay, a new SDK. 🙄 meh. Definitely for the educational market.
 
Last edited:
Hi - Been using fermentrack for about a year now. A version I have on a PI 4 has suddenly started to not move the beer past 55 and if so very , very slowly -like a degree a day. I'm using a 15 G speidel with the sensor in a thermowell. Up to this point it has been working fine. Checked temp from the probe without the fermowell and it reads the same. I tested the reading in a glass of water compared to a pen thermometer and they read the same. I have a tilt on the surface that is 40F ? My first guess was the probe was faulty but I;ve checked twice now. trying to get it to a steady 50 for a lager.
 
1611759851127.png


Just as an update. Not sure if this is the fix or not fully yet but... I don't know if this happened with an update or not but the min temp I had was 33F and max 85F. I'd noticed that the fridge was not turning on or staying on for very long and the fridge temp was not going below 33. It had been turning the ridge on for longer periods before as I can see the banks of blue shading in previous logs.

1611760060112.png
 
Did the changes from devel around MQTT not working with decimal temps form tiltbridge get merged to master yet?

** disregard, found my own answer by posting via postman to the iface.
 
Last edited:
Hi all and @Thorrak in particular :)

I have, for educational purposes embarked on a mission to see if I can build a fermentrack "distro" all from source based on the Linuxfromscratch-project with these raspberry pi specific additions and are in need of some guidance.

After several days of compiling stuff it seems that I have everything up and running now except for mDNS resolving of the devicenames "within" brewpi. I can resolve the addresses by using avahi-resolve :


Code:
-bash-5.0# avahi-resolve -n esp3751667.local
esp3751667.local        192.168.68.121

but the dev-1-error.log shows that it failes to resolve the address :

Code:
(venv) -bash-5.0$ python brewpi.py --dbcfg 2
 Feb 05 2021 08:44:59   Connection type WiFi selected.  Trying TCP serial (WiFi)
 Feb 05 2021 08:44:59   Unable to resolve hostname esp3751667.local. Exiting.

If I add the ipadress into the django adminpage for the device all starts to work, so it seems to me that I'm missing something related to mDNS/avahi/zeroconf "Inside" the realm of python/brewpi....

Code:
(venv) -bash-5.0$ tail dev-2-stderr.log
 Feb 05 2021 08:57:12   Connecting to BrewPi esp3751667.local (via 192.168.68.121) on port 23
 Feb 05 2021 08:57:16   Successfully connected to controller.
 Feb 05 2021 08:57:16   Notification: Script started, with no active beer being logged
 Feb 05 2021 08:57:26   Checking software version on controller...
 Feb 05 2021 08:57:26   Found BrewPi v0.2.4, running commit 00000000, running on an ESP8266 ESP8266 with a DIY shield on port 192.168.68.121:23

 Feb 05 2021 08:57:26   BrewPi version received was 0.2.4 which this script supports in 'legacy' branch mode.
 Feb 05 2021 08:57:26   Bound to TCP socket on port 2606, interface localhost
 Feb 05 2021 08:57:27   Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 12, "v": 4.313, "a": "2808E55C060000AC", "j": 0.0}, {"i": 1, "t": 1, "c": 1, "b": 0, "f": 6, "h": 2, "d": 0, "p": 12, "v": 20.625, "a": "288B245D0600007F", "j": 0.0}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 14, "v": 0, "x": 0}]
 Feb 05 2021 08:57:28   Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 16, "x": 1}, {"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 13, "x": 1}]

anyone with any pointers ?

I know it would be easier to use raspiOS, but where is the fun in that :)

regs,
peram
 
Hi all and @Thorrak in particular :)

I have, for educational purposes embarked on a mission to see if I can build a fermentrack "distro" all from source based on the Linuxfromscratch-project with these raspberry pi specific additions and are in need of some guidance.

After several days of compiling stuff it seems that I have everything up and running now except for mDNS resolving of the devicenames "within" brewpi. I can resolve the addresses by using avahi-resolve :


Code:
-bash-5.0# avahi-resolve -n esp3751667.local
esp3751667.local        192.168.68.121

but the dev-1-error.log shows that it failes to resolve the address :

Code:
(venv) -bash-5.0$ python brewpi.py --dbcfg 2
Feb 05 2021 08:44:59   Connection type WiFi selected.  Trying TCP serial (WiFi)
Feb 05 2021 08:44:59   Unable to resolve hostname esp3751667.local. Exiting.

If I add the ipadress into the django adminpage for the device all starts to work, so it seems to me that I'm missing something related to mDNS/avahi/zeroconf "Inside" the realm of python/brewpi....

Code:
(venv) -bash-5.0$ tail dev-2-stderr.log
Feb 05 2021 08:57:12   Connecting to BrewPi esp3751667.local (via 192.168.68.121) on port 23
Feb 05 2021 08:57:16   Successfully connected to controller.
Feb 05 2021 08:57:16   Notification: Script started, with no active beer being logged
Feb 05 2021 08:57:26   Checking software version on controller...
Feb 05 2021 08:57:26   Found BrewPi v0.2.4, running commit 00000000, running on an ESP8266 ESP8266 with a DIY shield on port 192.168.68.121:23

Feb 05 2021 08:57:26   BrewPi version received was 0.2.4 which this script supports in 'legacy' branch mode.
Feb 05 2021 08:57:26   Bound to TCP socket on port 2606, interface localhost
Feb 05 2021 08:57:27   Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 0, "f": 5, "h": 2, "d": 0, "p": 12, "v": 4.313, "a": "2808E55C060000AC", "j": 0.0}, {"i": 1, "t": 1, "c": 1, "b": 0, "f": 6, "h": 2, "d": 0, "p": 12, "v": 20.625, "a": "288B245D0600007F", "j": 0.0}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 14, "v": 0, "x": 0}]
Feb 05 2021 08:57:28   Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 16, "x": 1}, {"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 1, "d": 0, "p": 13, "x": 1}]

anyone with any pointers ?

I know it would be easier to use raspiOS, but where is the fun in that :)

regs,
peram

Are you using the docker version, or installing Fermentrack directly?

Regardless, check your /etc/nsswitch.conf . You'll want to make sure the hosts file is set up to use mDNS. (Here's the specific line you want to look for)
 
Hi @Thorrak

I've just done a docker install however I think the compose file may not support the latest compose version.

I get this error:
fermentrack-tools_nginx_1 "host" network_mode is incompatible with port_bindings

I think you need to remove the port mapping on the nginx service if you are using the host network. Or don't use host network and map your ports between services?

nginx:
build:
context: .
dockerfile: ./compose/production/nginx/Dockerfile
image: fermentrack_nginx
depends_on:
- django
restart: unless-stopped
volumes:
- fermentrack_data:/data:z
ports:
- "0.0.0.0:80:80"
network_mode: "host"
 
New user to Fermentrack. Not sure if this question should go in new thread...sorry admins!!!

Just did a new build (fresh flash of Raspberry Lite OS) and installed Fermentrack with Raspberry Pi 3B+ but can't get web browser to connect. Has never worked. Just getting 504 Gateway Time-out with nginx/1.14.2. I can ssh but can't connect to web. Tried turning firewall off but same issue from multiple different computers. Any suggestions?
Capture.PNG
 
Hi @Thorrak

I've just done a docker install however I think the compose file may not support the latest compose version.

I get this error:


I think you need to remove the port mapping on the nginx service if you are using the host network. Or don't use host network and map your ports between services?

Weird.

Although my preference would be to not use host networking, there are a number of Fermentrack's components that are designed around having it. I built an alternative means for accessing mDNS, but will need to spend time with some of the other components before I can be comfortable that it works. Thankfully, host networking just means that we're effectively in the same boat that we were pre-docker -- You don't get the separation between services, but you also aren't any worse off.

In the mean time, I've removed the extraneous port mapping from the docker-compose files both in the main Fermentrack repo and in fermentrack_tools. Hopefully that fixes it. Sorry about that - and thanks for the bug report!


New user to Fermentrack. Not sure if this question should go in new thread...sorry admins!!!

Just did a new build (fresh flash of Raspberry Lite OS) and installed Fermentrack with Raspberry Pi 3B+ but can't get web browser to connect. Has never worked. Just getting 504 Gateway Time-out with nginx/1.14.2. I can ssh but can't connect to web. Tried turning firewall off but same issue from multiple different computers. Any suggestions?View attachment 717939

No worries - this is the right place!

How did you install Fermentrack? Did you install the original version, or the docker version? Have you tried restarting the Pi?
 
No worries - this is the right place!

How did you install Fermentrack? Did you install the original version, or the docker version? Have you tried restarting the Pi?
I used the full automated install (curl -L install.fermentrack.com | sudo bash). My understanding is that is the docker version? Is that correct? I have restarted the Pi without success.
 
I used the full automated install (curl -L install.fermentrack.com | sudo bash). My understanding is that is the docker version? Is that correct? I have restarted the Pi without success.
Unfortunately, that's the non-docker version. I just did a full install of the docker version on the latest RPi OS Lite and while I found a potential issue with the installation script where a user might have to log out/back in if installing docker itself for the first time, Fermentrack ended up coming up as expected.

That said, try using this install command:

curl -L https://raw.githubusercontent.com/thorrak/fermentrack-tools/docker/automated_install/auto-install.sh | bash
 
Unfortunately, that's the non-docker version. I just did a full install of the docker version on the latest RPi OS Lite and while I found a potential issue with the installation script where a user might have to log out/back in if installing docker itself for the first time, Fermentrack ended up coming up as expected.

That said, try using this install command:

curl -L https://raw.githubusercontent.com/thorrak/fermentrack-tools/docker/automated_install/auto-install.sh | bash
Up and running! I did have to log out/back in after installing docker and then re-start the installation to get it to finish. Setting my sensors up now. Thanks so much!!!
 
Are you using the docker version, or installing Fermentrack directly?

Regardless, check your /etc/nsswitch.conf . You'll want to make sure the hosts file is set up to use mDNS. (Here's the specific line you want to look for)

I just pulled down the installer, opened it in vi and tried to make sense of what to install :)

Oh the irony... I dont trust sdcards and had my install on an old laptop-disk. Guess what - yesterday my disk died on me so I'm rebuilding as we speak from source again, and will report back my findings.

peram
 
Hi

Just wondered what control constants people are using if you are using a glyol chiller with your fermenter? I have an SS brewtech chronical with the chiller coil and I've wrapped a heat cable around the cone.

I'm interested in everything from min temperature, to pid settings, idle range etc. I'll be honest I don't understand half of those settings on the page. I know a bit about pid and I know how I've configured my chiller controller (I'm using a maxi type beer line chiller) So I know I have my min temperature (set point) at something like -4c and and an idle (hysterical/differential) around 5c (i.e. when not cooling).

I have the chamber temperature probe in the chillers ice bath, the beer temp in the fermenter thermowell and then a room temperature probe well in the room.

Any guidance much appreciated :)

Andy
 
I think I finally have my new Fermenter Controller set up with Fermentrack. I'm coming over from a working CraftbeerPi 3 fermenter controller.

Question about this though...
I have 2 ESP8266 controllers since I'm controlling heating/cooling of the fermenter itself, as well as a DIY Glycol chiller tank. I only really need 2 temp sensors, but configured the Fermenter ESP8266 with 2 1-wire probes so I can monitor the ambient temp also. I have a single 1-wire probe for the chiller system.

I have the Glycol ESP8266 Controller set to have the single 1-wire probe as the "Chamber Temp" to keep the water about 5-10F lower than the desired set temp of the beer (controlled with the other ESP8266). This appears to work as expected.

But, when setting up the controller in Fermentrack, it appears that I need to use both a Chamber and a Beer temp probe to get Fermentrack to heat/cool the beer in the fermenter? Is this correct? I really don't have a "chamber" since I heat the fermenter with the Heat-Wrap film around the conical, and the cooling is done with a pump, taking cold water out of the chiller tank and running it through a SS coil in the fermenter. If I don't set one of the temp probes as "Chamber Temp", I get an error that says:
Chamber sensor NOT configured
Heating/Cooling cannot take place
Configure below to correct


Where would I locate this Chamber Temp in my setup? Or, is there a better way to configure Fermentrack in this situation?

Thanks.

Here's a picture of what I'm working with.
IMG_20210215_161350339.jpg
 
The PID loop for "beer" requires two probes, the loop for chamber requires one. Therefore, use chamber only and that is your beer temp.
 
The PID loop for "beer" requires two probes, the loop for chamber requires one. Therefore, use chamber only and that is your beer temp.
I think I understand. Just use Fridge temp constant then and set the desired fermenting temp?

When using Chamber Temp, I then see:
Beer sensor NOT configured
Profiles/Beer Constant mode will not be available


So if I want to do a fermenting schedule/profile, that won't be possible?

Or maybe I'm still not getting this straight in my head. FYI, I'm used to CraftbeerPi.

1613430850817.png


Currently, my Fermenter controller is configured this way:
1613431005040.png





And the Glycol Chiller controller looks like this:

1613431049094.png
 
Last edited:
You are correct - for now. Since neither @Thorrak nor I have a working glycol setup (he's a lot closer) this is what we have. Despite being talked about a lot, we don't get a lot of feedback from Glycol users in either project.
 
I just pulled down the installer, opened it in vi and tried to make sense of what to install :)

Oh the irony... I dont trust sdcards and had my install on an old laptop-disk. Guess what - yesterday my disk died on me so I'm rebuilding as we speak from source again, and will report back my findings.

peram

hm..... I'm stumped....

@Thorrak - are fermentrack doing the mdns-stuff through nscd or through avahi ?

I'm getting avahi-resolve-host-name to work without any problems :


Code:
-bash-5.1$ avahi-resolve-host-name  ESP3751667.local
esp3751667.local        192.168.68.102

but not when using getent :

Code:
-bash-5.1$ getent hosts  ESP3751667.local
-bash-5.1$
-bash-5.1$ sudo strace getent hosts  ESP3751667.local
[sudo] password for peram:
execve("/usr/bin/getent", ["getent", "hosts", "ESP3751667.local"], 0x7e91edf8 /* 12 vars */) = 0
brk(NULL)                               = 0x8be000
uname({sysname="Linux", nodename="pi3lfs", ...}) = 0
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f45000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=12488, ...}) = 0
mmap2(NULL, 12488, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f41000
close(3)                                = 0
openat(AT_FDCWD, "/lib/libc.so.6", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\34\177\1\0004\0\0\0"..., 512) = 512
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0755, stx_size=1319244, ...}) = 0
mmap2(NULL, 1409400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x76dba000
mprotect(0x76ef8000, 65536, PROT_NONE)  = 0
mmap2(0x76f08000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13e000) = 0x76f08000
mmap2(0x76f0b000, 29048, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76f0b000
close(3)                                = 0
set_tls(0x76f45e80)                     = 0
mprotect(0x76f08000, 8192, PROT_READ)   = 0
mprotect(0x24000, 4096, PROT_READ)      = 0
mprotect(0x76f47000, 4096, PROT_READ)   = 0
munmap(0x76f41000, 12488)               = 0
brk(NULL)                               = 0x8be000
brk(0x8df000)                           = 0x8df000
statx(AT_FDCWD, "/etc/resolv.conf", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=277, ...}) = 0
openat(AT_FDCWD, "/etc/host.conf", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/etc/resolv.conf", O_RDONLY|O_CLOEXEC) = 3
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=277, ...}) = 0
read(3, "# Generated by dhcpcd from eth0."..., 4096) = 277
read(3, "", 4096)                       = 0
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=277, ...}) = 0
close(3)                                = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = 0
send(3, "\2\0\0\0\r\0\0\0\6\0\0\0hosts\0", 18, MSG_NOSIGNAL) = 18
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=3, revents=POLLIN|POLLHUP}])
recvmsg(3, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="hosts\0", iov_len=6}, {iov_base="\310O\3\0\0\0\0\0", iov_len=8}], msg_iovlen=2, msg_control=[{cmsg_len=16, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, cmsg_data=[4]}], msg_controllen=16, msg_flags=MSG_CMSG_CLOEXEC}, MSG_CMSG_CLOEXEC) = 14
mmap2(NULL, 217032, PROT_READ, MAP_SHARED, 4, 0) = 0x76d85000
close(4)                                = 0
close(3)                                = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = 0
send(3, "\2\0\0\0\5\0\0\0\21\0\0\0ESP3751667.local\0", 29, MSG_NOSIGNAL) = 29
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377\377\377\0\0\0\0\1\0\0\0", 32) = 32
close(3)                                = 0
statx(AT_FDCWD, "/etc/resolv.conf", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT, STATX_BASIC_STATS, {stx_mask=STATX_ALL, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=277, ...}) = 0
socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0) = 3
connect(3, {sa_family=AF_UNIX, sun_path="/var/run/nscd/socket"}, 110) = 0
send(3, "\2\0\0\0\4\0\0\0\21\0\0\0ESP3751667.local\0", 29, MSG_NOSIGNAL) = 29
poll([{fd=3, events=POLLIN|POLLERR|POLLHUP}], 1, 5000) = 1 ([{fd=3, revents=POLLIN}])
read(3, "\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377\377\377\377\377\377\0\0\0\0\1\0\0\0", 32) = 32
close(3)                                = 0
exit_group(2)                           = ?
+++ exited with 2 +++
-bash-5.1$

regs,

peram
 
Last edited:
Ok, another Noob question about my Fermentrack build...

I have all the components wired up, Fermentrack is running on my Pi. However, when I go to flash my ESP8266 the software cannot find it. I am using the D1 mini, so it has the usb to serial chip.

How to I get this thing flashed? Do these chips require power first before flashing or does the usb from the pi provide the needed power to flash?

Although this was the first time I soldered a PCB I'm confident I did it right, when I put a multimeter to the 5v and 3v3 I get the correct voltage. Though, no matter how I try to connect this thing the software cannot find it.

Of note, when I connect the D1 via power from the PCB it flashed twice very quickly. The same happens if I connect the USB when it is not getting power. I'm assuming this is a visual indicator that the D1 has power,
 
Another suggestion is to check or try another USB cable. Some cheap charging cables do not include the data lines.

Plug your phone into a PC with same cable (assuming you are non-Iphone), does it go into storage mode?
 
Good point - although if BrewFlasher doesn't work it likely confirms a cable issue.

I went on a Jihad to remove power-only cables in my house.
 
**Edit. I got it to work. No idea how though, I re-started it again (for the, had to be 20th time) and it finally showed up in the guided walkthrough.

Ok sorry again, but this is driving me nuts.

I've successfully flashed the D1 mini with the wifi firmware. and when I try to follow the following steps:
  1. After flashing an ESP8622, open your host computer’s WiFi network selector and look for an access point that begins with “ESP_” and then a string of numbers.
  2. Connect to this access point and navigate to any web page- you should be automatically redirected to the ES8266 configuration web page (If not, the configuration page usually runs at http://192.168.4.1).
  3. Select your LAN wifi network from the networks identified, as well as your wifi password and mDNS name (a text string to identify your ESP8622 board by)
  4. Click ‘Save’. The ESP8622 will reboot and then connect to your LAN wifi network.
I do not see the access point that starts with "ESP_" I've re-booted the board after flashing. I know it's connected to wifi because I can ping it via the terminal, but I cant seem to get Fermentrack to connect to it.

Since I know the D1's IP address I can set it up manually, but I don't know what to populate in all of the fields except the IP Address.

Any help with this?
 
Last edited:
Good point - although if BrewFlasher doesn't work it likely confirms a cable issue.

I went on a Jihad to remove power-only cables in my house.

The pain and suffering I've endured from this discovery is evident by the number of hairs left on my head! These cables should not exist, and are now serving well in my household chopped up as power delivery for various IoT/ESP projects.

**Edit. I got it to work. No idea how though, I re-started it again (for the, had to be 20th time) and it finally showed up in the guided walkthrough.

What got it to work? Just so others may learn from reading the thread. Sometimes patience is a virtue, especially with these devices. They can take many minutes (5+) to boot, collect data, connect to Wifi, be discovered, and finally report. Coupled with a typical Pi install, those take time to serve the connection and webpage. Slower even for the ESP to serve the portal. If no known wifi AP is found, it may take a few minutes to go into self-AP mode and then serve the webpage itself.
 
I'm testing some water in the fermenter using Fermentrack for the first time.
It's working - this is a big plus. It's cold here, so I can't really test the cooling function right now, but heating is working.

I was hoping for a little tighter temps in the beer (water). I'm used to CraftbeerPi, and could really dial in the temps to stay within <.5F of the target temp with it. However, with Fermentrack the fluctuation range of the beer (water) is 1.72F. I've looked at the Control Constants page and am stumped about what I need to do to tighten that range up. I didn't find anything on the internet about how to make adjustments. I suppose I could just futz with the numbers and see what happens.

My beer (water) probe is in a thermowell in the middle of the fermenter, coming in down from the top. It's a plastic conical fermenter. I have a SS chilling coil in it that will get glycol pumped through it for cooling in the summer months. I have 2 temp probes on the fermenter controller. One as Chamber sensor (as LBussy suggests above) and one for room/ambient temperature. I'm using the fridge constant control mode to control temps.

Any suggestions?

1613739586050.png
 
**Edit. I got it to work. No idea how though, I re-started it again (for the, had to be 20th time) and it finally showed up in the guided walkthrough.

Ok sorry again, but this is driving me nuts.

I've successfully flashed the D1 mini with the wifi firmware. and when I try to follow the following steps:
  1. After flashing an ESP8622, open your host computer’s WiFi network selector and look for an access point that begins with “ESP_” and then a string of numbers.
  2. Connect to this access point and navigate to any web page- you should be automatically redirected to the ES8266 configuration web page (If not, the configuration page usually runs at http://192.168.4.1).
  3. Select your LAN wifi network from the networks identified, as well as your wifi password and mDNS name (a text string to identify your ESP8622 board by)
  4. Click ‘Save’. The ESP8622 will reboot and then connect to your LAN wifi network.
I do not see the access point that starts with "ESP_" I've re-booted the board after flashing. I know it's connected to wifi because I can ping it via the terminal, but I cant seem to get Fermentrack to connect to it.

Since I know the D1's IP address I can set it up manually, but I don't know what to populate in all of the fields except the IP Address.

Any help with this?

One of the things about the ESPs is that they preserve WiFi credentials through flashing (the credentials are written to an area that isn't normally overwritten). If you had connected that ESP to your network at any point, it very well may just be reusing those credentials. That would explain both why you can ping it via the terminal and why the AP doesn't spin up.

As to the question around what to populate for the other fields:
  • Device name: You choose! This is how Fermentrack will refer to this device
  • Temp Format/Data Point Log Interval: Again, you pick based on what you want
  • Board Type: ESP8266
  • Connect Interface to Script Options: Leave all these as the defaults (box ticked / localhost / some random port number)
  • Connection Type: WiFi
  • WiFi Host: The IP address
  • Port: 23
 
How large is the volume of liquid?
8-9 gallons of water in the fermenter now as a test.
Fermenter is wrapped in bubble wrap.
Fermenter is in the garage.
Garage is cold (as seen by the room temp).

Last year I made some beer when the garage was in the teens above zero. The beer held a steady 68F with a less than 1F total swing (less than +/- .5F on each side). I have about 60 watts of plastic heat-wrap film around the cone of the fermenter with the bubble wrap insulation over that.

I changed the Temperature idle range top: and bottom: from 1.79/-1.79 to .5/-.5 and am waiting for a non-heat cycle to happen to see if that helps tighten the range. If that doesn't work, I'll try another setting. Maybe just trial and error is the way to go here. Or, will the PID function learn over time and tighten up the range by itself?

So far, the temp that the heater turned off didn't change. It's still turning the heat-film off at 67.92F
 
Last edited:
If you had connected that ESP to your network at any point, it very well may just be reusing those credentials.

Yea, I'm guess this is why it worked for me. When Fermentrack couldn't find it I used an IDE to upload a sketch with my SSID and password. Thats how I was able to ping it, and I'm guessing how Fermentrack was able to see it.
 
hm..... I'm stumped....

@Thorrak - are fermentrack doing the mdns-stuff through nscd or through avahi ?

I'm getting avahi-resolve-host-name to work without any problems :
Admittedly, I'm not an expert on how the various pieces of DNS resolution fit together, other than to say that I install avahi and check to be sure that my nsswitch.conf is updated in accordance with the link I posted above. With both of those done, DNS searches for .local addresses tend to automatically resolve.
 
How did you change them? Tighten them up a bit?
I changed the Temperature idle range top: and bottom: from 1.79/-1.79 (I think this was the default after install) to .5/-.5. Though notice below, the software changed my .5 and -.5 to .498 and -.498

Warning. I'm not sure what other ramifications this change may have. I don't know how all these numbers might interact with each other. I've not seen any documentation on them or how to adjust. Just stating what seemed to work for me.

1613834609843.png



And here's the recent screen snip of my test. You can see where I dropped the target temp by 1F a couple times. And where the Temp idle range top/bottom was adjusted after 6am on 2/19. The red temperature line is the ambient/room temp (my garage).

1613834742244.png
 
Warning. I'm not sure what other ramifications this change may have. I don't know how all these numbers might interact with each other. I've not seen any documentation on them or how to adjust. Just stating what seemed to work for me.

Definitely won’t hold it against you. I futilely tried asking for more documentation months back.

I’m trying the same. Recording all changes in case I need to revert back.

Thanks for the tip.

So far so good though.

B2B4E111-7EE1-40D1-B2F8-13CECBEFBFF9.jpeg


D33B37CC-B320-4293-A327-97D668BED571.jpeg

Yes I’m doing a lager 😊
 
Last edited:
I have it down to +/- .5, but nothing else I seem to change makes a difference.

Anyone else have better luck?

This is on a glycol setup btw,
 

Attachments

  • Fermentrack_Temps_After.png
    Fermentrack_Temps_After.png
    230 KB · Views: 8
I have it down to +/- .5, but nothing else I seem to change makes a difference.

Anyone else have better luck?

This is on a glycol setup btw,

That's about as good as you'll get with the current firmware and glycol. Once glycol support is added to the firmware you should be able to get within +/- 0.2 F (or better) but as I don't have a glycol setup here to play with, it's a ways back in the queue.

I'll say the same thing I tell everyone: If anyone can find me a glycol right that clocks in at ~46 dB or less at 3 feet, I'll be the first one in line to buy it. The Stasis was ~72 dB, Blichmann and Icemaster Max 2 were ~55-60.
 
Back
Top