An unofficial python implementation of the NetzNÖ Smartmeter Portal API
Project description
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.7+
Installation
pip3 install netznoe-smartmeter-portal-api
Usage example
from pendulum import Date
from netznoe_smartmeter_portal_api import NetzNoeSmartmeterPortalApi
meter_id = 'AT0020000000000000000000020xxxxxx'
api = NetzNoeSmartmeterPortalApi(username='username', password='password')
api.do_login()
# ---
# API Methods:
# returns monthly aggregated data
yearly_values = api.get_year(meter_id, 2023)
# SmartmeterResultYearly(
# consumption={
# Date(2023, 1, 1): 100.001,
# ...
# },
# grid_usage_leftover={},
# self_coverage={},
# self_coverage_renewable_energy={},
# joint_tenancy_proportion={},
# peak_demands={
# DateTime(2023, 2, 18, 17, 15, 0, tzinfo=Timezone('Europe/Vienna')): 2.101,
# ...
# }
# )
# returns daily aggregated data for the requested month
monthly_values = api.get_month(meter_id, 2023, 3)
# SmartmeterResult(
# consumption_metered={
# Date(2023, 3, 1): 1.810,
# ...
# },
# consumption_estimated={},
# grid_usage_leftover={},
# self_coverage={},
# self_coverage_renewable_energy={},
# joint_tenancy_proportion={},
# peak_demands_metered={
# DateTime(2023, 3, 1, 22, 0, 0, tzinfo=Timezone('Europe/Vienna')): 0.012,
# ...
# },
# peak_demands_estimated={}
# )
# 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.
Python model "SmartmeterResult" (used by get_day(), get_week(), get_month()):
API field | Python model field | Unit |
---|---|---|
meteredValues | consumption_metered | kWh |
estimatedValues | consumption_estimated | kWh |
gridUsageLeftoverValues | grid_usage_leftover | kWh |
selfCoverageValues | self_coverage | kWh |
selfCoverageRenewableEnergyValue | self_coverage_renewable_energy | kWh |
jointTenancyProportionValues | joint_tenancy_proportion | kWh |
meteredPeakDemands | peak_demands_metered | kW |
estimatedPeakDemands | peak_demands_estimated | kW |
Python model "SmartmeterResultYearly" (used by get_year()):
API field | Python model field | Unit |
---|---|---|
values | consumption | kWh |
gridUsageLeftoverValues | grid_usage_leftover | kWh |
selfCoverageValues | self_coverage | kWh |
selfCoverageRenewableEnergyValue | self_coverage_renewable_energy | kWh |
jointTenancyProportionValues | joint_tenancy_proportion | kWh |
peakDemands | peak_demands | kW |
is_mixed | < ignored > |
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 netznoe-smartmeter-portal-api-1.0.1.tar.gz
.
File metadata
- Download URL: netznoe-smartmeter-portal-api-1.0.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92ab039bc9d8a840d5159bbbe36550b61bd25c9da45eb4b33a7e0ab2fb0958c0 |
|
MD5 | 29fca6b7c1e5038131d3b1c92c374a69 |
|
BLAKE2b-256 | 417bcd11e9fff39f3e3f95c4b315d7b21c9a2970e975934ace44405a2d2e33c7 |
File details
Details for the file netznoe_smartmeter_portal_api-1.0.1-py3-none-any.whl
.
File metadata
- Download URL: netznoe_smartmeter_portal_api-1.0.1-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f9183555ac5d4192b7e049653931ac6228ea12fa3ff0b6ee242ea2ab844d4e4 |
|
MD5 | 2dd886abc05d7177e71d69dfc9a7d395 |
|
BLAKE2b-256 | 9af9a6b5d4d0329cf4447f8eddc468b557e406fdacfa84820593d581ee8bdf36 |