Hi,
wenn einer einen Kaco Powador XX TL3 Wechselrichter hat kann er mit folgenden Plugin sich die Leistung, Spannung und Strom auf den Bus ausgeben lassen. Ich frage einfach alle 30s den Webserver vom WR ab.
Ich brauche das um die Helligkeit für die Süd/Ost Seite abzuschätzen zwischen 8 und 11 Uhr Morgens wird meine Wetterstation nicht beschienen.
Zweiter Anwendungsfall Eigenverbrauchsoptimierung meiner Wärmepumpe.Hier plane ich da meine Stiebel Eltron nicht wirklich SG Ready ist die WP irgendwie dazu zu bewegen anzuspringen wenn ich mehr als X Watt produziere.
Viele Grüsse
Jürgen
wenn einer einen Kaco Powador XX TL3 Wechselrichter hat kann er mit folgenden Plugin sich die Leistung, Spannung und Strom auf den Bus ausgeben lassen. Ich frage einfach alle 30s den Webserver vom WR ab.
Ich brauche das um die Helligkeit für die Süd/Ost Seite abzuschätzen zwischen 8 und 11 Uhr Morgens wird meine Wetterstation nicht beschienen.
Zweiter Anwendungsfall Eigenverbrauchsoptimierung meiner Wärmepumpe.Hier plane ich da meine Stiebel Eltron nicht wirklich SG Ready ist die WP irgendwie dazu zu bewegen anzuspringen wenn ich mehr als X Watt produziere.
Viele Grüsse
Jürgen
Code:
use LWP; $plugin_info{$plugname.'_cycle'} = 30; #return "not active"; my $Wechselrichter_IP = "192.168.102.33"; # Standard IP Kostal Piko 10.1 my $CurrentDataPath = "/realtime.csv"; # Uebersicht aktuelle Leistungsdaten my $PowerDC1GA = "7/2/10"; # DC power [W], DPT 14.056 my $PowerDC2GA = "7/2/19"; # DC power [W], DPT 14.056 my $PowerDCGA = "7/2/0"; # DC power [W], DPT 14.056 my $GenVoltage1GA = "7/2/8"; # DC voltage in [V], DPT 14.027 my $GenVoltage2GA = "7/2/17"; # DC voltage in [V], DPT 14.027 my $GridVoltage1GA = "7/2/11"; # AC voltage in [V], DPT 14.027 my $GridVoltage2GA = "7/2/20"; # AC voltage in [V], DPT 14.027 my $GridVoltage3GA = "7/2/26"; # AC voltage in [V], DPT 14.027 my $GenCurrent1GA = "7/2/9"; # DC current in [A], DPT 14.019 my $GenCurrent2GA = "7/2/18"; # DC current in [A], DPT 14.019 my $GridCurrent1GA = "7/2/12"; # AC current in [A], DPT 14.019 my $GridCurrent2GA = "7/2/21"; # AC current in [A], DPT 14.019 my $GridCurrent3GA = "7/2/27"; # AC current in [A], DPT 14.019 my $content = "1455356432;24214;26711;9590;9560;9595;141;151;372;376;361;356;3210;4"; my $ua = LWP::UserAgent->new; my $response = $ua->get("http://$Wechselrichter_IP$CurrentDataPath"); if ($response->is_success) { $content = $response->decoded_content; # or whatever } else { return $response->status_line; } #$content = "1455356432;24214;26711;9590;9560;9595;141;151;372;376;361;356;3210"; my @CurrentData = split( /;/, $content ); my $timestamp = $CurrentData[0]; my $GenVoltage1 = $CurrentData[1] / ( 65535.0/1600.0); my $GenVoltage2 = $CurrentData[2] / ( 65535.0/1600.0); my $GridVoltage1 = $CurrentData[3] / ( 65535.0/1600.0); my $GridVoltage2 = $CurrentData[4] / ( 65535.0/1600.0); my $GridVoltage3 = $CurrentData[5] / ( 65535.0/1600.0); my $GenCurrent1 = $CurrentData[6] / ( 65535.0/200.0); my $GenCurrent2 = $CurrentData[7] / ( 65535.0/200.0); my $GridCurrent1 = $CurrentData[8] / ( 65535.0/200.0); my $GridCurrent2 = $CurrentData[9] / ( 65535.0/200.0); my $GridCurrent3 = $CurrentData[10] / ( 65535.0/200.0); my $PowerDC = $CurrentData[11] / (65535.0 / 100000.0); my $unbekannt1 = $CurrentData[12]; my $State= $CurrentData[13]; my $PowerDC1 = $GenVoltage1 * $GenCurrent1; my $PowerDC2 = $GenVoltage2 * $GenCurrent2; my $PowerDC = $PowerDC1 + $PowerDC2; my $PowerAC1 = $GridVoltage1 * $GridCurrent1; my $PowerAC2 = $GridVoltage2 * $GridCurrent2; my $PowerAC3 = $GridVoltage3 * $GridCurrent3; my $PowerAC = $PowerAC1 + $PowerAC2 + $PowerAC3; update_rrd( 'PV', "PowerDC1", $PowerDC1 ); if( $PowerDC1GA ) { knx_write( $PowerDC1GA , $PowerDC1 , 14 ); } update_rrd( 'PV', "PowerDC2", $PowerDC2 ); if( $PowerDC2GA ) { knx_write( $PowerDC2GA , $PowerDC2 , 14 ); } update_rrd( 'PV', "PowerDC", $PowerDC ); if( $PowerDCGA ) { knx_write( $PowerDCGA , $PowerDC , 14 ); } update_rrd( 'PV', "PowerDC", $PowerDC ); if( $PowerDCGA ) { knx_write( $PowerDCGA , $PowerDC , 14 ); } update_rrd( 'PV', "GenVoltage1", $GenVoltage1 ); if( $GenVoltage1GA ) { knx_write( $GenVoltage1GA , $GenVoltage1, 14 ); } update_rrd( 'PV', "GenVoltage2", $GenVoltage2 ); if( $GenVoltage2GA ) { knx_write( $GenVoltage2GA , $GenVoltage2, 14 ); } update_rrd( 'PV', "GridVoltage1", $GridVoltage1 ); if( $GridVoltage1GA ) { knx_write( $GridVoltage1GA , $GridVoltage1, 14 ); } update_rrd( 'PV', "GridVoltage2", $GridVoltage2 ); if( $GridVoltage2GA ) { knx_write( $GridVoltage2GA , $GridVoltage2, 14 ); } update_rrd( 'PV', "GridVoltage3", $GridVoltage3 ); if( $GridVoltage3GA ) { knx_write( $GridVoltage3GA , $GridVoltage3, 14 ); } update_rrd( 'PV', "GenCurrent1", $GenCurrent1 ); if( $GenCurrent1GA ) { knx_write( $GenCurrent1GA , $GenCurrent1, 14 ); } update_rrd( 'PV', "GenCurrent2", $GenCurrent2 ); if( $GenCurrent2GA ) { knx_write( $GenCurrent2GA , $GenCurrent2, 14 ); } update_rrd( 'PV', "GridCurrent1", $GridCurrent1 ); if( $GridCurrent1GA ) { knx_write( $GridCurrent1GA , $GridCurrent1, 14 ); } update_rrd( 'PV', "GridCurrent2", $GridCurrent2 ); if( $GridCurrent2GA ) { knx_write( $GridCurrent2GA , $GridCurrent2, 14 ); } update_rrd( 'PV', "GridCurrent3", $GridCurrent3 ); if( $GridCurrent3GA ) { knx_write( $GridCurrent3GA , $GridCurrent3, 14 ); } return "PowerDC $PowerDC W";
Kommentar