Mit dem smarten Xiaomi Aqara body motion Sensor, dem Bewegungsmelder, lassen sich auf einfach Art und Weise das Licht oder weitere Komponenten im Smarthome einschalten.

Hierzu muss der Sensor entweder direkt über ein Xiaomi Gateway/Hub (auch bei Amazon im Set verfügbar) oder über ein geflashten CC2531 in ioBroker eingebunden werden. Der Vorteil an einem Xiaomi Aqara body motion Sensor gegenüber z.B. den Tradfri Bewegungsmelder ist, dass er auch die Helligkeit im Raum erfasst und in den ioBroker-Objekten abgefragt werden können. So können wir vermeiden, dass das Licht bei ausreichender Helligkeit durch Bewegung eingeschaltet wird.


Die Aqara und Mija Sensoren können mittlerweile auch über Amazon bezogen werden


ioBroker Objekte für Xiaomi Smart body motion sensor

ioBroker Objekte für Xiaomi Smart body motion sensor

Die Logik des Scripts: Wir prüfen das Objekt is motion auf Veränderungen, ist der Wert auf TRUE geändert worden prüfen wir im nächsten Schritt die Helligkeit über das Objekt Brightness. Liegt diese in unserem Fall unter dem Wert 90, dann lassen wir einen 3-Minuten-timer laufen und schalten das Licht ein. Das Licht wird nach Ablauf des timers automatisch wieder ausgeschaltet, wird in der Zwischenzeit eine neue Bewegung erfasst, wird der aktive Timer gelöscht und ein neuer 3-Minuten-timer gestartet.

Update August 2020: Der Bewegungsmelder lässt sich mit einem kleinen Eingriff anpassen, damit Bewegungen alle 5 Sekunden gemeldet werden.

Leider löst der Xiaomi Aqara body motion Sensor nur 1x pro Minute bei Bewegungen aus, d.h. ein timeout geringer als 60 Sekunden ist nur mit einem kleinen Eingriff in den Bewegungsmelder möglich. Wir müssen lediglich zwei Lötpunkte mit einer Litze oder einem Stück Kabel verbinden, eine genaue Beschreibung haben wir hier erstellt.

Das Blockly Script für ioBroker:

Blockly für Lichtsteuerung mit Xiaomi Bewegungsmelder

Blockly für Lichtsteuerung mit Xiaomi Bewegungsmelder

Das Javascript für ioBroker:

var timeout;


on({id: 'mihome.0.devices.sensor_motion_aq2_158d000275c942.state', change: "any"}, function (obj) {
  var value = obj.state.val;
  var oldValue = obj.oldState.val;
  if (true == getState("mihome.0.devices.sensor_motion_aq2_158d000275c942.state").val && getState("mihome.0.devices.sensor_motion_aq2_158d000275c942.lux").val < 90) {
    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
    setState("tradfri.0.G-131084.state"/*on/off*/, true);
    setState("tradfri.0.G-131084.brightness"/*Brightness*/, 50);
    timeout = setTimeout(function () {
      setState("tradfri.0.G-131084.state"/*on/off*/, false);
    }, 180000);
  } else {
  }
});