The Fronius Solar API is a means for third parties to obtain data from various Fronius devices (inverters, Sensor
Cards, StringControls) in a defined format through a central facility which acts as a proxy (e.g. Fronius Datalogger
Web or Fronius Solar.web).
Currently, the only way to interact with this API is by making a HTTP request to a specific CGI. The URLs for
the particular requests and the devices supporting them are listed at the beginning of each request description.
The API is versioned, meaning that multiple versions of this API may be available on the same device. The URLs
in this document always point to the version of the API which this document describes. The highest supported
version on the device can be queried. See 2.4.1 for details.
In order to check your product for compatibility with this version of the API specification, please see the separate
document provided for this purpose.
The API divides roughly into realtime and archive requests: Realtime requests will obtain the data directly from the
devices and can therefore only be used when the devices are not in standby or unavailable in any other manner.
Archive requests will use the data stored in a central logging facility to obtain the results and are of course not
subjected to the former limitation.
2General Considerations
2.1Output Formats
Currently, the only output format supported is JSON, a lightweight data interchange format. It is easy to read
and write for both humans and machines and it offers some advantages over XML, like basic typing and a leaner
structure.
+ It is strongly recommended to use appropriate frameworks or tools to parse json objects properly
2.2Fronius GEN24 and Tauro
2.2.1 Client Generation using OAS
We provide an OpenAPI interface specification1file for GEN24/Tauro inverters to support client generation in
multiple languages.
Download the file here: https://www.fronius.com/QR-link/0025.
To display the spec you can use https://editor.swagger.io, for proper client generation please use https://openapi-generator.tech.
2.2.2 Inverter to inverter communication
Collecting data from multiple inverters in the same network is not supported by so called system requests on
GEN24/Tauro devices. To gather the information please invoke ident requests on all GEN24/Tauro inverters
interested by you.
2.3Data Types
2.3.1 Numeric Types
JSON only knows one kind of numeric type, which can represent both floating point and integer values. It is how
ever possible to specify a type in JSON description, but it is always in the hands of the interpreting system into
which datatype a numeric node is converted.
Which range a certain numeric node actually can have is often determined by the device providing the value,
and may also vary depending on the type of device (e.g. ”UAC” can be an integer value on older inverters, but a
floating point value on newer ones).
1
https://swagger.io/specification
6
This means we cannot reliably specify value ranges for all requests. So it is the responsibility of the API user
to determine whether a value fits into a certain datatype in his language of choice.
What we can do is to specify whether a certain value is a floating point value (marked as ”number”) or an integer
value (marked as ”integer”), where ”integer” must not be interpreted as the datatype ”int” like available in C/C++,
it just means it is a value without decimal places.
For these specifications, please refer to the sections discussing the respective request.
Examples
number 1, 2, 0, 4, 4.0, 0.001, 10.002, ....
integer 1, 2, 0, 4, 10
unsigned integer 1, 0, 4, 10
unsigned number 1, 0, 4, 10, 0.001, 14.1234
2.3.2 Date/Time
Information on date/time is always (and can only be) represented by a string. The format for these strings inside
this API has been defined as follows.
• Strings which include information on both date and time are always in RFC3339 format with time zone offset
or Zulu marker.
See Section 5.6 of RFC3339
Example 1: 2011-10-20T10:23:17+02:00 (UTC+2)
Example 2: 2011-10-20T08:23:17Z (UTC)
• Strings which only include information on the date are of the format yyyy-MM-dd.
• Strings which only include information on the time are of the format
hh:mm:ss
.
• If no information on the time zone is given, any date/time specification is considered to be in local time of
the PV system.
2.4Requests
Currently, the only request protocol supported is HTTP.
+ Use HTTPGET requests to query data from Solar API
2.4.1 Querying of API version
The highest supported version on the device can be queried using the URL
/solar_api/GetAPIVersion.cgi.
Listing 1: Object structure of GetAPIVersion response
ob je ct {
# Numeric ver si on of the API.
# all D at amanager and Hy br id ma na ge r support onl y APIVersion 1
un si gn ed integer APIVer si on ;
# URL under wh ich the CGIs for the re qu ests can be reache d.
st ri ng BaseURL;
# C om pa ti bi li ty v ersion of current im pl em en ta ti on ( ex ce pt Get Po we rF lo wR ealtimeData )
# THIS FIEL D IS AVAILABLE AND MANDATORY SI NC E
#Datamanager 3.9. 1-x
#Hybridmanager 1.7. 1-x
# FORMAT: MAJO R.MINOR -BUI LD
#Major : co mp at ib il it y range (something big c ha ng ed )
#Minor : fe at ure range ( new f ea tu res added )
7
#Build : bu gfix revision (onl y b ug fi xes a pplied )
st ri ng Compati bi li ty Ra ng e;
}
Listing 2: Example: Complete response for GetAPIVersion request
{
"APIVersion " : 1,
"BaseURL" : "/solar_api /v1/",
"Compat ib il it yR an ge " : "1.5 -9 "
}
2.4.2 Addressing of devices
A specific device is identified by the string parameter DeviceId.
For Fronius Solar Net devices this string shall contain the numeric address of the targeted device.
Future generations of Fronius devices may also use non numerical addresses, so this API is designed to allow
for both.
2.5Responses
The response will always be a valid JSON string ready to be evaluated by standard libraries.
If the response is delivered through HTTP, the Content-Type Header shall be either text/javascript or
application/json.
All JSON structures are described using Orderly JSON, a textual format for describing JSON data. Please refer
to the online documentation on https://github.com/lloyd/orderly/ for details.
Note that the definitions of some response bodies are not totally accurate, because there’s no (known) way to
express nodes named after values/channels (e.g. objects which are named ”PAC” or ”Power”). But each descrip
tion is accompanied by an example which should clear up any uncertainty.
The contents of the response object will vary depending on the preceding request but it always contains a common
response header and a request body.
Listing 3: Object structure of valid response
ob je ct {
ob je ct Head : { }*;
ob je ct Body : { }*;
}
Listing 4: Example: Complete response for GetInverterRealtimeData request on non hybrid system
A request is listed as ”Available” if the response http code differs to 404 (not found). It does not relay to technical
compatibility nor functionality.
2.5.2 Common Response Header
The common response header (CRH) is present in every response. It indicates, among other things, whether the
request has been successful and the body of the response is valid.
Listing 5: Object Structure of Common Response Header
ob je ct {
# R ep etition of the parameters which pr od uc ed this respon se .
ob je ct {
# Filled with p ro perties named li ke the g iven parameters.
}* RequestArguments;
# I nf or ma ti on about t he response.
9
ob je ct {
# I ndicates if the r eq ue st went OK or give s a hint abou t w hat went wrong .
# 0 m ea ns OK , any ot her value me ans s omething went wrong ( e.g. De vice no t a vailabl e ,
# invalid pa rams , no data in logf la sh for gi ven ti me , ...) .
in te ge r Code;
# Error message , may be empty.
st ri ng Reason ;
# Error me ss ag e to be displayed to th e user , may be empty.
st ri ng UserMessage ;
} Status;
# RFC3339 timestam p i n localtime of the d at al og ge r.
# This is the time the r eq uest was a ns we red - N OT th e time when the d ata
# was qu er ied from th e device.
st ri ng Timestamp ;
};
ValueStatusDescription
0OKAYRequest successfully finished, Data are valid
1NotImplementedThe request or a part of the request is not implemented yet
2UninitializedInstance of APIRequest created, but not yet configured
3InitializedRequest is configured and ready to be sent
4RunningRequest is currently being processed (waiting for response)
5TimeoutResponse was not received within desired time
6Argument ErrorInvalid arguments/combination of arguments or missing arguments
7LNRequestErrorSomething went wrong during sending/receiving of LNmessage
8LNRequestTimeoutLNrequest timed out
9LNParseErrorSomething went wrong during parsing of successfully received LNmessage
10ConfigIOErrorSomething went wrong while reading settings from local config
11NotSupportedThe operation/feature or whatever is not supported
12DeviceNotAvailableThe device is not available
255UnknownErrorundefined runtime error
Table 1: Error Code Table
2.5.3 Request Body
The request body contains the actual data produced by the request and is therefore different for each request.
The object structures of the various response bodies will be detailed later in the description of the respective API
request.
2.6Timeout
Up to 2 realtime requests are allowed to be performed in parallel with keeping a timeout of 4 seconds between
two consecutive calls.
Archive requests are not allowed to be performed in parallel and need to keep a timeout of 120 seconds between
two consecutive calls.
3Enable/Disable
The Solar API’s enable/disable feature is available on GEN24 only.
The configuration to enable or disable the Solar API can be found in the WebUI under Communication Solar API (1).
If the Solar API is disabled, a Solar API request will return with a 404HTTPerror and the message ”Solar API
10
Figure 1: Solar API activation/deactivation
disabled by customer config” will be displayed.
Default enable/disable behaviour:
• For new devices with a bundle version of 1.14.1 or higher the Solar API is deactivated per default.
• For existing devices which are updated, the Solar API remains enabled.
• If a factory reset is performed with existing devices running a bundle version of 1.14.1 or higher, the Solar
API will be deactivated per default as well.
4Realtime Requests
These requests will be provided where direct access to the realtime data of the devices is possible. This is cur
rently the case for the Fronius Datalogger Web and the Fronius Datamanager.
In order to eliminate the need to specify each wanted value separately when making a request or querying each
value separately, so called ”Data Collections” were defined.
The values in these collections are gathered from one or more Fronius Solar Net messages and supplied to the
user in a single response to a certain request.
It may be the case that more values are queried from the device than the user is interested in, but the overhead
caused by these superfluous values should be negligible compared to the advantages this strategy provides for
the user.
If a device cannot provide some values of a DataCollection (e.g. because they are not implemented on
the device) then those values are omitted from the response.
4.1GetInverterRealtimeData request
This request does not care about the configured visibility of single inverters. All inverters are reported.
4.1.1 Availability
PlatformSince version
Fronius HybridNot all DataCollections supported
Fronius Non HybridALWAYS
Fronius GEN24/TauroNot all DataCollections supported
Selects the collection of data that should
be queried from the device.
See 4.1.5 for details.
4.1.5 Data Collections
CumulationInverterData Values which are cumulated to generate a system overview.
Value namespecific data typeDescription
PACintegerAC power (negative value for consuming power)
DAY_ENERGYunsigned numberAC Energy generated on current day
Non Hybrid: May be imprecise
GEN24/Tauro: will always report null
YEAR_ENERGYunsigned numberAC Energy generated in current year
Non Hybrid: May be imprecise
GEN24/Tauro: will always report null
TOTAL_ENERGYunsigned numberAC Energy generated overall
Non Hybrid: May be imprecise
GEN24/Tauro:supported since 1.14 (updated every
5min)
DeviceStatusobjectStatus information about inverter
CommonInverterData Values which are provided by all types of Fronius inverters.
12
Value namespecific data typeDescription
PACintegerAC power (negative value for consuming power)
SACunsigned integerAC power (absolute)
Currently not implemented because not handled correctly
by all inverters.
GEN24/Tauro report this value
IACunsigned numberAC current (absolute, accumulated over all lines)
UACunsigned numberAC voltage
FACunsigned numberAC frequency
IDCunsigned numberDC current
IDC_xunsigned numberDC current of MPPT tracker x (x = 2..4; available on
GEN24/Tauro only)
UDCunsigned numberDC voltage
UDC_xunsigned numberDC voltage of MPPT tracker x (x = 2..4; available on
GEN24/Tauro only)
DAY_ENERGYunsigned numberAC Energy generated on current day
Non Hybrid: May be imprecise
GEN24/Tauro: will always report null
YEAR_ENERGYunsigned numberAC Energy generated in current year
Non Hybrid: May be imprecise
GEN24/Tauro: will always report null
TOTAL_ENERGYunsigned numberAC Energy generated overall
Non Hybrid: May be imprecise
GEN24/Tauro:supported since 1.14(updated every
5min)
DeviceStatusobjectStatus information about inverter
3PInverterData Values which are provided by 3phase Fronius inverters.
Value namespecific data typeDescription
IAC_L1unsigned numberAC current Phase 1 (absolute)
IAC_L2unsigned numberAC current Phase 2 (absolute)
IAC_L3unsigned numberAC current Phase 3 (absolute)
UAC_L1unsigned numberAC voltage Phase 1
UAC_L2unsigned numberAC voltage Phase 2
UAC_L3unsigned numberAC voltage Phase 3
T_AMBIENTintegerAmbient temperature
Most inverter like GEN24/Tauro do not provide it. Only
provided by CL, XL and IG500/400.
ROTATION_SPEED_FAN_FLunsigned integerRotation speed of front left fan
not provided on GEN24/Tauro
ROTATION_SPEED_FAN_FRunsigned integerRotation speed of front right fan
not provided on GEN24/Tauro
ROTATION_SPEED_FAN_BLunsigned integerRotation speed of back left fan
not provided on GEN24/Tauro
ROTATION_SPEED_FAN_BRunsigned integerRotation speed of back right fan
not provided on GEN24/Tauro
MinMaxInverterData Minimum and Maximumvalues of various inverter values.
13
Value namespecific data typeDescription
DAY_PMAXunsigned integerMaximum AC power of current day
DAY_UACMAXnumberMaximum AC voltage of current day
DAY_UACMINnumberMinimum AC voltage of current day
DAY_UDCMAXnumberMaximum DC voltage of current day
YEAR_PMAXunsigned integerMaximum AC power of current year
YEAR_UACMAXnumberMaximum AC voltage of current year
YEAR_UACMINnumberMinimum AC voltage of current year
YEAR_UDCMAXnumberMaximum DC voltage of current year
TOTAL_PMAXunsigned integerMaximum AC power of current year
TOTAL_UACMAXnumberMaximum AC voltage overall
TOTAL_UACMINnumberMinimum AC voltage overall
TOTAL_UDCMAXnumberMaximum DC voltage overall
4.1.6 Object structure of response body (Scope ”Device”)
Listing 6: Object structure of response body for GetInverterRealtimeData request (Scope ”Device”)
ob je ct {
# C ol lection of na me d valu e -uni t p airs accordin g to selected DataCollection.
# Members of Data object ar e n amed accordin g to the v al ue they r epresent (e .g. " PAC").
ob je ct {
# Value -Uni t pair.
ob je ct {
# U nscaled value.
# value na me base d s pe ci fi c data type
<specifi c data type > V alue ;
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
} _ _V AL UE _N AM E_ _;
}* Data ;
};
4.1.7 Example of response body (Scope ”Device”)
Listing 7: Response body for GetInverterRealtimeData scope=”Device” and collection=”CommonInverterData”
4.1.8 Object structure of response body (Scope ”System”)
Listing 13: Object structure of response body for GetInverterRealtimeData request (Scope ”System”)
ob je ct {
# C ol lection of na me d o bject( s) containing values pe r device and m et ad ata.
# Members of Data object ar e n amed accordin g to the v al ue they r epresent (e .g. " PAC").
ob je ct {
# Value -Uni t pair.
ob je ct {
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
# U nscaled values pe r d evice.
# P roperty name is th e D eviceId to wh ich the value belongs.
ob je ct {
<specific data type > 1;# va lue from d evice with i ndex 1.
<specific data type > 2;# va lue from d evice with i ndex 2.
# .. and so on .
}* Values ;
} _ _V AL UE _N AM E_ _;
}* Data ;
};
4.1.9 Example of response body (Scope ”System”)
Listing 14: Example of response body for GetInverterRealtimeData request (Scope ”System”)
This request provides data for all channels of a single Fronius Sensor Card.
Inactive channels and channels with damaged sensors are not included in the response.
4.2.1 Availability
PlatformSince version
Fronius HybridALWAYS
Fronius Non HybridALWAYS
Fronius GEN24/TauroALWAYS
+ This API is useless on Fronius Hybrid systems which are unable to get connected to sensor cards
anyway.
+ API is available but returns an error on GEN24/Tauro.
or whole system
DeviceIdStringSolar Net: 0 …9Which card to query.
DataCollectionString”NowSensorData”
”MinMaxSensorData”
Selects the collection of data that should
be queried from the device.
See 4.2.4 for details.
4.2.4 Data Collections
NowSensorData The presently measured values of every active channel.
MinMaxSensorData The minimum and maximum values for every time period (day, month, year, total) of every
channel.
Some channels do not have a minimum value because it would always be zero. For these channels, the minimum
value is not included.
4.2.5 Object structure of response body (DataCollection ”NowSensorData”)
Listing 16: Object structure of response body for GetSensorRealtimeData request (DataCollection ”NowSensor
Data”)
ob je ct {
# C ol lection of na me d o bject( s) containing values pe r channel an d m etadata.
# Members of Data object ar e n amed accordin g to the c ha nn el index they represen t ( e. g.
"0 ") .
ob je ct {
# Value -Uni t pair.
ob je ct {
22
# Value for the c ha nn el .
nu mb er Value;
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
} _ _C HA NN EL _I ND EX __;
}* Data ;
};
4.2.6 Example of response body (DataCollection ”NowSensorData”)
Listing 17: Example of response body for GetSensorRealtimeData request (DataCollection ”NowSensorData”)
{
"Body" : {
"Data" : {
"0" : {
"Unit" : "°C",
"Value " : -9
},
"1" : {
"Unit" : "°C",
"Value " : 24
},
"2" : {
"Unit" : "W/m2 ",
"Value " : 58 9
},
"4" : {
"Unit" : "KWh /m2 ",
"Value " : 0
}
}
},
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " NowSensorData ",
"DeviceClass" : " Se ns or Ca rd ",
"DeviceId " : "1" ,
4.2.7 Object structure of response body (DataCollection ”MinMaxSensorData”)
Listing 18: Object structure of response body for GetSensorRealtimeData request (DataCollection ”MinMaxSen
sorData”)
ob je ct {
# C ol lection of na me d o bject( s) containing min/max va lu es per c ha nn el and m et ad at a.
# Members of Data object ar e n amed accordin g to the c ha nn el index they represen t ( e. g.
"0 ") .
23
ob je ct {
# Object representing one ch annel.
ob je ct {
# Whether th is channel is curren tl y ac tive .
bo ol ea n S en so rA ct iv e;
# Object representing min/max va lu es of cu rr ent day.
ob je ct {
# Maximum valu e with unit .
ob je ct {
nu mb er Value;
st ri ng Unit ;
} Max;
# Minimum valu e with unit .
# This obje ct is on ly present i n temperature channels (channel # 0 an d 1)
# as ot her c hannels do not have m inimum valu es .
ob je ct {
nu mb er Value;
st ri ng Unit ;
} Min;
} Day;
# Object representing min/max va lu es of cu rr ent month .
ob je ct {
ob je ct {
nu mb er Value;
st ri ng Unit ;
} Max;
ob je ct {
nu mb er Value;
st ri ng Unit ;
} Min;
} Month ;
# Object representing min/max va lu es of cu rr ent year.
ob je ct {
ob je ct {
} Max;
ob je ct {
} Min;
} Year;
# Object representing total min/ ma x v alues.
ob je ct {
ob je ct {
} Max;
ob je ct {
} Min;
} Total ;
} _ _C HA NN EL _I ND EX __;
}* Data ;
nu mb er Value;
st ri ng Unit ;
nu mb er Value;
st ri ng Unit ;
nu mb er Value;
st ri ng Unit ;
nu mb er Value;
st ri ng Unit ;
};
24
4.2.8 Example of response body (DataCollection ”MinMaxSensorData”)
Listing 19: Example of response body for GetSensorRealtimeData request (DataCollection ”MinMaxSensorData”)
{
"Body" : {
"Data" : {
"0" : {
"Day " : {
"Max " : {
"Unit" : "°C",
"Value " : 66
},
"Min " : {
"Unit" : "°C",
"Value " : 46
}
},
"Month " : {
"Max " : {
"Unit" : "°C",
"Value " : 85
},
"Min " : {
"Unit" : "°C",
"Value " : 0
}
},
"SensorActive " : true ,
"Total " : {
"Max " : {
"Unit" : "°C",
"Value " : 85
},
"Min " : {
"Unit" : "°C",
"Value " : -35
}
},
"Year" : {
"Max " : {
"Unit" : "°C",
"Value " : 85
},
"Min " : {
"Unit" : "°C",
"Value " : 0
}
}
},
"1" : {
"Day " : {
"Max " : {
"Unit" : "°C",
"Value " : 27
},
"Min " : {
"Unit" : "°C",
"Value " : 27
}
},
"Month " : {
"Max " : {
"Unit" : "°C",
"Value " : 77
},
"Min " : {
25
"Unit" : "°C",
"Value " : 27
}
},
"SensorActive " : true ,
"Total " : {
"Max " : {
"Unit" : "°C",
"Value " : 18 7
},
"Min " : {
"Unit" : "°C",
"Value " : -35
}
},
"Year" : {
"Max " : {
"Unit" : "°C",
"Value " : 77
},
"Min " : {
"Unit" : "°C",
"Value " : 27
}
}
},
"2" : {
"Day " : {
"Max " : {
"Unit" : "W/m2 ",
"Value " : 0
}
},
"Month " : {
"Max " : {
"Unit" : "W/m2 ",
"Value " : 15 9
}
},
"SensorActive " : true ,
"Total " : {
"Max " : {
"Unit" : "W/m2 ",
"Value " : 1003 6
}
},
"Year" : {
"Max " : {
"Unit" : "W/m2 ",
"Value " : 15 9
}
}
},
"3" : {
"Day " : {
"Max " : {
"Unit" : "Hz",
"Value " : 0
}
},
"Month " : {
"Max " : {
"Unit" : "Hz",
"Value " : 0
}
},
"SensorActive " : f alse ,
26
"Total " : {
"Max " : {
"Unit" : "Hz",
"Value " : 29 75
}
},
"Year" : {
"Max " : {
"Unit" : "Hz",
"Value " : 0
}
}
},
"4" : {
"Day " : {
"Max " : {
"Unit" : "Hz",
"Value " : 0
}
},
"Month " : {
"Max " : {
"Unit" : "Hz",
"Value " : 0
}
},
"SensorActive " : f alse ,
"Total " : {
"Max " : {
"Unit" : "Hz",
"Value " : 29 82
}
},
"Year" : {
"Max " : {
"Unit" : "Hz",
"Value " : 0
}
}
},
"5" : {
"Day " : {
"Max " : {
"Unit" : "A",
"Value " : 0
}
},
"Month " : {
"Max " : {
"Unit" : "A",
"Value " : 0
}
},
"SensorActive " : true ,
"Total " : {
"Max " : {
"Unit" : "A",
"Value " : 3693 4
}
},
"Year" : {
"Max " : {
"Unit" : "A",
"Value " : 0
}
}
}
27
}
},
"Head": {
"RequestA rg um en ts ": {
"DataCollection ": " MinMaxS en so rD at a",
"DeviceClass" : " Se ns or Ca rd ",
"DeviceId " : "1"
Selects the collection of data that
should be queried from the device.
See 4.3.5 for details.
Only needed for Collection ”Cur
rentSumStringControlData”
For which time period the current
sums should be requested.
4.3.4 Collection availability
DataCollectionsupported on
Non HybridHybridGEN24/Tauro
NowStringControlDataYESuselessYES
LastErrorStringControlDataYESuselessNO
CurrentSumStringControlDataYESuselessNO
4.3.5 Data Collections
NowStringControlData The presently measured currents of every channels.
28
LastErrorStringControlData Information about the last error which triggered a service message.
CurrentSumStringControlData
Current sums of all channels for a selected time period (day, year or total).
4.3.6 Object structure of response body (DataCollection ”NowStringControlData” and ”CurrentSum
StringControlData”)
Listing 20: Object structure of response body for GetStringRealtimeData request (DataCollection ”NowStringCon
trolData” and ”CurrentSumStringControlData”)
ob je ct {
# C ol lection of na me d o bject( s) containing values pe r channel an d m etadata.
# Members of Data object ar e n amed accordin g to the c ha nn el index they represen t ( e. g.
"0 ") .
ob je ct {
# Value -Uni t pair.
ob je ct {
# Value for the c ha nn el .
nu mb er Value;
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
} _ _C HA NN EL _I ND EX __;
}* Data ;
};
4.3.7 Example of response body (DataCollection ”CurrentSumStringControlData”)
Listing 21: Example of response body for GetStringRealtimeData request (DataCollection ”CurrentSumString
ControlData”)
{
"Body" : {
"Data" : {
"1" : {
"Unit" : "Ah",
"Value " : 0
},
"2" : {
"Unit" : "Ah",
"Value " : 0
},
"3" : {
"Unit" : "Ah",
"Value " : 0
},
"4" : {
"Unit" : "Ah",
"Value " : 0
},
"5" : {
"Unit" : "Ah",
"Value " : 0
}
}
},
"Head" : {
"RequestA rg um en ts " : {
29
"DataCollection " : " Current Su mS tr in gControlData",
"DeviceClass" : " St ri ng Co nt ro l",
"DeviceId " : "8" ,
"Scope " : "Devic e",
This request provides information about all inverters that are currently being monitored by the logging device. So
this means that inverters which are currently not online are also reported by this request, provided these inverters
have been seen by the logging device within the last 24 hours.
If information about devices currently online is needed, the GetActiveDeviceInfo request should be used. This
request also provides information about device classes other than inverters.
4.6.1 Availability
PlatformSince version
Fronius HybridALWAYS
Fronius Non HybridALWAYS
Fronius GEN24/TauroALWAYS
36
4.6.2 URL for HTTP requests
/solar_api/v1/GetInverterInfo.cgi
4.6.3 Object structure of response body
Listing 31: Object structure of response body for GetInverterInfo request
ob je ct {
# C ol lection of obje ct s w ith infos about one i nverter ,
# mapped by inverter index.
ob je ct {
# Info abou t a si ngle inverter.
# Name of object is th e i nverter index.
ob je ct {
# Device type of the inverter.
# GEN24 /Tau ro inverter will always report d evice type 1.
in te ge r DT;
# PV po wer c on nected to this inve rt er (in wa tts) .
# If no ne defined, defaul t p ow er for t his DT is used .
# Will provid e dc power values sinc e G EN24 /Tauro v ersion 1.13.5 .
in te ge r P VPower ;
# Custom name of the invert er , assigned by th e c ustomer.
# P rovided since 1.18.1 -0 on Symo Hybr id
# Will contai n h tml encoded stri ng s on Datamanager an d Symo Hybr id
# Will contai n p la in utf-8 t ext on GE N24/ Tauro
st ri ng CustomName;
# Whether th e device shall be displayed in visualizations according
# to cust om er s ettings. (0 do not s how; 1 show)
# v is ua li za ti on s ettings.
un si gn ed integer Sh ow ;
# Unique ID of the in ve rt er (e.g. se rial numb er ).
st ri ng UniqueID;
# Error co de that is cu rr en tl y p re se nt on inverter.
# A v al ue of -1 me ans that t here is no valid e rr or code .
in te ge r E rr or Code ;
# Status code r ef lecting the op er at io na l s ta te of the i nv er te r.
# S upported sinc e 1 .1 3.5 on GE N2 4/Tauro, olde r v er si on s r eport a n um eric string here.
in te ge r S ta tu sC od e;
# Status string r ef le ct in g the operationa l st ate of the inverter.
# Only provided for GE N24/Tauro si nce version 1. 13 .5
st ri ng InverterState ;
} _ _I NV ER TE R_ IN DEX__ ;
}* Data ;
};
4.6.4 Example of response body
Listing 32: Example of response body for GetInverterInfo request
+ The item ’DT’ is not valid for Inverters on GEN24/Tauro
4.8GetMeterRealtimeData request
This request provides detailed information about Meter devices. Inactive channels are not included in the re
sponse and may vary depending on used metering device and software version. Take care about permanently or
temporary missing channels when processing this response.
44
4.8.1 Availability
PlatformSince version
Fronius HybridALWAYS
Fronius Non Hybrid3.3.48
Fronius GEN24/Tauroplanned in 1.13
Some values are optional since meter is able to operate on one or three phases.
SunsSpec Meter
device dependend
4.8.5 Channel Descriptions
NameDescription
Enable1...enabled, 0...disabled
Visible1...use values, 0...incomplete or outdated values
Current_AC_Phase_*absolute values for 63A3,63A1 and 50KA3
only UL and TS meter provide directions
feedin negative(); consumption positive(+)
Meter_Location_Current0...grid interconnection point (primary meter)
meter specific view
EnergyReactive_VArAC_Sum_Consumed/Produced
EnergyReal_WAC_Plus/Minus_Absolutesystem specific view
EnergyReal_WAC_Phase_*_Consumed/Produced
meter specific view
EnergyReal_WAC_Sum_Consumed/Produced
The values EnergyReal_WAC_Sum_Produced and EnergyReal_WAC_Sum_Consumed represent the values
for the Smart Meter itself. The values EnergyReal_WAC_Minus_Absolute and EnergyReal_WAC_Plus_Absolute
represent the values for Solar.web. Now it depends where the Smart Meter is installed (FeedInPoint or Consumption
Path), so that either EnergyReal_WAC_Minus_Absolute is the same as EnergyReal_WAC_Sum_Produced or
EnergyReal_WAC_Sum_Consumed.
47
4.8.6 Meter Location Dependend Directions (primary meter)
Meter_Location_Current0
feed in
1
consumption path
PowerReal_P_Sum (+ positive)consuming from gridproducing power
PowerReal_P_Sum ( negative)feeding in to gridnormal consumption
EnergyReal_WAC_Plus_Absolute
(absolute counter)
EnergyReal_WAC_Minus_Absolute
(absolute counter)
import from grid
EnergyReal_WAC_Phase_*_Consumed
export to grid
EnergyReal_WAC_Phase_*_Produced
producing power *
EnergyReal_WAC_Phase_*_Produced
consumption
EnergyReal_WAC_Phase_*_Consumed
* May occur when other power generation is located in load path and producing more power than load can con
sume.
4.8.7 Meter Location Dependend Directions (secondary meter)
Meter_Location_Current3
ext. generator
256511
subloads
PowerReal_P_Sum (+ positive)generationload is producing power
PowerReal_P_Sum ( negative)consumptionnormal consumption
EnergyReal_WAC_Plus_Absolute
(absolute counter)
EnergyReal_WAC_Minus_Absolute
(absolute counter)
* May occur when other power generation is located in load path and producing more power than load can con
sume.
4.8.8 SystemRequest
Listing 42: Object structure of response body for GetMeterRealtimeData request
# C ol lection of obje ct s w ith infos about multiple Me ters ,
# mapped by serial numb er .
ob je ct {
#list of single d evice objects
ob je ct {
#optional de ta il ed i nf or ma tion about de vice
#supported since:
#Fro ni us Symo H ybrid: w ith version grea te r t han or equal t o 1.1.2 -14
#Non Fronius Sy mo Hybrid : with vers io n g re at er than or eq ua l to 3. 3.6-14
ob je ct {
st ri ng Serial ;
st ri ng Model;
st ri ng Manufacturer;
} Details ;
#channels of devi ce ( textual name and va lue)
nu mb er * _ _C HA NN EL _N AM E__;
} * D ev ic eI d;
} Data ;
{
"Body" : {
"Data" : {
"0" : {
Listing 43: Example of response body for GetMeterRealtimeData System request
"Curren t_ AC _P ha se _1 " : 0.74199999999999 99 9 ,
"Curren t_ AC _P ha se _2 " : 0.63200000000000 00 1 ,
48
"Curren t_ AC _P ha se _3 " : 0.65400000000000 00 3 ,
"Details" : {
"Manufacturer " : " Fron iu s",
"Model " : "Smart Meter 63 A",
"Serial" : " 15160189 "
},
"Enable" : 1,
"En er gy Re ac tive_VArAC_Su m_ Co ns um ed" : 9156 420,
"En er gy Re ac tive_VArAC_Su m_ Pr od uc ed" : 878944 50 ,
"En er gy Re al _W AC_Minus_Abso lu te " : 16 42802,
"Ener gy Re al _W AC_Plus_Absolut e" : 1983 86 97 ,
"Ener gy Re al _W AC_Sum_Consumed " : 19 838697 ,
"Ener gy Re al _W AC_Sum_Produced " : 1642802,
"Freq ue nc y_ Ph as e_Average " : 50,
"Mete r_ Lo ca ti on _C urrent" : 0,
"Powe rA pp ar en t_ S_Phase_1 " : 1 72 .3 66 60 00 00 00001,
"Powe rA pp ar en t_ S_Phase_2 " : 1 47 .0 03 19 99 99 99999,
"Powe rA pp ar en t_ S_Phase_3 " : 1 52 .5 78 20 00 00 00001,
"Powe rA pp ar en t_ S_ Su m" : 31 ,
"Powe rF ac to r_ Ph as e_ 1" : 0,
"Powe rF ac to r_ Ph as e_ 2" : 0.97999999999999998 ,
"Powe rF ac to r_ Ph as e_ 3" : 1,
"PowerFacto r_ Su m" : 0.81999999999999995 ,
"Powe rR ea ct iv e_ Q_Phase_1 " : 1 2. 55 00 00 00 00 00001,
"Powe rR ea ct iv e_ Q_Phase_2 " : 5 .8 09 99 99 99 99 99996,
"Powe rR ea ct iv e_ Q_Phase_3 " : 0,
"Powe rR ea ct iv e_ Q_ Su m" : 18.359999999999999,
"Powe rR ea l_ P_ Ph as e_ 1" : 0,
"Powe rR ea l_ P_ Ph as e_ 2" : -40.56 00 00 000000002,
"Powe rR ea l_ P_ Ph as e_ 3" : 15.029999999999999,
"PowerReal_ P_ Su m" : -25.53000 00 00 000001 ,
"TimeStamp" : 15613649 09 ,
"Visible" : 1,
"Volt ag e_ AC _P haseToPhase_12" : 402.6000000000 00 02 ,
"Volt ag e_ AC _P haseToPhase_23" : 40 3.5,
"Volt ag e_ AC _P haseToPhase_31" : 403.1999999999 99 99 ,
"Voltag e_ AC _P ha se _1 " : 232.30000000 00 00 01 ,
"Voltag e_ AC _P ha se _2 " : 232.59999999 99 99 99 ,
"Voltag e_ AC _P ha se _3 " : 233.300000000 00 00 1
},
"1" : {
"Curren t_ AC _P ha se _1 " : -0.5831 04 49 12 3382568,
"Curren t_ AC _P ha se _2 " : -0.6785 48 27 64 2440796,
"Curren t_ AC _P ha se _3 " : -0.7008 51 67 88482666 ,
"Current_AC_Sum " : - 1. 9625044465065 00 2 ,
"Details" : {
"Manufacturer " : " Fron iu s",
"Model " : "CCS WattNode W NC -3D -480-M B" ,
"Serial" : "186477 "
},
"Enable" : 1,
"En er gy Re al _W AC_Minus_Abso lu te " : 73 36854,
"En er gy Re al _WAC_Phase_1_Co ns um ed " : 1320 806,
"En er gy Re al _WAC_Phase_1_Pr od uc ed " : 1933 071,
"En er gy Re al _WAC_Phase_2_Co ns um ed " : 15 8238 ,
"En er gy Re al _WAC_Phase_2_Pr od uc ed " : 3043 466,
"En er gy Re al _WAC_Phase_3_Co ns um ed " : 17 9872 ,
"En er gy Re al _WAC_Phase_3_Pr od uc ed " : 2912 264,
"Ener gy Re al _W AC_Plus_Absolut e" : 1106 969,
"Ener gy Re al _W AC_Sum_Consumed " : 1106969,
"Ener gy Re al _W AC_Sum_Produced " : 7336854,
"Freq ue nc y_ Ph as e_Average " : 5 0. 11 68 44 17 72 46094,
"Mete r_ Lo ca ti on _C urrent" : 256,
"Powe rA pp ar en t_ S_Phase_1 " : 1 35 .0 41 27 50 24 41406,
"Powe rA pp ar en t_ S_Phase_2 " : 1 60 .4 32 67 82 22 65625,
"Powe rA pp ar en t_ S_Phase_3 " : 1 63 .0 42 28 21 04 49219,
"Powe rA pp ar en t_ S_ Su m" : 458.5162353515625 ,
49
"Powe rF ac to r_ Ph as e_ 1" : 1,
"Powe rF ac to r_ Ph as e_ 2" : 1,
"Powe rF ac to r_ Ph as e_ 3" : 1,
"PowerFacto r_ Su m" : 1,
"Powe rR ea ct iv e_ Q_Phase_1 " : 0,
"Powe rR ea ct iv e_ Q_Phase_2 " : 0,
"Powe rR ea ct iv e_ Q_Phase_3 " : 0,
"Powe rR ea ct iv e_ Q_ Su m" : 0,
"Powe rR ea l_ P_ Ph as e_ 1" : -135.0 41 27 502441406,
"Powe rR ea l_ P_ Ph as e_ 2" : -160.4 32 67 822265625,
"Powe rR ea l_ P_ Ph as e_ 3" : -163.0 42 28 210449219,
"PowerReal_ P_ Su m" : -458.5162 35 35 15625,
"TimeStamp" : 15613649 87 ,
"Visible" : 1,
"Volt ag e_ AC _P haseToPhase_12" : 405.3290710449 21 88 ,
"Volt ag e_ AC _P haseToPhase_23" : 406.2306823730 46 88 ,
"Volt ag e_ AC _P haseToPhase_31" : 402.0307006835 93 75 ,
"Voltag e_ AC _P ha se _1 " : 231.59017944 33 59 38 ,
"Voltag e_ AC _P ha se _2 " : 236.43516540 52 73 44 ,
"Voltag e_ AC _P ha se _3 " : 232.63450622 55 85 94 ,
"Volt ag e_ AC _P ha se_Average" : 2 33 .5 53 28 369140625
},
"2" : {
"Curren t_ AC _P ha se _1 " : 0.57899999999999 99 6 ,
"Current_AC_Sum " : 0. 57 89 99 99 99 99 99 99 6,
"Details" : {
"Manufacturer " : " Fron iu s",
"Model " : "Smart Meter 63 A-1",
"Serial" : " 15160009 "
},
"Enable" : 1,
"En er gy Re ac tive_VArAC_ Ph as e_ 1_ Consumed" : 260,
"En er gy Re ac tive_VArAC_ Ph as e_ 1_ Produced" : 826179 0,
"En er gy Re ac tive_VArAC_Su m_ Co ns um ed" : 26 0,
"En er gy Re ac tive_VArAC_Su m_ Pr od uc ed" : 8261 790,
"En er gy Re al _W AC_Minus_Abso lu te " : 0 ,
"En er gy Re al _WAC_Phase_1_Co ns um ed " : 5670 793,
"En er gy Re al _WAC_Phase_1_Pr od uc ed " : 0,
"Ener gy Re al _W AC_Plus_Absolut e" : 5670 793,
"Ener gy Re al _W AC_Sum_Consumed " : 5670793,
"Ener gy Re al _W AC_Sum_Produced " : 0 ,
"Freq ue nc y_ Ph as e_Average " : 50,
"Mete r_ Lo ca ti on _C urrent" : 257,
"Powe rA pp ar en t_ S_Phase_1 " : 1 35.19 ,
"Powe rA pp ar en t_ S_ Su m" : 135. 19 ,
"Powe rF ac to r_ Ph as e_ 1" : 0.96999999999999997 ,
"PowerFacto r_ Su m" : 0.96999999999999997 ,
"Powe rR ea ct iv e_ Q_Phase_1 " : -22.62999999 99 99999,
"Powe rR ea ct iv e_ Q_ Su m" : -22.62 99 99 999999999,
"Powe rR ea l_ P_ Ph as e_ 1" : 132.09999999999999,
"PowerReal_ P_ Su m" : 132.09999999999999,
"TimeStamp" : 15613650 38 ,
"Visible" : 1,
"Voltag e_ AC _P ha se _1 " : 233. 5
},
"3" : {
"Details" : {
"Manufacturer " : " Fron iu s",
"Model " : "S0 Meter at inverter 40 ",
"Serial" : "n.a."
},
"Enable" : 1,
"Mete r_ Lo ca ti on _C urrent" : 258,
"TimeStamp" : 15609428 97 ,
"En er gy Re al _W AC_Minus_Rela ti ve ": 0,
"Ener gy Re al _W AC_Plus_Relativ e": 0 ,
"PowerReal_ P_ Su m": 0 ,
50
"Visible" : 1
},
"4": {
"Curren t_ AC _P ha se _1 ": 0,
"Curren t_ AC _P ha se _2 ": 0,
"Curren t_ AC _P ha se _3 ": 0,
"Current_AC_Sum ": 0 ,
"Details" : {
"Enable": 1 ,
"En er gy Re al _W AC_Minus_Abso lu te ": 3321 ,
"En er gy Re al _WAC_Phase_1_Co ns um ed ": 33 21 ,
"En er gy Re al _WAC_Phase_1_Pr od uc ed ": 10 996,
"En er gy Re al _WAC_Phase_2_Co ns um ed ": 0,
"En er gy Re al _WAC_Phase_2_Pr od uc ed ": 0,
"En er gy Re al _WAC_Phase_3_Co ns um ed ": 0,
"En er gy Re al _WAC_Phase_3_Pr od uc ed ": 14 ,
"Ener gy Re al _W AC_Plus_Absolut e": 1 1010 ,
"Ener gy Re al _W AC_Sum_Consumed ": 3321 ,
"Ener gy Re al _W AC_Sum_Produced ": 11010,
"Freq ue nc y_ Ph as e_Average ": 49.98338699340 82 ,
"Mete r_ Lo ca ti on _C urrent" : 259,
"Powe rA pp ar en t_ S_Phase_1 ": 0,
"Powe rA pp ar en t_ S_Phase_2 ": 0,
"Powe rA pp ar en t_ S_Phase_3 ": 0,
"Powe rA pp ar en t_ S_ Su m": 0 ,
"Powe rF ac to r_ Ph as e_ 1": 1 ,
"Powe rF ac to r_ Ph as e_ 2": 1 ,
"Powe rF ac to r_ Ph as e_ 3": 1 ,
"PowerFacto r_ Su m": 1 ,
"Powe rR ea ct iv e_ Q_Phase_1 ": 0,
"Powe rR ea ct iv e_ Q_Phase_2 ": 0,
"Powe rR ea ct iv e_ Q_Phase_3 ": 0,
"Powe rR ea ct iv e_ Q_ Su m": 0 ,
"Powe rR ea l_ P_ Ph as e_ 1": 0 ,
"Powe rR ea l_ P_ Ph as e_ 2": 0 ,
"Powe rR ea l_ P_ Ph as e_ 3": 0 ,
"PowerReal_ P_ Su m": 0 ,
"TimeStamp" : 15199119 21 ,
"Visible" : 1,
"Volt ag e_ AC _P haseToPhase_12": 2 38 .1 53 83 91 11 32812,
"Volt ag e_ AC _P haseToPhase_23": 0,
"Volt ag e_ AC _P haseToPhase_31": 2 32 .9 16 76 33 05 66406,
"Voltag e_ AC _P ha se _1 ": 404.5267944335 93 75 ,
"Voltag e_ AC _P ha se _2 ": 231.7088470458 98 44 ,
"Voltag e_ AC _P ha se _3 ": 232.7247924804 68 75 ,
"Volt ag e_ AC _P ha se_Average" : 2 89 .6 53 47 29 003906
},
"5": {
"Curren t_ AC _P ha se _1 ": 0,
"Curren t_ AC _P ha se _2 ": 0,
"Curren t_ AC _P ha se _3 ": 0,
"Details" : {
"Manufacturer ": " Froniu s",
"Model ": "Smart Meter 50 kA -3",
"Serial": " 17362721"
},
"Enable": 1 ,
"En er gy Re ac tive_VArAC_Su m_ Co ns um ed" : 34 ,
"En er gy Re ac tive_VArAC_Su m_ Pr od uc ed" : 17 4,
"En er gy Re al _W AC_Minus_Abso lu te ": 3940 ,
"Ener gy Re al _W AC_Plus_Absolut e": 434 ,
"Ener gy Re al _W AC_Sum_Consumed ": 3940 ,
"Ener gy Re al _W AC_Sum_Produced ": 434,
51
}
},
"Head" : {
}
}
"Freq ue nc y_ Ph as e_Average ": 49.900000743567944,
"Mete r_ Lo ca ti on _C urrent" : 3,
"Powe rA pp ar en t_ S_Phase_1 ": 0,
"Powe rA pp ar en t_ S_Phase_2 ": 0,
"Powe rA pp ar en t_ S_Phase_3 ": 0,
"Powe rA pp ar en t_ S_ Su m": 0 ,
"Powe rF ac to r_ Ph as e_ 1": 0.9999 99 97 76 48 25 82 ,
"Powe rF ac to r_ Ph as e_ 2": 0.9999 99 97 76 48 25 82 ,
"Powe rF ac to r_ Ph as e_ 3": 0.9999 99 97 76 48 25 82 ,
"PowerFacto r_ Su m": 0. 99 99 999776482582 ,
"Powe rR ea ct iv e_ Q_Phase_1 ": 0,
"Powe rR ea ct iv e_ Q_Phase_2 ": 0,
"Powe rR ea ct iv e_ Q_Phase_3 ": 0,
"Powe rR ea ct iv e_ Q_ Su m": 0 ,
"Powe rR ea l_ P_ Ph as e_ 1": 0 ,
"Powe rR ea l_ P_ Ph as e_ 2": 0 ,
"Powe rR ea l_ P_ Ph as e_ 3": 0 ,
"PowerReal_ P_ Su m": 0 ,
"TimeStamp" : 15199119 21 ,
"Visible" : 1,
"Volt ag e_ AC _P haseToPhase_12": 4 04 .9 00 01 92 31 71803,
"Volt ag e_ AC _P haseToPhase_23": 4 04 .5 00 01 92 12 71905,
"Volt ag e_ AC _P haseToPhase_31": 4 04 .4 00 01 92 079693 ,
"Voltag e_ AC _P ha se _1 ": 233.7000111001 54 37 ,
"Voltag e_ AC _P ha se _2 ": 233.8000111049 04 12 ,
"Voltag e_ AC _P ha se _3 ": 233.30001108115 54
Listing 44: Object structure of response body for GetMeterRealtimeData request
# object with d etailed informations about one Meter,
ob je ct {
ob je ct {
st ri ng Serial ;
st ri ng Model;
st ri ng Manufacturer;
} Details ;
#channels of devi ce ( textual name and va lue)
nu mb er * _ _C HA NN EL _N AM E__;
} Data ;
Listing 45: Example of response body for GetMeterRealtimeData Device request
52
{
"Body" : {
},
"Head" : {
}
}
"Data" : {
"Curren t_ AC _P ha se _1 " : 0.61899999999999 99 9 ,
"Curren t_ AC _P ha se _2 " : 0.68799999999999 99 4 ,
"Curren t_ AC _P ha se _3 " : 0.55100000000000 00 5 ,
"Details" : {
"Manufacturer " : " Fron iu s",
"Model " : "Smart Meter 63 A",
"Serial" : " 15480258 "
},
"Enable" : 1,
"En er gy Re ac tive_VArAC_Su m_ Co ns um ed" : 2183 700,
"En er gy Re ac tive_VArAC_Su m_ Pr od uc ed" : 47100,
"Ener gy Re al _W AC_Minus_Abso lu te " : 40 75753,
"Ener gy Re al _W AC_Plus_Absolut e" : 9418 40 ,
"Ener gy Re al _W AC_Sum_Consumed " : 941840 ,
"Ener gy Re al _W AC_Sum_Produced " : 4075753,
"Freq ue nc y_ Ph as e_Average " : 50,
"Mete r_ Lo ca ti on _C urrent" : 0,
"Powe rA pp ar en t_ S_Phase_1 " : 1 43.9794,
"Powe rA pp ar en t_ S_Phase_2 " : 1 59.5472,
"Powe rA pp ar en t_ S_Phase_3 " : 1 27 .4 46 30 00 00 00002,
"Powe rA pp ar en t_ S_ Su m" : 211.36000000000001,
"Powe rF ac to r_ Ph as e_ 1" : 0.97999999999999998 ,
"Powe rF ac to r_ Ph as e_ 2" : 1,
"Powe rF ac to r_ Ph as e_ 3" : 1,
"PowerFacto r_ Su m" : 1,
"Powe rR ea ct iv e_ Q_Phase_1 " : 9 .9 00 00 00 00 00 00004,
"Powe rR ea ct iv e_ Q_Phase_2 " : 0,
"Powe rR ea ct iv e_ Q_Phase_3 " : 4 .7 99 99 99 99 99 99998,
"Powe rR ea ct iv e_ Q_ Su m" : 14.699999999999999,
"Powe rR ea l_ P_ Ph as e_ 1" : -75,
"Powe rR ea l_ P_ Ph as e_ 2" : -74.28 00 00 000000001,
"Powe rR ea l_ P_ Ph as e_ 3" : -62.07 99 99 999999998,
"PowerReal_ P_ Su m" : -211.3600 00 00 000001 ,
"TimeStamp" : 15604303 30 ,
"Visible" : 1,
"Volt ag e_ AC _P haseToPhase_12" : 402.3000000000 00 01 ,
"Volt ag e_ AC _P haseToPhase_23" : 401.1000000000 00 02 ,
"Volt ag e_ AC _P haseToPhase_31" : 401.6999999999 99 99 ,
"Voltag e_ AC _P ha se _1 " : 232.59999999 99 99 99 ,
"Voltag e_ AC _P ha se _2 " : 231.90000000 00 00 01 ,
"Voltag e_ AC _P ha se _3 " : 231.300000000 00 00 1
This request provides detailed information about batteries. Inactive channels are not included in the response and
may vary depended on battery used and software version. Take care about permanently or temporary missing
53
channels when processing this response.
4.9.1 Availability
PlatformSince version
Fronius Hybrid1.1.213
Fronius Non HybridNOT AVAILABLE
Fronius GEN24/Tauro1.13
4.9.2 3rd Party Batteries
will be displayed since HybridManager version 1.13.1x and Solar API Version 1.517. Older versions reported
an error:
Listing 46: Former response body for GetStorageRealtimeData request using BYD Box
{
"Body" : {
"Data" : {}
},
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " St orage" ,
"DeviceId " : "0" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 255,
"Reason" : " battery type 'BYD ' is not su pp orted",
Table 3: Channel and description for control section
Name of channelDescriptionAvailable
FroniusLGBYD
SolarChemBox
BatteryResu H
Details / Manufacturername of manufactureralwaysalwaysalways
Details / Modelmodel of batteryalwaysalwaysalways
Details / Serialunique identification serialalwaysalwaysalways
TimeStamplast timestamp data has been refrehsedalwaysalwaysalways
Enabledevice is managed (1.0) or disconnected (0.0)alwaysalwaysalways
StateOfCharge_Relativerelative charged capacity in %alwaysalwaysalways
Capacity_Maximumcurrent max capacityalwaysalwaysalways
DesignedCapacitymax designed capacityalwaysalwaysalways
Current_DCbattery output current (+ charging)alwaysalwaysalways
Voltage_DCbattery output voltagealwaysalwaysalways
Temperature_Celltemperature in degree celsiusalwaysalwaysalways
Table 4: Channel and description for module section (only Solar Battery provides module informations)
Listing 47: Object structure of response body for GetStorageRealtimeData request
# object with d etailed informations about one Battery
ob je ct {
ob je ct {
ob je ct {
ob je ct {
# serial number of batter y
st ri ng Serial ;
55
Table 2: Channel and value description
Name of channelDescription
Status_BatteryCellFronius Solar Battery at section Modules
Previuos and current state of a battery cell. One Byte printed
in hexadecimal. 0xYX (Y: Current status, X: Previous status)
Meaning of numerical status codes:
Status valueDescription
0
16
1
16
2
16
3
16
4
16
5
16
6
16
7
16
8
16
9
16
A
16
B
16
C
16
D
16
E
16
F
16
RESERVED
Pre Charge
Initial
Normal Charge
Charge Terminate
Normal Discharge
Over Voltage
Over Discharge
RESERVED
Over Temp Charge
Over Current Charge
Over Temp Discharge
Over Current Discharge
Cell Unbalance
Charge Suspend
RESERVED
Status_BatteryCellfor LGChem Resu H at section Controller
Status valueDescription
1STANDBY
3ENABLED
5FAULTED
10SLEEP
Status_BatteryCellfor BYD Box at section Controller
Status valueDescription
0STANDBY
1INACTIVE
2DARKSTART
3ACTIVE
4FAULT
5UPDATING
56
# device type i de ntifier
st ri ng Model;
# Solar ba tt er y m an uf ac tu re r ch anged from "Froni us I nt er na ti on al " to "Fronius"
#So la r API Ve rs ion: 1.5 -16
#Fr on iu s S ymo Hybrid: 1.12.1 -3
st ri ng Manufacturer;
} Details ;
#channels of devi ce ( textual name and va lue)
nu mb er * _ _C HA NN EL _N AM E__;
} C on troller;
ar ray {
ob je ct {
st ri ng Serial ;
st ri ng Model;
st ri ng Manufacturer;
} Details ;
#channels of devi ce ( textual name and va lue)
nu mb er * _ _C HA NN EL _N AM E__;
} * M od ul es ;
} * D ev ic eI d;/ / 0...65535
} Data ;
Manufacturer has been updated at version HM1.12.1X from ”Fronius International” to ”Fronius”
Listing 48: Reply body for GetStorageRealtimeData System request (Solar Battery)
{
"Body" : {
"Data" : {
"0" : {
"Controller " : {
"Capacity _M ax im um " : 7200 ,
"Current_DC " : 1 .1 20 00 00 00 0000001,
"Designed Ca pa ci ty " : 7200 ,
"Details" : {
"Manufacturer " : " Fron iu s",
"Model " : "Fronius So lar Battery",
"Serial" : " 26175063 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
"Temperat ur e_ Ce ll " : 26.150 00 00 00 00 00 34 ,
"TimeStamp" : 15603462 72 ,
"Voltage_DC " : 3 18 .8 00 00 00 0000001,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 29 00 00 00 00 00002,
"Volt ag e_ DC _M in imum_Cell " : 3 .3159999999999998
},
"Modules" : [
{
"Capacity _M ax im um " : 1200 ,
"Current_DC " : 1 .1 10 00 00 00 0000001,
"Cycl eC ou nt _B at te ryCell" : 255,
"Designed Ca pa ci ty " : 1200 ,
"Details" : {
"Manufacturer " : " So ny ",
"Model " : "unknown " ,
57
"Serial" : " S0 12002885 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
"Status _B at te ry Ce ll " : 53 ,
"Temperat ur e_ Ce ll " : 27.25,
"Temp er at ur e_ Ce ll_Maximum" : 27.7 5,
"Temp er at ur e_ Ce ll_Minimum" : 2 6. 95 0000000000045,
"TimeStamp" : 15603462 63 ,
"Voltage_DC " : 5 3. 14 20 00 00 0000003,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 23 99 99 99 99 99998,
"Volt ag e_ DC _M in imum_Cell " : 3 .3140000000000001
},
{
"Capacity _M ax im um " : 1200 ,
"Current_DC " : 1 .1 20 00 00 00 0000001,
"Cycl eC ou nt _B at te ryCell" : 257,
"Designed Ca pa ci ty " : 1200 ,
"Details" : {
"Manufacturer " : " So ny ",
"Model " : "unknown " ,
"Serial" : " S0 12002843 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
"Status _B at te ry Ce ll " : 53 ,
"Temperat ur e_ Ce ll " : 26.650 00 00 00 00 00 34 ,
"Temp er at ur e_ Ce ll_Maximum" : 2 7. 15 0000000000034,
"Temp er at ur e_ Ce ll_Minimum" : 2 6. 35 0000000000023,
"TimeStamp" : 15603462 63 ,
"Voltage_DC " : 53.137 ,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 27 99 99 99 99 99998,
"Volt ag e_ DC _M in imum_Cell " : 3 .3159999999999998
},
{
"Capacity _M ax im um " : 1200 ,
"Current_DC " : 1 .1 29 99 99 99 9999999,
"Cycl eC ou nt _B at te ryCell" : 257,
"Designed Ca pa ci ty " : 1200 ,
"Details" : {
"Manufacturer " : " So ny ",
"Model " : "unknown " ,
"Serial" : " S0 12002844 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
"Status _B at te ry Ce ll " : 53 ,
"Temperat ur e_ Ce ll " : 26.450 00 00 00 00 00 45 ,
"Temp er at ur e_ Ce ll_Maximum" : 2 7. 05 0000000000011,
"Temp er at ur e_ Ce ll_Minimum" : 26.2 5,
"TimeStamp" : 15603462 63 ,
"Voltage_DC " : 5 3. 16 40 00 00 0000001,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 29 00 00 00 00 00002,
"Volt ag e_ DC _M in imum_Cell " : 3 .319
},
{
"Capacity _M ax im um " : 1200 ,
"Current_DC " : 1 .1 29 99 99 99 9999999,
"Cycl eC ou nt _B at te ryCell" : 254,
"Designed Ca pa ci ty " : 1200 ,
"Details" : {
"Manufacturer " : " So ny ",
"Model " : "unknown " ,
"Serial" : " S0 12002838 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
58
"Status _B at te ry Ce ll " : 53 ,
"Temperat ur e_ Ce ll " : 26.150 00 00 00 00 00 34 ,
"Temp er at ur e_ Ce ll_Maximum" : 26.7 5,
"Temp er at ur e_ Ce ll_Minimum" : 25.7 5,
"TimeStamp" : 15603462 63 ,
"Voltage_DC " : 5 3. 15 89 99 99 9999999,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 29 00 00 00 00 00002,
"Volt ag e_ DC _M in imum_Cell " : 3 .3180000000000001
},
{
"Capacity _M ax im um " : 1200 ,
"Current_DC " : 1 .1 20 00 00 00 0000001,
"Cycl eC ou nt _B at te ryCell" : 256,
"Designed Ca pa ci ty " : 1200 ,
"Details" : {
"Manufacturer " : " So ny ",
"Model " : "unknown " ,
"Serial" : " S0 12002884 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
"Status _B at te ry Ce ll " : 53 ,
"Temperat ur e_ Ce ll " : 25.550 00 00 00 00 00 11 ,
"Temp er at ur e_ Ce ll_Maximum" : 2 6. 15 0000000000034,
"Temp er at ur e_ Ce ll_Minimum" : 2 5. 35 0000000000023,
"TimeStamp" : 15603462 63 ,
"Voltage_DC " : 5 3. 14 60 00 00 0000001,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 26 00 00 00 00 00001,
"Volt ag e_ DC _M in imum_Cell " : 3 .3170000000000002
},
{
"Capacity _M ax im um " : 1200 ,
"Current_DC " : 1 .1 20 00 00 00 0000001,
"Cycl eC ou nt _B at te ryCell" : 255,
"Designed Ca pa ci ty " : 1200 ,
"Details" : {
"Manufacturer " : " So ny ",
"Model " : "unknown " ,
"Serial" : " S0 12002857 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 55 ,
"Status _B at te ry Ce ll " : 53 ,
"Temperat ur e_ Ce ll " : 25.25,
"Temp er at ur e_ Ce ll_Maximum" : 25.7 5,
"Temp er at ur e_ Ce ll_Minimum" : 2 4. 95 0000000000045,
"TimeStamp" : 15603462 63 ,
"Voltage_DC " : 5 3. 15 69 99 99 9999996,
"Volt ag e_ DC _M ax imum_Cell " : 3 .3 26 00 00 00 00 00001,
"Volt ag e_ DC _M in imum_Cell " : 3 .3199999999999998
Listing 49: Reply body for GetStorageRealtimeData System request (BYD BBox)
"Data" : {
"0" : {
"Controller " : {
"Capacity _M ax im um " : 11520,
"Current_DC " : 0,
"Designed Ca pa ci ty " : 11520,
"Details" : {
"Manufacturer " : " BYD" ,
"Model " : "BYD Batte ry - Bo x HV",
"Serial" : " 400481708-0005 9"
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 4.7000000000000002,
"Status _B at te ry Ce ll " : 3,
"Temperat ur e_ Ce ll " : 23.949 99 99 99 99 99 99 ,
"TimeStamp" : 15604305 43 ,
"Voltage_DC " : 4 62 .60000000000002
Listing 51: Reply body for GetStorageRealtimeData Device request (LG Chem Resu H)
"Controller " : {
"Capacity _M ax im um " : 9800 ,
"Current_DC " : 0 .9 00 00 00 00 00 00 0002 ,
"Designed Ca pa ci ty " : 9800 ,
"Details" : {
"Manufacturer " : " LG -Che m",
"Model " : "Res u H",
"Serial" : " 17 06179036 "
},
"Enable" : 1,
"Stat eO fC ha rg e_ Re lative" : 56 ,
"Status _B at te ry Ce ll " : 3,
"Temperat ur e_ Ce ll " : 27.550 00 00 00 00 00 01 ,
"TimeStamp" : 15603462 67 ,
"Voltage_DC " : 4 07.5
This request provides detailed information about Ohmpilot. Inactive channels are not included in the response
and may vary depending on hardware and software version used. Take care about permanently or temporary
missing channels when processing this response.
4.10.1 Availability
PlatformSince version
Fronius Hybrid1.6.14
Fronius Non Hybrid3.8.14
Fronius GEN24/Tauro1.13
Listing 52: Object structure of response body for GetOhmPilotRealtimeData System request
# object with d etailed informations about all Ohmpil ots ,
ob je ct {
ob je ct {
ob je ct {
# serial number of devi ce
st ri ng Serial ;
# e.g. "Ohmpilot"
st ri ng Model;
# e.g. "Fronius "
st ri ng Manufacturer;
# s oftware version
st ri ng Software;
# h ardware version
st ri ng Hardware;
} Details ;
# total co ns um ed energy [Wh]
nu mb er Ene rg yR ea l_ WA C_Sum_Consumed;
# C od eO fS ta te Values:
# 0 . .. up an d r un ning
# 1 . .. ke ep minimum temp er at ur e
# 2 . .. legionella protection
# 3 . .. critic al f ault
# 4 . .. faul t
# 5 . .. boos t m ode
nu mb er CodeOfState ;
# refer to Ohmpil ot m anual
# o ptional field
nu mb er CodeOfError ;
# actual power co ns um pt io n [W]
nu mb er PowerRe al _P AC _S um ;
# t em pe ra tu re from se ns or [°C]
nu mb er Tempe ra tu re _C ha nn el_1;
} * O hm pi lo t;
} Data ;
62
{
"Body" : {
},
"Head" : {
}
}
Listing 53: Reply body for GetOhmPilotRealtimeData System request
This request provides detailed information about the local energy grid. The values replied represent the current
state. Because data has multiple asynchronous origins it is a matter of fact that the sum of all powers (grid, load
and generate) will differ from zero.
This request does not care about the configured visibility of single inverters. All inverters are reported. Same for
batteries.
4.11.1 Availability
PlatformSince version
Fronius Hybrid1.2.1X
Fronius Non Hybrid3.3.9X
Fronius GEN24/TauroALWAYS
64
4.11.2 Version
This request is only a gateway to internal generated data containers. Please take care about the ”Version” field
in the response. Newer versions usually contain all previous items.
VersionChanges
10added smartloads/ohmpilot
added Version field
11added secondary meters for subloads or extra production (Datamanager and HybridManager)
12inverter nodes now provide component id
13added secondary meters for subloads or extra production (GEN24/Tauro)
added active power and apparent current per phase for primary meter
4.11.3 URL for HTTP requests
/solar_api/v1/GetPowerFlowRealtimeData.fcgi
Please note, for performance reasons the URL extension is different to other Solar API requests.
4.11.4 Parameters
There are no parameters. Only one type of query exists.
4.11.5 Request
Listing 56: Object structure of response body for GetPowerFlowRealtimeData request
ob je ct {
# m andatory fiel d
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .8.1 -1
#Fronius Hy br id version1.6.1- 1
# d escribes the a va il ab le fields fo r this reques t ( PowerFlowVersion)
#Vers io n s tr ing contains a p os itive integer
st ri ng Version;
ob je ct {
# m andatory fiel d
# Mode:Co nt ai ns :
#" produce - only ",in ve rt er only
#" meter" , "vague - mete r",i nv er ter and me ter
#" bi di re ct io na l" or "ac-coupled "invert er , mete r and batt er y
st ri ng Mode ;
# o ptional field, supported si nce Fronius Hy br id version 1. 4.1- 6
#su pp or te d on Gen2 4 d ev ic es having batt er y
#not available on Froniu s N on Hybr id
# true wh en battery is in standb y
bo ol ea n B at te ry St an db y;
# o ptional field, supported si nce Fronius Hy br id version 1. 3.1- 0
#not available on Froniu s N on Hybr id
#su pp or te d on Gen2 4/Tauro devi ce s
# field is availabl e if configured (false) or acti ve ( true )
# if not availa ble , mandatory conf ig is not set.
# On Ge n24 this flag is al wa ys available
bo ol ea n B ac ku pM od e;
# m andatory fiel d
#this v al ue is null if no mete r is enabled ( + from grid , - to grid )
nu mb er P_Grid ;
# m andatory fiel d
#this v al ue is null if no mete r is enabled ( + genera tor , - c on su mer )
nu mb er P_Load ;
65
# m andatory fiel d
#this v al ue is null if no batter y is active ( - charge , + d ischarge )
nu mb er P_Akku ;
# m andatory fiel d
#this v al ue is null if invert er is no t running( + production ( default ) )
# On GE N24 and Sy mo Hy br id : re ports production on DC si de (PV g en er at or ).
# On SnapInverter: is iden t to powe r g en er at ed on AC si de (ac p ower outp ut ).
nu mb er P_PV ;
# m andatory fiel d
# a vailable sinc e F ro ni us Hybrid versio n 1 .3.1 -1
# a vailable sinc e F ro ni us Non H yb rid v ersion 3. 7.1-2
# current relati ve self consumption in %, null if no smar t m eter is connected
nu mb er rel_S el fC on su mp ti on ;
# m andatory fiel d
# a vailable sinc e F ro ni us Hybrid versio n 1 .3.1 -1
# a vailable sinc e F ro ni us Non H yb rid v ersion 3. 7.1-2
# current relati ve a ut onomy in %, nu ll if no sm art meter is connec te d
nu mb er rel_Autonomy;
# o ptional field
# " load ", "gri d" or " unknown" (during ba ckup powe r)
st ri ng Meter_Location;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .4.1 -7
# this valu e is alwa ys null on GEN24/T auro
# AC En er gy [Wh] th is day, null if no inverter is connected
nu mb er E_Day;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .4.1 -7
# this valu e is alwa ys null on GEN24/T auro
# AC En er gy [Wh] th is year , n ull if no inve rt er is conn ec te d
nu mb er E_Year ;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .4.1 -7
# i mp le me nt ed since Fr on ius GEN24 /Tau ro version 1. 14 an d null before
# updated on ly every 5 minu te s on GEN2 4/T auro .
# AC En er gy [Wh] ev er si nce, nu ll if no inverter is connected
nu mb er E_Total;
} Site;
ob je ct {
ob je ct {
# m andatory fiel d
# device type of inve rt er
# GEN24 /Tau ro do report 1
in te ge r DT;
# m andatory fiel d
# current powe r in Watt , n ull if not r un ni ng (+ pr od uce/expo rt , - consume/
im po rt )
# This is powe r g en er at ed on AC si de (ac p ower output ).
in te ge r P;
# o ptional field
# current stat e of char ge in % as decimal ( 5.3% ) or integer ( 0 - 1 00%)
un si gn ed number SO C;
66
# m andatory fiel d
# i mp le me nt ed since Fr on ius Non Hy brid version 3.13.1 -1
#Fronius Hy br id version1.11.1 -1
#PowerFl ow Ve rs io n 12
# c omponent identification (8bit group , 16 bit e num)
un si gn ed integer CID;
# o ptional field
#"disab le d", " norm al ", "servi ce ", "charg e b oost ",
#"nea rl y d ep le ted", " su sp en de d", " calibrat e",
#"gri d s upport ", "deplete recovery ", "non operable (voltage) ",
#"n on operable (temperature) ", "preheating ", "startup" ,
#"sto pp ed ( te mp er at ur e)", "batte ry full"
st ri ng Battery_Mode;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .7.1 -1
#Fronius Hy br id version1.3.1- 1
#Fronius GE N24/ Tauroalways null
# AC En er gy [Wh] th is day, null if no inverter is connected
nu mb er E_Day;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .7.1 -1
#Fronius Hy br id version1.3.1- 1
#Fronius GE N24/ Tauroalways null
# AC En er gy [Wh] th is year , n ull if no inve rt er is conn ec te d
nu mb er E_Year ;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .7.1 -1
#Fronius Hy br id version1.3.1- 1
#Fronius GE N24/ Tauro ve rsion 1.14 an d null befo re
#updated only ever y 5 mi nu tes on GE N2 4/Tauro.
# AC En er gy [Wh] ev er si nce, nu ll if no inverter is connected
nu mb er E_Total;
} * D ev ic eI d; # SolarNet ring address (" 1" on hybrid system s)
#GEN24 / Ta uro devices al wa ys will use De vi ce Id 1
} I nverters ;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3 .8.1 -1
#Fronius Hy br id version1.6.1- 1
#PowerFl ow Ve rs io n 10
ob je ct {
# o ptional field
# i mp le me nt ed since Po we rFlowVersion 10
# always available on GEN2 4/Tauro
# on DM /HM only available when Ohmpilot is existing
ob je ct {
# o ptional field
# i mp le me nt ed since Po we rF lowVersion 10
ob je ct {
# m andatory fiel d
# i mp le me nt ed since Po we rF lowVersion 10
# current powe r c on su mp ti on in Wa tt
nu mb er P_AC_Total;
# m andatory fiel d
# i mp le me nt ed since Po we rF lowVersion 10
# o perating stat e " no rm al ", " min-t em pe ra tu re ", "leg ionella-pro te ct io n",
67
#"fau lt ", " warning" or "boost"
st ri ng State;
# m andatory fiel d
# i mp le me nt ed since Po we rF lowVersion 10
# t em pe ra tu re of storage / tank in degr ee Celsius
nu mb er Temperature ;
} C om po ne nt Id ;
} O hmpilots ;
} S ma rtloads;
# o ptional field
# i mp le me nt ed since Fr on ius Non Hy brid version 3.12.1 -1
#Fronius Hy br id version1.10.1 -1
#PowerFl ow Ve rs io n 11
#
#Fronius GE N24/ Tauro1.22.1 -1
#PowerFl ow Ve rs io n 13
ob je ct {
# i mp le me nt ed since Po we rFlowVersion 11
ob je ct {
# m andatory fiel d
# i mp le me nt ed since Po we rFlowVersion 11
# current powe r c on su mp ti on / pr od uc ti on in Watt (direction is based on meter
lo ca ti on )
#c on su mp ti on is ne ga ti ve for m et er location >= 256
#p ro du ct io n is positi ve for me ter location 3
nu mb er P;
# m andatory fiel d
# i mp le me nt ed since Po we rFlowVersion 11
# meter lo ca ti on of the device (see end of listing for more details )
nu mb er MLoc ;
# m andatory fiel d
# i mp le me nt ed since Po we rFlowVersion 11
# user define d n ame of se co nd ar y m eter or
# "<primar y >" for p ri ma ry meters
st ri ng Label;
# m andatory fiel d
# i mp le me nt ed since Po we rFlowVersion 11
# c ategory token
#"METER_CAT_WR "... Photovoltaic i nv erter
#"METER_CAT_BAT"... AC storag e u nit
#"METER_CAT_PV_BAT ".. . P ho to vo lt ai c i nv er te r + st or age unit
#"METER_CAT_WINDMILL "... Wind turbin e
#"METER_CAT_BHKW "... Co mb in ed heat and po wer station ( CHP)
#"METER_CAT_ECAR "... El ec tr ic vehicle
#"METER_CAT_HEATPUMP "... H eatpump
#"METER_CAT_OT HE RH EA TI NG "... O th er heating sy st em
#"METER_CAT_PUMP "... Pump
#"METER_CAT_WHIT EG OO DS "... W hite good s
#"METER_CAT_CLIMATE"... C li ma te control / cooling sy st ems
#"METER_CAT_BUILDING "... B uilding services
#"METER_CAT_OTHER"... Ot he r
st ri ng Category;
} C om po ne nt Id ;
} S ec on da ry Me te rs ;
68
} Data ;
Reference to device type table in section 6.2.
Reference to meter location table in section 6.5.
+ On GEN24/Tauro devices having no battery the fields ”SOC”=0.0 and ”Battery_Mode”=”disabled” are
falsely reported until 1.17.x.
Listing 57: Reply body for GetPowerFlowRealtimeData on Fronius Hybrid System
+ Energies are not provided and device types DT are invalid on GEN24/Tauro
5Archive Requests
5.1Common
Archive requests shall be provided whenever access to historic devicedata is possible and it makes sense to
provide such a request.
Of course, the Datalogger Web can only provide what is stored in its internal memory and has not been overwritten
by newer data yet. It can loose data, due to capacity reason. The number of days stored is dependent on the
number of connected units to log. This limitation is not present for Solar.web, provided that the Datalogger has
reliably uploaded the data.
Different from what is specified within the previously released drafts, there is only one CGI to access all historic
data. This CGI contains detailed, summed, error and events queries.
Call is http://<insert hostname or IP here>/solar_api/v1/GetArchiveData.cgi?<your query parameters>
The number of parallel queries is system wide restricted to 4 clients.
5.1.1 Availability
PlatformSince version
Fronius Hybrid1.1.216
Fronius Non Hybrid3.3.45
Fronius GEN24/TauroNEVER
+ GEN24/Tauro does not provide access to history data
+ On days where daylight saving time is changing (begin or end of summertime) a few problems are
known regarding time calculation.
5.1.2 ChannelId
Each channel is handled and requested by name. Most of the channels are recorded in constant cyclic intervals
which can be set between 5 and 30 minutes. Only Digital_PowerM anagementRelay_Out_∗, I nverterErrors,
InverterEvents and Hybrid_Operating_State are event triggered and may occure every time.
5
5
introduced in Solar API CompatibilityRange Version 1.510 (Datamanager 3.11.1 or Hybridmanager 1.9.1)
ChannelStringavailable channels from table 5. Mandatory, multiple times
DeviceClassString”Inverter”
”SensorCard”
”StringControl”
DeviceClass”Meter”
”Storage”
”OhmPilot”
Which kind of device will be queried. Manda
tory and accepted only if Scope is not ”Sys
tem”
since DM 3.7.46 HM 1.3.11
since DM 3.7.46 HM 1.3.11
since DM 3.8.14 HM 1.6.14
DeviceIdStringSolar Net: 0 …199Only needed for Scope ”Device”
Which device to query.
This parameter can be given more than once,
thus specifying a list of devices to query.
5.1.4 Object Structure of response body
Listing 61: Object structure of request body
ob je ct {
# Object with d at aseries for each requeste d de vice .
# P roperty names co rr es po nd to the DeviceId the s er ies belongs to .
ob je ct {
# Object representing data - se ri es of one d ev ic e ( may contain m or e than on e c hannel ).
ob je ct {
# O ptional Nodetype if localnet node
in te ge r N od eType;
# O ptional Devicetype if lo ca ln et node
in te ge r D ev ic eT yp e;
# S tarting date of th e series (i.e. d ate of the first value in Values)
# yyyy - MM -ddThh -mm-ss% z"2017 -05-20 T00 :0 0: 00 +0 2: 00 "
st ri ng Start;
# S tarting date of th e series (i.e. d ate of the first value in Values)
# yyyy - MM -ddThh -mm-ss% z"2017 -05-20 T23 :5 9: 59 +0 2: 00 "
st ri ng End;
# C ol lection of obje ct s r ep re se nt in g o ne channel, ea ch object containing valu es and
me ta da ta .
# Objects ar e named af ter the Ch an nel they represent ( e. g. " Powe r").
ob je ct {
# Object representing one ch annel.
74
ob je ct {
# B aseunit of the chan nel, neve r c on ta in s any pr ef ix es
st ri ng Unit ;
# U nscaled valu es , of fs et between data po in ts can be dedu ce d t hr ou gh "SeriesType "
# A TTENTION : U na va il ab le datapoints are in cl uded but h ave value n ull
# NOTE: the data re co rd s are li st ed in a lp ha be ti ca l o rder
# example : "3600" : 10.11 .... offs et is 36 00 se c and va lue is 10 .1 1
nu mb er * _ _O FF SE T_IN_SECONDS__;
# r eference to internal used unique channel id en ti fi er
st ri ng _comment;
} _ _C HA NN EL _N AM E_ _;
}* Data ;
}* __DEVICE_ID__ ;
} Data;
};
5.2Example of response body
5.2.1 Meter data
Listing 62: detailed response body for meter data
// /solar_api/ v1 /GetArchiveData .cgi? Sc ope= System& St ar tD at e =1 .3 .2 018& EndDate =1.3.2 01 8&
Ch an nel=T im eS pa nI nS ec & Channel= Energ yR ea l_ WA C_Plus_Absolute & Channel=
En ergyReal_WAC_Mi nu s_ Ab so lute& Channe l=M eter_Location_Curre nt
{
"Body" :
{
"Data" :
{
"inverter /1 " :
{
"Data" :
{
"TimeSpanInSec" :
{
"Unit" : "sec ",
"Values" :
{
"0" : 2 98 ,/* 0 s ec on ds after " Star t" the value w as 29 8 */
"10200 " : 299,
Table 6: Shows mapping between Fronius device status and SunSpec InverterModel states
Fronius device stateSunSpec device state
not usedI_STATUS_OFF
not usedI_STATUS_SLEEPING
not usedI_STATUS_THROTTLED
not usedI_STATUS_SHUTTING_DOWN
10I_STATUS_FAULT
8I_STATUS_STANDBY
7I_STATUS_MPPT
othersI_STATUS_STARTING
6.2Inverter Device Type List
DeviceTypeModel Name
1any Fronius GEN24/Tauro
67Fronius Primo 15.01 208240
68Fronius Primo 12.51 208240
69Fronius Primo 11.41 208240
70Fronius Primo 10.01 208240
71Fronius Symo 15.03 208
72Fronius Eco 27.03S
73Fronius Eco 25.03S
75Fronius Primo 6.01
76Fronius Primo 5.01
77Fronius Primo 4.61
78Fronius Primo 4.01
79Fronius Primo 3.61
80Fronius Primo 3.51
81Fronius Primo 3.01
82Fronius Symo Hybrid 4.03S
83Fronius Symo Hybrid 3.03S
84Fronius IG Plus 120 V1
85Fronius Primo 3.81 208240
86Fronius Primo 5.01 208240
87Fronius Primo 6.01 208240
88Fronius Primo 7.61 208240
89Fronius Symo 24.03 USA Dummy
90Fronius Symo 24.03 480
91Fronius Symo 22.73 480
92Fronius Symo 20.03 480
93Fronius Symo 17.53 480
94Fronius Symo 15.03 480
95Fronius Symo 12.53 480
82
96Fronius Symo 10.03 480
97Fronius Symo 12.03 208240
98Fronius Symo 10.03 208240
99Fronius Symo Hybrid 5.03S
100Fronius Primo 8.21 Dummy
101Fronius Primo 8.21 208240
102Fronius Primo 8.21
103Fronius Agilo TL 360.03
104Fronius Agilo TL 460.03
105Fronius Symo 7.03M
106Fronius Galvo 3.11 208240
107Fronius Galvo 2.51 208240
108Fronius Galvo 2.01 208240
109Fronius Galvo 1.51 208240
110Fronius Symo 6.03M
111Fronius Symo 4.53M
112Fronius Symo 3.73M
113Fronius Symo 3.03M
114Fronius Symo 17.53M
115Fronius Symo 15.03M
116Fronius Agilo 75.03 Outdoor
117Fronius Agilo 100.03 Outdoor
118Fronius IG Plus 55 V1
119Fronius IG Plus 55 V2
120Fronius Symo 20.03 Dummy
121Fronius Symo 20.03M
122Fronius Symo 5.03M
123Fronius Symo 8.23M
124Fronius Symo 6.73M
125Fronius Symo 5.53M
126Fronius Symo 4.53S
127Fronius Symo 3.73S
128Fronius IG Plus 60 V2
129Fronius IG Plus 60 V1
130SPR 8001F3 EU
131Fronius IG Plus 25 V1
132Fronius IG Plus 100 V3
133Fronius Agilo 100.03
134SPR 3001F1 EU
135Fronius IG Plus V/A 10.03 Delta
136Fronius IG 50
137Fronius IG Plus 30 V1
138SPR11401f1 UNI
139SPR12001f3 WYE277
140SPR11401f3 Delta
141SPR10001f1 UNI
142SPR7501f1 UNI
143SPR6501f1 UNI
144SPR3801f1 UNI
145SPR3301f1 UNI
146SPR 12001F3 EU
147SPR 10001F3 EU
148SPR 8001F2 EU
149SPR 6501F2 EU
150SPR 4001F1 EU
151SPR 3501F1 EU
152Fronius CL 60.0 WYE277 Dummy
153Fronius CL 55.5 Delta Dummy
154Fronius CL 60.0 Dummy
83
155Fronius IG Plus V 12.03 Dummy
156Fronius IG Plus V 7.51 Dummy
157Fronius IG Plus V 3.81 Dummy
158Fronius IG Plus 150 V3 Dummy
159Fronius IG Plus 100 V2 Dummy
160Fronius IG Plus 50 V1 Dummy
161Fronius IG Plus V/A 12.03 WYE
162Fronius IG Plus V/A 11.43 Delta
163Fronius IG Plus V/A 11.41 UNI
164Fronius IG Plus V/A 10.01 UNI
165Fronius IG Plus V/A 7.51 UNI
166Fronius IG Plus V/A 6.01 UNI
167Fronius IG Plus V/A 5.01 UNI
168Fronius IG Plus V/A 3.81 UNI
169Fronius IG Plus V/A 3.01 UNI
170Fronius IG Plus 150 V3
171Fronius IG Plus 120 V3
172Fronius IG Plus 100 V2
173Fronius IG Plus 100 V1
174Fronius IG Plus 70 V2
175Fronius IG Plus 70 V1
176Fronius IG Plus 50 V1
177Fronius IG Plus 35 V1
178SPR 11400f3 208/240
179SPR 12000f277
180SPR 10000f
181SPR 10000F EU
182Fronius CL 33.3 Delta
183Fronius CL 44.4 Delta
184Fronius CL 55.5 Delta
185Fronius CL 36.0 WYE277
186Fronius CL 48.0 WYE277
187Fronius CL 60.0 WYE277
188Fronius CL 36.0
189Fronius CL 48.0
190Fronius IG TL 3.0
191Fronius IG TL 4.0
192Fronius IG TL 5.0
193Fronius IG TL 3.6
194Fronius IG TL Dummy
195Fronius IG TL 4.6
196SPR 12000F EU
197SPR 8000F EU
198SPR 6500F EU
199SPR 4000F EU
200SPR 3300F EU
201Fronius CL 60.0
202SPR 12000f
203SPR 8000f
204SPR 6500f
205SPR 4000f
206SPR 3300f
207Fronius IG Plus 12.03 WYE277
208Fronius IG Plus 50
209Fronius IG Plus 100
210Fronius IG Plus 100
211Fronius IG Plus 150
212Fronius IG Plus 35
213Fronius IG Plus 70
84
214Fronius IG Plus 70
215Fronius IG Plus 120
216Fronius IG Plus 3.01 UNI
217Fronius IG Plus 3.81 UNI
218Fronius IG Plus 5.01 UNI
219Fronius IG Plus 6.01 UNI
220Fronius IG Plus 7.51 UNI
221Fronius IG Plus 10.01 UNI
222Fronius IG Plus 11.41 UNI
223Fronius IG Plus 11.43 Delta
224Fronius Galvo 3.01
225Fronius Galvo 2.51
226Fronius Galvo 2.01
227Fronius IG 4500LV
228Fronius Galvo 1.51
229Fronius IG 2500LV
230Fronius Agilo 75.03
231Fronius Agilo 100.03 Dummy
232Fronius Symo 10.03M
233Fronius Symo 12.53M
234Fronius IG 5100
235Fronius IG 4000
236Fronius Symo 8.23M Dummy
237Fronius IG 3000
238Fronius IG 2000
239Fronius Galvo 3.11 Dummy
240Fronius IG Plus 80 V3
241Fronius IG Plus 60 V3
242Fronius IG Plus 55 V3
243Fronius IG 60 ADV
244Fronius IG 500
245Fronius IG 400
246Fronius IG 300
247Fronius Symo 3.03S
248Fronius Galvo 3.11
249Fronius IG 60 HV
250Fronius IG 40
251Fronius IG 30 Dummy
252Fronius IG 30
253Fronius IG 20
254Fronius IG 15
6.3Event Table for Fronius Devices
Event CodeDescription
1System offset
2Calibrate factor
3Power control commands
4Gradual Voltage dependend Power Reduction
5Frequency Limit Change
6Enter Backup Power Mode
7Leave Backup Power Mode
8Critical SOC reached within backmode
9Component Specific StateCode
10Calibration Suspension enabled
11Datamanager reboot due to malfunction
85
6.4Hybrid_Operating_State
Hybrid_Operating_StateDescription
0disabled
1normal
2service
3charge boost
4nearly depleted
5suspended
6calibrate
7grid support
8deplete recovery
9non operable ( temperature )
10non operable ( voltage )
11preheating
12startup
13until Hybrid 1.13.1: awake but non operable ( temperature )
since Hybrid 1.13.1: stopped ( temperature )
14battery full
6.5Meter Locations
Meter LocationDescription
0Load
1Grid
2RESERVED
3additional A.C. generator (generation only)
4additional A.C. generator providing a battery (consumption and generation)
5255RESERVED
256511Sub Load
7Changelog
Document Version 18
• fixed dead reference to online manual under section 4.10.4
• Tauro behaves ident to GEN24. Added Tauro examples.
• Added GEN24/Tauro devicetype 1 to table.
• Adding four MPPT tracker IDC/UDC entries to GEN24 Symo GetInverterRealtimeData CommonInver
terData example.
Document Version 17
• Fixed description about PowerFlow version attribute which is infact a number within a string.
• Updated details about GetInverterRealtime DataCollections at Gen24 and Symo Hybrid.
• Adding chapter explaining enabling/disabling of Solar API (3).
• Reediting meter model descriptions at GetMeterRealtimeData. TS and UL Meter have signed current.
Document Version 16
• Timing constraints for archive requests updated (2.6).
• Update json example of request GetInverterRealtimeData and collection 3PInverterData for GEN24.
• Value T_Ambient in GetInverterRealtimeData is only supported by few devices (added listing).
• Added meter location dependend direction table for energies and powers (4.8.6)
• GEN24 Inverter will only provide total energy counters in 1.14 or later (no year and day values anymore)
• GEN24 provide swagger open api interface specification file (2.2.1)
Document Version 15
86
• Timing constraints for Realtime Requests added (2.6).
• Carlo Gavazzi meter devices added (4.8).
Document Version 14
• PowerFlowRealtimeData battery state 14 ”battery full” added
• Flag inverter energies within realtime requests as imprecise
Document Version 13
• description for Fronius GEN24 added.
• updated and added missing json examples
• added inverter device type list in section 6.2
• PowerFlowRealtimeData provides data of secondary meters
• added GetStorageRealtime example for LGChem and BYD BBox
• NOTE: manufacturer changed for Solar Battery at GetStorageRealtimeData.cgi
• PowerFlowRealtimeData battery state 13 ”stopped (temperature)” added
• Inverter energy is AC related
• PowerFlowRealtimeData battery soc changed from nondecimal to decimal on demand (support both)
• PowerFlowRealtimeData introduced component identifier field CID
• added meter location table in section 6.5
Document Version 12
• never been published. Changes listed at version 13
Document Version 11
• NOTE: DefaultLanguage at GetLoggerInfo will be removed soon
Document Version 10
• note that all inverters (even invisible configured) are reportet at PowerFlow and Inverter request
• fixed description about availability of rel_Autonomy and rel_SelfConsumption at PowerFlow request
• fixed missing description of BatteryStandby at PowerFlow request
• improved and fixed GetArchiveData descriptions and examples
Document Version 9
• Battery_Mode at PowerFlowRealtimeData got more states
• fixed GetLoggerLEDInfo.cgi example
• added meter location state ”unknown” while backup power is active
• placed notification to use httpget request (refer to section 2.4)
• added Smartloads/OhmPilot node at PowerFlowRealtimeData.fcgi
• added description about PowerFlowRealtimeData versioning
• described Status_BatteryC ell for Controller of Tesla at GetStorageRealtimeData.cgi
• added Status_Battery description for Tesla at GetStorageRealtimeData.cgi
• GetInverterRealtimeData PAC type changed from unsigned to signed integer
• added channel names for Sensor Card (refer to table 5)
• added description of field DeliveryFactor at GetLoggerInfo and updated example
• fixed description of GetInverterInfo: properties ’Show’ and ’CustomName’ have been mandatory since
Version 3.0.3
• added GetOhmPilotRealtimeData.cgi
• added description of all possible Error Codes
• intodruced Solar API ”Compatibility Range” at GetAPIVersion.cgi
unsigned intunsigned number
...DAY_ENERGY
...YEAR_ENERGY
...TOTAL_ENERGY
13th August 2015
• Added realtime request GetPowerFlowRealtimeData to api
10th July 2015
• Added realtime request GetStorageRealtimeData to api
1st June 2015
• Minor documentation update.
GetLoggerLedInfo.cgi added ”alternating” led state (timeout of access point)
GetArchiveData.cgi revised data queries and responses
8Frequently asked questions
1. The application I wrote for the Fronius Datalogger Web does not work with the Fronius Datamanager.
Why is that?
This is because we had to make some changes in the API to ensure compatibility with future devices.
Specifically the DeviceIndex parameter is now named DeviceId and the request URLs have been changed
to include an API version. For further details please refer to the latest version of the API specs.
2. Which data can I get?
Currently only realtime data from inverters, Fronius Sensor Cards and Fronius String Controls. Also some
information about the logging device itself is available.
Please refer to the API specs for further details.
3. Can multiple clients send requests to the API at the same time?
Yes, but the requests may take longer to complete.
4. Can I use this API at the same time as other services of the Datalogger Web / DataManager?
Yes. The datalogging, Solar.access/Solar.web connection, Webinterface, this API or any other service can
be used independently from the others.
5. Can the API calls be password protected?
No. The API is always accessible without authentication, regardless of the user or admin password set on
the Webinterface.
88
6. The API reports more inverters than I have, why is that?
This may be the case when the inverter number of an inverter is changed while the Fronius Datalogger Web
/ Fronius Datamanager is running. The logger then detects a new device but keeps the same device with
the previous inverter number in the system for 24 hours. This is due to the fact that the datalogger is caching
the devices for a certain time even if they are not present on the bus (e.g. to be able to display energy values
during the night when the inverters are offline).
Those ghost devices will disappear 24 hours after the have been last seen by the datalogger. Alternatively,
a reboot of the datalogger also clears the device cache and repopulates it with the currently present devices.
89
Fronius Worldwide www.fronius.com/addresses
Fronius International GmbH
4600 Wels, Froniusplatz 1, Austria
EMail: pvsales@fronius.com
http://www.fronius.com
Under http://www.fronius.com/addresses you will find all addresses of our sales branches and partner firms!
Fronius USA LLC Solar Electronics Division
6797 Fronius Drive, Portage, IN 46368
EMail: pvus@fronius.com
http://www.froniususa.com
90
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.