Skip to content

Releases: philipp-builder/ha-garten-bewaesserung-integration

v1.4.0 — Energie-Dashboard, Reparatur-Karten, Bewässerungskalender

Choose a tag to compare

@philipp-builder philipp-builder released this 20 Jul 12:56

Neu: vier native HA-Ansichten — ohne eine einzige selbstgebaute Karte

💧 Wasser-Balken im Energie-Dashboard. Jeder Kreis mit Wasserzähler-Sensor hat jetzt einen Lebenszeit-Zähler sensor.garten_<kreis>_liter_gesamt. Unter Einstellungen → Dashboards → Energie → Wasserquelle hinzufügen eintragen — HA zeichnet native Tages-/Wochen-/Monats-Balken deines Gartenwassers, mit allen Vergleichsfunktionen des Energie-Dashboards. Mehrere Kreise werden automatisch gestapelt. (FAQ 18)

🔧 Reparatur-Karten statt versteckter Log-Warnungen. Steht im Wasserzähler-Feld eine Durchfluss-Rate (L/min, m³/h) statt eines kumulativen Zählerstands, erscheint jetzt eine Karte unter Einstellungen → Reparaturen — mit dem Integral-Helfer-Rezept direkt verlinkt. Die Karte überlebt Neustarts und löscht sich selbst, sobald die erste Sitzung mit einem echten Zähler verbucht wurde.

📅 Bewässerungskalender. calendar.garten_kalender führt den nächsten geplanten Lauf (mit den heutigen Kreis-Dauern als Termindauer und -beschreibung) plus die Historie der letzten 200 Läufe — abgebrochene als solche markiert. Eine Kalender-Karte darauf zeigen lassen, fertig ist die Wochen-/Monatsansicht „wann lief was, wie lange". Die Historie überlebt Neustarts.

✨ Sprechende Icons. Status- und Plan-Sensor wechseln ihr Icon passend zum Zustand: Regen-Veto ☔ → Wetter-Icon, übersprungen, Boost, „läuft", „heute nichts geplant".

Verifikation

Zwei neue E2E-Szenarien (Reparatur-Karte erscheint bei Raten-Sensor und verschwindet nach Korrektur + gültiger Sitzung; Kalender liefert Historie und geplanten Termin, Gesamt-Zähler konsistent zur Tagessumme) — komplette Suite PASS, keine Fehler-Logs.

v1.3.7 — Geteilter Wasserzähler: Schnittkante

Choose a tag to compare

@philipp-builder philipp-builder released this 20 Jul 11:22

Fix

Geteilter Wasserzähler — keine Doppelzählung mehr bei nahtlos folgenden Kreisen.

Wenn mehrere Kreise denselben kumulativen Wasserzähler nutzen und direkt nacheinander laufen, zählte das 30-Sekunden-Abrechnungsfenster des vorherigen Kreises die ersten Liter des nächsten Kreises mit — der Vorgänger bekam zu viel, die Summe stimmte nicht mehr.

Jetzt: Öffnet ein Ventil, dessen Kreis denselben Zähler-Sensor nutzt wie ein Kreis mit noch ausstehender Abrechnung, wird der Vorgänger sofort an der exakten Schnittkante abgerechnet. Jeder Liter wird genau einmal gezählt.

Verifikation

Neues E2E-Szenario „Geteilter Zähler": zwei Kreise, ein Liter-Zähler, Rücken an Rücken — Vorgänger wird sofort korrekt verbucht (nicht erst nach 30 s), Nachfolger erhält exakt sein eigenes Wasser. Komplette Suite PASS.

v1.3.6 — Wasserzähler statt Durchflussrate: Einheiten-Erkennung + Raten-Wächter

Choose a tag to compare

@philipp-builder philipp-builder released this 20 Jul 09:02

Behoben / Neu

