günstiger bewegungsmelder, selbstgemacht

felix schwenzel, , in artikel    

bewegungsmelder sind nach der kühlschrankbeleuchtung eine der besten erfindungen der welt. bewegungsmelder wirken auf mich nach wie vor wie magie. ich gehe irgendwo hin und das licht geht automatisch an. wie toll ist das denn bitte? manchmal wird die magie ein bisschen gestört durch laute knackgeräusche von relais. deshalb wirkt der bewegungsmelder den ich mir zusammengestöpselt habe und im wohnzimmer unter die schreibtischplatte gelegt habe besonders beeindruckend auf mich: er schaltet nachts bei bewegung, also wenn ich ins bett gehe oder aufs klo, eine unserer hue-lampen ein — das geht lautlos und stufenlos hochdimmend.

am wochenende habe ich mir einen zweiten bewegungsmelder zusammengebaut, für die küche. in der küche habe ich, zum entsetzen der beifahrerin, einen der lichtschalter deaktiviert und das licht über eine funksteckdose steuerbar gemacht. statt eines praktischen schalters, hat das licht jetzt einen knopf auf einer fernbedienung mit 7 buttons. die beifahrerin hat das, völlig zu recht, als einen enormen rückschritt gebrandmarkt: „das ist keine verbesserung!“

in kombination mit einem bewegungsmelder aber doch. nur am sonntagmorgen, nachdem ich den lichtschalter entfernt hatte, war der bewegungsmelder noch nicht fertig. den habe ich dann nach dem mittagessen in 20 minuten zusammengebaut. für die kalibrierung und feineinstellungen habe ich dann sechs stunden gebraucht.

im folgenden beschreibe ich kurz, wie ich den vernetzten bewegungsmelder gebaut habe. die einzelteile für den bewegungsmelder kosten weniger 10 euro, was ein ziemlicher unterschied zu den vernetzten bewegungsmeldern die man sonst so kaufen kann (hue: 40 euro, eve: 40 euro, fibaro: 50 euro, devolo: 60 euro). nachteil meiner selbstbaulösung: sie ist nicht batteriebetrieben, sondern braucht ein kabel.

die einzelteile die ich benutzt habe (und zum grössten teil bei amazon bestellt habe, direkt aus china bekommt man die teile sicher um ein vielfaches billiger):

der PIR-sensor will 5 volt haben, also habe ich ihn an den VIN-Pin des node-mcu angeschlossen, den datenpin des sensors an den node-mcu pin 12. im prinzip wars das schon.

esp8266 und PIR sensor in einer verteilerdose

in den deckel der verteilerdose habe ich ein loch für den PIR sensor gebohrt und auf die vorderseite für den linsenkopf vier löcher gestochen, damit ich ihn einfach von aussen aufstecken kann.

plastik-linsenoptik des PIR-sensors auf dem verteilerdosendeckel

soweit, so einfach. für die software habe ich mir ein paar zeilen von überall her zusammengestückelt. die software verbindet den node-mcu zuerst mit unserem wlan, dann mit unserem mqtt-server. danach sendet der node-mcu bei bewegung die nachricht „ON“ und nach ein paar sekunden wieder ein „OFF“. das auslesen der sensordaten habe ich zuerst mit einer selbstgeschriebenen schleife abgefragt, irgendwie wollte das aber am sonntag nicht klappen, so dass ich mir von hier eine elegantere lösung kopiert habe und mit meinem code kombiniert habe. den code habe ich auf github geladen.

