Commit Graph

13 Commits

Author SHA1 Message Date
fkrebs ff558cd2c1 feat(dashboard-zuhause): add Sauger tab
Roborock Qrevo Curv Tab mit max_columns: 1 (Map ist breit). 4 Sections:

- Status & Steuerung: mushroom-vacuum-card mit Commands
  + Chips: Akku/Status/Wasserkasten/Mopp/Wasser-OK/Fehler
- Karte: xiaomi-vacuum-map-card aus alter Home-Section übernommen
  (Predefined-Selections für 13 Räume mit Outline-Koordinaten)
- Verbrauchsmaterial: 5 Cards (Hauptbürste/Seitenbürste/Filter/Sensoren/Dock-Schmutzfänger)
  Color-Coded: rot bei <20-50h verbleibend
- Statistik: Reinigungs-Counter, Gesamt-Bereich, letzte Reinigung mit Datum/Bereich
2026-05-02 16:41:49 +02:00
fkrebs e3b92c83bc feat(dashboard-zuhause): add Whirlpool tab (extended)
Volle Whirlpool-Steuerung im Tab — bewusst doppelt zum dashboard_spa,
für schnellen Zugriff vom Tablet. 5 Sections:

- Klima & Status: climate.spa_thermostat + Heater/Pumpe/Filter/Ozon/Heizrate
- Wasserchemie (Ondilo ICO):
  · Chips pH/ORP/Temp/Akku mit Color-Coding
  · pH 24h Chart mit Annotation 7.0-7.6 (Ideal grün)
  · ORP 24h Chart mit Annotation 600-800 mV (Ideal grün)
- Steuerung: Master/Düsen/Licht-Switches, Heizmodus/Temp-Range, 2× Filterzeit/-dauer
- Energie: Leistung-Chip, Energie kumuliert, Heater-kWh, 24h Apex
- Pflege & Wartung: 3× input_datetime mit 'vor X Tagen' Template,
  Color: rot wenn überfällig (Wasserpflege >7d, Kartusche >30d, Wasserwechsel >90d)
  + conditional Störungsmeldung-Card

Aktuelle Werte: pH 6.22 (zu niedrig!), ORP 157 mV (zu niedrig!) —
Wasserwerte brauchen Anpassung.
2026-05-02 16:35:39 +02:00
fkrebs 01bfd89995 fix(dashboard-zuhause): remove non-existent badezimmer sensors
Inventur-Report enthielt sensor.badezimmer_feuchtemesser_{temperature,humidity},
diese existieren aber nicht (waren wahrscheinlich anders benannt oder
seit längerem entfernt). Echte Sensoren:
- sensor.badezimmer_bewegungsmelder_temperature (unavailable)
- sensor.badezimmer_lichtschalter_device_temperature (34°C, Device-Temp,
  nicht Raumtemperatur — daher nicht geeignet)

Entfernt aus:
- Räume-Tab Badezimmer-Section: 2 chips (Temp + Hum) raus, nur
  bewegungsmelder_occupancy bleibt
- Klima-Tab Temperatur-Verlauf-Chart: badezimmer-Serie entfernt
  (6 statt 7 Räume im Chart)
2026-05-02 16:32:09 +02:00
fkrebs 984cbdd058 feat(dashboard-zuhause): add Klima tab
5 Sections:
- Heizung NIBE: climate.climate_system_s1 + Vorlauf/Rücklauf/Außen/WW Chips
  + Raum-Sollwert (number) + WW-Bedarf/Boost (select) + Lüftung (select)
- Whirlpool: climate.spa_thermostat (Tap → dashboard_spa)
- Befeuchter: humidifier.evaporative_humidifier_05de + Wasserstand
- Luftqualität: eCO₂ Chips pro Raum (color-coded: grün <1000, orange 1000-1500, rot >1500)
  + apexcharts 24h Multi-Line mit Annotations (1000/1500 Schwellen)
- Temperatur-Verlauf: apexcharts 24h pro Raum

Hinweis: Gästezimmer eCO₂=1520, AQI=102 — auffällig hoch.
Lüftungsmodus aktuell 'Normal (36%)'.
2026-05-02 16:25:55 +02:00
fkrebs d4eff55d30 fix(dashboard-zuhause): use options.type per filter for auto-entities lights
Lichter rendern korrekt als mushroom-light-card. Vorher fehlte das
options-Feld pro filter-include — auto-entities pushte rohe entity_ids
in die grid.cards, was 'Konfigurationsfehler' produzierte.

Pattern jetzt:
filter:
  include:
    - domain: light
      area: <id>
      options:
        type: custom:mushroom-light-card
        fill_container: true

Sensoren-Chips, Cover-Cards und Handtuchheizung-Toggle waren OK.
2026-05-02 16:21:48 +02:00
fkrebs 618b7a656f feat(dashboard-zuhause): add Räume tab with 13 rooms + Außenbereiche
Pro Raum eine Section mit Section-Title (statt mushroom-title-card):
- mushroom-chips für Sensoren (Temp/Hum/Bewegung/Wassermelder) wo vorhanden
- auto-entities mit area-Filter für Lichter (Grid 2 Spalten)
- mushroom-cover-card für Rolladen wo vorhanden

Räume-Reihenfolge: Wohnzimmer · Küche · Esszimmer · Schlafzimmer ·
Kinderzimmer · Badezimmer · WC · Büro · Gästezimmer · Garderobe ·
Speis · Technikraum · Gang.

