Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed!

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.
Actually, you just reminded me of a comment @LBussy made awhile back —

Does your phone happen to not have an internet connection when you are looking at your Fermentrack install?

I am on my local network wifi so it is connected. Also, the same problem persists with web browser on my laptop. Just for more info, my wemos is connected via usb to my pi.
 
I am on my local network wifi so it is connected. Also, the same problem persists with web browser on my laptop. Just for more info, my wemos is connected via usb to my pi.
Do you have a pi hole or some kind of firewall?

The reason I ask - I think I’m using a CDN for jquery and Vue.js, so anything that would prevent you from reaching the CDN could cause the JavaScript to not load correctly. Do the dashboard panels on the main page of Fermentrack work?
 
Hmm. Not sure on the firewall part. I’ve never installed one that’s for sure.

Do the panels work? I mean, the buttons work. I can click on them, to start a new brew session and assign my tilt to my controller, etc using the buttons but, no temperature or gravity information is showing in those displays. It is in the LCD box though.
 
It's a generic "2 port" USB power supply that I have disassembled and wired to power both the Wemos and the Pi Zero W. I was even wondering if having high voltage in the same box as the pi zero could have an affect on the magnetic flash card. This box has never turned off in the year+ that I've been running it.

Either way, I'll be doing a new fermentrack build on a new card.

Check the rating on the power supply - under-speced power supplies are one of the main causes of SD issues with Pis.

I think the official one is 2.5A and 5.5v.
 
Could use some help.

Brand new Buster Desktop image on brand new 16 gig Class 10 SD card, put in a previously totally functional RPI3b.
Install went fine, but when i attempt to connect to the Pi all i get is 502 Bad Gateway errors. Tried on multiple devices with no luck.
I can ssh into it fine, whats going on?

My old Fermentrack git got all screwed up somehow when i was trying an update, i suspect the SD card was dying so i rebuilt it with new card.

Its version b9d4c87 installed.

This was using the curl command from the fermentrack.com page

I just went into the fermentrack tools and re-ran the install.sh and now its working?
 
Last edited:
Could use some help.

Brand new Buster Desktop image on brand new 16 gig Class 10 SD card, put in a previously totally functional RPI3b.
Install went fine, but when i attempt to connect to the Pi all i get is 502 Bad Gateway errors. Tried on multiple devices with no luck.
I can ssh into it fine, whats going on?

My old Fermentrack git got all screwed up somehow when i was trying an update, i suspect the SD card was dying so i rebuilt it with new card.

Its version b9d4c87 installed.

I will note one thing that was a bit suspicious, but maybe shouldnt be. When i alt-tabbed back to my putty window after the install was complete my ssh session was already terminated? Not sure why or how it got terminated if it was related to the install script or what just thought i'd mention it.


Sounds like Fermentrack isn't running - try rebooting the pi - if that doesn't work then reflash and reinstall from scratch.
 
Sounds like Fermentrack isn't running - try rebooting the pi - if that doesn't work then reflash and reinstall from scratch.

Rebooting didnt fix it, but reinstalling with the install.sh script did...maybe something to look at. Running
curl -L install.fermentrack.com | sudo bash
installed it seemingly correct but i always got the 502 error.

So before reflashing i just went and ran the install.sh script from my fermentrack-tools dir it pulled down and waited another 30 mins and It came up no problems and has been working since.
 
