Zum Hauptinhalt springen

Home Assistant Integration

Detaillierte Anleitung zur Integration deines WifiWhirl®-Moduls in Home Assistant über MQTT. Inklusive Dashboard-Vorlage und Konfigurationshinweisen.

Diese Anleitung führt dich durch die Schritte, um dein WifiWhirl-Modul nahtlos in deine Home Assistant-Instanz zu integrieren. Durch die Verbindung über das MQTT-Protokoll kannst du deinen Whirlpool zentral steuern, Sensorwerte visualisieren und in Automationen einbinden.

Funktionsweise und Vorteile​

Die Integration erfolgt über MQTT (Message Queuing Telemetry Transport), ein leichtgewichtiges Nachrichtenprotokoll, das ideal für Smart-Home-Geräte ist. Dein WifiWhirl-Modul sendet Status-Updates (z.B. Temperatur, Pumpenstatus) an einen MQTT-Broker, und Home Assistant abonniert diese Nachrichten, um die entsprechenden Entitäten zu aktualisieren. Ebenso kann Home Assistant Befehle (z.B. Pumpe einschalten) über den Broker an das Modul senden.

Vorteile der Integration:

  • Zentrale Steuerung: Bediene deinen Whirlpool direkt über die Home Assistant Oberfläche oder App.
  • Visualisierung: Verfolge Temperaturverläufe und andere Sensorwerte.
  • Automationen: Erstelle leistungsstarke Automationen (z.B. Heizung bei Erreichen der Ziel-Temperatur abschalten, Benachrichtigungen bei Filterwechsel).
  • Einbindung in Szenen: Integriere den Whirlpool in übergreifende Smart-Home-Szenarien.

Voraussetzungen​

Bevor du beginnst, stelle sicher, dass die folgenden Voraussetzungen erfüllt sind:

  1. Laufende Home Assistant Instanz:

  2. MQTT Broker in Home Assistant:

    • Ein MQTT Broker ist die zentrale Nachrichtenvermittlungsstelle. Der empfohlene Weg ist die Installation des "Mosquitto broker" Add-ons in Home Assistant.
      • Gehe in Home Assistant zu "Einstellungen" > "Add-ons" > "ADD-ON STORE".
      • Suche nach "Mosquitto broker" und installiere es.
      • Eine Anleitung und weitere Informationen findest du in der offiziellen Home Assistant MQTT Dokumentation.
    • Alternativ kann auch ein externer MQTT Broker verwendet werden, wenn du bereits einen in deinem Netzwerk betreibst.
  3. Home Assistant MQTT-Integration eingerichtet:

    • Nachdem der Broker läuft, muss die MQTT-Integration in Home Assistant konfiguriert werden, damit sie mit dem Broker kommuniziert.
      • Gehe zu "Einstellungen" > "Geräte & Dienste".
      • Wenn der Broker korrekt erkannt wurde (oft automatisch durch das Mosquitto Add-on), siehst du eine "MQTT" Integration. Klicke auf "Konfigurieren".
      • Wichtig: Aktiviere die Option "Suche aktivieren" und stelle sicher, dass das Discovery-Präfix dem Standard homeassistant entspricht, damit Home Assistant die Entitäten deines WifiWhirl-Moduls automatisch erkennen kann. Dies ist im Normalfall die Standardeinstellung.
  4. Laufendes WifiWhirl-Modul:

    • Dein WifiWhirl-Modul muss betriebsbereit und mit deinem WLAN verbunden sein.
    • MQTT muss im WifiWhirl-Modul aktiviert und konfiguriert sein. Die Einstellungen hierfür findest du in der Weboberfläche deines Moduls unter "MQTT-Konfiugration". Konfiguriere den MQTT-Host (meist die IP-Adresse des Homeassistant), Port (Standardmäßig 1883), Benutzernamen (dein Benutzername in Home Assistant), Passwort (dein Passwort in Home Assistant) und das Basis-Topic (standardmäßig wifiwhirl-XXXXXX).
  5. Optional: MQTT Explorer:

    • Für die Fehlersuche oder um die vom WifiWhirl-Modul gesendeten MQTT-Nachrichten zu überprüfen, ist ein Tool wie MQTT Explorer sehr hilfreich. Verbinde es mit deinem MQTT-Broker, um den Nachrichtenverkehr in Echtzeit zu sehen.