Außenbereiche (Terrasse/Garage/Eingang/Grillplatz/Ruheplatz)
zusammen in einer Section am Ende. Grow nicht enthalten — eigenes
Dashboard.

Tab nutzt max_columns: 2 (Tablet-Portrait passt).
ha core check exit 0.
2026-05-02 16:17:29 +02:00
fkrebs 85280ef1f2 feat(dashboard-zuhause): add Glance tab as first view
Erste neue View "Glance" eingefügt vor den bestehenden 3 Views
(Home, Einkaufsliste, music). Enthält:

- Personen-Chips (Florian/Anne/Karolina) + Wetter + Sun
- Sicherheits-Aggregat (6 Rauch + 3 Wasser, Farb-Logik)
- Power-Flow-Card (PV/Speicher/Grid/Haus, kopiert aus bestehender Section)
- NIBE-Quick (Vorlauf + Außen + WW)
- Roborock-Quick (Status + Akku)
- Quick-Actions (Nachtmodus + Spüler-Nacht)
- Clock-Weather-Card
- DWD-Warnung (conditional)
- Trash-Card (Abfallkalender)

max_columns: 1 für Tablet-Portrait, kein Scroll auf 11" erwartet.
HA Core Restart durchgeführt, Lovelace neu geladen.

ha core check exit 0.
2026-05-02 16:11:11 +02:00
fkrebs 3180bbdbf6 chore: gitignore .claude/ha_token and *.token
Vorbereitung für HA-Long-Lived-Access-Token in .claude/ha_token.
2026-05-02 15:25:46 +02:00
fkrebs 916f511c00 feat(helpers): remove UI helpers from .storage (Phase 2)
UI-Helper-Definitionen aus .storage/* entfernt — die identischen
Helper laufen jetzt ausschließlich aus helpers/*.yaml.

Geänderte Files (alle items: [] gesetzt):
- .storage/input_boolean  (3 entries entfernt)
- .storage/input_button   (1 entry entfernt: nachtmodus)
- .storage/input_datetime (1 entry entfernt: grow_startdatum)
- .storage/timer          (1 entry entfernt: timer_badezimmer_heizung)

States bleiben über core.restore_state erhalten (entity_ids
unverändert). HA-Reload "Manuell konfigurierte Helfer" oder
voller Restart nötig, damit die Änderung greift.

ha core check exit 0.
2026-05-02 14:42:52 +02:00
fkrebs b0b23b14f1 feat(helpers): migrate UI helpers to YAML (Phase 1)
Migriert von .storage/ nach helpers/*.yaml:
- helpers/input_boolean.yaml  (3 helpers)
- helpers/input_button.yaml   (1: nachtmodus)
- helpers/input_datetime.yaml (4: grow_startdatum + 3x whirlpool)
- helpers/timer.yaml          (1: timer_badezimmer_heizung)

Die 3 Whirlpool-Datetime-Helper waren bereits inline in
configuration.yaml — wurden zusammen mit grow_startdatum nach
helpers/input_datetime.yaml verschoben.

object_ids exakt erhalten — keine Brüche in Automatisierungen
oder Dashboards zu erwarten.

Phase 1 = parallel zu UI-Helpern. ha core check exit 0.
Phase 2 (UI-Helper aus .storage entfernen) folgt nach
explizitem Go.

NICHT migriert:
- schedule (whirlpool_heizung) — Integration ist UI-only,
  keine YAML-Konfiguration unterstützt.
- input_select/input_text/counter — keine UI-Helper vorhanden.
2026-05-02 14:36:19 +02:00
fkrebs bf367d5a4f chore: gitignore vendor paths
Companion to previous commit — adds the patterns that prevent
voice_satellite/ and appdaemon/apps/controllerx/ from being re-tracked.
2026-05-02 14:31:35 +02:00
fkrebs a137bfc938 chore: untrack vendor code, remove powerocean leftover
- voice_satellite/ — Wake-Word ML-Modell (extern trainiert, von TaterTotterson),
  nicht eigener Config; via .gitignore ausgenommen.
- appdaemon/apps/controllerx/ — ControllerX v5.2.3 wird via HACS-AppDaemon
  gemanagt (xaviml/controllerx); via .gitignore ausgenommen.
  apps.yaml bleibt versioniert (eigene Mapping-Config).
- powerocean_powerpulse/ — alte Version (2025.01.07) der niltrip/powerocean
  Komponente, lag im falschen Pfad (/config/ statt custom_components/),
  wurde nie geladen. Aktive Version ist custom_components/powerocean_dev/
  (2026.05.01). Komplett entfernt.
2026-05-02 14:31:07 +02:00
fkrebs 5f01411780 chore: initial baseline before refactoring
Initial snapshot of Home Assistant config (HAOS 2026.4.4)
prior to dashboard restructuring and helper YAML migration.

Pre-commit cleanup applied:
- Removed blueprints/switch_manager/ (9.4 MB stale, component already gone)
- Removed .storage/switch_manager
- Removed home-assistant.log.{1,old,fault}
- Removed zigbee2mqtt/configuration_backup_v{1..4}.yaml
- Removed zigbee2mqtt/database.db.tmp.2024-09-27 (1.5y old)
- Created empty themes/ to satisfy configuration.yaml include

.gitignore uses allowlist strategy for .storage/ to keep
all tokens, keys, and PINs out of version control.
2026-05-02 14:24:53 +02:00