New error :(

Trying to setup my ispindel i noticed it wasnt showing any readings on the site.
So for i decided to just goto http://fermentrack/ispindel and the page throws an error, so i assume my iSpindel cant connect.

Environment:

Request Method: GET
Request URL: http://192.168.1.x/ispindel

Django Version: 1.11.28
Python Version: 3.7.3
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app.apps.AppConfig',
'firmware_flash.apps.AppConfig',
'gravity.apps.GravityAppConfig',
'external_push.apps.AppConfig',
'constance',
'constance.backends.database',
'huey.contrib.djhuey',
'raven.contrib.django.raven_compat']
Installed Middleware:
['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
'raven.contrib.django.middleware.SentryMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/usr/lib/python3.7/json/decoder.py" in raw_decode
353. obj, end = self.scan_once(s, idx)

During handling of the above exception (0), another exception occurred:

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
58. return view_func(*args, **kwargs)

File "/home/fermentrack/fermentrack/gravity/views_ispindel.py" in ispindel_handler
93. ispindel_data = json.loads(request.body.decode('utf-8'))

File "/usr/lib/python3.7/json/__init__.py" in loads
348. return _default_decoder.decode(s)

File "/usr/lib/python3.7/json/decoder.py" in decode
337. obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "/usr/lib/python3.7/json/decoder.py" in raw_decode
355. raise JSONDecodeError("Expecting value", s, err.value) from None

Exception Type: JSONDecodeError at /ispindel
Exception Value: Expecting value: line 1 column 1 (char 0)
 
New error :(

Trying to setup my ispindel i noticed it wasnt showing any readings on the site.
So for i decided to just goto http://fermentrack/ispindel and the page throws an error, so i assume my iSpindel cant connect.

Environment:

Request Method: GET
Request URL: http://192.168.1.x/ispindel

Django Version: 1.11.28
Python Version: 3.7.3
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app.apps.AppConfig',
'firmware_flash.apps.AppConfig',
'gravity.apps.GravityAppConfig',
'external_push.apps.AppConfig',
'constance',
'constance.backends.database',
'huey.contrib.djhuey',
'raven.contrib.django.raven_compat']
Installed Middleware:
['raven.contrib.django.middleware.DjangoRestFrameworkCompatMiddleware',
'raven.contrib.django.middleware.SentryMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware']



Traceback:

File "/usr/lib/python3.7/json/decoder.py" in raw_decode
353. obj, end = self.scan_once(s, idx)

During handling of the above exception (0), another exception occurred:

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner
41. response = get_response(request)

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
187. response = self.process_exception_by_middleware(e, request)

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response
185. response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/home/fermentrack/venv/lib/python3.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
58. return view_func(*args, **kwargs)

File "/home/fermentrack/fermentrack/gravity/views_ispindel.py" in ispindel_handler
93. ispindel_data = json.loads(request.body.decode('utf-8'))

File "/usr/lib/python3.7/json/__init__.py" in loads
348. return _default_decoder.decode(s)

File "/usr/lib/python3.7/json/decoder.py" in decode
337. obj, end = self.raw_decode(s, idx=_w(s, 0).end())

File "/usr/lib/python3.7/json/decoder.py" in raw_decode
355. raise JSONDecodeError("Expecting value", s, err.value) from None

Exception Type: JSONDecodeError at /ispindel
Exception Value: Expecting value: line 1 column 1 (char 0)


Heh. When you attempt to access the ispindel endpoint without actually posting the JSON data it expects, it kicks out that error. I'm tweaking the code now so that it says something rather than throwing out a Django error.

That said, there should be two log files that are created that you could look at to see what your iSpindel is sending -- log/ispindel_raw_output.log and log/ispindel_json_output.log
 
Heh. When you attempt to access the ispindel endpoint without actually posting the JSON data it expects, it kicks out that error. I'm tweaking the code now so that it says something rather than throwing out a Django error.

That said, there should be two log files that are created that you could look at to see what your iSpindel is sending -- log/ispindel_raw_output.log and log/ispindel_json_output.log

Hmm the raw file is empty except for '' at the top of the file and the other doesnt exist, so maybe its not communicating properly.
One question, once ispindel is configured to connect to your local AP, i should be able to see it on my Router as a connected item but not seeing it so maybe its not getting Wifi properly.
 
Turns out an extra . hidden in the ip breaks things. Its up and calibrated and running now thanks.
Last question, how important is the temperature it reads? Is it used at all in the calculation?
It seems to be about 3F off of what my Thermapen is reading, i dont care about it being off as long as my thermowell DS18B20 is accurate i'm just curious if it affects the gravity readings(Im pretty sure it doesnt)
 
Turns out an extra . hidden in the ip breaks things. Its up and calibrated and running now thanks.
Last question, how important is the temperature it reads? Is it used at all in the calculation?
It seems to be about 3F off of what my Thermapen is reading, i dont care about it being off as long as my thermowell DS18B20 is accurate i'm just curious if it affects the gravity readings(Im pretty sure it doesnt)
It doesn’t. :)
 
