Mittwoch, 27. Februar 2019

Alte Projekte: 4x4 LED-Cube

Hallo zusammen,

während ich natürlich weiterhin an superinnovativen Projekten arbeite, habe ich es heute wieder einmal geschafft, die Projektseite für ein abgeschlossenes Projekt fertigzustellen. Es handelt sich dabei um meine 4x4 LED-Cubes, welche ich 2015 als Weihnachtsgeschenke gebaut habe.


Die gesamte Beschreibung des Würfel kann jetzt auf der dazugehörigen Projektseite gelesen werden.

Sonntag, 3. Februar 2019

Shelly 1 & 2

Hallo zusammen,

heute möchte ich euch zwei neue Geräte vorstellen, welche ich bereits im Dezember erhalten habe. Es handelt sich dabei um die Modelle Shelly 1 "open source", sowie Shelly 2. Beide Geräte gehören zur Marke Shelly, welche die IoT-Sparte der bulgarischen Firma "Allterco Robotics" darstellt. Die Geräte sind kompakte WLAN-Schalter auf Basis des ESP8266, welche in vorhandene Wandschalter integriert werden können. Dadurch können vorhandene (Beleuchtungs-) Systeme in das eigene WLAN-IoT-Netz integriert werden. Im Gegensatz zu Geräten wie dem Sonoff T1 , welche als Ersatz für den kompletten Schalter konzipiert sind, können die Shellys hinter bestehende Schalter eingebaut werden.

Die Preise der Geräte betragen 10€ für den Shelly 1 und 20€ für den Shelly 2. Dies ist zwar nicht so günstig wie die Sonoff-Geräte, es muss jedoch bedacht werden, dass die Geräte nicht aus China kommen. Betrachtet man zudem die Preise für ähnliche Produkte für fertige Systeme, so sind die Preise plötzlich nicht mehr so teuer.

Betrachtung der Geräte

Die Geräte werden in kompakten Pappschachteln geliefert, welche nicht viel größer sind, als die Shellys selbst.


Neben den Geräten enthalten die Schachteln noch jeweils einen Warnhinweis zum Anschluss, einen Hinweis auf den Support, bzw. die Facebook-Supportgruppe, sowie eine ausführliche Anleitung zum Anschluss des Gerätes.


Der Shelly 1 wird mit dem Slogan "open source" beworben. Dies ist darauf zurückzuführen, dass die Pins zum Flashen des integrierten ESP8266 als Pinheader nach außen geführt sind. Dadurch ist es möglich, eine eigene Firmware aufzuspielen.

Neben dem Pinheader enthält der Shelly 1 einen Jumper, mit welchem die Betriebsspannung ausgewählt werden kann. Dabei kann man sich zwischen 230V AC oder 12V DC entscheiden. Die ausgewählte Spannung muss dann auf die Eingänge N/L angeklemmt werden, um das Gerät in Betrieb zu nehmen.

Bei Verwendung eines externen Handschalters muss dieser zwischen die Anschlüsse SW und L geklemmt werden. Der ESP8266 kann dann die Schalterstellung erfassen und auf Eingaben reagieren. Abhängig von der Firmware können dabei Schalter oder Taster verwendet werden.

Der Ausgang des Shelly 1 besteht aus den Klemmen 0 und 1. Beim Schalten des internen Relays werden diese Klemmen verbunden oder getrennt. Da sie ansonsten vom Rest des Gerätes getrennt sind, ist es auch möglich hier andere Spannungen zu schalten, als die ausgewählte Betriebsspannung. Dabei ist jedoch zu beachten, dass sich die Ausgänge trotzdem auf der gleichen Platine befinden wie die anderen Klemmen und nicht besonders von diesen abgeschirmt sind. Sollte also mit dem Gerät Netzspannung geschalten werden, während die Betriebsspannung durch ein 12V-Netzteil zur Verfügung gestellt wird, so sollten auch die 12V nicht als berührungssicher betrachtet werden.

Oberseite der Geräte, Links: Shelly 1, Rechts: Shelly2

Der Shelly 2 ähnelt dem Shelly 1 äußerlich sehr, hauptsächlich die andere Anschlussverteilung fällt auf. Diese ist darin begründet, dass der Shelly 2 gleich zwei Kanäle enthält. Das heist, dass sowohl zwei geschaltete Ausgänge, als auch zwei Handschalter-Eingänge zur Verfügung stehen. Im Unterschied zum Shelly 1 sind die Ausgänge nicht potentialgetrennt. Das heist, dass das Schalten der internen Relais den jeweiligen Ausgang mit dem L-Eingang verbindet. Die Betriebsspannung von 230V entspricht daher immer der zu schaltenden Spannung. Ein Betrieb an 12V etc. ist nicht vorgesehen.

