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

    Homebrewing Facebook Group

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.
Bash:
brewpi@brewpi:~/glycol1/logs $ cat stderr.txt
2022-05-21 19:26:49 [E] Starting BrewPi.
Terminating due to fatal serial error
2022-05-21 23:17:15 [E] Starting BrewPi.
Terminating due to fatal serial error
2022-05-22 12:29:57 [E] Starting BrewPi.
Terminating due to fatal serial error
2022-05-22 16:23:48 [E] Starting BrewPi.
Terminating due to fatal serial error
2022-05-22 19:59:15 [E] Starting BrewPi.
2022-05-22 21:24:33 [E] Starting BrewPi.
Terminating due to fatal serial error
2022-05-23 22:19:47 [E] Starting BrewPi.
2022-05-24 07:54:24 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:54:36 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:54:48 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:55:00 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:55:12 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:55:39 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:55:51 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:56:03 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:56:15 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:56:27 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:56:39 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:56:51 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:57:03 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:57:15 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:57:27 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:57:39 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:57:51 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:58:03 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:58:15 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:58:27 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:58:39 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:58:51 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:59:03 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:59:15 [E] Starting BrewPi.
Error(s) while opening serial port:  [Errno 2] could not open port /dev/glycol1: [Errno 2] No such file or directory: '/dev/glycol1'

