Autor Thema: Fronius Solar API Versionsunterschiede  (Gelesen 579 mal)

Offline vuffiraa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 859
Fronius Solar API Versionsunterschiede
« am: 28 Juli 2021, 12:12:11 »
Hallo,

ich bin auf der Suche nach ein paar Leuten mit Fronius Wechselrichtern und weicher 70% Regelung, die mal das Verhalten der Fronius Solar API testen. Der Ursprung meines Problems kommt von hier, aber dort fehlen mir noch ein paar hilfreiche Antworten.

Es geht um das Auslesen der Daten vom S0- oder SmartMeter per Solar API. Bei meinem Fronius Symo 8.2-3-M hat sich das Verhalten nach dem Update des Datenmanagers von 3.16.7-1 nach 3.18.7-1 geändert. Mit der alten Version wurden die Zählerdaten so abgerufen:
http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceID=<energiemeter-id>Das funktionierte mit der neuen Version des Datenmanagers nicht mehr, es kommt eine Fehlermeldung:
{
   "Body" : {
      "Data" : {}
   },
   "Head" : {
      "RequestArguments" : {
         "DeviceClass" : "Meter",
         "Scope" : "Device"
      },
      "Status" : {
         "Code" : 6,
         "Reason" : "CGI-Args: Invalid parameter '' for attribute 'DeviceId' (must be numeric)",
         "UserMessage" : ""
      },
      "Timestamp" : "2021-07-28T11:56:28+02:00"
   }
}

Die korrekte URL zum Abrufen der Zählerdaten ist:
http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceId=<energiemeter-id>Damit kann ich die Daten wieder Abrufen. Mich interessiert nun, ob diese Version der URL eigentlich auch schon immer mit der alten Version des Datenmanagers funktioniert hätte. Diese URL entspricht auch der Beschreibung aus der Dokumentation der Solar API. Eventuell waren die älteren Versionen des Datenmanagers einfach nur toleranter.

Ihr würdet mir helfen, wenn ihr beide URLs einfach mal im Browser ausprobiert und das Ergebnis hier eintragt, zusammen mit Froniustyp und Datenanagerversion.
In den URL müssen die Platzhalter entsprechend ersetzt werden. Die IP des WR solltest du wissen, die ID des Energiemeters kannst du mit dieser URL kontrollieren:
http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=SystemDa kommt dann sowas zurück:
{
    "Body": {
        "Data": {
            "2": {
                "Current_AC_Phase_1": 0.91900000000000004,
                "Current_AC_Phase_2": 0.83099999999999996,
                "Current_AC_Phase_3": 0.80700000000000005,
                "Details": {
                    "Manufacturer": "Fronius",
                    "Model": "Smart Meter 63A",
                    "Serial": "xxx"
                },
                "Enable": 1,
                "EnergyReactive_VArAC_Sum_Consumed": 4777810,
                "EnergyReactive_VArAC_Sum_Produced": 55453150,
                "EnergyReal_WAC_Minus_Absolute": 12826274,
                "EnergyReal_WAC_Plus_Absolute": 0,
                "EnergyReal_WAC_Sum_Consumed": 12826274,
                "EnergyReal_WAC_Sum_Produced": 0,
                "Frequency_Phase_Average": 49.899999999999999,
                "Meter_Location_Current": 1,
                "PowerApparent_S_Phase_1": 217.06780000000001,
                "PowerApparent_S_Phase_2": 196.7808,
                "PowerApparent_S_Phase_3": 190.53270000000001,
                "PowerApparent_S_Sum": 370,
                "PowerFactor_Phase_1": 0.85999999999999999,
                "PowerFactor_Phase_2": 0.84999999999999998,
                "PowerFactor_Phase_3": 0.83999999999999997,
                "PowerFactor_Sum": 0.84999999999999998,
                "PowerReactive_Q_Phase_1": -79.609999999999999,
                "PowerReactive_Q_Phase_2": -45.140000000000001,
                "PowerReactive_Q_Phase_3": -68.469999999999999,
                "PowerReactive_Q_Sum": -193.22,
                "PowerReal_P_Phase_1": -135.03,
                "PowerReal_P_Phase_2": -74.319999999999993,
                "PowerReal_P_Phase_3": -107.48999999999999,
                "PowerReal_P_Sum": -316.83999999999997,
                "TimeStamp": 1627230044,
                "Visible": 1,
                "Voltage_AC_PhaseToPhase_12": 409.60000000000002,
                "Voltage_AC_PhaseToPhase_23": 409.5,
                "Voltage_AC_PhaseToPhase_31": 409,
                "Voltage_AC_Phase_1": 236.19999999999999,
                "Voltage_AC_Phase_2": 236.80000000000001,
                "Voltage_AC_Phase_3": 236.09999999999999
            }
        }
    },
    "Head": {
        "RequestArguments": {
            "DeviceClass": "Meter",
            "Scope": "System"
        },
        "Status": {
            "Code": 0,
            "Reason": "",
            "UserMessage": ""
        },
        "Timestamp": "2021-07-25T18:20:45+02:00"
    }
}
Interessant ist die "2" in der 4. Zeile, das ist die ID des Energiemeters.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Offline eurofinder

  • Full Member
  • ***
  • Beiträge: 454
