SONOFF – Funkschalter auf ESP8266-Basis

NachtragDiese Anleitung wurde am 27.01.2017 von mir überarbeitet und aktuallisiert. Sie sollte nun wieder reibungslos funktionieren. Bei Fragen einfach ein Kommentar hinterlassen 😉 

Der Markt mit Smart-Home-Devices wächst immer weiter. Anfangs waren die diversen Geräte noch recht teuer in der Anschaffung. Aber mit dem Wachstum stieg auch die Konkurrenz und die Preise fielen. Durch einen Hinweis vom Blogleser Jörg kam ich auf den Hersteller "ITEAD" (Amazon Affiliate). Dieser bietet mit seiner SONOFF-Reihe eine breite Auswahl an Smart-Home-Geräten zu recht günstigen Preisen. 

Die SONOFF-Geräte bauen auf den ESP8266-Chip auf und lassen sich somit drahtlos ins heimische drahtlose 2,4 GHz Netzwerk einbinden. Steuern lassen sich die Geräte über die offizielle App, welche sich aus dem Google PlayStore oder dem Apple App Store laden lassen.

eWeLink
Preis: Kostenlos

Zusätzlich zu der Steuerung über die offizielle App des Herstellers lassen sich die SONOFF-Geräte auch über Googles Nest oder Amazons Alexa steuern. Vorausgesetzt natürlich ihr lässt die originale Firmware auf den Geräte, was wiederrum das Einbinden in FHEM unmöglich macht. 

Aber das Beste kommt nun, dank des ESP-Chips lässt sich eine alternative Firmware auf die Geräte flashen. Mit dieser kann man dann die SONOFF-Geräte in FHEM einbinden. Aber wie schon erwähnt lassen sich die Geräte dann nicht mehr der App oder über Nest bzw. Alexa steuern. Aber dafür kann man dann ja FHEM-Apps verwenden und das SONOFF-Gerät in seine Homebridge einbinden bzw. FHEM für Amazons Echo-Geräte konfigurieren. So hat man trotz keiner originaler Firmware die Möglichkeit die Geräte über Apps, Apples Siri oder Amazons Alexa steuern zu können.

In diesem Beitrag werde ich näher auf die SONOFF-Geräte eingehen und testen, was die günstigen Geräte aus Fern-Ost taugen. Des Weiteren werde ich euch erklären, wie ihr die Geräte in FHEM einbindet. 

Die SONOFF-Reihe

Wie oben schon erwähnt, ist die Auswahl an SONOFF-Geräte sehr vielfaltig. Sie beginnt bei einfachen Schaltern, geht über Verbrauchsmesser bis hin zu fertigen Geräte wie Ventilator oder Geräte zur Raumklimaüberwachung. Im folgenden werde ich euch eine kleine Auswahl an Sonor-Geräten auflisten, welche im Zusammenhang mit FHEM interessant sind und welche ich besitze und bereits in FHEM eingebunden habe. Eine komplette Liste findet ihr im FHEM-Wiki oder auf der Herstellerseite. Werde ich mir weitere Geräte zulegen, werde ich diese selbstverständlich auch hier vorstellen. 

SONOFF - Wireless Control Switch

Herstellerseite

Der SONOFF Wireless Control Switch ist das Einsteigergerät der SONOFF-Reihe. Er ist vergleichbar mit einem Schalter. Er wird in der Zuleitung eines Gerätes zwischen geschaltet und ermöglicht somit das einfache An- oder Ausschalten des Gerätes über ein Smartphone bzw. über FHEM. 

Die Installation ist im vergleich zu einfachen Zwischensteckern etwas kompliziert und erfordert entsprechendes Fachwissen. Er sollte deswegen nur von Fachpersonal installiert werden. ​

Erlaubt ist ein maximaler Strom von 10A. Bei einer Netzspannung von 230V macht dies theoretisch eine maximal erlaubte Leistung von 2300W. Der Hersteller gibt die maximale Leistung jedoch mit 2200W an. 

SONOFF - Pow WiFi Switch With Power Consumption Measurement

Herstellerseite

Der Pow WiFi Switch ist eine Erweiterung des normalen Switch. Zusätzlich zum einfachen An- und Ausschalten kann der Pow auch die Leistung des angeschlossenen Gerätes messen.

Auch hier ist die Installation wieder mit etwas Aufwand verbunden und erfordert ebenfalls Fachkenntnis und sollte deswegen nur von Fachpersonal durchgeführt werden. 

Im Vergleich zum einfachen Switch kann der Pow etwas mehr Leistung schalten. Laut Hersteller kann der Pow 16A schalten bei einer maximalen Leistung von 3500W. Damit sollten man so gut wie alle Geräte verwenden könne, da die maximal Leistung einer Sicherung in der Regel sowieso bei 3680W liegt. 

Verfügbarkeit und Bezugsquellen

Sale
Sonoff Pow Drahtlose WiFi Schalter ON/Off 16A Mit Echtzeit...
Proam - Elektronik
28,99 EUR - 17,09 EUR ab 11,90 EUR

Letzte Aktualisierung am 14.11.2018 / Affiliate Links / Bilder von der Amazon Product Advertising API

Erhältlich sind die Geräte unter anderem bei Amazon. Hier kann die Verfügbarkeit jedoch leider etwas mau sein.

Am besten bekommt man sie über AliExpress oder direkt über die Herstellerseite. Hier muss jedoch mit einer langen Wartezeit gerechnet werden. Dafür jedoch um einiges günstiger.

INFO: Wer noch ein paar Bedenken hat, bezüglich Einkaufen bei AliExpress, dem empfehle ich den Bericht von Chinavergleich.de. Dort wurde das Online-Portal aus Fern-Ost näher unter die Lupe genommen. Des Weiteren befindet sich dort auch ein Erfahrungsbericht mit dem Onlineriesen. 

