NodeMCU als Sonoff Ersatz mit Tasmota

Die Tage bin ich über einen Artikel bei Heise auf die Geräte „Sonoff“ von http://sonoff.itead.cc/ aufmerksam geworden.  Derzeit gibt es im aktuellen Magazin 02/2018 einen mehrteiligen Artikel hierzu.

Das Prinzip welches die Heise Redaktion anwendet ist, die Sonoff Geräte mit einer eigenen Firmware zu flashen. Dazu sind ein paar Modifikationen an den Sonoff Geräten nötig, wie das anlöten von Pins um die Software von Arduino IDE auf Geräte zu bekommen. Es wird die komplette Software gelöscht und eine neue Software installiert, welches es dann zulässt alle Sonoff Geräte als MQTT-Geräte anzusprechen. Statusmeldung etc. werden dann per MQTT übertragen.

Nach genauerer Untersuchung der Software, ist mir aufgefallen, das diese ebenfalls auf einem NodeMCU lauffähig ist. Nach ein paar Tests konnte ich ein Relais ansprechen.

 

 

 

 

 

Beim konfigurieren des NodeMCU des „Gerätetyp“ ist mir aufgefallen, dass man noch sehr viel mehrere Geräte und Sensoren anschließen kann. Die Auswahl ist enorm und macht somit jeden ESP8266 MCU zu einem vielseitig einzusetzenden Controller. Ein Beispiel wäre eine 6-fach Steckdosenleiste mit MQTT Ansteuerung. Außerdem lässt sich eine Philips Hue Bridge emulieren. Dh. alle Geräte können in die Philips Hue App eingebunden werden, was zu folge hat, dass die Geräte dann wieder mit Alexa Echo per Spracheingabe steuerbar sind. Die Software ist einfach unglaublich vielfältig und erlaubt eine maximale Freiheit für die Gestaltung  von Smarthome Lösungen in OpenHAB2, FHEM, Node-Red usw.

Hardware Tipp:  der Anschluss D6 – Pin GIPO15 ist der PIN für die Ansteuerung von einem Relais als Sonoff Basic Modul in der Standard Konfiguration.
Achtung: Low Level Trigger Module funktionieren nicht, da der NodeMCU Spannung sendet.
Dh. es wird ein Active Level Trigger Module benötigt. Das von Amazon angezeigte Relais funktioniert nicht und soll nur als Beispiel gelten.

Relais Karte
Relais Karte

Hier bei Amazon (*) : http://amzn.to/2AD1hDm

NodeMCU als Allrounder mit Tasmota

Dieses Video ansehen auf YouTube.

Der Einsatzbereich ist überdurchschnittlich und es benötigt nicht wirklich die Sonoff Geräte. Ein einziger NodeMCU könnte somit bis 8 Steckdosen steuern und schalten. Jede Steckdose wäre per MQTT-Befehl steuerbar und der Schaltzustand abfragbar bzw. Überwachbar.

Alle 5 Minuten wird ein Statusbericht per MQTT gesendet, in welchen die aktuellen Schaltzustände übermittelt werden über jedes einzelne Schaltelement die vorhanden bzw. konfiguriert sind.

tele/w1sonoff/STATE {"Time":"2018.01.07 17:14:43","Uptime":0,"Vcc":2.983,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"MeinWIFI","RSSI":72,"APMac":"5C:00:00:00:00:00"}}
tele/w1sonoff/STATE {"Time":"2018.01.07 17:19:43","Uptime":0,"Vcc":2.984,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"MeinWIFI","RSSI":70,"APMac":"5C:00:00:00:00:00"}}
tele/w1sonoff/STATE {"Time":"2018.01.07 17:24:43","Uptime":0,"Vcc":2.984,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"MeinWIFI","RSSI":88,"APMac":"5C:00:00:00:00:00"}}
tele/w1sonoff/STATE {"Time":"2018.01.07 17:29:43","Uptime":0,"Vcc":2.984,"POWER1":"OFF","POWER2":"OFF","POWER3":"OFF","Wifi":{"AP":1,"SSId":"MeinWIFI","RSSI":90,"APMac":"5C:00:00:00:00:00"}}