Antw:Fronius Solar API Versionsunterschiede
« Antwort #1 am: 28 Juli 2021, 13:14:15 »
Hier mal meine Daten.
http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceId=<energiemeter-id>ergibt
{
   "Body" : {
      "Data" : {
         "Current_AC_Phase_1" : 2.9569999999999999,
         "Current_AC_Phase_2" : 2.3679999999999999,
         "Current_AC_Phase_3" : 2.5070000000000001,
         "Details" : {
            "Manufacturer" : "Fronius",
            "Model" : "Smart Meter 63A",
            "Serial" : "xxx"
         },
         "Enable" : 1,
         "EnergyReactive_VArAC_Sum_Consumed" : 217390,
         "EnergyReactive_VArAC_Sum_Produced" : 46876690,
         "EnergyReal_WAC_Minus_Absolute" : 7050662,
         "EnergyReal_WAC_Plus_Absolute" : 2390344,
         "EnergyReal_WAC_Sum_Consumed" : 2390344,
         "EnergyReal_WAC_Sum_Produced" : 7050662,
         "Frequency_Phase_Average" : 49.899999999999999,
         "Meter_Location_Current" : 0,
         "PowerApparent_S_Phase_1" : 681.88419999999996,
         "PowerApparent_S_Phase_2" : 546.77120000000002,
         "PowerApparent_S_Phase_3" : 582.87750000000005,
         "PowerApparent_S_Sum" : 1762,
         "PowerFactor_Phase_1" : -0.96999999999999997,
         "PowerFactor_Phase_2" : -0.95999999999999996,
         "PowerFactor_Phase_3" : -0.97999999999999998,
         "PowerFactor_Sum" : -0.96999999999999997,
         "PowerReactive_Q_Phase_1" : -146.38999999999999,
         "PowerReactive_Q_Phase_2" : -131.47999999999999,
         "PowerReactive_Q_Phase_3" : -93.859999999999999,
         "PowerReactive_Q_Sum" : -371.73000000000002,
         "PowerReal_P_Phase_1" : -660.24000000000001,
         "PowerReal_P_Phase_2" : -502.10000000000002,
         "PowerReal_P_Phase_3" : -561.64999999999998,
         "PowerReal_P_Sum" : -1723.99,
         "TimeStamp" : 1627470265,
         "Visible" : 1,
         "Voltage_AC_PhaseToPhase_12" : 399.69999999999999,
         "Voltage_AC_PhaseToPhase_23" : 401.30000000000001,
         "Voltage_AC_PhaseToPhase_31" : 401.10000000000002,
         "Voltage_AC_Phase_1" : 230.59999999999999,
         "Voltage_AC_Phase_2" : 230.90000000000001,
         "Voltage_AC_Phase_3" : 232.5
      }
   },
   "Head" : {
      "RequestArguments" : {
         "DeviceClass" : "Meter",
         "DeviceId" : "0",
         "Scope" : "Device"
      },
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2021-07-28T13:04:26+02:00"
   }
}

