Lichtsteuerung ohne Bussystem, Smarthome mit Raspberry Pi und OpenHAB

In diesem Projekt wird das Licht einer konventionellen Hausverdrahtung mit einer Smarthome-Komponente erweitert. Dabei wird ein Stromstoß-Relais eingesetzt, dass mit Hilfe des Raspberry Pi gesteuert wird. Der restliche Teil der Verdrahtung besteht aus klassischen Wechsel- und Kreuzschalter.
In diesem Projekt wird das Licht einer konventionellen Hausverdrahtung mit einer Smarthome-Komponente erweitert. Dabei wird ein Stromstoß-Relais eingesetzt, dass mit Hilfe des Raspberry Pi gesteuert wird. Der restliche Teil der Verdrahtung besteht aus klassischen Wechsel- und Kreuzschalter.
Problem: Die Schalterstellungen der einzelnen Komponenten können vom Raspberry Pi nicht ermittelt werden. So kann es zu fehlerhaften Interpretationen der Schalterstellungen im Openhab kommen. Deshalb muss detektiert werden, ob das Licht mittels Stromstoß-Relais oder konventionell über die Schalter angeschalten wurde. Nur so kann eine korrekte Anzeige des Switch-Elements in der App erfolgen.
Lösungsansatz: Es wird der Stromfluss durch den Leiter mit Hilfe eines Closed-Loop Stromsensor gemessen und so der aktuelle Zustand der Schaltung ermittelt werden. Je nach Zustand wird das Switch-Element im Openhab geändert. So kann der aktuelle Zustand in der App dargestellt werden.
Schaltungsaufbau: Der Schaltungsaufbau besteht aus einem Stromstoßrelais des Typs Eltako ER12-001, einem Kreuzschalter und einem Wechselschalter. Zur Ermittlung des Stromflusses wird ein Closed-Loop Sensor CYHCS-DS3 eingesetzt.
Updates from the author
stefhan 8 years ago
Unbestückte Leiterplatte (542kb)
Bestückte Leiterplatte (615kb)
SaschaM 6 years ago
stefhan 8 years ago
Die Lichtsteuerung ist fertiggestellt. Das System besteht wie im Blockschaltbild dargestellt aus einem Raspberry Pi und mehreren Port Expandern. Für die Steuerung der PortExpander habe ich einen kleinen Treiber geschrieben. Dieser initalisiert die Port Expander als Inputs oder Outputs (je nach Konfiguration). Der Treiber stellt für jeden GPIO Pin einen Eintrag im Sys Filesystem zu Verfügung. Dieser kann direkt mit "echo" beschrieben oder mit "cat" ausgelesen werden. Sollte der Treiber den Port Expander als Output initialisiert haben legt der Treiber für jeden GPIO Pin einen zusätzlichen State Eintrag an. In diesem Kann definiert werden wie lange der Ausgang High gehalten werden soll bevor er vom Treiber zurückgesetzt wird (0 = unendlich, sonst Zeit in Sekunden) . Nützlich z.B. für Treppenhausbeleuchtung.
Die Integration in Openhab erfolgt mittels Exec Binding. Der Zustand der einzelnen Sensoren kann über den Treiber direkt abgefragt und ins Openhab übertragen werden.
Darstellung der Einträge im Sys Filesystems (110kb)