Skip to content

Releases: acdcnow/AustrianSmartMeter-for-Home-Assistant

1.2.1 - energiedaten.at readings + Netz NOE login fixed

Choose a tag to compare

@acdcnow acdcnow released this 09 Oct 22:55

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 (5 was 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.md with 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

Choose a tag to compare

@acdcnow acdcnow released this 23 Sep 21:58

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

Choose a tag to compare

@acdcnow acdcnow released this 19 Sep 13:37

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_increasing meter reading. It is exposed as a Daily Consumption sensor with state_class: total.

Home Assistant 2026.9 compatibility

  • The coordinator is stored in entry.runtime_data instead of hass.data.
  • Config and options flows use ConfigFlowResult and the read only OptionsFlow.config_entry property. 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.
  • requests and python-dateutil were removed from the requirements. Both are provided by Home Assistant Core, and the dateutil usage was replaced with stdlib date arithmetic. Only lxml remains.
  • 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

Choose a tag to compare

@acdcnow acdcnow released this 09 Jan 21:04
70f42d0

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

Choose a tag to compare

@acdcnow acdcnow released this 03 Jan 15:19
a01c722

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 AttributeError crashes when the API returned null for 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

Choose a tag to compare

@acdcnow acdcnow released this 03 Jan 09:14
5bbd36c

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 (or sensor.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, timestamp dynamically).
  • Fixed Crash on Missing Data: The integration no longer crashes if the API returns null for 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