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

    Homebrewing Facebook Group
Homebrew Talk

Help Support Homebrew Talk:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Ah there is an offset you can set per sensor, either in degrees or relative, but you will have to compare and set it manually, there is no automatic process for that.
 
Ah there is an offset you can set per sensor, either in degrees or relative, but you will have to compare and set it manually, there is no automatic process for that.
Good enough for me. I havet added temp sensors yet. Waiting on delivery of 4.7k resistor.
 
@Jeroen79 Are you aware of this behaviour? The same temp value is piling up at passed timestamps when the actual temperature is changing. Only the average value is impacted.
Clipboard01.jpg

Could not figure out how to resolve it in control.vue. Can you please help?
 
Yes.
Meanwhile I found a bug in capital letter mismatch LastDate ‹-› lastDate (Control.vue vs. brew-engine.cpp) Not sure yet if that fully solves it.
 
When importing beer xml file from brewfather. Is there something special that needs to be done? Because nothing happens when try.
Could it be that name of the file is to long?
 

Attachments

  • Brewfather_BeerXML_MangoIPA_20250325.zip
    2.2 KB
Yes.
Meanwhile I found a bug in capital letter mismatch LastDate ‹-› lastDate (Control.vue vs. brew-engine.cpp) Not sure yet if that fully solves it.
Found one more thing. Using auto lastLog = this->tempLog.rend() to read the last element is incorrect. In C++. std:🗺️:rbegin() should be used.
 
When importing beer xml file from brewfather. Is there something special that needs to be done? Because nothing happens when try.
Could it be that name of the file is to long?
I doubt that is the case, i will try to have a look at it next week, there where some issues with the importer due to differentiating fields the beerxml format is not used the same way with all softwares.
 
Found one more thing. Using auto lastLog = this->tempLog.rend() to read the last element is incorrect. In C++. std:🗺️:rbegin() should be used.
rend does the job just fine, the list is read in reverse further along in the code i think.
 
What would you expect from homeassistant support?, there is already some mqtt support, feel free to add a detailed request at => https://github.com/jeroen79/esp-brew-engine/discussions
Exposing the entire thing more or less. Having HA support enables all kinds of controls out of the box such as notifications, automations of any kind and so on :) I'll do that

Also, a second question. Is there a sensor differential setting? similar to that of brewzilla with the additional BT sensor. That way you can see the bottom temp of the kettle as well as the mash temp and limit how much the temp is allowed to diff so you don't burn the bottom whilst trying to heat the mash.
 
Also, a second question. Is there a sensor differential setting? similar to that of brewzilla with the additional BT sensor. That way you can see the bottom temp of the kettle as well as the mash temp and limit how much the temp is allowed to diff so you don't burn the bottom whilst trying to heat the mash.
You can add up to 10 sensors, but not BT, atm we only support 1Wire, you can also select which ones are used to control the heat.
 
You can add up to 10 sensors, but not BT, atm we only support 1Wire, you can also select which ones are used to control the heat.
No, I think you misunderstood the question. I don't need a BT temp sensor, I was asking about a setting in the software to have a differential temp setting. Basically what brewzilla has is the option to use a second sensor aside from the bottom one, and since your software can have up to 10, it would be awesome if there was a setting that accounted for both temp sensors, but the difference between them cannot be more than X degrees (for the PID). That way, you could designate sensor 2 as the "main" sensor, being inside the mash, yet having the bottom sensor to check the temp at the heater (of a regular brewing system) and by having a differential temp limit set at for example 10c, then the bottom one would never exceed 10c more than what the mash temp is :)
 
No, I think you misunderstood the question. I don't need a BT temp sensor, I was asking about a setting in the software to have a differential temp setting. Basically what brewzilla has is the option to use a second sensor aside from the bottom one, and since your software can have up to 10, it would be awesome if there was a setting that accounted for both temp sensors, but the difference between them cannot be more than X degrees (for the PID). That way, you could designate sensor 2 as the "main" sensor, being inside the mash, yet having the bottom sensor to check the temp at the heater (of a regular brewing system) and by having a differential temp limit set at for example 10c, then the bottom one would never exceed 10c more than what the mash temp is :)
Without having good mixing of the wort over the temp sensor in the base of the kettle any PID adjustments between that sensor and the mash temp are probably inaccurate.
 
