Iâm using ruuviberry image â2018_05_minimalâ, where I have updated Grafana from 5.0.4 to 5.4.3 and InfluxDB from 1.5.2 to 1.7.4 manually.
How can I show in Grafana pressure difference between two different tags?
Iâm using ruuviberry image â2018_05_minimalâ, where I have updated Grafana from 5.0.4 to 5.4.3 and InfluxDB from 1.5.2 to 1.7.4 manually.
How can I show in Grafana pressure difference between two different tags?
As far as I know Grafana / InfluxDB does not support this in an easy manner, youâd probably need some kind of continuous query which creates difference data . @Scrin would you happen to know an elegant way to do this?
As far as I know you are correct, InfluxDB does not support on-the-fly calculation between separate measurements (pressure values from two different measurements in this case), and as far as I know, the InfluxDB builtin Continuous Queries are restricted by this same limitation. The method recommended by InfluxData is to use Kapacitor, which is their data processing engine, to perform this kind of calculations.
I used to have Kapacitor tickscripts created for calculating some of the âextra valuesâ (such as dew point and absolute humidity), but I have since implemented them straight into the collector itself because Kapacitor tickscripts are rather clumsy to work with compared to doing the same with Java straight in RuuviCollector.
Hi,
so, adding âtemperatureâ in âfield(value)â didnât work.
We showed the project to our teacher and his opinion was that somehow the RuuviCollector isnât sending data. Now we are trying to build the ruuvicollector again, but now the building is giving errors/failures.
We then tried modifying the values inside ruuvicollector properties file, and with modifying âinfluxBatchMaxSize=2000â to 1234 and âlimitingStrategy.defaultWithMotionSensitivity.threshold=0.05â to 0.06. This got rid of two âfailuresâ. The building worked without properties file, but that didnât give any data last time so thatâs why we are trying to get this to work with the properties file.Also, continuity to my last problem, hcitool. We noticed/remembered that line "sudo setcap âcap_net_raw,cap_net_admin+eipâ which hcidump
gave an usage error for setcap.
PasiK
hcidump |head -30
systemctl status ruuvicollector # NB may show last failure even if ruuvicollector is running OK
systemctl status influxdb
ps -el |grep hci # find all things bluetooth
ps -el |grep Ruuvi
ls -ltra /var/log | tail # show last several most recently updated logs
and copy / paste results here ( Not screen print which omits information)
for i in 240 220 200 180 160 140 120 100 80 60 40 20
do
logger " ++ RuuviCollector sleeping $i more seconds to give influx a start."
sleep 20
done
RestartSec=600
The following script displays any ruuvi tags with hex values
(There is an occasionally incorrectly formated fmt05 movement & seq# )
hcidump -t --raw | #include time stamps
grep --line-buffered --invert-match '\-\-' |
sed --unbuffered "N ;s/\n//; s/ / /" |
grep --line-buffered '99 04' |
sed --unbuffered "s/04 3E .. 02 01 .. 01 \(..\) \(..\) \(..\) \(..\) \(..\) \(..\)/ \6:\5:\4:\3:\2:\1 /"| # pkt:Meta Event/" |
sed --unbuffered "s/1. 02 01 0. 1. FF 99 04//"|
sed --unbuffered "s/10 \(..\) 03 72 75 75 2E 76 69 2F 23 42/TX:\1 https:\/\/ruuvi\/#B/"|
sed --unbuffered "s/10 \(..\) 03 72 75 75 2E 76 69 2F 23 41/TX:\1 https:\/\/ruuvi\/#A/"|
sed --unbuffered "s/52 75 75 76 69 42 6F 6F 74/RuuviBoot\//"|
sed --unbuffered "s/ 03 \(..\) /fmt03: \1% /" |
sed --unbuffered "s/fmt03: \(...\) \(..\) \(..\) \(..\) \(..\) \(..\) \(..\) \(..\) \(..\)/fmt03:\1 \2.\3C \4\5kpa \6\7x \8\9y03/" |
sed --unbuffered "s/y03 \(..\) \(..\) \(..\) \(..\) 00 00 00 00 ../y \1\2z \3\4v /" |
sed --unbuffered "s/ 05 \(..\) \(..\) /fmt05: \1\2C /" |
sed --unbuffered "s/fmt05: \(....C\) \(..\) \(..\) \(..\) \(..\) \(..\) \(..\) \(..\) \(..\)/fmt05:\1 \2\3% \4\5kpa \6\7x \8\9y05/" |
sed --unbuffered "s/y05 \(..\) \(..\) \(..\) \(..\)/y \1\2z \3\4vTX /" |
sed --unbuffered "s/vTX \(..\) \(..\) \(..\) \(..\)/vTX MV:\1 #\2\3 \4/"
so for the first one (I wasnât sure how much you wanted from it so I copied everything):
pi@raspberrypi:~ $ hcidump |head -30
bash: hcidump: komentoa ei löydy
pi@raspberrypi:~ $ systemctl status ruuvicollector
Unit ruuvicollector.service could not be found.
pi@raspberrypi:~ $ systemctl status influxdb
â influxdb.service - InfluxDB is an open-source, distributed, time series databa
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset:
Active: active (running) since Sat 2019-03-23 14:39:11 EET; 3 days ago
Docs: InfluxDB OSS v2 Documentation
Main PID: 465 (influxd)
CGroup: /system.slice/influxdb.service
ââ465 /usr/bin/influxd -config /etc/influxdb/influxdb.confmaalis 27 10:39:39 raspberrypi influxd[465]: ts=2019-03-27T08:39:39.195924Z lvl=
maalis 27 10:39:39 raspberrypi influxd[465]: ts=2019-03-27T08:39:39.196382Z lvl=
maalis 27 11:09:39 raspberrypi influxd[465]: ts=2019-03-27T09:09:39.195830Z lvl=
maalis 27 11:09:39 raspberrypi influxd[465]: ts=2019-03-27T09:09:39.196198Z lvl=
maalis 27 11:39:39 raspberrypi influxd[465]: ts=2019-03-27T09:39:39.195891Z lvl=
maalis 27 11:39:39 raspberrypi influxd[465]: ts=2019-03-27T09:39:39.196299Z lvl=
maalis 27 12:09:39 raspberrypi influxd[465]: ts=2019-03-27T10:09:39.195862Z lvl=
maalis 27 12:09:39 raspberrypi influxd[465]: ts=2019-03-27T10:09:39.198984Z lvl=
maalis 27 12:39:39 raspberrypi influxd[465]: ts=2019-03-27T10:39:39.195894Z lvl=
maalis 27 12:39:39 raspberrypi influxd[465]: ts=2019-03-27T10:39:39.196274Z lvl=[1]+ PysÀytetty systemctl status influxdb
pi@raspberrypi:~ $ ps -el |grep hci
1 S 0 584 1 0 80 0 - 521 - ? 00:00:00 hciattach
pi@raspberrypi:~ $ ps -el |grep Ruuvi
pi@raspberrypi:~ $ ls -ltra /var/log | tail
drwxr-xr-x 7 root root 4096 maali 27 06:25 .
-rw-r----- 1 root adm 32477 maali 27 06:25 syslog.1
-rw-r----- 1 root adm 20865 maali 27 12:49 user.log
-rw-r----- 1 root adm 357508 maali 27 12:49 messages
-rw-r----- 1 root adm 357322 maali 27 12:49 kern.log
-rw-râr-- 1 root root 47259 maali 27 12:49 Xorg.0.log
-rw-r----- 1 root adm 106570 maali 27 12:55 debug
-rw-r----- 1 root adm 48961 maali 27 13:07 auth.log
-rw-r----- 1 root adm 16622 maali 27 13:07 syslog
-rw-r----- 1 root adm 560495 maali 27 13:07 daemon.log
pi@raspberrypi:~ $ ^C
pi@raspberrypi:~ $
I canât get status for ruuvicollector as it cannot be compiled with the errors Iâm having, so itâs not running. If I recall correctly it compiles without the properties file, but I want to have it with the properties file. The errors should be in my previous command. I still have them if you would prefer them in text. For the first command
hcidump |head -30
I have the bluez installed, but I donât know why it doesnât work, though in the end it gave me
pi@raspberrypi:~/Documents/bluez-5.50 $ systemctl status bluetooth
â bluetooth.service - Bluetooth service
Loaded: loaded (/lib/systemd/system/bluetooth.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2019-03-27 13:07:27 EET; 8s ago
Docs: man:bluetoothd(8)
Main PID: 3473 (bluetoothd)
Status: âRunningâ
CGroup: /system.slice/bluetooth.service
ââ3473 /usr/local/libexec/bluetooth/bluetoothd --experimentalmaalis 27 13:07:26 raspberrypi systemd[1]: Starting Bluetooth serviceâŠ
maalis 27 13:07:27 raspberrypi bluetoothd[3473]: Bluetooth daemon 5.50
maalis 27 13:07:27 raspberrypi systemd[1]: Started Bluetooth service.
maalis 27 13:07:27 raspberrypi bluetoothd[3473]: Starting SDP server
maalis 27 13:07:27 raspberrypi bluetoothd[3473]: Bluetooth management interface 1.14 initialized
maalis 27 13:07:27 raspberrypi bluetoothd[3473]: Failed to set privacy: Rejected (0x0b)
maalis 27 13:07:27 raspberrypi bluetoothd[3473]: Endpoint registered: sender=:1.39 path=/A2DP/SBC/Source/1
This is actually a bug in the tests, for now you can workaround this issue by compiling the package without running the tests with the -DskipTests
flag, for example mvn package -DskipTests
edit: this bug has been fixed now
It looks like you have bluez
installed but not bluez-hcidump
. You need both (as mentioned in the requirements), the latter one provides hcidump
.
It looks like you have a standard raspbian, in which case you should be able to install it with:
sudo apt install bluez-hcidump
After that:
sudo setcap 'cap_net_raw,cap_net_admin+eip' `which hcidump`
should work without any âusage errorsâ. After these RuuviCollector should be able to get the data.
If not, you can try troubleshooting it by first stopping ruuvicollector and then running:
hcitool lescan --duplicates --passive
in one terminal window, it should print some lines as it receives various BLE data. While that is running in one terminal window, run this in another:
hcidump --raw
this should print out all the raw data thatâs received (as long as hcitool is running in another window!). If you encounter any erros with these, you could try googling for help. Once those works, then RuuviCollector should work too, as RuuviCollector runs those two commands internally.
Hey, thanks. I must have missed that bluez-hcidump installation. Iâll be installing that asap. Thanks
Pasik: Why are you trying to revise RuuviCollector before you have the version Scrin made working?
Iâm trying to figure out why Iâm not getting any data to grafana. I figured I could try with the properties file if there is something that could help me
What databases, measurements and series do you have?
pi@localhost:~ $ influx
Connected to http://localhost:8086 version 1.7.4
InfluxDB shell version: 1.7.4
Enter an InfluxQL query
> show databases
name: databases
name
----
_internal
ruuvi
> use ruuvi
Using database ruuvi
> show measurements
name: measurements
name
----
ruuvi_measurements
> show series
key
---
ruuvi_measurements,dataFormat=3,mac=xxxxxxxxxxxx
ruuvi_measurements,dataFormat=3,mac=yyyyyyyyyyyy
> quit
pi@localhost:~ $
And you have setup a data source in Grafana which uses the same Influx database as the RuuvoCollector uses?
Pasik: See my post post #211 Mar 24, 12:14 PM
hcidump -t --raw | #include time stamps
grep --line-buffered --invert-match â--â |
sed --unbuffered âN ;s/\n//; s/ / /â |
grep --line-buffered â99 04â |
sed âŠ
If you are not getting anything from â99 04â manufacture ID packets from hcidump, RuuviCollector will not see anything!
Also if RuuviCollector is running and has forked
hcitool lescan
Another attempt to run hcitool lescan will fail with
Set scan parameters failed: Input/output error
influx -database ruuvi -precision rfc3339
select mac, last(temperature) from ruuvi_measurements group by mac
results should be similar to:
name: ruuvi_measurements
tags: mac=C7103C6824C2
time mac last
---- --- ----
2019-03-04T03:55:22.83Z C7103C6824C2 26.01
name: ruuvi_measurements
tags: mac=D3517872EC0F
time mac last
---- --- ----
2019-03-29T16:02:32.745Z D3517872EC0F 11.65
Hi, so this is whatâs happening:
I tried the first thing you had in this message, did I do it right? I just wrote the whole thing as you put it but it didnât give anything. The âsedâ gives an error that the first character is an unknown command. I didnât understand that message you are referencing to, care to open it a little for me? I probably need to use it but I donât know what to do with it.
I used your influxdb command and it gave me https://i.imgur.com/esEZThJ.png I donât understand how it doesnât have any data from my ruuvitag(Just gives some random default data.) I have the mac address everywhere I could think of, for example in the ruuviCollector properties file under whitelist. The ruuvitag is using RAW mode, as I suppose it should be.
Any thoughts are appreciated, thanks.
pi@raspberrypi:~ $ influx
Connected to http://localhost:8086 version 1.5.2
InfluxDB shell version: 1.5.2
use ruuvi
Using database ruuvi
show measurements
name: measurements
nameruuvi_measurements
show series
keyruuvi_measurements,dataFormat=3,mac=AABBCCDDEEFF
ruuvi_measurements,dataFormat=3,mac=BBBBCCDDEEFF
I donât know why my macs are abcâs.
Yeah the grafana has the same details as ruuvicollector
So the hcitool works before running the ruuvicollector, like here https://i.imgur.com/pKF3dUJ.png But after running it, hcitool lescan gives an input/output error. For that I found another ruuviforum post and there someone suggested going to bluetoothctl console and powering on power, agent and scan, and reboot the machine after that. After doing all that,
hcitool lescan --duplicate --passive
works, but
hcidump --raw
stayed blank, before starting RuuviCollector.
After starting ruuvicollector, the âhcitool lescanâ doesnât work, but âhcidump --rawâ gives the same blank window as before starting RuuviCollector. Am I missing something?
dgerman) meant that run the command in his post which is number 211 in this thread. Here is link to the post: -> Collecting RuuviTag measurements and displaying them with Grafana
Pasik:
hcitool dev
if there are no devices shown, you donât have a bluetooth device!
You should see something like
Devices:
hci0 B8:27:EB:E3:A4:6C
Add these 5 lines to /home/pi/RuuviCollector/RuuviCollector/.sh BEFORE the java statement
for i in 240 220 200 180 160 140 120 100 80 60 40 20
do
logger -p user.notice " ++ RuuviCollector sleeping $i more seconds to give InfluxDB a start."
sleep 20
done
Then
sudo shutdown --reboot now " add delay to Ruuvi collector"
`
4) When the system come back up:
hcitool lescan & hcidump -t --raw # this starts an asynchronous lecscan and hcidump
You should see something like:
[1] 812
LE Scan âŠ
HCI sniffer - Bluetooth packet analyzer ver 5.43
device: hci0 snap_len: 1500 filter: 0xffffffff
9C:9C:1D:0E:58:EB (unknown)
2019-04-04 10:51:51.507148 > 04 3E 0F 02 01 00 00 EB 58 0E 1D 9C 9C 03 02 01 06 A8
2019-04-04 10:51:51.508775 > 04 3E 24 02 01 04 00 EB 58 0E 1D 9C 9C 18 02 0A 00 14 09 44
65 6E 6E 69 73 20 48 65 61 72 69 6E 67 20 41 69 64 73 A8
59:B0:BE:CC:D6:9B (unknown)
2019-04-04 10:51:51.509917 > 04 3E 23 02 01 00 01 9B D6 CC BE B0 59 17 02 01 06 13 FF 4C
00 0C 0E 08 54 4D 28 78 89 DF 8F 09 AA 19 32 78 4D B4
2019-04-04 10:51:51.510526 > 04 3E 0C 02 01 04 01 9B D6 CC BE B0 59 00 B4
63:11:1F:F4:18:FD (unknown)
2019-04-04 10:51:51.542180 > 04 3E 1A 02 01 00 01 FD 18 F4 1F 11 63 0E 02 01 1A 0A FF 4C
00 10 05 13 1C C7 20 41 AE
4C:32:75:97:3B:AE (unknown)
+++
Note: once a process issues hcitool lescan subsequent attempts will file with the error. A shutdown may be needed to clear this issue.
Set scan parameters failed: Input/output error
++++
Please do not post screen shots, rather copy/paste the text from your system and post that.
Hi!
Iâve been trying to find solutions for reducing the influxdb size. If thereâs already a solution then can you please point me to it
My issue is that Iâve been running raspberrypi with ruuvicollector, influxdb and grafana for ~10 months now. Just this morning my grafana interface stopped working and I noticed that raspberry has totally run out of space.
Is there something I can do to downsample the data? Iâve installed a virtual machine with ubuntu and tried messing up with a copy of the database but so far havenât got any resultsâŠ
For future samples, you can easily discard some measurements already in the collector by adjusting the measurementUpdateLimit
configuration property in ruuvi-collector.properties.
Custom retention policies and continuous queries for downsampling the data is another more advanced approach which lets you âgraduallyâ downsample data over time as it gets older.
For downsampling the existing data, you need to run an âINTO queryâ as mentioned in this post (obviously do this before setting the retention policies to drop the oldest âfull accuracyâ data if you donât want to lose historic data. Though as always, remember to take backups before experimenting)