2022-05-24 07:59:27 [E] Starting BrewPi.
2022-05-24 07:59:45 [E] Caught a socket error.
2022-05-24 07:59:45 [E] Error info:
2022-05-24 07:59:45 [E]     Error: (32): 'Broken pipe'
2022-05-24 07:59:45 [E]     Type: <class 'BrokenPipeError'>
2022-05-24 07:59:45 [E]     Filename: brewpi.py
2022-05-24 07:59:45 [E]     LineNo: 1474
2022-05-24 07:59:47 [E] Starting BrewPi.
Bash:
brewpi@brewpi:~/glycol1/logs $ cat stdout.txt
2022-05-24 07:59:47 [N] 0.8.1 (main) [c16adae]
2022-05-24 07:59:47 [N] Starting 'NE IPA.'
2022-05-24 07:59:47 [N] Opening serial port.
2022-05-24 07:59:47 [N] Waiting 10 seconds for board to restart.
2022-05-24 07:59:57 [N] Checking software version on controller.
2022-05-24 07:59:57 [N] Found BrewPi v0.2.13 build da7e14a9, running on an Arduino Uno with a Glycol shield on port /dev/glycol1.
2022-05-24 07:59:57 [N] New JSON received from controller.
2022-05-24 08:00:17 [N] Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 14, "v": null, "a": "28FF5DD93C1901C6", "j": 0.0}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
2022-05-24 08:00:17 [N] Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 2, "d": 0, "p": 14, "v": 185.0, "a": "28726AEC3C19017A", "j": 0.0}, {"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": 10, "x": 1}]
2022-05-24 08:00:24 [N] Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 14, "v": null, "a": "28FF5DD93C1901C6", "j": 0.0}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
2022-05-24 08:00:24 [N] Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 2, "d": 0, "p": 14, "v": 44.824, "a": "28726AEC3C19017A", "j": 0.0}, {"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": 10, "x": 1}]
2022-05-24 08:00:26 [N] Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 14, "v": null, "a": "28FF5DD93C1901C6", "j": 0.0}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
2022-05-24 08:00:26 [N] Available devices received: [{"i": -1, "t": 0, "c": 1, "b": 0, "f": 0, "h": 2, "d": 0, "p": 14, "v": 44.824, "a": "28726AEC3C19017A", "j": 0.0}, {"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": 10, "x": 1}]
2022-05-24 08:00:59 [N] Device updated to: {"i":0,"t":1,"c":1,"b":1,"f":9,"h":2,"d":0,"p":14,"a":"28726AEC3C19017A","j": 0.000}
2022-05-24 08:00:59 [N] Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 14, "v": 44.824, "a": "28726AEC3C19017A", "j": 0.0}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 0, "x": 1}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
2022-05-24 08:00:59 [N] 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": 10, "x": 1}]
2022-05-24 08:00:59 [N] New JSON received from controller.
2022-05-24 08:01:08 [N] Installed devices received: [{"i": 0, "t": 1, "c": 1, "b": 1, "f": 9, "h": 2, "d": 0, "p": 14, "v": 44.824, "a": "28726AEC3C19017A", "j": 0.0}, {"i": 1, "t": 3, "c": 1, "b": 0, "f": 2, "h": 1, "d": 0, "p": 5, "v": 1, "x": 1}, {"i": 2, "t": 3, "c": 1, "b": 0, "f": 3, "h": 1, "d": 0, "p": 6, "v": 0, "x": 1}]
2022-05-24 08:01:08 [N] 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": 10, "x": 1}]
2022-05-24 08:03:00 [N] New JSON received from controller.
2022-05-24 08:05:01 [N] New JSON received from controller.
2022-05-24 08:07:01 [N] New JSON received from controller.
2022-05-24 08:09:02 [N] New JSON received from controller.
2022-05-24 08:11:02 [N] New JSON received from controller.
2022-05-24 08:13:03 [N] New JSON received from controller.
2022-05-24 08:15:03 [N] New JSON received from controller.
2022-05-24 08:17:05 [N] New JSON received from controller.
2022-05-24 08:19:05 [N] New JSON received from controller.
2022-05-24 08:21:06 [N] New JSON received from controller.
2022-05-24 08:23:06 [N] New JSON received from controller.
2022-05-24 08:25:07 [N] New JSON received from controller.
2022-05-24 08:27:08 [N] New JSON received from controller.
2022-05-24 08:29:08 [N] New JSON received from controller.
2022-05-24 08:31:09 [N] New JSON received from controller.
2022-05-24 08:33:10 [N] New JSON received from controller.
2022-05-24 08:35:11 [N] New JSON received from controller.
2022-05-24 08:37:12 [N] New JSON received from controller.
2022-05-24 08:39:13 [N] New JSON received from controller.
2022-05-24 08:41:13 [N] New JSON received from controller.
2022-05-24 08:43:14 [N] New JSON received from controller.
2022-05-24 08:45:15 [N] New JSON received from controller.
2022-05-24 08:47:16 [N] New JSON received from controller.
2022-05-24 08:49:16 [N] New JSON received from controller.
2022-05-24 08:51:17 [N] New JSON received from controller.
2022-05-24 08:53:18 [N] New JSON received from controller.
2022-05-24 08:55:19 [N] New JSON received from controller.
2022-05-24 08:57:20 [N] New JSON received from controller.
2022-05-24 08:59:21 [N] New JSON received from controller.
2022-05-24 09:01:22 [N] New JSON received from controller.
2022-05-24 09:03:23 [N] New JSON received from controller.
2022-05-24 09:05:23 [N] New JSON received from controller.
2022-05-24 09:07:24 [N] New JSON received from controller.
2022-05-24 09:09:24 [N] New JSON received from controller.
2022-05-24 09:11:25 [N] New JSON received from controller.
2022-05-24 09:13:25 [N] New JSON received from controller.
2022-05-24 09:15:26 [N] New JSON received from controller.
2022-05-24 09:17:27 [N] New JSON received from controller.
2022-05-24 09:19:28 [N] New JSON received from controller.
2022-05-24 09:19:31 [N] New JSON received from controller.
2022-05-24 09:21:32 [N] New JSON received from controller.
2022-05-24 09:23:32 [N] New JSON received from controller.
2022-05-24 09:25:34 [N] New JSON received from controller.
2022-05-24 09:27:34 [N] New JSON received from controller.
2022-05-24 09:29:35 [N] New JSON received from controller.
2022-05-24 09:31:36 [N] New JSON received from controller.
2022-05-24 09:33:37 [N] New JSON received from controller.
2022-05-24 09:35:38 [N] New JSON received from controller.
2022-05-24 09:37:39 [N] New JSON received from controller.
2022-05-24 09:39:39 [N] New JSON received from controller.
2022-05-24 09:41:40 [N] New JSON received from controller.
2022-05-24 09:43:40 [N] New JSON received from controller.
2022-05-24 09:45:41 [N] New JSON received from controller.
2022-05-24 09:47:41 [N] New JSON received from controller.
2022-05-24 09:49:42 [N] New JSON received from controller.
2022-05-24 09:51:43 [N] New JSON received from controller.
2022-05-24 09:53:44 [N] New JSON received from controller.
2022-05-24 09:55:44 [N] New JSON received from controller.
2022-05-24 09:57:46 [N] New JSON received from controller.
2022-05-24 09:59:46 [N] New JSON received from controller.
2022-05-24 10:01:47 [N] New JSON received from controller.
2022-05-24 10:03:48 [N] New JSON received from controller.
2022-05-24 10:05:49 [N] New JSON received from controller.
2022-05-24 10:07:50 [N] New JSON received from controller.
2022-05-24 10:09:51 [N] New JSON received from controller.
2022-05-24 10:11:52 [N] New JSON received from controller.
2022-05-24 10:13:53 [N] New JSON received from controller.
2022-05-24 10:15:53 [N] New JSON received from controller.
2022-05-24 10:17:54 [N] New JSON received from controller.
2022-05-24 10:19:55 [N] New JSON received from controller.
2022-05-24 10:21:56 [N] New JSON received from controller.
2022-05-24 10:23:57 [N] New JSON received from controller.
2022-05-24 10:25:58 [N] New JSON received from controller.
2022-05-24 10:27:59 [N] New JSON received from controller.
2022-05-24 10:30:00 [N] New JSON received from controller.
2022-05-24 10:32:00 [N] New JSON received from controller.
2022-05-24 10:34:01 [N] New JSON received from controller.
2022-05-24 10:36:02 [N] New JSON received from controller.
2022-05-24 10:38:03 [N] New JSON received from controller.
2022-05-24 10:40:04 [N] New JSON received from controller.
2022-05-24 10:42:05 [N] New JSON received from controller.
2022-05-24 10:44:06 [N] New JSON received from controller.
2022-05-24 10:46:06 [N] New JSON received from controller.
2022-05-24 10:48:07 [N] New JSON received from controller.
2022-05-24 10:50:08 [N] New JSON received from controller.
2022-05-24 10:52:09 [N] New JSON received from controller.
2022-05-24 10:54:10 [N] New JSON received from controller.
2022-05-24 10:56:11 [N] New JSON received from controller.
2022-05-24 10:58:12 [N] New JSON received from controller.
2022-05-24 11:00:13 [N] New JSON received from controller.
2022-05-24 11:02:13 [N] New JSON received from controller.
2022-05-24 11:04:14 [N] New JSON received from controller.
2022-05-24 11:06:15 [N] New JSON received from controller.