Konfigurationsschritte​

Wenn alle Voraussetzungen erfüllt sind, sollte Home Assistant dein WifiWhirl-Modul und dessen Entitäten automatisch erkennen, sobald das Modul eine MQTT-Konfigurationsnachricht sendet (dies geschieht beim Start des Moduls oder bei einer Änderung der MQTT-Einstellungen im Modul).

Du solltest dann unter "Einstellungen" > "Geräte & Dienste" > "MQTT" ein neues Gerät für dein WifiWhirl-Modul mit den zugehörigen Entitäten (Sensoren, Schalter, etc.) finden.

Vorlage für dein Home Assistant Dashboard​

Mit der folgenden YAML-Konfiguration kannst du ein umfassendes Dashboard für dein WifiWhirl-Modul in Home Assistant erstellen. Es visualisiert wichtige Sensordaten und bietet schnellen Zugriff auf die Steuerungsfunktionen.

So verwendest du die Vorlage:

  1. Dashboard bearbeiten: Öffne das Home Assistant Dashboard, dem du die Whirlpool-Steuerung hinzufügen möchtest, und klicke oben rechts auf die drei Punkte, dann auf "Dashboard bearbeiten".
  2. Karte hinzufügen: Klicke unten rechts auf "+ KARTE HINZUFÜGEN".
  3. Manuell: Scrolle in der Auswahl ganz nach unten und wähle "Manuell".
  4. YAML einfügen: Lösche den vorhandenen Beispiel-Code und füge die untenstehende YAML-Konfiguration ein.
  5. Entitäts-IDs anpassen (wichtig!):
    • Die in der Vorlage verwendeten Entitäts-IDs (z.B. sensor.layzspa_wifi_controller_layzspa_temp_c) basieren auf einem Platzhalter-MQTT-Topic. Dein WifiWhirl-Modul könnte abweichende Entitäts-IDs verwenden!
    • Überprüfe die korrekten Namen deiner Entitäten in Home Assistant unter "Einstellungen" > "Geräte & Dienste" > Reiter "Entitäten". Suche dort nach Entitäten, die zu deinem WifiWhirl-MQTT-Gerät gehören (z.B. nach "layzspa" oder dem Namen, den du dem Modul gegeben hast).
    • Passe alle Entitäts-IDs in der YAML-Vorlage entsprechend an.
  6. Speichern: Klicke auf "SPEICHERN".

Benötigte Custom Cards (Installation via HACS):

Diese Dashboard-Vorlage verwendet spezielle Custom Cards, die du möglicherweise zuerst über den Home Assistant Community Store (HACS) installieren musst, falls noch nicht geschehen:

Installiere diese über HACS im Frontend-Bereich und stelle sicher, dass die Ressourcen korrekt in deiner Lovelace-Konfiguration geladen werden (geschieht meist automatisch durch HACS).

