limit to just my boiler model
[vrDialog] / db3-dump.pl
index 8d8003d..953645c 100755 (executable)
@@ -18,17 +18,23 @@ sub lookup {
        $sth->execute;
 
        while( my $row = $sth->fetchrow_arrayref ) {
-               $data->{ $row->[0] } = $row->[1];
+               my @r = @$row;
+               my $id = shift @r;
+               $data->{ $row->[0] } = $#$row == 1 ? $row->[1] : join('', @r);
        }
 
        return $data;
 }
 
-my $text = lookup( qq{
+my $names = lookup( qq{
 select Id, texteEN from "SymbolNames"
 });
 
-#warn "# text = ",dump( $text );
+#warn "# names = ",dump( $names );
+
+my $hints = lookup( qq{
+select Id, texteEN from "SymbolHints"
+});
 
 my $types = lookup( qq{
 select TypeId, TypeName from "DataTyps"
@@ -38,16 +44,30 @@ my $units = lookup( qq{
 select Id, TexteEN from "UnitNames"
 });
 
+my $diags = lookup( qq{
+select Id,x0136,x0142,x0144,x0147,x0151,x0152,x0153,x0158,x0160,x0161 from "DiagnoseDaten"
+where x0147 = 1
+});
+#warn "# diags = ",dump($diags);
+
 my $sth = $dbh->prepare( qq{
 select * from "ComuInfos"
 order by adresse
 });
+
 $sth->execute;
 
 while( my $row = $sth->fetchrow_hashref ) {
-       printf "%02x %-27s %-15s %s\n",
+       my $hint = $hints->{ $row->{texteid} };
+       $hint =~ s/[\r\n]+/ | /gs;
+       printf "%-3d %02x %-27s %-15s |%s| %s %s [ %s ]\n",
+               $row->{adresse},
                $row->{adresse},
                $types->{ $row->{typid} },
                $units->{ $row->{id} },
-               $text->{ $row->{id} } || $row->{symbolname};
+               $diags->{ $row->{id} } || '          ',
+               $row->{symbolname},
+               $names->{ $row->{texteid} } || $row->{symbolname},
+               $hint,
+       ;
 }