Skip to content

Releases

v0.6.5

Choose a tag to compare

@cygnusb cygnusb released this 05 Nov 15:28
e885c15

Please update directly to this version. It completes the fix from v0.6.4.

Fix: partial days in the daily statistic

The daily history was requested from "now minus 30 days" to "now". The portal then returns the first day as a partial day that starts at the time of the request. With a poll every 6 hours, the daily statistic (…_daily) got up to four extra rows per day at the wrong time. The v0.6.4 repair summed these rows up, which made the daily totals too high.

  • The daily request now starts and ends at local midnight, and only complete days are imported.
  • Rows from partial days that are already stored are set to 0 kWh, so they no longer appear in day or month totals. They cannot be deleted through the recorder import.

Fix from v0.6.4: negative values at 00:00 in the energy dashboard (#9)

Every history update restarted the cumulative sum at 0. Now it continues the sum that is already in the recorder.

Automatic repair

After the update, restart Home Assistant (HACS asks for it; reloading the integration does not load the new code). On the first poll after the start, the integration recomputes all its statistics once from the stored values, which also fixes the existing negative hours. No data is fetched again and nothing needs to be fixed by hand. The log shows Meter …: recomputed cumulative statistic sums. You may need to reload the energy dashboard in the browser. The repair also runs again for installations that already ran v0.6.4.

Also included

  • The statistics import works again on Home Assistant below 2025.11 (from v0.6.4).
  • has_mean is only sent to Home Assistant versions below 2025.4.

No breaking changes.

🤖 Generated with Claude Code

v0.6.4 (withdrawn, use v0.6.5)

Pre-release

Choose a tag to compare

@cygnusb cygnusb released this 05 Nov 15:14
bfd33e2

Superseded by v0.6.5. In this version the repair also summed up partial days in the daily statistic. Please update to v0.6.5. After the update, restart Home Assistant; reloading the integration is not enough.

Fix: negative values at 00:00 in the energy dashboard (#9)

After the first backfill, the energy dashboard could show a large negative value for the 00:00 hour on some days, even for meters that only consume. The cause: every history update restarted the cumulative statistic sum at 0. Every poll re-checks the last two days, so the sum dropped at 00:00 of the first re-checked day, and one more broken hour was added every day.

  • History updates now continue the sum that is already in the recorder. Days that are re-checked or filled in later no longer cause a jump.
  • Automatic repair: on the first poll after the update, the integration recomputes the sums of all its existing statistics (daily, hourly, 15 min) once from the stored hourly values. No new data is fetched and nothing needs to be fixed by hand. To start the repair right away, reload the integration. The log then shows Meter …: recomputed cumulative statistic sums. You may need to reload the energy dashboard in the browser.

Fix: statistics import on Home Assistant below 2025.11

The statistic metadata contained fields that the recorder only accepts from HA 2025.4 (mean_type) or 2025.11 (unit_class). On older versions, every statistics import failed with an error in the log, so no history was imported at all. The integration now sends these fields only when the installed HA version supports them. The minimum version is still 2025.1.

No breaking changes.

🤖 Generated with Claude Code

v0.6.3

Choose a tag to compare

@cygnusb cygnusb released this 19 Oct 10:27
00fb459

New Plotly dashboard example

The bundled Plotly Graph Card example (examples/plotly_netze_bw.yaml) has been redesigned:

  • Grid balance: consumption as bars pointing up, feed-in pointing down, in average kW per hour. The tooltip shows kWh and kW.
  • Daily totals in kWh above every fully loaded day
  • Range buttons for 24 h / 3 days / 7 days (default 3 days)
  • Data gaps are hatched, and the period for which Netze BW has not delivered data yet is dotted. Missing hours are no longer drawn as 0 kWh bars.
  • Night shading now also works when the card is opened at night

Only the two statistic IDs need to be filled in. The "Last hourly history point" entities are no longer required. See the README for the screenshot and how to find the IDs.

Other changes

  • The integration is now shipped as a release ZIP (netze_bw_portal.zip), which HACS installs and counts as a download
  • Repository housekeeping (CODEOWNERS, license badge)

No changes to the integration code, no breaking changes.

🤖 Generated with Claude Code

v0.6.2

Choose a tag to compare

@cygnusb cygnusb released this 13 Aug 18:21

New: "Statistic IDs" diagnostic sensor

Recorder statistic IDs (needed for dashboard cards like the bundled Plotly example) are built from the internal installation ID plus direction and cannot be derived from entity names. Each meter device now exposes a diagnostic sensor "Statistic IDs" / „Statistik-IDs":

  • State: the hourly statistic ID (netze_bw_portal:..._hourly) — ready to copy into cards
  • Attributes: the daily, hourly and 15-minute variants

The README and the Plotly example now point to this sensor as the easiest way to find the IDs (#3).

No breaking changes.

🤖 Generated with Claude Code

v0.6.1

Choose a tag to compare

@cygnusb cygnusb released this 13 Aug 05:57

Brand asset cleanup

  • Brand images (icon) are now shipped exclusively in custom_components/netze_bw_portal/brand/, the location Home Assistant 2026.3+ serves via the local brands proxy API — the redundant repo-root brand/ copy and a stray icon.png were removed
  • Added a hi-dpi icon@2x.png (512×512)
  • README logo now uses an absolute URL so it renders in the HACS readme view

No functional changes. Note: the integration icon in the Home Assistant UI requires Home Assistant 2026.3 or newer.

🤖 Generated with Claude Code

v0.6.0

Choose a tag to compare

@cygnusb cygnusb released this 13 Aug 05:51

Breaking change: bidirectional meters now get separate consumption and feed-in devices

Fixes #3 — bidirectional meters (Zweirichtungszähler) previously only reported feed-in data when Netze BW delivered both value types through a single installation, or through two ambiguous installations.

Changes

  • Each meter direction is now its own device: Bezug (grid consumption) and Einspeisung (feed-in)
  • Works for all known portal variants: one installation per direction, one installation with both value types, and duplicate installations both claiming both value types (collapsed deterministically to one pair)
  • Statistic IDs and entity unique IDs now include the direction, so the two directions can never collide

Upgrade notes

Entity, device and statistic IDs change with this release. After updating:

  1. Reload the integration (a restart works too)
  2. Remove the orphaned old entities/devices
  3. Re-select the new statistics in the Energy Dashboard

History is re-imported automatically from the portal for the configured backfill window (default 30 days).

🤖 Generated with Claude Code

v0.5.4

Choose a tag to compare

@cygnusb cygnusb released this 15 Mar 14:26

What's changed

  • Hardened API requests with explicit timeouts and retry handling for transient 429/502/503 failures.
  • Tightened config flow credential validation and auth-user response parsing.
  • Improved history backfill error handling and added regression tests for the new reliability paths.

v0.5.3

Choose a tag to compare

@cygnusb cygnusb released this 12 Mar 18:31

Add repository-level brand assets so HACS can display the integration icon and logo. Keep the local Home Assistant brand assets and bump the integration version to 0.5.3.

v0.5.2

Choose a tag to compare

@cygnusb cygnusb released this 12 Mar 17:29

Handle expired portal sessions more robustly by retrying 401 responses after a bounded reauthentication with exponential backoff. Distinguish temporary login server failures from real authentication errors so maintenance windows do not permanently stop the integration. Add regression tests for single-retry reauth, bounded backoff, shared reauth under concurrent 401s, and align history logic tests with the current fetched-date API.

v0.5.1 — Fix HACS & Hassfest validation

Choose a tag to compare

@cygnusb cygnusb released this 09 Mar 11:02

Fixes

  • Remove invalid domains key from hacs.json
  • Add recorder to after_dependencies in manifest.json
  • Fix manifest.json key order (hassfest requirement: domain, name, then alphabetical)