I assume you want JSON logging on, I'm trying to find how to do that, I remember you mentioned it to someone else, I'll turn it on and post that when it runs for a little bit.
 
No, actually that's fine. It tells us that the Pi to Arduino communication is what was impacted. The firmware is pretty well baked with few changes, so I am curious about the loss of comms. You said you rebooted the Pi, right? And then the comms errors persisted?

It sure seems like the Arduino locked up, but it could also be a questionable USB cable. Try a different port on the Pi, try a different USB cable, and see if that helps.
 
Quick pull of the code it was complaining about above, assume it just couldn't find the Arduino.

Bash:
brewpi@brewpi:~/glycol1 $ sed -n 1470,1480p brewpi.py
                                status[statusIndex].update({statusType: statusValue})
                                statusIndex = statusIndex + 1
                    # End: iSpindel Items

                    phpConn.send(json.dumps(status).encode(encoding="utf-8"))
                else:  # Invalid message received
                    logMessage(
                        "ERROR. Received invalid message on socket: " + message)

                if (time.time() - prevTimeOut) < serialCheckInterval:
                    continue

Log with JSON logging on:

Bash:
brewpi@brewpi:~/glycol1/logs $ cat stdout.txt
2022-05-24 11:14:28 [N] 0.8.1 (main) [c16adae]
2022-05-24 11:14:28 [N] Starting 'NE IPA.'
2022-05-24 11:14:28 [N] Opening serial port.
2022-05-24 11:14:28 [N] Waiting 10 seconds for board to restart.
2022-05-24 11:14:38 [N] Checking software version on controller.
2022-05-24 11:14:38 [N] Found BrewPi v0.2.13 build da7e14a9, running on an Arduino Uno with a Glycol shield on port /dev/glycol1.
2022-05-24 11:14:39 [N] Update: {"BeerTemp": null, "FridgeTemp": null, "BeerAnn": null, "FridgeAnn": null, "RoomTemp": null, "State": 0, "BeerSet": 68.1, "FridgeSet": 68.1}
2022-05-24 11:16:40 [N] Update: {"BeerTemp": null, "FridgeTemp": null, "BeerAnn": null, "FridgeAnn": null, "RoomTemp": null, "State": 0, "BeerSet": 68.14, "FridgeSet": 68.14}
2022-05-24 11:18:41 [N] Update: {"BeerTemp": null, "FridgeTemp": null, "BeerAnn": null, "FridgeAnn": null, "RoomTemp": null, "State": 0, "BeerSet": 68.14, "FridgeSet": 68.14}
2022-05-24 11:20:42 [N] Update: {"BeerTemp": null, "FridgeTemp": null, "BeerAnn": null, "FridgeAnn": null, "RoomTemp": null, "State": 0, "BeerSet": 68.14, "FridgeSet": 68.14}
 