http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Systemergibt
{
   "Body" : {
      "Data" : {
         "0" : {
            "Current_AC_Phase_1" : 2.3149999999999999,
            "Current_AC_Phase_2" : 1.8160000000000001,
            "Current_AC_Phase_3" : 1.835,
            "Details" : {
               "Manufacturer" : "Fronius",
               "Model" : "Smart Meter 63A",
               "Serial" : "xxx"
            },
            "Enable" : 1,
            "EnergyReactive_VArAC_Sum_Consumed" : 217390,
            "EnergyReactive_VArAC_Sum_Produced" : 46876910,
            "EnergyReal_WAC_Minus_Absolute" : 7050747,
            "EnergyReal_WAC_Plus_Absolute" : 2390344,
            "EnergyReal_WAC_Sum_Consumed" : 2390344,
            "EnergyReal_WAC_Sum_Produced" : 7050747,
            "Frequency_Phase_Average" : 49.899999999999999,
            "Meter_Location_Current" : 0,
            "PowerApparent_S_Phase_1" : 534.30200000000002,
            "PowerApparent_S_Phase_2" : 419.67759999999998,
            "PowerApparent_S_Phase_3" : 424.61900000000003,
            "PowerApparent_S_Sum" : 1311,
            "PowerFactor_Phase_1" : -0.95999999999999996,
            "PowerFactor_Phase_2" : -0.93999999999999995,
            "PowerFactor_Phase_3" : -0.96999999999999997,
            "PowerFactor_Sum" : -0.95999999999999996,
            "PowerReactive_Q_Phase_1" : -141.27000000000001,
            "PowerReactive_Q_Phase_2" : -128.44999999999999,
            "PowerReactive_Q_Phase_3" : -93.829999999999998,
            "PowerReactive_Q_Sum" : -363.55000000000001,
            "PowerReal_P_Phase_1" : -507.58999999999997,
            "PowerReal_P_Phase_2" : -360.72000000000003,
            "PowerReal_P_Phase_3" : -392.25999999999999,
            "PowerReal_P_Sum" : -1260.5699999999999,
            "TimeStamp" : 1627470476,
            "Visible" : 1,
            "Voltage_AC_PhaseToPhase_12" : 400,
            "Voltage_AC_PhaseToPhase_23" : 400.5,
            "Voltage_AC_PhaseToPhase_31" : 400.30000000000001,
            "Voltage_AC_Phase_1" : 230.80000000000001,
            "Voltage_AC_Phase_2" : 231.09999999999999,
            "Voltage_AC_Phase_3" : 231.40000000000001
         }
      }
   },
   "Head" : {
      "RequestArguments" : {
         "DeviceClass" : "Meter",
         "Scope" : "System"
      },
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2021-07-28T13:07:56+02:00"
   }
}

Mein Fronius-System: Symo 6.0-3-M mit 3.16.7-1. Die Version 3.18.7-1 habe ich noch nicht installiert.

Gruß
eurofinder
RPI3+; Raspbian Buster Lite; RPI-RF-MOD; piVCCU3, HMIP-eTRV-2, HmIP-SWDO, HmIP-SRH, HmIP-STHO, HmIP-SLO

Offline Marlen

  • Hero Member
  • *****
  • Beiträge: 1102
Antw:Fronius Solar API Versionsunterschiede
« Antwort #2 am: 23 August 2021, 17:32:59 »
Und hier noch meine:

Wo bekomm ich denn für
http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceID=<energiemeter-id>die Energiemeter-id her?


