WifiWhirl-Modul in Home Assistant integrieren (via MQTT)
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:
-
Laufende Home Assistant Instanz:
- Du benötigst eine funktionierende Home Assistant Installation.
-
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.
- Ein MQTT Broker ist die zentrale Nachrichtenvermittlungsstelle. Der empfohlene Weg ist die Installation des "Mosquitto broker" Add-ons in Home Assistant.
-
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
homeassistantentspricht, damit Home Assistant die Entitäten deines WifiWhirl-Moduls automatisch erkennen kann. Dies ist im Normalfall die Standardeinstellung.
- Nachdem der Broker läuft, muss die MQTT-Integration in Home Assistant konfiguriert werden, damit sie mit dem Broker kommuniziert.
-
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).
-
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:
- 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".
- Karte hinzufügen: Klicke unten rechts auf "+ KARTE HINZUFÜGEN".
- Manuell: Scrolle in der Auswahl ganz nach unten und wähle "Manuell".
- YAML einfügen: Lösche den vorhandenen Beispiel-Code und füge die untenstehende YAML-Konfiguration ein.
- 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.
- Die in der Vorlage verwendeten Entitäts-IDs (z.B.
- 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:
- Mushroom Cards: Für
custom:mushroom-entity-cardundcustom:mushroom-template-card. - mini-graph-card: Für
custom:mini-graph-card.
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.