No, actually that's fine. It tells us that the Pi to Arduino communication is what was impacted. The firmware is pretty well baked with few changes, so I am curious about the loss of comms. You said you rebooted the Pi, right? And then the comms errors persisted?

It sure seems like the Arduino locked up, but it could also be a questionable USB cable. Try a different port on the Pi, try a different USB cable, and see if that helps.
After the reboot it still wouldn't talk to the Arduino, I had to pull the power to the Arduino to get the two talking again. After that connected fine but the temp sensor eventually went null again.

Edit: First thing I did was replace the USB cable, but I'll try a different port.
 
Update:

New Arduino didn't help, lower resistor didn't help. Finally decided to go back to my shorter sensors that worked with the original Brewpi. Not sure if the longer sensors I got were just junk, appears that way, but BrewPi Remix has been perfect since switching back. :mug: to anyone who helped, hope this helps someone else in the future.
 

Attachments

  • Screenshot from 2022-05-30 10-20-28.png
    Screenshot from 2022-05-30 10-20-28.png
    151.4 KB
go back to my shorter sensors that worked with the original Brewpi. Not sure if the longer sensors I got were just junk, appears that way

I am coming to the same conclusion, but with sainsmart arduino "broken pipe" on laptop solution not raspberry pi. I think I have to get another arduino
 
With the lines above commented out, it doesn’t crash the script, but you get NAN for the temperatures from the tilt

I did a bit of digging and the code wasn't generating NANs. There's a default that sets the tilt data to N/A and I was mis-reading N/AN/AN/A as NAN for some reason (probably years of writing dodgy numerical analysis code).

The slowness on the web page was just oversampling of the data. I reduced the sampling interval to 30 mins and my last brew has been fine. The patches also work if the tilt disappears and comes back.
 
Getting back into DIY brewing gizmos after a little bit of a break. What's got me most excited is controlling my glycol system and Brew Bubbles set up and integrated with logging.

I noticed that a couple old boards that I had in my box of doodads will work with Fermentrack, but not With BrewPi Remix:

1) Adafruit "Metro" (Arduino UNO clone ATMega328P)
2) Adafruit "HUZZAH Feather" (ESP8266)

Both are flashed to the latest relevant firmware, but BrewPiRemix is reporting the following:
... Starting BrewPi. Error(s) while opening serial port: Could not find compatible serial device.

Of course, the Wemos D1 Mini clone I have seems to work just fine.

