BrewPi Remix – What’s Old is New Again

Homebrew Talk

Help Support Homebrew Talk:

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

LBussy

A Cunning Linguist
HBT Supporter
Joined
Jan 19, 2013
Messages
4,337
Reaction score
1,911
Location
Doo-Dah


The original thread
is 210 pages and more than 8,360 posts. The initial post was about how a Homebrewer might reproduce a BrewPi system, which was Open-Source, but for which Elco sold the hardware commercially. Elco no longer sells this version of BrewPi, so the situation has changed.

Elco has taken BrewPi in a new direction with updated and more capable hardware. The original BrewPi (which came to be called “Legacy”) is no longer functional on contemporary hardware/software without substantial work/effort. BrewPi Legacy has been forked, uplifted to current platforms, and enhanced, and this effort is called BrewPi Remix (with Elco’s blessing.) It still runs on an Arduino Uno and is still based on the Raspberry Pi.

This new thread will serve as a “fresh start” in a way to reduce the confusion and lower the barrier to entry for folks just jumping into this fork. The Mega-Thread will always have its place, but now is an archive for the great discussions we have had while still available to be linked, of course, as needed.

The original thread also spawned several other discussions, which should be linked here. These were supplementary to the original BrewPi hardware and, by extension, BrewPi Remix:
  • How To: BrewPi LCD Add-On - Started by @day_trippr: We might consider this thread and approach as overcome by events since the BrewPi Remix release. BrewPi Remix supports I2C LCDs on the Arduino Uno as well as the ESP8266. A user may still choose to follow this article; BrewPi still fully supports this approach.
  • How To: BrewPi Over Bluetooth – Started by @day_trippr: When day_trippr embarked upon this path, Bluetooth was perhaps the only option available to us for a wireless connection. Now with BrewPi forks (see below) having built-in WiFi available, this may be overcome by events but is still a viable alternative if desired. I have also posted an article consolidating and refining the process.
  • Wireless Brewpi Via WiFi – Started by @thekraken: As soon as cheap, plentiful controllers with WiFi became available, this update was inevitable. The linked thread approaches this using an ESP8266 controller as a wireless bridge to the Arduino. New installations may benefit from the pure ESP8266 system documented in the thread from @Thorrak as discussed below.
BrewPi also spawned several other products which are rightfully forks as well, but are substantial products in their own right:
  • Fermentrack: Fermentation monitoring & BrewPi-www Replacement for Raspberry Pi – Started by @Thorrak: Fermentrack is an alternative to the legacy BrewPi web interface used in BrewPi Remix. It is a different interface but is compatible with Arduino-based controllers using the legacy BrewPi and BrewPi Remix firmware as well as ESP-based controllers. It adds new features and is a separate project from BrewPi and BrewPi Remix.
  • BrewPi@ESP8266, no need of RPI and Arduino (aka BrewPiLess) – Started by @pocketmon: This project is an off-shoot of the ESP8266 firmware, incorporating the web, controller, and scripts into a single controller firmware intended to run on the ESP8266.
  • Native Python BrewPi controller (aka Fuscus) – Started by @ame: This project is the opposite of BrewPiLess in some respects, moving the web, controller, and script into a single Python package intended to run on the Raspberry Pi.
  • Native ESP8266 BrewPi Firmware - WiFi BrewPi, no Arduino needed! - Started by @Thorrak: The ESP8266 project is a fork of the original BrewPI firmware to run on an ESP8266 instead of an Arduino. It has been additionally uplifted to leverage the ESP8266’s built-in WiFi capabilities. This ESP8266 firmware project fully supports and is supported by the BrewPi Remix web interface.
I did not suggest making this change lightly, and I did not suggest it without consulting several key community members and (obviously) Homebrew Talk staff who have assisted in this transition. Some of you may feel invested in the old thread and may not appreciate this move. To you, I say: I appreciate everyone’s support in helping clean this up for the folks who will need help. We are taking this path for the new folks; I am sure the rest of us can adapt.

Welcome to the new thread!
 
As a starter, I thought I'd post a couple of things that I've been told are missing. I find it somewhat ironic that some of us spend so much time on these projects and forget simple stuff like "what is it?" Not everyone knows.

