Edge release 2019/11/21

Relevant links:

Edge release 2019/11/21

Firmware release date: 2019/11/12

Instead of releasing a big new feature, we took the time to polish and refactor multiple smaller UI components.

We made a lot of small tweaks to the Session Log widget, and to many input components throughout the UI.

Changes

  • Multiple small improvements to the Session Log widget.
    • Insert date now inserts at the current cursor position, not always at the end of the note.
    • Creating a new Session now spawns a dialog where you can pick the session name, and choose from which other session to import notes.
    • Drag to resize notes when editing the Session Log (cogwheel button).
    • Render content of text notes to reduce layout “jumps” when toggling between basic and full mode.
  • Deprecated the Session View widget.
  • Improved display of editable fields (no more underlined text, but something that looks like an input field).
  • Next to presets, you can also pick a custom duration in the graph toolbar.
  • Auto-fill SSL cert questions in brewblox-ctl setup
  • Fixed an error that caused the PWM pump in the builder to not respond to clicks.
  • Display warning icon if a PWM/PID itself is disabled in the builder.
    • Recommended way to disable a control chain is to disable the setpoint.
  • Builder editor remembers the active layout.
  • Setpoint profile will now offer to insert a new point when making any change that will cause the current temperature setting to jump.
    • Previously, this only happened when changing the temperature of the last or next point.
    • Now it will also happen when editing the time.
1 Like

Do we need to manually migrate sessions from the session view widget to the new session log interface, or is it still the same backend?

They have very different configs, stored in different places.

We can migrate old sessions, and will add a button to do so long before we remove session view.

When updating my spark v2, it shows a blank screen. The LED flashes very fast in green.

pi@brewblox:~/brewblox $ brewblox-ctl flash
Please press ENTER when your Spark is connected over USB
Running command:
docker-compose down
Removing network brewblox_default
WARNING: Network brewblox_default not found.
Running command:
docker pull brewblox/firmware-flasher:rpi-edge
rpi-edge: Pulling from brewblox/firmware-flasher
Digest: sha256:599a978d232e7ea27883114f635ba91ebee886bc9c56377815524c000e20f60e
Status: Image is up to date for brewblox/firmware-flasher:rpi-edge
docker.io/brewblox/firmware-flasher:rpi-edge
Running command:
docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge trigger-dfu
Running command:
docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge flash
Flashing Photon…
Flashing System 1 file…
Flash success!
Flashing System 2 file…
Flash success!
Flashing Firmware file…
Flash success!

And set up the wifi connection:

pi@brewblox:~/brewblox $ brewblox-ctl wifi
Please press ENTER when your Spark is connected over USB
Running command:
docker-compose down
Stopping brewblox_spark-one_1 … done
Stopping brewblox_mdns_1 … done
Stopping brewblox_Tilt_1 … done
Stopping brewblox_datastore_1 … done
Stopping brewblox_ui_1 … done
Stopping brewblox_history_1 … done
Stopping brewblox_eventbus_1 … done
Stopping brewblox_traefik_1 … done
Stopping brewblox_influx_1 … done
Removing brewblox_spark-one_1 … done
Removing brewblox_mdns_1 … done
Removing brewblox_Tilt_1 … done
Removing brewblox_datastore_1 … done
Removing brewblox_ui_1 … done
Removing brewblox_history_1 … done
Removing brewblox_eventbus_1 … done
Removing brewblox_traefik_1 … done
Removing brewblox_influx_1 … done
Removing network brewblox_default
Running command:
docker pull brewblox/firmware-flasher:rpi-edge
rpi-edge: Pulling from brewblox/firmware-flasher
Digest: sha256:599a978d232e7ea27883114f635ba91ebee886bc9c56377815524c000e20f60e
Status: Image is up to date for brewblox/firmware-flasher:rpi-edge
docker.io/brewblox/firmware-flasher:rpi-edge
Running command:
docker run -it --rm --privileged brewblox/firmware-flasher:rpi-edge wifi
IMPORTANT: answer ‘no’ when asked to scan for Wifi networks
? Should I scan for nearby Wi-Fi networks? No
? SSID hola
? Security Type WPA2
? Cipher Type AES+TKIP
? Wi-Fi Password 12345678
Done! Your device should now restart.

But the screen is still white and the LED is green.

How can I install manually?
Can i go back to the previous version?

