The Enlighten Systems API is a JSON-based API that provides access to performance data for a PV system. By using the Enlighten Systems API, you agree to the Enphase Energy API License Agreement.
Please note that the Enlighten Systems API does not provide performance data at a panel or microinverter level.
This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.
- API version: 2.0
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen
Install the following dependencies:
go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context
Put the package under your project folder and add the following in import:
import enlighten "github.com/NathanBaulch/EnphaseOpenAPI"
To use a proxy, set the environment variable HTTP_PROXY
:
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
Default configuration comes with Servers
field that contains server objects as defined in the OpenAPI specification.
For using other server than the one defined on index 0 set context value sw.ContextServerIndex
of type int
.
ctx := context.WithValue(context.Background(), enlighten.ContextServerIndex, 1)
Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables
of type map[string]string
.
ctx := context.WithValue(context.Background(), enlighten.ContextServerVariables, map[string]string{
"basePath": "v2",
})
Note, enum values are always validated and all unused variables are silently ignored.
Each operation can use different server URL defined using OperationServers
map in the Configuration
.
An operation is uniquely identified by "{classname}Service.{nickname}"
string.
Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices
and sw.ContextOperationServerVariables
context maps.
ctx := context.WithValue(context.Background(), enlighten.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), enlighten.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
All URIs are relative to https://api.enphaseenergy.com/api/v2
Class | Method | HTTP request | Description |
---|---|---|---|
DefaultApi | ConsumptionLifetime | Get /systems/{system_id}/consumption_lifetime | |
DefaultApi | ConsumptionStats | Get /systems/{system_id}/consumption_stats | |
DefaultApi | EnergyLifetime | Get /systems/{system_id}/energy_lifetime | |
DefaultApi | Envoys | Get /systems/{system_id}/envoys | |
DefaultApi | Inventory | Get /systems/{system_id}/inventory | |
DefaultApi | InvertersSummaryByEnvoyOrSite | Get /systems/inverters_summary_by_envoy_or_site | |
DefaultApi | MonthlyProduction | Get /systems/{system_id}/monthly_production | |
DefaultApi | ProductionMeterReadings | Get /systems/{system_id}/production_meter_readings | |
DefaultApi | RgmStats | Get /systems/{system_id}/rgm_stats | |
DefaultApi | SearchSystemId | Get /systems/search_system_id | |
DefaultApi | Stats | Get /systems/{system_id}/stats | |
DefaultApi | Summary | Get /systems/{system_id}/summary | |
DefaultApi | Systems | Get /systems |
- ClientError
- ConflictError
- ConnectionType
- ConsumptionLifetimeResponse
- ConsumptionStatsResponse
- ConsumptionStatsResponseIntervalsInner
- EnergyLifetimeResponse
- EnvoysResponse
- EnvoysResponseEnvoysInner
- InventoryResponse
- InventoryResponseEnvoysInner
- InventoryResponseMetersInner
- InvertersSummaryByEnvoyOrSiteResponse
- InvertersSummaryByEnvoyOrSiteResponseMicroInvertersInner
- InvertersSummaryByEnvoyOrSiteResponseMicroInvertersInnerEnergy
- InvertersSummaryByEnvoyOrSiteResponseMicroInvertersInnerPowerProduced
- Meta
- MonthlyProductionResponse
- MonthlyProductionResponseMeterReadingsInner
- NotFoundError
- ProductionMeterReadingsResponse
- ProductionMeterReadingsResponseMeterReadingsInner
- RgmStatsResponse
- RgmStatsResponseIntervalsInner
- RgmStatsResponseMeterIntervalsInner
- RgmStatsResponseMeterIntervalsInnerIntervalsInner
- SearchSystemIdResponse
- ServerError
- StatsResponse
- StatsResponseIntervalsInner
- Status
- SummaryResponse
- SystemsResponse
- SystemsResponseSystemsInner
- UnprocessableEntityError
- Type: API key
- API key parameter name: key
- Location: URL query string
Note, each API key must be added to a map of map[string]APIKey
where the key is: key and passed in as the auth context for each request.
Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:
PtrBool
PtrInt
PtrInt32
PtrInt64
PtrFloat
PtrFloat32
PtrFloat64
PtrString
PtrTime