mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 13:26:02 +00:00
26_KM273.pm:2016-05-31 V0009 KM273_ReadElementList if expected readCounter isn't reached on second read, and read data has identical length, try to analyse
git-svn-id: https://svn.fhem.de/fhem/trunk@12035 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
6ccb1d750b
commit
ccebe3afa2
@ -67,7 +67,8 @@
|
|||||||
# 0005 23.01.2016 mike3436 KM273_Set,KM273_Get implement t15 timeformat to get/set PUMP_DHW_PROGRAM's START and STOP TIME
|
# 0005 23.01.2016 mike3436 KM273_Set,KM273_Get implement t15 timeformat to get/set PUMP_DHW_PROGRAM's START and STOP TIME
|
||||||
# 0006 24.01.2016 mike3436 KM273_gets,KM273_elements change weekdays _FRI -> _5FRI to correct the sort order
|
# 0006 24.01.2016 mike3436 KM273_gets,KM273_elements change weekdays _FRI -> _5FRI to correct the sort order
|
||||||
# 0007 01.02.2016 mike3436 KM273_Get,KM273_GetNextValue KM273_Get corrected, KM273_GetNextValue do nothing if attr doNotPoll=1
|
# 0007 01.02.2016 mike3436 KM273_Get,KM273_GetNextValue KM273_Get corrected, KM273_GetNextValue do nothing if attr doNotPoll=1
|
||||||
# 0008 01.02.2016 mike3436 KM273_ReadElementList complete element list is read from heatpump, default list is only used for deliver the 'read' flag
|
# 0008 30.05.2016 mike3436 KM273_ReadElementList complete element list is read from heatpump, default list is only used for deliver the 'read' flag
|
||||||
|
# 0009 31.05.2016 mike3436 KM273_ReadElementList if expected readCounter isn't reached on second read, and read data has identical length, try to analyse
|
||||||
|
|
||||||
package main;
|
package main;
|
||||||
use strict;
|
use strict;
|
||||||
@ -1998,7 +1999,7 @@ my @KM273_readingsRTR = ();
|
|||||||
my %KM273_writingsTXD = ();
|
my %KM273_writingsTXD = ();
|
||||||
my %KM273_elements = ();
|
my %KM273_elements = ();
|
||||||
|
|
||||||
my %KM273_ReadElementListStatus = ( done => 0, wait => 0, readCounter => 0, readIndex => 0, writeIndex => 0, KM200active => 0, KM200wait => 0, readData => "");
|
my %KM273_ReadElementListStatus = ( done => 0, wait => 0, readCounter => 0, readIndex => 0, readIndexLast => 0, writeIndex => 0, KM200active => 0, KM200wait => 0, readData => "");
|
||||||
my %KM273_ReadElementListElements = ();
|
my %KM273_ReadElementListElements = ();
|
||||||
sub KM273_ReadElementList($)
|
sub KM273_ReadElementList($)
|
||||||
{
|
{
|
||||||
@ -2036,9 +2037,18 @@ sub KM273_ReadElementList($)
|
|||||||
}
|
}
|
||||||
elsif (--$KM273_ReadElementListStatus{wait} <= 0)
|
elsif (--$KM273_ReadElementListStatus{wait} <= 0)
|
||||||
{
|
{
|
||||||
$KM273_ReadElementListStatus{readIndex} = 0;
|
if (($KM273_ReadElementListStatus{readIndexLast} > 0) && ($KM273_ReadElementListStatus{readIndexLast} == $KM273_ReadElementListStatus{readIndex}))
|
||||||
$KM273_ReadElementListStatus{writeIndex} = 0;
|
{
|
||||||
$KM273_ReadElementListStatus{readData} = "";
|
#wenn readCounter auch beim 2. Lesen nicht erreicht wird, und gelesene Datenmenge gleich ist, dann readCounter = readIndex
|
||||||
|
$KM273_ReadElementListStatus{readCounter} = $KM273_ReadElementListStatus{readIndex};
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$KM273_ReadElementListStatus{readIndexLast} = $KM273_ReadElementListStatus{readIndex};
|
||||||
|
$KM273_ReadElementListStatus{readIndex} = 0;
|
||||||
|
$KM273_ReadElementListStatus{writeIndex} = 0;
|
||||||
|
$KM273_ReadElementListStatus{readData} = "";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
my $count = 1;
|
my $count = 1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user