wiener-netze-smartmeter-serial
Python API for reading data from a Wiener Netze Smart Meter with a serial interface (via infrared)
Requires Python 3.10 or newer.
Installation
pip install wiener-netze-smartmeter-serial
Usage
For reading data from your Wiener Netze Smart Meter you need:
- A Smart Meter from Wiener Netze Type "Isramenko" or "Landis+ Gyr"
- An infrared serial adapter (only receiving is necessary)
- Your decryption key for 'Kundenschnittstelle' from Wiener Netze web portal (https://smartmeter-web.wienernetze.at/#/anlagedaten)"
To quickly test if data can be received and decrypted, use:
python3 -m wiener_netze_smartmeter_serial --interface COM1 --key aabbccddeeff00112233445566778899
To use it in your own Python project:
import asyncio
from wiener_netze_smartmeter_serial import WienerNetzeSmartMeter
async def main() -> None:
with WienerNetzeSmartMeter(
"COM1", "aabbccddeeff00112233445566778899"
) as meter:
data = await meter.read_meter_data()
print(f"Current Power Draw: {data.active_power_in} W")
print(data)
asyncio.run(main())
Invalid configuration raises ValueError. Connection and decryption failures raise
WienerNetzeSmartMeterConnectionException and
WienerNetzeSmartMeterDecryptionException, respectively.
Security
Supported Wiener Netze meters send DLMS encryption-only frames without an authentication tag. The library can decrypt these frames but cannot cryptographically verify their source or integrity. Treat raw and decrypted meter data as sensitive, and review it before attaching it to an issue.
Compatibility
- Currently only works with Wiener Netze Smart Meters of Type "Isramenko" and "Landis+ Gyr"
"Siemens" is currently not supported.
If you have a Siemens Smart Meter, you can help by opening an issue with a sanitized packet captured using the--rawflag.
Credits
- This was made possible with the help and insight from: https://github.com/pocki80
License
Release files for wiener-netze-smartmeter-serial 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wiener_netze_smartmeter_serial-0.1.1.tar.gz | 9.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wiener_netze_smartmeter_serial-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.5 kB
Release files / wiener_netze_smartmeter_serial-0.1.1.tar.gz
| Download URL | wiener_netze_smartmeter_serial-0.1.1.tar.gz |
|---|---|
| Size | 9.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1e66c4430d53ff3ab9b36b57e6ecc054e07407c207bb8945e4aec2d51590b128
|
|
BLAKE2b-256 checksum How to use checksums |
0b0b4dce2312ed4b4349b6061d4a73fc367994d2e597f9ceeae4d4d242876542
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.
Transparency logRelease files / wiener_netze_smartmeter_serial-0.1.1-py3-none-any.whl
| Download URL | wiener_netze_smartmeter_serial-0.1.1-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e4bc5fe84d39ce5033034a7147dc94419e144684852484bdc9a052080c820da3
|
|
BLAKE2b-256 checksum How to use checksums |
80472807fecb151b3ede9019145f93b46a346ecbb324b00ee3fa286c52404f2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 22, 2026.
Transparency log