die einstellung der zwei potenziometer des PIR-sensors ist ziemlich fummelig. den für die auslösedauer habe ich ganz nach links gedreht, was in etwa bedeutet, dass der sensor alle 5 sekunden bewegung melden kann. das potenziometer für die empfindlichkeit (oder reichweite) habe ich nicht ganz nach links gedreht, sondern (in etwa) auf 10 vor. das fiese an diesen PIR-sensoren ist deren enorme empfindlichkeit — und dass ich deren funktionsprinzip nicht ganz verstehe. der sensor löst auch aus, wenn man ihn mit schwarzem klebeband abklebt oder in eine dunkle kiste steckt. was ich dann aber nach ein paar stunden rumprobieren verstanden habe: wenn man den sensor mit seiner kappe abdeckt, ein wenig zeit zur selbstkalibrierung lässt und ihm freie sicht auf die welt gewährt, verschwinden die falschen positiv-meldungen nach einer weile.

jetzt hängt der bewegungsmelder über der tür und meldet bewegung zuverlässig per mqtt ins interne netzwerk, sobald jemad die küche betritt.

plastik linsenoptik des PIR-sensors auf dem verteilerdosendeckel

das ist (noch) nicht besonders schön, funktioniert aber zuverlässig. das nächste projekt, was mir natürlich erst eingefallen ist, als das ding so, halb festgenagelt an der wand hing: der bewegungssensor kann auch in die (ikea) uhr darüber wandern. hinter dem ziffernblatt ist ausreichend luft um die elektronik und kabel unterzubringen und der PIR-sensor könnte über ein loch im ziffenblatt nach draussen gucken. nur auf den linsen-dom müsste ich verzichten. eben habe ich das nochmal ausprobiert und die glasscheibe mit zwei lagen tesa-film simuliert; der sensor ist dann immer noch sehr empfindlich und büsst ein bisschen seiner vorher beinahe 180° umfassenden blickwinkels ein — funktioniert aber.

die meldungen des bewegungssensors fängt meine home-assistant-installation ein und reagiert mit dieser einer einfachen automation auf bewegung:


automation:
  alias: "Küchenlicht nach Bewegung anschalten"
  trigger:
     - platform: mqtt
       topic: sensor/motion/3
       payload: 'ON'
  action:
     - service: switch.turn_on
       entity_id: switch.u1
     - service: homeassistant.turn_off
       entity_id: script.kueche_licht_set_timeout
     - service: homeassistant.turn_on
       entity_id: script.kueche_licht_set_timeout
     - service: homeassistant.turn_on
       entity_id: input_boolean.occupied_kueche
script 1:
name: kueche_licht_set_timeout
alias: "Timeout für Küche Licht setzen"
  sequence:
  # Cancel ev. old timers
  - service: script.turn_off
    data:
      entity_id: script.kueche_licht_timeout
  # Set new timer
  - service: script.turn_on
    data:
      entity_id: script.kueche_licht_timeout
script 2:
name: kueche_licht_timeout
  alias: "Küche Licht nach 30 Minuten Inaktivität ausschalten"
  sequence:
  - delay:
    minutes: 10
  - service: switch.turn_off
    data:
    entity_id: switch.u1

wenn der sensor 10 minuten keine bewegung registriert, schaltet er das licht aus, ansonsten, bei jeder bewegung und beim betreten der küche, geht das licht über der arbeitsplatte an. das funktioniert auch bei längeren aufenthalten in der küche. auch falsche positivmeldungen wegen luftbewegungen, konnte ich letzte nacht nicht beobachten, allerdings einige falsche positivmeldungen, weil das ding von der wand gefallen war, weil ich es nur mit klebeband befestigt hatte.

das küchendeckenlicht schalte ich damit noch nicht aus (obwohl ich es könnte, dank dieses apparats), das mache ich dann an einem der nächsten wochenenden.

* * *

[nachtrag 05.03.2017]
statt eines selbstgeschriebenen sketches für die kommunikation mit dem sensor und dem mqtt-server, nutze ich seit dem februar die espeasy-firmware. sobald die einmal auf dem esp8266 ist, lassen sich bewegungssensoren als schalter (switches) konfigurieren und per mqtt auslesen. das macht die ganze sache um ein vielfacher pflegeleichter und auch ein bisschen stabiler. ansatzweise habe ich das hier kurz beschrieben.