A Precise and Friendly Fermentation Controller
BrewPi Remix is a fermentation temperature controller that can monitor and regulate your beer or wine fermentation with 0.1°C precision. It runs on a Raspberry Pi and a microcontroller; currently, an Arduino Uno or an ESP8266. BrewPi Remix offers precise temperature control, data logging, a web interface, and graphs in your browser. All the software is open source.

The Raspberry Pi is a credit card-sized computer that runs Linux. In BrewPi Remix, it runs the webserver and a python script to log data and manage settings. The Arduino and the ESP8266 are microcontroller boards that read the temperature sensors and activates the heating and cooling to control the temperature. You may also use an LCD and knob to display and change settings independent of the web interface.

The controller runs the temperature control algorithm autonomously. If you do not care about data logging, it can control your beer without the Raspberry Pi. The controller is very stable: if the Raspberry Pi crashes, the controller will keep your brew temperature precisely at the setpoint.

The Raspberry Pi runs a local web server that provides an interface to change settings, view brewing data, and configure your controller. The web interface shows interactive graphs of your current brew or previous brews. You can quickly start a new run, view what the control algorithm is doing, check the logs, load or save temperature profiles, edit the active profile, etc.

Instead of just heating when the beer is too cold and cooling when the beer is too warm, BrewPi Remix calculates what the fridge temperature should be to keep your beer temperature in check. This predictive adjustment prevents wide fluctuations in the beer temperature. It's like cruise control for your fermentation.

With BrewPi Remix, you have much more control than just keeping a constant beer temperature: you can define a temperature profile over time. An example of what you can do with a temperature profile:
  • You start at 20°C for 36 hours, right in the middle of the temperature range for your yeast to make it easy for them to start up and multiply.
  • After 36 hours, when your beer is bubbling well, drop the temperature to reduce ester formation with a setting of 17°C for three days.
  • You decide to keep the beer at 17°C for three days, but the fermentation slows down.
  • Yeast is more active at higher temperatures, so you slowly raise it to 22°C over five days: as the yeast consumes more complex sugars, it can do this at a higher temperature.
  • After reaching 22°C, you keep it at that temp for two days for a diacetyl rest, before cold crashing at 3°C.
Using temperature profiles, you can do gradual temperature changes. Yeast is sensitive to sudden temperature changes: a sudden drop in temperature can cause them to drop out of suspension because they need time to adapt to a new set point.

BrewPi Remix also supports cutting-edge brewing technology, including:
Finally, I would like to thank Elco Jacobs (@Elkoe) for having the vision to create BrewPi originally, and for making it open source so that the community could continue working with it after he moved on to new projects.

BrewPi Remix is a revived project, intended to provide precise temperature control for your homebrew, using inexpensive but extremely reliable hardware. It provides a web interface through which you may watch your progress, as well as control the variables. Here's a screenshot:
1607693225690.png

While I work out cleaning up the documentation and website, the documentation is probably the best place to start. If ya want to ask anything, please do so!

Most importantly, here is the only line you need to install BrewPi Remix:
Bash:
curl -L install.brewpiremix.com | sudo bash

And here are some handy links:
 
Last edited:
Just a couple notes of issues I encountered while throwing a brewpi together that may help others.

1. If you buy robotdyn style arduino-uno+esp similar to the way LBussy outlines in brewpi-remix the pin out below will help for quick reference. These are covered by LBussy's walkthrough but I found it easier to have them laying around while troubleshooting. I have seen caution that you should not have any more than one "set" in "ON" position as it can fry the UART; so turn everything "OFF" before turning another "ON".

1,2 ON all others OFF connect esp8266 to Atmega. no connection to computer.
3,4 ON all others OFF connects Atmega to computer over USB. no connection to esp8266
5,6 ON all others OFF connects esp8266 to computer over USB. no connection to Atmega
5,6,7 ON for flashing ESP8266 with new firmware

2. After flashing the esp8266 to v3.0.14 there is a default setting that enable some UART logging. In the web menu under "Debug log" the Uart debug log is set to "auto" which spits out tons of info via serial during boot. These messages will spam the Arduino/Brewpi and will set the mode to "off" or even worse, an occasional "E" may be sent which resets the firmware. I'd suggest if any firmware is rewritten in the future we consider that these are now TCP connections and not direct serial... we should start requiring some authentication or handshaking. Currently anyone on the network could "telnet" into the IP and type "E" and wipe settings.

3. If you've hooked up the I2C using the updated Arduino firmware without a rotary encoder you can force the backlight to stay "on" by jumping digital pin #7 to ground.