Ab und zu findet man auch SONOFF-Geräte bei eBay. Aber auch hier sind die günstigen Geräte, welche aus dem Ausland versendet werden. Ich persönlich wurde ebenfalls bei eBay fündig und habe mir je zwei Geräte vom "SONOFF Pow 16A WIFI Smart Remote Control" und vom "SONOFF WiFi Wireless Smart Switch Module" gekauft. 

TASMOTA - Alternative Firmware

Damit die SONOFF-Geräte später auch in FHEM eingebunden werden können, muss die originale Firmware durch eine alternative Firmware ersetzt werden. Man kann zum Beispiel ESP Easy verwenden. Der Funktionsumfang von ESP Easy ist jedoch riesig und für die SONOFF-Geräten etwas zu überdimensioniert. Zusätzliche Sensoren kann man ja eh nicht aufgrund der Bauweise anschließen.

Der Autor "Arends" hat eine grandiose Firmware für die SONOFF-Geräte geschrieben. Sie unterstützt bereits eine große Anzahl an SONOFF-Geräten und konzentriert sich dabei auf das Wesentliche. Des Weiteren bietet die Firmware eine Weboberfläche an um das Gerät notfalls auch über den Browser steuern zu können.

Vorbereitung

Damit TASMOTA später auch mit FHEM kommunizieren kann sind ein paar Vorbereitungen notwendig.

MQTT

TASMOTA kommuniziert später mittels MQTT mit FHEM. Es ist deswegen notwendig, dass auf dem Raspberry ein MQTT-Server eingerichtet wird. Wie dies geht, erfahrt ihr auf meinem Blogbeitrag, hier erfahrt hier ebenfalls wie die Einrichtung in FHEM funktioniert. Die weiteren Schritte in diesem Beitrag gehen davon aus, dass die MQTT-Bridge mit dem Namen "Mosquitto" eingerichtet wurde.

Arduini IDE und die passende Board-Treiber

Für das spätere Flashen wird die Arduino IDE verwendet. Achtet darauf, dass ihr die neuste Version besitzt. Des Weiteren wird der Board-Treiber benötigt. Wie ihr diese installiert, erfahrt ihr in meinem Blog-Beitrag dazu. Achtet auch hier, dass ihr die neuste Version des Treibers installiert. 

Die eigentliche Firmware

Zum Schluss wird dann noch die eigentliche Firmware benötigt. Diese könnt ihr hier auf GitHub herunterladen. Ich persönlich habe einfach den Ordner "Sonoff-Tasmota-master" in meinen Arduino-Sketch-Ordner kopiert. Den Ordner "lib" im heruntergeladenen Ordner könnt ihr löschen, da ihr die aktuellen Versionen dieser Bibliotheken bereits selbst installiert habt. Info: Versichert euch vorher jedoch noch, ob ihr alle Bibliotheken, welche sich im Ordner "lib" befinden installiert habt. Ist dies nicht der Fall, dann installiert die fehlenden Bibliotheken nach. Euer Sketch-Ordner sollte dann in etwas so aussehen:

Bibliotheken

Die benötigten Bibliotheken befinden im Tasmota-Ordner im Ordner "lib". Den Inhalt dieses Ordners verschiebt ihr nun eine Ebene höher in den Ordner "libraries".

diverse Bibliotheksanpassungen

Damit das Kompilieren später auch problemlos funktioniert müsst ihr die maximale MQTT- Packetgröße anpassen. Dies könnt ihr in der folgenden Datei innerhalb eures Sketch-Ordners anpassen: "Arduino/libraries/PubSubClient-2.6.09/src/PubSubClient.h". Hier müsst ihr den Eintrag "MQTT_MAX_PACKET_SIZE" auf 1024 setzen.

Des Weiteren solltet ihr den MQTT_KEEPALIVE auf 120 setzen.

#define MQTT_KEEPALIVE 120

Konfigurationsdatei für die Flash-Größe

Zum Schluss ist es nun noch notwendig, eine benötigte Konfigurationsdatei für die Flash-Größe in den Hardware-Ordner von Arduino zu kopieren. Die zu verschieben Datei "esp8266.flash.1m0.ld" findet ihr im TASMOTA-Ordner.

Diese müsst ihr in einen Unterordner von "Arduiono15" kopieren. Unter Windows findet ihr den Ordner unter "C:/Users/(username)/AppData/Local/Arduino15" und unter Mac OS unter "/Users/(username)/Library/Arduino15". Im Ordner "Arduino15" findet sich nun der Order ".../Arduino15/packages/esp8266/hardware/esp8266/2.4.0/tools/sdk". Hierhin kopiert ihr die oben genannte Datei.

Des Weiteren kopiert ihr die Datei "boards.txt" in den Ordner ".../Arduino15/packages/esp8266/hardware/esp8266/2.4.0". Diese befindet sich ebenfalls im Tasmato-Ordner im Unterordner ".../arduino/Version 2.4.0/board.txt". Die Versionsnummer ist abhängig von der verwendeten Versionsnummer des ESP-Treibers.

Das Kopieren dieser beiden Dateien ermöglicht nun, das Auswählen der Flash-Size "1M (no SPIFFS)" in der Arduino IDE. Mehr dazu im nächsten Kapitel.

diverse Konfigurationen vornehmen

Nun könnt ihr mit der Arduino IDE die Datei "sonoff.ino" öffnen, welche sich im Tasmota-Ordner im Unterordner "sonoff" befindet. Es öffnen sich nun auch alle dazugehörigen Dateien in der Arduino IDE. 

Hier solltet ihr nun bereits ein paar Konfigurationen in der Datei "user_config.h" durchführen. Zum einen das aktiveren des benötigten Moduls. Abhängig vom verwendeten SONOFF-Device müsst ihr das entsprechende Modul aktivieren. Für den SONOFF-POW ist das zum Beispiel das Module "SONOFF_POW".

INFO: Das Aktivieren des Moduls ist in neueren Version nicht mehr notwendig. Tasmota erkennt automatisch, welches Modul verwendet wird. 

