Fronius Fronius Solar API V1 Operating Instruction [EN]

/ Perfect Charging / Perfect Welding /
Solar Energy
Fronius Solar API V1
Operating Instructions
System monitoring
EN
42,0410,2012,EN 01821042023
Contents
1 Introduction 6
2 General Considerations 6
2.1 Output Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Fronius GEN24 and Tauro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Client Generation using OAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Inverter to inverter communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 Numeric Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.2 Date/Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.1 Querying of API version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4.2 Addressing of devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.2 Common Response Header . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.5.3 Request Body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.6 Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 Enable/Disable 10
4 Realtime Requests 11
4.1 GetInverterRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.2 Collection availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1.3 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.4 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.5 Data Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.6 Object structure of response body (Scope ”Device”) . . . . . . . . . . . . . . . . . . . . . . 14
4.1.7 Example of response body (Scope ”Device”) . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.8 Object structure of response body (Scope ”System”) . . . . . . . . . . . . . . . . . . . . . . 20
4.1.9 Example of response body (Scope ”System”) . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.2 GetSensorRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.4 Data Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.5 Object structure of response body (DataCollection ”NowSensorData”) . . . . . . . . . . . . 22
4.2.6 Example of response body (DataCollection ”NowSensorData”) . . . . . . . . . . . . . . . . 23
4.2.7 Object structure of response body (DataCollection ”MinMaxSensorData”) . . . . . . . . . . 23
4.2.8 Example of response body (DataCollection ”MinMaxSensorData”) . . . . . . . . . . . . . . 25
4.3 GetStringRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.4 Collection availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.5 Data Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.6 Object structure of response body (DataCollection ”NowStringControlData” and ”CurrentSum
StringControlData”) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.7 Example of response body (DataCollection ”CurrentSumStringControlData”) . . . . . . . . 29
4.3.8 Object structure of response body (DataCollection ”LastErrorStringControlData”) . . . . . . 30
4.3.9 Example of response body (DataCollection ”LastErrorStringControlData”) . . . . . . . . . . 31
4.3.10 Object structure of response body (DataCollection ”NowStringControlData”) . . . . . . . . 32
4.3.11 Example of response body (DataCollection ”NowStringControlData”) . . . . . . . . . . . . . 32
4.4 GetLoggerInfo request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.3 Object structure of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.4.4 Example of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5 GetLoggerLEDInfo request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.3 Object structure of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.5.4 Example of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6 GetInverterInfo request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.6.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.3 Object structure of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.4 Example of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.5 Meaning of numerical status codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.7 GetActiveDeviceInfo request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.7.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.7.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.7.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.7.4 DeviceClass is not System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.7.5 DeviceClass is System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.8 GetMeterRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.8.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8.4 Devicetypes and provided channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.8.5 Channel Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.8.6 Meter Location Dependend Directions (primary meter) . . . . . . . . . . . . . . . . . . . . . 48
4.8.7 Meter Location Dependend Directions (secondary meter) . . . . . . . . . . . . . . . . . . . 48
4.8.8 SystemRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.8.9 DeviceRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.9 GetStorageRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4.9.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9.2 3rd Party Batteries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9.3 Supported . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9.4 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9.5 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9.6 Reference to manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.9.7 Channel Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.9.8 SystemRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.9.9 DeviceRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.10 GetOhmPilotRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.10.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.10.2 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.10.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.10.4 Reference to manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.10.5 SystemRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.10.6 DeviceRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.11 GetPowerFlowRealtimeData request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.11.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.11.2 Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.11.3 URL for HTTP requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.11.4 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.11.5 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5 Archive Requests 72
5.1 Common . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.1.1 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.1.2 ChannelId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.1.3 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.1.4 Object Structure of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.2 Example of response body . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.1 Meter data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2.2 Inverter data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.3 Errors  Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5.2.4 Events  Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2.5 OhmPilot Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6 Definitions and Mappings 82
6.1 Sunspec State Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.2 Inverter Device Type List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.3 Event Table for Fronius Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4 Hybrid_Operating_State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
6.5 Meter Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
7 Changelog 86
8 Frequently asked questions 88

1 Introduction

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.

2 General Considerations

2.1 Output 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.2 Fronius 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.3 Data 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
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.4 Requests

Currently, the only request protocol supported is HTTP.
+ Use HTTPGET 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 )
# 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.5 Responses

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
{
"Body" : {
"Data" : {
"DAY_ENERGY " : {
"Unit" : "Wh",
"Value " : 1639 0
},
"DeviceStatus " : {
"ErrorCode" : 0,
"LEDColor " : 2,
"LEDState " : 0,
"Mgmt Ti me rR em ai ni ngTime" : -1,
"StateToReset " : f alse ,
"StatusCode " : 7
},
"FAC " : {
"Unit" : "Hz",
"Value " : 49.990000000000 00 2
},
},
"Head" : {
}
}
"IAC " : {
"Unit" : "A",
"Value " : 17.890000000000 00 1
},
"IDC " : {
"Unit" : "A",
"Value " : 6.7400000000000 00 2
},
"PAC " : {
"Unit" : "W",
"Value " : 40 97
},
"TOTAL_ENERGY " : {
"Unit" : "Wh",
"Value " : 861294 2
},
"UAC " : {
"Unit" : "V",
"Value " : 229.90000000000 00 1
},
"UDC " : {
"Unit" : "V",
"Value " : 67 4
},
"YEAR_ENERGY" : {
"Unit" : "Wh",
"Value " : 7752 71
}
}
"RequestA rg um en ts " : {
"DataCollection " : " CommonInverte rD at a", "DeviceClass" : " In verter ", "DeviceId " : "1" , "Scope " : "Devic e"
},
"Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2018 -03- 01 T12 :4 9: 42 +0 1: 00 "
2.5.1 Availability
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.
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 ;
};
Value Status Description 0 OKAY Request successfully finished, Data are valid 1 NotImplemented The request or a part of the request is not implemented yet 2 Uninitialized Instance of APIRequest created, but not yet configured 3 Initialized Request is configured and ready to be sent 4 Running Request is currently being processed (waiting for response) 5 Timeout Response was not received within desired time 6 Argument Error Invalid arguments/combination of arguments or missing arguments 7 LNRequestError Something went wrong during sending/receiving of LNmessage 8 LNRequestTimeout LNrequest timed out 9 LNParseError Something went wrong during parsing of successfully received LNmessage 10 ConfigIOError Something went wrong while reading settings from local config 11 NotSupported The operation/feature or whatever is not supported 12 DeviceNotAvailable The device is not available 255 UnknownError undefined 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.6 Timeout

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.

3 Enable/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 So lar API (1).
If the Solar API is disabled, a Solar API request will return with a 404HTTPerror 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.

