• Please visit and share your knowledge at our sister communities:
  • If you have not, please join our official Homebrewing Facebook Group!

    Homebrewing Facebook Group

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

Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Environment:


Request Method: GET
Request URL: http://192.x.x.x/api/gravity/

Django Version: 3.0.14
Python Version: 3.9.12
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',
'backups.apps.BackupsConfig',
'constance',
'constance.backends.database',
'huey.contrib.djhuey']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'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 (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/django/views.py", line 67, in sentry_wrapped_callback
return callback(request, *args, **kwargs)
File "/usr/local/lib/python3.9/contextlib.py", line 79, in inner
return func(*args, **kwds)
File "/app/gravity/api/sensors.py", line 46, in get_gravity_sensors
temp, temp_format = dev.retrieve_loggable_temp()

Exception Type: ValueError at /api/gravity/
Exception Value: too many values to unpack (expected 2)
 
Environment:


Request Method: GET
Request URL: http://192.x.x.x/api/gravity/

Django Version: 3.0.14
Python Version: 3.9.12
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',
'backups.apps.BackupsConfig',
'constance',
'constance.backends.database',
'huey.contrib.djhuey']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
'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 (most recent call last):
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.9/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.9/site-packages/sentry_sdk/integrations/django/views.py", line 67, in sentry_wrapped_callback
return callback(request, *args, **kwargs)
File "/usr/local/lib/python3.9/contextlib.py", line 79, in inner
return func(*args, **kwds)
File "/app/gravity/api/sensors.py", line 46, in get_gravity_sensors
temp, temp_format = dev.retrieve_loggable_temp()

Exception Type: ValueError at /api/gravity/
Exception Value: too many values to unpack (expected 2)

Ugh. If I ever get enough time to finish and release KegScreen then I need to come and port back the unit-aware temperatures/volumes back to Fermentrack.

I just pushed a fix for this to master. You can manually update both the docker & non-docker versions by clicking the gear, going to "Update from GitHub", and clicking the button to update.

I also have a new image building now that should be live on Docker Hub within the next 20 minutes which contains the fix.
 
Ugh. If I ever get enough time to finish and release KegScreen then I need to come and port back the unit-aware temperatures/volumes back to Fermentrack.

I just pushed a fix for this to master. You can manually update both the docker & non-docker versions by clicking the gear, going to "Update from GitHub", and clicking the button to update.

I also have a new image building now that should be live on Docker Hub within the next 20 minutes which contains the fix.

Ive got 3 Plaato Keg's if your looking for some testing with KegScreen...
 
Ive got 3 Plaato Keg's if your looking for some testing with KegScreen...

Once we get there, absolutely -- if you haven't already, I recommend signing up to the mail list at KegScreen - Coming Soon. Plaato Keg support is built and (mostly) tested, though admittedly I haven't played with it in the past ~9 months or so. The thing that is/was holding up KegScreen was me dragging my feet on deciding how to support bluetooth flow meters like Keg Tron -- but I have a brand new project coming that solves that issue. Soon!
 
@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?
 

Latest posts

Back
Top