6f6911aaf48948bf049363a26bb2577f50e25ba9
[vaillant-thermostat] / parse.pl
1 #!/usr/bin/perl
2 use warnings;
3 use strict;
4
5 while(<>) {
6         chomp;
7         if ( m/^([0-9\.]+) .+aa fc 39 aa (.+)/ ) {
8                 #warn "# $1 $2\n";
9                 my @l = split(/\s/,$2);
10                 my @d = (
11                         $1,
12                         hex( $l[0] . $l[1] ),
13                         hex( $l[3] . $l[4] ),
14                         hex( $l[6] ),
15                         hex( $l[12] ),
16                         hex( $l[14] ) * 300,
17                         hex( $l[15] ) * 400,
18                         hex( $l[18] ),
19                 );
20                 print join(',', @d),$/;
21         } else {
22                 warn "# $_\n";
23         }
24 }