Thanks,
Daniel

Hi,

Run “brewblox-ctl flash” again and before executing “brewblox-ctl wifi” I pressed the button for a few seconds and it flashed purple and started working.

Now brewblox gives 404 error, but this I think I can fix it.

Regards,
Daniel.

EDID:

I can’t make it work:

pi@brewblox:~/brewblox $ brewblox-ctl setup
Do you want to check whether ports are already in use? [Press ENTER for default value ‘Yes’]
n
Do you want to update brewblox-ctl? [Press ENTER for default value ‘Yes’]
n
This directory already contains datastore files. Do you want to keep them? [Press ENTER for default value ‘Yes’]
y
Running command:
cp -f ./brewblox_ctl_lib/config_files/docker-compose_armhf.yml ./docker-compose.yml
Running command:
docker-compose down --remove-orphans
Removing network brewblox_default
WARNING: Network brewblox_default not found.
Running command:
docker-compose pull
Pulling mdns … done
Pulling eventbus … done
Pulling influx … done
Pulling datastore … done
Pulling history … done
Pulling ui … done
Pulling traefik … done
Pulling spark-one … done
Running command:
sudo rm -rf ./influxdb/; mkdir ./influxdb/
Running command:
sudo rm -rf ./traefik/; mkdir ./traefik/
Running command:
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -subj “/C=NL/ST=./L=./O=BrewBlox/OU=./CN=.” -keyout traefik/brewblox.key -out traefik/brewblox.crt
Generating a RSA private key
…+++++
…+++++
writing new private key to ‘traefik/brewblox.key’ -----
Running command:
sudo chmod 644 traefik/brewblox.crt
Running command:
sudo chmod 600 traefik/brewblox.key
Running command:
docker-compose up -d --remove-orphans traefik influx history
Creating network “brewblox_default” with the default driver
Creating brewblox_influx_1 … done
Creating brewblox_traefik_1 … done
Creating brewblox_eventbus_1 … done
Creating brewblox_history_1 … done
Running command:
/usr/bin/python3 -m brewblox_ctl http wait https://localhost:443/history/_service/status
Connecting https://localhost:443/history/_service/status, attempt 1/60
Connecting https://localhost:443/history/_service/status, attempt 2/60
Success!
Running command:
/usr/bin/python3 -m brewblox_ctl http post https://localhost:443/history/query/configure
500: ClientConnectorError(Cannot connect to host influx:8086 ssl:None [Connect call failed (‘172.19.0.2’, 8086)])
Error: 500 Server Error: Internal Server Error for url: https://localhost:443/history/query/configure
Command ‘/usr/bin/python3 -m brewblox_ctl http post https://localhost:443/history/query/configure’ returned non-zero exit status 1.

when I check “https: // localhost: 443 / history / query / configure” it returns a 405

pi@brewblox:~/brewblox $ wget https://localhost:443/history/query/configure --no-check-certificate
–2019-11-24 02:46:56-- https://localhost/history/query/configure
Resolviendo localhost (localhost)… ::1, 127.0.0.1
Conectando con localhost (localhost)[::1]:443… conectado.
AVISO: El certificado de “localhost” no es confiable.
AVISO: The certificate of “localhost” doesn’t have a known issuer.
El propietario del certificado no se ajusta al nombre de equipo “localhost”
Petición HTTP enviada, esperando respuesta… 405 Method Not Allowed
2019-11-24 02:46:56 ERROR 405: Method Not Allowed.

This seems to be an upgrade from BrewPi to BrewBlox. Is that correct?

The 405 on your wget is due to wget sending a GET request to an endpoint that only supports POST.

EDIT: It looks like there was a bug on our end: it used the wrong endpoint to check if the history service is done starting up.

I released a small hotfix to address this.

To get the new version, and retry the setup, run the following commands in the brewblox directory:

rm -rf ./brewblox_ctl_lib
brewblox-ctl setup

Press Enter when prompted to download extensions.

Thanks for answering, I tried but the same thing happens.
I had the “Edge release 2019/10/17” version.

Log file: https://termbin.com/gj6c

Thanks,
Daniel.

