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.
Did you get the success message at the end?

What do you see when you type "docker ps" on the command line?
Yes...Here is what I saw in the terminal following the install:

::: Done installing Fermentrack!
================================================================================
Review the log above for any errors, otherwise, your initial environment install
is complete!

Fermentrack has been installed into a Docker container. To view Fermentrack
enter http://192.168.1.5:1 into your web browser.

Note - Fermentrack relies on the fermentrack-tools directory to run. Please
back up the following files to ensure that you do not lose data if you
need to reinstall Fermentrack:

- Fermentrack Variables : ./envs/django
- Postgres Variables : ./envs/postgres

- Fermentrack Address : http://192.168.1.5:1

Happy Brewing!

If I type "docker ps" I am seeing:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7992d55a179a jdbeeler/tiltbridge-junior:latest "/start /start" 23 hours ago Up 20 hours fermentrack-tools_tiltbridge-junior_1
0fc3dab6bc9d fermentrack_nginx "/docker-entrypoint.…" 23 hours ago Up 20 hours fermentrack-tools_nginx_1
ee78a6b41f85 jdbeeler/fermentrack:latest "/entrypoint /start …" 23 hours ago Up 20 hours fermentrack-tools_django_1
0282a150c10b fermentrack_postgres "docker-entrypoint.s…" 23 hours ago Up 20 hours fermentrack-tools_postgres_1
650e638c602b fermentrack_redis "docker-entrypoint.s…" 23 hours ago Up 20 hours fermentrack-tools_redis_1



Thanks for your help @Thorrak !
 
I think you accidentally selected the wrong port (1, in this case.)

Try re-running install.sh in the fermentrack tools directory and type a different port (80, more than likely).

If that doesn’t work, delete the compose directly in the fermentrack tools directory and re-run the install script
 
I think you accidentally selected the wrong port (1, in this case.)

Try re-running install.sh in the fermentrack tools directory and type a different port (80, more than likely).

If that doesn’t work, delete the compose directly in the fermentrack tools directory and re-run the install script
Aha yes, I see. Is is possible to utilize an alternate port? I’m currently fermenting a Kolsch and my ISpindel is on port 80 as default. I can switch this once it is kegged but I think the install script will receive an error if I use port 80. Is this correct? Thanks!
 
Aha yes, I see. Is is possible to utilize an alternate port?

Yep! I would recommend 81 or 8080 though -- and you will need to include that in the URL when accessing Fermentrack (e.g. http://192.168.1.50:8080 -- the bit after the colon)

That said...

I’m currently fermenting a Kolsch and my ISpindel is on port 80 as default. I can switch this once it is kegged but I think the install script will receive an error if I use port 80. Is this correct? Thanks!

Unless something has changed, there shouldn't be any component of the ispindel installed on your raspberry pi (it's all installed on an ESP8266) so the ports shouldn't conflict.
 
Yep! I would recommend 81 or 8080 though -- and you will need to include that in the URL when accessing Fermentrack (e.g. http://192.168.1.50:8080 -- the bit after the colon)

That said...



Unless something has changed, there shouldn't be any component of the ispindel installed on your raspberry pi (it's all installed on an ESP8266) so the ports shouldn't conflict.
Thank you so much for this information! I will try the install again now and follow your advice. I was quite confused when I tried the auto install and got a conflict with port 80, so this is why I assumed it must have been my ISpindel. In any case, thank you for clearing this up!
 
If there's a conflict on port 80, you very well may have something else running -- but probably not iSpindel. Feel free to try 81 or 8080 though - just remember to specify the port in the URL when trying to access Fermentrack from a web browser!
 
If there's a conflict on port 80, you very well may have something else running -- but probably not iSpindel. Feel free to try 81 or 8080 though - just remember to specify the port in the URL when trying to access Fermentrack from a web browser!
It worked perfectly! Thanks so much! I’ve taken note of all of this for future reference. I also should have mentioned that I wanted to install RPints soon and saw that there will be a conflict so a port other than 80 I thought would be necessary. I’ll look into your documentation before I do the install to make sure I complete things properly! Thank you!
 
I have successfully flashed my ESP8266 board for my Fermentrack Controller using the guided script in Fermentrack, however when trying to access the ESP8266 wifi, it shows in my list as BrewPiAP and when I ask to join, it asks for a shared key - What is it??????? - tried brewpiless, brewpi, just hit enter, password - none work. Can someone advise me of the Shared Key to configure the ESP8266 to my router?
 
