Zum Inhalt springen
Home Assistant Integration

Home Assistant Integration

🏊 Smart Swimming Pool: Den Pool Controller mit Home Assistant integrieren

Der Pool Controller v3.x integriert sich über nativen MQTT Discovery in Home Assistant. Sobald der Controller mit Ihrem MQTT-Broker verbunden ist, registriert er automatisch alle Sensoren, Steuerungen und Konfigurationsparameter als Home-Assistant-Entities — keine manuelle Konfiguration erforderlich.

đź’ˇ Sie richten den Pool Controller zum ersten Mal ein?
Folgen Sie zuerst der Erste Schritte-Anleitung, die das Flashen der Firmware, die WiFi-Konfiguration und die MQTT-Einrichtung abdeckt.


Voraussetzungen

Bevor der Pool Controller in Home Assistant erscheint:

  1. Home Assistant mit konfigurierter MQTT-Integration (Broker-Verbindung)
  2. Pool Controller mit dem gleichen MQTT-Broker verbunden (konfiguriert über die Weboberfläche: Konfiguration → MQTT)
  3. MQTT Discovery aktiviert in Home Assistant (discovery: true in configuration.yaml — standardmäßig aktiviert)

Funktionsweise

Beim Start und bei der MQTT-Verbindung veröffentlicht der Pool Controller Discovery-Payloads auf Topics wie:

homeassistant/sensor/pool-controller/pool-temp/config
homeassistant/switch/pool-controller/pool-pump/config
homeassistant/select/pool-controller/mode/config
...

Home Assistant hört standardmäßig auf homeassistant/+/+/config und erstellt automatisch Entities aus diesen Payloads. Alle Entities werden unter einem einzigen Pool Controller-Gerät gruppiert.

Geräteinformationen

Der Controller identifiziert sich mit:

EigenschaftWert
NamePool Controller
Herstellersmart-swimmingpool
ModellPool Controller
Identifikatorpool_controller_<mac-suffix> (pro Gerät eindeutig)

Vollständige Entity-Referenz

Sobald der Pool Controller verbunden ist, erstellt er folgende Entities in Home Assistant:

📊 Primäre Sensoren

Diese erscheinen auf der Gerätevorderseite (kein entity_category):

Entity-IDNameGeräteklasseEinheit
sensor.pool_controller_pool_tempPool Temperaturetemperature°C
sensor.pool_controller_solar_tempSolar Temperaturetemperature°C

🛠️ Steuerungen (Schalter & Auswahl)

Entity-IDNameTypHinweis
switch.pool_controller_pool_pumpPool PumpSchalterNur im Manuell-Modus beschreibbar
switch.pool_controller_solar_pumpSolar PumpSchalterNur im Manuell-Modus beschreibbar
select.pool_controller_modeOperation ModeAuswahlOptionen: auto, manu, boost, timer

đź”§ Konfigurationsparameter (entity_category: config)

Entity-IDNameTypEinheitBereich
number.pool_controller_pool_max_tempMax. Pool TempZahl°C0–40
number.pool_controller_solar_min_tempMin. Solar TempZahl°C0–100
number.pool_controller_hysteresisTemperature HysteresisZahlK0–10
number.pool_controller_temp_circ_thresholdCirc. Temp ThresholdZahl°C0–40
number.pool_controller_temp_circ_factorCirc. Temp FactorZahlmin/°C0–120
number.pool_controller_temp_circ_max_runtimeCirc. Max RuntimeZahlmin60–1440
time.pool_controller_timer_startTimer StartZeit—HH:MM:SS
time.pool_controller_timer_endTimer EndZeit—HH:MM:SS
select.pool_controller_timezoneTimezoneAuswahl—(dynamische Liste)
text.pool_controller_ntp_serverNTP ServerText——
update.pool_controller_firmwareFirmwareUpdate——
climate.pool_controller_thermostatPool ThermostatClimate°C0–40

Die Climate-Entity (climate.pool_controller_thermostat) bietet eine thermostatähnliche Steuerung:

  • HVAC-Modi: aus, auto, heizen
  • Aktuelle Temperatur: Pool-Wassertemperatur
  • Zieltemperatur: entspricht der Max. Pool Temp
  • Aktion: heizen, bereit, aus

🔍 Diagnose (entity_category: diagnostic)

