2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-25 15:59:21 +00:00

WMBUS: yet another bugfix for hour in timestamp

git-svn-id: https://svn.fhem.de/fhem/trunk@6434 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
kaihs 2014-08-20 18:55:04 +00:00
parent 5a71826a07
commit e183a5902c

View File

@ -103,7 +103,7 @@ sub valueCalcDate($$) {
if ($day > 31 || $month > 12 || $year > 2099) {
return "invalid";
} else {
return $year . "-" . $month . "-" . $day;
return sprintf("%04d-%02d-%02d", $year, $month, $day);
}
}
@ -135,9 +135,13 @@ sub valueCalcDateTime($$) {
my $dateTime = valueCalcDate($datePart, $dataBlock);
if ($timeInvalid == 0) {
my $min = ($value & 0b111111);
my $hour = ($value >> 6) & 0b11111;
my $su = ($value & 0b10000000000000000);
$dateTime .= sprintf(' %02d:%02d %s', $hour, $min, $su ? 'DST' : '');
my $hour = ($value >> 8) & 0b11111;
my $su = ($value & 0b1000000000000000);
if ($min > 59 || $hour > 23) {
$dateTime = 'invalid';
} else {
$dateTime .= sprintf(' %02d:%02d %s', $hour, $min, $su ? 'DST' : '');
}
}
return $dateTime;
@ -848,7 +852,7 @@ sub decodePayload($$) {
$dataBlock->{value} = $dataBlock->{calcFunc}->($value, $dataBlock);
#print "Value raw " . $value . " value calc " . $dataBlock->{value} ."\n";
} else {
$dataBlock->{value} = "";
$dataBlock->{value} = $value;
}
push @dataBlocks, $dataBlock;