Des Weiteren solltet ihr dem Gerät bereits einen eindeutigen Namen vergeben.

Zum Schluss dann noch die Infos für den MQTT-Server eintragen. Wichtig sind hie die unteren Einträge. Hier müsst ihr die IP-Adresse des Raspberrys eingeben auf dem der MQTT-Server läuft. In meinem Fall also 192.168.2.125.

Um später den Umweg über den eigenständigen Accesspoint des Sonoff-Gerätes zu ersparen, kann man nun noch im Config-File die WLAN-Daten seines Netzwerkes eingeben:

Alle Vorbereitungen sind nun abgeschlossen und es kann mit dem Flashen begonnen werden.

Flashen der SONOFF-Geräte

Anders als zum Beispiel bei den WeMos-Bausteinen besitzen die SONOFF-Geräte leider keinen USB-Port. Dies erschwert ein bisschen das Programmieren der Software. 

Damit das Flashen dennoch klappt, ist der Einsatz eines TTL-USB-Konverters notwendig. Dieser lässt sich mit der Platine des SONOFF-Gerätes verbinden und ermöglicht somit das Flashen.

Letzte Aktualisierung am 14.11.2018 / Affiliate Links / Bilder von der Amazon Product Advertising API

Um an die Programmierschnittstelle zu kommen ist es notwendig das Gehäuse zu öffnen. ​ACHTUNG: Hier ist es wichtig, dass ihr vorher alle Netzleitungen vom Gerät trennt. Des Weiteren sollte euch bewusst sein, dass durch die Öffnung des Gerätes und das Flashen einer alternativen Firmware die Garantie erlischt. Was jedoch bei einem Gerät für unter 10€ nicht allzu schlimm ist. Die Vorteile überwiegen. 

Habt ihr das Gerät geöffnet, kommt die Programmierschnittstelle zum Vorschein. Bei den neueren Version der SONOFF-Geräte befindet sich keine Stiftleiste mehr auf der Platine. Ihr könnt also entweder Leitungen direkt auf die Platine löten oder einfach selber eine Stifleiste auf die Platine löten. Diese Schnittstelle wird nur einmal zum erstmaligen Programmieren benötigt. Spätere Updates können direkt über die Weboberfläche durchgeführt werden.

Beim SONOFF-Pow sieht der USB-TTL-Anschluss wie auf dem Bild aus:​

Die PIN-Belegung ist wie folgt, von Innen nach Außen: GND - TxD - RxD - VDD (3,3V)

Bei den normalen Switch-Geräten befindet sich der TTL-Anschluss in der Mitte des Boards.  

Hier ist die PIN-Belegung wie folgt, vom Taster aus: VDD (3,3V) - RxD - TxD - GND - GPI0

Achtet dadrauf, dass ihr mit 3,3V arbeitet und verwendet dementsprechend den 3,3V-Anschluss vom USB-TTL-Konverter.

Info: RxD vom TTL-USB-Konverter muss an TxD vom Sonoff und der TxD vom TTL-USB-Konverter an RxD vom Sonoff.

Habt ihr den TTL-USB-Konverter wie beschrieben angeschlossen, könnt ihr mit dem eigentlichen flashen beginnen. 

Dazu drückt ihr auf dem SONOFF-Gerät den Button auf der Oberseite und verbindet bei gedrücktem Button das SONOFF-Gerät mit Hilfe des USB-TTL-Adapters mit dem Computer. Den Button könnt ihr dann loslassen. 

Bevor ihr nun das Flaschen startet, solltet ihr unter "Werkzeuge" die benötigten Board-Einstellungen einstellen. Achtet dadrauf, dass ihr unter Port euren USB-TTL-Konverter auswählt.

Über den kleinen Pfeil in der oben linieren Ecke könnt ihr nun das Flashen starten.

Nach dem Flashen sollte sich nach einem Neustart das Sonoff-Gerät automatisch mit eurem Netzwerk verbinden. Sollte dies nicht der Fall sein, so kann alternativ auch die manuelle Einrichtung aktiviert werden. Dazu viermal kurz den Taster des Sonoff-Moduls drücken. Weitere Funktionen des Buttons könnt ihr hier nachlesen.

Es wird nun ein Access-Point vom Sonoff-Gerät aufgebaut mit dem man sich verbinden kann. 

Nachdem man sich verbunden hat, öffnet sich die Weboberfläche. Alternativ kann diese über die IP-Adresse 192.168.4.1 aufgerufen werden. Hier kann man nun die WiFi-Einstellungen eingeben.

Nach einem Neustart sollte sich das Gerät nun mit eurem heimischen WLAN verbinden. Am besten lässt sich dies über die Konfigurations-Oberfläche eures Routers feststellen.

Nicht wundern, dass sich das Sonoff-Gerät über LAN verbunden hat. In meinem Fall hat er sich über einen Repeater verbunden, welcher an LAN 1 angeschlossen ist. Wichtig ist die IP-Adresse. Über diese kann man sich nun mit der Konfigurations-Oberfläche des Tonoff-Geräts verbinden. Aber dazu später mehr. Nun wird erstmal das Sonoff-Gerät richtig angeschlossen.

Anschluss der SONOFF-Geräte

Die SONOFF-Geräte haben eine eine Anschlussklemme. Mit dieser lässt sich das Gerät zwischen jedes 230V-Gerät schalten. Achtet dadrauf, dass ihr zuvor alles Stromlos schaltet und ggf. die Sicherungen rausnimmt. 

ACHTUNG: Der Anschluss erfolgt an das 230V-Stromnetz und sollte deswegen nur von Fachpersonal durchgeführt werden. ​LEBENSGEFAHR!

Die Anschlussklemme ist mit L(Input), NN, EE und L(Output) beschriftet. An L(Input) wird die ankommende Phase (blau,schwarz,braun) angeschlossen. An L(Output) dann die Phase, welche Richtung des zu steuernden Gerätes führt. An die beiden Klemmen NN kommen die beiden Neutralleitern (blau) und an EE die Schutzleiter (PE - gelb/grün). 