Zusätzlich enthält der Shelly 2 einen Chip zur Energiemessung, welcher Energiedaten (Spannung, Strom, Leistung, Frequenz, Leistungsfaktor, etc.) der angeschlossenen Geräte erfassen kann. Allerdings ist die Leistungsmessung nur für einen Kanal ausgeführt, das heist die Daten können nur für beide Ausgänge zusammen ermittelt werden.

Diesem erweiterten Leistungsumfang im Vergleich zum Shelly 1 ist leider der Pinheader und der Jumper zur Spannungsauswahl zum Opfer gefallen. Es ist also nicht vorgesehen, das der Shelly 2 mit einer neuen Firmware versehen wird. Das Gerät wird daher auch nicht mit dem "open source"-slogan des Shelly 1 beworben.

Oberseite der Geräteplatinen, Links: Shelly 2, Rechts: Shelly 1
Achtung, Anordnung zu vorherigen Bildern vertauscht!

Die Platinen beider Geräte scheinen gut verarbeitet. Insbesondere die Platine des Shelly 2 ist dabei jedoch sehr eng bestückt. Daher war es vermutlich auch nicht möglich, einen Pinheader herauszuführen.

Bei den Relais fällt auf, dass das Relais des Shelly 1 den gleichen Platz einnimmt, wie beide Relais des Shelly 2.  Ich führe dies darauf zurück, dass die Schaltleistung des Shelly 1 16A beträgt, die Schaltleistung des Shelly 2 jedoch pro Kanal 8A. Beides macht durchaus Sinn, da Stromkreise im Haus hier typischerweise mit 16A-Sicherungen abgesichert sind. Alle Geräte eine Stromkreises sollten daher nicht mehr als 16A ziehen. Bei zwei angeschlossenen Geräten am Shelly 2 sollten auch diese also zusammen nicht mehr als 16A ziehen.

Die Aufteilung auf zweimal 8A führt allerdings dazu, dass die Anschlussleistung nicht asymmetrisch verteilt werden kann, also beispielsweise ein Gerät mit 12A und ein Gerät mit 4A versorgt werden kann. Auch der Fall, dass an beiden Anschlüssen jeweils ein 16A Gerät angeschlossen wird und dass die beiden Anschlüsse nur exklusiv eingeschalten werden können, wird durch die 8A/8A-Verteilung ausgeschlossen. Dies ist schade, sollte aber nur in wenigen Fällen zu Problemen führen.

Unterseite der Geräteplatinen, Links: Shelly 2, Rechts: Shelly 1
Integration der Geräte

Die Integration des Shelly 1 in mein Home-Automation-System ist mir nicht sonderlich schwer gefallen. Die Firmware konnte ich fast 1:1 vom Standard-Sonoff übernehmen. Lediglich die fehlende LED habe ich aus der Software entfernt. Zudem mussten die Erfassung des Handschaltereingang angepasst werden, da der Anschluss elektrisch etwas anders ausgeführt ist.

Zum Testen des Gerätes habe ich dieses vorübergehend in ein Aufputz-Gehäuse eingebaut und angeschlossen. Leider ist dieses nicht so tief wie typische Unterputzdosen, sodass ich Abstandhalter für den aufgesetzten Handschalter verwenden musste, damit der Shelly 1 in das Gehäuse passt.

Integration des Shelly 1 in ein Aufputzgehäuse

Deutlich schwieriger gestaltete sich die Integration des Shelly 2. Die einfache Implementierung der Ein- und Ausgänge war dabei das geringste Problem, da ich dafür die Firmware des Sonoff T1 übernehmen und anpassen konnte.

Die Herausforderung ist nun gewesen, die Firmware auf den Shelly 2 zu flashen, da ja kein Pinheader vorhanden ist. Stattdessen sind jedoch kleine Lötlöcher vorhanden, an welche Anschlusspins angelötet werden können. Dafür können jedoch keine Stiftleisten mit 2.54mm-Raster verwendet werden, da der Abstand der Löcher nicht passt. Das Anlöten von Pins gestaltet sich daher auf Grund des geringen Abstandes vergleichsweise schwierig.