No, I think you misunderstood the question. I don't need a BT temp sensor, I was asking about a setting in the software to have a differential temp setting. Basically what brewzilla has is the option to use a second sensor aside from the bottom one, and since your software can have up to 10, it would be awesome if there was a setting that accounted for both temp sensors, but the difference between them cannot be more than X degrees (for the PID). That way, you could designate sensor 2 as the "main" sensor, being inside the mash, yet having the bottom sensor to check the temp at the heater (of a regular brewing system) and by having a differential temp limit set at for example 10c, then the bottom one would never exceed 10c more than what the mash temp is :)
Ow yeah that would be a nice option, i will make a feature request, but depends on the time i have.
 
Without having good mixing of the wort over the temp sensor in the base of the kettle any PID adjustments between that sensor and the mash temp are probably inaccurate.
That is correct, but having the option to not overshoot a certain threshold makes life a whole lot easier.
 
rend does the job just fine, the list is read in reverse further along in the code i think.
I am not a coding expert and got this explanation from chatgpt:
std:🗺️:rend() returns a reverse iterator to the position before the first element (a theoretical element), which is not valid for dereferencing or accessing data. It serves only as an end marker for reverse iteration and does not point to any actual element.

To correctly access the last element (the one with the largest key) in a std::map, you should use std:🗺️:rbegin(), which returns a reverse iterator pointing to the last element.


What is more important that by using the recommended (rbegin) usage, the fault is resolved.
 
No, I think you misunderstood the question. I don't need a BT temp sensor, I was asking about a setting in the software to have a differential temp setting. Basically what brewzilla has is the option to use a second sensor aside from the bottom one, and since your software can have up to 10, it would be awesome if there was a setting that accounted for both temp sensors, but the difference between them cannot be more than X degrees (for the PID). That way, you could designate sensor 2 as the "main" sensor, being inside the mash, yet having the bottom sensor to check the temp at the heater (of a regular brewing system) and by having a differential temp limit set at for example 10c, then the bottom one would never exceed 10c more than what the mash temp is :)
Among other things I have implemented a mod that weights the temp sensor input values for PID. It is based on how close the temperature difference to the preconfigured limit.
 
Tested my Esp brew engine today. Enclosure is 3d printed. But both temp sensors have strange peaks and I lose contact with both temp sensors. Any sugestions? Could it be interference with main 220v and relays? Cable is 2m long to each temp sensor could that be a problem?
 

Attachments

  • Screenshot_20250520_194437_Chrome.jpg
    Screenshot_20250520_194437_Chrome.jpg
    113.3 KB
  • 20250520_195037.jpg
    20250520_195037.jpg
    1.7 MB
Have you got a resistor on the temp sensors?
My brewpiless works without spikes and a 2m cable.

Zoomed in and see you do have resistor.
 
Those aren't "spikes" per se. When a ds18b20 has an internal read failure it will provide a 85°C value in response. Typically the result of power problems at the sensor.

If the wires are long and are wired to use 3.3VDC at the sensor, consider changing that to 5VDC. As long as the pull-up used (if any) is to 3.3VDC there won't be a signaling violation at the ESP...

Cheers!
 
Those aren't "spikes" per se. When a ds18b20 has an internal read failure it will provide a 85°C value in response. Typically the result of power problems at the sensor.

If the wires are long and are wired to use 3.3VDC at the sensor, consider changing that to 5VDC. As long as the pull-up used (if any) is to 3.3VDC there won't be a signaling violation at the ESP...

Cheers!
Ok will try change to 5v. Also moved connection so it's not directly over the 220v out.
 
To provide some context behind the presumed power issue to the ds18b20:

To get a temperature reading from a ds18b20 the host first sends a convert command to the sensor, and follows that with a read command. The sensor takes some time to generate a temperature reading so it'll punt read commands until it's done (it's a bus level protocol thing). This time varies with the resolution used: a 9 bit signed value takes up to 94 milliseconds to complete, while a 12 bit signed value requires up to 750 milliseconds. Eventually the sensor completes the generation and responds to the read command with the temperature.

If power to the sensor is interrupted after the convert command is received it will go through its power-on-reset which initializes the conversion output with an 85°C value. A read command at that point will result in that 85°C value being conveyed to the host.

[edit] Also...For 3.3VDC signaling a 2.2K ohm resistor is recommended. For 5VDC signaling a 4.7K ohm resistor is recommended. This is independent of the VCC used for the sensor...

Cheers!
 
Last edited:
To provide some context behind the presumed power issue to the ds18b20:

To get a temperature reading from a ds18b20 the host first sends a convert command to the sensor, and follows that with a read command. The sensor takes some time to generate a temperature reading so it'll punt read commands until it's done (it's a bus level protocol thing). This time varies with the resolution used: a 9 bit signed value takes up to 94 milliseconds to complete, while a 12 bit signed value requires up to 750 milliseconds. Eventually the sensor completes the generation and responds to the read command with the temperature.

If power to the sensor is interrupted after the convert command is received it will go through its power-on-reset which initializes the conversion output with an 85°C value. A read command at that point will result in that 85°C value being conveyed to the host.

[edit] Also...For 3.3VDC signaling a 2.2K ohm resistor is recommended. For 5VDC signaling a 4.7K ohm resistor is recommended. This is independent of the VCC used for the sensor...

Cheers!
I think I found the issue. Ground cable was not soldered correctly. New test tomorrow. Thx for the info.
 
I also had some reading problems like this (peaks >80°C) and for me it was a faulty DS18B20 sensor. After replacing it the problem was solved.
 
If someone can advise please ..

I have flashed brewengine (Tried Ver 1.5 and ver 1.6) onto dev boards from 2 different vendors with the same result (erased flash first)
when connecting to the AP after initial flashing and selecting the schedule, I see screenshot 1
After pressing start,the heater outputs go high and I see screenshot 2 for a short while then changes to screenshot 3 then not much happens except the temperature is updated on the web interface,the graph does not appear to get updated.

What am I doing wrong here ?
 

Attachments

  • 1.jpg
    1.jpg
    236.5 KB
  • 2.jpg
    2.jpg
    182.2 KB
  • 3.jpg
    3.jpg
    181.2 KB
Similar behavior seen when using AP mode. Try to disable AP mode and connect your existing wifi network instead.

I am actively working on this project. Dozen of fixes and improvemenst have been added but struggling with GUI stability issues like yours. Therefore I have not shared my version yet.
 
I am afraid i have not used it much in AP mode myself, please connect it to wifi and report back if that fixes it.
 
No AP's are found when scanning for networks,after manually adding SSID and password for my wifi network the result is the same on my mobile phone and PC browser.
Tried firefox and chrome,
Cheers
 
Can u do a ping to the device and see if you have a stable connection with 0% ping loss?
 
That is pretty weird, never had any issues like that here, does the temp do update regularly and correctly?, it could also be bad temp reading i guess.

And could you also open the dev console on firefox and see if it gives any errors?, and maby also check it the api calls return 200 and valid data?
 
That is pretty weird, never had any issues like that here, does the temp do update regularly and correctly?, it could also be bad temp reading i guess.

And could you also open the dev console on firefox and see if it gives any errors?, and maby also check it the api calls return 200 and valid data?
The temp value does update correctly but the graph freezes like image 3 above,heaters are turning on and off as they should.
Will check browser for errors and the api call.
 
I just finished converting my generic "Made in China" brew system to BrewEngine as I got fed up with the bad user interface and how difficult it was to program. It took me a while to get all the parts from AliExpress but the 4-relay esp32 board fit perfectly in the original PCB compartment. I have only tested it with water so far, but I'll order more grains and hops to test it properly.

Big fan so far and it's been a great experience setting everything up!

I've always like to tinker with stuff and I thought about adding a new screen but the ESP-IDF learning curve is a little steep for me. I've been playing a fair bit with Arduino IDE, but moving to ESP-IDF is a different ballgame. AI helps a lot but it's still not quite there yet (at least not for my skill level).
 
I think I did it, after a lot of tweaking, headaches and research I managed to connect a screen, build a UI and integrate it with Brewengine and my All-in-one system.
The display shows the running status, wifi status, current mash/boil step, list of all steps in the schedule, displays notifications in the header, indicates if heater and/or pump is engaged and running.

It is hardly a masterpiece in engineering, but I am very proud of myself for building something like this by myself.
IMG_4078.jpeg
IMG_4079.jpeg
 
Good Job, looks nice!, if you are willing to share the code i will see if i can integrate it in the official repo.
 

Latest posts

Back
Top