TapHome

Aqara Door and Window Sensor

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

Erfordert externes Gateway

tasmota zigbee2tasmota-gateway — Produktseite

Aqara Door and Window Sensor

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

Der Aqara Door and Window Sensor (MCCGQ11LM) ist ein kompakter, batteriebetriebener Zigbee-Kontaktsensor. Er erkennt, ob eine Tür oder ein Fenster geöffnet oder geschlossen ist, mittels magnetischem Reed-Kontakt. TapHome kommuniziert mit dem Sensor über MQTT durch ein Zigbee2Tasmota-Gateway — der Sensor veröffentlicht seinen Kontaktzustand in der JSON-Nachricht ZbReceived bei jeder Zustandsänderung.

Diese Vorlage erstellt zwei Geräte aus einem einzigen physischen Sensor: einen Türsensor und einen Fenstersensor. Beide lesen dasselbe Contact-Feld aus der Zigbee-Nachricht. Der Benutzer kann so ein Gerät als Türkontakt und das andere als Fensterkontakt in TapHome zuweisen oder nur das verwenden, das der tatsächlichen Installation entspricht. Nicht verwendete Geräte können in den TapHome-Einstellungen ausgeblendet werden.

Konfiguration

Sensor koppeln
  1. Schalten Sie in TapHome den Schalter Permit Join im Zigbee2Tasmota-Gateway-Modul ein
  2. Halten Sie am Sensor die kleine Taste gedrückt, bis die blaue LED zu blinken beginnt, und lassen Sie dann los
  3. Warten Sie, bis sich der Zähler Devices Found erhöht — die Device ID des Sensors (z. B. 0x1234) erscheint in den Serviceattributen des Gateways
  4. Importieren Sie diese Gerätevorlage mit der Device ID aus dem Kopplungsvorgang
Importparameter
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 dem Kopplungsvorgang0x1234

Gerätefunktionen

Tür- und Fensterkontakterkennung

Die Vorlage stellt zwei Reed-Kontakt-Geräte bereit — Türsensor und Fenstersensor — beide als PacketParserReedContact mit Sicherheitsfunktion gemappt. Jedes Gerät parst das Feld Contact aus ZbReceived.{DeviceID} in der MQTT-SENSOR-Nachricht:

  • Contact = true → geschlossen (Tür/Fenster ist zu)
  • Contact = false → geöffnet (Tür/Fenster ist offen)

Der Sensor meldet seinen Kontaktzustand sofort bei jeder Änderung und ermöglicht so Echtzeit-Automatisierungstrigger (z. B. Licht einschalten bei Türöffnung, Warnung bei unerwartetem Fensteröffnen).

Batterieüberwachung

Das Modul verfolgt den Batteriezustand über zwei Serviceattribute:

  • Battery Percentage — geschätzter Ladestand; eine Warnung bei niedrigem Akkustand wird ausgelöst, wenn der Stand unter 30 % fällt
  • Battery Voltage — Rohspannung der CR1632-Zelle in Volt

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

Offline-Erkennung

Die Vorlage überwacht die Geräteverfügbarkeit anhand des Zeitstempels LastSeenEpoch aus der ZbInfo-Abfrage (stündlich):

  • 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-Verbindung verloren hat oder die Batterie vollständig entladen ist.

Diagnostische Serviceattribute

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

AttributBeschreibung
IEEEAddrEindeutiger 64-Bit-Hardware-Identifikator
ModelIdZigbee-Modell-ID (lumi.sensor_magnet.aq2)
ManufacturerVom Gerät gemeldeter Herstellerstring
EndpointsAktive Zigbee-Endpunkte
ConfigZigbee-Gerätekonfiguration
Link QualitySignalstärke skaliert von 0–100 %
Weitere Funktionen

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

Fehlerbehebung

Sensor meldet keinen Kontaktzustand
  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 in der Vorlage mit der Kurzadresse aus dem Kopplungsvorgang übereinstimmt (z. B. 0x1234)
  3. Öffnen und schließen Sie die Tür/das Fenster, um eine Zustandsänderung auszulösen — der Sensor veröffentlicht nur bei Änderungen, nicht kontinuierlich
  4. Verwenden Sie einen MQTT-Client (z. B. MQTT Explorer), um das Topic tele/{GWname}/SENSOR zu abonnieren, und überprüfen Sie, ob der Sensor ZbReceived-Nachrichten mit dem Feld Contact veröffentlicht
Offline-Warnung trotz funktionierendem Sensor
  1. Die Offline-Erkennung basiert auf der ZbInfo-Abfrage (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 verschwindet normalerweise nach der nächsten Kontaktzustandsänderung oder ZbInfo-Abfrage
  3. Wenn die Warnung länger als 24 Stunden bestehen bleibt, überprüfen Sie die Batterie (CR1632) und koppeln Sie das Gerät bei Bedarf erneut
Türsensor und Fenstersensor zeigen denselben Zustand

Dies ist erwartet — beide Geräte lesen das Feld Contact desselben physischen Sensors. Blenden Sie das nicht verwendete Gerät in TapHome aus (SettingsDevices → Gerät auswählen → Hide).

Der Aqara MCCGQ11LM verwendet eine CR1632-Knopfzellenbatterie. Die Batterielebensdauer beträgt bei normaler Nutzung typischerweise über 2 Jahre. Häufige Zustandsänderungen (z. B. stark frequentierte Türen) oder schwaches Zigbee-Signal (das Nachrichtenwiederholungen erfordert) können die Batterielebensdauer 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 Door and Window Sensor Modul
Serviceattribute
IEEEAddrZigbee-IEEE-Adresse — eindeutiger 64-Bit-Hardware-Identifikator des Sensors
ModelId
Hersteller
Endpoints
Config
VerbindungsqualitätZigbee-Signalstärke — 0 % (kein Signal) bis 100 % (optimal)
BatteriespannungSpannung der CR1632-Knopfzelle in Volt
BatteriestandGeschätzter Batteriestand — Warnung bei unter 30 %
Benutzerdefinierte Variablen
GWname (string)Tasmota MQTT Topic-Name des Zigbee-Gateways (unter Configuration → MQTT → Topic)
ID (string)Zigbee-Kurzadresse des Sensors (zugewiesen beim Koppeln)
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 - Door and Window 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 + "%"
Türsensor Reed-Kontakt Nur lesen

Reed-Kontakt zur Erkennung von Türöffnung/-schließung — liest das Contact-Feld aus der Zigbee-Sensornachricht

boolean

Türsensor

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Contact", true);
    if(!ISNULL(val), Rc := val);
end
Fenstersensor Reed-Kontakt Nur lesen

Reed-Kontakt zur Erkennung von Fensteröffnung/-schließung — liest das Contact-Feld aus der Zigbee-Sensornachricht

boolean

Fenstersensor

Listener
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var val := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Contact", true);
    if(!ISNULL(val), Rc := val);
end
Verbindung: Packet Parser → MQTT
Mögliche Verbesserungen (3)
  • Device Temperature — Blakadder lists device temperature measurement as an exposed feature. The Aqara MCCGQ11LM reports internal temperature via Zigbee, but the TapHome template does not parse it.
  • Link Quality (device-level) — LinkQuality is available per SENSOR message but only exposed as a module-level service attribute via ZbInfo polling.
  • Sensor Calibration — Some Zigbee platforms support per-sensor calibration offsets. Not configurable in TapHome template.

Quellen