SONOFF-Geräte konfigurieren und in FHEM einbinden

Im folgenden werde ich euch erklären, wie ihr die Firmware TASMOTA abhängig vom SONOFF-Gerät konfiguriert und in FHEM einbindet. 

Um auf die Konfigurationsoberfläche zu kommen müsst ihr einfach die IP-Adresse des SONOFF-Gerätes in eure Browserzeile eingeben. In meinem Fall zum Beispiel 192.168.2.129. 

Bevor ihr nun weiter mit der Konfiguration fortfahrt, solltet ihr unter "Configuration/Configure Other" einen eindeutigen Namen vergeben. Da ich mit dem SONOFF-POW meine Waschmaschine messen möchte, habe ich den Namen entsprechend gesetzt. 

Allgemeine MQTT-Konfiguration

Die MQTT-Konfiguration wurde bereits vor dem Flashen eingetragen. Solltet ihr Änderungen vornehmen wollen könnt ihr dies über die Weboberfläche machen. Dazu klickt ihr auf "Configuration" und dann auf "Configure MQTT". Im Configurations-Menü könnt ihr zudem noch weitere Einstellungen vornehmen, welche aber für den Betrieb mit FHEM nicht notwendig sind.

Wichtig für das Definieren in FHEM ist eine korrekte Einstellungen der MQTT-Einstellung des Sonoff-Devices. Bevor ihr also mit der Definition in FHEM beginnt, kontrolliert die MQTT-Einstellungen unter "Configuration / Configure MQTT".​ 

Wichtig ist vor allem der Eintrag "Topic". Dieser wird später für die Einrichtung in FHEM benötigt.

SONOFF - Wireless Control Switch

Der SONOFF-Switch lässt sich in FHEM mit folgenden Befehlen einbinden. Hier wurde "WZ_Deckenlicht" als Topic verwendet.

define WZ_Deckenlicht MQTT_DEVICE;
attr WZ_Deckenlicht IODev Mosquitto;
attr WZ_Deckenlicht icon light_pendant_light;
attr WZ_Deckenlicht stateFormat state;
attr WZ_Deckenlicht devStateIcon OFF:FS20.off:ON ON:FS20.on:OFF;
attr WZ_Deckenlicht publishSet ON OFF cmnd/WZ_Deckenlicht/POWER;
attr WZ_Deckenlicht room Wohnzimmer;
attr WZ_Deckenlicht subscribeReading_state stat/WZ_Deckenlicht/POWER;
attr WZ_Deckenlicht webCmd ON:OFF;
attr WZ_Deckenlicht alias Deckenlicht

Den Namen und die Attribute icon, devStateIcon, alias und room können natürlich angepasst werden. Des Weiteren muss das Attribut "subscribeReading_state" entsprechend mit eurem Topic angepasst werden.

SONOFF - Pow WiFi Switch With Power Consumption Measurement

Das SONOFF-POW Gerät lässt sich mit folgenden Befehlen in FHEM einbinden. Hier wurde "KU_Waschmaschine" als Topic verwendet.

define KU_Waschmaschine MQTT_DEVICE;
attr KU_Waschmaschine IODev Mosquitto;
attr KU_Waschmaschine icon scene_clothes_dryer;
attr KU_Waschmaschine publishSet ON OFF cmnd/KU_Waschmaschine/LIGHT/;
attr KU_Waschmaschine room Küche;
attr KU_Waschmaschine subscribeReading_TELEMETRY tele/KU_Waschmaschine/TELEMETRY;
attr KU_Waschmaschine subscribeReading_LIGHT stat/KU_Waschmaschine/LIGHT;
attr KU_Waschmaschine subscribeReading_state /KU_Waschmaschine/LIGHT;
attr KU_Waschmaschine webCmd ON:OFF;
attr KU_Waschmaschine alias Waschmaschine

Den Namen und die Attribute icon, alias und room könne natürlich angepasst werden. Des Weiteren müssen die Attribute "subscribeReading_x" entsprechend mit eurem Topic angepasst werden.

Damit der empfangene Daten-Stream vom Reading "TELEMETRY" in einzelnen Reading aufgeteilt wird, ist es notwendig ein "expandJSON"-Device zu definieren.

define ej3 expandJSON KU_Waschmaschine.*:.*:.{.*}

Es werden nun alle empfangenden Werte in entsprechende Reading gespeichert.

Wer noch möchte, der kann eine ReadingsGroup aus den ganzen Readings erstellen und somit alle Messwerte anschaulich darstellen. 

Dafür ist es jedoch nötig noch ein weiteres Device zu erstellen, welches die Durchschnittswerte errechnet. 

define KU_Waschmaschine_CURRENT_POWER average KU_Waschmaschine:Power.*

Anschließend kann dann die ReadingsGroup erstellt werden.

define KU_Waschmaschine_readingsGroup readingsGroup <%scene_clothes_dryer>,<aktuell>,<Tag>,<Gestern>,<Strom>,<Durchschnitt>,<max.P>,<Zyklus>,<Faktor>,<Status>,<hr> .*(KU_Waschmaschine):Energy_Power,Energy_Today,Energy_Yesterday,Energy_Current,Energy_Power_avg_day,Energy_Power_max_day,Energy_Period,Energy_Factor,LIGHT;

attr KU_Waschmaschine_readingsGroup commands {'LIGHT.ON' => 'set $DEVICE OFF','LIGHT.OFF' => 'set $DEVICE ON'};

attr KU_Waschmaschine_readingsGroup mapping %ALIAS;

attr KU_Waschmaschine_readingsGroup nameStyle style="color:yellow";attr SonoffPows room Energie,MQTT;

attr KU_Waschmaschine_readingsGroup valueFormat {'Power' =>"%.0f W", 'Today' =>"%.2f Kw",'Yesterday' =>"%.2f Kw", 'CURRENT' =>"%.2f A",'Power_max_day' => "%.0f W",'Power_avg_day' => "%.2f W",'Power'=>"%.0f W",'Factor' => "%.2f "};

attr KU_Waschmaschine_readingsGroup valueIcon {'LIGHT.ON' => 'rc_GREEN@green', 'LIGHT.OFF' => 'rc_RED@red'};

attr KU_Waschmaschine_readingsGroup valueStyle { if($READING eq "Power" && $VALUE >= 0 && $VALUE <= 100){ 'style="color:green;;text-align:right"' }elsif( $READING eq "Power" && $VALUE > 100 && $VALUE < 200){ 'style="color:orange;;text-align:right"' }elsif( $READING eq "Power" && $VALUE >= 200){ 'style="color:red;;text-align:right"' }elsif( $READING eq "Today" && $VALUE >= 4.8){ 'style="color:red;;text-align:right"' }elsif( $READING eq "Today" && $VALUE <= 2.5){ 'style="color:green;;text-align:right"' }elsif( $READING eq "Today" && $VALUE > 2.5 && $VALUE < 4.8 ){ 'style="color:orange;;text-align:right"' }elsif( $READING eq "Yesterday" && $VALUE <= 2.5){ 'style="color:green;;text-align:right"' }elsif( $READING eq "Yesterday" && $VALUE > 2.5 && $VALUE < 4.8 ){ 'style="color:orange;;text-align:right"' }elsif( $READING eq "Yesterday" && $VALUE >= 4.8){ 'style="color:red;;text-align:right"' }elsif( $READING eq "Current" && $VALUE <= 0.45){'style="color:green;;text-align:right"'}elsif( $READING eq "Current" && $VALUE > 0.45 && $VALUE < 0.87 ){'style="color:orange;;text-align:right"' }elsif( $READING eq "Current" && $VALUE >= 0.87){ 'style="color:red;;text-align:right"' }elsif( $READING eq "Power_avg_day" && $VALUE <= 100){ 'style="color:lightgreen;;text-align:right"' }elsif( $READING eq "Power_avg_day" && $VALUE > 100 && $VALUE < 200 ){ 'style="color:orange;;text-align:right"' }elsif( $READING eq "Power_avg_day" && $VALUE >= 200){ 'style="color:red;;text-align:right"' }elsif( $READING eq "Period" && $VALUE <= 10){ 'style="color:lightgreen;;text-align:right"' }elsif( $READING eq "Period" && $VALUE > 10 && $VALUE < 15 ){ 'style="color:orange;;text-align:right"' }elsif( $READING eq "Period" && $VALUE >= 15){ 'style="color:red;;text-align:right"' }elsif( $READING eq "Power_max_day" && $VALUE <= 100){ 'style="color:lightgreen;;text-align:right"' }elsif( $READING eq "Power_max_day" && $VALUE > 100 && $VALUE < 200 ){ 'style="color:orange;;text-align:right"' }elsif( $READING eq "Power_max_day" && $VALUE >= 200){ 'style="color:red;;text-align:right"'}};

attr KU_Waschmaschine_readingsGroup valueFormat {'Energy_Power' =>"%.0f W",'Energy_Today' =>"%.2f kWh",'Energy_Yesterday' =>"%.2f kWh",'Energy_Current' =>"%.2f A",'Energy_Power_max_day' => "%.0f W",'Energy_Power_avg_day' => "%.2f W",'Factor' => "%.2f "}

Den Namen der ReadingsGroup und die Grenzen für die Einfärbung der Werte kann natürlich angepasst werden. Wichtig ist, dass ihr den Namen eures eingerichteten Sonoff-Device richtig angibt.

...<Faktor>,<Status>,<hr> .*(KU_Waschmaschine):Energy_Power...

Wollt ihr mehrere SONOFF-Pow-Geräte in der Readingsgroup haben, könnt ihr diese einfach getrennt durch ein | angeben.

...<Faktor>,<Status>,<hr> .*(KU_Waschmaschine|Sonoff1|Sonoff2):Energy_Power...

Wer möchte kann dann natürlich auch anfangen und die Werte mit loggen und ein Diagramm erstellen. In meinem Fall mit der Waschmaschine kann man dann sehr gut den Verbrauch während eines Waschvorganges sehen.

SONOFF-Geräte in meiner FHEM Live-Demo

Um einen besseren Einblick in die Sonoff-Geräte zu bekommen, empfehle ich euch einen Besuch auf meiner FHEM Live-Demo. Dort habe ich für die Deckenlampe im Wohnzimmer einen Tonoff-Switch verwendet und für die Waschmaschine in der Küche einen Sonoff-POW.

Fazit

Ich persönlich bin von den SONOFF-Geräten begeistert. In Zusammenhang mit der alternativen Firmware und die Einbindung in FHEM lassen sich die SONOFF-Geräte perfekt ins smarte Zuhause eingliedern. Ohne auf Apps oder Gateways von Drittherstellern ausweichen zu müssen.

Die SONOFF-Geräte haben durch die Möglichkeit sie theoretisch zwischen jedes elektrische Gerät schalten zu können einen großen Vorteil gegenüber den bekannten Zwischensteckern von Intertechno oder ELV (PCA301). Somit lassen sich zum Beispiel auch relativ günstig Deckenlampen über FHEM steuern.

Diese Vorteile und der dazu sehr günstige Preis, lassen die Geräte der SONOFF-Reihe zur perfekten Erweiterung in FHEM werden. 

Ich persönlich werde die SONOFF-Geräte weiter im Blick haben und mir bei Gelegenheit weitere Geräte der Reihe besorgen.

Ich halte auch auf dem Laufenden. ​

59
Hinterlasse einen Kommentar

avatar
Fotos und Bilder
 
 
 
sonstiges Dateiformat
 
 
 
23 Comment threads
36 Thread replies
13 Followers
 
Most reacted comment
Hottest comment thread
30 Comment authors
Uwe H.DirkSebastian KDawidMicha Recent comment authors
  Subscribe  
