Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin für PV WR Kaco Powador 12.0 TL3

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    [wiregate] Plugin für PV WR Kaco Powador 12.0 TL3

    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

    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";

    #2
    Ich habe kein WireGate versuche aber die Momentane Leistung des WR mit dem EibPort auf den Bus zu geben. Ich habe inzwischen die "realtime.csv" auch entdeckt. Allerdings verstehe ich die Daten die da angezeigt werden nicht. Keine der Zahlen entspricht der aktuellen momentanen AC-Leistung. Muss ich da irgendwas umrechnen?

    Kommentar


      #3
      Zitat von raphaelhuber Beitrag anzeigen
      Ich habe kein WireGate versuche aber die Momentane Leistung des WR mit dem EibPort auf den Bus zu geben. Ich habe inzwischen die "realtime.csv" auch entdeckt. Allerdings verstehe ich die Daten die da angezeigt werden nicht. Keine der Zahlen entspricht der aktuellen momentanen AC-Leistung. Muss ich da irgendwas umrechnen?
      Ja, das musst du dir aus den einzelnen Strom und Spannungen selber ausrechen. Die Fromeln findest du doch einfach in dem Coding oben.



      Kommentar

      Lädt...
      X