Skip to main content

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.

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)

Source distribution for netznoe-smartmeter-portal-api 1.2.0
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)

Table of built distributions (wheels) for netznoe-smartmeter-portal-api 1.2.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page