====== OpenBeken ====== Online/Offline-Erkennung in Home Assistant Diese Dokumentation beschreibt, wie du OpenBeken-Geräte (z. B. mit MQTT-Topic wie ''openbeken/KL-WL-AS-Waschen/connected'') in Home Assistant (HA) als online oder offline erkennst. Der Ansatz basiert auf Binary Sensors, die den MQTT-Status abfragen. Für Zuverlässigkeit wird ein Heartbeat-Mechanismus in OpenBeken empfohlen, um periodische "online"-Meldungen zu senden. LWT (Last Will and Testament) wird implizit über das ''connected''-Topic gehandhabt, aber ohne explizite UI-Option in Version 1.18.205. ==== Voraussetzungen ==== - MQTT-Broker (z. B. Mosquitto) eingerichtet und mit HA integriert. - OpenBeken-Firmware Version 1.18.205 oder höher auf den Geräten. - Geräte senden "online" bei Verbindung und optional periodisch (via Heartbeat). ==== Schritt 1: MQTT-Integration in Home Assistant einrichten ==== Gehe in HA zu **Einstellungen > Geräte & Dienste > Integration hinzufügen** und suche nach "MQTT". Konfiguriere den Broker (Host, Port, Benutzer, Passwort). Teste mit Entwicklertools > MQTT, ob Topics wie ''openbeken/GERÄT/connected'' empfangen werden. ==== Schritt 2: Binary Sensor pro Gerät in HA konfigurieren ==== Erstelle für jedes Gerät einen Binary Sensor. Verwende YAML in ''configuration.yaml'' oder MQTT-Discovery. **YAML-Beispiel (in configuration.yaml):** mqtt: binary_sensor: - name: "KL-WL-AS-Waschen Connected" state_topic: "openbeken/KL-WL-AS-Waschen/connected" payload_on: "online" payload_off: "offline" device_class: "connectivity" unique_id: "kl_wl_as_waschen_connected" availability_topic: "openbeken/KL-WL-AS-Waschen/connected" # Für LWT und Heartbeat payload_available: "online" payload_not_available: "offline" expire_after: 300 # 5 Minuten ohne Nachricht -> unavailable (offline) - **Erklärung:** - ''state_topic'': Liest Payload "online/offline". - ''availability_topic'': Monitort für Updates; Broker sendet "offline" bei Disconnect (implizites LWT). - ''expire_after'': Fallback, falls keine Nachricht kommt. - Nach Änderung: YAML neu laden oder HA neustarten. **Alternative: MQTT-Discovery (per mosquitto_pub):** mosquitto_pub -r -h BROKER_IP -u BENUTZER -P PASSWORT -t "homeassistant/binary_sensor/kl_wl_as_waschen_connected/config" -m '{ "name": "KL-WL-AS-Waschen Connected", "state_topic": "openbeken/KL-WL-AS-Waschen/connected", "payload_on": "online", "payload_off": "offline", "device_class": "connectivity", "unique_id": "kl_wl_as_waschen_connected", "availability_topic": "openbeken/KL-WL-AS-Waschen/connected", "payload_available": "online", "payload_not_available": "offline", "expire_after": 300, "device": {"identifiers": ["openbeken_kl_wl_as_waschen"], "name": "KL-WL-AS-Waschen"} }' ==== Schritt 3: Heartbeat in OpenBeken für periodische Meldungen einrichten ==== Damit der Status zuverlässig ist, sende "online" regelmäßig (z. B. alle 60 Sekunden). Das ergänzt das implizite LWT. - Öffne die Web-UI des Geräts (IP-Adresse). - Gehe zu **Filesystem** oder **LittleFS**. - Erstelle/bearbeite ''autoexec.bat'' im Editor: addRepeatingEvent 60 -1 publish "openbeken/KL-WL-AS-Waschen/connected" "online" -1 - Speichere und starte das Gerät neu. - Teste: Überwache das Topic mit MQTT Explorer; es sollte periodisch "online" publishen. ==== Schritt 4: Status im Dashboard anzeigen ==== - Erstelle ein Dashboard in HA (Lovelace). - Füge eine **Entities Card** hinzu: type: entities title: OpenBeken Geräte Status entities: - binary_sensor.kl_wl_as_waschen_connected - Der Sensor zeigt "on" (online), "off" (offline) oder "unavailable" (nach Expire oder Disconnect). - Optional: Conditional Card für nur offline-Geräte oder Automation für Alerts. ==== Tipps und Troubleshooting ==== - Teste mit ''mosquitto_pub'' für simulierte Nachrichten. - Bei mehreren Geräten: Wiederhole für jedes (unique_id anpassen). - Logs prüfen: In HA und OpenBeken-UI. - Aktualisiere Firmware, falls Heartbeat-Probleme auftreten. Diese Konfiguration skaliert für mehrere Geräte und integriert sich in dein Offline-Dashboard.