Hallo
	
		
Ja das geht, habe es eben probiert.
Gruß NetFritz
					
			
			
				@MicHau
Du kannst beliebig viele Adressen eintragen
	Du kannst beliebig viele Adressen eintragen
Gruß NetFritz
      <group>
        <gauge type="Radial" titleString="Temperatur" unitString="°C" minValue="20" maxValue="35" size="200" lcdVisible="true" format="%.1f C" threshold="30">
          <layout colspan="2" rowspan="4"/>
          <address transform="DPT:9.001" mode="read">5/2/13</address>
          <address transform="DPT:9.001" mode="read" variant="average">5/2/10</address>
        </gauge>
      </group>

# Trend (Tendenz) und Average für Gauge
# by NetFritz 02/2014
$plugin_info{$plugname.'_cycle'} = 0;
my $ga_in;
# die folgenden Arrays muessen zusammenpassen
# also "temp" mit "0/2/1" und "9/2/11"
my @rrds = ("temp","feuchte","baro","windst");     # rrd die ausgelesen werden
my @ga_ins = ("0/2/1","0/2/2","0/2/3","0/2/6");    # ueberwachte GAs
my @ga_out= ("0/2/11","0/2/12","0/2/13","0/2/16"); # GAs fuer Trend
my $ga_in_avg = "0/2/5";  # Ga in Windrichtung
my $ga_out_avg = "0/2/7"; # Ga out Windrichtung Average
$plugin_subscribe{$ga_in_avg}{$plugname} = 1;
foreach $ga_in(@ga_ins)
{
$plugin_subscribe{$ga_in}{$plugname} = 1;        # GAs registrieren
}
my $i = 0;
if ($msg{'apci'} eq "A_GroupValue_Write") {      # A_GroupValue_Write Telegramm eingetroffen
   foreach $ga_in(@ga_ins){                      # Ueberwachte GAs durchlaufen
      if ($msg{'dst'} eq $ga_in){                # GAs vergleichen
          my $gen1 = 'rrdtool graph /dev/null --start -3600 --end now DEF:var1=/var/www/rrd/'.$rrds[$i].'.rrd:value:AVERAGE PRINT:var1:AVERAGE:"%3.4lf"' ;
          my $gen2 = 'rrdtool graph /dev/null --start -300 --end now DEF:var1=/var/www/rrd/'.$rrds[$i].'.rrd:value:AVERAGE PRINT:var1:AVERAGE:"%3.4lf"' ;         
          my @out1 = `$gen1`;
          my @out2 = `$gen2`;
          my $out11 =  sprintf ("%.1f",$out1[1]);
          my $out21 =  sprintf ("%.1f",$out2[1]);
          my $trend = $out21-$out11;
          knx_write($ga_out[$i],$trend,"9");
          plugin_log($plugname ,$ga_out[$i]." out=".$out11. " tr=".$trend);
      }
      if ($msg{'dst'} eq $ga_in_avg){   
        # den Std AVG fuer Windrichtung aus rrd holen
        my @output = `rrdtool graph /dev/null --start -3600 --end now DEF:var1=/var/www/rrd/windrich.rrd:value:AVERAGE PRINT:var1:AVERAGE:"%3.4lf"` ;
        my $output1 =  sprintf ("%.1f",$output[1]);
        knx_write("0/2/7",$output1,"9");
      }
      $i++;
    }  
}    
return();

       <gauge type="WindDirection" titleString="Wind" size="200" format="%.1f">
        <layout colspan="1.71"/>
        <address transform="DPT:9.001" mode="read" variant="">0/2/5</address>
        <address transform="DPT:9.001" mode="read" variant="average">0/2/7</address>
        </gauge>
        <gauge type="Radial" titleString="Windstaerke" unitString="km/h" minValue="0" maxValue="100" size="200" lcdVisible="true" trendVisible="true" format="%.1f">
          <layout colspan="1.71"/>
          <address transform="DPT:9.001" mode="read" variant="">0/2/6</address>
          <address transform="DPT:9.001" mode="read" variant="trend">0/2/16</address>
        </gauge>
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.


Kommentar