Also mit meiner aktuellen Version scheint es so halbwegs zu funktionieren. Schon mal gut so kann ich dann nebenbei mit dem Counter probieren

Ich hab erstmal den Haken gesetzt

Danke!
lg Werner



) ganz einfach. Ich taste wie gesagt die Scheibe meines Zählers mit der Lichtschranke ab und bekomm jeden Umdrehung einen Impuls auf meinen Binäreingang. Der Binäreingang zählt die Impulse hoch und Impulse dividiert durch 75 sind meine kWh. Somit habe ich auch gleich den Gesamtverbrauch. Jetzt möchte ich den täglichen Verbrauch in einem Diagramm dargestellt bekommen um zb. wochen- oder monatsweise vergleichen zu können - Montag xx kWh, Dienstag xx kWh, Mittwoch xx kWh usw. Du sagst das könnte man auch mit einem normalen 300s Zyklus beim RRD machen?

) den Eintrag mit der Differenz zum Vortag.

######################################################################################
#
# Plugin zur Aufzeichnung des Stromverbrauchs der Wärmepumpe
# V0.2 2013-01-19
# by Werner V - [URL="http://www.knx-user-forum.de"]www.knx-user-forum.de[/URL]
#
######################################################################################
#########################
### BEGINN DEFINITION ###
#########################
# Aufruf-Zyklus auf einmal täglich setzen
$plugin_info{$plugname.'_cycle'} = 86400;
my $file = '/var/www/plugins/kwh_counter.txt';
my $counter_ga = '5/0/200';
#########################
### ENDE DEFINITION ###
#########################
use RRDs;
use Time::Local;
# Datum berechnen
my $sec; #Sekunde
my $min; # Minute
my $hour; #Stunde
my $mday; #Monatstag
my $mon; #Monatsnummer
my $year; #Jahr
my $wday; #Wochentag 0-6
my $yday; #Tag ab 01.01.xxxx
my $isdst;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900;
$mon += 1;
my $vortag = $mday . "." . $mon . "." . $year;
my $heute = $mday . "." . $mon . "." . $year;
# Hauptverarbeitung
my $vortag_work = $plugin_info{$plugname.'_vortag'};
if ($vortag_work == $heute){
# nichts machen
} else {
# neuen Stand einlesen
my $wert_neu = knx_read($counter_ga,300,13);
# alten Stand einlesen
open(File,'</var/www/plugins/kwh_counter.txt');
my $wert_alt = <File>;
close File;
# Differenz gestern zu heute ausrechnen und in kWh umrechnen
my $diff = $wert_neu - $wert_alt;
my $diff_kwh = $diff / 75;
# RRD mit neuem Verbrauch beschreiben
if (!-e '/var/www/rrd/waermepumpe_tagesverbrauch.rrd') {
RRDs::create('/var/www/rrd/waermepumpe_tagesverbrauch.rrd',
'--step' => 86400,
'DS:value:GAUGE:88000:0:10000000000',
'RRA:AVERAGE:0.5:1:365', 'RRA:AVERAGE:0.5:7:300');
}
update_rrd("waermepumpe_tagesverbrauch","",$diff_kwh);
# File mit neuem Wert beschreiben
open(File,'>/var/www/plugins/kwh_counter.txt');
print File $wert_neu;
close File;
# Datum für die nächste Berechnung in plugin_info speichern
$plugin_info{$plugname.'_vortag'} = $heute;
}
return;

RRDs::create( $DirRrd.$value_URI_RRDdaycount_mapping{$value->{uri}}.".rrd",
'--step' => 86400,
'DS:value:COUNTER:86500:0:10000000000',
'RRA:AVERAGE:0.5:1:365', 'RRA:AVERAGE:0.5:7:300');
# Wirkleistung 60min-Summe
if (!-e '/var/www/rrd/Stromzaehler_Wirkleistung_60min.rrd') {
RRDs::create('/var/www/rrd/Stromzaehler_Wirkleistung_60min.rrd',
'--step' => 3600,
'DS:value:GAUGE:10800:-55:255000',
'RRA:AVERAGE:0.5:1:2160','RRA:AVERAGE:0.5:5:2016','RRA:AVERAGE:0.5:15:2880','RRA:AVERAGE:0.5:180:8760',
'RRA:MIN:0.5:1:2160','RRA:MIN:0.5:5:2016','RRA:MIN:0.5:15:2880','RRA:MIN:0.5:180:8760',
'RRA:MAX:0.5:1:2160','RRA:MAX:0.5:5:2016','RRA:MAX:0.5:15:2880','RRA:MAX:0.5:180:8760');
}
update_rrd("Stromzaehler_", "Wirkleistung_60min", knx_read("7/7/7", 60*60));
Dazu müsste ich aber eine ganze Anleitung schreiben. Vieleicht kennt jemand eine schnellere Variante z.B. mit einem Befehl in der Konsole...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.


Einen Kommentar schreiben: