TapHome

Aqara Water Leak Sensor

Packet Parser → MQTT
Eingereicht von
Zuletzt aktualisiert: 03. 2026

Erfordert externes Gateway

tasmota zigbee2tasmota-gateway — Produktseite

Aqara Water Leak Sensor

Dieses Gerät kommuniziert über Zigbee durch ein Tasmota-Gateway. Stellen Sie sicher, dass Sie das Template Zigbee2Tasmota Gateway importiert und Ihr Gerät gekoppelt haben, bevor Sie fortfahren.

Der Aqara Water Leak Sensor (SJCGQ11LM) ist ein kompakter, IP67-geschützter batteriebetriebener Zigbee-Wasserlecksensor. Er erkennt die Anwesenheit von Wasser, wenn der Wasserstand die 0,5 mm hohen Kontaktflächen an der Unterseite des Geräts erreicht. TapHome kommuniziert mit dem Sensor über MQTT durch ein Zigbee2Tasmota-Gateway — der Sensor veröffentlicht einen ZoneStatusChange-Wert in der JSON-Nachricht ZbReceived, wenn ein Wasserleck erkannt oder beseitigt wird.

Der Sensor wird von einer CR2032-Knopfzellenbatterie betrieben (Lebensdauer ca. 2 Jahre). Das Template überwacht Batteriestand und -spannung über Serviceattribute, warnt bei einem Abfall unter 30 % und erkennt Offline-Zustände des Geräts (Warnung nach 12 Stunden, Fehler nach 24 Stunden).

Konfiguration

Kopplung des Sensors
  1. Aktivieren Sie in TapHome den Permit Join-Schalter im Zigbee2Tasmota Gateway-Modul
  2. Halten Sie am Sensor die Taste gedrückt, bis die blaue LED zu blinken beginnt, und lassen Sie dann los
  3. Warten Sie, bis der Devices Found-Zähler sich erhöht — die Device ID des Sensors (z.B. 0xF121) erscheint in den Serviceattributen des Gateways
  4. Importieren Sie dieses Geräte-Template mit der Device ID aus der Kopplung

Wenn die Kopplung nicht startet, versuchen Sie das Wasser-Logo auf der Unterseite des Sensors ca. 10 Sekunden lang zu halten, bis drei blaue LED-Blinksignale auftreten, und lassen Sie dann los.

Import-Parameter
ParameterBeschreibungBeispiel
MQTT Broker IP AddressIP-Adresse Ihres MQTT-Brokers192.168.1.10
MQTT Broker PortBroker-Port (Standard 1883)1883
Gateway nameTasmota MQTT-Topic (Configuration → MQTT → Topic)tasmota_XXXXX
Device IDZigbee-Kurzadresse aus der Kopplung0xF121

Gerätefunktionen

Wasserleck-Erkennung

Das Template stellt ein einzelnes Flood Sensor-Gerät bereit, das als PacketParserReedContact (Typ 1031) mit der FloodSensor-Capability gemappt ist. Das Gerät parst das Feld ZoneStatusChange aus ZbReceived.{DeviceID} in der MQTT SENSOR-Nachricht:

  • ZoneStatusChange = 1Alarm (Wasser erkannt)
  • ZoneStatusChange = 0OK (trocken)

Der Sensor wacht auf und überträgt seinen Zustand, wenn Wasser die 0,5 mm hohen Kontaktflächen auf der Unterseite des Geräts erreicht, und erneut, wenn das Wasser entfernt wird und die Flächen trocknen.

Anders als Tür-/Fenstersensoren, die das Feld Contact verwenden, nutzt der Wasserlecksensor ZoneStatusChange — ein Zigbee IAS Zone-Statusfeld. Dies ist der Standardmechanismus für Alarm-Sensoren im Zigbee-Protokoll.

Batterieüberwachung

Das Modul verfolgt den Batteriezustand über zwei Serviceattribute:

  • Battery Percentage — geschätzter CR2032-Ladestand; eine Niedrige-Batterie-Warnung wird bei einem Abfall unter 30 % ausgelöst
  • Battery Voltage — Rohspannung der CR2032-Zelle in Volt

Batteriedaten werden aus den Feldern BatteryPercentage und BatteryVoltage in der ZbReceived-Nachricht geparst.

Offline-Erkennung

Das Template überwacht die Geräteverfügbarkeit anhand des LastSeenEpoch-Zeitstempels aus dem ZbInfo-Polling (jede 1 Stunde):

  • Warnung — Gerät wurde seit mehr als 12 Stunden nicht gesehen
  • Fehler — Gerät wurde seit mehr als 24 Stunden nicht gesehen

Dies hilft, Situationen zu erkennen, in denen der Sensor die Zigbee-Konnektivität verloren hat oder die Batterie vollständig entladen ist.

Diagnostische Serviceattribute

Das Modul stellt zusätzliche Zigbee-Metadaten bereit, die über ZbInfo-Polling abgerufen werden:

AttributBeschreibung
IEEEAddrEinzigartiger 64-Bit-Hardware-Identifikator
ModelIdZigbee-Model-ID (lumi.sensor_wleak.aq1)
ManufacturerVom Gerät gemeldeter Herstellerstring
EndpointsAktive Zigbee-Endpunkte
ConfigZigbee-Konfiguration des Geräts
Link QualitySignalstärke skaliert von 0–100 %
Zusätzliche Funktionen

Der Aqara SJCGQ11LM meldet auch die interne Gerätetemperatur über Zigbee. Die Linkqualität (LQI) pro Nachricht ist in jedem SENSOR-Payload verfügbar, wird aber derzeit nur auf Modulebene über stündliches ZbInfo-Polling bereitgestellt. Diese Funktionen können in einem zukünftigen Template-Update hinzugefügt werden.

Fehlerbehebung

Sensor meldet keinen Überflutungszustand
  1. Überprüfen Sie, ob der Sensor mit dem Zigbee2Tasmota-Gateway gekoppelt ist — prüfen Sie ZbStatus in der Tasmota-Konsole
  2. Bestätigen Sie, dass die Device ID im Template mit der Kurzadresse aus der Kopplung übereinstimmt (z.B. 0xF121)
  3. Legen Sie den Sensor auf eine nasse Oberfläche, um eine Zustandsänderung auszulösen — das Gerät sollte innerhalb von Sekunden einen ZoneStatusChange-Wert veröffentlichen
  4. Verwenden Sie einen MQTT-Client (z.B. MQTT Explorer), um tele/{GWname}/SENSOR zu abonnieren und zu überprüfen, ob der Sensor ZbReceived-Nachrichten mit einem ZoneStatusChange-Feld veröffentlicht
Offline-Warnung trotz funktionierendem Sensor
  1. Die Offline-Erkennung basiert auf ZbInfo-Polling (stündlich). Wenn der Sensor innerhalb von 12 Stunden keine Nachricht gesendet hat, erscheint eine Warnung
  2. Batteriebetriebene Zigbee-Geräte schlafen zwischen Ereignissen — dies ist normales Verhalten. Die Warnung wird typischerweise nach dem nächsten Leck-Ereignis oder ZbInfo-Poll aufgehoben
  3. Wenn die Warnung länger als 24 Stunden bestehen bleibt, prüfen Sie die Batterie (CR2032) und koppeln Sie das Gerät bei Bedarf erneut
Fehlalarme oder keine Erkennung
  1. Stellen Sie sicher, dass die Kontaktflächen an der Unterseite des Sensors sauber und nicht durch Schmutz oder Rückstände verdeckt sind
  2. Der Sensor benötigt mindestens 0,5 mm Wasser zur Auslösung der Erkennung — kleine Tropfen oder Kondenswasser reichen möglicherweise nicht aus
  3. Die IP67-Schutzart bedeutet, dass das Sensorgehäuse wasserdicht ist, aber die Erkennungsflächen müssen in direktem Kontakt mit der Wasseroberfläche stehen

Der Aqara SJCGQ11LM verwendet eine CR2032-Knopfzellenbatterie. Die Batterielebensdauer beträgt typischerweise 2+ Jahre bei normaler Nutzung. Die Platzierung in dauerhaft feuchten Umgebungen (z.B. unter einem Boiler oder in der Nähe eines Waschmaschinenablaufs) kann die Batterielebensdauer durch häufigeres Aufwachen verkürzen.

Installation in TapHome

Voraussetzungen

  • Zigbee-Gateway mit Tasmota-Firmware (z. B. Sonoff ZBBridge, eWeLink ZB-GW03)
  • MQTT-Broker in Ihrem lokalen Netzwerk (integrierter TapHome-Broker oder externer)
  • TapHome CCU im selben Netzwerk

TapHome hat einen integrierten MQTT-Broker — aktivieren Sie ihn unter EinstellungenHardwareMQTT Broker. Keine zusätzliche Software erforderlich.

Schritt 1 — Tasmota Zigbee-Gateway einrichten

  1. Flashen Sie die Tasmota-Firmware auf einen unterstützten Zigbee-Koordinator (z. B. Sonoff ZBBridge, eWeLink ZB-GW03)
  2. Verbinden Sie das Gateway über die Tasmota-Weboberfläche mit Ihrem Wi-Fi-Netzwerk
  3. Navigieren Sie zu ConfigurationConfigure MQTT und konfigurieren Sie:
    • Host: IP-Adresse Ihres MQTT-Brokers (z. B. 192.168.1.10)
    • Port: 1883
    • Topic: notieren Sie den Topic-Namen (z. B. tasmota_XXXXX) — Sie benötigen ihn beim Vorlagenimport

Ausführliche Anleitungen finden Sie in der Tasmota Zigbee-Dokumentation.

Schritt 2 — Gateway-Vorlage in TapHome importieren

  1. Laden Sie die Gateway-Vorlage von der Kompatibilitätsseite Zigbee2Tasmota Gateway herunter
  2. In TapHome gehen Sie zu EinstellungenHardwarePacket ParserImport
  3. Importieren Sie die Vorlage mit diesen Parametern:
    • MQTT Broker IP Address: IP-Adresse Ihres Brokers (z. B. 192.168.1.10)
    • MQTT Broker Port: 1883
    • Gateway name: Tasmota-MQTT-Topic aus Schritt 1 (z. B. tasmota_XXXXX)

Nach dem Import sehen Sie zwei Geräte: Permit Join (Schalter) und Devices Found (Zähler).

Schritt 3 — Zigbee-Gerät koppeln

  1. In TapHome schalten Sie den Permit Join-Schalter ein — es öffnet sich ein 60-Sekunden-Kopplungsfenster
  2. Starten Sie am Zigbee-Gerät den Kopplungsvorgang (typischerweise Reset-Taste 5 Sekunden gedrückt halten, bis die LED blinkt)
  3. Beobachten Sie den Devices Found-Zähler — er erhöht sich, wenn ein neues Gerät beitritt
  4. Überprüfen Sie die Service Attributes des Gateways, um die ID des neuen Geräts (z. B. 0x1234), den Hersteller und das Modell zu sehen
  5. Der Kopplungsmodus wird nach Ablauf des Zeitlimits automatisch deaktiviert

Schritt 4 — Geräte-Vorlage importieren

  1. Laden Sie die gerätespezifische Vorlage von der entsprechenden Kompatibilitätsseite herunter
  2. Importieren Sie die Vorlage mit diesen Parametern:
    • MQTT Broker IP Address: dieselbe wie für das Gateway
    • MQTT Broker Port: 1883
    • Gateway name: derselbe Tasmota-MQTT-Topic wie oben
    • Device ID: die Kurzadresse aus der Kopplung (z. B. 0x1234)

Verfügbare Geräte