http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Systemergibt:
{
   "Body" : {
      "Data" : {
         "0" : {
            "ACBRIDGE_CURRENT_ACTIVE_MEAN_01_F32" : -0.54600000000000004,
            "ACBRIDGE_CURRENT_ACTIVE_MEAN_02_F32" : 0.53700000000000003,
            "ACBRIDGE_CURRENT_ACTIVE_MEAN_03_F32" : -0.39900000000000002,
            "ACBRIDGE_CURRENT_AC_SUM_NOW_F64" : -0.40800000000000003,
            "ACBRIDGE_VOLTAGE_MEAN_12_F32" : 397.0,
            "ACBRIDGE_VOLTAGE_MEAN_23_F32" : 393.30000000000001,
            "ACBRIDGE_VOLTAGE_MEAN_31_F32" : 394.60000000000002,
            "COMPONENTS_MODE_ENABLE_U16" : 1.0,
            "COMPONENTS_MODE_VISIBLE_U16" : 1.0,
            "COMPONENTS_TIME_STAMP_U64" : 1629732391.0,
            "Details" : {
               "Manufacturer" : "Fronius",
               "Model" : "Smart Meter TS 65A-3",
               "Serial" : "2571239927"
            },
            "GRID_FREQUENCY_MEAN_F32" : 50.0,
            "SMARTMETER_ENERGYACTIVE_ABSOLUT_MINUS_F64" : 1475967.0,
            "SMARTMETER_ENERGYACTIVE_ABSOLUT_PLUS_F64" : 40508.0,
            "SMARTMETER_ENERGYACTIVE_CONSUMED_SUM_F64" : 40508.0,
            "SMARTMETER_ENERGYACTIVE_PRODUCED_SUM_F64" : 1475967.0,
            "SMARTMETER_ENERGYREACTIVE_CONSUMED_SUM_F64" : 14494.0,
            "SMARTMETER_ENERGYREACTIVE_PRODUCED_SUM_F64" : 243911.0,
            "SMARTMETER_FACTOR_POWER_01_F64" : -0.33800000000000002,
            "SMARTMETER_FACTOR_POWER_02_F64" : 0.55200000000000005,
            "SMARTMETER_FACTOR_POWER_03_F64" : -0.94899999999999995,
            "SMARTMETER_FACTOR_POWER_SUM_F64" : -0.19400000000000001,
            "SMARTMETER_POWERACTIVE_01_F64" : -24.800000000000001,
            "SMARTMETER_POWERACTIVE_02_F64" : 46.0,
            "SMARTMETER_POWERACTIVE_03_F64" : -52.799999999999997,
            "SMARTMETER_POWERACTIVE_MEAN_01_F64" : -33.488333333333344,
            "SMARTMETER_POWERACTIVE_MEAN_02_F64" : 36.980999999999995,
            "SMARTMETER_POWERACTIVE_MEAN_03_F64" : -6.435666666666668,
            "SMARTMETER_POWERACTIVE_MEAN_SUM_F64" : -32.700000000000003,
            "SMARTMETER_POWERAPPARENT_01_F64" : 75.200000000000003,
            "SMARTMETER_POWERAPPARENT_02_F64" : 85.400000000000006,
            "SMARTMETER_POWERAPPARENT_03_F64" : 55.700000000000003,
            "SMARTMETER_POWERAPPARENT_MEAN_01_F64" : 82.135333333333335,
            "SMARTMETER_POWERAPPARENT_MEAN_02_F64" : 87.157666666666671,
            "SMARTMETER_POWERAPPARENT_MEAN_03_F64" : 52.067333333333323,
            "SMARTMETER_POWERAPPARENT_MEAN_SUM_F64" : 215.19999999999999,
            "SMARTMETER_POWERREACTIVE_01_F64" : -70.900000000000006,
            "SMARTMETER_POWERREACTIVE_02_F64" : -72.0,
            "SMARTMETER_POWERREACTIVE_03_F64" : -17.600000000000001,
            "SMARTMETER_POWERREACTIVE_MEAN_SUM_F64" : -161.30000000000001,
            "SMARTMETER_VALUE_LOCATION_U16" : 0.0,
            "SMARTMETER_VOLTAGE_01_F64" : 227.69999999999999,
            "SMARTMETER_VOLTAGE_02_F64" : 228.5,
            "SMARTMETER_VOLTAGE_03_F64" : 228.0,
            "SMARTMETER_VOLTAGE_MEAN_01_F64" : 228.07266666666658,
            "SMARTMETER_VOLTAGE_MEAN_02_F64" : 228.52400000000023,
            "SMARTMETER_VOLTAGE_MEAN_03_F64" : 228.23166666666651
         }
      }
   },
   "Head" : {
      "RequestArguments" : {
         "DeviceClass" : "Meter",
         "Scope" : "System"
      },
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2021-08-23T15:26:31+00:00"
   }
}

MFG
  Marlen
Raspberry Pi 3;CUL; 4xRauchmelder HM-Sec-SD-2; 1xHM-MOD-EM-8; 3xHM-MOD-Re-8; 8xHM-Sec-SCo; 1-wire-USB-Bus; 1-wire-WLAN-Bridge; Telegram; MQTT; Sonoff; Xiaomi V1; AlexaFhem.....

Offline vuffiraa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 859
Antw:Fronius Solar API Versionsunterschiede
« Antwort #3 am: 25 August 2021, 13:56:21 »
Und hier noch meine:

Wo bekomm ich denn für
http://<ip-fronius-wr>/solar_api/v1/GetMeterRealtimeData.cgi?Scope=Device&DeviceID=<energiemeter-id>die Energiemeter-id her?

Die ID findet sich in Zeile 4 deiner Rückgabe aus dem anderen Aufruf: also '0'.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

 

decade-submarginal