Python API for the Zevercloud API
Project description
Zevercloud API
Python API for the Zevercloud API
Note: This piece of software is not approved or endorsed by ZeverCloud. Nor do I endorse their products.
Installation
You can install zevercloud-api
using your favorite package manager. For example:
pip install zevercloud-api
Credentials
Three keys are needed to connect to the Zevercloud API:
api_key
app_key
app_secret
Your api_key
can be found on the Zevercloud site, under Configuration > Plant Configuration > 5. Api Key
.
The app_key
and app_secret
can be found under Account Management > Security Settings
, but are only
visible once approved by Zeversolar Support. Send an email to service.eu@zeversolar.net, for example, and
ask them to make the app_key
and app_secret
visible to you. They typically do so within a day.
Usage
To see the last known status of your site, as well as some yield statistics:
from zevercloud import ZeverCloud
zc = ZeverCloud(API_KEY, APP_KEY, APP_SECRET)
print(zc.overview)
>> {
"last_updated": datetime(2022, 2, 3, 13, 57, 26),
"online": False,
"power": 0,
"site_id": 12345,
"yield": {
"today": 5.9,
"month": 218.42,
"total": 5800,
"year": 1770,
},
}
Historical power and yield
Historical yield and power figures can also be obtained:
zc.get_output(date=date(2022, 8, 1))
>> [
...
{"power": 1183, "timestamp": datetime(2022, 8, 1, 12, 0)},
{"power": 1240, "timestamp": datetime(2022, 8, 1, 12, 20)},
{"power": 1815, "timestamp": datetime(2022, 8, 1, 12, 40)},
...
]
zc.get_daily_output(month=date(2022, 8, 1))
>> [
{"date": date(2022, 3, 1), "yield": 4.1},
{"date": date(2022, 8, 2), "yield": 5.2},
{"date": date(2022, 8, 3), "yield": 0.2},
...
]
zc.get_monthly_output(year=2022)
>> [
{"date": date(2022, 1, 1), "yield": 40.1},
{"date": date(2022, 2, 1), "yield": 52.1},
{"date": date(2022, 3, 1), "yield": 113},
{"date": date(2022, 4, 1), "yield": 8.11},
...
]
zc.get_yearly_output()
>> [
{"year": 2012, "yield": 4069},
{"year": 2013, "yield": 308},
...
]
Power is always presented in W (Watt), and yield in kWh (kiloWatt-hour). Due to the internals of the Zevercloud API, all numbers may be rounded up to two significant digits.
Events
Events (errors) can be listed:
zc.get_events(start_date=date(2022, 1, 1), end_date=date(2022, 8, 1))
>> [
ZeverSolarEvent(
event_time=datetime(2022, 1, 1, 12, 34, 56),
inverter_id="ZS12345678",
event_code=3,
event_type=101,
)
]
The ZeverSolarEvent
has a human-readable event_description
.
Note: the internal Zevercloud API can only return events for 7 days at a time. Using
the get_events
-method on a large date range will result in many API-calls being made,
and may hence possibly take a rather long time.
Releases
0.2.1
Improve security by adding timestamp and nonce to requests0.2.0
Addget_details
method0.1.0
First working version
Detailed logs
More detailed logs can be retrieved with get_details
. This endpoint requires the id of the monitor
as input. This monitor can be found on the ZeverCloud website.
zc.get_details(date=date(2022, 1, 1), psno="EAB1234C5678")
>> [
{
'ac_frequency': 50,
'ac_power': 30,
'ac_current_p1': 0,
'ac_current_p2': 0,
'ac_current_p3': 0,
'ac_voltage_p1': 236.8,
'ac_voltage_p2': 0,
'ac_voltage_p3': 0,
'inverter_id': 'ZS12345678',
'pv_current_1': 0,
'pv_current_2': 0,
'pv_current_3': 0,
'pv_voltage_1': 271.4,
'pv_voltage_2': 0,
'pv_voltage_3': 0,
'temperature': 26.7,
'timestamp': datetime.datetime(2022, 8, 1, 6, 49, 37),
'yield_today': 0.1,
'yield_total': 5615.2
},
...
]
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file zevercloud-api-0.2.1.tar.gz
.
File metadata
- Download URL: zevercloud-api-0.2.1.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5200ef8df94c36439a021e2537444d6cd8f7949c85924276b3e72e2cbacd0ef |
|
MD5 | 70a8e5fc335a483549585c6118402e3b |
|
BLAKE2b-256 | 30222ae6015b43d0b2b325adf334d98534b3dff21b4605c53229cdd02bdcf11c |
File details
Details for the file zevercloud_api-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: zevercloud_api-0.2.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ec1427d7c2da84f417fc6ec96f35b7adc70b4706940606a7a795c125e386ab2 |
|
MD5 | 59815fd692574ff563d1e45a30d19246 |
|
BLAKE2b-256 | b9973c7d1c61cc06a4df970275ca7ebb9d6e28420fe6117170a92b44e5129a3e |