BrewBlox install

yes - but now I have this:

pi@Brewpi:~/brewblox $ brewblox-ctl up
ERROR:
Can’t find a suitable configuration file in this directory or any
parent. Are you in the right directory?

    Supported filenames: docker-compose.yml, docker-compose.yaml

Command ‘docker-compose up -d --remove-orphans’ returned non-zero exit status 1.
pi@Brewpi:~/brewblox $ ls
brewblox_ctl_lib

but the install process completed without errors…

pi@Brewpi : ~/brewblox/brewblox $ ls

pi@Brewpi : ~/brewblox/brewblox $ pwd

/home/pi/brewblox/brewblox

pi@Brewpi : ~/brewblox/brewblox $

After install, you need to run brewblox-ctl setup in the ~/brewblox dir.

ok sorry slow bus: - ok looks like it loaded - now ill be onto the next part about asking you about the blocks for my setup - I should start a new post about my setup with pictures for the diagram layout - would that be helpful for you and others to reference to help me troubleshoot? in case something is missing etc.?

You can get started with one of the wizards. Feel free to ask if anything is still missing or unclear.

Hello, Thought I would follow the conversation here. I am now on the UI web page which loads fine.

I simply want the dashboard with temperatures to show. Under the Spark-one it offers me to do an update. It was strange because I got a message in the box stating that it should be up to date.

When I do it, I get the following message on the UI:
Update failed: Request failed with status code 424

If retrying the update does not work, please run 'brewblox-ctl flash'

Log messages

Started updating spark-one@/dev/ttyACM0 to version 94793741 (2020-08-24 15:59:14 +0200)

Sending update command to controller

Waiting for normal connection to close

Connecting to /dev/ttyACM0

Failed to update firmware: SerialException([Errno 6] could not open port /dev/ttyACM0: [Errno 6] No such device or address: '/dev/ttyACM0')

Scheduling service reboot

So I went to the terminal and did the following:

pi@raspberrypi:~/brewblox $ brewblox-ctl flash
Please press ENTER when your Spark is connected over USB
INFO       Pulling flasher image...
edge: Pulling from brewblox/firmware-flasher
3cfb62949d9d: Pull complete 
1ef8a3a07026: Pull complete 
b0a4348231c5: Pull complete 
df326638a053: Pull complete 
ea880123298f: Pull complete 
0859a37932b6: Pull complete 
8d15d34ed1fe: Pull complete 
472f5e1053bb: Pull complete 
3d788ca7e49b: Pull complete 
d2cd1c45fa37: Pull complete 
6a1ef8b24086: Pull complete 
Digest: sha256:59d0c8da6abd437b43ebd4b65e7921cee917c53cc58a8302794ae44eb729042d
Status: Downloaded newer image for brewblox/firmware-flasher:edge
docker.io/brewblox/firmware-flasher:edge
INFO       Stopping services...
Stopping brewblox_datastore_1 ... done
Stopping brewblox_eventbus_1  ... 
Stopping brewblox_ui_1        ... 
Stopping brewblox_influx_1    ... 
Stopping brewblox_history_1   ... 
Stopping brewblox_traefik_1   ... 
Stopping brewblox_spark-one_1 ... 

ERROR: for brewblox_influx_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=210)

ERROR: for brewblox_history_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=210)

ERROR: for brewblox_ui_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=210)

ERROR: for brewblox_traefik_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=210)

ERROR: for brewblox_spark-one_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=210)

ERROR: for brewblox_eventbus_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=210)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 200).
Command 'docker-compose down' returned non-zero exit status 1.
pi@raspberrypi:~/brewblox $ brewblox-ctl particle -c flash-bootloader
Please press ENTER when your Spark is connected over USB
INFO       Pulling flasher image...
edge: Pulling from brewblox/firmware-flasher
Digest: sha256:59d0c8da6abd437b43ebd4b65e7921cee917c53cc58a8302794ae44eb729042d
Status: Image is up to date for brewblox/firmware-flasher:edge
docker.io/brewblox/firmware-flasher:edge
INFO       Stopping services...
Removing brewblox_datastore_1 ... done
Removing brewblox_eventbus_1  ... done
Removing brewblox_ui_1        ... done
Removing brewblox_influx_1    ... done
Removing brewblox_history_1   ... done
Removing brewblox_traefik_1   ... done
Removing brewblox_spark-one_1 ... done
Removing network brewblox_default
INFO       Starting Particle image...
INFO       Type 'exit' and press enter to exit the shell
Flashing P1 bootloader...
Done.
sending file: bootloader-p1.bin

Flash success!

Flash success!
Done.
pi@raspberrypi:~/brewblox $ brewblox-ctl up
Creating network "brewblox_default" with the default driver
Creating brewblox_history_1 ... 
Creating brewblox_traefik_1 ... 
Creating brewblox_influx_1  ... 
Creating brewblox_spark-one_1 ... 
Creating brewblox_ui_1        ... 
Creating brewblox_eventbus_1  ... 
Creating brewblox_datastore_1 ... 