Not a big deal, just wondering if there is a known difference between Fermentrack and BrewpiRemix for these boards? Do I just need to shop and find a different Arduino UNO compatible board (any suggestions)? I can also bug @Thorrak about finishing his Brew Bubbles integration with Fermentrack, and solve my problem that way too! ;)

Also want to extend my thanks to all who have contributed to and supported these projects. I'm getting back into it after a few years away, and WOW things have come a long way! Thanks!
 
There’s probably no absolute reason why that can’t work, I’d just need to look at the (I forget which file) and add a board definition for it. I might need to get more info from you.

That said, I’m hoping @Thorrak will release his ESP ….. ah you almost made me say it! Cooler things coming, which I will support in BPR.
 
There’s probably no absolute reason why that can’t work, I’d just need to look at the (I forget which file) and add a board definition for it. I might need to get more info from you.

That said, I’m hoping @Thorrak will release his ESP ….. ah you almost made me say it! Cooler things coming, which I will support in BPR.

Hmmmmm….

If you’re referring to the solder-free BrewPi-ESP32 with native Tilt support, support for Kasa WiFi switches, and Inkbird Bluetooth temperature sensors, I’ve already announced that one over here.

Of course, if you’re thinking of the ESP32-S2 port, which brings a (more) modern platform than the D1 mini along with Kasa switch support, then that was announced this past Monday.

Of course I did send you that thing… if I can get the case ready for it, it should be available soon.
 
Hello all, I just ran the update and now up to the current version. When I tried to update my controller it failed, unable to find the updateFirmware.py script.

Did I miss something? I searched for this file and its not in the brewpi folder.
 
Thanks, I do not see a doFiware in my utils folder. I do have a doFlash? Would that be it?

When I run doUpdate, thats whats calling the old updateFirmware.
 
Thanks, I do not see a doFiware in my utils folder. I do have a doFlash? Would that be it?

When I run doUpdate, thats whats calling the old updateFirmware.
Yes, that's it. doFlash.sh further calls updateFirmware.py. Are you saying that you receive an error running doFlash.sh? Is updateFirmware.py in the /home/brewpi folder? If so, are you running the script as root or as the pi user? You should be able to run it as pi from your home folder.

ETA: There are VERY minimal changes in the BrewPi firmware from the original Elco version. It's not worth the effort unless you just really want to see it all working.
 
Help!!
My BrewPi has stopped working during a brew.

I have used it since 2019 with about a 8 month break this year (newborn). In September i updated it using "curl -L upgrade.brewpiremix.com | sudo bash" - because you guessed it, i don't know what i am doing. Everything seemed to work fine. I checked today and i am having a "Cannot connect to BrewPi" issue visible on the web UI. It also indicates "Script not running". If i try write a profile i get "Couldn't write to socket: [111] Connection refused Is the script running?"
Screenshot attached.

I looked in stder.txt and the last entry was "2022-09-10 14:54:19 Starting BrewPi." - Power has been cycled at least twice since then.
I looked in stdout and the last entry was "
2022-10-03 10:36:10 Update: {"BeerTemp": 18.75, "FridgeTemp": 19.0, "BeerAnn": null, "FridgeAnn": null, "RoomTemp": null, "State": 0, "BeerSet": 20.0, "FridgeSet": 26.66}"
It must be noted we have had a short power failure around that date but i cannot confirm whether it was at the exact time or this was the cause of the issue.

I have tried:
Rebooting Pi.
Power cycling both pi and Arduino.
Updating Brewpi - "sudo /home/brewpi/utils/doUpdate.sh" - Completes
Flash Arduino Firmware - "sudo /home/brewpi/utils/updateFirmware.py" - Original versions was 0.2.12, i tried sticking with that and now flashed to 0.2.13 when still didnt work. Flash successful and the settings carry across as they appear in the terminal. I assume this means the Arduino is fine?

Note, when running either of the commands above i get this:
"sudo: unable to resolve host pi3brew: Name or service not known" - i don't know what this means, but the commands seem to execute successfully.

