projects
/
air-quality
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
0d538f6
)
support multiple devices
author
Dobrica Pavlinusic
<dpavlin@rot13.org>
Sun, 21 Feb 2021 09:37:01 +0000
(09:37 +0000)
committer
Dobrica Pavlinusic
<dpavlin@rot13.org>
Sun, 21 Feb 2021 09:37:01 +0000
(09:37 +0000)
iio2mqtt.pl
patch
|
blob
|
history
diff --git
a/iio2mqtt.pl
b/iio2mqtt.pl
index
1879ce1
..
e9ba122
100755
(executable)
--- a/
iio2mqtt.pl
+++ b/
iio2mqtt.pl
@@
-21,10
+21,17
@@
while(1) {
my $device;
my $name;
my $device;
my $name;
- my @influx;
+ my $influx = '';
+
foreach ( split(/\n/, $iio) ) {
if ( m/iio:device\d+:\s+(\S+)/ ) {
$device = $1;
foreach ( split(/\n/, $iio) ) {
if ( m/iio:device\d+:\s+(\S+)/ ) {
$device = $1;
+
+ if ( $influx =~ m/,$/ ) {
+ $influx =~ s/,$/ $t_influx\n/;
+ }
+ $influx .= "iio,dc=trnjanska,host=$hostname,device=$device ";
+
} elsif ( m/(\S+):\s+\(input\)/ ) {
$name = $1;
} elsif ( m/attr\s+0:\s+input\svalue: (\d+[\.\d]+)/ ) {
} elsif ( m/(\S+):\s+\(input\)/ ) {
$name = $1;
} elsif ( m/attr\s+0:\s+input\svalue: (\d+[\.\d]+)/ ) {
@@
-36,13
+43,15
@@
while(1) {
#print "$topic $val\n";
system "mosquitto_pub -h rpi2 -t $topic -m $val";
#print "$topic $val\n";
system "mosquitto_pub -h rpi2 -t $topic -m $val";
-
push @influx, "${device}_${name}=$val
";
+
$influx .= "$name=$val,
";
} else {
#warn "# $_\n";
}
}
} else {
#warn "# $_\n";
}
}
- my $influx = "iio,dc=trnjanska,host=$hostname " . join(",", @influx) . " $t_influx";
+
+ $influx =~ s/,$/ $t_influx/;
system "curl --silent -XPOST '$influx_url' --data-binary '$influx'";
system "curl --silent -XPOST '$influx_url' --data-binary '$influx'";
+ warn "$influx\n";
sleep Time::HiRes::time + 1 - $t;
}
sleep Time::HiRes::time + 1 - $t;
}