4. If you find the backlight to be crazy bright you can lower the intensity on most 20x4 LCD displays by removing the jumper pin on the back labeled "LED" and replacing with a resistor.
 
This is all great stuff, thanks for posting!
After flashing the esp8266 to v3.0.14 there is a default setting that enable some UART logging. In the web menu under "Debug log" the Uart debug log is set to "auto" which spits out tons of info via serial during boot. These messages will spam the Arduino/Brewpi and will set the mode to "off" or even worse, an occasional "E" may be sent which resets the firmware.
I am relatively sure this is why we've seen some issues in the past. Great find. I'll bet that drove you crazy before you found it.
I'd suggest if any firmware is rewritten in the future we consider that these are now TCP connections and not direct serial... we should start requiring some authentication or handshaking. Currently anyone on the network could "telnet" into the IP and type "E" and wipe settings.
True, but .... It requires someone to know your WiFi password which should be secure, right? If they get that I'm just betting there are more regrettable things they could do besides shut down your fermentation fridge.

Just ask my neighbor who left his printer spamming it's wide-open AP. I printed something he's likely never to forget. I did also include the instructions to secure it properly right under the picture. :D
If you've hooked up the I2C using the updated Arduino firmware without a rotary encoder you can force the backlight to stay "on" by jumping digital pin #7 to ground.
And I also realized you could get the best of both worlds by using a momentary contact button on the box if you want the screen to timeout as a screensaver.
If you find the backlight to be crazy bright you can lower the intensity on most 20x4 LCD displays by removing the jumper pin on the back labeled "LED" and replacing with a resistor.
Good idea! I never thought about a resistor, I can tell you I will be doing that in about 30 mins on my test bench.
 
True, but .... It requires someone to know your WiFi password which should be secure, right? If they get that I'm just betting there are more regrettable things they could do besides shut down your fermentation fridge.

Just a note on this... I saw a thread from another member which had a service/device that was attaching and sending "E" causing his device to completely reset. It drove me down the path of isolating my esp8266 to another network, and then ultimately flipping serial to esp8266 to watch it... as I was sure something was talking to it causing the mode to go "off". I could see the wifi LED blink at the same time it went off exactly 10seconds after boot... and watching the serial console I could see brewpi spitting it's status line out multiple times like something was sending it data.

Anyway, I guess my point would be that it's not always someone hacking into your network. It could be any rouge device on your network causing an issue. Maybe you telnet to x.x.x.21 instead of x.x.x.210 by accident, see a "connect" with no data.. then start pushing "enter" and some keys to see WTF is going on with device "B" and you end up resetting device "A". Maybe you disconnect and reconnect to .210 and think it was just a fluke. Later that week you see device "A" is acting weird.

I've also had issues with Zabbix, solarwinds, and other monitoring software that tries to "interrogate" devices to see what they are. They'll nmap port-scan the device, connecting to it looking for signs of what OS it's running... I've had some vxworks firmware devices that would freeze if they got SNMP traffic on legacy OIDs. Some devices even hang up if they get too many ICMP pings in a short period of time.

Anyway... just food for thought. I wouldn't suggest spending time currently adding auth or handshaking because this isn't a commercial solution. Nobody should be on your network but you. But sometimes you're your own worst enemy. There's better ways to spend time on this project. However; if anyone is rewriting firmware or building new... even just adding a quick login would prevent such issues in the future. Even if the user/pass is "root/root" or "admin/admin" at least it stops things from accidentally issuing cmds straight to the controller.
 
Also.. some variations I took when building my box out that may help others.

1. A lot of people spend time trying to cut out receptacle style holes for mounting their 110v outlets. I instead chose to use bulkhead mounts. These are cheap, and somewhat water-proof... eg, i could spray a hose at my chest chamber and not worry about drips going "in". The hole is also a nice circle instead of a square you have to cut with a special punch or coping saw: https://www.amazon.com/gp/product/B07RZZHG6H/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

2. Same thing with cat5... i used this bulkhead which mounts in an easy-to-drill hole. It's also got a cap that can be screwed on to protect it when not in use. These are spendy though, def more expensive than cat5 jacks but i thought it was worth it: https://www.amazon.com/gp/product/B07KSSV8LD/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1