This might seem like a weird request, and maybe nobody else cares...
But can there be an option in the pushing to remote API's like Brewersfriend to use your fermenters temp instead of the iSpindel/tilt/whatever?

Its a minor thing, but the my iSpindel reports a degree or two higher than my beer actually is according to my DS18B20 controlling my fridge. Again its a small thing, so maybe no one else cares to make it worth adding.
 
Hi,

i am gert new to Fermentrack, but so far I am happy. Has been able to install and add iSpindel device and able to log.

however I have also tried to add a Tilt 2, sadly without the same success. I can add the Tilt, but it is not logging. And the std error file is full of Bluetooth related errors. I have been able to find threads with people with the same problem, but no solutions.

can any of you clever people in here help?
 
Hi,

i am gert new to Fermentrack, but so far I am happy. Has been able to install and add iSpindel device and able to log.

however I have also tried to add a Tilt 2, sadly without the same success. I can add the Tilt, but it is not logging. And the std error file is full of Bluetooth related errors. I have been able to find threads with people with the same problem, but no solutions.

can any of you clever people in here help?
What errors are you seeing exactly?
 
What errors are you seeing exactly?

I see this in file tilt--stderr.log:

ERROR:asyncio:Fatal error: protocol.data_received() call failed.
protocol: <aioblescan.aioblescan.BLEScanRequester object at 0x74bc2870>
transport: <_SelectorSocketTransport fd=8 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/selector_events.py", line 813, in _read_ready__data_received
self._protocol.data_received(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1344, in data_received
self.process(packet)
File "/home/fermentrack/fermentrack/gravity/tilt/tilt_monitor_aio.py", line 46, in processBLEBeacon
xx = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 985, in decode
data=ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1031, in decode
data = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 772, in decode
data = field.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1056, in decode
data=ad.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1246, in decode
val.decode(data[:length.val-len(type)])
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 611, in decode
data=mynbyte.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 577, in decode
self.val=unpack(">%ds"%self.length,data[:self.length])[0][::-1]
struct.error: unpack requires a buffer of 4 bytes
 
Do you have a pi hole or some kind of firewall?

The reason I ask - I think I’m using a CDN for jquery and Vue.js, so anything that would prevent you from reaching the CDN could cause the JavaScript to not load correctly. Do the dashboard panels on the main page of Fermentrack work?
EDIT: I updated to the latest version of Fermentrack and the temps are there again.

I'm having the same problem. I do have a pihole (running on the same RPi as Fermentrack, actually). However, disabling the pihole doesn't seem to make any difference in making the temps reappear.
 
Last edited:
EDIT: I updated to the latest version of Fermentrack and the temps are there again.

I'm having the same problem. I do have a pihole (running on the same RPi as Fermentrack, actually). However, disabling the pihole doesn't seem to make any difference in making the temps reappear.

@Necrobrews fixed it. :)


I see this in file tilt--stderr.log:

ERROR:asyncio:Fatal error: protocol.data_received() call failed.
protocol: <aioblescan.aioblescan.BLEScanRequester object at 0x74bc2870>
transport: <_SelectorSocketTransport fd=8 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/selector_events.py", line 813, in _read_ready__data_received
self._protocol.data_received(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1344, in data_received
self.process(packet)
File "/home/fermentrack/fermentrack/gravity/tilt/tilt_monitor_aio.py", line 46, in processBLEBeacon
xx = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 985, in decode
data=ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1031, in decode
data = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 772, in decode
data = field.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1056, in decode
data=ad.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1246, in decode
val.decode(data[:length.val-len(type)])
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 611, in decode
data=mynbyte.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 577, in decode
self.val=unpack(">%ds"%self.length,data[:self.length])[0][::-1]
struct.error: unpack requires a buffer of 4 bytes

Thanks @garzlok for having a similar issue :) Here's the fix:

