/
Funksteckdosen.mw
65 lines (44 loc) · 4.53 KB
/
Funksteckdosen.mw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
{{ProjektInfoBox
|name = Funksteckdosen
|status = obsolete
|image = rfm12b-nano.jpg
|description = Funksteckdosen + Steuerung im RZL
|author = [[user:Else|Else]]
|username =
|download = [http://github.com/raumzeitlabor/rzl-pca301 github]
|update =
|platform =
}}
Wir haben im RZL einige Funksteckdosen mit bidirektionalem Rückkanal verbaut, die neben ihres Zustandes auch den aktuellen Stromverbrauch zurückliefern. Die Steckdosen namens [[Media:Pca301.jpg|PCA301]] können gelegentlich bei [http://www.elv.de/funkschaltsteckdose-fuer-energiekostenmonitor-pca-301.html ELV] zum Stückpreis von 20€ erworben werden, wenn sie nicht gerade ausverkauft sind, und werden über RFM12 auf 868 MHz angesprochen. Da das Funkprotokoll bereits von Leuten aus dem FHEM Umfeld reverse-engineered wurde (siehe [http://forum.fhem.de/index.php?topic=11648.0 Faden]) und es bereits einen fertigen [http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/arduino/36_PCA301-pcaSerial.zip Arduino Sketch] gibt, ist der Aufwand der Ansteuerung vergleichsweise gering.
== Hardware ==
Zur Ansteuerung der Steckdosen nutzen wir einen zusammengefrickelten Arduino Nano mit RFM12B Modul (von Pollin). Die Verkabelung ist genau wie beim [http://jeelabs.net/attachments/download/331/jlpcb-128.pdf Jeenode] und total trivial (abgesehen vom Rastermaß beim Funkmodul, siehe Steckbriefbild rechts). Der Arduino liegt im Rack und ist direkt an Mate per USB angeschlossen. Die Reichweite ist mehr als ausreichend (bis in den Nebenraum).
== Software ==
Auf dem Arduino nutzen wir den fertigen Arduino Sketch mit minimalen Änderungen (bzgl. Basisfrequenz). Der Sketch ist in der Lage, Steckdosen anzulernen. Die serielle Schnittstelle des Arduinos wird mittels "serial device passthrough" an die Infra VM durchgereicht. Hierfür nutzen wir eine udev Rule, die auf die Serial des FTDIs matched und ihm auf Mate immer das gleiche Device zuweist.
Auf der Infra VM nutzen wir [http://fhem.de FHEM], einer kleinen Software für Heimautomatisierung. FHEM kann unter http://infra.rzl:8083/fhem innerhalb des RZLs erreicht werden und ist von außen nicht erreichbar. Zusätzlich zu dem Standard-Webinterface kann man auf Port 8084 ein Webinterface für mobile Endgeräte aufrufen. Für Androidnutzer empfiehlt sich die Installation der [http://andfhem.klass.li/ andFHEM] App, die dann entsprechend [[Media:Rzl-fhem-config.png|konfiguriert]] werden muss.
FHEM ist auf der Infra-VM als Debian Paket installiert und von systemd verwaltet (.service File liegt im Repository).
=== Anbindung an [[Hausbus3]] ===
Der Status der Steckdosen wird durch FHEM automatisch auf unseren MQTT Broker gepusht. Das ist momentan noch ein wenig hemdsärmelig über die FHEM Config [https://github.com/raumzeitlabor/rzl-pca301/commit/80526041962bc2179b87c1062270dcb94945a6d1 gelöst], tut aber erstmal seinen Zweck. Der Stromverbrauch der Steckdosen wird alle X Sekunden aktualisiert, der Zustand wird lediglich bei Veränderungen aktualisiert und ist retained. Momentan gibt es keine Möglichkeit, über MQTT Befehle an die Steckdosen zu senden. Hierfür wäre die Entwicklung eines eigenen MQTT Moduls für FHEM sinnvoll (gibts interessanterweise noch nicht).
== Setup ==
Momentan sind sechs Steckdosen an folgenden Plätzen verbaut:
* Hauptraum
** '''drucker''': Drucker direkt neben Tardis, inkl. Tardislampe
** '''pringles''': Mehrfachsteckdose an der Pringles-Bong (u.a. die LEDs an der Decke)
** '''infoscreen''': Infoscreen RPi + Bildschirm + Ladegerät Kassentablet
** '''telekom''': das beleuchtete Telekomlogo
** '''music''': der MPD inkl. Bausteine
** '''blinklampe''': die ursprüngliche Pingiepie-Blinklampe
** '''pinkelampe''': die pinke Neon(?)röhre an der Snackbar
* Olymp
** '''konsolen''': der Hauptstecker für die Konsolen
Vorschläge für weitere Standorte:
* <strike>'''openelec''': der RPi mit OpenELEC auf unserer Beamerplattform</strike> verbraucht eh fast nix
* …
== Automatisierung ==
Wir können in FHEM Schedules definieren. Mit MQTT Modul (wäre zu schreiben) könnte man auch auf beliebige Events reagieren. Es folgt eine Liste von Vorschlägen (bitte erweitern):
* alle Geräte abschalten, wenn Raum zu ist
* wenn Raum offen und Sonne untergegangen, die LEDs an der Decke und Moodlamps einschalten
== Die Zukunft ==
''(danke, hax404)''
* <strike>noch mehr Funksteckdosen!</strike> Es sind fünf weitere Steckdosen auf dem Weg.
* <strike>mehr Automatisierung durch Anbindung der Steckdosen an MQTT</strike> r/o erledigt, r/w tbd
* Stromverbrauch der Geräte in $DB zwecks Statistiken schreiben