ERROR: for brewblox_history_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for brewblox_spark-one_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for brewblox_ui_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for brewblox_influx_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for brewblox_traefik_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for brewblox_datastore_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for brewblox_eventbus_1  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for history  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for spark-one  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for ui  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for influx  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for traefik  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for datastore  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)

ERROR: for eventbus  UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=200)
ERROR: An HTTP request took too long to complete. Retry with --verbose to obtain debug information.
If you encounter this issue regularly because of slow network conditions, consider setting COMPOSE_HTTP_TIMEOUT to a higher value (current value: 200).
Command 'docker-compose up -d --remove-orphans' returned non-zero exit status 1.
pi@raspberrypi:~/brewblox $ brewblox-ctl --verbose up
SHELL      docker-compose up -d --remove-orphans
brewblox_datastore_1 is up-to-date
brewblox_spark-one_1 is up-to-date
brewblox_traefik_1 is up-to-date
brewblox_ui_1 is up-to-date
brewblox_history_1 is up-to-date
brewblox_influx_1 is up-to-date
brewblox_eventbus_1 is up-to-date
pi@raspberrypi:~/brewblox $ 

I reload the web page and it still asks for an update. I do the UI update and still get the same issue.

Does brewblox-ctl log work now?

The timeout errors still appear, indicating something is suffering from hangups.

Common issue checklist:

  • How old is your SD card?
  • Did you previously run brewblox-ctl disable-ipv6?
  • Have you disabled swap memory on your Pi?

(“huh, what?” are perfectly normal answers to the last two questions)

pi@raspberrypi:~/brewblox $ brewblox-ctl log
INFO Log file: /home/pi/brewblox/brewblox.log
/bin/sh: 1: echo: echo: I/O error
Command ‘echo “BREWBLOX DIAGNOSTIC DUMP” > brewblox.log’ returned non-zero exit status 1.

The SD card is less than 2 years old.

I did not run the disable-ipv6 command.
I remember thinking about removing the swap memory but I do not think I did.

But yes, “huh, What?”

  GNU nano 3.2                  /etc/dphys-swapfile                             

# where we want the swapfile to be, this is the default
#CONF_SWAPFILE=/var/swap

# set size to absolute value, leaving empty (default) then uses computed value
#   you most likely don't want this, unless you have an special disk situation
CONF_SWAPSIZE=100

# set size to computed value, this times RAM size, dynamically adapts,
#   guarantees that there is enough swap without wasting disk space on excess
#CONF_SWAPFACTOR=2

# restrict size (computed and absolute!) to maximally this limit
#   can be set to empty for no limit, but beware of filled partitions!
#   this is/was a (outdated?) 32bit kernel limit (in MBytes), do not overrun it
#   but is also sensible on 64bit to prevent filling /var or even / partition
#CONF_MAXSWAP=2048

If you have a fresh SD card, you may want to try installing on that.
They’re a common point of failure for the Raspberry Pi, and getting an I/O error when writing a single string to file is a big red flag.

The spark one shows the following.

Will go for a reinstall with a fresher card.

The Spark itself seems fine. The firmware version mismatch is mostly caused by the Spark service refusing to stop/start.

If you want to be sure, you can reboot the Spark, and check the git hash. The most recent firmware version is 94793741.
If it’s using a different version, it can be fixed during/after install. The important part is to get rid of the docker-compose timeout errors.

yes! things went smoothly with the other SD card I had. Much quicker install.
Thank you! Now all I want to do it plot the temperatures and get alerts when they are not within range.

Good to hear!

Alerts are doable using the automation service, but are somewhat clunky right now. Next release is scheduled to include improvements on that front.

Hi, new user here.
I’ve progressed as far as having the SSH file + wpa_supplicant.conf configured for my WIFI network. The SD card is formatted to FAT32 and RaspberryPi OS Lite image is written.
When I put in the SD card and power up the Spark 3, it acts no differently than if I’d powered it up without the SD card and cannot be found on the network. Fing isn’t detecting it and neither does the router. I have tried configuring for both the 2.4GHz and 5GHz networks.
Windows is detecting a COM1 connection when I connect it via USB so I might be able to issue commands through that with Putty but to be honest, I am completely out of my depth at that point.

You could try connecting a monitor to your Spark’s HDMI port, and checking the output during startup.

For clarification, when you say HDMI port, do you mean the USB?

No. On the side of Pi, next to the power connector, is a HDMI port that can be used to connect a monitor.

Connect that to a TV or PC monitor, and restart your Pi. The messages shown while starting up will give you more information about what’s going on.

You can also connect a keyboard to your Pi to directly access the terminal without using SSH.

Hmm, I’ll give it a shot.
How would I go about connecting a keyboard to it while the USB port is in use by the monitor?

For further clarification, I should get an HDMI to micro HDMI cord and not an HDMI to micro USB cord?

You’re holding the Spark there, not the Pi.

It has an SD slot, but that’s not the one you want.