mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-08 07:24:21 +00:00
76_SolarForecast: contrib 0.82.0
git-svn-id: https://svn.fhem.de/fhem/trunk@27922 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2fcc46f101
commit
b4687e5377
@ -1251,8 +1251,8 @@ sub Set {
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$setlist .= "aiAddInstance:noArg ".
|
$setlist .= #"aiAddInstance:noArg ".
|
||||||
"aiTrain:noArg ".
|
#"aiTrain:noArg ".
|
||||||
"moduleDirection ".
|
"moduleDirection ".
|
||||||
"moduleTiltAngle "
|
"moduleTiltAngle "
|
||||||
;
|
;
|
||||||
@ -2069,11 +2069,12 @@ sub _setreset { ## no critic "not used"
|
|||||||
}
|
}
|
||||||
|
|
||||||
if($prop eq 'aiData') {
|
if($prop eq 'aiData') {
|
||||||
|
my $err;
|
||||||
my $dtree = AiDetreeVal ($hash, undef);
|
my $dtree = AiDetreeVal ($hash, undef);
|
||||||
|
|
||||||
if ($dtree) {
|
if ($dtree) {
|
||||||
delete $data{$type}{$name}{aidectree};
|
delete $data{$type}{$name}{aidectree};
|
||||||
my $err = aiInit ($paref);
|
($err, $dtree) = aiInit ($paref);
|
||||||
return $err if($err);
|
return $err if($err);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10473,13 +10474,12 @@ sub aiAddInstance { ## no critic "not used"
|
|||||||
|
|
||||||
return if(!isDWDUsed ($hash));
|
return if(!isDWDUsed ($hash));
|
||||||
|
|
||||||
|
my $err;
|
||||||
my $dtree = AiDetreeVal ($hash, undef);
|
my $dtree = AiDetreeVal ($hash, undef);
|
||||||
|
|
||||||
if (!$dtree) {
|
if (!$dtree) {
|
||||||
my $err = aiInit ($paref);
|
($err, $dtree) = aiInit ($paref);
|
||||||
return if($err);
|
return if($err);
|
||||||
|
|
||||||
$dtree = AiDetreeVal ($hash, undef);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
my ($pvrl, $temp, $wcc, $wrp, $rad1h);
|
my ($pvrl, $temp, $wcc, $wrp, $rad1h);
|
||||||
@ -10544,10 +10544,8 @@ sub aiTrain { ## no critic "not used"
|
|||||||
my $dtree = AiDetreeVal ($hash, undef);
|
my $dtree = AiDetreeVal ($hash, undef);
|
||||||
|
|
||||||
if (!$dtree) {
|
if (!$dtree) {
|
||||||
$err = aiInit ($paref);
|
($err, $dtree) = aiInit ($paref);
|
||||||
return if($err);
|
return if($err);
|
||||||
|
|
||||||
$dtree = AiDetreeVal ($hash, undef);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
eval { $dtree->train
|
eval { $dtree->train
|
||||||
@ -10581,13 +10579,12 @@ sub aiGetResult { ## no critic "not used"
|
|||||||
|
|
||||||
return if(!isDWDUsed ($hash));
|
return if(!isDWDUsed ($hash));
|
||||||
|
|
||||||
|
my $err;
|
||||||
my $dtree = AiDetreeVal ($hash, undef);
|
my $dtree = AiDetreeVal ($hash, undef);
|
||||||
|
|
||||||
if (!$dtree) {
|
if (!$dtree) {
|
||||||
my $err = aiInit ($paref);
|
($err, $dtree) = aiInit ($paref);
|
||||||
return if($err);
|
return if($err);
|
||||||
|
|
||||||
$dtree = AiDetreeVal ($hash, undef);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for my $idx (sort keys %{$data{$type}{$name}{nexthours}}) {
|
for my $idx (sort keys %{$data{$type}{$name}{nexthours}}) {
|
||||||
@ -10634,19 +10631,23 @@ sub aiInit { ## no critic "not used"
|
|||||||
my $name = $paref->{name};
|
my $name = $paref->{name};
|
||||||
my $type = $paref->{type};
|
my $type = $paref->{type};
|
||||||
|
|
||||||
|
my $err;
|
||||||
|
|
||||||
if ($aidtabs) {
|
if ($aidtabs) {
|
||||||
my $msg = qq(The Perl module AI::DecisionTree is missing. Please install it with e.g. "sudo apt-get install libai-decisiontree-perl" for AI support);
|
my $err = qq(The Perl module AI::DecisionTree is missing. Please install it with e.g. "sudo apt-get install libai-decisiontree-perl" for AI support);
|
||||||
debugLog ($paref, 'aiProcess', $msg);
|
debugLog ($paref, 'aiProcess', $err);
|
||||||
$data{$type}{$name}{current}{aiinitstate} = $msg;
|
$data{$type}{$name}{current}{aiinitstate} = $err;
|
||||||
return $msg;
|
return $err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
my $dtree = new AI::DecisionTree ( verbose => 0, noise_mode => 'pick_best' );
|
||||||
|
|
||||||
$data{$type}{$name}{aidectree} = new AI::DecisionTree ( verbose => 0, noise_mode => 'pick_best' );
|
$data{$type}{$name}{aidectree} = $dtree;
|
||||||
$data{$type}{$name}{current}{aiinitstate} = 'ok';
|
$data{$type}{$name}{current}{aiinitstate} = 'ok';
|
||||||
|
|
||||||
Log3 ($name, 3, "$name - AI::DecisionTree new initialized");
|
Log3 ($name, 3, "$name - AI::DecisionTree new initialized");
|
||||||
|
|
||||||
return;
|
return ($err, $dtree);
|
||||||
}
|
}
|
||||||
|
|
||||||
################################################################
|
################################################################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user