From fb86c366ab0295f8d105c5240f750a608ebcf646 Mon Sep 17 00:00:00 2001
From: immiimmi <>
Date: Mon, 10 Mar 2014 20:33:50 +0000
Subject: [PATCH] THZ: bugfix in last10errors
git-svn-id: https://svn.fhem.de/fhem/trunk@5194 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
fhem/FHEM/00_THZ.pm | 49 +++++++++++++++++++++++----------------------
1 file changed, 25 insertions(+), 24 deletions(-)
diff --git a/fhem/FHEM/00_THZ.pm b/fhem/FHEM/00_THZ.pm
index fc2914cf3..edc6988d5 100644
--- a/fhem/FHEM/00_THZ.pm
+++ b/fhem/FHEM/00_THZ.pm
@@ -1,7 +1,7 @@
##############################################
# 00_THZ
# by immi 03/2014
-# v. 0.074
+# v. 0.075
# this code is based on the hard work of Robert; I just tried to port it
# http://robert.penz.name/heat-pump-lwz/
# http://heatpumpmonitor.penz.name/heatpumpmonitorwiki/
@@ -398,7 +398,11 @@ sub THZ_Initialize($)
$hash->{UndefFn} = "THZ_Undef";
$hash->{GetFn} = "THZ_Get";
$hash->{SetFn} = "THZ_Set";
- $hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 loglevel:0,1,2,3,4,5,6 interval_allFB:0,60,120,180,300,600,3600,7200,43200,86400 interval_history:0,3600,7200,28800,43200,86400";
+ $hash->{AttrList}= "do_not_notify:1,0 dummy:1,0 loglevel:0,1,2,3,4,5,6 "
+ ."interval_allFB:0,60,120,180,300,600,3600,7200,43200,86400 "
+ ."interval_history:0,3600,7200,28800,43200,86400 "
+ ."interval_last10errors:0,3600,7200,28800,43200,86400 "
+ . $readingFnAttributes;
}
@@ -993,28 +997,23 @@ sub THZ_Parse($) {
"booster_heating: " . hex(substr($message, 20,4)) ;
}
when ("D1") { #last10errors non testato e dte non convertita
- $message = "number_of_faults: " . hex(substr($message, 4,4)) . " " .
- "fault0CODE: " . hex(substr($message, 8,4)) . " " .
- "fault0TIME: " . hex(substr($message, 12,2)) . ":" . hex(substr($message, 14,2)) . " " .
- "fault0DATE: " . hex(substr($message, 16,4)) . " " .
- "fault1CODE: " . hex(substr($message, 20,4)) . " " .
- "fault1TIME: " . hex(substr($message, 24,2)) . ":" . hex(substr($message, 26,2)) . " " .
- "fault1DATE: " . hex(substr($message, 28,4)) . " " .
- "fault2CODE: " . hex(substr($message, 32,4)) . " " .
- "fault2TIME: " . hex(substr($message, 36,2)) . ":" . hex(substr($message, 38,2)) . " " .
- "fault2DATE: " . hex(substr($message, 40,4)) . " " .
- "fault3CODE: " . hex(substr($message, 44,4)) . " " .
- "fault3TIME: " . hex(substr($message, 48,2)) . ":" . hex(substr($message, 50,2)) . " " .
- "fault3DATE: " . hex(substr($message, 52,4)) . " " .
- "fault4CODE: " . hex(substr($message, 56,4)) . " " .
- "fault4TIME: " . hex(substr($message, 60,2)) . ":" . hex(substr($message, 62,2)) . " " .
- "fault4DATE: " . hex(substr($message, 64,4)) . " " .
- "fault5CODE: " . hex(substr($message, 68,4)) . " " .
- "fault5TIME: " . hex(substr($message, 72,2)) . ":" . hex(substr($message, 72,2)) . " " .
- "fault5DATE: " . hex(substr($message, 76,4)) . " " .
- "fault6CODE: " . hex(substr($message, 80,4)) . " " .
- "fault6TIME: " . hex(substr($message, 84,2)) . ":" . hex(substr($message, 86,2)) . " " .
- "fault6DATE: " . hex(substr($message, 88,4)) ;
+ $message = "number_of_faults: " . hex(substr($message, 4,2)) . " " .
+ #empty
+ "fault0CODE: " . hex(substr($message, 8,2)) . " " .
+ "fault0TIME: " . sprintf(join(':', split("\\.", hex(substr($message, 14,2) . substr($message, 12,2))/100))) . " " .
+ "fault0DATE: " . (hex(substr($message, 18,2) . substr($message, 16,2))/100) . " " .
+
+ "fault1CODE: " . hex(substr($message, 20,2)) . " " .
+ "fault1TIME: " . sprintf(join(':', split("\\.", hex(substr($message, 26,2) . substr($message, 24,2))/100))) . " " .
+ "fault1DATE: " . (hex(substr($message, 30,2) . substr($message, 28,2))/100) . " " .
+
+ "fault2CODE: " . hex(substr($message, 32,2)) . " " .
+ "fault2TIME: " . sprintf(join(':', split("\\.", hex(substr($message, 38,2) . substr($message, 36,2))/100))) . " " .
+ "fault2DATE: " . (hex(substr($message, 42,2) . substr($message, 40,2))/100) . " " .
+
+ "fault2CODE: " . hex(substr($message, 44,2)) . " " .
+ "fault2TIME: " . sprintf(join(':', split("\\.", hex(substr($message, 50,2) . substr($message, 48,2))/100))) . " " .
+ "fault2DATE: " . (hex(substr($message, 54,2) . substr($message, 52,2))/100) ;
}
}
return (undef, $message);
@@ -1190,6 +1189,7 @@ sub THZ_Undef($$) {
define Mythz THZ /dev/ttyUSB0@115200
attr Mythz interval_allFB 300 # internal polling interval 5min
attr Mythz interval_history 28800 # internal polling interval 8h
+ attr Mythz interval_last10errors 86400 # internal polling interval 24h
define FileLog_Mythz FileLog ./log/Mythz-%Y.log Mythz
@@ -1247,6 +1247,7 @@ sub THZ_Undef($$) {
define Mythz THZ /dev/ttyUSB0@115200
attr Mythz interval_allFB 300 # Internes Polling Intervall 5min
attr Mythz interval_history 28800 # Internes Polling Intervall 8h
+ attr Mythz interval_last10errors 86400 # Internes Polling Intervall 24h
define FileLog_Mythz FileLog ./log/Mythz-%Y.log Mythz