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