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