Beim einschalten des NodeMCU werden ebenfalls sofort wichtige Daten übermittelt, wie IP-Adresse. Dies macht die Suche nach IP-Adressen im lokalem Netzwerk überflüssig.

tele/w1sonoff/INFO1 {"Module":"Sonoff Basic","Version":"5.11.0a","FallbackTopic":"DVES_2D32BD","GroupTopic":"sonoffs"}
tele/w1sonoff/INFO2 {"WebServerMode":"Admin","Hostname":"w1sonoff-4797","IPAddress":"192.168.1.20"}
tele/w1sonoff/INFO3 {"RestartReason":"Software/System restart"}
stat/w1sonoff/RESULT {"POWER1":"ON"}
stat/w1sonoff/POWER1 ON
stat/w1sonoff/RESULT {"POWER2":"OFF"}
stat/w1sonoff/POWER2 OFF
stat/w1sonoff/RESULT {"POWER3":"OFF"}
stat/w1sonoff/POWER3 OFF

 

Weiterführende Links:

  1. http://sonoff.itead.cc/en/ Produkte
  2. https://github.com/arendst/Sonoff-Tasmota/wiki Wiki zu Tasmota
  3. https://github.com/arendst/Sonoff-Tasmota Software für die Arduino IDE
  4. https://github.com/letscontrolit/ESPEasy/releases als Binary Version (Flash Programm enthalten)

Falls es Fragen zur Programmierung, Hardware, Software gibt, einfach hier einen Kommentar hinterlassen, ich helfe gerne.

Grüß ,  Joachim

Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Wenn du auf so einen Verweislink klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine Provision. Weiterführende Infos gibt es hier unter Punkt 8 in der Datenschutzerklärung  https://blog.unixweb.de/datenschutzerklaerung/

