From: Dobrica Pavlinusic Date: Sun, 12 Mar 2017 10:33:46 +0000 (+0100) Subject: Merge branch 'master' of mjesec.ffzg.hr:/git/vaillant-thermostat X-Git-Url: http://git.rot13.org/?p=vaillant-thermostat;a=commitdiff_plain;h=e49e2a6d2d52684e6e42dea66e0d3bd3015703ca Merge branch 'master' of mjesec.ffzg.hr:/git/vaillant-thermostat Conflicts: parse.pl --- e49e2a6d2d52684e6e42dea66e0d3bd3015703ca diff --cc parse.pl index 6b9b81a,593f1ab..9c6e5bf --- a/parse.pl +++ b/parse.pl @@@ -2,24 -2,37 +2,38 @@@ use warnings; use strict; + my $curl; + my $influx = $ENV{INFLUX}; # || 'http://127.0.0.1:8086/write?db=boiler'; + + my $temp = ''; + while(<>) { chomp; - if ( m/^([0-9\.]+) .+aa fc 39 aa (.+) \|\s+(\d+\.\d+)/ ) { + if ( s/\s+\|\s+(\d+\.\d\d).+$// ) { + $temp = $1; + } + #$temp = ( $temp - 20 ) * 500 + 500; + if ( m/^([0-9\.]+) .+aa fc 39 aa (.+)/ ) { + my $t = $1; #warn "# $1 $2\n"; - my $temp = $3; - my @l = split(/\s/,$2); + my @l = split(/\s+/,$2); my @d = ( - $1, + $t, hex( $l[0] . $l[1] ), hex( $l[3] . $l[4] ), hex( $l[6] ), hex( $l[12] ), - hex( $l[14] ) * 300, - hex( $l[15] ) * 400, + hex( $l[14] ), # * 300, + hex( $l[15] ), # * 400, hex( $l[18] ), + $temp ); - print join(',', @d),$/; + if ( $influx ) { + open($curl, '|-', qq( tee /dev/shm/parse.curl | curl -XPOST $influx --data-binary \@- )) unless $curl; + print $curl "thermostat ",join(',', map { chr( ord('a') + $_ ) . '=' . $d[$_] . 'i' } 1 .. $#d ), ($temp ? ",temp=$temp" : ""), " ", int($t * 1_000_000_000), "\n"; + } else { + print join(',', @d,$temp),$/; + } } else { warn "# $_\n"; }