Repository navigation
Releases: acdcnow/AustrianSmartMeter-for-Home-Assistant
Release list
1.2.1 - energiedaten.at readings + Netz NOE login fixed
Bug-fix release for the two open issue reports.
Requirements: Home Assistant 2026.9 or newer.
🔧 Fixed
energiedaten.at returned no readings (issue #6)
The adapter sent an obis_codes[] filter that the documented data endpoint does not
have, and asked for one hard-coded day per poll. A poll that landed before the grid
operator delivered therefore answered with an empty window — and that day was never read
again, because the coordinator had already moved on to the next one.
A poll now reads the last seven days in one request (from, to and the order
parameter the platform's own Home Assistant integration sends), follows the
is_truncated/next_cursor pagination of the server's record cap, selects the OBIS codes
client-side and reports the newest day that actually carries readings. The meter-wide
total (G.01) is preferred over the grid figure (P.01) — as the platform's own analyses
do — instead of the other way round, and the two are never added up.
Each reading now carries the day it belongs to (day, period_from, period_to) and the
code it was read from (source_obis_code). A "no data" log line names the whole window
that was read.
The Netz Niederösterreich setup (issue #5)
The portal answers POST /orchestration/Authentication/Login with HTTP 200 and an empty
body while it sets the session cookie. Requiring JSON of that body made every setup
attempt fail with
… returned a non-JSON response (HTTP 200): ''
although the credentials were accepted. HTTP 200 is now the success it is; only a non-200
status, a 401/403 or an explicit {"success": false} is a failed login.
- An unauthenticated data call is reported as a credentials problem instead of a
connection problem, so the config flow shows invalid authentication where it used to
show could not connect. - The metering point endpoints are asked with
context=2, the context both independent
third-party clients of this portal use (5was not). - A meter that is in an energy community no longer has its own record and its community
records summed up together, which counted the same energy twice.
🎨 Brand images
The integration's brand images are built from the project banner
(austria_smartmeter.jpg): the icon is a square around the smart meter with the Austrian
flag, the logo a 4:1 band through the banner. dark_logo is identical to logo, because
the banner is dark.
📝 Documentation
- New
CHANGELOG.mdwith the full history from 1.1.6 on. - Reworked README with the project banner, a table of contents, per-provider setup
notes, troubleshooting entries for both reported issues and a roadmap.
Full changelog: see CHANGELOG.md.
Both fixes follow the documented contracts, but neither could be verified against a live
account of ours — energiedaten.at needs a consent-connected metering point, Netz
Niederösterreich a portal account. If a sensor still stays empty, the debug log (and the
diagnostics download) now names what was asked and what came back, so please keep
reporting.
1.2.0 - six new providers
The first stable 1.2.x release.
Requirements: Home Assistant 2026.9 or newer. If you run an older Home Assistant, stay on the 1.1.8 tag.
It adds six providers to one integration, on top of the 1.2.0-beta.1 foundation (Home Assistant 2026.9 compatibility, the repaired Netz Niederösterreich login, brand images):
- energiedaten.at - an API platform that republishes Austrian smart meter data. Configured with an API key; its 15-minute interval readings are summed up per local day.
- energyLIVE (smartENERGY) - meter reader hardware with an API key, reporting cumulative meter readings (
1.8.0/2.8.0) and the current power in W. - DSMR / P1 customer interface - the meter's own interface, read over a serial cable or a network P1 reader, encrypted meters included (twelve DSMR dialects, among them the Austrian Sagemcom T210-D-R).
- aWATTar market prices - the public EPEX day-ahead feed of Austria and Germany in
ct/kWh, which is what makes load shifting automatable. No account required. - Selectra tariff planning - the tariff a household actually pays, with its time bands and its feed-in price. Commercial API with a personal token and a free tier of 60 calls per month, which the adapter spends carefully.
- Salzburg Netz - the grid operator's own POST-only interface with 15-minute load profiles, read with an API key from the service portal plus the customer number. One request per metering point per day.
On verification: the APIs that could not be checked against a live service (energiedaten.at, Selectra, Salzburg Netz) say so in their section of the README. Selectra and Salzburg Netz were written against published specifications, and Salzburg Netz reads records tolerantly because the shape of its JSON response is not documented.
Full changelog: see the Changelog section of the README.
1.2.0-beta.1 - Home Assistant 2026.9 compatibility + Netz Niederösterreich login fix
Home Assistant 2026.9 compatibility release, plus the long standing Netz Niederösterreich login bug fix.
Requires Home Assistant 2026.9 or newer.
Fixes
Netz Niederösterreich login (fixes #1)
- The login endpoint was misspelled, so the portal answered with an HTML error page and every setup attempt failed with the unhelpful
Connection error: Expecting value: line 1 column 1 (char 0). The typo is fixed, and the client now reports the HTTP status plus a snippet of the response instead of a JSON decoding error. - Login failures (wrong credentials) are now distinguished from connection failures (portal unreachable), so the config flow shows the right message.
- Metering points are read from the current portal endpoint (
GetMeteringPointsByBusinesspartnerId), with an automatic fallback to the older two step API. - The short lived portal session is refreshed proactively, and a session that expires mid-update no longer aborts the whole refresh.
- Day consumption values are parsed from the current API response shape (they were never parsed before) and converted from kWh to Wh.
- Because the Netz NÖ portal only exposes the consumption of a period, that value is no longer advertised as a cumulative
total_increasingmeter reading. It is exposed as aDaily Consumptionsensor withstate_class: total.
Home Assistant 2026.9 compatibility
- The coordinator is stored in
entry.runtime_datainstead ofhass.data. - Config and options flows use
ConfigFlowResultand the read onlyOptionsFlow.config_entryproperty. The options flow is no longer constructed with a config entry. - The manifest declares
integration_type, and the integration name typo (Home Asssistant) is fixed. requestsandpython-dateutilwere removed from the requirements. Both are provided by Home Assistant Core, and thedateutilusage was replaced with stdlib date arithmetic. Onlylxmlremains.- Typed
DataUpdateCoordinator, lazy logging and assorted cleanup.
Brand images
The integration now ships its own icon and logo in custom_components/asm/brand/ (icon.png, icon@2x.png, logo.png, logo@2x.png, dark_logo.png, dark_logo@2x.png). Custom integrations can ship brand images locally since Home Assistant 2026.3, so no home-assistant/brands pull request is needed.
Diagnostics
A diagnostics file can now be downloaded from the integration page (Settings -> Devices & Services -> Austria Smartmeter -> Download diagnostics). Credentials are redacted. Please attach it when reporting an issue.
Notes
- Netz NÖ support never worked before this release, so please report anything unexpected.
- Still open: Stromnetz Graz, e-netze.at and energiedaten.at are not supported yet.
Austrian Smartmeter for Home Assistant
Version 1.1.8
--> fixing config_flow and option handling to fix 500 error
Full Changelog: 1.1.7...1.1.8
Austrian Smartmeter for Home Assistant
Changelog
All notable changes to the Austria Smartmeter integration will be documented in this file.
[1.1.6] - 2025-01-03
🚀 Added
-
Internationalization (i18n): Added full translation support for Config Flow and Options.
-
Languages supported: English (
en), German (de), French (fr), Italian (it), Spanish (es). -
Diagnostic Sensors: New entities added to the "Diagnostic" category for better insights:
-
Detailed Address (Street, Zip, City, Stair, Door).
-
Metering Point ID & Customer ID.
-
Facility Type (e.g., "Consumption" or "Feed-in").
-
Smart Meter Market Readiness status.
-
Contract Active status.
-
Statistic Sensors: Added dedicated sensors for daily statistics provided by the API:
-
Consumption Yesterday -
Consumption Day Before Yesterday -
Device Info: The device registry is now fully populated with:
-
Serial Number (
geraetNumber). -
Hardware Version (
equipmentNumber). -
Manufacturer (e.g., "Wiener Netze") and Model.
-
Link to the provider's configuration portal.
⚡ Changed
-
Entity Naming: Significantly improved the naming convention for sensors.
-
Old:
sensor.smart_meter_at001000..._energy_consumption_total(Hard to read). -
New:
sensor.friendly_name_energy_consumption_total(Uses the name set in the Web Portal, e.g., "Apartment"). -
Unit of Measurement: Strictly enforced Wh (Watt-hours) as the native unit for all energy sensors.
-
This ensures consistency with the Home Assistant Energy Dashboard and long-term statistics.
-
Removed dynamic conversion to kWh to prevent database corruption if API units fluctuate.
🐛 Fixed
-
Config Flow Crash (Error 500): Fixed a critical issue where opening the "Configure" options would crash with a
500 Internal Server Error. -
Resolved by fixing a read-only property conflict (
config_entry) in the Options Flow handler. -
Added robust error handling and default fallbacks for
scan_interval. -
Crash on Missing Data: Fixed
AttributeErrorcrashes when the API returnednullfor statistic values. -
Coordinator Logic: Fixed an issue where consumption statistics were not correctly assigned to the corresponding meter if the API response structure varied (list vs. dict).
⚠️ Breaking Changes
- Entity ID Changes: Due to the naming cleanup, Entity IDs have changed.
- If you used
sensor.smart_meter_at...in your Lovelace dashboards or automations, you will need to update them to the new Entity IDs (check Settings > Devices & Services > Austria Smartmeter to find the new names).
Austrian Smartmeter for Home Assistant
Release 1.1.6: Major Refactoring, Diagnostics & naming improvements
This release marks a significant milestone in the stability and usability of the integration. The entire sensor logic has been refactored to be more robust, and the naming convention has been cleaned up.
🚀 What's New
-
Improved Entity Naming: Entities now use the friendly name defined in the Web Portal (e.g., "Wohnung") instead of the long Metering Point ID (AT001...).
-
Old:
sensor.smart_meter_at001..._energy_consumption_total -
New:
sensor.wohnung_energy_consumption_total(orsensor.smart_meter_energy_...if no name is set). -
Comprehensive Diagnostics: Added new diagnostic entities to the device view:
-
Detailed Address (Street, City, ZIP, Door, Stair, etc.)
-
Metering Point ID & Customer ID
-
Facility Type (e.g., Consumption/Feed-in)
-
Market Readiness & Contract Active Status
-
Device Info: The Device Registry is now correctly populated with:
-
Serial Number
-
Hardware Version
-
Model & Manufacturer (e.g., Wiener Netze)
-
Link to the configuration web portal.
-
Statistics: Added sensors for daily statistics provided by the API:
-
Consumption Yesterday -
Consumption Day Before Yesterday -
Feed-in Support: Now correctly identifies and creates sensors for energy production/feed-in (OBIS 2.8.0) alongside consumption.
🐛 Bug Fixes
- Fixed Unit of Measurement: Strictly enforces Wh as the native unit for energy sensors to ensure correct long-term statistics in Home Assistant.
- Fixed Config Flow: Resolved "500 Internal Server Error" during setup/options flow caused by missing constants.
- Fixed Data Parsing: Made the sensor robust against varying API response keys (handles
zeitpunkt,zeitBis,timestampdynamically). - Fixed Crash on Missing Data: The integration no longer crashes if the API returns
nullfor specific statistic values.
⚠️ Breaking Changes
- Entity ID Change: Due to the naming cleanup, your sensor Entity IDs will change (the long
AT...number is removed). You may need to update your Dashboards/Cards to point to the new, cleaner entity names.
Full Changelog: https://github.com/acdcnow/AustrianSmartMeter-for-Home-Assistant/commits/1.1.6