neuste älteste beste Bewertung
Benachrichtige mich zu:
Matthias
Gast

Echt cool! Gerade die ReadingsGroup hast Du sehr gut hinbekommen – sieht super übersichtlich aus 🙂 Das übernehme ich direkt mal so für meine Geräte 😀

Ich finde SONOFF auch super – allerdings muss ich mir noch überlegen ob ich die ganzen Geräte irgendwie von meinem „normalen“ trenne. Es wird immer mehr Zeug und langsam auch echt unübersichtlich – wie handhabst Du das? Hast Du alles im gleichen Netz?

Sebastian
Gast

Hi Daniel,
Vielen Dank für diesen Tollen Beitrag. Ich wollte mich schon länger mal mit Sonoff beschäftigen und da kam mir dieser Beitrag gerade recht.
Weiter so!

Martin
Gast
Martin

Hi! Zuerst: danke für die Zeit die du ganz offenbar in das Thema investierst! 🙂 Ich habe eine grundsätzlich Frage: es wird hier und anderswo stets von einer „Konstruktion“ Sonoff-Schalter, Tasmota-Fireware (flashen) und HomeBridge, samt RaspberryPI gesprochen, was ich Dich fragen möchte: Was davon bzw welche Schritte sind nötig um den Sonoff in die originale Homekit-Umgebung auf einem ATV4 zu integrieren? Ich haben gehofft, lediglich den Sonoff neu zu flashen und via Webinterface dann ein HomeKit-Gerät „zu verwandeln“ indem ich dem Sonoff sage das er nun ein TADO-Schalter ist (in einem YT-Video gesehen) und er anschließend in HomeKit auftaucht. Ich… weiterlesen »

Martin
Gast
Martin

Sorry, Martin nochmal. Bei Klick auf „Kommentar veröffentlichen“ habe ich gesehen, das ich mich bei meiner Mailadresse vertippt habe. An diesem Post die korrekte… 😉

Danke!

Torben
Gast
Torben

Hallo Daniel, auch von mir erst einmal ein dickes Lob! Wieder schön ausgearbeitet. Jedes Mal denke ich mir, „das muss ich mir notieren und das auch und das….“ aber eigentlich reicht der Link auf deine Seite 😉 Ich habe mal eine Frage was die Ausfallsicherheit / den WAF angeht. Wenn ich ein SONOFF Gerät irgendwo zwischen „baue“ zur Messung oder zum Schalten, dann kann ich doch nur noch darüber (WiFi) schalten, oder? Es sei denn ich schließe es Parallel zum eig. Schalter an. Ich denke nämlich gerade, dass ich meiner Frau nicht erklären kann, wie sie die Lampe bei W-Lan-Ausfall… weiterlesen »

Kim
Gast
Kim

Hallo Torben,
Mann kann einen Schalter parallel zum Sonoff an klemmen, damit wird dann das Sonoff im Bedarfsfall überbrückt. Das Licht geht dann aber auch nur noch aus wenn beider Geräte auf „Aus“ stehen

Andreas
Gast
Andreas

Guten Tag und danke für die hilfreiche Seite. Ich bekomme mitten in der Installation (genauer: nach der Kopie ins arduino-Verzeichnis) die Fehlermeldung

Ungültige Bibliothek /Users/andreasloeffler/Documents/Arduino/libraries/Sonoff-Tasmota-development

Wie geht es jetzt weiter? Ich nutze die #define VERSION 0x05050202 // 5.5.2b

Andreas
Gast
Andreas

Inzwischen habe ich das lösen können (Neustart vom arduino schien das zu bewerkstelligen, leider haben sich auch einige der Dateinamen oben geändert – aber das kriegt man anhand der Fehlermeldungen gut heraus). Aber es gibt ein neues Problem: Arduino: 1.8.1 (Mac OS X), Board: „Generic ESP8266 Module, Serial, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None“ xdrv_ir_send:46: error: ‚IRsend‘ does not name a type IRsend *irsend = NULL; ^ /Sonoff-Tasmota-development/sonoff/xdrv_ir_send.ino: In function ‚void ir_send_init()‘: xdrv_ir_send:50: error: ‚irsend‘ was not declared in this scope irsend = new IRsend(pin[GPIO_IRSEND]); // an IR led is at GPIO_IRSEND ^ xdrv_ir_send:50: error:… weiterlesen »

Kai
Gast
Kai

Exact dasselbe Problem. Weiß jemand Rat? Ich glaube, dass ich im April mal einen einfachen BASIC-Switch so geflasht habe, jetzt sind die DUAL angekommen, und ich hatte die Arduino-Libs aktualisiert.
Dann der komische ir-Fehler.

Weiß jemand Rat?

Dominik
Gast

Ich habe in der Datei xdrv_ir_send.ino die Zeile „#include “ unter „#include “ hinzugefügt und das hat bei mir den Fehler behoben

Dominik
Gast
Dominik

Also #include unter #include

Dominik
Gast

Ich habe einfach die „IRsend“ Bibliothek in die Datei „xdrv_ir_send.ino“ mit eingebunden

Kai
Gast
Kai

Volltreffer, vielen Dank.
Und zualleroberst natürlich vielen Dank an Daniel, für diesen spitzen Beitrag. Jetzt muss ich den DUAL nur noch irgendwie in den Flash-Mode bekommen, hoffe ich treffe den richtigen Pin, auf GND zu ziehen.

Martin Zobel-Helas
Gast
Martin Zobel-Helas

https://github.com/arendst/Sonoff-Tasmota/wiki/Prerequisite sagt ganz klar:

If option USE_IR_REMOTE is enabled in user_config.h install the IRremoteESP8266 library version 1.0.2 via the library manager

. Dann gibt es den oben genannten Fehler auch nicht.

Jörg
Gast
Jörg

