PV Yield Forecast
The solar_forecast module allows configuration and reading of a PV yield forecast.
Not supported on this hardware!
solar_forecast/config
The PV yield forecast configuration.
# $HOST e.g. warp2-AbCd
Read
curl http://$HOST/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
curl http://$HOST/solar_forecast/config -d '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp2/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
With MQTT on $PREFIX/solar_forecast/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/config_update -m '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
| Name | Description |
|---|---|
enablebool | Indicates whether the PV yield forecast should be used. When the source is set to forecast service, forecasts are retrieved from an external server. In this case, internet access is required. In push mode, forecast data is provided by an external system via the API. |
sourceint | Source of the PV yield forecast.
|
api_urlstring | Endpoint URL of the server for dynamic electricity prices. |
cert_idint | ID of the CA certificate used to verify the certificate of the forecast server. See |
solar_forecast/state
The state of the PV yield forecast.
{
"wh_today": 34500,
"wh_today_remaining": 12300,
"wh_tomorrow": 41200,
"rate_limit": 12,
"rate_remaining": 7,
"next_api_call": 28899847
}
| Name | Description |
|---|---|
wh_todayint | Total daily forecast for today across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_today_remainingint | Remaining energy of the daily forecast from now until midnight across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_tomorrowint | Total daily forecast for tomorrow across all PV planes in Wh. -1 if no forecast data is available for tomorrow. |
rate_limitint | Indicates how many API calls may be made every two hours. |
rate_remainingint | Indicates how many API calls remain in the current time window. |
next_api_callint | Indicates when the next API call will be made. |
solar_forecast/planes/X/state
Status of the PV planes
{
"last_sync": 28899727,
"last_check": 28899727,
"next_check": 28899847,
"place": "Helleforthstraße 22, 33758 Schloß Holte-Stukenbrock, Germany"
}
| Name | Description |
|---|---|
last_syncint | A Unix timestamp in minutes indicating when the PV yield forecast was last updated. |
last_checkint | A Unix timestamp in minutes indicating when the PV yield forecast was last queried. |
next_checkint | A Unix timestamp in minutes indicating when the PV yield forecast will be queried next. |
placestring | Location of the configured PV plane. |
solar_forecast/planes/X/config
# $HOST e.g. warp2-AbCd
Read
curl http://$HOST/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
curl http://$HOST/solar_forecast/planes/X/config -d '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp2/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
With MQTT on $PREFIX/solar_forecast/planes/X/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/config_update -m '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
| Name | Description |
|---|---|
enablebool | Enables the PV plane. |
namestring | Display name of the PV plane. |
latint (°/10000) | Latitude (e.g., 51.8847°) |
longint (°/10000) | Longitude (e.g., 8.6225°) |
decint (°) | Inclination (0° horizontal to 90° vertical) |
azint (°) | Azimuth (-180° = North, -90° = East, 0° = South, 90° = West, 180° = North) |
wpint (Wp) | Peak power of the PV plane. |
solar_forecast/planes/X/forecast
{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/planes/X/forecast_update
Updates the PV yield forecast of a PV plane via the API. Only works when the source is set to Push (1). If the respective PV plane is not yet enabled, it will be automatically enabled.
# $HOST e.g. warp2-AbCd
Write
curl http://$HOST/solar_forecast/planes/X/forecast_update -d '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp2/AbCd
Write
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/forecast_update -m '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/config
The PV yield forecast configuration.
# $HOST e.g. warp3-AbCd
Read
curl http://$HOST/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
curl http://$HOST/solar_forecast/config -d '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp3/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
With MQTT on $PREFIX/solar_forecast/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/config_update -m '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
| Name | Description |
|---|---|
enablebool | Indicates whether the PV yield forecast should be used. When the source is set to forecast service, forecasts are retrieved from an external server. In this case, internet access is required. In push mode, forecast data is provided by an external system via the API. |
sourceint | Source of the PV yield forecast.
|
api_urlstring | Endpoint URL of the server for dynamic electricity prices. |
cert_idint | ID of the CA certificate used to verify the certificate of the forecast server. See |
solar_forecast/state
The state of the PV yield forecast.
{
"wh_today": 34500,
"wh_today_remaining": 12300,
"wh_tomorrow": 41200,
"rate_limit": 12,
"rate_remaining": 7,
"next_api_call": 28899847
}
| Name | Description |
|---|---|
wh_todayint | Total daily forecast for today across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_today_remainingint | Remaining energy of the daily forecast from now until midnight across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_tomorrowint | Total daily forecast for tomorrow across all PV planes in Wh. -1 if no forecast data is available for tomorrow. |
rate_limitint | Indicates how many API calls may be made every two hours. |
rate_remainingint | Indicates how many API calls remain in the current time window. |
next_api_callint | Indicates when the next API call will be made. |
solar_forecast/planes/X/state
Status of the PV planes
{
"last_sync": 28899727,
"last_check": 28899727,
"next_check": 28899847,
"place": "Helleforthstraße 22, 33758 Schloß Holte-Stukenbrock, Germany"
}
| Name | Description |
|---|---|
last_syncint | A Unix timestamp in minutes indicating when the PV yield forecast was last updated. |
last_checkint | A Unix timestamp in minutes indicating when the PV yield forecast was last queried. |
next_checkint | A Unix timestamp in minutes indicating when the PV yield forecast will be queried next. |
placestring | Location of the configured PV plane. |
solar_forecast/planes/X/config
# $HOST e.g. warp3-AbCd
Read
curl http://$HOST/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
curl http://$HOST/solar_forecast/planes/X/config -d '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp3/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
With MQTT on $PREFIX/solar_forecast/planes/X/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/config_update -m '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
| Name | Description |
|---|---|
enablebool | Enables the PV plane. |
namestring | Display name of the PV plane. |
latint (°/10000) | Latitude (e.g., 51.8847°) |
longint (°/10000) | Longitude (e.g., 8.6225°) |
decint (°) | Inclination (0° horizontal to 90° vertical) |
azint (°) | Azimuth (-180° = North, -90° = East, 0° = South, 90° = West, 180° = North) |
wpint (Wp) | Peak power of the PV plane. |
solar_forecast/planes/X/forecast
{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/planes/X/forecast_update
Updates the PV yield forecast of a PV plane via the API. Only works when the source is set to Push (1). If the respective PV plane is not yet enabled, it will be automatically enabled.
# $HOST e.g. warp3-AbCd
Write
curl http://$HOST/solar_forecast/planes/X/forecast_update -d '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp3/AbCd
Write
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/forecast_update -m '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/config
The PV yield forecast configuration.
# $HOST e.g. wem-AbCd
Read
curl http://$HOST/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
curl http://$HOST/solar_forecast/config -d '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. wem/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
With MQTT on $PREFIX/solar_forecast/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/config_update -m '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
| Name | Description |
|---|---|
enablebool | Indicates whether the PV yield forecast should be used. When the source is set to forecast service, forecasts are retrieved from an external server. In this case, internet access is required. In push mode, forecast data is provided by an external system via the API. |
sourceint | Source of the PV yield forecast.
|
api_urlstring | Endpoint URL of the server for dynamic electricity prices. |
cert_idint | ID of the CA certificate used to verify the certificate of the forecast server. See |
solar_forecast/state
The state of the PV yield forecast.
{
"wh_today": 34500,
"wh_today_remaining": 12300,
"wh_tomorrow": 41200,
"rate_limit": 12,
"rate_remaining": 7,
"next_api_call": 28899847
}
| Name | Description |
|---|---|
wh_todayint | Total daily forecast for today across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_today_remainingint | Remaining energy of the daily forecast from now until midnight across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_tomorrowint | Total daily forecast for tomorrow across all PV planes in Wh. -1 if no forecast data is available for tomorrow. |
rate_limitint | Indicates how many API calls may be made every two hours. |
rate_remainingint | Indicates how many API calls remain in the current time window. |
next_api_callint | Indicates when the next API call will be made. |
solar_forecast/planes/X/state
Status of the PV planes
{
"last_sync": 28899727,
"last_check": 28899727,
"next_check": 28899847,
"place": "Helleforthstraße 22, 33758 Schloß Holte-Stukenbrock, Germany"
}
| Name | Description |
|---|---|
last_syncint | A Unix timestamp in minutes indicating when the PV yield forecast was last updated. |
last_checkint | A Unix timestamp in minutes indicating when the PV yield forecast was last queried. |
next_checkint | A Unix timestamp in minutes indicating when the PV yield forecast will be queried next. |
placestring | Location of the configured PV plane. |
solar_forecast/planes/X/config
# $HOST e.g. wem-AbCd
Read
curl http://$HOST/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
curl http://$HOST/solar_forecast/planes/X/config -d '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. wem/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
With MQTT on $PREFIX/solar_forecast/planes/X/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/config_update -m '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
| Name | Description |
|---|---|
enablebool | Enables the PV plane. |
namestring | Display name of the PV plane. |
latint (°/10000) | Latitude (e.g., 51.8847°) |
longint (°/10000) | Longitude (e.g., 8.6225°) |
decint (°) | Inclination (0° horizontal to 90° vertical) |
azint (°) | Azimuth (-180° = North, -90° = East, 0° = South, 90° = West, 180° = North) |
wpint (Wp) | Peak power of the PV plane. |
solar_forecast/planes/X/forecast
{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/planes/X/forecast_update
Updates the PV yield forecast of a PV plane via the API. Only works when the source is set to Push (1). If the respective PV plane is not yet enabled, it will be automatically enabled.
# $HOST e.g. wem-AbCd
Write
curl http://$HOST/solar_forecast/planes/X/forecast_update -d '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. wem/AbCd
Write
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/forecast_update -m '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/config
The PV yield forecast configuration.
# $HOST e.g. wem2-AbCd
Read
curl http://$HOST/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
curl http://$HOST/solar_forecast/config -d '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. wem2/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
With MQTT on $PREFIX/solar_forecast/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/config_update -m '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
| Name | Description |
|---|---|
enablebool | Indicates whether the PV yield forecast should be used. When the source is set to forecast service, forecasts are retrieved from an external server. In this case, internet access is required. In push mode, forecast data is provided by an external system via the API. |
sourceint | Source of the PV yield forecast.
|
api_urlstring | Endpoint URL of the server for dynamic electricity prices. |
cert_idint | ID of the CA certificate used to verify the certificate of the forecast server. See |
solar_forecast/state
The state of the PV yield forecast.
{
"wh_today": 34500,
"wh_today_remaining": 12300,
"wh_tomorrow": 41200,
"rate_limit": 12,
"rate_remaining": 7,
"next_api_call": 28899847
}
| Name | Description |
|---|---|
wh_todayint | Total daily forecast for today across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_today_remainingint | Remaining energy of the daily forecast from now until midnight across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_tomorrowint | Total daily forecast for tomorrow across all PV planes in Wh. -1 if no forecast data is available for tomorrow. |
rate_limitint | Indicates how many API calls may be made every two hours. |
rate_remainingint | Indicates how many API calls remain in the current time window. |
next_api_callint | Indicates when the next API call will be made. |
solar_forecast/planes/X/state
Status of the PV planes
{
"last_sync": 28899727,
"last_check": 28899727,
"next_check": 28899847,
"place": "Helleforthstraße 22, 33758 Schloß Holte-Stukenbrock, Germany"
}
| Name | Description |
|---|---|
last_syncint | A Unix timestamp in minutes indicating when the PV yield forecast was last updated. |
last_checkint | A Unix timestamp in minutes indicating when the PV yield forecast was last queried. |
next_checkint | A Unix timestamp in minutes indicating when the PV yield forecast will be queried next. |
placestring | Location of the configured PV plane. |
solar_forecast/planes/X/config
# $HOST e.g. wem2-AbCd
Read
curl http://$HOST/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
curl http://$HOST/solar_forecast/planes/X/config -d '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. wem2/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
With MQTT on $PREFIX/solar_forecast/planes/X/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/config_update -m '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
| Name | Description |
|---|---|
enablebool | Enables the PV plane. |
namestring | Display name of the PV plane. |
latint (°/10000) | Latitude (e.g., 51.8847°) |
longint (°/10000) | Longitude (e.g., 8.6225°) |
decint (°) | Inclination (0° horizontal to 90° vertical) |
azint (°) | Azimuth (-180° = North, -90° = East, 0° = South, 90° = West, 180° = North) |
wpint (Wp) | Peak power of the PV plane. |
solar_forecast/planes/X/forecast
{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/planes/X/forecast_update
Updates the PV yield forecast of a PV plane via the API. Only works when the source is set to Push (1). If the respective PV plane is not yet enabled, it will be automatically enabled.
# $HOST e.g. wem2-AbCd
Write
curl http://$HOST/solar_forecast/planes/X/forecast_update -d '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. wem2/AbCd
Write
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/forecast_update -m '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/config
The PV yield forecast configuration.
# $HOST e.g. warp-AbCd
Read
curl http://$HOST/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
curl http://$HOST/solar_forecast/config -d '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/config
{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}
Write
With MQTT on $PREFIX/solar_forecast/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/config_update -m '{
"enable": true,
"source": 0,
"api_url": "https://api.forecast.solar/",
"cert_id": -1
}'
| Name | Description |
|---|---|
enablebool | Indicates whether the PV yield forecast should be used. When the source is set to forecast service, forecasts are retrieved from an external server. In this case, internet access is required. In push mode, forecast data is provided by an external system via the API. |
sourceint | Source of the PV yield forecast.
|
api_urlstring | Endpoint URL of the server for dynamic electricity prices. |
cert_idint | ID of the CA certificate used to verify the certificate of the forecast server. See |
solar_forecast/state
The state of the PV yield forecast.
{
"wh_today": 34500,
"wh_today_remaining": 12300,
"wh_tomorrow": 41200,
"rate_limit": 12,
"rate_remaining": 7,
"next_api_call": 28899847
}
| Name | Description |
|---|---|
wh_todayint | Total daily forecast for today across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_today_remainingint | Remaining energy of the daily forecast from now until midnight across all PV planes in Wh. -1 if no forecast data is available for today. |
wh_tomorrowint | Total daily forecast for tomorrow across all PV planes in Wh. -1 if no forecast data is available for tomorrow. |
rate_limitint | Indicates how many API calls may be made every two hours. |
rate_remainingint | Indicates how many API calls remain in the current time window. |
next_api_callint | Indicates when the next API call will be made. |
solar_forecast/planes/X/state
Status of the PV planes
{
"last_sync": 28899727,
"last_check": 28899727,
"next_check": 28899847,
"place": "Helleforthstraße 22, 33758 Schloß Holte-Stukenbrock, Germany"
}
| Name | Description |
|---|---|
last_syncint | A Unix timestamp in minutes indicating when the PV yield forecast was last updated. |
last_checkint | A Unix timestamp in minutes indicating when the PV yield forecast was last queried. |
next_checkint | A Unix timestamp in minutes indicating when the PV yield forecast will be queried next. |
placestring | Location of the configured PV plane. |
solar_forecast/planes/X/config
# $HOST e.g. warp-AbCd
Read
curl http://$HOST/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
curl http://$HOST/solar_forecast/planes/X/config -d '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp/AbCd
Read
mosquitto_sub -v -C 1 -h $BROKER -t $PREFIX/solar_forecast/planes/X/config
{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}
Write
With MQTT on $PREFIX/solar_forecast/planes/X/config_update
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/config_update -m '{
"enable": true,
"name": "Haus OS",
"lat": 518847,
"long": 86225,
"dec": 25,
"az": -43,
"wp": 4725
}'
| Name | Description |
|---|---|
enablebool | Enables the PV plane. |
namestring | Display name of the PV plane. |
latint (°/10000) | Latitude (e.g., 51.8847°) |
longint (°/10000) | Longitude (e.g., 8.6225°) |
decint (°) | Inclination (0° horizontal to 90° vertical) |
azint (°) | Azimuth (-180° = North, -90° = East, 0° = South, 90° = West, 180° = North) |
wpint (Wp) | Peak power of the PV plane. |
solar_forecast/planes/X/forecast
{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |
solar_forecast/planes/X/forecast_update
Updates the PV yield forecast of a PV plane via the API. Only works when the source is set to Push (1). If the respective PV plane is not yet enabled, it will be automatically enabled.
# $HOST e.g. warp-AbCd
Write
curl http://$HOST/solar_forecast/planes/X/forecast_update -d '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
# $BROKER e.g. my_mosquitto.localdomain
# $PREFIX e.g. warp/AbCd
Write
mosquitto_pub -h $BROKER -t $PREFIX/solar_forecast/planes/X/forecast_update -m '{
"first_date": 28899240,
"resolution": 1,
"forecast": [
0, 0, 0, 0, 0, 0, 0, 0,
0, 62, 270, 365, 405, 389, 326, 224,
131, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 166, 781, 1097, 1197, 1093, 864, 549,
288, 0, 0, 0, 0, 0, 0, 0
]
}'
| Name | Description |
|---|---|
first_dateint | A Unix timestamp in minutes indicating the time for which the first PV yield forecast in the |
resolutionint | Time resolution of the PV yield forecast in the
|
forecastint[49] (Wh) | Array of PV yield forecast values for up to two days. The first element of the array is for the time |