3. I've been running one-wire sensors in my chambers for a long time... i've been soldering them onto the ends of cat5 cables using a different pin-out, but one of the failures I saw the most was from opening and closing the door smashing the cat5 cable. They generally last for quite some time, but eventually it just wears the conductors down. I got some of these flat cables which seem to have outlasted normal 'round" cat5. Make sure you don't accidentally buy "roll over", "console", or "cross-over" style cable... the rollover cables have the ends completely reversed for consoling into network switches and cross-over flip the orange and green pairs... they will mess with your pinouts: https://www.amazon.com/gp/product/B017R12IJA/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
** note: don't bother trying to get a nice long 25ft or 50ft cable and crimping your own ends. I did this and found the internal conductors were extremely small and impossible to separate into cat5 fittings. I ended up just buying some 5ft and 10ft lengths.
 
BrewPi Remix Feature Release 0.6.0

The long-awaited (by me anyway) feature release 0.6.0 is here!

Upgrading

Existing users of BrewPi Remix 0.5.3.0 and above may upgrade with:
Code:
sudo /home/brewpi/utils/doUpdate.sh
If you are not on version 0.5.3.0 or above (or if you have no idea what version you are on,) use the following command to upgrade to the latest version:
Code:
curl -L upgrade.brewpiremix.com | sudo bash
This must be run from within your /home/brewpi directory, or from each chamber directory in multi-chamber mode.

Combined Release

This release includes several changes across the repositories. Notable among these are:

Tools
  • Remove version from bootstrap. The version is not needed and injects another point where I can make a mistake.
  • Pre-position future capability. I intend to provide the ability to switch between branches; a new script has been pre-positioned to allow that.
Scripts
  • Tilt processing has been re-written from the bottom up. These changes include a much more graceful failure handling when the upstream Bluetooth Low Energy tools fail.
  • Tiltbridge handling has been re-written. Adding a Tiltbridge by pointing it to brewpi-api.php is seamless and may be done (and undone) on - the fly. BrewPi Remix will handle Tiltbridge colors with the same tiltColor = {color} configuration as the Tilt.
  • Tilt values are clamped between reasonable values to prevent crazy readings and chart display.
  • Tilt Pro is supported. Tilt Pro adds a higher resolution that requires some different value handling. Most importantly, the Tilt Pro adds more transmission power, so go check that out.
WWW
  • The yellow Tilt color has been tweaked to allow you actually to see it. There are not many discrete color values to use, especially for people with eyesight issues, so turning on and off the different lines via the legend is even more critical.
  • I have eliminated errors in the chart refresh.
  • The header (the blue part with the display and logo) has been re-written to use CSS grid. The change evens out the classic LCD with the scroll display which shows Tilt, iSpindel, Brew Bubbles, etc.. Ideally, nobody will notice the re-write, but it makes things easier for me to change should I need to do so.
    1608741498229.png
  • Custom logo handling has been re-written. You must save a logo in the images/ directory as custom_logo.*. It will allow any (sane) image format and validate that the contents match the expected image type for a touch of security. The logo will be scaled uniformly to fit the 250x70 space allotted for it. This will prevent those of you who add insane logos from completely blowing up the header. It does mean your logo should be distinguishable at that size. Logos or images with transparent backgrounds are recommended but not enforced. Also importantly: Upgrades will not overwrite your custom logo if you follow the naming convention.
Semantic Versioning

Among other things, I intend for this release to begin down a path towards embracing Semantic Versioning. The version numbers so far are all over the map with their intent. As this release includes bug-fixes and features, I will start this effort with 0.6.0. I will increment bug-fixes to this as 0.6.1, 0.6.2, etc., with new features in 0.7.0.

Yes, someday I will feel like this is "done enough" for 1.0.0.

One Release, Three Parts

Some of you know this; some do not. BrewPi Remix, like BrewPi before it, is made up of several different packages. Therefore, it is in different GitHub repositories. The scripts I have provided abstract much of this from the end-user, but sometimes it is important to know.

This release is taking place in three repositories simultaneously:
  • BrewPi Remix Tools - The BrewPi Remix repository which allows initial installation
  • BrewPi Remix Script - The BrewPi Remix repository which contains the Python scripts used to interface between the controller and the web page
  • BrewPi Remix WWW - The BrewPi Remix repository which contains the web pages which display the information and with which the end-user interacts
Tools PR Specifics:

Commit Summary
  • Fix permissions on log
  • Pre-position script
  • Do not need version
File Changes
Patch Links:
Script PR Specifics:

Commit Summary
  • Minor changes, format with black
  • Merge pull request #137 from brewpi-remix/master
  • Major refactor, add tests
  • Config timestamps, support refactor
  • Fix path and logging
  • Escape json modes
  • Merge pull request #141 from brewpi-remix/main_refactor
  • Add ./venv/
  • mend
  • Re-write Tilt.py
  • Add compatibility with new Tilt.py
  • (re)Fix scriptPath()
  • Further Tilt.py cleanup
  • Rewrite, plus Pro
  • Fix startup sequence
  • Merge pull request #145 from brewpi-remix/fix_startup
  • Merge pull request #146 from brewpi-remix/fix_startup
  • Add Pro, rewrite major areas
  • Merge pull request #147 from brewpi-remix/tilt_pro
  • Fix exceptions
  • Fix logging
  • Check color on arg
  • Clamp Tilt values
  • Allow higher res for Pro
  • Add Tilt HW/SW version
  • Merge pull request #150 from brewpi-remix/tilt_rework
  • Add clamping, update Tiltbridge
  • Add clamping, update Tiltbridge
  • Merge branch 'tiltbridge' of brewpi-remix/brewpi-script-rmx into tiltbridge
  • Merge branch 'devel' into tiltbridge
  • Merge pull request #152 from brewpi-remix/tiltbridge
File Changes
Patch Links:
WWW PR Specifics:

Commit Summary
  • Update yellow color
  • Merge pull request #57 from brewpi-remix/tilt_yellow
  • Clean up refreshStatus()
  • Employ css grid in header
  • Merge pull request #59 from brewpi-remix/top_align
  • Handle custom logos better
  • Merge pull request #60 from brewpi-remix/logo_work
File Changes
Patch Links:

Thank you!

I am sure I owe thanks to many people for getting this done. I want to especially thank Marcus Owens and Noah Neibaron of Tilt Hydrometers for their support. Thanks as well to @Thorrak, @gromitdj, and @UncleD for moral support and for being there to bounce ideas off of. I'm sure I'm missing a few folks, so a broad THANK YOU to everyone who has ever helped.
 
I just changed my single Chamber to a 2-Chamber set up. Per your instructions. GUI looks nice but Script not running. I used your script on the new, second "Arduino" clone - Also used a reformatted SD card with a fresh installed BrewPi Remix script-
curl -L install.brewpiremix.com | sudo bash
Then plugged in the new second "Arduino" and ran -
sudo ~/brewpi-tools-rmx/install.sh
I am using a new Elegoo Uno r3 and reflashed it with your script -
sudo /home/brewpi/utils/updateFirmware.py
I get "command not found" in the LX terminal window.
Any suggestions ?
 
In a multi-chamber install, the path is slightly different:
Code:
sudo /home/brewpi/utils/updateFirmware.py
... needs to be:
Code:
sudo /home/brewpi/{chambername}/utils/updateFirmware.py
... where {chambername} is the directory name for the second chamber.
 
I may be having a personal problem... looking into it further. I do have a non-standard install kludged up into a docker container. So this may not be code issues... i'll confirm if i figure it out. But after trying the update script as well as a fresh rebuild I'm seeing crazy spacing on the banner that was converted to css. The previous 0.5.x version worked fine.

here is what my header looks like:
brewpi-0.6.0.png
 
I may be having a personal problem... looking into it further. I do have a non-standard install kludged up into a docker container. So this ..
And to confirm... looks fine in "microsoft edge", i'm using chrome which has mangled it somehow.
 
Houston we have a problem. :)

Edge is really a re-wrapped chrome, so that's very strange. I just tried Chrome, IE, Firefox, and Edge and could not reproduce. Would you check the browser console and see if there are any errors?
 
Houston we have a problem. :)

Edge is really a re-wrapped chrome, so that's very strange. I just tried Chrome, IE, Firefox, and Edge and could not reproduce. Would you check the browser console and see if there are any errors?

No errors.. couple "violations" if i expand to logging "verbose". CSS/JS is out of my depth so i'll paste what was logged in case it helps.