Hallo, ich finde die Anleitung auch super. Leider bekomme ich noch folgende Meldungen: In file included from /home/joerghildering/Arduino/libraries/NeoPixelBus_by_Makuna/src/NeoPixelBus.h:50:0, from /home/joerghildering/Arduino/libraries/Sonoff-Tasmota-master/sonoff/sonoff.ino:175: /home/joerghildering/Arduino/libraries/NeoPixelBus_by_Makuna/src/internal/Layouts.h:60:21: warning: unused parameter 'height' [-Wunused-parameter] static uint16_t Map(uint16_t width, uint16_t height, uint16_t x, uint16_t y) ^ /home/joerghildering/Arduino/libraries/NeoPixelBus_by_Makuna/src/internal/Layouts.h:105:21: warning: unused parameter 'width' [-Wunused-parameter] static uint16_t Map(uint16_t width, uint16_t height, uint16_t x, uint16_t y) ^ /home/joerghildering/Arduino/libraries/NeoPixelBus_by_Makuna/src/internal/Layouts.h:139:21: warning: unused parameter 'width' [-Wunused-parameter] static uint16_t Map(uint16_t width, uint16_t height, uint16_t x, uint16_t y) ^ /home/joerghildering/Arduino/libraries/NeoPixelBus_by_Makuna/src/internal/Layouts.h:154:21: warning: unused parameter 'height' [-Wunused-parameter] static uint16_t Map(uint16_t width, uint16_t height, uint16_t x, uint16_t y) ^ /home/joerghildering/Arduino/libraries/NeoPixelBus_by_Makuna/src/internal/Layouts.h:216:21: warning: unused parameter 'height' [-Wunused-parameter] static uint16_t Map(uint16_t width, uint16_t height,… weiterlesen »

Hubert
Gast
Hubert

SONOFF – Wireless Control Switch

Deine Beschreibung hat mir sehr gefallen und ich habe sie auch gleich umgesetzt.

Mir ist ein kleiner Fehler aufgefallen, es kann auch sein, dass es an meiner Installation liegt. Wenn ich folgendes Attribut einsetze, wird ein schalten am Sonoff direkt am Gerät bzw. an in der Webseite nicht in Fhem erkannt.
— attr WZ_Deckenlicht subscribeReading_state cmnd/WZ_Deckenlicht/POWER;

Nach einer Änderung auf:
— attr WZ_Deckenlicht subscribeReading_state stat/WZ_Deckenlicht/POWER;
erkennt Fhem den richtigen Schaltzustand egal wo ich schalte.

Gruß
Hubert

Dirk
Gast
Dirk

Hallo, Super Arbeit 🙂
Ich habe allerdings das Problem, dass ich den Eintrag den Sonow_pow in user_config.h nicht finde.
Auch auf GitHub ist dieser Eintrag nicht findbar. Ich kann zwar flashen, aber es findet keine Anmeldung im Netzwerk statt 🙁
Gibt es eine ältere Version wo das Sonoff Device noch auswählbar ist?
HILFE!!!!

Dirk
Gast
Dirk

Hallo. Hat sich erledigt. Unglaublich aber meine Arduino Version war zu alt.
Neueste Version drauf und alles ist i,O, 🙂

tom
Gast
tom

Hi Daniel, tolle und ausführlich Beschreibung. Hast Du einen Tipp wo ich den Ordner Arduino15 finden könnte ….Unter C:/Users/(username)/AppDataLocal/Arduino15 ist zumindest nichts.
PS: Kleine Korrektur eines Schreibfehlers: NeoPixelBux by Makuna – statt Bux Bus.
LG Tom

Jochen
Gast
Jochen

Hi in der Anleitung ist ein Tippfehler. Du findest den Ordner Arduino15 unter: C:\Users\Jochen\AppData\Local\Arduino15. Also zwischen AppData und Local ein „\“ 😉
Grüße Jochen

tom
Gast
tom

Kurze Frage (da ich nun seit sehr vielen Stunden es nicht schaffe, die ino Dateien zu kompilieren. Ich habe im Log die Fehlermeldung:
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
Ungültige Bibliothek C:\Users\Schroeder\Documents\Arduino\libraries\Sonoff-Tasmota-master in C:\Users\Schroeder\Documents\Arduino\libraries\Sonoff-Tasmota-master gefunden
Weiter oben steht:
C:\Users\Schroeder\Documents\Arduino\libraries\Sonoff-Tasmota-master\sonoff\xdrv_03_energy.ino:253:27: fatal error: TasmotaSerial.h: No such file or directory
#include
Was mache ich falsch?

bla
Gast
bla

Hallo
Ich habe genau das gleiche Problem.

Björn
Gast
Björn

Hatte das Problem mit der ArduinoCC auch gehabt. Bin dann auf Atom mit der PlatformIO umgestiegen und dort ging es dann ohne Probleme zu flashen.

bla
Gast
bla

Danke Dir Björn.
Ich musste mich etwas einfuchsen, da ich Atom und PlatformIO nicht kannte, aber nach kurzer Zeit und mit etwas Hilfe von Youtube habe ich es hinbekommen.
Danke nochmals.

Volker
Gast
Volker

Erstmal auch von meiner Seite ein ganz dickes Danke an Daniel für die super Beschreibung. Frage: Hat jemand das in letzter Zeit mal durchgespielt? Bin über verschiedene Hürden weggekommen, aber hänge jetzt im File: file eagle.flash.1m0.ld an der letzten Zeile: INCLUDE „../ld/eagle.app.v6.common.ld“- die es da nicht gibt, und auch Umbelennen des Pfades hilft nix. Tipps sind natürlich hochwillkommen und noch eine Frage: hab ein kleines Sonoff Programm selber geschrieben, läuft auch auf einem D1-Mini tadellos. Um es auf den Sonoff S20 zu portieren, sollte doch die Änderung des Boards auf „Generic8266“ – „1M-no SPIFFS“ reichen, oder braucht es da ein… weiterlesen »

Tim
Gast
Tim

Hallo,
brauche ich neben dem (verlinkten) USB-TTL Konverter und einem PC noch weitere Hardware?

Ich habe hier ein paar S20, die leider schon die neue Firmware 1.6 ab Werk installiert haben, daher ist OTA nicht möglich 🙁

Tim

erni2708
Gast
erni2708

Hallo, wo finde ich die Datei
„eagle.flash.1m0.ld“ ??
Wie oben im Text beschrieben.
Oder ist damit die
esp8266.flash.1m0.ld gemeint ???

Mfg
erni

Daniel Rubio Hernandez
Gast
Daniel Rubio Hernandez

Hallo super Bericht hast du evtl Ahnung wie ich an meine Verbrauchsdaten komme…er zeigt nur noch sie letzten 3 Monate an.

Beste Grüße

Micha
Gast
Micha

Hallo Daniel,

deine Anleitung ist super gut geschrieben nur gehts bei mir noch nicht.

ich hab mehrere POW die nich nutzen möchte, nur hänge ich immernoch beim ersten. Er mag nich über FHEM schalten. Wenn ich das Webinterfache nehme oder den Taster am POW dann kann ich ihn Ein/Ausschalten, im Fehm blinkt nur die blaue LED aber die rote geht nicht an und ich höre kein Relais anziehen. Allerdings wird der Status richtig angezeigt im FHEM.

fehlt was?

pow.JPG
Dawid
Gast

Bekomme folgende Fehlermeldung. Jemand eine Idee?

exec: „make“: executable file not found in %PATH%
Fehler beim Kompilieren für das Board Generic ESP8266 Module.

Sebastian K
Gast
Sebastian K

Könnte mir jemand einen Tip geben: Bis dato hatte ich nur Sonoff Switche mit EspEasy an meinem Fehm Server angebunden. Der Pow wurde mit Tasmato geflasht, und auf dem Pi (Fehm Server wurde das Mosquitto Modul nach deiner Anleitung installiert. Daten kommen dort auch an: pi@ZERO:/opt/fhem $ mosquitto_sub -d -v -t \# Client mosqsub|1944-ZERO sending CONNECT Client mosqsub|1944-ZERO received CONNACK Client mosqsub|1944-ZERO sending SUBSCRIBE (Mid: 1, Topic: #, QoS: 0) Client mosqsub|1944-ZERO received SUBACK Subscribed (mid: 1): 0 Client mosqsub|1944-ZERO received PUBLISH (d0, q0, r1, m0, ‚tele/POW_Keller/LWT‘, … (6 bytes)) tele/POW_Keller/LWT online Client mosqsub|1944-ZERO received PUBLISH (d0, q0, r0, m0,… weiterlesen »

Dirk
Gast
Dirk

Bei mir stoppt es leider damit

Arduino: 1.8.3 (Windows 7), Board: „Generic ESP8266 Module, Serial, 80 MHz, ck, 26 MHz, 40MHz, QIO, 1M (no SPIFFS), v2 Prebuilt (MSS=536), Disabled, None, 115200“

Archiving built core (caching) in: C:\Users\DSTEIN~1\AppData\Local\Temp\arduino_cache_763434\core\core_esp8266_esp8266_generic_UploadTool_esptool,CpuFrequency_80,ResetMethod_ck,CrystalFreq_26,FlashFreq_40,FlashMode_qio,FlashSize_1M0,LwIPVariant_v2mss536,Debug_Disabled,DebugLevel_None____,UploadSpeed_115200_8e6f51d24a480648185d85fb84246950.a
Der Sketch verwendet 560241 Bytes (54%) des Programmspeicherplatzes. Das Maximum sind 1023984 Bytes.
Globale Variablen verwenden 55804 Bytes (68%) des dynamischen Speichers, 26116 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.
error: Invalid argument or value after {upload.erase_cmd} (argument #8)
error: Invalid argument or value after {upload.erase_cmd} (argument #8)

Kann da jemand helfen?

Uwe H.
Gast
Uwe H.

Ich ungehe alle Beschäftigung mit Arduino IDE und C++ durch die Verwendung fertiger binaries.
Einziger Nachteil bisher: ich kann keinen Temperatursensor im POW verbauen, weil Theo nicht verantworten will das sich irgend ein Unwissender selber grillt.
Netzspannung ist WIRKLICH GEFÄHRLICH wenn man nicht weiss was man tut.
Ich würde am Pow auch keinen Sensor aus dem Gehäuse herausführen.

Uwe H.
Gast
Uwe H.

Das war damals ein guter Einstieg in die FHEM Einbindung meiner Tasmota Sonoffs.
Da mein TTL-USB Adapter sich weigerte 3,3V für den Sonoff zu liefern, verwende ich seither meinen Test WemosD1 der sowieso auf einer Steckplatte jederzeit greifbar ist. Einfach den D1 per Drahtbrücke im Reset halten und TXD und RXD NICHT kreuzen.
Fertig ist der nebenberufliche Programmieradapter für alle ESPs.

Uwe H.
Gast
Uwe H.

Achtung! Geänderte Topics beim Pow seit Tasmota 6!

Bisher war das Topic für die Messwerte des Pow ENERGY.
Neuerdings ist ENERGY ein Untertopic bei SENSORS.
Ein Blick auf die Console wirkt erhellend 😉
Jetzt muss ich diverse Dinge in FHEM umstricken.

tom
Gast
tom

Kurze Frage: Ich hatte schon mal MQTT installiert und auch einen Sonoff S20 Stecker damit gesteuert. Jetzt bei einer Neuinstallation stehe ich schon seit Stunden auf dem Schlauch. Die IP, die ich in FHEM eintrage muss die gleiche sein, die ich auch als Host-Adresse in der MQTT Konfiguration des Sonoff Basic Module eintrage?
Bei mir gibt es zwar eine Verbindung zum Broker (State open; connection active), ich bekomme allerdings den S 20 Stecker nicht darüber geschaltet … ich bin sehr ratlos.

state ON
transmission-state outgoing publish sent

Es tut sich nichts.