+ Antworten
Seite 1 von 12 1 2 3 11 ... LetzteLetzte
Ergebnis 1 bis 10 von 118

Thema: SMA Webbox

  1. #1
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,843

    Standard SMA Webbox

    Hallo.

    Hat schon jemd die SMA Webbox mit IPS verbandelt? Habe da nur einen Thread im IPS 1.x Archiv gefunden.

    Grüsse.


    Gelöst: Habe die Sache selber lösen können. Danke.
    Geändert von kronos (16.11.10 um 07:55 Uhr)
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  2. #2
    Registriert seit
    Nov 2010
    Beiträge
    1

    Hallo,

    darf man mal nachfragen, wie du das gelöst hast.

    Gruß
    Christian

  3. #3
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,843

    Hallo.

    Es läuft noch nicht so wie ich mir das vorstelle aber ich kann die Ertragsdaten der gesamten Anlage auslesen, bisher nicht jedoch der einzelnen Wechselrichter. Da werde ich mich über Weihnachten dran setzten weil ich da etwas Zeit dafür erübrigen kann.

    Grüsse.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  4. #4
    Registriert seit
    Oct 2010
    Ort
    Herne
    Beiträge
    62

    Hallo kronos,

    Über welchen Weg hast du denn das auslesen der Webbox gemacht?

    Ich habe da auch was geschrieben aber es ist sehr langsam.

    gruß
    Dirk

  5. #5
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,843

    Hallo Dirk.

    Ich frage die Webbox alle 30 Sekunden ab und benutze die Parameter wie Sie in der Doku von SMA angegeben sind. Anfangs hatte es bei mir noch mit der JSON-Geschichte gehapert aber da hat mir CGastager aufs Pferd geholfen.

    Wenn ich es richtig im Kopf habe empfiehlt SMA auch nicht öfters als alle 30 Sekunden einen Zugriff auf die Betriebsdaten. Schätze mal die Webbox wird nicht allzu performant sein.

    Grüsse.
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  6. #6
    Registriert seit
    Oct 2010
    Ort
    Herne
    Beiträge
    62

    Hallo,

    Wenn ich json die Webbox Abfrage der Sensorbox und Wechselrichter benötigt das script ca 22-29 sec.

    Beseht die Möglichkeit das du mir mal dein Script senden könntest?

    Gruß
    Dirk

  7. #7
    Registriert seit
    Apr 2010
    Ort
    Oberbayern
    Beiträge
    4,843

    Laufzeit bei mir zwischen 900 und 1200ms. Ist nicht hübsch aber funktioniert:

    PHP-Code:
    <?

    //IP der Webbox (SMA hat übrigends eine WebBox zu Demozwecken im Internet)
    $webboxip "192.168.22.227";
    $timeout 15;
    include(
    "JSON.ips.php");
    $json = new Services_JSON();

    //JSON Request im PHP Array Format (wird später umgewandelt durch die in PHP5 vvorhandene json_encode/decode Funktion)

    $GetPlantOverView = array(
        
    'version'=>"1.0",
        
    'proc'=>"GetPlantOverview",
        
    'id'=>"1",
        
    'format'=>"JSON"
        
    );

    $GetDevices = array(
        
    'version'=>"1.0",
        
    'proc'=>"GetDevices",
        
    'id'=>"1",
        
    'format'=>"JSON"
        
    );

    //Wechselrichter Haus (Device Key 7004e:7d313f59)
    $device="7004e:7d313f59";
    $GetProcessDataWR1 '{
    "version": "1.0",
    "proc": "GetProcessData",
    "id": "1",
    "format": "JSON",
    "params":
    {
    "devices":
    [
    {
    "key": "'
    .$device.'",
    "channels": null
    }
    ]
    }
    }'
    ;

    //Wechselrichter Garage (Device Key 0071:7d312dec)
    $device="0071:7d312dec";
    $GetProcessDataWR2 '{
    "version": "1.0",
    "proc": "GetProcessData",
    "id": "1",
    "format": "JSON",
    "params":
    {
    "devices":
    [
    {
    "key": "'
    .$device.'",
    "channels": null
    }
    ]
    }
    }'
    ;

    //Aufruf der Funktion REQUEST mit GetPlantInfo
    $requestarray $GetPlantOverView;
    request($webboxip,$requestarray);
    //print_r($response);
    $zustand=($response->result->overview[3]->value);
        
    SetValue(34911 /*[SMA Photovoltaik\Anlagenzustand]*/$zustand);

    $meldung=($response->result->overview[4]->value);
        if (
    $meldung == ""$meldung="Keine Nachrichten.";
        
    SetValue(38936 /*[SMA Photovoltaik\Anlagen-Nachricht]*/$meldung);

    $watt=($response->result->overview[0]->value);
    if (
    $watt or GetValue(50631 /*[SMA Photovoltaik\Leistung aktuell]*/)<>0)
    {
        
    Setvalue (50631 /*[SMA Photovoltaik\Leistung aktuell]*/$watt);
    }

    $tagesertrag=(str_replace("."","$response->result->overview[1]->value));
    SetValue(11230 /*[SMA Photovoltaik\Tagesausbeute aktuell]*/$tagesertrag);


    // Abfrage Wechselrichter Garage
        
    $device_WR "0071:7d312dec";
        
    $aw channels_data_all($webboxip,$device_WR,$json);
    // print_r($aw);
        
    $value str_replace("."",",($aw->result->devices[0]->channels[7]->value));
        if (
    $value 0$value=0;
        
    SetValue(48854 /*[SMA Photovoltaik\Photovoltaik Garage\Leistung aktuell]*/$value); //Watt

        
    $value str_replace("."",",($aw->result->devices[0]->channels[0]->value));
        if (
    $value 0$value=0;
        
    SetValue(19020 /*[SMA Photovoltaik\Photovoltaik Garage\Strom aktuell]*/$value); //Strom
        
    SetValue(18791 /*[SMA Photovoltaik\Photovoltaik Garage\Strom / Spannung aktuell]*/str_replace("."","round(str_replace(","".",$value),2)." A / ")); //Strom

        
    $value str_replace("."",",($aw->result->devices[0]->channels[1]->value));
        if (
    $value 0$value=0;
        
    SetValue(39920 /*[SMA Photovoltaik\Photovoltaik Garage\Spannung aktuell]*/$value); //Spannung
        
    SetValue(18791 /*[SMA Photovoltaik\Photovoltaik Garage\Strom / Spannung aktuell]*/GetValue(18791 /*[SMA Photovoltaik\Photovoltaik Garage\Strom / Spannung aktuell]*/).$value." V"); //Strom

        
    SetValue(25848 /*[SMA Photovoltaik\Photovoltaik Garage\Gesamtertrag]*/str_replace("."",", ($aw->result->devices[0]->channels[12]->value))); //Gesamtertrag

    // Abfrage Wechselrichter Hausdach
        
    $device_WR "004e:7d313f59";
        
    $aw channels_data_all($webboxip,$device_WR,$json);

        
    $value str_replace("."",",($aw->result->devices[0]->channels[7]->value));
        if (
    $value 0$value=0;
        
    SetValue(33955 /*[SMA Photovoltaik\Photovoltaik Haus\Leistung aktuell]*/$value); //Watt

        
    $value str_replace("."",",($aw->result->devices[0]->channels[0]->value));
        if (
    $value 0$value=0;
        
    SetValue(58780 /*[SMA Photovoltaik\Photovoltaik Haus\Strom aktuell]*/$value); //Strom
        
    SetValue(18510 /*[SMA Photovoltaik\Photovoltaik Haus\Strom / Spannung aktuell]*/str_replace("."","round(str_replace(","".",$value),2)." A / ")); //Strom

        
    $value str_replace("."",",($aw->result->devices[0]->channels[1]->value));
        if (
    $value 0$value=0;
        
    SetValue(41544 /*[SMA Photovoltaik\Photovoltaik Haus\Spannung aktuell]*/$value); //Spannung
        
    SetValue(18510 /*[SMA Photovoltaik\Photovoltaik Haus\Strom / Spannung aktuell]*/GetValue(18510 /*[SMA Photovoltaik\Photovoltaik Haus\Strom / Spannung aktuell]*/).$value." V"); //Strom

        
    SetValue(20926 /*[SMA Photovoltaik\Photovoltaik Haus\Gesamtertrag]*/str_replace("."",", ($aw->result->devices[0]->channels[12]->value))); //Gesamtertrag

    //$requestarray = $GetDevices;
    //request($webboxip,$requestarray);
    //print_r($response);



    // ANFANG FUNKTION DATEN AUS SUNNY WEBBOX ABRUFEN
    function request($webboxip,$requestarray) {
       Global 
    $timeout;
       Global 
    $response;
        
    //codieren in JSON
        
    $request json_encode($requestarray);

        
    // Hier der JSON request
        
    $request 'RPC='.rawurlencode($request);

        
    $ch=curl_init();
        
    curl_setopt($chCURLOPT_URL"http://".$webboxip."/rpc");
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_TIMEOUT$timeout);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION,1);
        
    curl_setopt($chCURLOPT_HEADER 0);
        
    curl_setopt($chCURLOPT_POST);
        
    curl_setopt($chCURLOPT_POSTFIELDS$request);

        
    // Hier das Ergebnis
        
    $response curl_exec ($ch);

        if (
    curl_errno($ch)) {
            
    $err=1;
             
    $errtext curl_error($ch);
        }

        
    curl_close($ch);

        
    //Decodieren der Antwort
        
    $response json_decode($response);
    }

    function 
    request2($webboxip,$requestarray,$json) {

    $request $json->encode($requestarray);
    $request $requestarray;

    // Hier der JSON request
    $request 'RPC='.rawurlencode($request);

    $timeout=180;
    $ch=curl_init();
    curl_setopt($chCURLOPT_URL"http://".$webboxip."/rpc");
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_TIMEOUT$timeout);
    curl_setopt($chCURLOPT_FOLLOWLOCATION,0);
    curl_setopt($chCURLOPT_HEADER 0);
    curl_setopt($chCURLOPT_POST);
    curl_setopt($chCURLOPT_POSTFIELDS$request);

    // Hier das Ergebnis
    $response curl_exec ($ch);

    if (
    curl_errno($ch)) {
        
    $err=1;
          
    $errtext curl_error($ch);
    }

    curl_close($ch);

    $response $json->decode($response);

    return(
    $response);
    }
    function 
    channels_data_all($webboxip,$device,$json)
    {

    $requestarray4 '{
    "version": "1.0",
    "proc": "GetProcessData",
    "id": "1",
    "format": "JSON",
    "params":
    {
    "devices":
    [
    {
    "key": "'
    .$device.'",
    "channels": null
    }
    ]
    }
    }'
    ;

    $response4 request2($webboxip,$requestarray4,$json);

    return(
    $response4);
    }
    function 
    channels_data($webboxip,$device,$value,$json)
    {

    $requestarray3 '{
    "version": "1.0",
    "proc": "GetProcessData",
    "id": "1",
    "format": "JSON",
    "params":
    {
    "devices":
    [
    {
    "key": "'
    .$device.'",
    "channels":
    [
    "'
    .$value.'"
    ]
    }
    ]
    }
    }'
    ;

    $response3 request($webboxip,$requestarray3,$json);

    return(
    $response3);
    }
    function 
    channels($webboxip,$device,$json)
    {

    $requestarray2 '{
    "version": "1.0",
    "proc": "GetProcessDataChannels",
    "id": "1",
    "format": "JSON",
    "params":
    {
    "device": "'
    .$device.'"
    }
    }'
    ;

    $response2 request($webboxip,$requestarray2,$json);

    return(
    $response2);
    }

    function 
    getdevice($webboxip,$json)
    {
    $requestarray1 '{
    "version": "1.0",
    "proc": "GetDevices",
    "id": "1",
    "format": "JSON"
    }'
    ;

    $response1 request($webboxip,$requestarray1,$json);

    return(
    $response1);
    }

    function 
    overview($webboxip,$json)
    {
    $requestarray0 '{
    "version": "1.0",
    "proc": "GetPlantOverview",
    "id": "1",
    "format": "JSON"
    }'
    ;


    $response0 request($webboxip,$requestarray0,$json);

    return(
    $response0);
    }


    // ====== ENDE FUNKTION DATEN AUS SUNNY WEBBOX ABRUFEN ======



    ?>
    Grüsse, Kronos.
    Wenn am Anfang alles schief geht, nenne es Version 1.0
    IPS 5.3 auf Server 2016 / HM mit CCU2 (RaspberryMatic) + LAN-Adapter + LAN- & Wired Gateway, 241 Geräte / XBee Pro (Roomba) / RoboRock S50 / RGB-W 868 / MiLight / EKM 868 / AKM / ein Rudel Squeezeboxen+Pi / EM24DIN+VS102 / AM 220 AC / PlugWise / VU+ / ALL4x00 / LevelJet / IRTRans / Echos diverse / viel zu wenig Zeit


    Einfach mal rein schauen: IPS-Chat

  8. #8
    Registriert seit
    Sep 2008
    Beiträge
    118

    Hallo,

    nutze schon einige Zeit diesen Script, leider läuft es seit der Umstellung auf IP-Symcon 2.4 nicht mehr.

    Hat sich vielleicht etwas verändert?
    Vielleicht beim JSON?

    Viele Grüße

    ASICS
    HomeMatic im ganzen Haus:
    Zentrale, Lichter, Jalousien, Steckdosen, Schalter, Heizung, Gartenbewässerung, 17" Touchscreen in der Wand. PV-Anlagenüberwachung, Aquariumüberwachung und Steuerung, Alarmanlage und vieles vieles mehr...

  9. #9
    Registriert seit
    Jul 2006
    Ort
    Butzbach, die schöne Wetterau
    Beiträge
    1,473

    Ich benutze es auch, aber ohne Fehler. Welche Fehlermeldung bekommst Du denn.
    Gruß Uwe
    (bmwm3)


  10. #10
    Registriert seit
    Sep 2008
    Beiträge
    118

    Hallo,

    habe gerade mal eine andere Webbox benutzt und da geht das Skript.
    Die Webbox, welche nicht will, ist aber erreichbar, ich kann mich einloggen etc.

    Merkwürdig...

    Fehlermeldung:

    Notice: Trying to get property of non-object in...

    Die betroffene Zeile:

    $zustand=($response->result->overview[3]->value);

    Scheint als ob keine Daten übermittelt werden.

    Viele Grüße

    ASICS
    HomeMatic im ganzen Haus:
    Zentrale, Lichter, Jalousien, Steckdosen, Schalter, Heizung, Gartenbewässerung, 17" Touchscreen in der Wand. PV-Anlagenüberwachung, Aquariumüberwachung und Steuerung, Alarmanlage und vieles vieles mehr...

Ähnliche Themen

  1. Daten von SMA SunnyBoy Solar-Wechselrichter
    Von woboreg im Forum Anleitungen / Nützliche PHP Skripte
    Antworten: 45
    Letzter Beitrag: 24.09.10, 10:00
  2. Frage zu JSON unter IPS V1 (für SMA WebBox)
    Von CGastager im Forum Skripte, PHP, SQL
    Antworten: 11
    Letzter Beitrag: 09.07.09, 07:51
  3. sma wechselrichter mit rs232
    Von hmpf99 im Forum Allgemeine Diskussion
    Antworten: 0
    Letzter Beitrag: 30.04.08, 16:38
  4. meine neue pv anlage mit sma wechselrichter
    Von hmpf99 im Forum Allgemeine Diskussion
    Antworten: 6
    Letzter Beitrag: 19.12.07, 19:21