Das Liter-/Kosten-Feature braucht einen kumulativen Wasserzähler-Stand — das bisherige Label („Durchfluss-Sensor m³/h") lud aber zur Momentan-Rate ein, mit zwei Symptomen aus dem Feld: 19'200 Phantom-Liter (Rate lief zufällig beim Abrechnen) bzw. ewig „Unbekannt" (Delta 0 wurde nie verbucht).

  • Einheiten-Erkennung: Zähler in Litern und funktionieren jetzt beide automatisch (vorher war m³ fest verdrahtet).
  • Raten-Wächter: Steht versehentlich eine Durchfluss-Rate (L/min, m³/h) im Feld, wird die Sitzung sichtbar mit 0.0 verbucht und eine klare Log-Warnung mit Abhilfe-Hinweis geschrieben — statt stiller Phantom-Werte.
  • 0-L-Sitzungen werden angezeigt (0.0 statt „Unbekannt") — der wichtigste Diagnose-Hinweis bei falscher Sensor-Art.
  • Ehrliches Label „Wasserzähler-Sensor (kumulativ)" mit Erklärtext (DE/EN) und neuem FAQ-Kapitel 17: Integral-Helfer-Rezept, um aus jeder Durchflussrate einen Zählerstand zu machen.

Verifikation: 21 Paritätstests + 2× komplette E2E-Suite (beide Einheiten-Pfade parallel geprüft: 5.0 L via L-Zähler, 25.0 L via m³-Zähler) — PASS.

v1.3.5 — Wetter-Retry + ehrliche Bodenfeuchte-Anzeige

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 11:55

Behoben

  • „(Wetter n/v)" hängt nicht mehr bis zur halben Stunde: Liefert die Wetter-Integration keine Vorhersage (typisch direkt nach einem HA-Neustart, wenn z. B. DWD noch nicht bereit ist), versucht die Engine es jetzt automatisch alle 3 Minuten erneut, statt bis zum nächsten :00/:30-Raster im Fallback zu bleiben.
  • Bodenfeuchte-Infofeld zeigt nur echte Messwerte: Ein nicht liefernder Sensor erschien bisher als scheinbar gemessene 50 % (der interne Score-Neutralwert). Jetzt zeigen sensor.garten_<kreis>_bodenfeuchte und die Plan-Zeile „unbekannt" bzw. „—", wenn kein Sensor liefert — die Score-Berechnung selbst bleibt unverändert beim bewährten Neutral-Fallback.

Verifikation: 21 Paritätstests + komplette E2E-Suite — PASS.

v1.3.4 — Cent-genauer Wassertarif + saubere Gerätenamen

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 10:41

Behoben

  • Wassertarif akzeptiert Cent-Beträge: Die Schrittweite des Tarif-Reglers war 0,1 — reale Wassertarife wie 2,13 €/m³ wurden abgelehnt („Die zwei nächstliegenden gültigen Werte sind 2,1 und 2,2"). Schrittweite jetzt 0,01, im Regler und im Tuning-Dialog.
  • Kein „Garten Garten …" mehr: Beginnt ein Kreisname selbst mit „Garten" (z. B. „Garten Beet links"), entfällt der zusätzliche Geräte-Präfix. Bestehende Entity-IDs bleiben unverändert (Registry) — es ändert sich nur der Anzeigename des Geräts.

Verifikation: 21 Paritätstests + komplette E2E-Suite (inkl. 2,13-Akzeptanztest) — PASS.

v1.3.3 — Bodenfeuchte-Infofeld + besserer Reihenfolge-Vorschlag

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 07:07

Neu

  • sensor.garten_<kreis>_bodenfeuchte — die Bodenfeuchte aus Engine-Sicht (Minimum über die Sensoren des Kreises) als eigener Sensor am Kreis-Gerät, mit Historien-Graph (device_class: moisture). Damit bleibt die Feuchte immer sichtbar — auch wenn der Status gerade vom Regen-Veto, „Heute überspringen" oder Urlaubsmodus dominiert wird. Erscheint nur bei Kreisen mit konfigurierten Bodensensoren und verschwindet sauber, wenn die Sensoren aus dem Kreis entfernt werden.
  • Reihenfolge-Vorschlag: Beim Anlegen eines neuen Kreises schlägt der Dialog jetzt automatisch die nächste freie Nummer vor (höchste vorhandene + 1) statt immer 1.

Verifikation: 21 Paritätstests + komplette E2E-Suite — PASS.

v1.3.2 — Glass-Box für den Regen-Forecast

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 06:29

Neu

sensor.garten_plan_heute legt offen, wie der FC-Regenwert zustande kommt:

  • wetter_entity — welche Wetter-Entity die Engine tatsächlich abfragt (wichtig bei mehreren Wetter-Integrationen/Stationen).
  • regen_fc_datenbasis — die exakt summierten Forecast-Zeilen zum Berechnungszeitpunkt: im hourly-Modus die 24 Stundenwerte (Zeitstempel + mm), im daily-Modus der heutige Tageseintrag. Die Summe der Zeilen ist konstruktionsbedingt der angezeigte FC-Wert (per Paritätstest abgesichert).

Damit lässt sich jede Frage der Form „warum zeigt FC X mm, mein Abruf sagt Y?" in Sekunden klären: Attribute neben den weather.get_forecasts-Abruf legen und vergleichen — Entity, Modus (forecast_typ), Zeitstand (berechnet_um) und Einzelwerte sind alle sichtbar.

Verifikation: 21 Paritätstests + komplette E2E-Suite — PASS.

v1.3.1 — Doku & Validierung

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 05:20

Wartungs-Release ohne Funktionsänderung: FAQ vollständig auf Integrations-Terminologie neu geschrieben (16 Kapitel inkl. Rezepte für Template-Switch, Regen-24h-Sensor, Webhook-Not-Aus), Landing Page + Doku konsolidiert, CI-Validierung (hassfest + HACS-Action) läuft ohne Ignore-Ausnahmen.

v1.3.0 — Parallel-Kopplung an Kettenposition

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 05:01

Neu

  • Ausführung je Kreis als Dreier-Wahl (ersetzt den Parallel-Schalter, bestehende Konfigurationen unverändert):
    • Sequenziell — reiht sich in die Reihenfolge-Kette ein (z. B. Sprenger, die sich den Wasserdruck teilen)
    • Parallel ab Laufbeginn — startet sofort mit dem Lauf (Standard, bisheriges Verhalten)
    • Parallel ab Reihenfolge-Position — startet erst, wenn die Kette den sequenziellen Kreis mit gleicher (oder nächsthöherer) Nummer erreicht. Damit lassen sich Parallel-Läufe gezielt koppeln: Beeren mit Sprenger 1, Tomaten mit Sprenger 2 — nie mehr Ventile gleichzeitig offen als geplant.
  • Erklärtexte unter Ausführungs- und Reihenfolge-Feld (DE + EN).

Außerdem

Verifikation: 20 Paritätstests + komplette E2E-Suite inkl. neuem Kopplungs-Szenario (Kette springt bei 0-min-Kreis, gekoppelter Kreis startet exakt an seiner Position, Not-Aus räumt ab) — PASS.

v1.2.0 — Temperatur-Quelle pro Kreis + klarere Kreis-Dialoge

Choose a tag to compare

@philipp-builder philipp-builder released this 19 Jul 04:20

Neu

  • Temperatur-Quelle pro Kreis: Jeder Kreis kann die globale Einstellung übersteuern — Wie global (Standard) / Tmax / ET₀ nach Hargreaves. Damit lässt sich z. B. nur der Rasen auf Verdunstung stellen, während Töpfe bei Tmax bleiben. Das Score-Attribut temp_quelle zeigt je Kreis den aktiven Pfad.
  • sensor.garten_plan_heute trägt jetzt forecast_typ als Attribut — auf einen Blick sichtbar, ob der FC-Regenwert aus dem daily-Modus (heutiger Tageswert) oder hourly-Modus (Summe nächste 24 h) stammt.
  • Klarere Kreis-Dialoge: Das Reihenfolge-Feld heißt jetzt „Reihenfolge im Lauf (nur sequenzielle Kreise)" und erklärt darunter: Sortiergewicht, kein exklusiver Platz — gleiche Nummern erlaubt (Tiebreak alphabetisch), Lücken (10/20/30) lassen Platz zum Einschieben. Auch der Parallel-Schalter und die Temperatur-Quelle haben Erklärtexte.

Verifikation: 20 Paritätstests + komplette E2E-Suite inkl. Per-Kreis-Override-Szenario (global ET₀, ein Kreis auf Tmax) — PASS.