4 Realtime 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.1 GetInverterRealtimeData request
This request does not care about the configured visibility of single inverters. All inverters are reported.
4.1.1 Availability
Platform Since version Fronius Hybrid Not all DataCollections supported Fronius Non Hybrid ALWAYS Fronius GEN24/Tauro Not all DataCollections supported
4.1.2 Collection availability
DataCollection supported on
Fronius Hybrid Systems Fronius GEN24/Tauro CumulationInverterData Yes Yes CommonInverterData Yes Yes 3PInverterData Yes Only on 3 phase inverters MinMaxInverterData NO NO
11
4.1.3 URL for HTTP requests
/solar_api/v1/GetInverterRealtimeData.cgi
4.1.4 Parameters
Parameter Type Range/Values/Pattern Description Scope String ”Device”
”System”
Query specific device(s) or whole system (uses collection ”Cumu lationInverterData”)
DeviceId String Solar Net: 0 …99 Only needed for Scope ”Device”
Which inverter to query.
DataCollection String ”CumulationInverterData”
”CommonInverterData” ”3PInverterData” ”MinMaxInverterData”
Only needed for Scope ”Device”
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 name specific data type Description PAC integer AC power (negative value for consuming power) DAY_ENERGY unsigned number AC Energy generated on current day
Non Hybrid: May be imprecise GEN24/Tauro: will always report null
YEAR_ENERGY unsigned number AC Energy generated in current year
Non Hybrid: May be imprecise GEN24/Tauro: will always report null
TOTAL_ENERGY unsigned number AC Energy generated overall
Non Hybrid: May be imprecise GEN24/Tauro: supported since 1.14 (updated every 5min)
DeviceStatus object Status information about inverter
CommonInverterData Values which are provided by all types of Fronius inverters.
12
Value name specific data type Description PAC integer AC power (negative value for consuming power) SAC unsigned integer AC power (absolute)
Currently not implemented because not handled correctly by all inverters.
GEN24/Tauro report this value IAC unsigned number AC current (absolute, accumulated over all lines) UAC unsigned number AC voltage FAC unsigned number AC frequency IDC unsigned number DC current IDC_x unsigned number DC current of MPPT tracker x (x = 2..4; available on
GEN24/Tauro only) UDC unsigned number DC voltage UDC_x unsigned number DC voltage of MPPT tracker x (x = 2..4; available on
GEN24/Tauro only) DAY_ENERGY unsigned number AC Energy generated on current day
Non Hybrid: May be imprecise
GEN24/Tauro: will always report null YEAR_ENERGY unsigned number AC Energy generated in current year
Non Hybrid: May be imprecise
GEN24/Tauro: will always report null TOTAL_ENERGY unsigned number AC Energy generated overall
Non Hybrid: May be imprecise
GEN24/Tauro: supported since 1.14(updated every
5min) DeviceStatus object Status information about inverter
3PInverterData Values which are provided by 3phase Fronius inverters.
Value name specific data type Description IAC_L1 unsigned number AC current Phase 1 (absolute) IAC_L2 unsigned number AC current Phase 2 (absolute) IAC_L3 unsigned number AC current Phase 3 (absolute) UAC_L1 unsigned number AC voltage Phase 1 UAC_L2 unsigned number AC voltage Phase 2 UAC_L3 unsigned number AC voltage Phase 3 T_AMBIENT integer Ambient temperature
Most inverter like GEN24/Tauro do not provide it. Only provided by CL, XL and IG500/400.
ROTATION_SPEED_FAN_FL unsigned integer Rotation speed of front left fan
not provided on GEN24/Tauro
ROTATION_SPEED_FAN_FR unsigned integer Rotation speed of front right fan
not provided on GEN24/Tauro
ROTATION_SPEED_FAN_BL unsigned integer Rotation speed of back left fan
not provided on GEN24/Tauro
ROTATION_SPEED_FAN_BR unsigned integer Rotation speed of back right fan
not provided on GEN24/Tauro
MinMaxInverterData Minimum and Maximumvalues of various inverter values.
13
Value name specific data type Description DAY_PMAX unsigned integer Maximum AC power of current day DAY_UACMAX number Maximum AC voltage of current day DAY_UACMIN number Minimum AC voltage of current day DAY_UDCMAX number Maximum DC voltage of current day YEAR_PMAX unsigned integer Maximum AC power of current year YEAR_UACMAX number Maximum AC voltage of current year YEAR_UACMIN number Minimum AC voltage of current year YEAR_UDCMAX number Maximum DC voltage of current year TOTAL_PMAX unsigned integer Maximum AC power of current year TOTAL_UACMAX number Maximum AC voltage overall TOTAL_UACMIN number Minimum AC voltage overall TOTAL_UDCMAX number Maximum 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”
{
"Body" : {
"Data" : {
"DAY_ENERGY " : {
"Unit" : "Wh",
"Value " : 1393 .2
},
"DeviceStatus " : {
"ErrorCode" : 0,
"LEDColor " : 2,
"LEDState " : 0,
"Mgmt Ti me rR em ai ni ngTime" : -1,
"StateToReset " : f alse ,
"StatusCode " : 7
},
"FAC " : {
"Unit" : "Hz",
"Value " : 49.969999999999 99 9
},
"IAC " : {
"Unit" : "A",
14
},
"Head" : {
}
}
"Value " : 0.35999999999 99 99 99
},
"IDC " : {
"Unit" : "A",
"Value " : 0.32000000000 00 00 01
},
"PAC " : {
"Unit" : "W",
"Value " : 84
},
"TOTAL_ENERGY " : {
"Unit" : "Wh",
"Value " : 1734796.1200000 00 1
},
"UAC " : {
"Unit" : "V",
"Value " : 232.40000000000 00 1
},
"UDC " : {
"Unit" : "V",
"Value " : 399.89999999999 99 8
},
"YEAR_ENERGY" : {
"Unit" : "Wh",
"Value " : 322593 .5
}
}
"RequestA rg um en ts " : {
"DataCollection " : " CommonInverte rD at a", "DeviceClass" : " In verter ", "DeviceId " : "1" , "Scope " : "Devic e"
},
"Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 03 +0 2: 00 "
Listing 8: Response body for GetInverterRealtimeData scope=”Device” and collection=”3PInverterData” on Symo Hybrid
{
"Body" : {
"Data" : {
"IAC_L1" : {
"Unit" : "A",
"Value " : 0.08000000000 00 00 00 2
},
"IAC_L2" : {
"Unit" : "A",
"Value " : 0.04000000000 00 00 00 1
},
"IAC_L3" : {
"Unit" : "A",
"Value " : 0.08000000000 00 00 00 2
},
"UAC_L1" : {
"Unit" : "V",
"Value " : 233.90000000000 00 1
},
"UAC_L2" : {
15
"Unit" : "V",
"Value " : 23 3
},
"UAC_L3" : {
"Unit" : "V",
"Value " : 230.69999999999 99 9
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " 3PInverterData" , "DeviceClass" : " In verter ", "DeviceId " : "1" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2021 -05- 19 T09 :4 9: 39 +0 2: 00 "
}
}
Listing 9: Response body for GetInverterRealtimeData scope=”Device” and collection=”3PInverterData” on GEN24 Symo
{
"Body" : {
"Data" : {
"IAC_L1" : {
"Unit" : "A",
"Value " : 0.39000001549 72 07 64
},
"IAC_L2" : {
"Unit" : "A",
"Value " : 0.38900002837 18 10 91
},
"IAC_L3" : {
"Unit" : "A",
"Value " : 0.3970000147819 51 9
},
"UAC_L1" : {
"Unit" : "V",
"Value " : 233.10000610351 56 2
},
"UAC_L2" : {
"Unit" : "V",
"Value " : 234. 5
},
"UAC_L3": {
"Unit" : "V",
"Value " : 230.71844482421 87 5
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " 3PInverterData" , "DeviceClass" : " In verter ", "DeviceId " : "1" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
16
"UserMessage" : ""
},
"Timestamp" : "2021 -01- 19 T11 :0 4: 36 +0 0: 00 "
}
}
Listing 10: Response body for GetInverterRealtimeData scope=”Device” and collection=”CommonInverterData” on GEN24 Symo
{
"Body" : {
"Data" : {
"DAY_ENERGY " : {
"Unit" : "Wh",
"Value " : nu ll
},
"DeviceStatus " : {
"ErrorCode" : 0,
"InverterState" : "Running " ,
"StatusCode " : 7
},
"FAC " : {
"Unit" : "Hz",
"Value " : 50.012432098388 67 2
},
"IAC " : {
"Unit" : "A",
"Value " : 1.5640000402927 39 9
},
"IDC " : {
"Unit" : "A",
"Value " : 0.66413545608 52 05 08
},
"IDC_2 " : {
"Unit" : "A",
"Value " : 0.65616516515 61 65 18
},
"IDC_3 " : {
"Unit" : "A",
"Value " : 0.68945421323 03 22 08
},
"IDC_4 " : {
"Unit" : "A",
"Value " : 0.63216161556 16 51 68
},
"PAC " : {
"Unit" : "W",
"Value " : 1965.2919921875
},
"SAC " : {
"Unit" : "VA",
"Value " : 1965.4365234375
},
"TOTAL_ENERGY " : {
"Unit" : "Wh",
"Value " : 3120.0222222222 22 4
},
"UAC " : {
"Unit" : "V",
"Value " : 234.19126892089 84 4
},
"UDC " : {
"Unit" : "V",
"Value " : 1.9832431077957 15 3
},
"UDC_2 " : {
"Unit" : "V",
17
},
"Head" : {
}
}
"Value " : 72.425910949707 03 1
},
"UDC_3 " : {
"Unit" : "V",
"Value " : 416.4656516515115
},
"UDC_4 " : {
"Unit" : "V",
"Value " : 409.69140625
},
"YEAR_ENERGY" : {
"Unit" : "Wh",
"Value " : nu ll
}
}
"RequestA rg um en ts " : {
"DataCollection " : " CommonInverte rD at a", "DeviceId " : "1" , "Scope " : "Devic e"
},
"Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2022 -02- 14 T12 :3 3: 54 +0 0: 00 "
Listing 11: Response body for GetInverterRealtimeData scope=”Device” and collection=”CumulationInverterData” on GEN24 Primo
{
"Body" : {
"Data" : {
"DeviceStatus :" : {
"InverterState" : "Running "
},
"PAC " : {
"Unit" : "W",
"Value " : 8.4296154682294 41 7e+252
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " Cumulatio nI nv er te rD at a ", "DeviceClass" : " In verter ", "DeviceId " : "1" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T05 :5 9: 13 +0 0: 00 "
}
}
Listing 12: Response body for GetInverterRealtimeData scope=”Device” and collection=”CumulationInverterData” on Tauro
{
"Body" : {
18
"Data" : {
"DAY_ENERGY " : {
"Unit" : "Wh",
"Value " : nu ll
},
"DeviceStatus " : {
"ErrorCode" : 0,
"InverterState" : "Running " ,
"StatusCode " : 7
},
"FAC " : {
"Unit" : "Hz",
"Value " : 50.025005340576 17 2
},
"IAC " : {
"Unit" : "A",
"Value " : 426.41439819335 93 8
},
"IDC " : {
"Unit" : "A",
"Value " : 8.0665655136108 39 8
},
"IDC_2 " : {
"Unit" : "A",
"Value " : nu ll
},
"IDC_3 " : {
"Unit" : "A",
"Value " : nu ll
},
"IDC_4 " : {
"Unit" : "A",
"Value " : 0.63216161556 16 51 68
},
"PAC " : {
"Unit" : "W",
"Value " : 2941.389892578125
},
"SAC " : {
"Unit" : "VA",
"Value " : 100970.953125
},
"TOTAL_ENERGY " : {
"Unit" : "Wh",
"Value " : 36742265.892499 99 8
},
"UAC " : {
"Unit" : "V",
"Value " : 236.7030029296875
},
"UDC " : {
"Unit" : "V",
"Value " : 636.800048828125
},
"UDC_2 " : {
"Unit" : "V",
"Value " : nu ll
},
"UDC_3 " : {
"Unit" : "V",
"Value " : nu ll
},
"UDC_4 " : {
"Unit" : "V",
"Value " : 409.69140625
},
"YEAR_ENERGY" : {
19
"Unit" : "Wh",
"Value " : nu ll
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " CommonInverte rD at a", "DeviceId " : "1" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2021 -10- 14 T13 :0 5: 55 +0 0: 00 "
}
}
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”)
{
"Body" : {
"Data" : {
"DAY_ENERGY " : {
"Unit" : "Wh", "Values" : {
"1" : 1 393, "2" : 1 618, "3" : 1 695,
20
},
"Head" : {
}
}
"55" : 1698
} },
"PAC " : {
"Unit" : "W",
"Values" : {
"1" : 84, "2" : 1 09 , "3" : 1 09 , "55" : 108
} },
"TOTAL_ENERGY " : {
"Unit" : "Wh",
"Values" : {
"1" : 1734796 , "2" : 3026782 , "3" : 3160499 , "55" : 3275219
} },
"YEAR_ENERGY" : {
"Unit" : "Wh",
"Values" : {
"1" : 322593 , "2" : 385172 , "3" : 399904 , "55" : 403993
} }
}
"RequestA rg um en ts " : {
"DeviceClass" : " In verter ", "Scope " : "Syste m"
},
"Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 04 +0 2: 00 "
Listing 15: Example of response body for GetInverterRealtimeData request (Scope ”System”) on GEN24/Tauro
{
"Body" : {
"Data" : {
"PAC " : {
"Unit" : "W",
"Value " : {
"1" : 27 1.0
} }
} },
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " In verter ",
"Scope " : "Syste m"
},
"Status" : {
"Code" : 0,
"Reason" : "",
21
"UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T05 :2 8: 12 +0 0: 00 "
}
}
4.2 GetSensorRealtimeData request
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
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid ALWAYS Fronius GEN24/Tauro ALWAYS
+ 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.
4.2.2 URL for HTTP requests
/solar_api/v1/GetSensorRealtimeData.cgi
4.2.3 Parameters
Parameter Type Range/Values/Pattern Description Scope String ”Device”
”System”
Query specific device(s)
or whole system DeviceId String Solar Net: 0 …9 Which card to query. DataCollection String ”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" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2018 -03- 01 T13 :2 5: 34 +0 1: 00 "
}
}
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"
"Scope ": "Devic e"
},
"Status": {
"Code": 0 ,
"Reason": " ",
"UserMessage" : ""
},
"Timestamp" : "2018 -03- 01 T13 :2 5: 34 +0 1: 00 "
}
}
4.3 GetStringRealtimeData request
4.3.1 Availability
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid ALWAYS Fronius GEN24/Tauro ALWAYS
+ This API is useless on Fronius Hybrid systems which are unable to get connected to string controls
anyway.
+ String Control does not exist for GEN24/Tauro
4.3.2 URL for HTTP requests
/solar_api/v1/GetStringRealtimeData.cgi
4.3.3 Parameters
Parameter Type Range/Values/Pattern Description Scope String ”Device”
”System” DeviceId String Solar Net: 0 …199 Which device to query. DataCollection String ”NowStringControlData”
”LastErrorStringControlData”
”CurrentSumStringControlData” TimePeriod String ”Day”
”Year”
”Total”
Query specific device or whole system
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
DataCollection supported on
Non Hybrid Hybrid GEN24/Tauro NowStringControlData YES useless YES LastErrorStringControlData YES useless NO CurrentSumStringControlData YES useless NO
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",
"TimePeriod " : " Day"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 13 T15 :0 6: 54 +0 2: 00 "
}
}
Listing 22: Reply body for GetStringRealtimeData DataCollection=”NowStringControlData” on GEN24/Tauro
{
"Body" : {
"Data" : {}
},
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " NowStringCo nt ro lD at a",
"DeviceClass" : " St ri ng Co nt ro l",
"Scope " : "Syste m"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T07 :2 0: 58 +0 0: 00 "
}
}
4.3.8 Object structure of response body (DataCollection ”LastErrorStringControlData”)
Listing 23: Object structure of response body for GetStringRealtimeData request (DataCollection ”LastErrorString ControlData”)
ob je ct {
ob je ct {
# T imestamp when the error was d et ec te d.
st ri ng TimeOfError ;
# Average valu e of al l c hannels # at the time the error was detected.
ob je ct {
nu mb er Value;
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
} S tr in gA ve ra ge ;
# C ontains information about e ve ry channel # at the time the error was detected.
ob je ct {
# Object representing one ch annel.
ob je ct {
30
}
# D eviation from string average.
ob je ct {
nu mb er Value;
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
} D eviation ;
# Current su m
ob je ct {
nu mb er Value;
# Base un it of the v alue , n ever contai ns any pr ef ix es .
st ri ng Unit ;
} Sum;
} _ _C HA NN EL _I ND EX __;
}* Channels;
} Data;
4.3.9 Example of response body (DataCollection ”LastErrorStringControlData”)
Listing 24: Example of response body for GetStringRealtimeData request (DataCollection ”LastErrorStringCon trolData”)
{
"Body" : {
"Data" : {
"Channels " : {
"1" : {
"Deviation" : {
"Unit" : "%",
"Value " : 5.7000000000000 00 2
},
"Sum " : {
"Unit" : "Ah",
"Value " : 0.84999999999 99 99 98
}
},
"2" : {
"Deviation" : {
"Unit" : "%",
"Value " : -12.6
},
"Sum " : {
"Unit" : "Ah",
"Value " : 0.69999999999 99 99 96
}
},
"3" : {
"Deviation" : {
"Unit" : "%",
"Value " : 7.0999999999999 99 6
},
"Sum " : {
"Unit" : "Ah",
"Value " : 0.85999999999 99 99 99
}
},
31
},
"Head" : {
}
}
"4" : {
"Deviation" : {
"Unit" : "%",
"Value " : 0
},
"Sum " : {
"Unit" : "Ah",
"Value " : 0
}
},
"5" : {
"Deviation" : {
"Unit" : "%",
"Value " : 0
},
"Sum " : {
"Unit" : "Ah",
"Value " : 0
}
} },
"StringAverage" : {
"Unit" : "Ah",
"Value " : 0.81000000000 00 00 05
},
"TimeOfError" : " 2010 -10-23 T09 :3 2: 00 +0 2: 00 "
}
"RequestA rg um en ts " : {
"DataCollection " : " LastErr or St ri ng Co ntrolData ", "DeviceClass" : " St ri ng Co nt ro l", "DeviceId " : "8" , "Scope " : "Devic e"
},
"Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2019 -06- 13 T15 :0 6: 56 +0 2: 00 "
4.3.10 Object structure of response body (DataCollection ”NowStringControlData”)
Listing 25: Object structure of response body for GetStringRealtimeData request (DataCollection ”NowStringCon trolData”)
ob je ct {
ob je ct {
# Object representing one ch annel.
ob je ct {
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.11 Example of response body (DataCollection ”NowStringControlData”)
32
Listing 26: Example of response body for GetStringRealtimeData request (DataCollection ”NowStringControl Data”)
{
"Body" : {
"Data" : {
"1" : {
"Unit" : "A",
"Value " : 0
},
"2" : {
"Unit" : "A",
"Value " : 0
},
"3" : {
"Unit" : "A",
"Value " : 0
},
"4" : {
"Unit" : "A",
"Value " : 0
},
"5" : {
"Unit" : "A",
"Value " : 0
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DataCollection " : " NowStringCo nt ro lD at a", "DeviceClass" : " St ri ng Co nt ro l", "DeviceId " : "8" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 13 T15 :0 6: 57 +0 2: 00 "
}
}
4.4 GetLoggerInfo request
This request provides information about the logging device which provides this API.
4.4.1 Availability
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid ALWAYS Fronius GEN24/Tauro ALWAYS
+ API is available but returns an error on GEN24/Tauro.
4.4.2 URL for HTTP requests
/solar_api/v1/GetLoggerInfo.cgi
4.4.3 Object structure of response body
33
Listing 27: Object structure of response body for GetLoggerInfo request
ob je ct {
ob je ct {
# Unique ID of the lo gging device.
st ri ng UniqueID;
# String identifying th e exact pr od uc t t ype. # e xamples: "fro nius - hy br id " or "fro nius - da tamanager-c ard"
st ri ng ProductID ;
# String identifying th e exact hard wa re p latform.
st ri ng PlatformID;
# H ardware version of th e logging devi ce .
st ri ng HWVersion ;
# S oftware version of th e logging devi ce . ( Ma jo r.Minor.R evision -Build )
st ri ng SWVersion ;
# Name of city / co untry which the user # s elected as time zo ne .
st ri ng TimezoneL oc at io n/[a-zA -Z ]+|/ ;
# Name of the s el ec ted time zone . # May b e empty i f information not a va il ab le .
st ri ng TimezoneName/[a -zA-Z ]+ |/;
# UTC of fset in seconds east of UTC, # i ncluding adjustments fo r d aylight saving.
in te ge r U TC Of fset ;
# Default langua ge set on the logging devi ce # as a two l etter a bb re viation (e. g. " en "). # NOTE: Th is attribute wi ll be REMOVED soon
st ri ng DefaultLang ua ge ;
# Grid supp ly tariff # This fiel d is mandatory only fo r all Fr on ius Hybrid inverter # and Fr on ius Non Hy brid sinc e 3 .3.3 -1
nu mb er DeliveryFactor;
# The cash fact or set on the l og gi ng device , # NOT t he factor set on the inverters .
nu mb er CashFactor;
# C urrency of cash fact or set o n the l og gi ng devi ce , # NOT t he currency se t on the inverters .
st ri ng CashCurrency;
# The C O2 factor set on the logging device , # NOT t he factor set on the inverters .
nu mb er CO2Factor ;
# Unit of CO2 f actor set on the l og gi ng device , # NOT t he unit set on the i nv er te rs .
st ri ng CO2Unit;
} L og gerInfo;
};
+ Item ”DefaultLanguage” will be removed soon
34
4.4.4 Example of response body
Listing 28: Example of response body for GetLoggerInfo request
{
"Body" : {
"LoggerInfo " : {
"CO2Factor" : 0.52999997138977051 ,
"CO2Unit" : "kg",
"CashCurrency " : " EUR" ,
"CashFactor " : 0 .1 19 99 99 97 31 77 9099 ,
"DefaultLan gu ag e" : "en",
"DeliveryFactor " : 0 .25,
"HWVersion" : "2.4D",
"PlatformID " : " wi lma" ,
"ProductID" : "froni us - data ma nager -car d",
"SWVersion" : "3.14. 1-2 ",
"Timezone Lo ca ti on " : " Paris",
"TimezoneName " : " CE ST ",
"UTCOffset" : 7200 ,
"UniqueID " : " 24 0. 10 76 20 "
}
},
"Head" : {
"RequestA rg um en ts " : {} , "Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 06 +0 2: 00 "
}
}
4.5 GetLoggerLEDInfo request
This request provides information about the LED states and colors on the device which provides this API.
4.5.1 Availability
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid
ALWAYS
Fronius GEN24/Tauro ALWAYS
+ API is available but returns an error on GEN24/Tauro.
4.5.2 URL for HTTP requests
/solar_api/v1/GetLoggerLEDInfo.cgi
4.5.3 Object structure of response body
Listing 29: Object structure of response body for GetLoggerLEDInfo request
ob je ct {
ob je ct {
# State of on e LED.
ob je ct {
# Color (" re d", " gr een" or "none ") .
st ri ng Color;
35
# State (" on ", "off", "blinking" or "alternating").
st ri ng State;
} _ _L ED _N AM E_ _ ;
}* Data ;
};
4.5.4 Example of response body
Listing 30: Example of response body for GetLoggerLEDInfo request
{
"Body" : {
"Data" : {
"PowerLED " : {
"Color " : "green ",
"State " : "on"
},
"SolarNetLED" : {
"Color " : "green ",
"State " : "on"
},
"SolarWebLED" : {
"Color " : "green ",
"State " : "on"
},
"WLANLED" : {
"Color " : "red ",
"State " : "on"
}
} },
"Head" : {
"RequestA rg um en ts " : {} ,
"Status" : {
"Code" : 0, "Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 07 +0 2: 00 "
}
}
4.6 GetInverterInfo request
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
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid ALWAYS Fronius GEN24/Tauro ALWAYS
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
{
"Body" : {
"Data" : {
37
},
"Head" : {
}
}
"1" : {
"CustomName " : "
&# 80;r &# 10 5; m 11 ;& #3 2;8. ;& #5 0;-1 ;& #3 2;( ", "DT" : 102, "ErrorCode" : 0, "PVPower" : 500, "Show" : 1, "StatusCode " : 7, "UniqueID " : " 38183"
},
"2" : {
"CustomName " : "
&# 80;r &# 10 5; m 11 ;& #3 2;5&# 46 ;& #4 8;-&# 49 ;& #3 2;20 ;"
,
"DT" : 86 , "ErrorCode" : 0, "PVPower" : 500, "Show" : 1, "StatusCode " : 7, "UniqueID " : " 16 77 7215 "
},
"3" : {
"CustomName " : "
&# 71;a& #1 08 ;& #118; 1; &# 32 ;3 6; &# 49 ;-1 &# 32 ;20 ", "DT" : 106, "ErrorCode" : 0, "PVPower" : 500, "Show" : 1, "StatusCode " : 7, "UniqueID " : " 7262 "
},
"55" : {
"CustomName " : "
&# 71;a& #1 08 ;& #118; 1; &# 32 ;3 6; &# 48 ;-1 &# 32 ;(5 ", "DT" : 224, "ErrorCode" : 0, "PVPower" : 500, "Show" : 1, "StatusCode " : 7, "UniqueID " : " 10 0372 "
}
}
"RequestA rg um en ts " : {} , "Status" : {
"Code" : 0, "Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 02 +0 2: 00 "
{
"Body" : {
Listing 33: Example of response body for GetInverterInfo on GEN24/Tauro
"Data" : {
"1" : {
"CustomName " : "tr -3 pn -01", "DT" : 1, "PVPower" : 0, "Show" : 1, "StatusCode " : " Ru nn ing", "UniqueID " : " 29 30 10 00 987160033 "
}
38
}
},
"Head" : {
"RequestA rg um en ts " : {} , "Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T07 :4 7: 43 +0 0: 00 "
}
}
4.6.5 Meaning of numerical status codes
The StatusCode Field is only reported as numerical value. The meaning of the numbers is shown in the table below.
Value Description provided by
Datamanager and Hybridmanager GEN24/Tauro 0  6 Startup YES Yes 7 Running YES Yes 8 Standby YES Yes 9 Bootloading YES No 10 Error YES Yes 11 Idle No Yes 12 Ready No Yes 13 Sleeping No Yes 255 Unknown No Yes
INVALID No Yes
4.7 GetActiveDeviceInfo request
This request provides information about which devices are currently online.
4.7.1 Availability
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid ALWAYS Fronius GEN24/Tauro ALWAYS
4.7.2 URL for HTTP requests
/solar_api/v1/GetActiveDeviceInfo.cgi
4.7.3 Parameters
Parameter Type Range/Values/Pattern Description DeviceClass String ”Inverter”
”Storage” ”Ohmpilot” ”SensorCard” ”StringControl” ”Meter”
2
3
4
4
Which kind of device class to search for active devices.
2 3 4
”System”
2
Supported since version 3.3.45
3
Supported since version 3.6.13
4
Not listed and provided on GEN24/Tauro
2
Uses different response format
39
4.7.4 DeviceClass is not System
Listing 34: Object structure of response body for GetActiveDeviceInfo 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 device . # Name of object is th e device index.
ob je ct {
# M andatory Device type of the d ev ice. # (onl y for Inverte r , S en so rC ar d or StringControl ; others have - 1)
in te ge r DT;
# O ptional attribute : s er ia lnumber # usually supporte d b y new I nv erters , O hm Pilots , Ba tt er ie s and Sm art Meters
st ri ng Se ri al ;
# Channel list in g f or Sens or Cards
ar ray {
st ri ng ;
} C ha nn el Na me s;
} _ _D EV IC E_ IN DE X_ _;
}* Data ;
};
{
"Body" : {
"Data" : {
"1" : {
"DT" : 102,
},
"2" : {
"DT" : 86
},
"3" : {
"DT" : 106
},
"55" : {
"DT" : 224
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " In verter "
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 0: 57 +0 2: 00 "
}
}
Listing 35: Example of response body for GetActiveDeviceInfo Inverter request
"Serial": " 27135399"
40
Listing 36: Example of response body for GetActiveDeviceInfo SensorCard request
{
"Body" : {
"Data" : {
"1" : {
"ChannelNames " : [
"Temperature 1", "Temperature 2", "Irradiation" , "Digital 1" , "Digital 2" , "Current"
],
"DT" : 254
},
"2" : {
"ChannelNames " : [
"Temperature 1", "Temperature 2", "Irradiation" , "Digital 1" , "Digital 2" , "Current"
],
"DT" : 254
}
}
},
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " Se ns or Ca rd "
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2018 -03- 01 T14 :4 1: 12 +0 1: 00 "
}
}
Listing 37: Example of response body for GetActiveDeviceInfo deviceclass=Inverter on GEN24/Tauro
{
"Body" : {
"Data" : {
"1" : {
"DT" : 1, "Serial" : " 29 09 10 00 97 50 90 00 7"
}
}
},
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " In verter "
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T09 :0 2: 48 +0 0: 00 "
}
}
41
+ The item ’DT’ is not valid for Inverters on GEN24/Tauro
4.7.5 DeviceClass is System
Listing 38: Object structure of response body for GetActiveDeviceInfo 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 {
#name of DeviceClass
ob je ct {
# Info abou t a si ngle device . # Name of object is th e device index.
ob je ct {
# Device type only fo r Invert er , SensorCard or Strin gC on tr ol . o th ers have -1
in te ge r DT;
# O ptional attribute : s er ia lnumber
st ri ng Se ri al ;
# This obje ct only exis ts for Se ns or Ca rd device clas s
ar ray { s tr in g } Ch an ne lN am es ;
} _ _D EV IC E_ IN DE X_ _;
} _ _D EV IC E_ CL AS S_ _;
}* Data ;
};
Listing 39: Example of response body for GetActiveDeviceInfo request on non hybrid inverter systems
{
"Body" : {
"Data" : {
"Inverter " : {
"1" : {
"DT" : 102,
"Serial" : " 27135399 "
},
"2" : {
"DT" : 86
},
"3" : {
"DT" : 10 6
},
"55" : {
"DT" : 22 4
}
},
"Meter " : {
"0" : {
"DT" : -1 ,
"Serial" : " 16420055 "
},
"2" : {
"DT" : -1 ,
"Serial" : "475619 "
},
"3" : {
42
},
"Head" : {
}
}
"DT" : -1 ,
"Serial" : " 17362721 "
}
},
"Ohmpilot " : {
"0" : {
"DT" : -1 ,
"Serial" : " 12345678 "
}
},
"SensorCard " : {
"1" : {
"ChannelNames " : [
"Temperature 1", "Temperature 2", "Irradiation" , "Digital 1" , "Digital 2" ,
"Current"
],
"DT" : 25 4
} },
"Storage" : {} , "StringControl" : {
"3" : {
"DT" : 25 3
}
}
}
"RequestA rg um en ts " : {
"DeviceClass" : " System "
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 0: 59 +0 2: 00 "
{
"Body" : {
Listing 40: Example of response body for GetActiveDeviceInfo request on hybrid inverter systems
"Data" : {
"Inverter " : {
"1" : {
"DT" : 99
} },
"Meter " : {
"0" : {
"DT" : -1, "Serial" : " 16250161 "
} },
"Ohmpilot " : {}, "SensorCard " : {}, "Storage" : {
"0" : {
"DT" : -1, "Serial" : " 26175063 "
}
43
},
"StringControl" : {}
} },
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " System "
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 0: 59 +0 2: 00 "
}
}
Listing 41: Example of response body for GetActiveDeviceInfo deviceclass=Inverter on GEN24/Tauro
{
"Body" : {
"Data" : {
"1" : {
"DT" : 1,
"Serial" : " 29 09 10 00 97 50 90 00 7"
},
"Meter " : {
"0" : {
"DT" : -1, "Serial" : " 18142251 "
} },
"Ohmpilot " : {
"0" : {
"DT" : -1, "Serial" : " 28136344 "
} },
"Storage" : {}
} },
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " System "
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T08 :5 9: 41 +0 0: 00 "
}
}
+ The item ’DT’ is not valid for Inverters on GEN24/Tauro
4.8 GetMeterRealtimeData 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
Platform Since version Fronius Hybrid ALWAYS Fronius Non Hybrid 3.3.48 Fronius GEN24/Tauro planned in 1.13
4.8.2 URL for HTTP requests
/solar_api/v1/GetMeterRealtimeData.cgi
4.8.3 Parameters
Parameter Type Range/Values/Pattern Description Scope String ”System”
Mandatory
”Device”
DeviceId String 0..65535 Mandatory on non system scope
4.8.4 Devicetypes and provided channels
45
Group Fronius Smart Meter Fronius Smart Meter UL Generic
Model
63A3
63A1
50kA3
TS 100A1
TS 65A3
TS 5kA3
WNC3D240MB
WNC3D480MB
WND3D240MB
WND3Y600MB
WND3D480MB
Compatibility
sw=1
sw=1
sw=1
sw=26
sw=26
hw=0 and sw=2.7
hw=0 and sw=1.9
hw=16 and sw is 21 or 22
hw=17 and sw is 29 or 30
hw=1 and (sw=2.9 or sw=3.0)
hw=1 and sw is 3.00, 3.01, 3.03 or 3.04)
Channel provided (m…mandatory, …never, o…optional) Details / Manufacturer m m m m m m m m m m m o Details / Model m m m m m m m m m m m o Details / Serial m m m m m m m m m m m o
Current_AC_Phase_1 m m m m m m m m m m m o Current_AC_Phase_2 m m m m o o o o o o Current_AC_Phase_3 m m m m o o o o o o Current_AC_Sum m m m m m m m m m o Enable m m m m m m m m m m m m EnergyReactive_VArAC_Phase_1_Consumed m  EnergyReactive_VArAC_Phase_1_Produced m  EnergyReactive_VArAC_Sum_Consumed m m m m m m  EnergyReactive_VArAC_Sum_Produced m m m m m m  EnergyReal_WAC_Minus_Absolute m m m m m m m m m m m m EnergyReal_WAC_Phase_1_Consumed m m m m m m o EnergyReal_WAC_Phase_1_Produced m m m m m m o EnergyReal_WAC_Phase_2_Consumed o o o o o o EnergyReal_WAC_Phase_2_Produced o o o o o o EnergyReal_WAC_Phase_3_Consumed o o o o o o EnergyReal_WAC_Phase_3_Produced o o o o o o EnergyReal_WAC_Plus_Absolute m m m m m m m m m m m m EnergyReal_WAC_Sum_Consumed m m m m m m m m m m m m EnergyReal_WAC_Sum_Produced m m m m m m m m m m m m Frequency_Phase_Average m m m m m m m m m m m m Meter_Location_Current m m m m m m m m m m m m PowerApparent_S_Phase_1 m m m m m m m m m m m o PowerApparent_S_Phase_2 m m m m o o o o o o PowerApparent_S_Phase_3 m m m m o o o o o o PowerApparent_S_Sum m m m m m m m m m m m m PowerFactor_Phase_1 m m m m m m m m m m m o PowerFactor_Phase_2 m m m m o o o o o o PowerFactor_Phase_3 m m m m o o o o o o PowerFactor_Sum m m m m m m m m m m m m PowerReactive_Q_Phase_1 m m m m m m m m m m m o PowerReactive_Q_Phase_2 m m m m o o o o o o PowerReactive_Q_Phase_3 m m m m o o o o o o PowerReactive_Q_Sum m m m m m m m m m m m m
SunsSpec Meter
model=307 or model=70307
46
Group Fronius Smart Meter Fronius Smart Meter UL Generic
Model
63A3
63A1
50kA3
TS 100A1
TS 65A3
TS 5kA3
WNC3D240MB
WNC3D480MB
WND3D240MB
WND3Y600MB
WND3D480MB
Article Number
43,0001,1473
43,0001,1477
43,0001,1478
43,0001,0045
43,0001,0044
43,0001,0046
43,0001,3529
43,0001,3530
43,0001,3552
PowerReal_P_Phase_1 m m m m m m m m m m m o PowerReal_P_Phase_2 m m m m o o o o o o PowerReal_P_Phase_3 m m m m o o o o o o PowerReal_P_Sum m m m m m m m m m m m m TimeStamp m m m m m m m m m m m m Visible m m m m m m m m m m m m Voltage_AC_PhaseToPhase_12 m m m m o o o o o o Voltage_AC_PhaseToPhase_23 m m m m o o o o o o Voltage_AC_PhaseToPhase_31 m m m m o o o o o o Voltage_AC_Phase_1 m m m m m m m m m m m o Voltage_AC_Phase_2 m m m m o o o o o o Voltage_AC_Phase_3 m m m m o o o o o o Voltage_AC_Phase_Average m m m m m o
Some values are optional since meter is able to operate on one or three phases.
SunsSpec Meter
device dependend
4.8.5 Channel Descriptions
Name Description Enable 1...enabled, 0...disabled Visible 1...use values, 0...incomplete or outdated values Current_AC_Phase_* absolute values for 63A3,63A1 and 50KA3
only UL and TS meter provide directions feedin negative(); consumption positive(+)
Meter_Location_Current 0...grid interconnection point (primary meter)
1...load (primary meter)
3...external generator (secondary meters)(multiple) 256511 subloads (secondary meters)(unique)
EnergyReactive_VArAC_Phase_*_Consumed/Produced
meter specific view EnergyReactive_VArAC_Sum_Consumed/Produced EnergyReal_WAC_Plus/Minus_Absolute system 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 (FeedInPoint 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_Current 0
feed in
consumption path PowerReal_P_Sum (+ positive) consuming from grid producing power PowerReal_P_Sum ( negative) feeding in to grid normal 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_Current 3
ext. generator
256511
subloads PowerReal_P_Sum (+ positive) generation load is producing power PowerReal_P_Sum ( negative) consumption normal consumption EnergyReal_WAC_Plus_Absolute (absolute counter) EnergyReal_WAC_Minus_Absolute (absolute counter)
generation EnergyReal_WAC_Phase_*_Produced consumption EnergyReal_WAC_Phase_*_Consumed
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.8 SystemRequest
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" : {
"Manufacturer ": " Froniu s", "Model ": "CCS WattNode WND -3Y -600-M B" , "Serial": " 475619 "
},
"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
}
"RequestA rg um en ts " : {
"DeviceClass" : " Meter" ,
"Scope " : "Syste m"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 24 T10 :3 1: 54 +0 2: 00 "
Examples for GEN24/Tauro are identical.
4.8.9 DeviceRequest
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
}
"RequestA rg um en ts " : {
"DeviceClass" : " Meter" , "DeviceId " : "0" , "Scope " : "Devic e"
},
"Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2019 -06- 13 T14 :5 2: 10 +0 2: 00 "
Examples for GEN24/Tauro are identical.
4.9 GetStorageRealtimeData request
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
Platform Since version Fronius Hybrid 1.1.213 Fronius Non Hybrid NOT AVAILABLE Fronius GEN24/Tauro 1.13
4.9.2 3rd Party Batteries
will be displayed since HybridManager version 1.13.1x and Solar API Version 1.517. 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",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 03 T17 :0 1: 01 +0 2: 00 "
}
}
4.9.3 Supported
manufacturer model versions Fronius Fronius Solar Battery bms sw 0x18XX BYD BYD BatteryBox HV protocol 0x0  0x1ffff LGChem Resu H dcdc sw 0x5046  0x50ff
dcdc sw 0x7046  0x70ff
+ If storage version is incompatible, it will be operative and an inconsistency warning will be shown to
update the storage if possible.
4.9.4 URL for HTTP requests
/solar_api/v1/GetStorageRealtimeData.cgi
4.9.5 Parameters
Parameter Type Range/Values/Pattern Description Scope String ”System”
”Device”
DeviceId String 0..65535 Mandatory on non system scope
4.9.6 Reference to manual
Mandatory
Reference to Fronius Energy Package and 3rd Party support can be found here:
https://www.fronius.com/~/downloads/Solar%20Energy/Operating%20Instructions/42%2C0426%2C0222%
2CEN.pdf
54
4.9.7 Channel Descriptions
Table 3: Channel and description for control section
Name of channel Description Available
Fronius LG BYD
Solar Chem Box
Battery Resu H Details / Manufacturer name of manufacturer always always always Details / Model model of battery always always always Details / Serial unique identification serial always always always
TimeStamp last timestamp data has been refrehsed always always always Enable device is managed (1.0) or disconnected (0.0) always always always StateOfCharge_Relative relative charged capacity in % always always always Capacity_Maximum current max capacity always always always DesignedCapacity max designed capacity always always always Current_DC battery output current (+ charging) always always always Voltage_DC battery output voltage always always always Temperature_Cell temperature in degree celsius always always always
Table 4: Channel and description for module section (only Solar Battery provides module informations)
Name of channel Description Available
Fronius LG BYD
Solar Chem Box
Battery Resu H Details / Manufacturer manufacturer always  Details / Model model identifier always  Details / Serial unique identifier always
Capacity_Maximum always  Current_DC always  CycleCount_BatteryCell always  DesignedCapacity always  Enable always  StateOfCharge_Relative always  Status_BatteryCell always  Temperature_Cell always  Temperature_Cell_Maximum always  Temperature_Cell_Minimum always  TimeStamp always  Voltage_DC always  Voltage_DC_Maximum_Cell always  Voltage_DC_Minimum_Cell always
4.9.8 SystemRequest
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 channel Description Status_BatteryCell Fronius 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 value Description 0
16
16
16
16
16
16
16
16
16
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_BatteryCell for LGChem Resu H at section Controller
Status value Description 1 STANDBY 3 ENABLED 5 FAULTED 10 SLEEP
Status_BatteryCell for BYD Box at section Controller
Status value Description 0 STANDBY 1 INACTIVE 2 DARKSTART 3 ACTIVE 4 FAULT 5 UPDATING
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 HM1.12.1X 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
}
]
}
} },
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " St orage" ,
"Scope " : "Syste m"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 12 +0 2: 00 "
}
59
}
{
"Body" : {
},
"Head" : {
}
}
Listing 49: Reply body for GetStorageRealtimeData System request (BYD BBox)
"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
},
"Modules" : []
}
}
"RequestA rg um en ts " : {
"DeviceClass" : " St orage" ,
"Scope " : "Syste m"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 13 T14 :5 5: 44 +0 2: 00 "
4.9.9 DeviceRequest
Listing 50: 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 {
#serial nu mber of Fronius So lar Battery
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__;
} C on troller;
ar ray {
60
ob je ct {
} Details ;
#channels of devi ce ( textual name and va lue)
nu mb er * _ _C HA NN EL _N AM E__;
} * M od ul es ;
} Data ;
{
"Body" : {
"Data" : {
}
},
"Head" : {
"RequestA rg um en ts " : {
},
"Status" : {
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 08 +0 2: 00 "
}
}
st ri ng Serial ;
st ri ng Model;
st ri ng Manufacturer;
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
},
"Modules" : []
"DeviceClass" : " St orage" , "DeviceId " : "0" , "Scope " : "Devic e"
"Code" : 0, "Reason" : "", "UserMessage" : ""
4.10 GetOhmPilotRealtimeData request
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
Platform Since version Fronius Hybrid 1.6.14 Fronius Non Hybrid 3.8.14 Fronius GEN24/Tauro 1.13
61
4.10.2 URL for HTTP requests
/solar_api/v1/GetOhmPilotRealtimeData.cgi
4.10.3 Parameters
Parameter Type Range/Values/Pattern Description Scope String ”System”
Mandatory
”Device”
DeviceId String 0..65535 Mandatory on non system scope
4.10.4 Reference to manual
https://www.fronius.com/~/downloads/Solar%20Energy/Operating%20Instructions/42%2C0410%2C2141.pdf
4.10.5 SystemRequest
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
"Data" : {
"0" : {
"CodeOfError" : 926, "CodeOfState" : 0, "Details" : {
"Hardware " : "3" ,
"Manufacturer " : " Fron iu s",
"Model " : "Ohmpilot",
"Serial" : " 28136344 ",
"Software " : " 1.0.19 -1 "
},
"Ener gy Re al _W AC_Sum_Consumed " : 2964307, "PowerR ea l_ PA C_ Su m" : 0, "Temp er at ur e_ Ch an nel_1 " : 2 3. 89 99 99 999999999
}
}
"RequestA rg um en ts " : {
"DeviceClass" : " Oh mPilot ",
"Scope " : "Syste m"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 24 T10 :1 0: 44 +0 2: 00 "
4.10.6 DeviceRequest
Listing 54: Object structure of response body for GetOhmPilotRealtimeData Device request
# object with d etailed informations about one Ohmpil ot ,
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 te mp er at ur e # 2 . .. legionella protection # 3 . .. critic al f ault
63
# 4 . .. faul t # 5 . .. boos t mode
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 s ensor [°C]
nu mb er Tempe ra tu re _C ha nn el_1;
} Data ;
Listing 55: Reply body for GetOhmPilotRealtimeData Device request
{
"Body" : {
"Data" : {
"CodeOfError" : 926,
"CodeOfState" : 0,
"Details" : {
"Hardware " : "3" , "Manufacturer " : " Fron iu s", "Model " : "Ohmpilot", "Serial" : " 28136344 ",
"Software " : " 1.0.19 -1 "
},
"Ener gy Re al _W AC_Sum_Consumed " : 2964307, "PowerR ea l_ PA C_ Su m" : 0, "Temp er at ur e_ Ch an nel_1 " : 2 3. 89 99 99 999999999
} },
"Head" : {
"RequestA rg um en ts " : {
"DeviceClass" : " Oh mPilot ", "DeviceId " : "0" ,
"Scope " : "Devic e"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 24 T10 :1 0: 41 +0 2: 00 "
}
}
4.11 GetPowerFlowRealtimeData 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
Platform Since version Fronius Hybrid 1.2.1X Fronius Non Hybrid 3.3.9X Fronius GEN24/Tauro ALWAYS
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.

Version Changes 10 added smartloads/ohmpilot

added Version field 11 added secondary meters for subloads or extra production (Datamanager and HybridManager) 12 inverter nodes now provide component id 13 added 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 version 1.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 version 1.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 version 1.3.1- 1 # Fronius GE N24/ Tauro always 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 version 1.3.1- 1 # Fronius GE N24/ Tauro always 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 version 1.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 version 1.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 version 1.10.1 -1 # PowerFl ow Ve rs io n 11 # # Fronius GE N24/ Tauro 1.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
{
"Body" : {
"Data" : {
"Inverters" : {
"1" : {
"Battery_Mode " : " no rm al ", "DT" : 99 , "E_Day " : 6758 , "E_Total" : 7604 38 5.5, "E_Year" : 1342638. 25 , "P" : 5 06 , "SOC " : 55
} },
"Site" : {
"BatteryStandby " : f alse ,
"E_Day " : 6758 ,
"E_Total" : 7604 38 5.5,
"E_Year" : 1342638.2000000002,
"Meter_Location " : " grid ",
"Mode" : "bidirectional",
"P_Akku" : -384 .7 00 00000000005,
"P_Grid" : -511 .9 90 00000000001,
"P_Load" : 5.9900000000000091,
"P_PV" : 941.60000000000002,
"rel_Autonomy " : 100 ,
"rel_ Se lf Co ns um pt io n" : 0
},
"Smartloads " : {
"Ohmpilots" : {
"720897" : {
"P_AC_Total " : 2635 , "State " : "norma l", "Temperature" : 30.7
}
} },
"Version" : "12"
} },
"Head" : {
"RequestA rg um en ts " : {} ,
"Status" : {
"Code" : 0, "Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 07 +0 2: 00 "
}
}
{
"Body" : {
Listing 58: Reply body for GetPowerFlowRealtimeData on Fronius Non Hybrid System
"Data" : {
69
},
"Head" : {
}
}
"Inverters" : {
"1" : {
"DT" : 102, "E_Day " : 1393.20007 32 42 18 75 , "E_Total" : 173479 6. 125, "E_Year" : 322593 .5 ,
"P" : 8 8
},
"2" : {
"DT" : 86 ,
"E_Day " : 16 18.5 ,
"E_Total" : 3026 782,
"E_Year" : 385172.093 75 ,
"P" : 1 04
},
"3" : {
"DT" : 106,
"E_Day " : 1695.800 04 88 28 12 5 ,
"E_Total" : 316049 9. 75 ,
"E_Year" : 399904.093 75 ,
"P" : 1 09
},
"55" : {
"DT" : 224,
"E_Day " : 1699 ,
"E_Total" : 327521 9. 75 ,
"E_Year" : 403993.218 75 ,
"P" : 1 09
}
},
"Site" : {
"E_Day " : 6406.50012 20 70 31 25 , "E_Total" : 111972 97 .6 25 , "E_Year" : 1511662.9062 5 , "Meter_Location " : " unknow n", "Mode" : "produce - on ly ", "P_Akku" : null , "P_Grid" : null , "P_Load" : null , "P_PV" : 410, "rel_Autonomy " : null , "rel_ Se lf Co ns um pt io n" : null
},
"Version" : "12"
}
"RequestA rg um en ts " : {} , "Status" : {
"Code" : 0, "Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2019 -06- 12 T15 :3 1: 08 +0 2: 00 "
{
"Body" : {
Listing 59: Reply body for GetPowerFlowRealtimeData on GEN24 Primo
"Data" : {
"Inverters" : {
"1" : {
"Battery_Mode " : " no rm al ", "DT" : 1, "P" : 5 01 ,
70
},
"Head" : {
}
}
"SOC " : 30.600000381469727
} },
"Site" : {
"BatteryStandby " : f alse ,
"E_Day " : null ,
"E_Total" : nu ll ,
"E_Year" : null ,
"Meter_Location " : " grid ",
"Mode" : "bidirectional",
"P_Akku" : -100 6. 18 68286132812,
"P_Grid" : -497.62 ,
"P_Load" : -3.3 79 99 99999999955,
"P_PV" : 1547.73999023437 5 ,
"rel_Autonomy " : 1 00.0 ,
"rel_ Se lf Co ns um pt io n" : 0 .6 74 65 06 98 60 279347
},
"Version" : "12"
}
"RequestA rg um en ts " : {} , "Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2019 -08- 28 T09 :4 3: 29 +0 0: 00 "
{
"Body" : {
Listing 60: Reply body for GetPowerFlowRealtimeData on Tauro
"Data" : {
"Inverters" : {
"1" : {
"Battery_Mode " : " disa bl ed ", "DT" : 1, "E_Day " : null , "E_Total" : 36741974.335000001 , "E_Year" : null , "P" : 34 60 .2 57 32421875 , "SOC " : 0.0
} },
"Site" : {
"BackupMode " : fals e ,
"BatteryStandby " : f alse ,
"E_Day " : null ,
"E_Total" : 36741974.335000001 ,
"E_Year" : null ,
"Meter_Location " : " unknow n",
"Mode" : "produce - on ly ",
"P_Akku" : null ,
"P_Grid" : null ,
"P_Load" : null ,
"P_PV" : 5671.977050781 25 ,
"rel_Autonomy " : null ,
"rel_ Se lf Co ns um pt io n" : null
},
"Smartloads " : {
"Ohmpilots" : {}
},
"Version" : "12"
}
71
},
"Head" : {
"RequestA rg um en ts " : {} , "Status" : {
"Code" : 0, "Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2021 -10- 14 T13 :0 4: 00 +0 0: 00 "
}
}
+ Energies are not provided and device types DT are invalid on GEN24/Tauro

5 Archive Requests

5.1 Common

Archive requests shall be provided whenever access to historic devicedata 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
Platform Since version Fronius Hybrid 1.1.216 Fronius Non Hybrid 3.3.45 Fronius GEN24/Tauro NEVER
+ 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.510 (Datamanager 3.11.1 or Hybridmanager 1.9.1)
72
Table 5: Available channels
Name Unit TimeSpanInSec sec
EnergyReal_WAC_Sum_Produced Wh EnergyReal_WAC_Sum_Consumed
5
Wh InverterEvents struct InverterErrors struct Current_DC_String_1 1A Current_DC_String_2 1A Voltage_DC_String_1 1V Voltage_DC_String_2 1V Temperature_Powerstage deg C Voltage_AC_Phase_1 1V Voltage_AC_Phase_2 1V Voltage_AC_Phase_3 1V Current_AC_Phase_1 1A Current_AC_Phase_2 1A Current_AC_Phase_3 1A PowerReal_PAC_Sum 1W
EnergyReal_WAC_Minus_Absolute 1Wh EnergyReal_WAC_Plus_Absolute 1Wh Meter_Location_Current 1
Temperature_Channel_1 1 Temperature_Channel_2 1 Digital_Channel_1 1 Digital_Channel_2 1 Radiation 1
Digital_PowerManagementRelay_Out_1 1 Digital_PowerManagementRelay_Out_2 1 Digital_PowerManagementRelay_Out_3 1 Digital_PowerManagementRelay_Out_4 1 Hybrid_Operating_State 1
73
5.1.3 Parameters
Scope String ”Device”
”System”
SeriesType String ”DailySum”
Query specific device(s) or whole system.
Mandatory
Resolution of the dataseries. Optional
”Detail” (default)
HumanReadable BoolString ”True” (default)
Unset/Set readable output. Optional
”False”
StartDate DateString ”21.5.[20]14”
”5/21/[20]14” ”[20]14521”
Mandatory
supplying only the date will be interpreted as
local time ”201110 20T10:09:14+02:00”
EndDate DateString ”21.5.[20]14”
Mandatory
”5/21/[20]14” ”[20]14521” ”201110 20T10:09:14Z”
Channel String available channels from table 5. Mandatory, multiple times DeviceClass String ”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.46 HM 1.3.11
since DM 3.7.46 HM 1.3.11
since DM 3.8.14 HM 1.6.14
DeviceId String Solar Net: 0 …199 Only 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.2 Example 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,
/* shorten l ist for re ad ab il it y */
"1200" : 300,
/* shorten l ist for re ad ab il it y */
"12000 " : 300,
/* shorten l ist for re ad ab il it y */
"2100" : 300,
/* shorten l ist for re ad ab il it y */
"900 " : 299, "9000" : 300, "9300" : 299, "9600" : 299,
"9900" : 300
},
"_comment " : " ch an ne lId=65549"
} },
"DeviceType " : 99, "End " : " 2018 -03 -01T23 :59:59+01:00" ,
75
"NodeType " : 97, "Start " : "201 8-03 -01 T00:00:00+01:00 "
},
"meter : 15 48 02 58 " :
{
"Data" :
{
"En er gy Re al _W AC_Minus_Abso lu te " :
{
"Unit" : "Wh", "Values" :
{
"0" : 744657 , "10200 " : 74 4657 , "10500 " : 74 4657 ,
/* shorten l ist for re ad ab il it y */
"9300" : 7446 57 , "9600" : 7446 57 ,
"9900" : 744657
},
"_comment " : " ch an ne lId=167837960 "
},
"Ener gy Re al _W AC_Plus_Absolut e" :
{
"Unit" : "Wh", "Values" :
{
"0" : 605047 ,
"10200 " : 60 5194 ,
"10500 " : 60 5198 ,
"10800 " : 60 5202 ,
/* shorten l ist for re ad ab il it y */
"9000" : 6051 77 ,
"9300" : 6051 81 ,
"9600" : 6051 85 ,
"9900" : 605190
},
"_comment " : " ch an ne lId=167772424 "
},
"Mete r_ Lo ca ti on _C urrent" :
{
"Unit" : "1", "Values" :
{
"0" : 0 ,
"10200 " : 0,
"10500 " : 0,
"10800 " : 0,
/* shorten l ist for re ad ab il it y */
"9600" : 0,
"9900" : 0
},
"_comment " : " ch an ne lId=117050390 "
} },
"End " : " 2018 -03 -01T23 :59:59+01:00" , "Start " : "201 8-03 -01 T00:00:00+01:00 "
}
} },
"Head" :
{
"RequestA rg um en ts " :
{
"Channel" :
[
"TimeSpanInSec",
76
"Ener gy Re al _W AC_Plus_Absolut e", "Ener gy Re al _W AC_Minus_Abso lu te " ,
"Mete r_ Lo ca ti on _C urrent"
],
"EndDate" : "201 8-03- 01 T2 3:59:59+01:00 ", "HumanReadable" : "Tru e", "Scope " : "Syste m", "SeriesType " : " De ta il ", "StartDate" : "2018 -03- 01 T00 :0 0: 00 +0 1: 00 "
},
"Status" :
{
"Code" : 0, "ErrorDetail" :
{
"Nodes " : []
},
"Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2018 -03- 02 T07 :5 7: 54 +0 1: 00 "
}
}
5.2.2 Inverter data
Listing 63: detailed response body with multiple inverters
// /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=E ne rg yR ea l_WAC_Sum_Produ ce d&C ha nnel =En er gy Re al _W AC_Sum_Consumed
{
"Body" :
{
"Data" :
{
"inverter /24" :
{
"Data" :
{
"Ener gy Re al _W AC_Sum_Produced " :
{
"Unit" : "Wh", "Values" :
{
"39900 " : 457831.954 72 22 22 23 , "40200 " : 316.860277 77 77 77 75 , "40500 " : 350.181666 66 66 66 67 , "40800 " : 357.113055 55 55 55 55 , "41100 " : 330.606111 11 11 11 09 ,
/* shorten l ist for re ad ab il it y */
"85800 " : 0,
"86100 " : 0
},
"_comment " : " ch an ne lId=67830024"
} },
"DeviceType " : 192, "End " : " 2018 -03 -01T23 :59:59+01:00" , "NodeType " : 120, "Start " : "201 8-03 -01 T00:00:00+01:00 "
},
"inverter /25" :
{
"Data" :
77
{
"Ener gy Re al _W AC_Sum_Produced " :
{
"Unit" : "Wh", "Values" :
{
"39900 " : 319.235555 55 55 55 55 ,
/* shorten l ist for re ad ab il it y */
"85200 " : 0, "85500 " : 0, "85800 " : 0,
"86100 " : 0
},
"_comment " : " ch an ne lId=67830024"
} },
"DeviceType " : 192, "End " : " 2018 -03 -01T23 :59:59+01:00" , "NodeType " : 121, "Start " : "201 8-03 -01 T00:00:00+01:00 "
}
} },
"Head" :
{
"RequestA rg um en ts " :
{
"Channel" :
[
"Ener gy Re al _W AC_Sum_Produced ",
"Ener gy Re al _W AC_Sum_Consumed "
],
"EndDate" : "201 8-03- 01 T2 3:59:59+01:00 ", "HumanReadable" : "Tru e", "Scope " : "Syste m", "SeriesType " : " De ta il ", "StartDate" : "2018 -03- 01 T00 :0 0: 00 +0 1: 00 "
},
"Status" :
{
"Code" : 0, "ErrorDetail" :
{
"Nodes " : []
},
"Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2018 -03- 02 T09 :4 9: 51 +0 1: 00 "
}
}
5.2.3 Errors  Structure
Listing 64: Example of response body for inverter errors
// /solar_api/ v1 /GetArchiveData .cgi? Sc ope= System& St ar tD at e =1 .3 .2 018& EndDate =2.3.2 01 8&
Ch an nel=I nv er te rE rr or s
{
"Body": {
"Data": {
"inverter /1 ": {
"Data": {
"InverterErrors ": {
"Unit": " Obje ct ",
78
"Values": { /* alphabetic sorted list of time o ffsets */
"123180" : { /* 123180 s econds afte r " St art" */
"flags " : [ "fatal" ," official " ] ,
"#" : 7 31 /* Erro r C ode 731 */
},
"123240" : {
"flags " : [ "fatal" , "official "] ,
"#" : 7 66
},
"23240 " : {
"flags " : [ "fatal" , "official "] ,
"#" : 4 82
}
},
"_comment ": "channelId=16 64 61 44 "
} },
"DeviceType ": 99 , "End ": "2018-03 -02 T23:59:59+01:00 ", "NodeType ": 97 , "Start ": "201 8-03 -01 T00:00:00+01:00 "
}
} },
"Head": {
"RequestA rg um en ts ": {
"Channel" : [
"InverterErrors "
],
"EndDate" : "201 8-03- 02 T2 3:59:59+01:00 ", "HumanReadable": " True ", "Scope ": "Syste m", "SeriesType ": "Detail", "StartDate" : "2018 -03- 01 T00 :0 0: 00 +0 1: 00 "
},
"Status": {
"Code": 0 , "ErrorDetail" : {
"Nodes ": []
},
"Reason": " ", "UserMessage" : ""
},
"Timestamp" : "2018 -03- 02 T11 :3 2: 22 +0 1: 00 "
}
}
5.2.4 Events  Structure
Listing 65: Example of response body for inverter events
// /solar_api/ v1 /GetArchiveData .cgi? Sc ope= System& St ar tD at e =2 .3 .2 018& EndDate =2.3.2 01 8&
Ch an nel=I nv er te rE ve nt s
{
"Body" :
{
"Data" :
{
"broadcast/ " :
{
"Data" :
{
"InverterEvents " :
{
"Unit" : "Object",
79
"Values" :
{
"42060 " : /* seco nd s a fter "Start " */
{
"#" : 3 , /* Ev ent Code 3 */ "attr" : /* Event Specific Data */
{
"Power " : "20 [%]", "Radient" : "255 [1]" ,
"affect" : "P"
},
"desc" : "Power li mi ta ti on 20%" , /* Even t De sc ri pt io n */ "flags " :
[
"send"
]
} },
"_comment " : " ch an ne lId=16711680"
} },
"End " : " 2018 -03 -02T23 :59:59+01:00" , "Start " : "201 8-03 -02 T00:00:00+01:00 "
}
} },
"Head" :
{
"RequestA rg um en ts " :
{
"Channel" :
[
"InverterEvents "
],
"EndDate" : "201 8-03- 02 T2 3:59:59+01:00 ", "HumanReadable" : "Tru e", "Scope " : "Syste m", "SeriesType " : " De ta il ", "StartDate" : "2018 -03- 02 T00 :0 0: 00 +0 1: 00 "
},
"Status" :
{
"Code" : 0, "ErrorDetail" :
{
"Nodes " : []
},
"Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2018 -03- 02 T11 :4 2: 50 +0 1: 00 "
}
}
5.2.5 OhmPilot Energy
OhmPilot uses total energy counter!
Listing 66: detailed response body for one OhmPilot
// /solar_api/ v1 /GetArchiveData .cgi? Sc ope= Device& De vi ce Cl as s=O hm Pi lo t&D eviceId=0& StartDate
=6 .3 .2 01 8& E ndDate =6.3.2018&Cha nn el = En er gy Real_WAC_Sum_Co ns um ed
{
"Body" :
{
80
"Data" :
{
"ohmpilot :281 36 34 4" :
{
"Data" :
{
"Ener gy Re al _W AC_Sum_Consumed " :
{
"Unit" : "Wh", "Values" :
{
"0" : 858547 , "10200 " : 85 8547 , "10500 " : 85 8547 , "10800 " : 85 8547 , "11100 " : 85 8547 , "11400 " : 85 8547 , "11700 " : 85 8547 , "1200" : 8585 47 , "12000 " : 85 8547 ,
/* shorten l ist for re ad ab il it y */
"84000 " : 86 7084 , "84300 " : 86 7085 , "84600 " : 86 7087 , "84900 " : 86 7089 , "85200 " : 86 7091 , "85500 " : 86 7093 , "85800 " : 86 7095 , "86100 " : 86 7097 , "8700" : 8585 47 , "900 " : 858547 , "9000" : 8585 47 , "9300" : 8585 47 , "9600" : 8585 47 ,
"9900" : 858547
},
"_comment " : " ch an ne lId=67895560"
} },
"End " : " 2018 -03 -06T23 :59:59+01:00" , "Start " : "201 8-03 -06 T00:00:00+01:00 "
}
} },
"Head" :
{
"RequestA rg um en ts " :
{
"Channel" :
[
"Ener gy Re al _W AC_Sum_Consumed "
],
"DeviceClass" : " Oh mPilot ", "DeviceId " : "0" , "EndDate" : "201 8-03- 06 T2 3:59:59+01:00 ", "HumanReadable" : "Tru e", "Scope " : "Devic e", "SeriesType " : " De ta il ", "StartDate" : "2018 -03- 06 T00 :0 0: 00 +0 1: 00 "
},
"Status" :
{
"Code" : 0, "ErrorDetail" :
{
"Nodes " : []
},
81
"Reason" : "", "UserMessage" : ""
},
"Timestamp" : "2018 -03- 07 T10 :2 8: 39 +0 1: 00 "
}
}

6 Definitions and Mappings

6.1 Sunspec State Mapping

Table 6: Shows mapping between Fronius device status and SunSpec InverterModel states
Fronius device state SunSpec device state not used I_STATUS_OFF
not used I_STATUS_SLEEPING not used I_STATUS_THROTTLED not used I_STATUS_SHUTTING_DOWN 10 I_STATUS_FAULT 8 I_STATUS_STANDBY 7 I_STATUS_MPPT others I_STATUS_STARTING

6.2 Inverter Device Type List

DeviceType Model Name 1 any Fronius GEN24/Tauro 67 Fronius Primo 15.01 208240 68 Fronius Primo 12.51 208240 69 Fronius Primo 11.41 208240 70 Fronius Primo 10.01 208240 71 Fronius Symo 15.03 208 72 Fronius Eco 27.03S 73 Fronius Eco 25.03S 75 Fronius Primo 6.01 76 Fronius Primo 5.01 77 Fronius Primo 4.61 78 Fronius Primo 4.01 79 Fronius Primo 3.61 80 Fronius Primo 3.51 81 Fronius Primo 3.01 82 Fronius Symo Hybrid 4.03S 83 Fronius Symo Hybrid 3.03S 84 Fronius IG Plus 120 V1 85 Fronius Primo 3.81 208240 86 Fronius Primo 5.01 208240 87 Fronius Primo 6.01 208240 88 Fronius Primo 7.61 208240 89 Fronius Symo 24.03 USA Dummy 90 Fronius Symo 24.03 480 91 Fronius Symo 22.73 480 92 Fronius Symo 20.03 480 93 Fronius Symo 17.53 480 94 Fronius Symo 15.03 480 95 Fronius Symo 12.53 480
82
96 Fronius Symo 10.03 480 97 Fronius Symo 12.03 208240 98 Fronius Symo 10.03 208240 99 Fronius Symo Hybrid 5.03S 100 Fronius Primo 8.21 Dummy 101 Fronius Primo 8.21 208240 102 Fronius Primo 8.21 103 Fronius Agilo TL 360.03 104 Fronius Agilo TL 460.03 105 Fronius Symo 7.03M 106 Fronius Galvo 3.11 208240 107 Fronius Galvo 2.51 208240 108 Fronius Galvo 2.01 208240 109 Fronius Galvo 1.51 208240 110 Fronius Symo 6.03M 111 Fronius Symo 4.53M 112 Fronius Symo 3.73M 113 Fronius Symo 3.03M 114 Fronius Symo 17.53M 115 Fronius Symo 15.03M 116 Fronius Agilo 75.03 Outdoor 117 Fronius Agilo 100.03 Outdoor 118 Fronius IG Plus 55 V1 119 Fronius IG Plus 55 V2 120 Fronius Symo 20.03 Dummy 121 Fronius Symo 20.03M 122 Fronius Symo 5.03M 123 Fronius Symo 8.23M 124 Fronius Symo 6.73M 125 Fronius Symo 5.53M 126 Fronius Symo 4.53S 127 Fronius Symo 3.73S 128 Fronius IG Plus 60 V2 129 Fronius IG Plus 60 V1 130 SPR 8001F3 EU 131 Fronius IG Plus 25 V1 132 Fronius IG Plus 100 V3 133 Fronius Agilo 100.03 134 SPR 3001F1 EU 135 Fronius IG Plus V/A 10.03 Delta 136 Fronius IG 50 137 Fronius IG Plus 30 V1 138 SPR11401f1 UNI 139 SPR12001f3 WYE277 140 SPR11401f3 Delta 141 SPR10001f1 UNI 142 SPR7501f1 UNI 143 SPR6501f1 UNI 144 SPR3801f1 UNI 145 SPR3301f1 UNI 146 SPR 12001F3 EU 147 SPR 10001F3 EU 148 SPR 8001F2 EU 149 SPR 6501F2 EU 150 SPR 4001F1 EU 151 SPR 3501F1 EU 152 Fronius CL 60.0 WYE277 Dummy 153 Fronius CL 55.5 Delta Dummy 154 Fronius CL 60.0 Dummy
83
155 Fronius IG Plus V 12.03 Dummy 156 Fronius IG Plus V 7.51 Dummy 157 Fronius IG Plus V 3.81 Dummy 158 Fronius IG Plus 150 V3 Dummy 159 Fronius IG Plus 100 V2 Dummy 160 Fronius IG Plus 50 V1 Dummy 161 Fronius IG Plus V/A 12.03 WYE 162 Fronius IG Plus V/A 11.43 Delta 163 Fronius IG Plus V/A 11.41 UNI 164 Fronius IG Plus V/A 10.01 UNI 165 Fronius IG Plus V/A 7.51 UNI 166 Fronius IG Plus V/A 6.01 UNI 167 Fronius IG Plus V/A 5.01 UNI 168 Fronius IG Plus V/A 3.81 UNI 169 Fronius IG Plus V/A 3.01 UNI 170 Fronius IG Plus 150 V3 171 Fronius IG Plus 120 V3 172 Fronius IG Plus 100 V2 173 Fronius IG Plus 100 V1 174 Fronius IG Plus 70 V2 175 Fronius IG Plus 70 V1 176 Fronius IG Plus 50 V1 177 Fronius IG Plus 35 V1 178 SPR 11400f3 208/240 179 SPR 12000f277 180 SPR 10000f 181 SPR 10000F EU 182 Fronius CL 33.3 Delta 183 Fronius CL 44.4 Delta 184 Fronius CL 55.5 Delta 185 Fronius CL 36.0 WYE277 186 Fronius CL 48.0 WYE277 187 Fronius CL 60.0 WYE277 188 Fronius CL 36.0 189 Fronius CL 48.0 190 Fronius IG TL 3.0 191 Fronius IG TL 4.0 192 Fronius IG TL 5.0 193 Fronius IG TL 3.6 194 Fronius IG TL Dummy 195 Fronius IG TL 4.6 196 SPR 12000F EU 197 SPR 8000F EU 198 SPR 6500F EU 199 SPR 4000F EU 200 SPR 3300F EU 201 Fronius CL 60.0 202 SPR 12000f 203 SPR 8000f 204 SPR 6500f 205 SPR 4000f 206 SPR 3300f 207 Fronius IG Plus 12.03 WYE277 208 Fronius IG Plus 50 209 Fronius IG Plus 100 210 Fronius IG Plus 100 211 Fronius IG Plus 150 212 Fronius IG Plus 35 213 Fronius IG Plus 70
84
214 Fronius IG Plus 70 215 Fronius IG Plus 120 216 Fronius IG Plus 3.01 UNI 217 Fronius IG Plus 3.81 UNI 218 Fronius IG Plus 5.01 UNI 219 Fronius IG Plus 6.01 UNI 220 Fronius IG Plus 7.51 UNI 221 Fronius IG Plus 10.01 UNI 222 Fronius IG Plus 11.41 UNI 223 Fronius IG Plus 11.43 Delta 224 Fronius Galvo 3.01 225 Fronius Galvo 2.51 226 Fronius Galvo 2.01 227 Fronius IG 4500LV 228 Fronius Galvo 1.51 229 Fronius IG 2500LV 230 Fronius Agilo 75.03 231 Fronius Agilo 100.03 Dummy 232 Fronius Symo 10.03M 233 Fronius Symo 12.53M 234 Fronius IG 5100 235 Fronius IG 4000 236 Fronius Symo 8.23M Dummy 237 Fronius IG 3000 238 Fronius IG 2000 239 Fronius Galvo 3.11 Dummy 240 Fronius IG Plus 80 V3 241 Fronius IG Plus 60 V3 242 Fronius IG Plus 55 V3 243 Fronius IG 60 ADV 244 Fronius IG 500 245 Fronius IG 400 246 Fronius IG 300 247 Fronius Symo 3.03S 248 Fronius Galvo 3.11 249 Fronius IG 60 HV 250 Fronius IG 40 251 Fronius IG 30 Dummy 252 Fronius IG 30 253 Fronius IG 20 254 Fronius IG 15

6.3 Event Table for Fronius Devices

Event Code Description 1 System offset 2 Calibrate factor 3 Power control commands 4 Gradual Voltage dependend Power Reduction 5 Frequency Limit Change 6 Enter Backup Power Mode 7 Leave Backup Power Mode 8 Critical SOC reached within backmode 9 Component Specific StateCode 10 Calibration Suspension enabled 11 Datamanager reboot due to malfunction
85

6.4 Hybrid_Operating_State

Hybrid_Operating_State Description 0 disabled 1 normal 2 service 3 charge boost 4 nearly depleted 5 suspended 6 calibrate 7 grid support 8 deplete recovery 9 non operable ( temperature ) 10 non operable ( voltage ) 11 preheating 12 startup 13 until Hybrid 1.13.1: awake but non operable ( temperature )
since Hybrid 1.13.1: stopped ( temperature )
14 battery full

6.5 Meter Locations

Meter Location Description 0 Load 1 Grid 2 RESERVED 3 additional A.C. generator (generation only) 4 additional A.C. generator providing a battery (consumption and generation) 5255 RESERVED 256511 Sub Load

7 Changelog

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).
• Reediting 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 LGChem and BYD BBox
• 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 nondecimal 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 httpget 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
87
• fixed description of datatypes
cgi Field old description fixed description GetAPIVersion.cgi APIVersion number unsigned integer
GetInverterInfo.cgi Body.Data.<>...
GetInverterRealtimeData.cgi Body.Data...
15th Septemper 2016
• fixed availability notes of GetInverterRealtimeData
• OhmPilot is listed too
• added battery status description
• added description for energies at GetPowerFlowRealtimeData
11th February 2016
• fixed availability of request GetPowerFlowRealtimeData
number integer ...ErrorCode ...StatusCode Body.Data.<>.Show number unsigned integer
unsigned int unsigned 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

8 Frequently 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 EMail: pvsales@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 EMail: pvus@fronius.com
http://www.froniususa.com
90
Loading...