24 Kommentare

  1. Zur Zeit habe ich ein Sonoff POW, einen Basic und einen S20 im Einsatz, alle mit Tasmota und betriebsbereit über FHEM. Funktioniert hervorragend.
    Der POW überwacht meine Drainagepumpe, die hinter meinem Haus darauf achtet, das der Grundwasserstand nicht zu hoch wird….

  2. Hallo!

    gibts eine Tasmota Software als Hex File fürs ESP8266 zum Flashen?
    meine Arduino IDE will nicht, bekomme es damit zu laufen.
    Haufenweise Fehlermeldungen, mit der ATOM IDE muss ich es erst testen ob ich klar komme damit.

    Vielen Dank schon mal
    LG Stef

  3. so so….
    „Nach genauerer Untersuchung der Software, ist mir aufgefallen,“
    Beim konfigurieren des NodeMCU des „Gerätetyp“ ist mir aufgefallen,

    was dir alles auffällt…..ich hol dich mal wieder runter….. die sonoff´s arbeiten alle mit einem esp8266. und tasmota ist für eps´s gemacht. !!

    1. Hallo Peter

      Gut dass Du uns mit Deinem Wissen beglückst, wäre ja schlimm wenn man das so kommentarlos stehen lassen würde.

      Grüße Joachim

  4. Moin,

    Haben sie mal versucht die Syslog Funktion zu nutzen, bekomme es nicht zum laufen bei mittlerweile 10 Geräten wehre es zur Überwachung recht nett, hab es mit syslog-ng probiert welches auch erreichbar ist bei anderen Geräten funktioniert es nur bei Tasmota leider nicht, im Netz b.z.w. im Wiki von Tasmota ist da nix zu finden.

    1. Hallo Sandfrog

      Schon mal das probiert was hier in der Dokumentation steht:

      https://github.com/arendst/Sonoff-Tasmota/wiki/Troubleshooting

      Syslog

      If you have a Linux system around (say a Pi), it is probably running syslog already and you just need to configure it to listen on the network.

      On systems running rsyslog (most linux distros), edit the file /etc/rsyslog.conf. Adding (or uncommenting) the following lines will probably start making the logs show up in some file under /var/log

      $ModLoad imudp $UDPServerRun 514

      1. Danke für den tip, aber dadran liegt es scheinbar nicht ich werde nochmal etwas danach forschen, ansonsten werde ich wohl mal einen Schalter ausbauen und schauten ob die überhaupt was senden.

        1. Hab es hinbekommen, leider ohne IP-Filter der funktioniert irgendwie nicht, aber soweit geht es da muss man erstmal drauf kommen, ich begrenze das dann mit iptabels.

          Einfach folgendes in die /etc/syslog-ng/syslog-ng.conf

          ### Smarthome Logs ###
          source s_udp
          {
          udp(ip(„0.0.0.0“) port(514));
          };
          destination d_smarthome {
          file(„/var/log/smarthome.log“);
          };
          #filter f_smarthome {
          # host(„192.168.***.***“);
          #};
          log {
          source(s_udp);
          # filter(f_smarthome);
          destination(d_smarthome);
          };

  5. Es ist natürlich nicht ganz verwunderlich, dass Tasmota auf einem ESP8266 läuft – eher umgekehrt, dass es die Entwickler geschaft haben, Tasmota so klein zu bekommen, dass es sogar auf dem viel kleinerem Flash des ESP in den Sonoff-Geäten unter zu bringen.

    Der eigentliche Vorteil der Sonoffs ist, dass man sich nicht selbst mit 230V rumschlagen muss – man hat das nötige 3,3V Netzteil drin und auch ein Gehäuse, das einen vor der Berührung der Netzspannung schützt. Direkt aus China (über eBay) zu einem konkurenzlosen Preis, bei dem man die benötigten Einzelteile nicht bekommt.

    Sehr spannend wird der diskrete Aufbau mit einem ESP8266 allerdings, wenn man abseits der Sonoffs Lösungen entwickeln möchte. Neben der (leider nicht fertig von Sonoff erhältlichen) 8-fach Steckdose im Beitrag, wo man aber wegen der 230V natürlich vertiefte Kenntnisse im Umgang mit Netzspannung haben sollte (ziemliches Haftungsrisiko), fallen mir da noch ein paar Dinge ein, die im Bereich der Kleinstspannung liegen:

    a) Amazon Echo Dot bei Multiroom unterstützt leider kein Bluetooth. Will man wirklich gute Tonqualität (z.B. im Wohnzimmer) ist eine externe Anlage Pflicht. Dummerweise wäre diese dann permanent über Klinke am Echo Dot; man hätte bei ausgeschalteter HiFi-Anlage also keine Sprachrückmeldung, keine Nachrichten (wozu die Tonqualität des Dot reichen würde) usw.
    Mit einem ESP und eigenem Stereorelais (für Audio möglichst mit Goldkontakten) könnte man zwischen einem Minilautsprecher mit Klinkeneingang und der HiFi-Anlage umschalten – oder man öffnet den Dot und manipuliert per Relais schlicht die Erkennung eines gesteckten Klinkenkabels. Die 5V könnte manüber das Dot-Netzteil mit abgreifen. Per Sprachbefehl kann man dann den Ton entweder über Minilautspecher (oder Dot-Lautsprecher, wenn man die Klinkenerkennung manipuliert) oder HiFi-Anlage ausgeben. Das Ganze kann man dann als Gruppe einrichten, so dass „Alexa, Musikanlage an“, sowohl über einen Sonoff die Anlage schaltet, als auch den Echo-Ton zur Musikanlage überträgt.
    Auch wäre mit Relais (oder schlicht Hubmagneten vor der Anlage) eine Quellwahl auf Line-In/Aux möglich.

    b) Interessant wäre auch eine Emulation der Sonoff B1 – als RGBWWCW-Lightstripcontroller. Im Prinzip werden in der B1 5 Kanäle für fünf Lichtfarben (Rot Grün Blau Warmweiß Kaltweiß) pulsweitenmoduliert. Zwar sind solche Lightstrips kaum zu bekommen, man kann aber RGB und WW/CW Strips kombinieren – oder schlicht nur WW/CW nutzen (für Wohnbeleuchtung eh die wichtigere Funktion). Ich habe so etwas (mit max. 4 Farben) schon mal für Ikea Tradfri-Zigbeemodule bzw. Jiawen E27 RGBW Zigbee – Module gebaut (http://www.urban.tk/zigbee_lightstrip-controller.pdf); im Prinzip setzt man statt des Zigbee-Moduls schlicht einen ESP ein.

    Insgesamt stimme ich also zu, dass man Tasmota direkt mit einem ESP8266 („nackt“, Wemos D1 oder NodeMCU) duraus sinvoll nutzen kann. Sonoffs ersetzt man damit aber besser nicht – 230V sind kein Spaß. Natürlich machen das alle, auch wenn sies nach gesetztlichen Vorschriften ohne die formale(!) Qualifikation nicht dürfen. Das eigentliche Problem ist das Haftungsrisiko – ein Selbstbau mag noch so gut funktionieren, wenn aber irgend etwas passiert, hat man die Beweislast, das es nicht an dem Selbstbau lag. Das kann dann richtig ins Geld gehen…

    1. Hallo Andre

      danke für Deinen umfangreichen Kommentar. Ich bin ausgebildeteter Elektrotechniker und darf mit 240 / 380 Volt bauen, basteln und betreiben was ich will. Hinzu kommt noch dass ich lizenzierter Funkamateur bin der ebenfalls die Qualifikation und Lizenz habe, Geräte mich Hochspannung bis 1000 Volt bauen und betreiben darf. Ich verstehe die allgemeine Panik nicht von Bildern mit Steckdosen, offen gezeigte Verdrahtung NICHT. Was hier schon für dumme Kommentare erhalten habe geht auf keine Kuhhaut (ich meine nicht Dich ).

      Ich unterlasse es inzwischen irgendwelche Fotos zu posten, und wenn wir schon dabei sind, gebe ich auch Warnhinweise dazu. Hobby Techniker sollten von 240 Volt die Finger lassen da Lebensgefahr besteht. Außerdem hab ich nirgendwo eine Anleitung dazu gepostet, also ich verstehe die allgemeine Panikmacherei nicht. Es ist dann auch selbstsam dass sich dann Leute angesprochen fühlen zu kommentieren die sonst nichts bzw. nur sinnfreie Kommentare hinterlassen, die kommen dann wie die Ratten aus ihren Löchern hervor. Oftmals verzweifle ich an den gesunden Menschenverstand vieler Menschen.

      Es wird hierzu keine Anleitung geben, aber vielleicht ein Produkt das man dann bei mir via Amazon kaufen kann. Ob und wie und wo ich das tue muss man schon mir überlassen und geht sonst niemand was an. Die Zertifizierungen werden im gesetzlichen Rahmen durchgeführt werden.

      Möchte Dich hier mit meinen Kommentar nicht angreifen, bitte nicht falsch verstehen. Ich erzähle nur wie die Sachlage ist und wie mit mir im Netz umgegangen wird und warum ich so reagiere.

      Beste Grüße , Joachim

      1. Moin Joachim,

        Ich sehe das genauso, allerdings mus das auch jeder selber entscheiden, was er macht oder nicht, auch diejenigen die keine/wenig Ahnung haben, da hab ich schon schlimmeres gesehen es gibt einen Händler der das Relaismodul als Bausatz auf Lochraster anbietet, und das auch für 230V bewirbt, sowas ist dann schon sehr fragwürdig, vor alledem weil viele die denken mit dem Bausatz und der Video Anleitung wird das schon klappen, dadran das grade der Bausatz schon Fragwürdig ist denkt keiner , da finde ich das so wie du das machst gut, einfach zeigen was möglich ist ohne zu zeigen wie, das setzt Hürden sich damit zu beschäftigen und sich zu informieren.

  6. Hallo Joachim,

    also die Lösung mit dem esp8266 ist absolut mega. Gerade wenn man autark wohnt und keine 230 volt und ggf cloud hat. Bräuchte trotzdem hilfe beim einrichten, hattest diese ja angeboten.
    weches BS ich hab ect. hab ich noch nicht geschrieben. vielen Dank Micha

  7. Hallo Joachim,

    schon mal vielen Dank für die Hilfe. Also gestern habe ich deinen Blog gefunden und hatte auch einen ESP 8266 übrig. Also ans Werk und habe mit der github software von der also der ESP_Easy_2.0 geflasht. Das hat auch geklappt und der ESP_EASY war im W-LAN. Okay dann eingebunden ins Netzwerk und die Einstellungen gesetzt also mqtt einstellung usw. Den iobroker als server gesetzt und dann im esp easy den gpio 0 D3 als Input Signal für ein DHT 11 gesetzt. Delay auf 60 Sekunden.
    Er zeigt mir noch nicht mal im ESP_Easy die Werte an geschweige, dass er die Werte an den iobrocker verschickt. Habe mal einen Switch emuliert und den Test genannt und zack war das ding sofort im iobrocker, also die Verbindung müsste ja damit stehen. Also bitte bitte, ich möchte einmal die Temperatur haben und dann ein Relais schalten. Ich lebe autark mit 24 Volt Gleichstrom und das Thema Funksteckdosen, Broadlink, Sonoff und MI Geräten kann ich nicht mehr hören. In deinem Video sieht es ja so aus, als hätte der ESP 8266 die Sonoff Software drauf bzw. die Tasmota. Ist das die Sonoff-Tasmota-development von github? Wie bekomme ich die denn auf den ESP8266 mit Arduino IDE und was wäre besser?

  8. Hallo Joachim,

    schon mal vielen Dank für die Hilfe. Also gestern habe ich deinen Blog gefunden und hatte auch einen ESP 8266 übrig. Also ans Werk und habe mit der github software von der also der ESP_Easy_2.0 geflasht. Das hat auch geklappt und der ESP_EASY war im W-LAN. Okay dann eingebunden ins Netzwerk und die Einstellungen gesetzt also mqtt einstellung usw. Den iobroker als server gesetzt und dann im esp easy den gpio 0 D3 als Input Signal für ein DHT 11 gesetzt. Delay auf 60 Sekunden.
    Er zeigt mir noch nicht mal im ESP_Easy die Werte an geschweige, dass er die Werte an den iobrocker verschickt. Habe mal einen Switch emuliert und den Test genannt und zack war das ding sofort im iobrocker, also die Verbindung müsste ja damit stehen. Also bitte bitte, ich möchte einmal die Temperatur haben und dann ein Relais schalten. Ich lebe autark mit 24 Volt Gleichstrom und das Thema Funksteckdosen, Broadlink, Sonoff und MI Geräten kann ich nicht mehr hören. In deinem Video sieht es ja so aus, als hätte der ESP 8266 die Sonoff Software drauf bzw. die Tasmota. Ist das die Sonoff-Tasmota-development von github? Wie bekomme ich die denn auf den ESP8266 mit Arduino IDE und was wäre besser?

  9. hat jetzt alles geklappt, hab die Tasmota Software geflasht und mein DHT 11 war schon auf der Platine, trotzdem sollten den laut Datenblatt mit VVC, S und GND anschliessen. Auf dem DHT11 konnte ich aber links ein S sehen, also habe ich VCC mit S vertauscht und zack alle Werte da.
    Trotzdem danke für deine Hilfe.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*