SSH into your pi. As the Pi user, run the following:

sudo apt-get install -y bluez libcap2-bin libbluetooth3 libbluetooth-dev
sudo su fermentrack
cd ~/fermentrack
source ~/venv/bin/activate
pip install --upgrade -r requirements.txt


There are two problems which mixed to create the mess we're in today: PyBluez updated in a way that made the existing aioblescan code no longer work, and Raspbian no longer includes the Bluetooth development libraries by default. If you manually install the bluetooth libraries (libbluetooth-dev) then you can update pybluez without issue. That will then enable the fix that @Necrobrews cooked up to work.
 
Thanks @garzlok for having a similar issue :) Here's the fix:

SSH into your pi. As the Pi user, run the following:

sudo apt-get install -y bluez libcap2-bin libbluetooth3 libbluetooth-dev
sudo su fermentrack
cd ~/fermentrack
source ~/venv/bin/activate
pip install --upgrade -r requirements.txt


There are two problems which mixed to create the mess we're in today: PyBluez updated in a way that made the existing aioblescan code no longer work, and Raspbian no longer includes the Bluetooth development libraries by default. If you manually install the bluetooth libraries (libbluetooth-dev) then you can update pybluez without issue. That will then enable the fix that @Necrobrews cooked up to work.

So I am having the same issue and was planning on reporting it tonight when I got up to date with this thread. I ran the instructions that you provided @Thorrak , but the output said "Requirements already up to date / satisfied". Not sure where to turn from here.

I have TiltPi installed on my same RPI 3b+ and it works without any issue. Fermentrack displays the first ping from the Tilt, but then never updates. It also never shows that my iSpindel's are disconnected and still shows the last temp reading from them. TiltPi updates without any issue. The screens of Fermentrack and TiltPi were taken a few seconds apart.

My error logs are also very similar to @garzlok :

