Fronius Solar API Versionsunterschiede

Begonnen von vuffiraa, 28 Juli 2021, 12:12:11

Vorheriges Thema - Nächstes Thema

vuffiraa

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=System
Da 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

eurofinder

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=System
ergibt
{
   "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

Marlen

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=System
ergibt:
{
   "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

vuffiraa

Zitat von: Marlen 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?

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