My lager is supposed to be cold crashing, maybe 6 days ago, i am hoping i can still save it.
 

Attachments

  • Screenshot 2022-10-16 143040.png
    Screenshot 2022-10-16 143040.png
    261.2 KB
If the Arduino flashed, then yes, I would guess it is fine. What's interesting however is that BrewPi uses the same scripts and configuration to flash the Arduino.

What's troubling to me is the power failure. Then you seem to make a distinction between reboot and power cycle. I hope you are shutting the Pi down correctly before cycling power?

Your "unable to resolve host" commands are also troubling. It suggests that a host name change broke along the line. Check this article for some troubleshooting and resolution steps. The commands are not executing sucessfully without being able to sudo. Note this is a Linux issue, not a BrewPi one. Resolving this is imperative to run things correctly.

After you get that resolved, let's try this command to see what's running:

ps -ef | grep [b]rewpi

When I run it I get something like this:
Code:
pi@brewpi:~ $ ps -ef | grep [b]rewpi
brewpi     605     1  0 Oct14 ?        00:00:29 /bin/bash /home/brewpi/utils/doBrewPi.sh -d
brewpi   12986   605 22 06:04 ?        00:00:01 /home/brewpi/venv/bin/python3 -u /home/brewpi/brewpi.py --log --datetime

The first is the the shell which controls the Python process, the second is the actual BrewPi script. It's possible you will see some differences but that's the minimum for a single chamber setup.
 
Hi Thanks for the response

I too am worried about the power failure. We have had a few over the years and it has always seemed to be ok...
"distinction between reboot and power cycle" - In my defense, i tried the proper way first... then threw the breaker.

I tried to follow the steps to resolve the "unable to resolve host". But i cannot for the life of me remember the root password (i tried the "default": raspberry). I do have the password for the pi account. Anyway, i managed to successfully fix the problem (read: the error line no longer appears) by changing the hostname under Raspberry Pi Configuration.

I ran "ps -ef | grep rewpi" - i get no results.

I ran "sudo /home/brewpi/utils/doUpdate.sh" to test the "unable to resolve host" and i notice the last line ends with: "BrewPi was not running when we started. If it does not start after this you may have to investigate."

I never thought anything of this before as the web GUI opens, but clearly something is not running. I tried to do some service fault finding below... but that is the extent of my capabilities.