pi@brewblox:~/brewblox $ rm -rf ./brewblox_ctl_lib
pi@brewblox:~/brewblox $ brewblox-ctl setup
brewblox-ctl requires extensions that match your BrewBlox release. Do you want to download them now? [Press ENTER for default value ‘Yes’]
Running command:
docker rm ctl-lib 2> /dev/null || true
Running command:
docker pull brewblox/brewblox-ctl-lib:rpi-edge || true
rpi-edge: Pulling from brewblox/brewblox-ctl-lib
Digest: sha256:c1151ae243ef849157e41327cba4b327a04c1fb9ee73a65bd56f3b4c64bed30e
Status: Image is up to date for brewblox/brewblox-ctl-lib:rpi-edge
docker.io/brewblox/brewblox-ctl-lib:rpi-edge
Running command:
docker create --name ctl-lib brewblox/brewblox-ctl-lib:rpi-edge
3cde20df689c96365f0f1dfa9442db3673f531c566096368c3c425687c8b9c8d
Running command:
rm -rf ./brewblox_ctl_lib 2> /dev/null || true
Running command:
docker cp ctl-lib:/brewblox_ctl_lib ./
Running command:
docker rm ctl-lib
ctl-lib
Do you want to check whether ports are already in use? [Press ENTER for default value ‘Yes’]
Running command:
docker-compose down --remove-orphans
Removing network brewblox_default
WARNING: Network brewblox_default not found.
The following shell commands will be used:
sudo netstat -tulpn | grep “:80[[:space:]]” || true
sudo netstat -tulpn | grep “:443[[:space:]]” || true
sudo netstat -tulpn | grep “:5000[[:space:]]” || true
Press ENTER to continue, Ctrl+C to cancel
Checking port 80…
Checking port 443…
Checking port 5000…
Done checking ports. If you want to change the ports used by BrewBlox, you can use “brewblox-ctl ports”
Do you want to update brewblox-ctl? [Press ENTER for default value ‘Yes’]
This directory already contains a docker-compose.yml file. Do you want to keep it? [Press ENTER for default value ‘Yes’]
n
This directory already contains datastore files. Do you want to keep them? [Press ENTER for default value ‘Yes’]
This directory already contains Traefik files. Do you want to keep them? [Press ENTER for default value ‘Yes’]
Running command:
cp -f ./brewblox_ctl_lib/config_files/docker-compose_armhf.yml ./docker-compose.yml
Running command:
docker-compose down --remove-orphans
Removing network brewblox_default
WARNING: Network brewblox_default not found.
Running command:
docker-compose pull
Pulling mdns … done
Pulling eventbus … done
Pulling influx … done
Pulling datastore … done
Pulling history … done
Pulling ui … done
Pulling traefik … done
Pulling spark-one … done
Running command:
sudo /usr/bin/python3 -m pip install -U brewblox-ctl
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: brewblox-ctl in /usr/local/lib/python3.7/dist-packages (0.14.1)
Requirement already satisfied, skipping upgrade: pyyaml in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (3.13)
Requirement already satisfied, skipping upgrade: pprint in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (0.1)
Requirement already satisfied, skipping upgrade: python-dotenv[cli] in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (0.10.3)
Requirement already satisfied, skipping upgrade: click in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (7.0)
Requirement already satisfied, skipping upgrade: requests in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (2.20.1)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (2018.8.24)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (3.0.4)
Requirement already satisfied, skipping upgrade: urllib3<1.25,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (1.24.1)
Requirement already satisfied, skipping upgrade: idna<2.8,>=2.5 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (2.6)
Running command:
sudo rm -rf ./influxdb/; mkdir ./influxdb/
Running command:
docker-compose up -d --remove-orphans traefik influx history
Creating network “brewblox_default” with the default driver
Creating brewblox_traefik_1 … done
Creating brewblox_influx_1 … done
Creating brewblox_eventbus_1 … done
Creating brewblox_history_1 … done
Running command:
/usr/bin/python3 -m brewblox_ctl http wait https://localhost:443/history/_service/status
Connecting https://localhost:443/history/_service/status, attempt 1/60
Connecting https://localhost:443/history/_service/status, attempt 2/60
Success!
Running command:
/usr/bin/python3 -m brewblox_ctl http post https://localhost:443/history/query/configure
500: ClientConnectorError(Cannot connect to host influx:8086 ssl:None [Connect call failed (‘172.19.0.3’, 8086)])
Error: 500 Server Error: Internal Server Error for url: https://localhost:443/history/query/configure
Command ‘/usr/bin/python3 -m brewblox_ctl http post https://localhost:443/history/query/configure’ returned non-zero exit status 1.

