Nach dem wir euch im letzten Beitrag vorgestellt haben, wie man alltägliche Dinge – z.B. das Ein- und Ausschalten des Lichts mittels Bewegungsmelder von Homematic und LED Birnen von Philips – über den Heimautomatisierungsserver openHAB realisieren kann, geht dieser Artikel auf die Einbindung bestehender Geräte in das Smart Home ein. Konkret handelt es sich hierbei um das Überwachen des aktuellen Zustands verschiedener Elektrogeräte wie Waschmaschine, Trockner, Geschirrspüler, Wasserkocher, usw…
Das direkte Bedürfnis einer solchen Lösung entstand nachts, als sich der Tumbler mittels eines akustischen Signals bemerkbar machte, um uns mitzuteilen, dass die Wäsche trocken ist. Um dieses „störende“ Geräusch zu vermeiden und nur die Person zu benachrichtigen, die den Trockner benutzt, haben wir beschlossen, nach einer passenden Lösung zu suchen. Verschiedene Ansatzmöglichkeiten haben wir dabei in Betracht gezogen und stellen sie euch in folgender Tabelle kurz vor:
Waschmaschine /Trockner | Geschirrspüler | Wasserkocher | |
1: LED an Gerät erkennen | Nicht vorhanden | Leicht möglich an Frontseite | Nicht vorhanden |
2: Akustisches Signal erfassen | Möglich durch Signal am Ende | Nicht vorhanden | Möglich durch Signal am Ende |
3: Gerät öffnen und Signal direkt auf Platine/Summer/LED erfassen | Möglich durch Abgreifen des Summersignals | Möglich durch Abgreifen des Lichtsignals | Möglich durch Abgreifen des Tonsignals |
4: Stromverbrauch erfassen | Möglich da Stromverbrauch am Ende sehr niedrig ist | Möglich da Stromverbrauch am Ende sehr niedrig ist | Möglich, da Stromverbrauch am Ende sehr stark abfällt. |
Jede dieser aufgelisteten Möglichkeiten bringt Vor- und Nachteile mit sich. Um für unsere Bedürfnisse eine möglichst einheitliche Lösung zu finden, die bei allen Geräten verwendet werden kann und welche die Voraussetzungen für die weitere Gültigkeit der Herstellergarantie nicht verletzt, haben wir uns dafür entschieden, dies mittels des Stromverbrauchs zu realisieren.
Als naheliegende Lösung ist uns dabei natürlich die Schaltsteckdose „HomeMatic 130248 Schaltaktor mit Leistungsmessung“ in den Sinn gekommen, da sich diese einfach in unser bestehendes HomeMatic System integrieren liesse. Leider ist diese jedoch aufgrund der Steckerform nicht in der Schweiz erhältlich. Eine Bastellösung mittels Adapter wollten wir aufgrund bestehender Vorschriften ebenfalls vermeiden.
Die Alternative bestand in diesem Fall darin, ein weiteres System einzusetzen, das für den Schweizer Markt bestimmt ist. Die Firma myStrom bietet hierfür über den Swisscomshop ein entsprechendes Starterkit mit diversen Erweiterungsmöglichkeiten an.
Die Servereinheit wird direkt beim Internetrouter platziert und durch ein LAN-Kabel mit diesem verbunden. Alle weiteren Clientgeräte können beim Verbraucher am Netzstecker zwischengeschaltet werden.
Zur Übertragung der Daten zwischen Client- und Servereinheit kommt Powerline zum Einsatz, was bedeutet, dass die Daten über das vorhandene Stromkabel übertragen werden und keine weitere Netzwerkverkabelung erforderlich ist. Der aktuelle Verbrauch sowie eine detaillierte Historie sind nach dem Registrieren auf der myStrom-Webseite ersichtlich. Als angenehmer Nebeneffekt schafft diese Darstellung für den Anwender ein grösseres Bewusstsein für den Energieverbrauch und ermöglicht hierdurch auch Kosteneinsparungen.
Damit wir das ganze System jetzt speziell für unsere Bedürfnisse einsetzen können, ist es notwendig, die von myStrom bereitgestellte API zu verwenden, um im zuvor gezeigten Diagramm den Punkt zu finden, an dem der Waschvorgang beendet ist. Folgende Beispiele sollen vereinfacht zeigen, wie ein solcher Zugriff abläuft:
Bei der myStrom Plattform anmelden und Authentifizierungstoken generieren, um sich später damit zu authentifizieren und entsprechende Daten abzurufen:
Aufruf:
https://mystrom.ch/mobile/device?authToken= BJkgsl7iynf4fBoE-8q95Gldo93mc7g48m&id=0013C1327865
Antwort:
{"status":"ok","authToken":"BJkgsl7iynf4fBoE-8q95Gldo93mc7g48m", "name":"Daniel Geppert","email":"daniel.geppert@swisscom.com", "accountType":"pro","currency":"CHF", "onlineShop":"https:\/\/mystrom.ch\/shop","appUrl":"https:\/\/mystrom.ch", "providerName":"Energie Wasser Bern ewb", "providerLogo":"https:\/\/mystrom.ch\/provider_logo\/logo_109_olJi.jpg", "tariffName":"ewb.BASIS.Kraft.Home"}
Jeder registrierte myStrom-Adapter besitzt eine eindeutige ID mit dieser er im System gefunden werden kann. Ein Beispiel für die Abfrage aktueller Statusdaten mit dem zuvor generierten Authentifizierungstoken würde wie folgt aussehen:
Aufruf:
https://mystrom.ch/mobile/device?authToken= BJkgsl7iynf4fBoE-8q95Gldo93mc7g48m&id=0013C1327865
Antwort:
{"status":"ok","device":{"id":"0013C1327865", "name":"Waschmaschine","type":"eth","state":"on", "masterMac":"0013C1327777","time":"2014-12-17 07:47:30Z", "deviceTypeId":"9BdpBUB7MCoG5555", "deviceTypeName":"Washing machine\/Dryer", "powerColor":"#39b54a","power":1.15,"energyReport": {"power":1.15,"powerColor":"#39b54a","maxPower":2500.0, "daylyConsumption":0.007,"monthlyConsumption":0.834, "daylyCost":"0 Rp.","monthlyCost":"15 Rp."}}}
Um mit diesen Informationen arbeiten zu können, haben wir einen kleinen Prototyp in Java entwickelt, der im Grossen und Ganzen aus folgenden vier Klassen besteht:
- Settings: Liest die Konfigurationsparameter wie Benutzername, Passwort, Geräte IDs, usw. aus einer Datei ein, damit das Programm nicht bei jeder Änderung neu kompiliert werden muss.
- HttpReader: Ruft das oben beschriebene REST Interface von myStrom auf und parst die zurück gelieferten JSON Daten entsprechend.
- Calculator: Verarbeitet den vom HttpReader zurück gelieferten Stromverbrauch, in dem er diesen alle 10 Sekunden erfasst und einen Mittelwert über die letzten 3 Minuten bildet.
- SendMail: Fällt der vom Calculator berechnete Wert unter 4 Watt, wird daraus geschlossen, dass der Waschvorgang beendet ist. Dies bedeutet, dass eine Mail an die hinterlegte E-Mailadresse versendet werden kann, die den Anwender informiert.
Im praktischen Einsatz erschien uns dieser Prototyp bis jetzt recht hilfreich, da man den Summer an den Geräten selbst (soweit vorhanden) nicht mehr benötigt und auch zu später Stunde noch waschen kann, ohne seine Mitbewohner zu stören. Weitere Einsatzmöglichkeiten wären natürlich für Leute denkbar, deren Waschmaschine und Trockner sich im Keller befinden, um unnötiges Treppenlaufen während des Wartens zu ersparen.
Uns hat das myStrom-System bereits jetzt schon mit dem ersten Einsatz an der Waschmaschine und am Tumbler so überzeugt, dass wir als nächsten Schritt geplant haben, das Ganze in openHab zu integrieren und zentral zu steuern. Sollten von eurer Seite noch weitere Vorschläge oder Wünsche bestehen, seid ihr natürlich herzlich dazu eingeladen, uns diese (am besten mittels Kommentarfeld unten) mitzuteilen.