SmartSwitch

3 Platinen mir wilden Kabelgewirr

đŸš« WARNUNG

Das hier vorgestellte Projekte beinhaltet Arbeiten an 230V Wechselspannung. Diese sollten nur von einer elektrischen Fachkraft durchgefĂŒhrt werden. Die 5 Sicherheitsregeln mĂŒssen jederzeit beachtet werden!

🎯 Motivation

Heutzutage muss ja alles “smart” sein und sich irgendwie in die Heimautomatisierung integrieren lassen. Um eine schnelle Lösung zu haben hatte ich vor einigen Jahren einfache IR-Bewegungsmelder gekauft, damit hatte ich eine autarke Insellösung. Jetzt war es an der Zeit diese mit einem zusĂ€tzlichen Wifi-Mikrocontroller auszustatten, sodass dann eine Integration in mein neues HomeAssistent möglich ist.

⚒ Demontage & Analyse

Im Vorfeld des Projektes wusste ich nicht ob eine Umsetzung mit den bereits vorhandenen Bewegungsmelder möglich sein wird, dies hat sich erst durch einiges experimentieren bestĂ€tigt. GrundsĂ€tzlich lĂ€sst sich alles folgende sicherlich auch mit anderen Bewegungsmeldern realisieren, wer das wirklich nachbauen will empfehle ich “conecto Infrarot Wand-Bewegungsmelder IP20” da ich hier gute Erfahrungen habe.

Als Erstes wurde der Bewegungsmelder komplett zerlegt sodas an den beiden darin befindlichen Platinen gemessen werden konnte.

zwei demontierte Leiterplatten
zwei Leiterplatten mit ihren Verbindungen zueinander

Die im GehĂ€use unten befindliche Platine ist der Wechselspannungsteil, diese sollte niemals unter Spannungs angefasst werden! Schnell lĂ€sst sich erkennen dass das 12V Relais von einem Transistor geschalten wird. Ein weiterer Spannungsregler erzeugt 3.3Volt fĂŒr die weitere interne Beschaltung. Über das graue, abgeschnitte Flachbandkabel sind die beiden Platinen miteinander verbunden. Der linke Pin im Kabel ist Masse, ganz rechts außen befindet sich die Versorgungsspannung. Der vorletzte Pin rechts hat sich nach einigen messen als das relevante Signal herausgestellt um das Relais zu schalten, wofĂŒr die anderen Leitungen sind habe ich nie rausgefunden. Auf der rechten Platine sind mittig der Infrarotsensor sowie eine Infrarotdiode. Mit den beiden Potis lĂ€st sich die SensitivitĂ€t einstellen bei welcher BeleuchtungsstĂ€rke eine Bewegung erkannt wird sowie die Dauer wie lange der Kontakt angeschalten bleibt. Leider konnte ich nicht mit Sicherheit rausfinden was der IC rechts unten genau ist. Meine Vermutung jedoch ist das es sich um ein Derivat eines NE556 handelt und es damit, zusammen mit den Potis und Kondensatoren, zwei monostabile Kippstufen sind.

provisorischer Aufbau mit allen Komponenten
provisorischer Aufbau mit allen Komponenten

Hier sieht man wie das Flachbandkabel gegen eine provisorische Verdrahtung ausgetauscht wurde. Die beiden blauen Kabelenden im linken Bild sind das Schaltsignal was ich hier hĂ€ndisch betĂ€tigen konnte. Da die Platine intern 3.3Volt verwendet versuchte ich lange Zeit den ESP8266 mit dieser Betriebsspannung zu versorgen - leider erfolglos. Ich vermute das durch die zusĂ€tzliche Stromaufnahme die Spannungsquelle an ihr Limit kommt und zusammen bricht. Damit war klar das ein zusĂ€tzlicher kleiner Spannungswandler mit angeschlossen werden muss. Dieser versorgt sich aus der 12V Leitung. Damit der ESP8266 von seinem Flash bootet mĂŒssen die beiden Pins GPIO00 und GPIO02 (wĂ€hrend des Bootvorgang) logisch high sein. Dies gilt es zu beachten wenn man ein vorhandenes Signal verbinden will, schließlich wĂ€re es Ă€rgerlich wenn der Kontroller nicht mehr bootet nachdem man alles eingebaut hat.

Somit waren alle relevanten Informationen zusammengetragen und Zeit sich um die Software zu kĂŒmmern.

đŸ‘šâ€đŸ’» Software & Controller

Um möglich wenig Software selbst schreiben zu mĂŒssen griff ich auf das bestehende espHome zurĂŒck. Damit lĂ€sst sich innerhalb kĂŒrzester Zeit die notwendigen Softwarekomponenten zusammenkonfigureren. Aufgrund des geringen verfĂŒgbaren Raums im GehĂ€use ist fĂŒr mir nur ein ESP01 Modul infrage gekommen. Daraus ergab sich eine Konfigurationsdatei wie folgt:

esphome:
  name: esp
  friendly_name: motion
  name_add_mac_suffix: true

esp8266:
  board: esp01_1m

ota:
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap: {}
captive_portal:

web_server:
  port: 80
  
mqtt:
  broker: !secret mqtt_broker
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
  
logger: 
  level: DEBUG
  baud_rate: 0

#dallas:
#  - pin: GPIO0

#sensor:
#  - platform: dallas
#    index: 0
#    name: temperature
#  - platform: adc
#    pin: VCC
#    name: voltage

binary_sensor:
  - platform: gpio
    id: input
    name: presence
    device_class: motion
    pin:
      number: GPIO2
      inverted: false
      mode:
        input: true
        pullup: true
  
switch:
  - platform: gpio
    id: status
    name: led
    pin: 
      number: GPIO1
      inverted: true
  - platform: gpio
    id: output
    name: relay
    pin:
      number: GPIO3

