Skip to content

Releases: nodomain/haKachelmannWetter

v2.3.2

Choose a tag to compare

@nodomain nodomain released this 28 Apr 19:24
d20a358

Fixed

  • Daily forecast no longer shows moon (clear-night) icon — night slots were leaking into day aggregation due to non-deterministic set ordering in worst-condition selection

v2.3.1 — Security fix: redact sensitive data from logs

Choose a tag to compare

@nodomain nodomain released this 28 Apr 11:06

Security

  • Remove clear-text logging of user coordinates in coordinator (CodeQL CWE-312/CWE-532)
  • Remove clear-text logging of API request URLs containing location data in client (CodeQL CWE-312/CWE-532)

Changelog backfill

  • Added missing CHANGELOG entries for v2.2.0 and v2.3.0

Full changelog: https://github.com/nodomain/haKachelmannWetter/blob/main/CHANGELOG.md

v2.3.0 — Kachelmann weather icons

Choose a tag to compare

@nodomain nodomain released this 28 Apr 07:43

Added

  • Weather entity now shows Kachelmann SVG weather icons as entity picture
  • Icons update dynamically based on current conditions (sunshine, partlycloudy, rain, snow, etc.)
  • Uses the /tools/weatherSymbol API endpoint

The Kachelmann icons are more detailed and visually appealing than the default HA Material Design icons.

v2.2.0 — Gold tier: full test coverage

Choose a tag to compare

@nodomain nodomain released this 28 Apr 07:34

Gold Tier 🥇

This release adds full automated test coverage — the key requirement for HA Integration Quality Scale Gold tier.

Added

  • 21 unit tests covering all integration components:
    • Config flow: success, auth error, connection error, duplicate prevention
    • Integration setup and unload lifecycle
    • Weather entity creation and state
    • Sensor entity creation (dew point, precipitation, moon illumination)
    • Astronomy timestamp sensors (sunrise returns valid datetime)
    • Binary sensor creation (rain, frost, daytime)
    • All helper functions (normalization, condition mapping, safeget)
    • Weather symbol validation (all symbols map to valid HA conditions)
  • Pre-commit hooks: ruff lint + format + pytest run on every commit
  • CI test job: pytest runs in GitHub Actions on push/PR

Fixed

  • Ruff import sorting (I001) across all files
  • collections.abc.Callable instead of deprecated typing.Callable
  • datetime.UTC alias instead of timezone.utc
  • CI Node.js 24 deprecation warning

See CHANGELOG.md for full history.

v2.1.0 — Full 14-day trend exposure

Choose a tag to compare

@nodomain nodomain released this 28 Apr 06:19

Added

  • 14-day trend overview sensor — all trend data accessible as attributes:
    {{ state_attr("sensor.kachelmannwetter_trend_14day", "days")[3].temp_max }}
    {{ state_attr("sensor.kachelmannwetter_trend_14day", "days")[5].precipitation_probability_1mm }}
  • Precipitation forecast sensors for today and tomorrow (mm)
  • Max possible sunshine hours sensor for today
  • Wind gust forecast sensors for today and tomorrow (from 14-day trend)
  • CHANGELOG.md following Keep a Changelog format

See CHANGELOG.md for full history.

v2.0.0 — Full HA Developer Docs Compliance

Choose a tag to compare

@nodomain nodomain released this 27 Apr 20:39

Breaking Change

Device identifier changed from config entry ID to coordinates. Remove and re-add the integration after updating.

What changed

  • Reauth actually works now — coordinator raises ConfigEntryAuthFailed directly
  • Forecast cards update live — weather entity calls async_update_listeners
  • 5x faster updates — all 5 API calls run in parallel via asyncio.gather
  • 10s request timeout — no more hanging on slow API responses
  • Pre-filled coordinates — config flow suggests your HA home location
  • Proper diagnostics — API key fully redacted via HA standard redaction
  • Stable device identity — device survives remove/re-add of integration
  • No more strings.json — custom integrations must only use translations/
  • Zero lint errors — ruff + mypy clean
  • Full HA developer docs compliance — audited against all relevant docs

Sensor changes

  • Forecast sensors (tomorrow values) no longer track statistics (incorrect per docs)
  • Snow height no longer converts to miles in imperial mode
  • is_day binary sensor now has LIGHT device class
  • Added hail and windy-variant weather conditions

v1.0.0

Choose a tag to compare

@nodomain nodomain released this 27 Apr 20:02

v1.0.0 — Feature-complete KachelmannWetter Integration

Full Home Assistant integration for the KachelmannWetter API by Meteologix AG. Uses all 5 API endpoints with every available field.

Highlights

🌤️ Weather Entity with daily (10+ days) and hourly (24h) forecast, precipitation probability, and automatic clear-night condition

📊 31 Sensors including:

  • Current: dew point, precipitation, snow, sunshine duration
  • Solar: global radiation (current hour / today / tomorrow), sunshine hours & relative %
  • Cloud coverage: low / medium / high
  • Astronomy: sunrise, sunset, solar transit, civil & nautical dawn/dusk, moonrise, moonset, moon phase & illumination, next full/new moon
  • API rate limit tracking

4 Binary Sensors: rain expected (3h), frost tonight, thunderstorm expected, daytime

Quality

  • Follows HA developer standards (reauth flow, unique ID, options reload, DeviceEntryType)
  • Device registration with Meteologix AG manufacturer info
  • Diagnostics support
  • German and English translations
  • State-dependent icons (icons.json)
  • HACS compatible

Installation

HACS → Custom repositories → https://github.com/nodomain/haKachelmannWetter (Integration)

Requirements

  • KachelmannWetter Plus subscription with API key
  • At least one API location configured in your account