type: vertical-stack
cards:
- square: false
columns: 2
type: grid
cards:
- type: custom:mushroom-entity-card
entity: sensor.layzspa_wifi_controller_layzspa_temp_c
name: Displayanzeige
icon: mdi:fit-to-screen
icon_color: null
layout: horizontal
fill_container: true
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
- type: custom:mushroom-template-card
primary: Bereit in
secondary: >-
{%- if is_state('binary_sensor.layzspa_wifi_controller_layzspa_ready',
'off') %} {{
float(states('sensor.layzspa_wifi_controller_layzspa_time_to_ready'))
| round // 1 }} Stunden {{
(float(states('sensor.layzspa_wifi_controller_layzspa_time_to_ready'))
* 60) | round % 60 }} Minuten {% else %} Zeit für ein Bad {% endif %}
icon: mdi:hot-tub
layout: horizontal
entity: binary_sensor.layzspa_ready
icon_color: >-
{%- if is_state('binary_sensor.layzspa_wifi_controller_layzspa_ready',
'off') %} red {% else %} green {% endif %}
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
- square: false
columns: 3
type: grid
cards:
- type: custom:mushroom-entity-card
entity: switch.layzspa_wifi_controller_layzspa_pump
secondary_info: none
name: Pumpe
fill_container: true
layout: vertical
tap_action:
action: toggle
- type: custom:mushroom-entity-card
entity: switch.layzspa_wifi_controller_layzspa_heat_regulation
secondary_info: none
layout: vertical
fill_container: true
tap_action:
action: toggle
name: Heizung
- type: custom:mushroom-entity-card
entity: switch.layzspa_wifi_controller_layzspa_airbubbles
secondary_info: none
layout: vertical
tap_action:
action: toggle
name: Airjet
fill_container: true
- square: false
columns: 2
type: grid
cards:
- type: custom:mushroom-template-card
primary: Filter Reset
secondary: >-
Alter: {{ states('sensor.layzspa_wifi_controller_layzspa_filter_age')
| round(1) }} Tage
icon: >-
{%- if states('sensor.layzspa_wifi_controller_layzspa_filter_age') |
int > 7 %} mdi:sync {% else %} mdi:air-filter {% endif %}
layout: horizontal
entity: button.layzspa_wifi_controller_layzspa_reset_filter_timer
hold_action:
action: toggle
tap_action:
action: none
fill_container: false
icon_color: >-
{%- if states('sensor.layzspa_wifi_controller_layzspa_filter_age') |
int > 7 %} red {% else %} green {% endif %}
- type: custom:mushroom-template-card
primary: Multitab Reset
secondary: >-
Alter: {{
states('sensor.layzspa_wifi_controller_layzspa_chlorine_age') | round
(1) }} Tage
icon: >-
{%- if states('sensor.layzspa_wifi_controller_layzspa_chlorine_age') |
int > 7 %} mdi:sync {% else %} mdi:test-tube {% endif %}
entity: button.layzspa_wifi_controller_layzspa_reset_chlorine_timer
layout: horizontal
tap_action:
action: none
hold_action:
action: toggle
icon_color: >-
{%- if states('sensor.layzspa_wifi_controller_layzspa_chlorine_age') |
int > 7 %} red {% else %} green {% endif %}
- square: true
columns: 2
type: grid
cards:
- type: thermostat
entity: climate.layzspa_wifi_controller_layzspa_temperature_control
name: Whirlpool
- type: vertical-stack
cards:
- type: custom:mini-graph-card
name: Whirlpool Temperatur
entities:
- entity: sensor.layzspa_wifi_controller_layzspa_temp_c
name: Aktuell
color: '#FF1493'
hours_to_show: 12
- entity: sensor.layzspa_wifi_controller_layzspa_target_temp_c
name: Ziel
color: '#00BFFF'
hours_to_show: 12
- type: custom:mushroom-entity-card
entity: sensor.layzspa_wifi_controller_layzspa_ambient_temp_c
layout: horizontal
name: Außentemperatur
fill_container: false
icon_color: null
tap_action:
action: none
hold_action:
action: none
double_tap_action:
action: none
icon: mdi:thermometer

Erläuterung der Dashboard-Elemente​

  • Displayanzeige & Bereit in: Zeigt die aktuelle Temperatur am Display der Pumpe und die geschätzte Restzeit, bis die Ziel-Temperatur erreicht ist.
  • Pumpe, Heizung, Airjet: Direkte Schalter für die Hauptfunktionen.
  • Filter Reset & Multitab Reset: Zeigt das Alter des Filters/Multitabs an und ermöglicht das Zurücksetzen der Timer (durch langes Drücken/Hold Action).
  • Whirlpool Thermostat: Ermöglicht das Einstellen der Ziel-Temperatur.
  • Whirlpool Temperatur Graph: Visualisiert den Verlauf der aktuellen und der Ziel-Temperatur über die letzten 12 Stunden.
  • Außentemperatur: Zeigt die vom Modul erfasste (oder manuell gesetzte) Umgebungstemperatur.

