eta_nexus.nodes.forecastsolar_node module

class eta_nexus.nodes.forecastsolar_node.ForecastsolarNode(name: str, url: str, protocol: str, *args: Any, **kwargs: Any)[source]

Bases: Node

Node for using the Forecast.Solar API.

Mandatory parameters are: * The location of the forecast solar plane(s): latitude, longitude, * Plane parameters: declination, azimuth and kwp.

Additionally api_key must be set for endpoints other than ‘estimate’, multiple planes or if requests capacity is exceeded.

For multiple planes, the parameters shall be passed as lists of the same length (e.g. [0, 30], [180, 180], [5, 5]).

By default, data is queried as ‘watts’. Other options are ‘watthours’, ‘watthours/period’ and ‘watthours/day’. Either set the data parameter or call the appropriate method afterwards of :class:’eta_nexus.connections.forecast_solar.ForecastsolarConnection’.

api_key: str | None

API key for the Forecast.Solar API; string

endpoint: str

Endpoint in (estimate, history, clearsky), defaults to estimate; string

data: str

What data to query, i.e. only ‘watts’, ‘watthours’, ‘watthours/period’ or ‘watthours/day’; string

latitude: int

Latitude of plane location, -90 (south) … 90 (north); handled with a precision of 0.0001 or abt. 10 m

longitude: int

Longitude of plane location, -180 (west) … 180 (east); handled with a precision of 0.0001 or abt. 10 m

declination: int | list[int]

Plane declination, 0 (horizontal) … 90 (vertical) - always in relation to earth’s surface; integer

azimuth: int | list[int]

Plane azimuth, -180 … 180 (-180 = north, -90 = east, 0 = south, 90 = west, 180 = north); integer

kwp: float | list[float]

Installed modules power of plane in kilo watt; float

no_sun: int | None

Format of timestamps in the response, see API doc for values; string Forecast for full day or only sunrise to sunset, 0|1 (API defaults to 0); int

damping_morning: float | None

Damping factor for the morning (API defaults to 0.0)

damping_evening: float | None

Damping factor for the evening (API defaults to 0.0)

horizon: int | list[int] | None

Horizon information; string, (comma-separated list of numerics) See API doc

inverter: float | None

Maximum of inverter in kilowatts or kVA; float > 0

actual: float | None

Actual production until now; float >= 0