Als Auflösung für mein hier: https://knx-user-forum.de/wiregate/2...schrieben.html angesprochenen Versuch den Solarlog 500PM+ auszulesen ein kleines Quick and dirty Plugin:
Ausführungsdauer ca 2,9sek. Kann ich die Verbessern? Der Solarlog reagiert eigentlich recht zügig.
Bei Gelegenheit werde ich das in ein "vernünftiges" Plugin verwandeln und ins svn stellen.
Gruß
Code:
$plugin_info{$plugname.'_cycle'} = 120;
my $WR1; my $WR2;
my $aktuelle_leistung = `curl 192.168.178.xxx/min_cur.js | grep Pac | sed -e "s/var Pac=//g"`;
my $wr1_summe_ga = '14/1/2'; #kwh
my $wr2_summe_ga = '14/1/3'; #kwh
my $wr_gesamt_summe_ga = '14/1/4'; #kwh
my $ertrag_tag_ga ='14/1/1';
my $month_summary_ga = '14/1/5';
my $month_ertrag_ga = '14/1/6';
my $year_summary_ga = '14/1/7';
my $year_ertrag_ga = '14/1/8';
my $verguetung = "0.195";
my $ertrag_tag;
my $date;
my $wr1;
my $wr2;
my $sum1;
my $sum2;
my $sum;
my $max1;
my $max2;
my $max;
my $month1;
my $month2;
my $month_all;
my $year1;
my $year2;
my $year_all;
system ( 'curl 192.168.178.xx/days.js > /tmp/days.js' );
system ( 'curl 192.168.178.xx/months.js > /tmp/months.js' );
system ( 'curl 192.168.178.xx/years.js > /tmp/years.js' );
open(DAT,'</tmp/days.js') or die "couldnt open file";
while (<DAT>) {
chomp;
($date, $wr1, $wr2) = split(/\|/);
($sum1, $max1) = split(/\;/, $wr1);
($sum2, $max2) = split(/\;/, $wr2);
($sum1, $sum2, $max2) =~ s/[^0-9]//;
}
close(DAT);
open (MONTH,'/tmp/months.js') or die "couldnt open months";
while (<MONTH>) {
chomp;
($date, $month1, $month2) = split (/\|/);
($month1, $month2) =~ s/[^0-9]//;
}
close (MONTH);
open (YEAR,'/tmp/years.js') or die "couldnt open year";
while (<YEAR>) {
chomp;
($date, $year1, $year2) = split (/\|/);
($year1, $year2) =~ s/[^0-9]//;
}
close (YEAR);
my $max21 = int($max2);
my $summary1 = (int($sum1))/1000;
my $summary2 = (int($sum2))/1000;
my $summary = ($summary1 + $summary2);
my $max_gesamt = $max21 + $max1;
my $leistung = int($aktuelle_leistung);
update_rrd("Aktuelle_Leistung","",$leistung);
update_rrd("WR_gesamt_max","",$max_gesamt);
update_rrd("WR2_Summe","",$summary2);
update_rrd("WR1_Summe","",$summary1);
update_rrd("WR_gesamt","",$summary);
update_rrd("WR1_max","",$max1);
update_rrd("WR2_max","",$max21);
my $ertrag_tag = ($summary * $verguetung);
knx_write($ertrag_tag_ga,$ertrag_tag,9);
my $month_summary = int($month1) + int($month2);
update_rrd("Monat_Summe","",$month_summary);
my $month_summary_ertrag = ($month_summary * $verguetung)/1000;
update_rrd("Monat_Summe_Euro","",$month_summary_ertrag);
knx_write($month_ertrag_ga,$month_summary_ertrag,9);
my $year_summary = int($year1) + int($year2);
update_rrd("Jahr_Summe","",$year_summary);
my $year_summary_ertrag = $year_summary * $verguetung/1000;
knx_write($year_ertrag_ga,$year_summary_ertrag,9);
update_rrd("Jahr_Summe_Euro","",$year_summary_ertrag);
return ;
Bei Gelegenheit werde ich das in ein "vernünftiges" Plugin verwandeln und ins svn stellen.
Gruß


Kommentar