Später habe ich durch ein wenig Reverse-Engineering herausgefunden, dass alternativ zu den 3.3V auch oben 12V an die Pins eines Kondensators angelegt werden können. Die 12V sind intern vorhanden, um die Relais zu schalten, es wird daraus aber auch die 3.3V Spannung für den ESP8266 erzeugt. Auch hier müssen natürlich Pins angelötet werden. Dies ist am Kondensator jedoch einfacher, da sich keine anderen Kontakte in diesem Bereich befinden.

Anschlussmöglichkeiten des Shelly 2
Nicht gleichzeitig 3.3V und 12V anschließen!

Als deutlich größere Schwierigkeit stellte sich der integrierte Chip zur Energiemessung heraus. Es handelt sich dabei um einen "MCP39F501" von Microchip. Für diesen gibt es keine fertige Arduino/C++-Bibliothek. Ich konnte jedoch die Funktionsweise anhand des Datenblattes, sowie der Integration in Sonoff-Tasmota nachvollziehen. Aus dem dort verwendeten Code habe ich mir eine Bibliothek für den Chip zusammengebaut, welche nach einem nicht unerheblichen Zeitaufwand letztendlich auch die verschiedenen Funktionen des Chips unterstützt.

Dazu gehören neben der Initialisierung und der Abfrage der Energiewerte auch die Kalibrierung. Um diese auch von meiner Clientanwendung durchführen zu können, habe ich das Device-Modul meines Home-Automation-Systems um "Device-Functions" erweitert. Auf diese möchte ich ausführlich in einem späteren Blogeintrag eingehen. Als Kurzbeschreibung soll an dieser Stelle ausreichen, dass es sich dabei um parameterbehaftete Funktionen handelt, welche per Hand auf dem Gerät ausgeführt werden können und welche auch Daten zurückliefern können. Eine solche Device-Function habe ich hier verwendet, um die Daten einer bekannten angeschlossenen Last (1.1 kW Heizlüfter) an das Gerät zu übertragen und mit Hilfe dieser die Kalibrierung durchzuführen.

Genau wie den Shelly 1 habe ich auch den Shelly 2 in ein Aufputzgehäuse eingebaut und angeschlossen. Leider habe ich davon keine Fotos gemacht und kann diese auch aktuell nicht nachmachen. Der Grund dafür ist, dass ich leider ein Montagsmodell der Shelly 2 erwischt habe. Dieses gab während des Betriebs einen deutlich wahrnehmbaren Fiepton von sich. Dieses Geräusch konnte ich auf ein spezielles SMD-Bauteil zurückführen. Leider konnte ich den Chip anhand des Aufdruckes nicht identifizieren, ich vermute jedoch, dass es sich um einen DC/DC-Wandler ähnlich dem "MCP16301" von Mircochip handelt. Beim Versuch das Fiepen abzuschalten, ist mir jedoch versehentlich der ESP8266 durch Überspannung kaputt gegangen, sodass ich nun kein Gerät dieses Typs mehr zur Verfügung habe.

Ausblick

Nachdem ich mir also den Shelly 2 zerschossen habe, wollte ich mir auf der Herstellerwebseite einen neuen bestellen. Dabei musste ich aber feststellen, dass der Shelly 2 dort nicht mehr auftaucht. Sowohl die Produktseite als auch die Shopseite ist verschwunden. Stattdessen wird mit der Möglichkeit zur Vorbestellung des Shelly 2.5 ab dem 15. Februar geworben.

Zu diesem sind leider noch keine genauen technischen Details bekannt, es wird jedoch mit deutlichen Verbesserungen im Vergleich zum Shelly 2 geworben:
  • 30% kleiner
  • 2 * 10A Relais
  • Energiemessung für beide Kanäle getrennt
  • Herausgeführter Pinheader
  • Außenliegende Status-LED + Resetknopf
  • Interner Temperatursensor zur automatischen Sicherheitsabschaltung
  • Gleich bleibender Preis (~20€)
Damit sind sämtliche Kritikpunkte, welche ich an dem Gerät habe abgedeckt. Da es mir nun nicht möglich ist, einen weiteren Shelly 2 zu bestellen und da es auf Grund des Nachfolgemodells auch keinen Sinn macht, werde ich das Projekt wohl bis zum Eintreffen des neuen Modells auf Eis legen und mich anderen Dingen widmen.

Bis dahin verabschiede ich mich und bedanke mich fürs Lesen!