Integration with inverters and data cycle

The inverters are a key part of the solution, are the ones that provide the information required, but also are complex, since all of them can define their own API. In order to solve the problem to communicate with multiple inverters brands, the Solarec code as have an interface tech.renovus.solarec.inverters.common.InverterService that defines the methods that any inverter that Solrec connects to must implements. Also, since each inverter has its own parameters and requeriments, a series of metadata values will be available at the client, location and generator (inverter) level.

Integration with inverters

Each inverter will be defined as a DataDefinitionVo and will contain the package + class that implements the connection to the inverter, plus a series of parameters that must be set in order to connect.

Every 24 hours, a schedule will iterate through all the generators / invereters and will load the associated DataDefinitionVo. With it, it will call the invereter executable, which will be responsable for:

Data cycle

  1. Daily data call
  2. Data retrieve (invereter service)
  3. Data conversion (invereter service)
  4. Data store
  5. Alerts calculation
  6. Alerts notification
  7. Certificate generation

The data that needs to be retrieve are:

Previous data need to stored within a 15 minutes frequency.

Sample data

As parte of Solarec opensource code, the InverterService for the following brand are provided as example of code for the data cycle:

Inverter service

When coding the inverter service, the following aspects need to be consider in the code:

Testing the inverter service

Data usage

Description Code overview power_curve performance climate alerts inverter Data Grid Weather Certificate
TYPE_LOCATION_SOLAR_OUTPUT_CAPACITY 500                 added
TYPE_SOLAR_INVERTER_DC_POWER 501 use use use use use added      
TYPE_SOLAR_INVERTER_AC_POWER 502 use use use use use added      
TYPE_SOLAR_STATION_AMBIENT_TEMPERATURE 503 use   use   added     added  
TYPE_SOLAR_STATION_MODULE_TEMPERATURE 504 use   use   added        
TYPE_SOLAR_STATION_IRRADIATION 505 use use use use use added   added  
TYPE_SOLAR_STATION_TOTAL_CLOUD_COVER 506               added  
TYPE_SOLAR_STATION_PRECIPITATION 507               added