+ Antworten
Seite 2 von 3 ErsteErste 1 2 3 LetzteLetzte
Ergebnis 11 bis 20 von 22
  1. #11
    Registriert seit
    Apr 2013
    Ort
    Baden-Württemberg
    Beiträge
    1,958

    Danke

    Ich hab einen fronius symo 8.2-3 + fronius smartmeter.

    Die Anlage selbst hat 9,85kWp (Südwestdach + ostdach).

    Jetzt muss nur noch der VNB vorbeikommen ;-)
    Geändert von mastermind1 (10.03.17 um 19:37 Uhr)
    • Z-WAVE: Fibaro FGR-221, FGS-211,Aeon Labs Multisensor, Aeon Labs S2, FGK, Greenwave
    • 1-Wire: S0 Counter, Windsensor XS, 1 Wire DS9490R, DS18B20, Luftgütesensor
    • Youless LS110 / Velux Raumluftfühler / Oregon Scientific WMR180A
    • IPS: CENOVO MINI China PC / IPS-2: Razberry PI B+

  2. #12
    Registriert seit
    Jun 2018
    Beiträge
    18

    Frage wenn eine Abfrage von:
    Code:
    GetPowerFlowRealtimeData.fcgi?Scope=Device&DeviceId=
    Code:
    {
       "Body" : {
          "Data" : {
             "Inverters" : {
                "1" : {
                   "Battery_Mode" : "normal",
                   "DT" : xx,
                   "E_Day" : xxx,
                   "E_Total" : xxx,
                   "E_Year" : xxx,
                   "P" : 1234,
                   "SOC" : xx
    über IPS mit JSON stattfindet,
    wäre der Aufruf wie folgt?

    Ich glaube die 1 in der Abfrage ist so fehlerhaft, könnte da jemand helfen, sich sicherlich eine sehr einfache Sache aber ich komme gerade nicht drauf.

    Code:
    if ($content4 !== False){
        $json4 = json_decode($content4);
    	    $pac = $json4->Body->Data->Inverters->"1"->P->Value;
     } else {SetValue(34542 /*[Fronius\Power]*/,15); return;}

    Viele Grüße

  3. #13
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,616

    Zitat Zitat von nickknx Beitrag anzeigen
    Ich glaube die 1 in der Abfrage ist so fehlerhaft
    PHP-Code:
    $data json_decode($jsontrue);
    $pac $data["Body"]["Data"]["Inverters"]["1"]["P"]; 

  4. #14
    Registriert seit
    Jun 2018
    Beiträge
    18

    Danke das läuft super, werde alles darauf umbauen, die Abfragegeschwindigkeit erhöht sich enorm.

    Vg.

  5. #15
    Registriert seit
    May 2019
    Beiträge
    5

    Standard Script funktioniert bei mir nicht bekomme folgende Meldung

    Error 1 at row 1 col 1 near ^$content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRea
    Parse following code failed:
    $content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID= 1&DataCollection=CommonInverterData"); // Dies ist die Abfrage. Zu ändern ist die IP und die DeviceID entsprechend eurer Geräte

    if ($content === False){
    echo "Nicht erreichbar";
    $pac = 0;
    $fac = 0;
    SetValue(57819 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Power]*/,$pac);
    SetValue(16194 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo AC Frequency]*/,$fac);
    return;
    // Dies ist die Kontrolle, ob der Wechselrichter erreichbar ist. Wenn nein, dann habe ich Power und Frequency auf null gesetzt, da ich manchmal "Restwerte" von 1 hatte (letzte erreichbare Abfrage war 1W) Die hätte er sonst bis zur nächsten Erreichbarkeit angezeigt.

    }


    $json = json_decode($content);


    //Dies ist die eigentliche Wertabfrage und Zuweisung zu den vorne stehenden Variablen
    //Ihr könnt es mit den Werten ergänzen die Ihr wollt
    $day = $json->Body->Data->DAY_ENERGY->Value;
    $total = $json->Body->Data->TOTAL_ENERGY->Value;
    $year = $json->Body->Data->YEAR_ENERGY->Value;
    $fac = $json->Body->Data->FAC->Value;
    $pac = $json->Body->Data->PAC->Value;



    $day = $day / 1000; // Umrechnung Watt in Kilowatt
    $total = $total / 1000;
    $year = $year / 1000;

    // Variablenzuweisung mit euren Variablen ändern
    SetValue(23340 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Day Energy]*/,$day);
    SetValue(28828 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Total Energy]*/,$total);
    SetValue(44925 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Year Energy]*/,$year);
    SetValue(16194 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo AC Frequency]*/,$fac);
    SetValue(57819 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Power]*/,$pac);

    ?>

  6. #16
    Registriert seit
    May 2019
    Beiträge
    5

    Zitat Zitat von petersymo Beitrag anzeigen
    Error 1 at row 1 col 1 near ^$content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRea
    Parse following code failed:
    $content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID= 1&DataCollection=CommonInverterData"); // Dies ist die Abfrage. Zu ändern ist die IP und die DeviceID entsprechend eurer Geräte

    if ($content === False){
    echo "Nicht erreichbar";
    $pac = 0;
    $fac = 0;
    SetValue(57819 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Power]*/,$pac);
    SetValue(16194 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo AC Frequency]*/,$fac);
    return;
    // Dies ist die Kontrolle, ob der Wechselrichter erreichbar ist. Wenn nein, dann habe ich Power und Frequency auf null gesetzt, da ich manchmal "Restwerte" von 1 hatte (letzte erreichbare Abfrage war 1W) Die hätte er sonst bis zur nächsten Erreichbarkeit angezeigt.

    }


    $json = json_decode($content);


    //Dies ist die eigentliche Wertabfrage und Zuweisung zu den vorne stehenden Variablen
    //Ihr könnt es mit den Werten ergänzen die Ihr wollt
    $day = $json->Body->Data->DAY_ENERGY->Value;
    $total = $json->Body->Data->TOTAL_ENERGY->Value;
    $year = $json->Body->Data->YEAR_ENERGY->Value;
    $fac = $json->Body->Data->FAC->Value;
    $pac = $json->Body->Data->PAC->Value;



    $day = $day / 1000; // Umrechnung Watt in Kilowatt
    $total = $total / 1000;
    $year = $year / 1000;

    // Variablenzuweisung mit euren Variablen ändern
    SetValue(23340 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Day Energy]*/,$day);
    SetValue(28828 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Total Energy]*/,$total);
    SetValue(44925 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Year Energy]*/,$year);
    SetValue(16194 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo AC Frequency]*/,$fac);
    SetValue(57819 /*[Energie\PVAnlage\FRONIUS\Fronius SYMO\Symo Power]*/,$pac);

    ?>



    Der html String direkt im Browser eingegeben liefert diese Daten aber korrekt
    http://192.168.178.108/solar_api/v1/...onInverterData


    Unit "Wh"
    Value 4337
    DeviceStatus
    ErrorCode 0
    LEDColor 2
    LEDState 0
    MgmtTimerRemainingTime -1
    StateToReset false
    StatusCode 7
    FAC
    Unit "Hz"
    Value 49.97
    IAC
    Unit "A"
    Value 2.33
    IDC
    Unit "A"
    Value 0.83
    PAC
    Unit "W"
    Value 540
    TOTAL_ENERGY
    Unit "Wh"
    Value 75047
    UAC
    Unit "V"
    Value 229.9
    UDC
    Unit "V"
    Value 688.4
    YEAR_ENERGY
    Unit "Wh"
    Value 75047.5
    Head
    RequestArguments
    DataCollection "CommonInverterData"
    DeviceClass "Inverter"
    DeviceId "1"
    Scope "Device"
    Status
    Code 0
    Reason ""
    UserMessage ""
    Timestamp "2019-05-15T16:10:37+02:00"

  7. #17
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,616

    Zitat Zitat von petersymo Beitrag anzeigen
    Error 1 at row 1 col 1 near ^$content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRea
    Parse following code failed:
    Kommt denn bei dem Dreizeiler auch eine Fehlermeldung?
    PHP-Code:
    <?php
    $content 
    file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData"); 
    var_dump($content);

  8. #18
    Registriert seit
    May 2019
    Beiträge
    5

    Standard Ja kommt folgende Fehlermeldung

    Error 1 at row 1 col 2 near ^?php
    $content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInver
    Parse following code failed:
    <?php
    $content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID= 1&DataCollection=CommonInverterData");
    var_dump($content);

  9. #19
    Registriert seit
    May 2019
    Beiträge
    5

    Standard String alleine im Browser funktioniert aber

    Zitat Zitat von petersymo Beitrag anzeigen
    Error 1 at row 1 col 2 near ^?php
    $content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInver
    Parse following code failed:
    <?php
    $content = file_get_contents("http://192.168.178.108/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID= 1&DataCollection=CommonInverterData");
    var_dump($content);
    Geb ich aber den http string alleine im Browser ein funktioniert es 😞

    {
    "Body" : {
    "Data" : {
    "DAY_ENERGY" : {
    "Unit" : "Wh",
    "Value" : 5536
    },
    "DeviceStatus" : {
    "ErrorCode" : 0,
    "LEDColor" : 2,
    "LEDState" : 0,
    "MgmtTimerRemainingTime" : -1,
    "StateToReset" : false,
    "StatusCode" : 7
    },
    "FAC" : {
    "Unit" : "Hz",
    "Value" : 49.960000000000001
    },
    "IAC" : {
    "Unit" : "A",
    "Value" : 0.5
    },
    "IDC" : {
    "Unit" : "A",
    "Value" : 0.23000000000000001
    },
    "PAC" : {
    "Unit" : "W",
    "Value" : 117
    },
    "TOTAL_ENERGY" : {
    "Unit" : "Wh",
    "Value" : 76246
    },
    "UAC" : {
    "Unit" : "V",
    "Value" : 234.30000000000001
    },
    "UDC" : {
    "Unit" : "V",
    "Value" : 653.10000000000002
    },
    "YEAR_ENERGY" : {
    "Unit" : "Wh",
    "Value" : 76246.899999999994
    }
    }
    },
    "Head" : {
    "RequestArguments" : {
    "DataCollection" : "CommonInverterData",
    "DeviceClass" : "Inverter",
    "DeviceId" : "1",
    "Scope" : "Device"
    },
    "Status" : {
    "Code" : 0,
    "Reason" : "",
    "UserMessage" : ""
    },
    "Timestamp" : "2019-05-15T18:58:02+02:00"
    }
    }

  10. #20
    Registriert seit
    Oct 2011
    Ort
    Hattersheim (Hessen)
    Beiträge
    6,616

    Zitat Zitat von petersymo Beitrag anzeigen
    Error 1 at row 1 col 2 near ^?php
    Wo führst Du das Skript denn genau aus? Ist das ein PHP Server oder hast Du IP-Symcon installiert und führst das Skript im Objektbaum aus? Kannst Du mal einen Screenshot machen vom Skript wie das bei Dir aussieht?

Ähnliche Themen

  1. FRONIUS Wechselrichter
    Von PWC im Forum Haustechnik
    Antworten: 157
    Letzter Beitrag: 01.11.19, 16:58
  2. Antworten: 2
    Letzter Beitrag: 29.03.17, 09:04
  3. IPS 3.x mit JSON-RPC Schnittstelle und Mediola
    Von josp666 im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 9
    Letzter Beitrag: 29.12.13, 10:16
  4. Fronius Wechselrichter über Netzwerk einbinden
    Von Lieschen im Forum Haustechnik
    Antworten: 1
    Letzter Beitrag: 30.11.13, 18:22
  5. Fronius Wechselrichter
    Von kronos im Forum Haustechnik
    Antworten: 8
    Letzter Beitrag: 04.11.10, 17:13