Would you believe the Chat GBT gave me the answer as brewpiesp - and it works
Huh. I guess it must either include HBT as part of its corpus, or scanned the repo on GitHub. Either way, that’s interesting!

The password pops up on the screen when you first boot — but if you don’t have a screen connected that obviously doesn’t help! This has come up in the past, and I thought I added it to the documentation on the repo, but clearly not. So I don’t forget this time I’ve added an issue to GitHub to track against.
 
Thanks for you reply, another query:-

Does BrewPiLess V15 support the use of a 2.8" TFT display?
 
You can use this one: BrewPi-ESP32 - vv15b - WiFi TFT. Similarly named in BrewFlasher Desktop (and on GitHub if you want to directly flash it)

The trick is in the wiring. I've actually designed a PCB that you can directly solder onto the back of that TFT that maps to those pins to a ribbon cable connector. That then connects to the corresponding connector on the "all-in-one base PCB" I designed. Both are available on Tindie and OshPark.
 
OK did all that and wired TFT as shown - temp OK - relays don't work, TFT doesn't work. looked at buying your PCB but they are out of stock.

I have four fermenters which are free standing, insulated and they are all stainless. cooling is carried out using a relay controlled glycol system and Heating is a relay controlled heater wire wrapped around the fermenter body - I also ferment under pressure but it doesn't seem to be a Fermentrack feature. Chat GPT gave me these pin connections which don't work so I altered them to yours, still doesn't work.
Can you recommend any software that controls heat and cool based on actual beer temp in the fermenter, and measures and controls pressure by a restricted outlet on a solenoid valve?
 

Attachments

  • esp32 and brewpiless.txt
    2 KB
Apologies for repeating this, but BrewPiLess is a completely different project, and is not compatible with Fermentrack. It’s a really good project and offers a number of interesting features, but it’s not the same/interchangeable with BrewPi-ESP/Fermentrack.

BrewPiLess may support controlling pressure but that’s not a feature I’ve researched. It definitely does support controlling beer temperature similar to BrewPi-ESP.
 
No need to apologise - you must get bored with twits like me trying to get a software controlled fermentation system running
 
I'm looking to migrate from a desktop to a mini PC using proxmox. Any suggestions on effective migration? Worst case, I figured I'd spin up a Ubuntu/Debian VM and get it going from there.
 
Hi,

What's the best way to monitor the 'push' process?
I am getting very sporadic updates on brewfather but when I look at the 'huey' logs I can see it's trying but struggling. I have pasted the outputs below, the last update on brewfather was 2023-08-04 09:17 and I have nothing since. (I am in the UK and is currently summertime so this correlates with the 08:17 in the logs from fermentrack)

Huey-stdout.log

