Thanks for letting us know. We use distutils in our code, so we’ll take a look at what’s going on, and what we need to do to be compatible.
I think this a new feature, but it looks like the graph legend is showing the current values of each metric. Cool. I’m using the Tilt Service plugin, and SG doesn’t have enough sig figs. Is there a way to customize this so it has 3 decimal places?
Not right now. It was a bit of a quick-fix experiment.
The experiment does seem to be a success, so we’ll either add some customization, or set the default to 3 decimals.
next question: how do I launch the automation sandbox? Can’t seem to find the answer anywhere.
Add a new action or condition, and pick the “Scripted Action” / “Scripted Condition” type.
I figured that would be an easy question for you to answer. Thanks Bob!
You can’t please them all, haha… I would strongly prefer to avoid setting the default to 3 decimal points (as I don’t think our temperature probes are precise enough for the thousandths place to be meaningful).
There’s indeed no point displaying temp sensor values with more than 2 decimals.
SG requires 3 or 4, and PID/PWM output requires 1.
We had this exact discussion internally before release. Conclusions were to ship with 2 decimals (temp values being the most common), think about customization after initial feedback, and keep it simple.
It’s meant as a convenience in graphs, not a full replacement for the Metrics widget.
I’ll make an issue to go for customization, if 3 decimals in temp are considered too noisy/annoying.
The whole thing amusingly boils down to whether we’d add round(value)
, or round(value, 3)
here.
I’m not particularly familiar with javascript, but is it possible to have the objects the numbers are contained in also contain a parameter identifying what type of metric they represent? If so, you could then have different default values associated with different types of common metrics.
The data itself is stored in Influx as numeric values. We can’t include much metadata there. History is intentionally a very permissive API: publish key/values where the value is a number, and it’ll be tracked.
Rounding values at publishtime also won’t accomplish much. Data is downsampled in Influx. We’d need access to the round-this-number-to-x-decimals
property while calculatin the (averaged) downsampled value.
Other rendering metadata is already stored in graph config. This includes label, Y-axis, and line color.
Custom precision in label would be implemented as an additional config setting there.
The above warning can be fixed by running
python3 -m pip install --upgrade pip
Could you please run brewblox-ctl log
?
It is not unheard of for the bootloader / firmware to have trouble flashing, but “no handshake received” also can occur if multiple services are talking to the same Spark.
(I’ll make a note to update the hint in troubleshooter).
this is what it did:
pi@Brewpi:~/brewblox $ python3 -m pip install --upgrade pip
Cache entry deserialization failed, entry ignored
Cache entry deserialization failed, entry ignored
Collecting pip
Cache entry deserialization failed, entry ignored
Downloading https://files.pythonhosted.org/packages/5a/4a/39400ff9b36e719bdf8f31c99fe1fa7842a42fa77432e584f707a5080063/pip-20.2.2-py2.py3-none-any.whl (1.5MB)
100% |████████████████████████████████| 1.5MB 37kB/s
Installing collected packages: pip
Found existing installation: pip 9.0.1
Uninstalling pip-9.0.1:
Exception:
Traceback (most recent call last):
File “/usr/local/lib/python3.6/shutil.py”, line 538, in move
os.rename(src, real_dst)
PermissionError: [Errno 13] Permission denied: ‘/usr/local/bin/pip’ -> ‘/tmp/pip-brypkc01-uninstall/usr/local/bin/pip’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/local/lib/python3.6/site-packages/pip/basecommand.py”, line 215, in main
status = self.run(options, args)
File “/usr/local/lib/python3.6/site-packages/pip/commands/install.py”, line 342, in run
prefix=options.prefix_path,
File “/usr/local/lib/python3.6/site-packages/pip/req/req_set.py”, line 778, in install
requirement.uninstall(auto_confirm=True)
File “/usr/local/lib/python3.6/site-packages/pip/req/req_install.py”, line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File “/usr/local/lib/python3.6/site-packages/pip/req/req_uninstall.py”, line 115, in remove
renames(path, new_path)
File “/usr/local/lib/python3.6/site-packages/pip/utils/init.py”, line 267, in renames
shutil.move(old, new)
File “/usr/local/lib/python3.6/shutil.py”, line 553, in move
os.unlink(src)
PermissionError: [Errno 13] Permission denied: ‘/usr/local/bin/pip’
You are using pip version 9.0.1, however version 20.2.2 is available.
You should consider upgrading via the ‘pip install --upgrade pip’ command.
pi@Brewpi:~/brewblox $
and here is the log:
pi@Brewpi:~/brewblox $ brewblox-ctl log
INFO Log file: /home/pi/brewblox/brewblox.log
INFO Writing Brewblox .env values…
INFO Writing active containers…
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
INFO Writing service logs…
INFO Writing docker-compose configuration…
cat: docker-compose.yml: No such file or directory
docker-compose.yml not found
cat: docker-compose.shared.yml: No such file or directory
docker-compose.shared.yml not found
INFO Writing Spark blocks…
[Errno 2] No such file or directory: ‘docker-compose.yml’
pi@Brewpi:~/brewblox $
You may want to try
python3 -m pip install --upgrade --user pip
Pip package management can be somewhat gnarly at times.
Log is complaining about missing files.
Could you please run
ls ~/brewblox
Edit: if you put triple backtics (```) before and after output, it’s rendered as a code block.
ok here is this:
https://termbin.com/zm5y2
&
pi@Brewpi : ~ $ python3 -m pip install --upgrade --user pip
Collecting pip
Installing collected packages: pip
Successfully installed pip-20.2.2
pi@Brewpi : ~ $
Looks like it can see the Spark, but it indeed does not respond.
Does the Spark show 6 blocks on its LCD screen?
Things to try
- Power cycle the Spark by unplugging / replugging.
- Run
brewblox-ctl flash
. - Put the Spark in safe mode, and then retry the bootloader.
there used to be the blue 6 blocks but then I was doing the upgrade process now its just blank and a. flashing green light.
running the flash stuff now:
pi@Brewpi : ~/brewblox/brewblox $ brewblox-ctl flash
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 network brewblox_default
WARNING: Network brewblox_default not found.
INFO Flashing Spark…
Triggering dfu on port /dev/serial/by-id/usb-Particle_P1_3f0026000851353532343835-if00
Flashing P1…
Flashing System 1 file…
Flash success!
Flashing System 2 file…
Flash success!
Flashing Firmware file…
Flash success!
pi@Brewpi : ~/brewblox/brewblox $
Firmware seems fine now.
And the safe mode + bootloader? You could also use the Particle app to reconnect your Spark to Wifi. It will then automatically update.
ok Bob im not dumb but I seriously don’t know what to do with the spark with the fast flashing green - I don’t see any buttons or anything to “reset” it. sorry for being confused.