Entity-IDNameGeräteklasseEinheit
sensor.pool_controller_controller_tempController Temperaturetemperature°C
sensor.pool_controller_heapFree Heap Space—B
sensor.pool_controller_max_allocMax Alloc Block—B
sensor.pool_controller_rssiWiFi Signal Strength—dBm
sensor.pool_controller_uptimeSystem Uptimedurations
sensor.pool_controller_local_timeLocal Time——
sensor.pool_controller_effective_runtimeEffective Runtimedurations
sensor.pool_controller_solar_sensor_foundSolar Sensor Found—Gefunden/Fehlt
sensor.pool_controller_pool_sensor_foundPool Sensor Found—Gefunden/Fehlt

đź§­ Sensor-Zuordnung (Konfiguration)

Entity-IDNameTypZweck
select.pool_controller_solar_sensorSolar SensorAuswahlBestimmten DS18B20 als Solarsensor zuweisen
select.pool_controller_pool_sensorPool SensorAuswahlBestimmten DS18B20 als Poolsensor zuweisen

Diese Auswahl-Entities listen alle erkannten DS18B20-Adressen auf dem OneWire-Bus auf. Verwenden Sie sie, um einen bestimmten Sensor der Solar- oder Pool-Rolle zuzuordnen, wenn mehrere Sensoren angeschlossen sind.

Tipp: Überprüfen Sie nach der Auswahl eines Sensors sensor.pool_controller_solar_sensor_found und sensor.pool_controller_pool_sensor_found, um zu bestätigen, dass der Sensor erkannt wird.


Dashboard erstellen (Lovelace)

Option A: Gerät automatisch hinzufügen

  1. Gehen Sie zu Einstellungen → Geräte & Dienste → Geräte
  2. Suchen Sie Pool Controller in der Geräteliste
  3. Klicken Sie bei jeder gewĂĽnschten Entity auf Zu Lovelace hinzufĂĽgen

Option B: Manuelle Lovelace-Konfiguration

Erstellen Sie eine Ansicht in Ihrer ui-lovelace.yaml oder ĂĽber den Lovelace-UI-Editor:

type: vertical-stack
cards:
  - type: entities
    title: Pool Controller
    entities:
      - entity: sensor.pool_controller_pool_temp
      - entity: sensor.pool_controller_solar_temp
      - entity: select.pool_controller_mode
      - entity: switch.pool_controller_pool_pump
      - entity: switch.pool_controller_solar_pump
      - entity: sensor.pool_controller_uptime

  - type: entities
    title: Konfiguration
    entities:
      - entity: number.pool_controller_pool_max_temp
      - entity: number.pool_controller_solar_min_temp
      - entity: number.pool_controller_hysteresis
      - entity: time.pool_controller_timer_start
      - entity: time.pool_controller_timer_end

  - type: thermostat
    entity: climate.pool_controller_thermostat

  - type: entities
    title: Diagnose
    state_color: true
    entities:
      - entity: sensor.pool_controller_rssi
      - entity: sensor.pool_controller_controller_temp
      - entity: sensor.pool_controller_effective_runtime
      - entity: sensor.pool_controller_solar_sensor_found
      - entity: sensor.pool_controller_pool_sensor_found

Option C: Standard-Dashboard nutzen

Der Controller erstellt Entities in der standardmäßigen MQTT-Gerätegruppe. Ă–ffnen Sie Ăśbersicht → klicken Sie auf die drei Punkte → Dashboard bearbeiten → Karte hinzufĂĽgen → suchen Sie nach “Pool Controller”, um einzelne Entities hinzuzufĂĽgen.


Automatisierungsbeispiele

Benachrichtigung bei Zieltemperatur

alias: "Pool Temperatur Alarm"
triggers:
  - trigger: numeric_state
    entity_id: sensor.pool_controller_pool_temp
    above: 28
actions:
  - action: notify.mobile_app
    data:
      title: "Pool ist warm! 🏊"
      message: "Pooltemperatur: {{ states('sensor.pool_controller_pool_temp') }}°C"

Heizung nachts ausschalten

alias: "Pool Heizung Nacht Aus"
triggers:
  - trigger: time
    at: "22:00:00"
conditions:
  - condition: state
    entity_id: select.pool_controller_mode
    state: auto
actions:
  - action: select.select_option
    target:
      entity_id: select.pool_controller_mode
    data:
      option: timer

Neustart bei Offline-Erkennung

