Question on Fermentation Steps

You have questions or need help around BierBot Bricks - this is the right place.
Chuckg
Posts: 55
Joined: Tue Feb 21, 2023 8:05 pm

Question on Fermentation Steps

Post by Chuckg »

Evening,

I have a beer fermenting now. I set the step up as:
Next step on: Time Passed
Target Temp: 35.06F
Rest Duration: 48 Hours

My intent is, cool the beer to 35F and hold there for 48 hours then continue. This is my cold crash temp and time ( 48 hours at 35F ). When I look at the status page for the fermentation it shows:

Current Temperature: 33.8F
Step started: 1/23/2024, 06:21:27
Duration approaching: 11:02:30h
Temp. reached: Never
Duration holding: Never

The issue is the temperature has been below and above 35 multiple times, but the counter on the automatic page has not started. I have several other steps before this one that did not count down or advance. They are set the same way except the temps were higher (60, 50, 40) and the hold time was only 30 minutes. For each of those I had to manually advance to the next step.

Am I doing something wrong in my recipe for fermentation or did I find an issue?

Chuck
User avatar
Bernhard
Site Admin
Posts: 259
Joined: Sun Jan 23, 2022 3:53 pm
Location: Munich - Germany

Re: Question on Fermentation Steps

Post by Bernhard »

Hey Chuck,

interesting question, took quite some time to look into. First things first: Your TILT bridge does not obey the "next_request_ms" returned by the backend and is typically 780s early. Please fix that as this is causing a lot of load (and money) on my side, otherwise it is just a matter of time until your device and IP will be blocked.

Regarding your question: Your TILT bridge rounds the temperature values to next closest integer in celsius (either 1°C or 2°C). Your current target temperature maps to 1.66°C. To set the time reached, the temperature has to be within +-0.25°C. This translates to 1.41°C-1.9°C which is not possible due the rounding happening on your side.

Cheers,
Bernhard.
Chuckg
Posts: 55
Joined: Tue Feb 21, 2023 8:05 pm

Re: Question on Fermentation Steps

Post by Chuckg »

Sorry about that. I will get on it right away. Being a complete hack I have no I idea what you are referencing here: "Your TILT bridge does not obey the "next_request_ms" returned by the backend and is typically 780s early." Can you clarify? I will start looking into the rounding now.

In the meantime, I will shut it off so it not causing the issue for you.

To what decimal place are you expecting gravity and temp? Are you expecting it in C or F?

Chuck
User avatar
Bernhard
Site Admin
Posts: 259
Joined: Sun Jan 23, 2022 3:53 pm
Location: Munich - Germany

Re: Question on Fermentation Steps

Post by Bernhard »

No need to shut it off for now. PRO accounts don't get an automated penalty for now.

next_request_ms: When you send a request to the backend, you get a reponse. Part of the response is a field "next_request_ms" holding a number. This is the time in milliseconds your device is supposed to wait, before contacting the backend the next time.

You can send as many decimals as you like. Temperature is rounded internally to one decimal for some calculations. So sending one would make most sense. Temperature has to be SI (°C). Gravity can be either SG or °P (just be sure to set the correct value on your Brick on the Bricks page).

Cheers,
Bernhard.
Chuckg
Posts: 55
Joined: Tue Feb 21, 2023 8:05 pm

Re: Question on Fermentation Steps

Post by Chuckg »

Ok. I will try to track that down. I am using tilt-pitch. I will have to see if I can even do that. I was lucky to modify it work with BierBot

https://github.com/ChuckGl/tilt-pitch

chuck
User avatar
Bernhard
Site Admin
Posts: 259
Joined: Sun Jan 23, 2022 3:53 pm
Location: Munich - Germany

Re: Question on Fermentation Steps

Post by Bernhard »

Great job ! Some hints how to do it


- The "next_request_ms" field should be available after your POST in this line: https://github.com/ChuckGl/tilt-pitch/b ... eam.py#L44.
- Return that from your update() call
- Store it in a variable where update is invoked: https://github.com/ChuckGl/tilt-pitch/b ... 13-L159C21
- Upon next time, check here https://github.com/ChuckGl/tilt-pitch/b ... ch.py#L158 whether next_request_ms passed, if not, do nothing or throw a RateLimitedException Exception.

Cheers
Chuckg
Posts: 55
Joined: Tue Feb 21, 2023 8:05 pm

Re: Question on Fermentation Steps

Post by Chuckg »

You seem to be saying the logic is already in the provider file. I suspect the return value from you is not in a format Pitch is expecting. Pitch is probably expecting the return value to be formatted like the provider file I hack at to create my bierbot provider file.

In the event I am out of my depth trying to fix this. Is there a fix minimum time to throttle request at for Basic and Pro accounts?

Chuck
User avatar
Bernhard
Site Admin
Posts: 259
Joined: Sun Jan 23, 2022 3:53 pm
Location: Munich - Germany

Re: Question on Fermentation Steps

Post by Bernhard »

I'm not saying it's already there. I'm saying it's not much effort to implement and giving hints how you could do it.

Nope, there is no fixed minimum time. Its dynamically calculated based on multiple inputs.

Cheers,
Bernhard.
Chuckg
Posts: 55
Joined: Tue Feb 21, 2023 8:05 pm

Re: Question on Fermentation Steps

Post by Chuckg »

Think I got it fixed. Or rather ChatGPT thinks we got it fixed. Need to work on the temp reporting next.

--Added: Nope guess ChatGPT was wrong. backend hasn't seen the tilt since I started troubleshooting.
User avatar
Bernhard
Site Admin
Posts: 259
Joined: Sun Jan 23, 2022 3:53 pm
Location: Munich - Germany

Re: Question on Fermentation Steps

Post by Bernhard »

If you push your changes to your repository, I'm happy to take a look (genuinely personally)
Post Reply