Code:
[2023-08-04 04:01:14.621410] SUCCESS - Logged data to Brewfather
[2023-08-04 04:01:14.666221] FAILED - Unable to log data to Brewfather
[2023-08-04 04:17:13.864080] DISPATCH - Dispatching Brewfather push target
[2023-08-04 04:17:13.876332] DISPATCH - Dispatching Brewfather push target
[2023-08-04 04:17:14.629370] SUCCESS - Logged data to Brewfather
[2023-08-04 04:17:14.654934] FAILED - Unable to log data to Brewfather
[2023-08-04 04:33:13.879412] DISPATCH - Dispatching Brewfather push target
[2023-08-04 04:33:13.914225] DISPATCH - Dispatching Brewfather push target
[2023-08-04 04:33:14.913642] SUCCESS - Logged data to Brewfather
[2023-08-04 04:33:14.958332] FAILED - Unable to log data to Brewfather
[2023-08-04 04:49:13.860087] DISPATCH - Dispatching Brewfather push target
[2023-08-04 04:49:13.871081] DISPATCH - Dispatching Brewfather push target
[2023-08-04 04:49:14.547975] SUCCESS - Logged data to Brewfather
[2023-08-04 04:49:14.574595] FAILED - Unable to log data to Brewfather
[2023-08-04 05:05:13.834002] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:05:13.862259] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:05:14.837998] SUCCESS - Logged data to Brewfather
[2023-08-04 05:05:14.916296] FAILED - Unable to log data to Brewfather
[2023-08-04 05:21:13.850586] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:21:13.866730] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:21:14.725883] SUCCESS - Logged data to Brewfather
[2023-08-04 05:21:14.778715] FAILED - Unable to log data to Brewfather
[2023-08-04 05:37:13.851327] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:37:13.865177] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:37:14.866948] SUCCESS - Logged data to Brewfather
[2023-08-04 05:37:14.918390] FAILED - Unable to log data to Brewfather
[2023-08-04 05:53:13.855855] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:53:13.870278] DISPATCH - Dispatching Brewfather push target
[2023-08-04 05:53:14.761047] SUCCESS - Logged data to Brewfather
[2023-08-04 05:53:14.820138] FAILED - Unable to log data to Brewfather
[2023-08-04 06:09:13.864727] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:09:13.879000] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:09:14.762916] SUCCESS - Logged data to Brewfather
[2023-08-04 06:09:14.811115] FAILED - Unable to log data to Brewfather
[2023-08-04 06:25:13.847368] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:25:13.861801] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:25:19.624307] SUCCESS - Logged data to Brewfather
[2023-08-04 06:25:19.671958] FAILED - Unable to log data to Brewfather
[2023-08-04 06:41:13.857083] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:41:13.873369] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:41:14.547573] SUCCESS - Logged data to Brewfather
[2023-08-04 06:41:14.575047] FAILED - Unable to log data to Brewfather
[2023-08-04 06:57:13.850956] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:57:13.863404] DISPATCH - Dispatching Brewfather push target
[2023-08-04 06:57:14.615032] SUCCESS - Logged data to Brewfather
[2023-08-04 06:57:14.641570] FAILED - Unable to log data to Brewfather
[2023-08-04 07:13:13.852371] DISPATCH - Dispatching Brewfather push target
[2023-08-04 07:13:13.867854] DISPATCH - Dispatching Brewfather push target
[2023-08-04 07:13:14.584265] SUCCESS - Logged data to Brewfather
[2023-08-04 07:13:14.623579] FAILED - Unable to log data to Brewfather
[2023-08-04 07:29:13.849791] DISPATCH - Dispatching Brewfather push target
[2023-08-04 07:29:13.864724] DISPATCH - Dispatching Brewfather push target
[2023-08-04 07:29:14.596546] SUCCESS - Logged data to Brewfather
[2023-08-04 07:29:14.624635] FAILED - Unable to log data to Brewfather
[2023-08-04 07:45:13.860825] DISPATCH - Dispatching Brewfather push target
[2023-08-04 07:45:13.871227] DISPATCH - Dispatching Brewfather push target
[2023-08-04 07:45:14.588560] SUCCESS - Logged data to Brewfather
[2023-08-04 07:45:14.634580] FAILED - Unable to log data to Brewfather
[2023-08-04 08:01:13.862218] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:01:13.873507] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:01:14.595741] SUCCESS - Logged data to Brewfather
[2023-08-04 08:01:14.651984] FAILED - Unable to log data to Brewfather
[2023-08-04 08:17:13.865203] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:17:13.883408] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:17:14.741974] SUCCESS - Logged data to Brewfather
[2023-08-04 08:17:14.795412] FAILED - Unable to log data to Brewfather
[2023-08-04 08:32:41.324614] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:32:41.340332] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:48:41.281426] DISPATCH - Dispatching Brewfather push target
[2023-08-04 08:48:41.298107] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:04:41.280184] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:04:41.292273] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:20:41.257638] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:20:41.274497] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:36:41.281090] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:36:41.296838] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:52:41.290684] DISPATCH - Dispatching Brewfather push target
[2023-08-04 09:52:41.301216] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:08:41.287099] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:08:41.302787] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:24:41.272495] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:24:41.285504] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:40:41.289020] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:40:41.299881] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:56:41.287575] DISPATCH - Dispatching Brewfather push target
[2023-08-04 10:56:41.301440] DISPATCH - Dispatching Brewfather push target
[2023-08-04 11:12:41.281816] DISPATCH - Dispatching Brewfather push target
[2023-08-04 11:12:41.300647] DISPATCH - Dispatching Brewfather push target
[2023-08-04 11:28:41.279296] DISPATCH - Dispatching Brewfather push target
[2023-08-04 11:28:41.293087] DISPATCH - Dispatching Brewfather push target
[2023-08-04 11:44:41.244939] DISPATCH - Dispatching Brewfather push target
[2023-08-04 11:44:41.255426] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:00:41.257786] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:00:41.275792] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:16:41.246596] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:16:41.262242] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:32:41.283194] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:32:41.297306] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:48:41.257656] DISPATCH - Dispatching Brewfather push target
[2023-08-04 12:48:41.269846] DISPATCH - Dispatching Brewfather push target

