99-my: Roll-Schlitz: nur nuch 6 sek. hoch; Ausssentemp. beruecksichtigen
This commit is contained in:
@@ -190,7 +190,7 @@ sub RollRunterSchlitz($;$) {
|
|||||||
|
|
||||||
Dbg("RollChg: $roll - runter schlitz($delay)\n");
|
Dbg("RollChg: $roll - runter schlitz($delay)\n");
|
||||||
myfhem("define r".$i." at +".$t." set ".$roll." closes");
|
myfhem("define r".$i." at +".$t." set ".$roll." closes");
|
||||||
myfhem("define ru".$i." at +".$t2." set ".$roll." up 7");
|
myfhem("define ru".$i." at +".$t2." set ".$roll." up 6");
|
||||||
}
|
}
|
||||||
|
|
||||||
sub RollHoch($;$) {
|
sub RollHoch($;$) {
|
||||||
@@ -236,6 +236,9 @@ sub IsLater($) {
|
|||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Nach dem Wechsel auf !sonne noch 2Std warten
|
||||||
sub IsWetterSonneWait($) {
|
sub IsWetterSonneWait($) {
|
||||||
my ($wett)=@_;
|
my ($wett)=@_;
|
||||||
|
|
||||||
@@ -283,12 +286,14 @@ sub RollCheck() {
|
|||||||
my $wett=ReadingsVal("wetter", "code", 99);
|
my $wett=ReadingsVal("wetter", "code", 99);
|
||||||
my $sr=Value("sonnenrichtung");
|
my $sr=Value("sonnenrichtung");
|
||||||
|
|
||||||
my $sonneblock=IsWetterSonneWait($wett);
|
# Nach wechsel von sonne auf !sonne blockert ?
|
||||||
|
my $sonneblock=IsWetterSonneWait($wett);
|
||||||
|
|
||||||
for $r ( @rolls ) {
|
for $r ( @rolls ) {
|
||||||
|
|
||||||
my $fen="Closed";
|
my $fen="Closed";
|
||||||
my $tempH=0;
|
my $tempH=0;
|
||||||
|
my $tempL=0;
|
||||||
my $sonne=0;
|
my $sonne=0;
|
||||||
my $skipRunter=0;
|
my $skipRunter=0;
|
||||||
my $skipHoch=0;
|
my $skipHoch=0;
|
||||||
@@ -297,9 +302,12 @@ sub RollCheck() {
|
|||||||
|
|
||||||
# Raum zu warm und aussentemp hoch ?
|
# Raum zu warm und aussentemp hoch ?
|
||||||
$temp=ReadingsVal($r->{temp},"measured-temp", 99);
|
$temp=ReadingsVal($r->{temp},"measured-temp", 99);
|
||||||
if($temp > $r->{tempS} && $tempOut > ($r->{tempS}-3)) {
|
if( ($temp>$r->{tempS} && $tempOut>($r->{tempS}-3)) || $temp>($r->{tempS}+2) ) {
|
||||||
$tempH=1;
|
$tempH=1;
|
||||||
}
|
}
|
||||||
|
if( $temp<$r->{tempS}-1 ) {
|
||||||
|
$tempL=1;
|
||||||
|
}
|
||||||
|
|
||||||
# Sonne scheint ins Fenster ?
|
# Sonne scheint ins Fenster ?
|
||||||
if($twil>=5 && $twil<7) { # nur, wenn der Sonnenstand ueber 'weather' liegt
|
if($twil>=5 && $twil<7) { # nur, wenn der Sonnenstand ueber 'weather' liegt
|
||||||
@@ -345,7 +353,7 @@ sub RollCheck() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($tag && !$sonne) {
|
if(($tag && !$sonne)||($tag && $tempL)) {
|
||||||
if($r->{state}!=STATE_HOCH) {
|
if($r->{state}!=STATE_HOCH) {
|
||||||
if(!$skipHoch) {
|
if(!$skipHoch) {
|
||||||
RollHoch($r->{roll}, $ndelay);
|
RollHoch($r->{roll}, $ndelay);
|
||||||
|
|||||||
Reference in New Issue
Block a user