pi@pi3brew:~ $ sudo systemctl status brewpi
pi@pi3brew:~ $ sudo systemctl status brewpi
● brewpi.service - BrewPi Remix daemon for: brewpi
Loaded: loaded (/etc/systemd/system/brewpi.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-10-18 11:24:42 AEST; 20min ago
Docs: User Documentation — BrewPi Remix 0.8.0 documentation
Process: 951 ExecStart=/bin/bash /home/brewpi/utils/doBrewPi.sh -d (code=exited, status=1/FAILURE)
Main PID: 951 (code=exited, status=1/FAILURE)

Oct 18 11:24:42 pi3brew systemd[1]: brewpi.service: Service RestartSec=1s expired, scheduling restart.
Oct 18 11:24:42 pi3brew systemd[1]: brewpi.service: Scheduled restart job, restart counter is at 5.
Oct 18 11:24:42 pi3brew systemd[1]: Stopped BrewPi Remix daemon for: brewpi.
Oct 18 11:24:42 pi3brew systemd[1]: brewpi.service: Start request repeated too quickly.
Oct 18 11:24:42 pi3brew systemd[1]: brewpi.service: Failed with result 'exit-code'.
Oct 18 11:24:42 pi3brew systemd[1]: Failed to start BrewPi Remix daemon for: brewpi.
pi@pi3brew:~ $ sudo systemctl restart brewpi
pi@pi3brew:~ $ sudo systemctl status brewpi
● brewpi.service - BrewPi Remix daemon for: brewpi
Loaded: loaded (/etc/systemd/system/brewpi.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-10-18 11:47:24 AEST; 18s ago
Docs: User Documentation — BrewPi Remix 0.8.0 documentation
Process: 5826 ExecStart=/bin/bash /home/brewpi/utils/doBrewPi.sh -d (code=exited, status=1/FAILURE)
Main PID: 5826 (code=exited, status=1/FAILURE)

Oct 18 11:47:24 pi3brew systemd[1]: brewpi.service: Service RestartSec=1s expired, scheduling restart.
Oct 18 11:47:24 pi3brew systemd[1]: brewpi.service: Scheduled restart job, restart counter is at 5.
Oct 18 11:47:24 pi3brew systemd[1]: Stopped BrewPi Remix daemon for: brewpi.
Oct 18 11:47:24 pi3brew systemd[1]: brewpi.service: Start request repeated too quickly.
Oct 18 11:47:24 pi3brew systemd[1]: brewpi.service: Failed with result 'exit-code'.
 
I ran "ps -ef | grep rewpi" - i get no results.
Good! It looks like you may recently have changed your hostname but that process failed to complete. That's fine, you;re back.

I ran "sudo /home/brewpi/utils/doUpdate.sh" to test the "unable to resolve host" and i notice the last line ends with: "BrewPi was not running when we started. If it does not start after this you may have to investigate."

I never thought anything of this before as the web GUI opens, but clearly something is not running.
Yes, this is one of the more confusing parts of the system. It is intended to give you more control but I'm not sure the words are quite right. The web pages are served by Apache and they talk to BEERSOCKET which in turn connects to the script. So this means exactly what it says really, the Python script is not running.

I tried to do some service fault finding below... but that is the extent of my capabilities.
This looks like the daemon finally gave up. The quickest way to get things working now is probably to reboot the Pi (correctly!) Things should work after that, if not, let me know what you see.
 
Good! It looks like you may recently have changed your hostname but that process failed to complete. That's fine, you;re back.
I haven't made any changes since i setup in 2019. I am really a novice in Linux etc... i don't really go fiddling around so i may have done something back then and it has been lingering. I have run the update every now and then.

After a reboot it is still a no go. :(

● brewpi.service - BrewPi Remix daemon for: brewpi
Loaded: loaded (/etc/systemd/system/brewpi.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2022-10-18 23:52:05 AEST; 4min 16s ago
Docs: User Documentation — BrewPi Remix 0.8.0 documentation
Process: 927 ExecStart=/bin/bash /home/brewpi/utils/doBrewPi.sh -d (code=exited, status=1/FAILURE)
Main PID: 927 (code=exited, status=1/FAILURE)

Oct 18 23:52:05 pi3brew systemd[1]: brewpi.service: Service RestartSec=1s expired, scheduling restart.
Oct 18 23:52:05 pi3brew systemd[1]: brewpi.service: Scheduled restart job, restart counter is at 5.
Oct 18 23:52:05 pi3brew systemd[1]: Stopped BrewPi Remix daemon for: brewpi.
Oct 18 23:52:05 pi3brew systemd[1]: brewpi.service: Start request repeated too quickly.
Oct 18 23:52:05 pi3brew systemd[1]: brewpi.service: Failed with result 'exit-code'.
Oct 18 23:52:05 pi3brew systemd[1]: Failed to start BrewPi Remix daemon for: brewpi.
 
One last blanket try before we dig into troubleshooting. execute:

/home/brewpi/utils/doPerms.sh

You should see something like this:

Bash:
pi@brewpi:~ $ /home/brewpi/utils/doPerms.sh

Not running as root, relaunching.

***Script doPerms.sh starting.***

Fixing file permissions for /var/www/html.

Fixing file permissions for /home/brewpi.

Allowing BrewPi python access to Bluetooth interfaces.

Checking user accounts.

***Script doPerms.sh complete.***
pi@brewpi:~ $
After that, it's easiest to reboot and see what happens.
 
This Fixed it!!!!!! Thanks @LBussy you legend!

Now i got to see how this lager turns out, the fermenting was done, it just didn't start the cold crash on time - essentially a really long diacetyl rest. I guess it should be fine.

For those in the future: pi@brew3pi:~ $ sudo /home/brewpi/utils/doPerms.sh
 
Back
Top