huey-stderr.log

Code:
[2023-08-04 12:36:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 74efd6ae-4405-4ee5-9aac-617251eeddb2
[2023-08-04 12:36:41,253] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 74efd6ae-4405-4ee5-9aac-617251eeddb2 executed in 0.043s
[2023-08-04 12:37:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: a0f45ece-cfc3-4b72-9b61-f3687477cf1e.
[2023-08-04 12:37:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: a0f45ece-cfc3-4b72-9b61-f3687477cf1e
[2023-08-04 12:37:41,276] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: a0f45ece-cfc3-4b72-9b61-f3687477cf1e executed in 0.067s
[2023-08-04 12:38:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: e26a014f-291a-4aff-b5c5-4e87683280d6.
[2023-08-04 12:38:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: e26a014f-291a-4aff-b5c5-4e87683280d6
[2023-08-04 12:38:41,256] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: e26a014f-291a-4aff-b5c5-4e87683280d6 executed in 0.045s
[2023-08-04 12:39:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 517fbbc8-2226-4a41-8503-5f9a6f43a74a.
[2023-08-04 12:39:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 517fbbc8-2226-4a41-8503-5f9a6f43a74a
[2023-08-04 12:39:41,281] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 517fbbc8-2226-4a41-8503-5f9a6f43a74a executed in 0.070s
[2023-08-04 12:40:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: cd54725f-7cad-477d-b2d7-d9184d7c2129.
[2023-08-04 12:40:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: cd54725f-7cad-477d-b2d7-d9184d7c2129
[2023-08-04 12:40:41,249] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: cd54725f-7cad-477d-b2d7-d9184d7c2129 executed in 0.039s
[2023-08-04 12:41:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 713d4f2e-ed76-4223-9a10-3e633728b7fd.
[2023-08-04 12:41:41,206] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 713d4f2e-ed76-4223-9a10-3e633728b7fd
[2023-08-04 12:41:41,285] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 713d4f2e-ed76-4223-9a10-3e633728b7fd executed in 0.077s
[2023-08-04 12:42:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 2b413345-6d05-4a59-b574-9e8d80377a2f.
[2023-08-04 12:42:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 2b413345-6d05-4a59-b574-9e8d80377a2f
[2023-08-04 12:42:41,253] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 2b413345-6d05-4a59-b574-9e8d80377a2f executed in 0.043s
[2023-08-04 12:43:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 1bd0f52a-ab50-43f0-8272-3e4dbf3e37a5.
[2023-08-04 12:43:41,209] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 1bd0f52a-ab50-43f0-8272-3e4dbf3e37a5
[2023-08-04 12:43:41,292] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 1bd0f52a-ab50-43f0-8272-3e4dbf3e37a5 executed in 0.080s
[2023-08-04 12:44:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 80f0c8d3-1375-4c1f-bfb2-3577f8e6ec0d.
[2023-08-04 12:44:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 80f0c8d3-1375-4c1f-bfb2-3577f8e6ec0d
[2023-08-04 12:44:41,256] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 80f0c8d3-1375-4c1f-bfb2-3577f8e6ec0d executed in 0.045s
[2023-08-04 12:45:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: aa26fc69-6ea0-4dc4-ac06-2b4de43c2b6e.
[2023-08-04 12:45:41,209] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: aa26fc69-6ea0-4dc4-ac06-2b4de43c2b6e
[2023-08-04 12:45:41,282] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: aa26fc69-6ea0-4dc4-ac06-2b4de43c2b6e executed in 0.070s
[2023-08-04 12:46:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: ae3f6ba6-a67b-4621-b3bf-dfad3332f545.
[2023-08-04 12:46:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: ae3f6ba6-a67b-4621-b3bf-dfad3332f545
[2023-08-04 12:46:41,247] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: ae3f6ba6-a67b-4621-b3bf-dfad3332f545 executed in 0.037s
[2023-08-04 12:47:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: c79bb356-5938-4f5d-92f3-b862fb685829.
[2023-08-04 12:47:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: c79bb356-5938-4f5d-92f3-b862fb685829
[2023-08-04 12:47:41,292] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: c79bb356-5938-4f5d-92f3-b862fb685829 executed in 0.081s
[2023-08-04 12:48:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 407ff922-e2a1-4828-b1b4-7a2e67de4fcc.
[2023-08-04 12:48:41,209] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 407ff922-e2a1-4828-b1b4-7a2e67de4fcc
[2023-08-04 12:48:41,280] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 407ff922-e2a1-4828-b1b4-7a2e67de4fcc executed in 0.068s
[2023-08-04 12:48:41,287] INFO:huey:Worker-1:Executing external_push.tasks.brewfather_push_target_push: e45e5388-da84-4efb-9306-8358383595e3
[2023-08-04 12:48:41,345] ERROR:huey:Worker-1:Unhandled exception in task e45e5388-da84-4efb-9306-8358383595e3.
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/huey/api.py", line 380, in _execute
    task_value = task.execute()
  File "/usr/local/lib/python3.9/site-packages/huey/api.py", line 792, in execute
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/huey/contrib/djhuey/__init__.py", line 135, in inner
    return fn(*args, **kwargs)
  File "/app/external_push/tasks.py", line 72, in brewfather_push_target_push
    if push_target.send_data():
  File "/app/external_push/models.py", line 599, in send_data
    json_data = self.data_to_push()
  File "/app/external_push/models.py", line 544, in data_to_push
    to_send['ext_temp'] = temp_convert(float(device_info['RoomTemp']),
ValueError: could not convert string to float: ''
[2023-08-04 12:48:41,442] INFO:huey:Worker-1:Executing external_push.tasks.brewfather_push_target_push: b7452d7f-d826-41bc-9651-fa0c623bc13b
[2023-08-04 12:48:41,472] ERROR:huey:Worker-1:Unhandled exception in task b7452d7f-d826-41bc-9651-fa0c623bc13b.
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/huey/api.py", line 380, in _execute
    task_value = task.execute()
  File "/usr/local/lib/python3.9/site-packages/huey/api.py", line 792, in execute
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/huey/contrib/djhuey/__init__.py", line 135, in inner
    return fn(*args, **kwargs)
  File "/app/external_push/tasks.py", line 72, in brewfather_push_target_push
    if push_target.send_data():
  File "/app/external_push/models.py", line 599, in send_data
    json_data = self.data_to_push()
  File "/app/external_push/models.py", line 585, in data_to_push
    to_send['ext_temp'] = float(device_info['RoomTemp'])
ValueError: could not convert string to float: ''
[2023-08-04 12:49:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: bffb0dcc-44eb-4923-8a58-8b2926a08d3a.
[2023-08-04 12:49:41,208] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: bffb0dcc-44eb-4923-8a58-8b2926a08d3a
[2023-08-04 12:49:41,257] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: bffb0dcc-44eb-4923-8a58-8b2926a08d3a executed in 0.048s
[2023-08-04 12:50:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 678757b6-e5e0-4921-ba25-835a653f0988.
[2023-08-04 12:50:41,206] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 678757b6-e5e0-4921-ba25-835a653f0988
[2023-08-04 12:50:41,287] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 678757b6-e5e0-4921-ba25-835a653f0988 executed in 0.079s
[2023-08-04 12:51:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: eebea3ec-67f8-4afe-b4dd-4d8f27a0aec4.
[2023-08-04 12:51:41,209] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: eebea3ec-67f8-4afe-b4dd-4d8f27a0aec4
[2023-08-04 12:51:41,255] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: eebea3ec-67f8-4afe-b4dd-4d8f27a0aec4 executed in 0.045s
[2023-08-04 12:52:41,195] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: ffbaee55-0138-41c5-9fbe-2a4da855ec11.
[2023-08-04 12:52:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: ffbaee55-0138-41c5-9fbe-2a4da855ec11
[2023-08-04 12:52:41,289] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: ffbaee55-0138-41c5-9fbe-2a4da855ec11 executed in 0.081s
[2023-08-04 12:53:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: d970b63b-c258-4e9b-9009-b9fc6ea7b62e.
[2023-08-04 12:53:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: d970b63b-c258-4e9b-9009-b9fc6ea7b62e
[2023-08-04 12:53:41,256] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: d970b63b-c258-4e9b-9009-b9fc6ea7b62e executed in 0.048s
[2023-08-04 12:54:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 54042abc-4f30-423b-88e2-16f5f0046065.
[2023-08-04 12:54:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 54042abc-4f30-423b-88e2-16f5f0046065
[2023-08-04 12:54:41,280] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 54042abc-4f30-423b-88e2-16f5f0046065 executed in 0.071s
[2023-08-04 12:55:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: f29b58d6-d6fc-4506-af89-c563728af3fb.
[2023-08-04 12:55:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: f29b58d6-d6fc-4506-af89-c563728af3fb
[2023-08-04 12:55:41,256] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: f29b58d6-d6fc-4506-af89-c563728af3fb executed in 0.048s
[2023-08-04 12:56:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: 2338608e-4b91-47f5-a334-54cada00ce3f.
[2023-08-04 12:56:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: 2338608e-4b91-47f5-a334-54cada00ce3f
[2023-08-04 12:56:41,272] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 2338608e-4b91-47f5-a334-54cada00ce3f executed in 0.063s
[2023-08-04 12:57:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: a69fd06d-7e73-4e98-8052-bfe447670b35.
[2023-08-04 12:57:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: a69fd06d-7e73-4e98-8052-bfe447670b35
[2023-08-04 12:57:41,247] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: a69fd06d-7e73-4e98-8052-bfe447670b35 executed in 0.039s
[2023-08-04 12:58:41,196] INFO:huey.consumer.Scheduler:Scheduler:Enqueueing periodic task external_push.tasks.dispatch_push_tasks: c69a387d-32e2-4a10-aa97-55dd2f6c1c1f.
[2023-08-04 12:58:41,207] INFO:huey:Worker-1:Executing external_push.tasks.dispatch_push_tasks: c69a387d-32e2-4a10-aa97-55dd2f6c1c1f
[2023-08-04 12:58:41,279] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: c69a387d-32e2-4a10-aa97-55dd2f6c1c1f executed in 0.071s
 
Last edited:
Hi,

What's the best way to monitor the 'push' process?
I am getting very sporadic updates on brewfather but when I look at the 'huey' logs I can see it's trying but struggling. I have pasted the outputs below, the last update on brewfather was 2023-08-04 09:17 and I have nothing since. (I am in the UK and is currently summertime so this correlates with the 08:17 in the logs from fermentrack)

...
[2023-08-04 12:48:41,280] INFO:huey:Worker-1:external_push.tasks.dispatch_push_tasks: 407ff922-e2a1-4828-b1b4-7a2e67de4fcc executed in 0.068s
[2023-08-04 12:48:41,287] INFO:huey:Worker-1:Executing external_push.tasks.brewfather_push_target_push: e45e5388-da84-4efb-9306-8358383595e3
[2023-08-04 12:48:41,345] ERROR:huey:Worker-1:Unhandled exception in task e45e5388-da84-4efb-9306-8358383595e3.
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/huey/api.py", line 380, in _execute
task_value = task.execute()
File "/usr/local/lib/python3.9/site-packages/huey/api.py", line 792, in execute
return func(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/huey/contrib/djhuey/__init__.py", line 135, in inner
return fn(*args, **kwargs)
File "/app/external_push/tasks.py", line 72, in brewfather_push_target_push
if push_target.send_data():
File "/app/external_push/models.py", line 599, in send_data
json_data = self.data_to_push()
File "/app/external_push/models.py", line 544, in data_to_push
to_send['ext_temp'] = temp_convert(float(device_info['RoomTemp']),
ValueError: could not convert string to float: ''
[

This is the problem here. I've got half a fix written -- I need to fix two more places in the code, apparently. I'll take a look at that here later today.
 
I'm looking to migrate from a desktop to a mini PC using proxmox. Any suggestions on effective migration? Worst case, I figured I'd spin up a Ubuntu/Debian VM and get it going from there.
Are you specifically interested in migrating to an LXC and running into issues? Are you just wondering about migrating data?
 
This is the problem here. I've got half a fix written -- I need to fix two more places in the code, apparently. I'll take a look at that here later today.
amazing, I will plug a sensor in for the room for now as a quick fix!

EDIT: great success! Plugging sensor in works!
 
Last edited:
:)

I just pushed out the bugfix for the code, so feel free to either leave the room sensor plugged in or remove it (after updating!) - your choice!
That update actually broke things. I’ll fix it as soon as I can get WiFi. Give it an hour or two.

Edit: Fixed. Should be pushed to Docker Hub in the next ~30 mins or so.
 
Last edited:
Both. I'm new to proxmox/LXC so not sure where to start.

Got it. I love me some Proxmox -- most everything I have runs on it these days.

Since Fermentrack runs in Docker, my recommendation - especially if you're new to Proxmox is to set up an Ubuntu VM and install it into that. Although you could run it in an LXC that requires some additional work to get going (and I haven't tested that yet, so if you go that route please let me know if you get it working!).

Give me a bit and let me see if I can pull some instructions together.
 
Here you go - Installation instructions. I posted it to Ghost as I figured with the pictures it might be a bit much for HBT. Let me know if you have any issues/questions!
Thanks! I actually did it a different way and got it installed. I'm writing up directions right now. But basically, I used the Proxmox VE Helper Scripts to create a docker LXC and then used the console to install normally. Working perfectly.

I working on instructions right now and will get them here in abit.
 
Hi I'm just getting back to brewing after a hiatus (about 18 months) whilst I built my new brick brew shed. I'm using a chiller with glycol and used fermentrack previously, using the chamber sensor as you would for a fridge but that is actually going in my ss brewtech chronical thermowell was the way I had things working previously.

So anyway as it's been a while I decided to have fresh install, I've got my pi 3b+ with a clean install fully updated an on latest raspbian. I've also reinstalled fermentrack fresh too as I noticed there were some fairly big changes since I last played with it.

All that is sorted now and I'm back up and running, but I had a few questions...

Has there been any movement on glycol chiller support? i.e. it would be cool to track the glycol reservoir temp, beer temp and room temp maybe to control things.

Also is there a way to reduce the time of waiting to cool/heat? Sometimes it can be like 9 minutes or so?

Are there any more details around different profile configurations not for beer but for the fermentrack constants documented anywhere? I.e. for a fridge with a lamp a standard config, for a fermenter with a chiller and heater coil use this config etc. Just help get things setup and configured a bit more reliably for a new person and then you can tweak if you need to change things for your scenario?

I have an iSpindel and iRelay now, currently I have the iRelay linked to brewfather, but I just wondered if I can have the iRelay displayed in both fermentrack and brewfather?

A while ago I was trying to create an addon to run fermentrack in home assistant, but there were some complexities due to where files were mounted in the containers that conflicted a bit with the home assistant addon base image mount points, anyway I just wondered if it's possible to publish data out of fermentrack via mqtt or something similar or even have it push to a http endpoint in home assistant?

Many thanks

Andy
 
Alright install instructions for running Fermentrack in a LXC for Proxmox.

Create debian/ubuntu based docker using Proxmox VE Helper Scripts:
bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/ct/docker.sh)"
Select advance settings and increase the volume size to 10 GB
Create a root password
Leave all of the other options to their defaults
When asked install Portainer and Docker Compose say yes
Once the install is complete, select the Console option under the Docker LXC.
Install Fermentrack (sudo is not needed since we're root):
curl -L install.fermentrack.com | bash
Enjoy your install of Fermentrack.

I backed up from my old install and uploaded and it looks to be working great.

Edit: The only thing that looks like it wasn't backed up were my Brewfather Push Targets, but everything else looks good.
 
Last edited:
Alright install instructions for running Fermentrack in a LXC for Proxmox.



I backed up from my old install and uploaded and it looks to be working great.

Edit: The only thing that looks like it wasn't backed up were my Brewfather Push Targets, but everything else looks good.
I had no idea helper scripts like that existed. I wonder if one could do a full Fermentrack install? 🤔

This is awesome - thank you!

On the Brewfather push targets - I’ll take a look at that here shortly. They should have been backed up, but I may have missed something!
 
I had no idea helper scripts like that existed. I wonder if one could do a full Fermentrack install? 🤔
Those helper scripts got everything up and running very quickly. I started looking at the helper scripts and decided I didn't have enough time to figure it out.
 
Hi Thorrak,
I am trying to blank a raspberry pi screen with a PIR, and I have written this script - it runs OK buy only displays "display_blank 1 on the serial monitor and doesn't change - i replaced the pir with no change and have successfully run a test script to show that the PIR is working - the pir is on GPIO 23 (pin16) - what's wrong with the code.

import os
import time
import RPi.GPIO as GPIO

GPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN)

while True:
if GPIO.input(23):
os.system("vcgencmd display_power 1")
else:
os.system("vcgencmd display_power 0")
time.sleep(1)
 
I should add that screen blanking is set to ON and that the python file has been made executable
 
Back
Top