...99
This commit is contained in:
@@ -16,7 +16,6 @@ use constant {
|
||||
STATE_SCHLITZ => 3,
|
||||
};
|
||||
|
||||
|
||||
my @rolls = (
|
||||
{ roll => "wohn.rollTerrR", dir=>"W", typ=>"n", temp=>"tempWohn", tempS=>21, win=>"wohn.fenTerr", state=>STATE_IDLE, },
|
||||
{ roll => "wohn.rollTerrL", dir=>"W", typ=>"n", temp=>"tempWohn", tempS=>21, win=>"", state=>STATE_IDLE, },
|
||||
@@ -31,13 +30,7 @@ my @rolls = (
|
||||
{ roll => "schlaf.rollStr", dir=>"O", typ=>"s", temp=>"tempSchlaf", tempS=>18, win=>"wohn.fenTerr", state=>STATE_IDLE, },
|
||||
);
|
||||
|
||||
#my %rollStates = (
|
||||
# lastWeatherCode => 0,
|
||||
# lastWaetherCodeTime => 0,
|
||||
# timerNum => 0,
|
||||
# );
|
||||
|
||||
|
||||
# in dieser Reihenfolge fahren
|
||||
my @rollHoch = (
|
||||
"bad.roll",
|
||||
"arb.rollWeg",
|
||||
@@ -50,7 +43,6 @@ my @rollHoch = (
|
||||
"wohn.rollTerrR"
|
||||
);
|
||||
|
||||
|
||||
my @rollRunter = (
|
||||
"wohn.rollTerrR",
|
||||
"wohn.rollTerrL",
|
||||
@@ -65,6 +57,7 @@ my @rollRunter = (
|
||||
"schlaf.rollStr"
|
||||
);
|
||||
|
||||
# Bei Weckzeit auf Schlitz
|
||||
my @rollWeck = (
|
||||
"schlaf.rollWeg",
|
||||
"schlaf.rollStr"
|
||||
@@ -84,15 +77,21 @@ my @rollArb = (
|
||||
"arb.rollWeg",
|
||||
);
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
my $tc=0;
|
||||
my @blocktime=localtime;
|
||||
my $blocktimerRunning=0;
|
||||
|
||||
sub myfhem($) {
|
||||
#------------------------------------------
|
||||
|
||||
sub myfhemcmd($) {
|
||||
#Log 1, "@_";
|
||||
fhem("@_");
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollCheckSkip($$)
|
||||
{
|
||||
my($cmd, $roll) = @_;
|
||||
@@ -107,14 +106,18 @@ sub RollCheckSkip($$)
|
||||
return $skip
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollCmd($$$)
|
||||
{
|
||||
my ($cmd, $roll, $delay) = @_;
|
||||
if(RollCheckSkip($cmd, $roll)==0) {
|
||||
myfhem ("define r".int(rand(10000))." at +".$delay." set ".$roll." ".$cmd);
|
||||
myfhemcmd ("define r".int(rand(10000))." at +".$delay." set ".$roll." ".$cmd);
|
||||
}
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollGroup(\@$$)
|
||||
{
|
||||
my ($rolls, $cmd, $delay) = @_;
|
||||
@@ -141,21 +144,22 @@ sub RollGroup(\@$$)
|
||||
}
|
||||
}
|
||||
if($skip==0) {
|
||||
myfhem ("define r".$i." at +".$t." set ".$r." ".$cmd);
|
||||
myfhemcmd ("define r".$i." at +".$t." set ".$r." ".$cmd);
|
||||
}
|
||||
$i=$i+1;
|
||||
}
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollTest() {
|
||||
&RollGroup(\@rollTest, "closes", 1);
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollAll($$) {
|
||||
# Log 1, "################";
|
||||
my ($cmd, $delay) = @_;
|
||||
# Log 1, "c:$cmd d:$delay";
|
||||
# &RollGroup(\@rollAlle, $cmd, $delay);
|
||||
if($cmd eq "closes") {
|
||||
&RollGroup(\@rollRunter, $cmd,$delay);
|
||||
}
|
||||
@@ -164,20 +168,23 @@ sub RollAll($$) {
|
||||
}
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollWeck($) {
|
||||
my ($delay) = @_;
|
||||
&RollGroup(\@rollWeck, "up 5", $delay);
|
||||
myfhem("define weckwachat at +03:00:00 set wach 1");
|
||||
myfhemcmd ("define weckwachat at +03:00:00 set wach 1");
|
||||
# myfhem("set wach 1");
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub Dbg($) {
|
||||
Log 1,$_[0];
|
||||
Log3 "Roll", 1, $_[0];
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollRunterSchlitz($;$) {
|
||||
my ($roll, $delay) = @_;
|
||||
$delay ||= 0;
|
||||
@@ -189,10 +196,12 @@ sub RollRunterSchlitz($;$) {
|
||||
my $i=$tc++;
|
||||
|
||||
Dbg("RollChg: $roll - runter schlitz($delay)\n");
|
||||
myfhem("define r".$i." at +".$t." set ".$roll." closes");
|
||||
myfhem("define ru".$i." at +".$t2." set ".$roll." up 6");
|
||||
myfhemcmd("define r".$i." at +".$t." set ".$roll." closes");
|
||||
myfhemcmd("define ru".$i." at +".$t2." set ".$roll." up 6");
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollHoch($;$) {
|
||||
my ($roll, $delay) = @_;
|
||||
$delay ||= 0;
|
||||
@@ -202,9 +211,11 @@ sub RollHoch($;$) {
|
||||
my $i=$tc++;
|
||||
|
||||
Dbg("RollChg: $roll - hoch($delay)\n");
|
||||
myfhem("define r".$i." at +".$t." set ".$roll." opens");
|
||||
myfhemcmd("define r".$i." at +".$t." set ".$roll." opens");
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollRunter($;$) {
|
||||
my ($roll, $delay) = @_;
|
||||
$delay ||= 0;
|
||||
@@ -214,9 +225,11 @@ sub RollRunter($;$) {
|
||||
my $i=$tc++;
|
||||
|
||||
Dbg("RollChg: $roll - runter($delay)\n");
|
||||
myfhem("define r".$i." at +".$t." set ".$roll." closes");
|
||||
myfhemcmd("define r".$i." at +".$t." set ".$roll." closes");
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub IsSunny($) {
|
||||
my ($wett)=@_;
|
||||
if($wett==30 || $wett==31 || $wett==32 || $wett==33 || $wett==34 || $wett==35 || $wett==36) { # sonnig, heiter, heiss
|
||||
@@ -225,6 +238,8 @@ sub IsSunny($) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub IsLater($) {
|
||||
my($t)=@_;
|
||||
#Dbg("Islater:$t");
|
||||
@@ -236,7 +251,7 @@ sub IsLater($) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
# Nach dem Wechsel auf !sonne noch 2Std warten
|
||||
sub IsWetterSonneWait($) {
|
||||
@@ -268,6 +283,8 @@ sub IsWetterSonneWait($) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub RollCheck() {
|
||||
#Dbg("RollCheck\n");
|
||||
my $temp=20;
|
||||
@@ -384,6 +401,7 @@ sub RollCheck() {
|
||||
} # for
|
||||
}
|
||||
|
||||
#------------------------------------------
|
||||
|
||||
sub Untoggle($) {
|
||||
my ($obj) = @_;
|
||||
|
||||
Reference in New Issue
Block a user