This is a simple client library for the (unofficial) Stromnetz Graz Smart Meter Web API.
Please note that you must be able to login and view data on the portal before this library will work. Please refer to Stromnetz Graz how to set up access to the smart meter statistics. Best results are achieved in the IME
mode (15 minute reading intervals), however the library can also fall back to IMS
(daily reading interval). The most recent data available will be the one for the previous day (see also their FAQ).
from sngraz import StromNetzGraz
sn = StromNetzGraz(mail, password)
await sn.authenticate()
await sn.update_info()
for installation in sn.get_installations():
print("Installation ID", installation._installation_id)
print("Installation is installed at", installation._address)
for meter in installation.get_meters():
print("Meter ID", meter.id)
print("Meter Name", meter._short_name)
await meter.fetch_consumption_data()
# meter._data now contains the meter readings of the last 30 days
print(meter._data)
await sn.close_connection()
The example needs to run in an async context, please see issue #6 for an example if you want to run it standalone.
An installation
is usually an house or apartment with an individual address and may contain multiple meters (for example a second meter for a hot water boiler). A meter
is the actual single meter.
Stromnetz Graz assigns individual numerical IDs to both installation
s and meter
s. The usually used meter number (33 characters usually starting with AT00
) is available as attributes (meter._name
& meter._short_name
).
This library is used in my Home Assistant Custom Component ha-stromnetzgraz, available via HACS. It allows you to have your Smart Meter readings inside Home Assistant! See the ha-stromnetzgraz repository for more details.