From: Dobrica Pavlinusic Date: Sun, 21 Feb 2021 09:27:28 +0000 (+0100) Subject: send all readings as single line to influx X-Git-Url: http://git.rot13.org/?p=air-quality;a=commitdiff_plain;h=0d538f686d23b6779e07a4efa9e0faebc636c5ed;hp=3891fbda4dc76328c3c53d890609cb1b31070359 send all readings as single line to influx --- diff --git a/iio2mqtt.pl b/iio2mqtt.pl index 4081540..1879ce1 100755 --- a/iio2mqtt.pl +++ b/iio2mqtt.pl @@ -21,6 +21,7 @@ while(1) { my $device; my $name; + my @influx; foreach ( split(/\n/, $iio) ) { if ( m/iio:device\d+:\s+(\S+)/ ) { $device = $1; @@ -35,12 +36,13 @@ while(1) { #print "$topic $val\n"; system "mosquitto_pub -h rpi2 -t $topic -m $val"; - my $influx = "iio,dc=trnjanska,host=$hostname,device=$device $name=$val $t_influx"; - system "curl --silent -XPOST '$influx_url' --data-binary '$influx'"; + push @influx, "${device}_${name}=$val"; } else { #warn "# $_\n"; } } + my $influx = "iio,dc=trnjanska,host=$hostname " . join(",", @influx) . " $t_influx"; + system "curl --silent -XPOST '$influx_url' --data-binary '$influx'"; sleep Time::HiRes::time + 1 - $t; }