alias: "Pool Controller Offline Warnung"
triggers:
  - trigger: state
    entity_id: sensor.pool_controller_uptime
    to: unavailable
    for:
      minutes: 5
actions:
  - action: notify.mobile_app
    data:
      title: "⚠️ Pool Controller Offline"
      message: "Pool Controller seit 5 Minuten nicht erreichbar"

Temperaturabhängige Solarzirkulation

Die temperaturbasierte Zirkulation nutzt die Parameter des Controllers (v3.3+):

alias: "Solarzirkulation - Voll"
triggers:
  - trigger: time_pattern
    minutes: "/15"
conditions:
  - condition: numeric_state
    entity_id: sensor.pool_controller_solar_temp
    above: 30
  - condition: numeric_state
    entity_id: number.pool_controller_pool_max_temp
    below: "{{ states('sensor.pool_controller_pool_temp') | float }}"
actions:
  - action: switch.turn_on
    target:
      entity_id: switch.pool_controller_solar_pump

Firmware-Updates ĂĽber HA

Der Pool Controller stellt eine Update-Entity (update.pool_controller_firmware) in Home Assistant bereit:

  1. Gehen Sie zu Einstellungen → Geräte & Dienste → Geräte → Pool Controller
  2. Die Firmware-Entity zeigt die aktuelle vs. neueste Version
  3. Klicken Sie auf Installieren, um ein OTA-Update auszulösen
  4. Der Controller lädt das Update herunter und startet automatisch neu

Hinweis: Firmware-Updates erfordern eine Internetverbindung auf dem ESP32 und mindestens 2 MB freien Flash-Speicher.


Fehlerbehebung

Pool Controller erscheint nicht in Home Assistant

  1. MQTT-Broker-Verbindung prüfen: Ist der Controller als verbunden auf dem MQTT-Broker sichtbar? (Prüfen Sie das Topic homeassistant/sensor/pool-controller/availability — Payload sollte online sein)
  2. MQTT-Integration prüfen: Gehen Sie zu Einstellungen → Geräte & Dienste → Integrationen → MQTT und bestätigen Sie die Konfiguration
  3. MQTT Discovery aktiviert: In configuration.yaml:
    mqtt:
      discovery: true
  4. MQTT in HA neu starten: Gehen Sie zu Einstellungen → System → Dienste neu starten
  5. Controller neustarten: ESP32 stromlos schalten oder den Neustart-Knopf in der Weboberfläche verwenden

Entities zeigen “Nicht verfĂĽgbar”

  • Der Controller ist möglicherweise offline. PrĂĽfen Sie das oben genannte availability-Topic
  • Es könnten veraltete retain-Nachrichten vorhanden sein. Veröffentlichen Sie eine leere Payload auf dem /config-Topic der Entity, um veraltete Discovery zu löschen
  • PrĂĽfen Sie homeassistant/sensor/pool-controller/availability — es sollte eine retained online-Nachricht enthalten

Pumpenschalter lassen sich nicht umschalten

Der Pool Controller akzeptiert Pumpenbefehle nur im Manuell-Modus. Wenn der Controller im Auto-, Boost- oder Timer-Modus ist, werden Pumpenbefehle von Home Assistant ignoriert.

Zum Umschalten der Pumpen:

  1. Setzen Sie die Operation Mode-Auswahl auf manu (Manuell)
  2. Jetzt sind die Schalter-Entities beschreibbar
  3. Nach der manuellen Steuerung zurĂĽck auf auto oder einen anderen Modus schalten

Zahlenwerte aktualisieren sich nicht

  • Der Controller akzeptiert Konfigurationsänderungen (Temperaturgrenzen, Hysterese usw.) in jedem Modus
  • Ă„nderungen werden im Flash-Speicher des Controllers gespeichert
  • Wenn Werte zurĂĽckgesetzt werden, prĂĽfen Sie die Weboberfläche des Controllers: Status → Letzter Fehler

Sensorzuordnung zeigt keine Optionen

Die Entities select.pool_controller_solar_sensor und select.pool_controller_pool_sensor werden erst befĂĽllt, nachdem der Controller seinen OneWire-Bus-Scan abgeschlossen hat. Dies geschieht:

  • Beim Start (nachdem WiFi verbunden ist)
  • Wenn Sie in der Weboberfläche auf Neu scannen klicken

Wenn keine DS18B20-Sensoren angeschlossen sind, zeigen diese Entities nur die Option — Not configured — an.

Zuletzt aktualisiert am