NetzNÖ Smartmeter Portal API
This project is an unofficial implementation of the NetzNÖ Smartmeter Portal API (https://smartmeter.netz-noe.at/). It cleans up any null values from the API response and maps it to usable Python objects.
Supports: Python 3.9+
Installation
pip3 install netznoe-smartmeter-portal-api
Usage example
from datetime import date
from netznoe_smartmeter_portal_api import NetzNoeSmartmeterPortalApi
meter_id = 'AT0020000000000000000000020xxxxxx'
api = NetzNoeSmartmeterPortalApi(username='username', password='password')
api.do_login()
# ---
# API Methods:
# returns all metering points (meter_ids) of the user
metering_points = api.get_metering_points()
# meter_id = metering_points[0].metering_point_id # get meter_id dynamically via API
# returns monthly aggregated data
yearly_values = api.get_year(meter_id, 2023)
# SmartmeterResultYearly(
# values=[
# (datetime.date(2023, 1, 1), 100.001),
# ...
# ],
# peak_demands=[
# (datetime.datetime(2023, 2, 18, 17, 15, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Vienna')), 2.101),
# ...
# ],
# self_coverage=[],
# self_coverage_renewable_energy=[],
# grid_usage_leftover=[],
# joint_tenancy_proportion=[],
# blind_consumption=[],
# blind_power_feed=[]
# )
# returns daily aggregated data for the requested month
monthly_values = api.get_month(meter_id, 2023, 3)
# SmartmeterResult(
# metered=[
# (datetime.date(2023, 3, 1), 1.810),
# ...
# ],
# metered_peak_demands=[
# (datetime.datetime(2023, 3, 1, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Vienna')), 0.012),
# ...
# ],
# peak_demand_data_qualities=[
# (datetime.datetime(2023, 3, 1, 22, 0, 0, tzinfo=zoneinfo.ZoneInfo(key='Europe/Vienna')), SmartmeterDataQuality.L1),
# ],
# estimated=[],
# estimated_qualities=[],
# estimated_peak_demands=[],
# self_coverage=[],
# self_coverage_renewable_energy=[],
# grid_usage_leftover=[],
# joint_tenancy_proportion=[],
# quality_ec=[],
# blind_consumption=[],
# blind_power_feed=[]
# )
# returns daily aggregated data for the requested time range
weekly_values = api.get_week(meter_id, start_date=date(2023, 1, 2), end_date=date(2023, 1, 8))
# returns 15min values of the requested day
daily_values = api.get_day(meter_id, day=date(2023, 4, 1))
# logout of the api
api.do_logout()
Mapping between API fields and model fields
For easier usage and more meaningful naming of the fields provided by the NetzNÖ Smartmeter Portal API they have been renamed in the implemented Python models.
For description, unit and field mapping see comments in file src/netznoe_smartmeter_portal_api/models.py.
Legal
Disclaimer: This is not affiliated, endorsed or certified by Netz NÖ. This is an independent and unofficial API. Provided as is. Use at your own risk.
Metadata
Release files for netznoe-smartmeter-portal-api 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| netznoe_smartmeter_portal_api-1.2.0.tar.gz | 8.1 kB | Without provenance | Details for netznoe_smartmeter_portal_api-1.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| netznoe_smartmeter_portal_api-1.2.0-py3-none-any.whl | Python 3 | none | any | Details for netznoe_smartmeter_portal_api-1.2.0-py3-none-any.whl |
Total release size: 15.6 kB
Release files / netznoe_smartmeter_portal_api-1.2.0.tar.gz
| Download URL | netznoe_smartmeter_portal_api-1.2.0.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d2955a482aac3b69fcc9c3bb94633ce0e5ee3b9d9f31edb422c19e36a2a58603
|
|
BLAKE2b-256 checksum How to use checksums |
b31a13086022cacc20843bfeb998057643f7f09d16c763c4a3b0060784be9114
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / netznoe_smartmeter_portal_api-1.2.0-py3-none-any.whl
| Download URL | netznoe_smartmeter_portal_api-1.2.0-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8472a7e1a690bb048b7e5bfea7f39891344be97f421ba19682ab2d71bf469d0c
|
|
BLAKE2b-256 checksum How to use checksums |
fec46db3fe8e374d44824ce9d977939a0c9092b4456461ac30173a9c2db13e62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Security for netznoe-smartmeter-portal-api 1.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.