From ecb5ff80d7b394dab6a86af9945c84d7a04ccbf9 Mon Sep 17 00:00:00 2001 From: tpoitzsch <> Date: Tue, 2 Dec 2014 22:04:23 +0000 Subject: [PATCH] PROPLANTA: new attribute forecastDays git-svn-id: https://svn.fhem.de/fhem/trunk@7122 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/59_PROPLANTA.pm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/59_PROPLANTA.pm b/fhem/FHEM/59_PROPLANTA.pm index 5f4f2f359..4b7d4f287 100644 --- a/fhem/FHEM/59_PROPLANTA.pm +++ b/fhem/FHEM/59_PROPLANTA.pm @@ -367,7 +367,7 @@ sub PROPLANTA_Initialize($) $hash->{DefFn} = "PROPLANTA_Define"; $hash->{UndefFn} = "PROPLANTA_Undef"; $hash->{SetFn} = "PROPLANTA_Set"; - $hash->{AttrList} = "INTERVAL URL disable:0,1 " . $readingFnAttributes; + $hash->{AttrList} = "INTERVAL URL disable:0,1 forecastDays:4,7,11,14 " . $readingFnAttributes; } ################################### sub PROPLANTA_Define($$) @@ -522,6 +522,7 @@ sub PROPLANTA_Run($) return unless (defined($hash->{NAME})); my $readingStartTime = time(); + my $fcDays = AttrVal( $name, 'forecastDays', 14 ); my $attrURL = AttrVal( $name, 'URL', "" ); if ($attrURL eq "") { @@ -560,6 +561,7 @@ sub PROPLANTA_Run($) if @MyProplantaParser::texte == 0; foreach (@URL_days) { + last unless $_ < $fcDays; $response = PROPLANTA_HtmlAcquire($hash,$URL . $_); $MyProplantaParser::startDay = $_; if ($response !~ /^Error\|/) @@ -609,8 +611,15 @@ sub PROPLANTA_Done($) else { my $x = 0; + my $fcDays = AttrVal( $name, 'forecastDays', 14 ); while (my ($rName, $rValue) = each(%values) ) { + if ($fcDays < 14 && $rName =~ /^fc(\d+)_/) + { + my $rFcDay = $rName; + $rFcDay =~ s/^fc(\d+)_/$1/; + next unless $rFcDay < $fcDays; + } readingsBulkUpdate( $hash, $rName, $rValue ); PROPLANTA_Log $hash, 5, "reading:$rName value:$rValue"; } @@ -740,6 +749,10 @@ PROPLANTA_Html($) Attributes