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_keyapp_keyapp_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.1Improve security by adding timestamp and nonce to requests0.2.0Addget_detailsmethod0.1.0First 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|