SMA Energy Meter

Hab den SMA HM 2.0 im Einsatz und hatte zuerst auch falsche Bezugswerte für L1-L3

Nach folgender Anleitung, schaut mein Skript jetzt so aus. Werte scheinen jetzt richtig zu sein.

http://www.eb-systeme.de/?page_id=1240

<?

    if ($_IPS["SENDER"] == "RegisterVariable")                               // über Register Var ausgeführt
{
    $Data  = RegVar_GetBuffer($_IPS["INSTANCE"]);                 // im Puffer der Instanz vorhandene Daten in $data kopieren
    $Data .= $_IPS["VALUE"];                                                        // neu empfangene Daten an $data anhängen
    $CRLF  = ",
";
    $HexData = bin2hex($Data);
    SetValue(17741 /*[Energie Zähler\SMA Home Manager	xt]*/, substr($HexData,417, 16 ));
    //SetValue(17741 /*[Energie Zähler\SMA Home Manager	xt]*/, $HexData);
    SetValue(40340/*[Energie Zähler\SMA Home Manager\Bezug - Summe]*/,(float)hexdec(substr($HexData,64, 8 ))/10);
    SetValue(57868/*[Energie Zähler\SMA Home Manager\Einspeisung - Summe]*/,(float)hexdec(substr($HexData,104, 8 ))/10);

    SetValue(54931 /*[Energie Zähler\SMA Home Manager\Bezug - L1]*/,(float)hexdec(substr($HexData,336, 8 ))/10);
    SetValue(23803 /*[Energie Zähler\SMA Home Manager\Bezug - L2]*/,(float)hexdec(substr($HexData,624, 8 ))/10);
    SetValue(53613 /*[Energie Zähler\SMA Home Manager\Bezug - L3]*/,(float)hexdec(substr($HexData,912, 8 ))/10);
    SetValue(19875 /*[Energie Zähler\SMA Home Manager\Einspeisung - L1]*/,(float)hexdec(substr($HexData,376, 8 ))/10);
    SetValue(15525 /*[Energie Zähler\SMA Home Manager\Einspeisung - L2]*/,(float)hexdec(substr($HexData,664, 8 ))/10);
    SetValue(37841 /*[Energie Zähler\SMA Home Manager\Einspeisung - L3]*/,(float)hexdec(substr($HexData,952, 8 ))/10);


    SetValue(33808 /*[Energie Zähler\SMA Home Manager\Bezogene Energie]*/,(float)hexdec(substr($HexData,80, 16 ))/3600000);
    SetValue(21006/*[Energie Zähler\SMA Home Manager\Eingespeiste Energie]*/,(float)hexdec(substr($HexData,120, 16 ))/3600000);

}
?>