Skip to content

Smart Heat Pump Control for high-power 17kW units. Gradient-based cycle optimization, EVCC MQTT-Bridge, and §14a EnWG ready.

License

Notifications You must be signed in to change notification settings

firefox19de/WP-Gradient-Optimization

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home Assistant: WP-Gradient-Optimization

Dieses Repository enthält eine Steuerlogik für eine ON/OFF Wärmepumpe und EVCC Mechanismus für Home Assistant. Die Idee hinter der Steuerung der Heizung kam aus Energie&Hobby - Wärmepumpe frisst Strom? Nicht mehr nach diesem Trick! und da ich keine Hysterese oder ähnliches in meiner Viessmann Vitocal 300-G BWC 301.B17 einstellen konnte habe ich überlegt, wie ich die Taktung trotzdem verlängern kann. Einfach erklärt, sobald ich mit bekomme, dass der Kompressor Anspringt gehe ich in den Komfort-Modus und warte bis der Pufferspeicher eine gewisse Sättigung erfahren hat. Der EVCC Mechanismus ist mir im Chatten mit Gemini gekommen. Ich habe vorher über die Home Assistant REST API die Calls durchgeführt und wollte von Gemini wissen ob und wie es mit MQTT zu lösen ist. Das Warmwasser Management ist eigentlich recht unspektakulär, da war die Idee einfach was ich Manuell die letzte Zeit gemacht habe das ich es automatisiere.

🚀 Kern-Features

  • Gradient-Based-Cutoff: Die Abschaltung erfolgt nicht nach Erreichen einer fixen Temperatur, sondern basierend auf der thermischen Sättigung des Pufferspeichers (Ableitung nähert sich Null).
  • Smart-Grid & Preis-Optimierung: Volle Integration von Octopus Energy (Intelligent Go) zur Nutzung günstiger Nachtfenster.
  • Dynamische Hysterese: Automatische Anpassung der Warmwasser-Parameter basierend auf Solcast PV-Prognosen und Strompreis.
  • EVCC MQTT-Bridge: Bidirektionale Kommunikation zur Steuerung der WP-Modi und Warmwasserladung über EVCC.
  • Transparenz: Getrennte Leistungsmessung für Heizung und Warmwasser zur COP-Analyse.
  • Wirtschaftlichkeits-Check: Live-Berechnung der Ersparnis durch Octopus Energy (Intelligent Go) & PV Preise.

📊 System-Architektur

graph TD
    subgraph "Energiemarkt & Logik (EVCC)"
        E[EVCC] -- "MQTT: ha_bridge/.../set" --> B
        P[Börsenstrompreis / PV] --> E
    end
    subgraph "Home Assistant (Die Brücke)"
        B[evcc_bridge.yaml] -- "Übersetzt Befehle" --> L[waermepumpe_management.yaml]
        L -- "Berechnet Sättigung (Ableitung)" --> V
        B -- "Status Update MQTT" --> E
    end
    subgraph "Hardware (Physische Ebene)"
        V[Viessmann WP / ViCare]
        W[Wallbox / Charger]
    end
Loading

📖 Dokumentation & Logik

Für ein tiefes Verständnis der physikalischen Zusammenhänge und der Entscheidungsmatrix besuche bitte den: [cite_start]👉 Logik-Workflow & Entscheidungsmatrix

🛠 Technische Abhängigkeiten

Damit dieses System funktioniert, müssen folgende Komponenten installiert und konfiguriert sein:

1. Hardware & Integrationen

  • Wärmepumpe: Viessmann Vitocal (oder kompatibel) via ViCare Integration oder Modbus.
  • EVCC: Als zentraler Energiemanager für PV-Überschuss und dynamische Tarife.
  • MQTT Broker: (z.B. Mosquitto) für die Kommunikation zwischen EVCC und Home Assistant.

2. Home Assistant Add-ons / HACS

  • HACS: Zur Installation der Frontend-Karten.
  • ApexCharts-Card: Für die detaillierte Takt- und Gradienten-Analyse.
  • Mini-Graph-Card: Für kompakte Verlaufsanzeigen.
  • Solcast PV Forecast: Zur Ermittlung der prognostizierten Sonnenenergie.

📈 MQTT-Schnittstellen (Schnittstellen-Definition)

