Hybrid Wechselrichter Sungrow SH10RT und Speicher Einbindung in IPS

Hallo zusammen
hat jemand ein Script um den Energie Fluss auszuwerten? so das hinterher die aktuellen zahlen in einer variable steht? z.B. Hausverbrauch usw.

gruss karsten

Hallo Zusammen,

ich habe aktuell noch ein Problem beim auslesen de Register 13000 Running State.
Könnte jemand von euch seine Instanzkonfiguration posten?
Bei mir kommen da immer nur wirre Zahlen an.

Danke euch schon mal für euren Support!

Grüße

mirank

Hallo Zusammen,

inzwischen habe ich es geschafft das Register auszulesen und auch entsprechen die Variablen bzw. Statis auszuwerten.

Für alle die möglicherweise auch Probleme mit dem Register 13000 haben hier ein Screenshot von meiner Konfig.

Ich lass mir dann die Variablen wie folgt füllen:

Ich musste das Script noch ein bisschen anpassen das ich aber gerne auch mit euch hier teilen möchte.

<?php


// Running state Wert abfragen aus IP-Symcon
    $abfrage=GetValue(21744);

//wert umwandeln in binär
    $binär=decbin($abfrage);

    //echo $binär;

//binär auffüllen auf 8 stellen mit nullen links auffüllen
    $binär8=str_pad($binär, 8, 0, STR_PAD_LEFT);

//echo $binär8;

//binär wert in einzele ziffer auflösen und in einem array schreiben
    $ziffern = str_split((string) $binär8);

print_r ($ziffern) ;


// binär8 einzele ziffern in einzele variablen schreiben
    $bit0=$binär8[7];
    $bit1=$binär8[6];
    $bit2=$binär8[5];
    $bit3=$binär8[4];
    $bit4=$binär8[3];
    $bit5=$binär8[2];
    $bit6=$binär8[1];
    $bit7=$binär8[0];

//ziffern mit namen versehen

//Bit0 PV power
    //Bit0 == 0 No power generated from PV
    //Bit0 == 1 Power generated from PV
    if($bit0==0){
        $bit0_name="No power generated from PV";
    }else   {
          $bit0_name="Power generated from PV";
        }

//Bit1 Battery charging
    //Bit1 == 0 Not charging
    //Bit1 == 1 Charging
    if($bit1==0){
        $bit1_name="Battery Not charging";
    }else {
        $bit1_name="Battery Charging";
    }

//Bit2 Battery discharging
    //Bit2 == 0 Not discharging
    //Bit2 == 1 Discharging
    if($bit2==0){
        $bit2_name="Battery Not discharging";
    }else {
        $bit2_name="Battery Discharging";
    }

//Bit3 Positive load power
	//Bit3 == 0 Load is reactive
	//Bit3 == 1 Load is active
    if($bit3==0){
        $bit3_name="Load is reactive";
    }else {
        $bit3_name="Load is active";
    }

//Bit4 Feed-in power
        //Bit4 == 0 No power feed-in the grid
        //Bit4 == 1 Power feed-in the grid
    if($bit4==0){
        $bit4_name="No power feed-in the grid";
    }else {
        $bit4_name="Power feed-in the grid";
    }

//Bit5 Import Power from grid
		//Bit5 == 0 No power imported from the grid
		//Bit5 == 1 Importing power from grid
    if($bit5==0){
        $bit5_name="No power imported from the grid";
    }else {
        $bit5_name="Importing power from grid";
    }

//Bit6 Reserved 
        //Bit6
    if($bit6==0){
        $bit6_name="Reserved 0";
    }else {
        $bit6_name="Reserved 1";
    }

//Bit7(Refitting System) Negative load power
        //Bit7 == 0 No power generated from “Load”
        //Bit7== 1 Power generated from“Load”
    if($bit7==0){
        $bit7_name="No power generated from “Load”";
    }else {
        $bit7_name="Power generated from“Load”";
    }
//umwandeln von integer in Boolean
//danach
//Schreiben in einer Variable
  //PV power
    $bit0ID ="25274";
    $bit0t= (bool) "$bit0";
    SetValueBoolean($bit0ID,$bit0t);
//Battery charging
    $bit1ID ="44038";
    $bit1t= (bool) "$bit1";
    SetValueBoolean($bit1ID,$bit1t);
//Battery discharging
	$bit2ID ="17544";
    $bit2t= (bool) "$bit2";
    SetValueBoolean($bit2ID,$bit2t);

    //Positive load power
	$bit3ID ="34454";
    $bit3t= (bool) "$bit3";
    SetValueBoolean($bit3ID,$bit3t);
//Feed-in power	
	$bit4ID ="53694";
    $bit4t= (bool) "$bit4";
    SetValueBoolean($bit4ID,$bit4t);
//Import Power from grid	
	$bit5ID ="38970";
    $bit5t= (bool) "$bit5";
    SetValueBoolean($bit5ID,$bit5t);
//Reserved	
//	$bit6ID ="32756";
//    $bit6t= (bool) "$bit6";
//    SetValueBoolean($bit6ID,$bit6t);
//(Refitting System) Negative load power	
	$bit7ID ="31788";
    $bit7t= (bool) "$bit7";
    SetValueBoolean($bit7ID,$bit7t);
    
?>

Ich hoffe ich kann vielleicht dem einen oder anderen mit meinem Beitrag weiterhelfen.

Grüße
mirank