Code:
dygraph-combined.js:3777 [Violation] Added non-passive event listener to a scroll-blocking 'touchstart' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952
addEvent @ dygraph-combined.js:3777
Dygraph.addEvent @ dygraph-combined.js:3786
Dygraph.createDragInterface_ @ dygraph-combined.js:2088
Dygraph.__init__ @ dygraph-combined.js:1674
Dygraph @ dygraph-combined.js:1468
drawProfileChart @ control-panel.js:328
renderProfile @ control-panel.js:188
(anonymous) @ control-panel.js:340
j @ jquery-1.11.0.min.js:2
fireWith @ jquery-1.11.0.min.js:2
x @ jquery-1.11.0.min.js:4
b @ jquery-1.11.0.min.js:4
 
I believe all of those are due to the outdated (and hard-coded) dygraph and jquery libs. I don't believe those are the issue here. You might try inspecting the elements between the two browsers? Meanwhile I'll try to break things here.

My Edge version is 87.0.664.66 and my Chrome version is 87.0.4280.88.
 
Hm.. disregard; i'm not sure what happened here but it's almost def a chrome issue. I toggled the ublock origin to see what happens if I block "spam", and it fixed it. I untoggled it and it's fine... i closed it all and reloaded, and it's fine now. Dbl checked the ver at the bottom and it's still 0.6.0 so it didn't roll back by accident.

I suspect an issue with Chrome and ublock integration, even though it was manually disabled for the brewpi site. Tempted to delete that log post to avoid cluttering up this thread.

brewpi-0.6.0-fixed.png
 
Having some issues installing BrewPi Remix on my Raspberry Pi B+ rev2.0.
The Bootstrap.sh end without further output after "Cloning into '/home/pi/brewpi-tools-rmx'...".
Trying to run install.sh manually also does not produce any output.
Fresh install of Buster Lite (2020-12-02), and exactly the same on Stretch Lite (2019-04-08), set up with headless SSH/WiFi, connected via Putty.
I am not very experienced with Linux, so not sure how to proceed. Any hints? :)

PS: I am pretty sure the install worked with 0.5.3, but I'm not sure how to manually get a previous version from git.
 
Having some issues installing BrewPi Remix on my Raspberry Pi B+ rev2.0.
To install the previous version you would use:
Code:
curl -L https://raw.githubusercontent.com/brewpi-remix/brewpi-tools-rmx/0.5.4.4/bootstrap.sh | sudo bash
I was 99.99% sure I tried that on Buster Lite but now that you are saying it did not work for oyu I will go back and test again.
 
0.5.4.4 ends silently in the same way on my setup.

Code:
Updating any expired apt keys.

Fixing any broken installations.
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 27 not upgraded.

Checking and installing required dependencies via apt.

Cloning brewpi-tools-rmx repo.
Cloning into '/home/pi/brewpi-tools-rmx'...
pi@raspberrypi:~ $
 
Interesting. You can try 0.5.3.0 like this:
Code:
curl -L https://raw.githubusercontent.com/brewpi-remix/brewpi-tools-rmx/0.5.3.0/bootstrap.sh | sudo bash

0.5.3.0 also ends silently now. Any way of getting som more info on where it quits?
 
Better than if I were to find it ;)

fwiw, next week we're up north, and I'm going to bring a fresh Pi and a bunch of associated e-junk up there and install your and @RandR+'s stuff. Expect plenty of DMs :D

Cheers!
 
You should be good to go now.

I'm bummed YOU had to find it rather than me. Sorry about that!

I'm impressed by the prompt replies, even on Christmas day! Thanks for the great work on keeping BrewPi alive!
I ran into some other troubles here now, which I guess would most likely be on my side :D
Code:
2020-12-25 22:28:41 [E] Starting BrewPi.
2020-12-25 22:28:51 [E] Caught an unexpected exception.
2020-12-25 22:28:51 [E] Error info:
2020-12-25 22:28:51 [E] Error: (): ''
2020-12-25 22:28:51 [E] Type:
2020-12-25 22:28:51 [E] Filename: brewpi.py
2020-12-25 22:28:51 [E] LineNo: 1126

Arduino Uno flashed with 0.2.12, EEPROM wiped. Checked line 1126. Seems this has to do with board versioning?
 
Arduino Uno flashed with 0.2.12, EEPROM wiped. Checked line 1126. Seems this has to do with board versioning?
Try a reboot - because you never know. Then have a look again. Sometimes it will throw an error starting up so the error log is harmless. The real question is whether or not you ever get a display in the header.

ETA: Yeah can't reproduce that one, so if a reboot doesn't fix it I need more info about what you are doing when it happens.
 
Last edited:
Try a reboot - because you never know. Then have a look again. Sometimes it will throw an error starting up so the error log is harmless. The real question is whether or not you ever get a display in the header.

Sorry I was bothering you with this one. A reboot did indeed fix it! All seems good now.
Thanks again for sorting this out, and happy holidays :)
 
Sorry I was bothering you with this one. A reboot did indeed fix it! All seems good now.
Thanks again for sorting this out, and happy holidays
It's no problem. A reboot should not be needed, but it works sometimes. I've been chasing that particular gremlin for a little while. "One of these days ... "

I'm glad you got it running (and I'm glad I'm not the only one awake this early.)
 
I may be having a personal problem... looking into it further. I do have a non-standard install kludged up into a docker container. So this may not be code issues... i'll confirm if i figure it out. But after trying the update script as well as a fresh rebuild I'm seeing crazy spacing on the banner that was converted to css. The previous 0.5.x version worked fine.

here is what my header looks like:
View attachment 711509


well I do have this huge header on iphone Safari. I am trying to investigate as some browsers on my computers look fine but firefox on my laptop does not. I will try the ublock origin toggle trick. I am confused about safari though. Any ideas?
 
It's no problem. A reboot should not be needed, but it works sometimes. I've been chasing that particular gremlin for a little while. "One of these days ... "

I'm glad you got it running (and I'm glad I'm not the only one awake this early.)

On your update the script tries at some point to flash arduino? That gave a fail message but it went through and everything works as it should. I needed some file that did not exist. I am sorry i don't have screenshot to help you out.
 
well I do have this huge header on iphone Safari. I am trying to investigate as some browsers on my computers look fine but firefox on my laptop does not. I will try the ublock origin toggle trick. I am confused about safari though. Any ideas?
Interesting. Let me un-screw my local install and I'll take a look.
On your update the script tries at some point to flash arduino? That gave a fail message but it went through and everything works as it should. I needed some file that did not exist. I am sorry i don't have screenshot to help you out.
Yep, noticed that this morning. In the meantime you can flash a controller with:
Code:
sudo /home/brewpi/utils/updateFirmware.py
 
Interesting. Let me un-screw my local install and I'll take a look.

Yep, noticed that this morning. In the meantime you can flash a controller with:
Code:
sudo /home/brewpi/utils/updateFirmware.py

I can't find a reason to update the controller every time
 
well I do have this huge header on iphone Safari. I am trying to investigate as some browsers on my computers look fine but firefox on my laptop does not. I will try the ublock origin toggle trick. I am confused about safari though. Any ideas?
I use FireFox for 99% of my work on both my (Windows) laptop and my iPhone. The header obviously renders correctly for me. :) Here it is in Safari, landscape and portrait, from my phone:

IMG_0477.PNG


IMG_0478.PNG


There are a few addons I can think of which may impact the layout:
  • AdBlock
  • Privacy Badger
  • uBlock Origin
  • ... probably more. Anything that promises to make you safer. :)
There's no good reason for any of these to interfere (and I use a couple of them.) The problem is often that if a plugin doesn't if it's safe, it assumes it is not. There's nothing about BrewPi Remix which is dangerous, and it doesn't even use very common Content Managament-based source files, preferring a local version.

I have Windows and iOS devices and I test with the following browsers on each:
  • Chrome
  • Firefox
  • Safari
  • Internet Explorer (Windows)
  • Edge (Windows)
If you can reproduce it consistently, try again in safe mode which should disable all extensions. If it works properly a that point, add them back in one at a time to see which one does it.
 
Last edited:
Just another thought.. since toggling ublock on my system "fixed" it then it's likely due to a caching issue. My browser likely remembered/cached part of that page from the previous non-css setup and mixed/mingled it.

Try wiping/refreshing cache on any devices that are having weird headers.
 
Just another thought.. since toggling ublock on my system "fixed" it then it's likely due to a caching issue. My browser likely remembered/cached part of that page from the previous non-css setup and mixed/mingled it.

Try wiping/refreshing cache on any devices that are having weird headers.
Ah yes, good point. Shift-refresh has become just the way I work since developing these pages. Using private mode will do the same thing on an iPhone. I assume something similar exists for Android.
 
Back
Top