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