Aqara Water Leak Sensor Modul
Serviceattribute
IEEEAddrZigbee IEEE-Adresse — einzigartiger 64-Bit-Hardware-Identifikator des Sensors
ModelIdVom Gerät gemeldeter Zigbee-Modellbezeichner (lumi.sensor_wleak.aq1)
ManufacturerVom Gerät über Zigbee gemeldeter Herstellerstring
EndpointsAktive Zigbee-Endpunkte auf dem Gerät
ConfigZigbee-Konfigurationsstring des Geräts
Link QualityZigbee-Signalstärke — 0 % (kein Signal) bis 100 % (optimal)
Battery VoltageCR2032-Knopfzellenspannung in Volt
Battery PercentageGeschätzter Batteriestand — Warnung bei Abfall unter 30 %
Benutzerdefinierte Variablen
GWname (string)Tasmota MQTT-Topicname des Zigbee-Gateways (zu finden unter Configuration → MQTT → Topic)
ID (string) = 0xF121Zigbee-Kurzadresse des Aqara Wasserlecksensors (zugewiesen bei der Kopplung)
After pairing the sensor via Permit Join, find the device short address in the gateway's Devices Found service attribute or via Tasmota console command ZbStatus

Aqara - Water Leak Sensor

Lesen (Modul)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var bat := PARSEJSON(ZbReceived, "BatteryPercentage", true);
    if(!ISNULL(bat), BatteryPercentage := bat);
    var volt := PARSEJSON(ZbReceived, "BatteryVoltage", true);
    if(!ISNULL(volt), BatteryVoltage := volt);
    
    var deviceInfo := PARSEJSON(RECEIVEDMSG.Payload, "ZbInfo." + ID, true);
    if !ISNULL(deviceInfo)
    	LastSeenEpoch := PARSEJSON(deviceInfo, "LastSeenEpoch");
        COMPLETESERVICEATTRIBUTE("IEEEAddr", PARSEJSON(deviceInfo, "IEEEAddr"));
        COMPLETESERVICEATTRIBUTE("ModelId", PARSEJSON(deviceInfo, "ModelId"));
        COMPLETESERVICEATTRIBUTE("Manufacturer", PARSEJSON(deviceInfo, "Manufacturer"));
        COMPLETESERVICEATTRIBUTE("Endpoints", PARSEJSON(deviceInfo, "Endpoints"));
        #COMPLETESERVICEATTRIBUTE("Config", PARSEJSON(deviceInfo, "Config"));
        COMPLETESERVICEATTRIBUTE("Link Quality", ROUND(LINEAR(PARSEJSON(deviceInfo, "LinkQuality"), 0,0, 254, 100)) + "%");
    end
end

if BatteryPercentage < 30
	ADDWARNING("Low battery (<30%)");
end

if !ISNAN(LastSeenEpoch)
	DATETIME now := NOW();
	var secondsSeen := now.UNIXTIME - LastSeenEpoch;
	if secondsSeen > 12 * 60 * 60
		if secondsSeen > 24 * 60 * 60
			ADDERROR("Device is offline > 24H");
		else
			ADDWARNING("Device is offline > 12H");        
		end
	end
end
Serviceattribute
IEEEAddr
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Config
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
BatteryPercentage + "%"
Überflutungssensor Reed-Kontakt Nur lesen

Wasserleck-Erkennung über Zigbee IAS Zone — liest das Feld ZoneStatusChange aus der Zigbee-Sensornachricht. IP67-Schutzart, 0,5 mm Erkennungsschwelle.

boolean

Überflutungssensor

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".ZoneStatusChange", true);
    if(!ISNULL(val), Rc := val);
end
Verbindung: Packet Parser → MQTT
Mögliche Verbesserungen (2)
  • Device Temperature — Blakadder lists device temperature reporting as a supported feature of SJCGQ11LM. The TapHome template does not parse this field.
  • Link Quality (device-level) — LinkQuality is available per SENSOR message but only exposed as a module-level service attribute via ZbInfo polling.

Quellen