Zugangsdaten zum WLAN sowie MQTT Broker mĂŒssen in einer seperaten secrets.yml gesetzt werden. Auskommentiert ist eine zusĂ€tzliche Option einen Temperatursensor anzuschließen, dies sollte zwar funktionieren, habe ich jedoch nie versucht. Die Konfiguration lĂ€sst sich mit esphome run config.yml ĂŒber eine serielle Schnittstelle auf den ESP flashen. Jeder weitere Programmiervorgang kann spĂ€ter auch ĂŒber das WIFI erfolgen. Da ich drei der Sensoren umgebaut habe wurden gleich alle ESP geflashen und mit ihren IPs beschriftet. Das sich alle mit dem GerĂ€tenamen “motion-{id}” melden lassen sich diese sonst spĂ€ter nur schwer unterscheiden.

⚒ Neumontage

Jetzt ging es daran wieder alles zusammen zu bauen. Dabei waren noch ein paar kleine Modifikationen vorzunehmen:

Sensorplatine

Auf dieser Platine musste der Schiebeschalter ausgelötet werden. Einerseits braucht es diesen nicht mehr da der ESP kĂŒnftig genau dessen Funktion ĂŒbernehmen wird, zum anderen ist er schlicht im Weg. Die beiden mittleren Pins wurden mit einem Lötklecks verbunden.

ESP Modul von hinten
ESP Modul von vorne

Am ESP wurden zwei Kabel angelötet und etwas Schrumpfschlauch vorgesehen. Der Widerstand ist ein 220k Pull-Down zwischen GPIO2 und GND, ein 0603 SMD Widerstand sollte sich alternativ auf der Vorderseite gut zwischen die Pins löten lassen. Die Pins VCC, /RESET und CH_PD wurden ebenfalls vorne miteinander verbunden.

DCDC Wandler von vorne
DCDC Wandler von hinten

Der Spannungswandler wir mit je einem roten Kabel fĂŒr Ein- und Ausgangsspannung, sowie zwei schwarzen Kabeln, vorbereitet. Auf der RĂŒckseite lĂ€sst sich ĂŒber eine Lötstelle die gewĂŒnschte Ausgangsspannung einstellen. Auf dem Bild ist noch die Option einer einstellbaren Spannung selektiert, besser ist es eine Lötverbindung bei 3.3V zu machen und den Kontakt bei ADJ zu unterbrechen.

Frontdeckel mit markiertem Ausschnitt
Frontdeckel mit ESP im vergrĂ¶ĂŸertem Ausschnitt
Frontdeckel mit eingefĂŒgtem DCDC-Wandler

Um genĂŒgend Platz fĂŒr den ESP zu haben musste die Öffnung, wo bislang der Schiebeschalter drin war, etwas erweitert werden. Ebenfalls ist auf dem Bild zu sehen das, neben den beiden Drehschaltern, ein zusĂ€tzliches Loch gebohrt wurde. Hier kommt der Spannungswandler durch.

Frontdeckel von innen mit eingefĂŒgten ESP Modul und Verkabellung
Frontdeckel mit DCDC-Wandler und ESP Modul
Frontdeckel mit ESP Modul, DCDC Wandler, sowie beide original PCBs

Nun konnten die Komponenten StĂŒck fĂŒr StĂŒck zusammen gesetzt werden. Angefangen mit dem ESP selbst, diesen in seine Öffnung reinschieben und dabei darauf achten das alle Kabel um die beiden Öffnungen fĂŒr Infrarotsensor und -diode frei bleiben. HierfĂŒr muste man die Pins ein klein wenig biegen. Den Spannungsregler ebenfalls einfĂ€deln und die Versorgungspins am ESP anschließen. Die Eingangsspannung des Reglers wurde an einem 12V Punkt von der Wechselspannungsplatine abgenommen.

Verschraubt Frontplatine und eingefĂŒgte hintere Platine
geschlossener Front mir herausragenden ESP Modul und DCDC Wandler
Position beim Schließen der Reflektorfront

Anschließend kann die Frontplatine wider auf das FrontgehĂ€useteil geschraubt werden. Dabei ist darauf zu achten das kein Kabel eingequetscht wird. Ebenso kann es sein dass die Achsen der Potis verdreht sind. Bevor das Frontteil wieder mit dem Unterteil zusammengefĂŒgt wurde unbedingt darauf achten dass der durchsichtige Kunststoffisolator wieder an seinem Platz ist! ESP und Spannungsregler kommen dann in den Freiraum des Ă€ußersten GehĂ€useteils.

geschlossene Frontansicht
geschlossene Frontansicht mit roter LED
geschlossene Frontansicht mit blauer LED

Der Deckel passt drauf, alles ist wieder verbaut! Im ausgeschaltenen Zustand ist von der Modifikation nichts zu sehen. Wenn der Schalter regulÀr in der Wand verbaut ist wird die rote LED dauerhaft leuchten da es eine einfache Power-on LED auf dem ESP01 Modul ist.

Screenshot der WeboberflÀche von espHome

Über das Webinterface des ESP Modules lĂ€sst sich dieses einfach bedienen. Mit dem Schiebeschalter “led” geht die blaue LED an/aus. Dies ist nĂŒtzliche wenn man auf der Suche nach dem richtigem GerĂ€t im Haus ist. Genauso könnte man natĂŒrlich auch einfach mit dem Schalter “relay” das Licht ein/aus schalten. Eine Integration ins HomeAssistent erfolgt per MQTT hierfĂŒr wurden Topics angelegt:

home/raum1/motion-{id}/presence   # Sensor status
home/raum1/motion-{id}/led ON     # blaue Status LED
home/raum1/motion-{id}/relay OFF  # schaltet den Ausgang aus