mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
bugfixing of 59_HCS.pm
git-svn-id: https://svn.fhem.de/fhem/trunk@2094 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
9afd02ba1f
commit
fee2357cdf
@ -284,7 +284,7 @@ HCS_setState($$) {
|
|||||||
my $eventOnUpdate = AttrVal($name,"event-on-update-reading","");
|
my $eventOnUpdate = AttrVal($name,"event-on-update-reading","");
|
||||||
if(!$eventOnChange ||
|
if(!$eventOnChange ||
|
||||||
($eventOnUpdate && $eventOnUpdate =~ m/device/) ||
|
($eventOnUpdate && $eventOnUpdate =~ m/device/) ||
|
||||||
($eventOnChange && ($eventOnChange =~ m/device/ || $eventOnChange == 1) && $cmd ne $stateDevice)) {
|
($eventOnChange && $eventOnChange =~ m/device/ && $cmd ne $stateDevice)) {
|
||||||
if(!$idlePeriod || ($idlePeriod && $diffPeriodTime >= $idlePeriod)) {
|
if(!$idlePeriod || ($idlePeriod && $diffPeriodTime >= $idlePeriod)) {
|
||||||
my $cmdret = CommandSet(undef,"$device $cmd");
|
my $cmdret = CommandSet(undef,"$device $cmd");
|
||||||
$hash->{helper}{lastSend} = $newPeriodTime;
|
$hash->{helper}{lastSend} = $newPeriodTime;
|
||||||
@ -338,74 +338,76 @@ HCS_getValves($$) {
|
|||||||
|
|
||||||
# get current actuator state from each device
|
# get current actuator state from each device
|
||||||
$valveState = $defs{$d}{READINGS}{"actuator"}{VAL};
|
$valveState = $defs{$d}{READINGS}{"actuator"}{VAL};
|
||||||
$valveState =~ s/[\s%]//g;
|
if($valveState) {
|
||||||
|
$valveState =~ s/[\s%]//g;
|
||||||
|
|
||||||
if($attr{$d}{ignore}) {
|
if($attr{$d}{ignore}) {
|
||||||
$value = "$valveState% (ignored)";
|
$value = "$valveState% (ignored)";
|
||||||
|
$valves{$defs{$d}{NAME}}{state} = $value;
|
||||||
|
$valves{$defs{$d}{NAME}}{demand} = 0;
|
||||||
|
$ret .= "$defs{$d}{NAME}: $value\n" if($list);
|
||||||
|
Log $ll+1, "$type $name $defs{$d}{NAME}: $value";
|
||||||
|
$sumIgnored++;
|
||||||
|
$sumValves++;
|
||||||
|
$sumFHT++ if($defs{$d}{TYPE} eq "FHT");
|
||||||
|
$sumHMCCTC++ if(defined($attr{$d}{model}) && $attr{$d}{model} eq "HM-CC-TC");
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($excluded =~ m/$d/) {
|
||||||
|
$value = "$valveState% (excluded)";
|
||||||
|
$valves{$defs{$d}{NAME}}{state} = $value;
|
||||||
|
$valves{$defs{$d}{NAME}}{demand} = 0;
|
||||||
|
$ret .= "$defs{$d}{NAME}: $value\n" if($list);
|
||||||
|
Log $ll+1, "$type $name $defs{$d}{NAME}: $value";
|
||||||
|
$sumExcluded++;
|
||||||
|
$sumValves++;
|
||||||
|
$sumFHT++ if($defs{$d}{TYPE} eq "FHT");
|
||||||
|
$sumHMCCTC++ if(defined($attr{$d}{model}) && $attr{$d}{model} eq "HM-CC-TC");
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
$value = "$valveState%";
|
||||||
$valves{$defs{$d}{NAME}}{state} = $value;
|
$valves{$defs{$d}{NAME}}{state} = $value;
|
||||||
$valves{$defs{$d}{NAME}}{demand} = 0;
|
$ret .= "$defs{$d}{NAME}: $value" if($list);
|
||||||
$ret .= "$defs{$d}{NAME}: $value\n" if($list);
|
|
||||||
Log $ll+1, "$type $name $defs{$d}{NAME}: $value";
|
Log $ll+1, "$type $name $defs{$d}{NAME}: $value";
|
||||||
$sumIgnored++;
|
|
||||||
$sumValves++;
|
|
||||||
$sumFHT++ if($defs{$d}{TYPE} eq "FHT");
|
|
||||||
$sumHMCCTC++ if(defined($attr{$d}{model}) && $attr{$d}{model} eq "HM-CC-TC");
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($excluded =~ m/$d/) {
|
# get last readings
|
||||||
$value = "$valveState% (excluded)";
|
$valveLastDemand = ReadingsVal($name,$d."_demand",0);
|
||||||
$valves{$defs{$d}{NAME}}{state} = $value;
|
|
||||||
$valves{$defs{$d}{NAME}}{demand} = 0;
|
|
||||||
$ret .= "$defs{$d}{NAME}: $value\n" if($list);
|
|
||||||
Log $ll+1, "$type $name $defs{$d}{NAME}: $value";
|
|
||||||
$sumExcluded++;
|
|
||||||
$sumValves++;
|
|
||||||
$sumFHT++ if($defs{$d}{TYPE} eq "FHT");
|
|
||||||
$sumHMCCTC++ if(defined($attr{$d}{model}) && $attr{$d}{model} eq "HM-CC-TC");
|
|
||||||
next;
|
|
||||||
}
|
|
||||||
|
|
||||||
$value = "$valveState%";
|
# check heat demand from each valve
|
||||||
$valves{$defs{$d}{NAME}}{state} = $value;
|
if($valveState >= $valveThresholdOn) {
|
||||||
$ret .= "$defs{$d}{NAME}: $value" if($list);
|
$heatDemand = 1;
|
||||||
Log $ll+1, "$type $name $defs{$d}{NAME}: $value";
|
$valveNewDemand = $heatDemand;
|
||||||
|
$ret .= " (demand)\n" if($list);
|
||||||
|
$sumDemand++;
|
||||||
|
} else {
|
||||||
|
|
||||||
# get last readings
|
if($valveLastDemand == 1) {
|
||||||
$valveLastDemand = ReadingsVal($name,$d."_demand",0);
|
if($valveState > $valveThresholdOff) {
|
||||||
|
$heatDemand = 1;
|
||||||
# check heat demand from each valve
|
$valveNewDemand = $heatDemand;
|
||||||
if($valveState >= $valveThresholdOn) {
|
$ret .= " (demand)\n" if($list);
|
||||||
$heatDemand = 1;
|
$sumDemand++;
|
||||||
$valveNewDemand = $heatDemand;
|
} else {
|
||||||
$ret .= " (demand)\n" if($list);
|
$valveNewDemand = 0;
|
||||||
$sumDemand++;
|
$ret .= " (idle)\n" if($list);
|
||||||
} else {
|
$valvesIdle++;
|
||||||
|
}
|
||||||
if($valveLastDemand == 1) {
|
|
||||||
if($valveState > $valveThresholdOff) {
|
|
||||||
$heatDemand = 1;
|
|
||||||
$valveNewDemand = $heatDemand;
|
|
||||||
$ret .= " (demand)\n" if($list);
|
|
||||||
$sumDemand++;
|
|
||||||
} else {
|
} else {
|
||||||
$valveNewDemand = 0;
|
$valveNewDemand = 0;
|
||||||
$ret .= " (idle)\n" if($list);
|
$ret .= " (idle)\n" if($list);
|
||||||
$valvesIdle++;
|
$valvesIdle++;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
$valveNewDemand = 0;
|
|
||||||
$ret .= " (idle)\n" if($list);
|
|
||||||
$valvesIdle++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$valves{$defs{$d}{NAME}}{demand} = $valveNewDemand;
|
||||||
|
|
||||||
|
# count devices
|
||||||
|
$sumFHT++ if($defs{$d}{TYPE} eq "FHT");
|
||||||
|
$sumHMCCTC++ if(defined($attr{$d}{model}) && $attr{$d}{model} eq "HM-CC-TC");
|
||||||
|
$sumValves++;
|
||||||
}
|
}
|
||||||
|
|
||||||
$valves{$defs{$d}{NAME}}{demand} = $valveNewDemand;
|
|
||||||
|
|
||||||
# count devices
|
|
||||||
$sumFHT++ if($defs{$d}{TYPE} eq "FHT");
|
|
||||||
$sumHMCCTC++ if($attr{$d}{model} eq "HM-CC-TC");
|
|
||||||
$sumValves++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# overdrive mode
|
# overdrive mode
|
||||||
@ -591,6 +593,7 @@ HCS_getValves($$) {
|
|||||||
</li><br>
|
</li><br>
|
||||||
<li>valvesExcluded<br>
|
<li>valvesExcluded<br>
|
||||||
space separated list of devices (FHT or HM-CC-TC) for excluding
|
space separated list of devices (FHT or HM-CC-TC) for excluding
|
||||||
|
</li><br>
|
||||||
<li>valveThresholdOn<br>
|
<li>valveThresholdOn<br>
|
||||||
see Set
|
see Set
|
||||||
</li><br>
|
</li><br>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user