...
self.process(packet)
File "/home/fermentrack/fermentrack/gravity/tilt/tilt_monitor_aio.py", line 46, in processBLEBeacon
xx = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 985, in decode
data=ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1031, in decode
data = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 772, in decode
data = field.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1056, in decode
data=ad.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1246, in decode
val.decode(data[:length.val-len(type)])
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 611, in decode
data=mynbyte.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 577, in decode
self.val=unpack(">%ds"%self.length,data[:self.length])[0][::-1]
struct.error: unpack requires a buffer of 4 bytes
ERROR:asyncio:Fatal error: protocol.data_received() call failed.
protocol: <aioblescan.aioblescan.BLEScanRequester object at 0x74fb02d0>
transport: <_SelectorSocketTransport fd=8 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/selector_events.py", line 813, in _read_ready__data_received
self._protocol.data_received(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1344, in data_received
self.process(packet)
File "/home/fermentrack/fermentrack/gravity/tilt/tilt_monitor_aio.py", line 92, in processBLEBeacon
tilts[color].process_decoded_values(gravity, temp, rssi) # Process the data sent from the Tilt
KeyError: None
 

Attachments

  • Screen Shot 2020-02-18 at 8.12.01 PM.png
    Screen Shot 2020-02-18 at 8.12.01 PM.png
    2.1 MB · Views: 26
  • Screen Shot 2020-02-18 at 8.50.17 AM.png
    Screen Shot 2020-02-18 at 8.50.17 AM.png
    69.4 KB · Views: 27
  • Screen Shot 2020-02-18 at 8.50.36 AM.png
    Screen Shot 2020-02-18 at 8.50.36 AM.png
    199 KB · Views: 25
Last edited:
So I am having the same issue and was planning on reporting it tonight when I got up to date with this thread. I ran the instructions that you provided @Thorrak , but the output said "Requirements already up to date / satisfied". Not sure where to turn from here.

I have TiltPi installed on my same RPI 3b+ and it works without any issue. Fermentrack displays the first ping from the Tilt, but then never updates. It also never shows that my iSpindel's are disconnected and still shows the last temp reading from them. TiltPi updates without any issue. The screens of Fermentrack and TiltPi were taken a few seconds apart.

My error logs are also very similar to @garzlok :

...
self.process(packet)
File "/home/fermentrack/fermentrack/gravity/tilt/tilt_monitor_aio.py", line 46, in processBLEBeacon
xx = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 985, in decode
data=ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1031, in decode
data = ev.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 772, in decode
data = field.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1056, in decode
data=ad.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1246, in decode
val.decode(data[:length.val-len(type)])
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 611, in decode
data=mynbyte.decode(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 577, in decode
self.val=unpack(">%ds"%self.length,data[:self.length])[0][::-1]
struct.error: unpack requires a buffer of 4 bytes
ERROR:asyncio:Fatal error: protocol.data_received() call failed.
protocol: <aioblescan.aioblescan.BLEScanRequester object at 0x74fb02d0>
transport: <_SelectorSocketTransport fd=8 read=polling write=<idle, bufsize=0>>
Traceback (most recent call last):
File "/usr/lib/python3.7/asyncio/selector_events.py", line 813, in _read_ready__data_received
self._protocol.data_received(data)
File "/home/fermentrack/venv/lib/python3.7/site-packages/aioblescan/aioblescan.py", line 1344, in data_received
self.process(packet)
File "/home/fermentrack/fermentrack/gravity/tilt/tilt_monitor_aio.py", line 92, in processBLEBeacon
tilts[color].process_decoded_values(gravity, temp, rssi) # Process the data sent from the Tilt
KeyError: None


I am seing the exact same. Ran all the commands and everything seemed up to date. Activated the Til and the exact same error appeared in the log file :-(
 
Birkmose said:
I am seing the exact same. Ran all the commands and everything seemed up to date. Activated the Til and the exact same error appeared in the log file :-(

For what it’s worth. After I ran the commands @Thorrak recommended. I too noticed nothing changed, but I rebooted my Pi, and once running again, Fermentrack started displaying my Tilt data. (Correctly)
 
For what it’s worth. After I ran the commands @Thorrak recommended. I too noticed nothing changed, but I rebooted my Pi, and once running again, Fermentrack started displaying my Tilt data. (Correctly)
Doh, yeah - I forgot to add relaunching Fermentrack as one of the commands. You updated all the code, then never launched it. Rebooting the Pi fixes it. Sorry about that
 
I am seing the exact same. Ran all the commands and everything seemed up to date. Activated the Til and the exact same error appeared in the log file :-(

Don’t know why, but it took a couple of reboots after running those commands for my tilt readings to start showing. Didn’t make any changes between them either. Worth a shot?
 
I guess I should have mentioned that I rebooted 3 times and still have the issue.

It will get an initial reading as I show in my screen shots. But after that, it doesn't update. I've tested by moving the tilt angle of my Tilt and letting it sit for hours. Fermentrack never reflects the changes. Tilt Pi does immediately.
 
I guess I should have mentioned that I rebooted 3 times and still have the issue.

It will get an initial reading as I show in my screen shots. But after that, it doesn't update. I've tested by moving the tilt angle of my Tilt and letting it sit for hours. Fermentrack never reflects the changes. Tilt Pi does immediately.

Again I see the exqact same thing. 3-4 reboots, and suddenly a reading. But only 1, it doesn't log continously...

I am beginning to wonder whether Fermentrack is the right choice for Tilt. I have been reading posts dating back to sept. 2018 with this exact issue. In this post they talk about incompatibility with newer versions af Raspbian, and promissing an update. And that was a year and a half ago ...
 
Again I see the exqact same thing. 3-4 reboots, and suddenly a reading. But only 1, it doesn't log continously...

I am beginning to wonder whether Fermentrack is the right choice for Tilt. I have been reading posts dating back to sept. 2018 with this exact issue. In this post they talk about incompatibility with newer versions af Raspbian, and promissing an update. And that was a year and a half ago ...

It is this post I am referring to:

https://github.com/thorrak/fermentrack/issues/304
 
Again I see the exqact same thing. 3-4 reboots, and suddenly a reading. But only 1, it doesn't log continously...

I am beginning to wonder whether Fermentrack is the right choice for Tilt. I have been reading posts dating back to sept. 2018 with this exact issue. In this post they talk about incompatibility with newer versions af Raspbian, and promissing an update. And that was a year and a half ago ...
This is the first time I've had an issue with Fermentrack and my Tilt being able to communicate, I've been running it on Raspbian Stretch for almost a year.
 
Thorrak said:
Doh, yeah - I forgot to add relaunching Fermentrack as one of the commands. You updated all the code, then never launched it. Rebooting the Pi fixes it. Sorry about that

Hehe...Ooops! Luckily my exposures to different customer support experiences paid off...because the one thing they have in common..."First, let's reboot the system."

Birkmose said:
I am beginning to wonder whether Fermentrack is the right choice for Tilt.

It may not be the flavor for you and that's OK...but my Tilt and Fermentrack play nicely so I would say it is the right choice. FWIW my Tilts and Fermentrack were playing nicely before the recent update too. So a blanket statement might be true for you, but maybe not the case for the other 98% of us.
 
Again I see the exqact same thing. 3-4 reboots, and suddenly a reading. But only 1, it doesn't log continously...

I am beginning to wonder whether Fermentrack is the right choice for Tilt. I have been reading posts dating back to sept. 2018 with this exact issue. In this post they talk about incompatibility with newer versions af Raspbian, and promissing an update. And that was a year and a half ago ...

While I might disagree, I completely understand the concern. Here’s what has happened to date (and why Fermentrack is particularly susceptible to this kind of issue):

Fermentrack was one of the first software packages to officially implement Tilt support - building on the Tilt support that was unofficially bolted on to the side of BrewPi. When it was first built, it used libraries that were installed with Raspbian Jessie - and it worked great out of the box! The support was built for Python 2, and stopped working in 2018 when the library it used - beacontools - stopped working. This is the thread you linked to. My memory is terrible, so I don’t recall exactly what happened to cause it to break, but I believe that for new installations the underlying library was a different version that filtered devices (like the tilt) that broadcast beacon packets frequently.

To fix this, I then went back and rewrote the Tilt support from scratch to use a different library - aioblescan. It worked, but there were a few hiccups. That said, it resolved the issue that you linked (hence why the issue was closed when that update went live).

A year or so later, Raspbian Buster was released which stopped bundling libbluetooth-dev. There’s nothing wrong with that, but installing it requires sudo - and the error wouldn’t get caught until it was too late to solve from the Fermentrack upgrade script. I added this to the initial Fermentrack install script but this only fixes it for new installations - not for old ones.

This is where we’re at now. Fermentrack is running on Raspbian installations from Jessie to Buster, with installation dates in some cases four years in the past. Some people started with Python 2 and now are on Python 3 - others installed it last week and had everything up to date from day 1. I test on the environments I can and rely on Sentry to catch the rest. Sometimes that works, and sometimes it doesn't. The issue most people right now seem to be experiencing is an environment one - which makes it tough to diagnose, and tougher to fix! The installation I did this past weekend works out of the box, but that doesn’t mean anything if your installation has issues. Furthermore, if fixing the issue requires root, it will require manual intervention. Not the route I ever want to take, but the alternative is a massive security issue which is a path I refuse to go down.

Fundamentally, this is an issue that arises from the fact that Fermentrack is an active project. Fermentrack’s code/features are constantly evolving as are the libraries it relies upon. As you noted this isn’t the first issue it’s had, nor is it likely to be the last. There are a few things I can to hopefully help prevent this in the future, but absent never releasing updates and freezing a Raspbian install I can’t guarantee success.
 
Jeeze...sorry you had to take the time to write that, @Thorrak...

Cheers! [shakes head]

Hah, thanks! It helps that I was bored on the train ride home. That's about 25 minutes worth of typing on an iPhone. ;)

Honestly though - I COMPLETELY understand @Birkmose 's sentiment. Tilt support in particular is something that has been painful to keep working. That's part of why I built TiltBridge (which was in turn part of why I built BrewFlasher), and is one of those things that I anticipate will continue to cause trouble. It's perfectly fine for me to blame environment issues or things outside my control, but for someone who isn't a programmer you just want things to work. I completely feel (and share!) the frustration - even if it's for a different reason.
 
Well, heck, take a look at the current state of Microsoft Windows 10 and the similar constant state of flux in the Raspbian environment doesn't look all that bad.

That said, sometimes I wonder what strain of weed the Org is smoking...

Cheers!
 
While I might disagree, I completely understand the concern. Here’s what has happened to date (and why Fermentrack is particularly susceptible to this kind of issue):

Fermentrack was one of the first software packages to officially implement Tilt support - building on the Tilt support that was unofficially bolted on to the side of BrewPi. When it was first built, it used libraries that were installed with Raspbian Jessie - and it worked great out of the box! The support was built for Python 2, and stopped working in 2018 when the library it used - beacontools - stopped working. This is the thread you linked to. My memory is terrible, so I don’t recall exactly what happened to cause it to break, but I believe that for new installations the underlying library was a different version that filtered devices (like the tilt) that broadcast beacon packets frequently.

To fix this, I then went back and rewrote the Tilt support from scratch to use a different library - aioblescan. It worked, but there were a few hiccups. That said, it resolved the issue that you linked (hence why the issue was closed when that update went live).

A year or so later, Raspbian Buster was released which stopped bundling libbluetooth-dev. There’s nothing wrong with that, but installing it requires sudo - and the error wouldn’t get caught until it was too late to solve from the Fermentrack upgrade script. I added this to the initial Fermentrack install script but this only fixes it for new installations - not for old ones.

This is where we’re at now. Fermentrack is running on Raspbian installations from Jessie to Buster, with installation dates in some cases four years in the past. Some people started with Python 2 and now are on Python 3 - others installed it last week and had everything up to date from day 1. I test on the environments I can and rely on Sentry to catch the rest. Sometimes that works, and sometimes it doesn't. The issue most people right now seem to be experiencing is an environment one - which makes it tough to diagnose, and tougher to fix! The installation I did this past weekend works out of the box, but that doesn’t mean anything if your installation has issues. Furthermore, if fixing the issue requires root, it will require manual intervention. Not the route I ever want to take, but the alternative is a massive security issue which is a path I refuse to go down.

Fundamentally, this is an issue that arises from the fact that Fermentrack is an active project. Fermentrack’s code/features are constantly evolving as are the libraries it relies upon. As you noted this isn’t the first issue it’s had, nor is it likely to be the last. There are a few things I can to hopefully help prevent this in the future, but absent never releasing updates and freezing a Raspbian install I can’t guarantee success.

Well, my Raspian Buster installation is from Monday this week, and the Fermentrack installation from Tuesday, since I thought I would start with a fresh installation to rule out old messy installations. And I am still having the same issues that people with older installations have?

I even updated the Fermentrack Yesterday when I saw an update was available, and did the installation of new Bluetooth libraries as mentioned above. Even though the installation script said everything is up to date.

And still my Tilt isn't logging...
 
Birkmose said:
Day trippr, shake your head as hard as you want, don't you think it's relavant to address errors in the tool? Isn't that what this forum is for?

Yep, constructive discussion and dissemination of information.

Blanket statements that don’t rightfully depict the majority of the population is not constructive. The author of the program acknowledges and empathizes with your situation and is working to remedy the issue.

Your post, quite frankly is rude.

Cheers! (Shaking head too)
 
Back
Top