Die Kommunikation erfolgt bidirektional über einen MQTT-Broker. Home Assistant fungiert hierbei als Bridge zwischen der Wärmepumpen-Hardware und EVCC.

Topic Richtung Funktion
ha_bridge/heizung/mode/set EVCC ➔ HA Setzt den Betriebsmodus (1: Eco, 2: Home, 3: Comfort)
ha_bridge/heizung/mode/state HA ➔ EVCC Aktueller Status des Heizungs-Preset-Modes
ha_bridge/warmwasser/mode/set EVCC ➔ HA Trigger für einmalige WW-Ladung (Payload: "3")
ha_bridge/warmwasser/mode/state HA ➔ EVCC Status der Warmwasser-Ladung (2: Standby, 3: Aktiv)
ha_bridge/warmwasser/temp HA ➔ EVCC Aktuelle Speichertemperatur des Warmwassers
ha_bridge/warmwasser/target_temp HA ➔ EVCC Aktuelle Zieltemperatur des Warmwasserspeichers

⚙️ Konfiguration in der evcc.yaml

Um die Wärmepumpe in EVCC als steuerbares Gerät einzubinden, kann die folgende Konfiguration verwendet werden. Diese nutzt die oben definierten MQTT-Topics der Home Assistant Bridge:

# Beispielhafte Einbindung in die evcc.yaml für Warmwasser-Steuerung
waterheating:
- name: my_heatpump
  type: custom
  setmode:
    source: mqtt
    topic: ha_bridge/warmwasser/mode/set
    payload: ${mode}
  getmode:
    source: mqtt
    topic: ha_bridge/warmwasser/mode/state
  temp:
    source: mqtt
    topic: ha_bridge/warmwasser/temp
  limittemp:
    source: mqtt
    topic: ha_bridge/warmwasser/target_temp

Funktionsweise der Bridge setmode: Wenn in EVCC eine Ladung angefordert wird (Payload "3"), empfängt der evcc_bridge: Command Receiver dies und löst die button.cu401b_g_warmwasser_einmalige_ladung in HA aus. getmode & temp: Home Assistant sendet bei jeder Statusänderung (z. B. Kompressor-Start oder Temperatur-Update) die aktuellen Werte aktiv via MQTT an EVCC zurück.

Heizungssteuerung: Über das Topic ha_bridge/heizung/mode/set kann EVCC den Preset-Mode der Heizung (eco, comfort oder home) direkt umschalten und auch Bereit für EnWG §14a.

📂 Verzeichnisstruktur

  • /packages: Enthält die gesamte YAML-Logik (Sensoren, Templates, Automationen).
  • /dashboards: Enthält die Konfiguration der Lovelace-Views inkl. ApexCharts.
  • /docs: Zusätzliche Dokumentation und Screenshots.

🔧 Installation

  1. Packages aktivieren: Stelle sicher, dass Packages in deiner configuration.yaml aktiviert sind:
    homeassistant:
      packages: !include_dir_named packages
  2. Dateien kopieren: Kopiere waermepumpe_management.yaml und evcc_bridge.yaml in deinen packages-Ordner.
  3. Entitäten anpassen: Ersetze alle Platzhalter-Entitäten (z.B. sensor.cu401b_g_...) durch deine tatsächlichen Entitäten.
  4. Dashboard importieren: Erstelle eine neue Dashboard-Ansicht und kopiere den Inhalt aus 01_wp_analyse_gradient.yaml, 02_wp_wirtschaftlichkeit.yaml, 03_wp_status_steuerung.yaml und 04_wp_vicare_system.yaml hinein.

📊 Modulare Dashboards

Die Dashboard-Konfigurationen sind in vier Module unterteilt. So kannst du gezielt die Komponenten wählen, die zu deinem Setup passen.

1. Analyse & Gradient

Fokus auf die Visualisierung der Sättigungskurve und Takt-Dauer. Analyse Dashboard Datei: dashboards/01_wp_analyse_gradient.yaml

2. Wirtschaftlichkeit

Anzeige von Kosteneffizienz, Sparstunden und Energiequelle. Wirtschaftlichkeit Dashboard Datei: dashboards/02_wp_wirtschaftlichkeit.yaml

3. Steuerung (Bridge)

Bedienelemente für EVCC-Modi und Warmwasser-Ladung. Steuerung Dashboard Datei: dashboards/03_wp_status_steuerung.yaml