If you’re upgrading brewblox, you don’t need to run setup, you can use brewblox-ctl update.

Turns out I forgot to confirm the hotfix release. My apologies - if you run update now it should use the correct version.

Hi,

Sorry for delay. Still not working :upside_down_face:
I think it is best to reinstall, I do not mind losing the history.

pi@brewblox:~/brewblox $ brewblox-ctl update
Running command:
docker-compose down
Removing network brewblox_default
WARNING: Network brewblox_default not found.
Running command:
docker-compose pull
Pulling mdns … done
Pulling eventbus … done
Pulling influx … done
Pulling datastore … done
Pulling history … done
Pulling ui … done
Pulling traefik … done
Pulling spark-one … done
Running command:
sudo /usr/bin/python3 -m pip install -U brewblox-ctl
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already up-to-date: brewblox-ctl in /usr/local/lib/python3.7/dist-packages (0.14.1)
Requirement already satisfied, skipping upgrade: pyyaml in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (3.13)
Requirement already satisfied, skipping upgrade: pprint in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (0.1)
Requirement already satisfied, skipping upgrade: requests in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (2.20.1)
Requirement already satisfied, skipping upgrade: click in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (7.0)
Requirement already satisfied, skipping upgrade: python-dotenv[cli] in /usr/local/lib/python3.7/dist-packages (from brewblox-ctl) (0.10.3)
Requirement already satisfied, skipping upgrade: idna<2.8,>=2.5 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (2.6)
Requirement already satisfied, skipping upgrade: chardet<3.1.0,>=3.0.2 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (3.0.4)
Requirement already satisfied, skipping upgrade: urllib3<1.25,>=1.21.1 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (1.24.1)
Requirement already satisfied, skipping upgrade: certifi>=2017.4.17 in /usr/lib/python3/dist-packages (from requests->brewblox-ctl) (2018.8.24)
Running command:
docker rm ctl-lib 2> /dev/null || true
Running command:
docker pull brewblox/brewblox-ctl-lib:rpi-edge || true
rpi-edge: Pulling from brewblox/brewblox-ctl-lib
Digest: sha256:b375e0a00442b8d10ebbe1f2913d694a7716bf140b4823540a1a7cb5a25ca2d6
Status: Image is up to date for brewblox/brewblox-ctl-lib:rpi-edge
docker.io/brewblox/brewblox-ctl-lib:rpi-edge
Running command:
docker create --name ctl-lib brewblox/brewblox-ctl-lib:rpi-edge
6dd0b4c947e670d987408104c6d53a0bc44acee88aa0a03c7ffeccc9618997a6
Running command:
rm -rf ./brewblox_ctl_lib 2> /dev/null || true
Running command:
docker cp ctl-lib:/brewblox_ctl_lib ./
Running command:
docker rm ctl-lib
ctl-lib
Running command:
/usr/bin/python3 -m brewblox_ctl migrate
Do you want to prune unused docker images to free disk space? [Press ENTER for default value ‘Yes’]
Running command:
docker-compose down --remove-orphans
Removing network brewblox_default
WARNING: Network brewblox_default not found.
Running command:
docker-compose up -d
Creating network “brewblox_default” with the default driver
Creating brewblox_ui_1 … done
Creating brewblox_eventbus_1 … done
Creating brewblox_datastore_1 … done
Creating brewblox_mdns_1 … done
Creating brewblox_traefik_1 … done
Creating brewblox_influx_1 … done
Creating brewblox_spark-one_1 … done
Creating brewblox_history_1 … done
Running command:
/usr/bin/python3 -m brewblox_ctl http wait https://localhost:443/history/ping
Connecting https://localhost:443/history/ping, attempt 1/60
Connecting https://localhost:443/history/ping, attempt 2/60
Connecting https://localhost:443/history/ping, attempt 3/60
Connecting https://localhost:443/history/ping, attempt 4/60
Connecting https://localhost:443/history/ping, attempt 5/60
Connecting https://localhost:443/history/ping, attempt 6/60
Connecting https://localhost:443/history/ping, attempt 7/60
Connecting https://localhost:443/history/ping, attempt 8/60
Connecting https://localhost:443/history/ping, attempt 9/60
Connecting https://localhost:443/history/ping, attempt 10/60
Connecting https://localhost:443/history/ping, attempt 11/60
Connecting https://localhost:443/history/ping, attempt 12/60
Connecting https://localhost:443/history/ping, attempt 13/60
Connecting https://localhost:443/history/ping, attempt 14/60
Connecting https://localhost:443/history/ping, attempt 15/60
Connecting https://localhost:443/history/ping, attempt 16/60
Connecting https://localhost:443/history/ping, attempt 17/60
Connecting https://localhost:443/history/ping, attempt 18/60
Connecting https://localhost:443/history/ping, attempt 19/60
Connecting https://localhost:443/history/ping, attempt 20/60
Connecting https://localhost:443/history/ping, attempt 21/60
Connecting https://localhost:443/history/ping, attempt 22/60
Connecting https://localhost:443/history/ping, attempt 23/60
Connecting https://localhost:443/history/ping, attempt 24/60
Connecting https://localhost:443/history/ping, attempt 25/60
Connecting https://localhost:443/history/ping, attempt 26/60
Connecting https://localhost:443/history/ping, attempt 27/60
Connecting https://localhost:443/history/ping, attempt 28/60
Connecting https://localhost:443/history/ping, attempt 29/60
Connecting https://localhost:443/history/ping, attempt 30/60
Connecting https://localhost:443/history/ping, attempt 31/60
Connecting https://localhost:443/history/ping, attempt 32/60
Connecting https://localhost:443/history/ping, attempt 33/60
Connecting https://localhost:443/history/ping, attempt 34/60
Connecting https://localhost:443/history/ping, attempt 35/60
Connecting https://localhost:443/history/ping, attempt 36/60
Connecting https://localhost:443/history/ping, attempt 37/60
Connecting https://localhost:443/history/ping, attempt 38/60
Connecting https://localhost:443/history/ping, attempt 39/60
Connecting https://localhost:443/history/ping, attempt 40/60
Connecting https://localhost:443/history/ping, attempt 41/60
Connecting https://localhost:443/history/ping, attempt 42/60
Connecting https://localhost:443/history/ping, attempt 43/60
Connecting https://localhost:443/history/ping, attempt 44/60
Connecting https://localhost:443/history/ping, attempt 45/60
Connecting https://localhost:443/history/ping, attempt 46/60
Connecting https://localhost:443/history/ping, attempt 47/60
Connecting https://localhost:443/history/ping, attempt 48/60
Connecting https://localhost:443/history/ping, attempt 49/60
Connecting https://localhost:443/history/ping, attempt 50/60
Connecting https://localhost:443/history/ping, attempt 51/60
Connecting https://localhost:443/history/ping, attempt 52/60
Connecting https://localhost:443/history/ping, attempt 53/60
Connecting https://localhost:443/history/ping, attempt 54/60
Connecting https://localhost:443/history/ping, attempt 55/60
Connecting https://localhost:443/history/ping, attempt 56/60
Connecting https://localhost:443/history/ping, attempt 57/60
Connecting https://localhost:443/history/ping, attempt 58/60
Connecting https://localhost:443/history/ping, attempt 59/60
Connecting https://localhost:443/history/ping, attempt 60/60
Retry attempts exhausted
Command ‘/usr/bin/python3 -m brewblox_ctl http wait https://localhost:443/history/ping’ returned non-zero exit status 1.
Command ‘/usr/bin/python3 -m brewblox_ctl migrate’ returned non-zero exit status 1.

This does seem indicative of there being a problem with the InfluxDB database. It’s too early to tell whether that’s a bug, or some issue specific to your configuration or hardware.

If it’s no problem to lose your dashboards and history, you can indeed remove and reinstall:

(In your brewblox dir)

brewblox-ctl kill
cd ..
sudo rm -rf ./brewblox
brewblox-ctl install
cd brewblox
brewblox-ctl setup
brewblox-ctl up

If you’d rather, we could also try to find the problem with your database. This would preserve your configuration, but will require some back-and-forth messaging to find and fix the problem.

I’m upgrading to a glycol chiller :slight_smile:
I have to create a new configuration anyway.
Thank you for your help and tell you that I love brewblox and I think it has a great future.
If you need anything from me, I am at your disposal to help in any way I can.

Regards,
Andu

2 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.