Beispiel-Automationen (YAML)​

Hier sind einige Beispiele, wie du dein WifiWhirl-Modul in Home Assistant Automationen verwenden kannst. Füge diese unter "Einstellungen" > "Automatisierungen & Szenen" hinzu (über "Automatisierung erstellen" > "Leere Automatisierung erstellen" und dann YAML-Modus).

1. Heizung ausschalten, wenn Ziel-Temperatur erreicht und Pumpe läuft:

alias: Whirlpool Heizung aus bei Ziel-Temperatur
description: Schaltet die Whirlpool-Heizung aus, wenn die Ziel-Temperatur erreicht ist.
trigger:
- platform: template
value_template: >-
{{ states('sensor.layzspa_wifi_controller_layzspa_temp_c') | float(0) >=
states('sensor.layzspa_wifi_controller_layzspa_target_temp_c') | float(0) }}
condition:
- condition: state
entity_id: switch.layzspa_wifi_controller_layzspa_pump
state: 'on'
- condition: state
entity_id: switch.layzspa_wifi_controller_layzspa_heat_regulation # Oder die Entität für den Heizstatus
state: 'on'
action:
- service: switch.turn_off
target:
entity_id: switch.layzspa_wifi_controller_layzspa_heat_regulation # Oder die Entität für den Heizstatus
mode: single

2. Benachrichtigung senden, wenn Filter gewechselt werden muss (nach 7 Tagen):

alias: Whirlpool Filterwechsel-Erinnerung
description: Sendet eine Benachrichtigung, wenn der Filter älter als 7 Tage ist.
trigger:
- platform: numeric_state
entity_id: sensor.layzspa_wifi_controller_layzspa_filter_age
above: 7
condition: []
action:
- service: notify.DEIN_BENACHRICHTIGUNGSDIENST # Ersetze dies!
data:
title: "Whirlpool Wartung"
message: "Der Whirlpool-Filter ist seit {{ states('sensor.layzspa_wifi_controller_layzspa_filter_age') | round(1) }} Tagen im Einsatz und sollte gewechselt werden."
mode: single

Wichtig: Ersetze DEIN_BENACHRICHTIGUNGSDIENST mit dem Namen deines tatsächlich konfigurierten Benachrichtigungsdienstes in Home Assistant (z.B. notify.mobile_app_mein_telefon). Passe die Entitäts-IDs ggf. an deine Konfiguration an.

Fehlersuche (Troubleshooting)​

  • Entitäten erscheinen nicht in Home Assistant:
    • Überprüfe die MQTT-Broker-Konfiguration in Home Assistant und im WifiWhirl-Modul (Host, Port, Benutzer, Passwort, Basis-Topic).
    • Stelle sicher, dass MQTT Discovery in der Home Assistant MQTT-Integration aktiviert ist.
    • Starte das WifiWhirl-Modul neu, damit es seine Konfigurationsnachrichten erneut an den Broker sendet.
    • Verwende MQTT Explorer, um zu sehen, ob das Modul Nachrichten an den Broker sendet und ob diese unter dem korrekten Discovery-Topic (z.B. homeassistant/sensor/...) erscheinen.
  • Verbindung zum MQTT Broker fehlgeschlagen (im WifiWhirl-Modul):
    • Überprüfe die Erreichbarkeit des Brokers vom Modul aus (Ping, korrekte IP/Hostname).
    • Stelle sicher, dass der im Modul konfigurierte MQTT-Benutzer auf dem Broker existiert und die nötigen Rechte hat.
    • Überprüfe die Firewall-Einstellungen, falls der Broker auf einem anderen Gerät als Home Assistant läuft.

Bei weiteren Fragen oder Problemen, schaue bitte auch in die FAQ oder erstelle ein Issue im WifiWhirl GitHub Repository.