4. System (ViCare)

Native Sensoren der ViCare-Integration (individuell anpassbar). ViCare System Datei: dashboards/04_wp_vicare_system.yaml

Important

[cite_start]Da die ViCare-Integration je nach Wärmepumpen-Modell unterschiedliche Entitätsnamen vergibt, dient Modul 04 primär als Referenz.

📊 Funktionsweise des Takt-Managers

Der Takt-Manager überwacht den Status binary_sensor.wp_status_heizbetrieb. Bei Aktivierung wird die Komforttemperatur angehoben, um einen langen Takt zu erzwingen. Der Takt endet erst, wenn:

  1. Der Sättigungspunkt erreicht ist (Ableitung < Zielwert).
  2. Ein Warmwasser-Vorrang angefordert wird.
  3. Die Wärmepumpe intern abschaltet.

🛠️ Hardware: Digitaler NTC-Emulator

Um die Vitosolic S1 in Home Assistant einzubinden, wird ein physischer NTC 20k Sensor simuliert. Dies ermöglicht die Nutzung von Funk-Sensoren (z.B. LoRaWAN) zur Steuerung der Solar-Luftabsorber einer Eisheizung.

Key Features

  • Galvanische Trennung: 100% Schutz der Heizungsregelung durch den ISO1640 I2C-Isolator.
  • Plug & Play: Aufbau basierend auf dem easyC/Qwiic-System für eine einfache und sichere Verkabelung.
  • Präzision: Mathematisch exakte Nachbildung der NTC-Kennlinie via Home Assistant Template.

Schnellstart Hardware

  1. Boards verbinden: Dasduino Connect ➔ Pololu ISO1640 ➔ 100k Digipot (alles via easyC Kabel).
  2. Anschluss: Poti-Ausgang mit dem S1-Eingang der Vitosolic verbinden.
  3. Logik: YAML-Templates für Home Assistant übernehmen (siehe Dokumentation).

👉 Detaillierte Hardware-Dokumentation, Schaltpläne und 3D-Druck-Infos findest du hier (HARDWARE.md)

📜 Lizenz

Dieses Projekt steht unter der MIT-Lizenz.

Zusammenfassung der Modul-Rollen:

  • EVCC: Übernimmt die Logik für "Wann ist Strom günstig?" und "Haben wir PV-Überschuss?".
  • MQTT: Dient als Protokoll-Brücke. EVCC sendet auf Topics wie ha_bridge/heizung/mode/set, die HA-Bridge übersetzt dies in climate-Befehle.
  • waermepumpe_management.yaml: Hier findet die "Physik" statt – die Berechnung der Ableitungen und die Steuerung der Hysterese.

📋 Changelog & Roadmap

v1.0.0 (Initial Release) - 2026-01-04

  • Core-Logik: Implementierung der Gradienten-Überwachung (Ableitung) zur thermischen Sättigungserkennung und Taktoptimierung.
  • Energy Management: Integration dynamischer Octopus Energy Tarife (Intelligent Go) via EVCC MQTT-Bridge.
  • Smart Hot Water: Einführung der prädiktiven Warmwasser-Hysterese basierend auf Solcast-PV-Prognosen und Netz-Lade-Erlaubnis.
  • Monitoring: Launch des Analyse-Dashboards mit ApexCharts zur Visualisierung von Ist-Ableitung vs. Ziel-Limit.
  • Schnittstellen: Bidirektionale Kommunikation zwischen EVCC und Home Assistant für WP-Modi und Ladestatus.

🚀 Roadmap (Zukünftige Funktionen)

  • §14a EnWG Integration: Vorbereitung auf Modul 3 zur automatisierten Reaktion auf variable Netzentgelte.
  • AI-Sättigungs-Prognose: Einbindung von maschinellem Lernen zur dynamischen Anpassung der Abschaltschwelle je nach Gebäude-Außentemperatur-Gradient.
  • COP-Live-Analyse: Echtzeit-Effizienzberechnung durch Zusammenführung von thermischen Abgabedaten und elektrischer Leistungsaufnahme.
  • Auto-Calibration: Automatisches Einmessen der optimalen Ableitungs-Zielwerte während der Übergangszeit.

About

Smart Heat Pump Control for high-power 17kW units. Gradient-based cycle optimization, EVCC MQTT-Bridge, and §14a EnWG ready.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published