Skip to main content

GHome Steckdose mit Tasmota flashen

Schritt-für-Schritt-Anleitung

MailFlashen Pilerder freien Firmware Tasmota auf smarte Steckdosen von GHome EP2-A.

Achtung!

Das Verändern der Firmware eines Geräts kann immer dazu führen, dass das Gerät unbrauchbar wird. Im schlimmsten Fall kann es danach gar nicht mehr benutzt werden! Die Modifikation geschieht auf eigene Gefahr, wir übernehmen keinerlei Haftung für Schäden!

Was ist Tasmota?

Tasmota ist eine Open-Sourcefreie SoftwareFirmware, zurdie Archivierungauf Geräte installiert (geflasht) werden kann, die auf dem Chip ESP8266 basieren. Günstige smarte Steckdosen beispielsweise hängen häufig von E-Mails.einer Imnicht Businessganz Umfeldso musskomfortablen zumChina-App ab und können ggf. auch nur über das Internet gesteuert werden. Vorteile von Tasmota:

  • Keine Abhängigkeit vom Internet.
  • Kann vollständig im lokalen Netzwerk betrieben und gesteuert werden.
  • Bietet eine einfache Weboberfläche, die im Browser aufgerufen werden kann.
  • Lässt sich einfach in Smart Home-Systeme wie Home Assistant einbinden.

Dieser Beitrag zeigt den Installationsprozess von Tasmota am Beispiel jede E-Mail für 10 Jahre archiviert werden. In der folgendenbei AnleitungAmazon werdeerhältlichen ichsmarten dieSteckdosen InstallationGHome unterEP2-A Rocky(Kein Linux 9 vornehmen. Da Rocky von RedHat abstammt, bietet es einen sehr langen Support und eignet sich hervorragend für Archivierungsanwendungen. Die Distro bietet noch offiziellen Support bis 2032. 
Affiliate-Link).

Installation des OSVoraussetzungen

AlsFolgendes erstessollte wirdvorhanden sein, um die Steckdosen erfolgreich mit Tasmota flashen zu können:

  • Ein WLAN-fähiges Gerät. (hier ein Raspberry Pi 4)
  • Ein Smartphone (hier ein iPhone) oder beliebiges anderes zusätzliches WLAN-fähiges Gerät.
  • Die Steckdosen, die geflasht werden sollen.

Wenn zusätzlich auch die Strommessfunktion genutzt werden soll, muss diese kalibriert werden, dazu benötigt:

  • Ein Strommessgerät, von dem Daten wie Watt, Volt und Ampere abgelesen werden können.
  • Einen Verbraucher, der möglichst konstante Strommengen zieht, z.B. eine Installations60W ISOLampe.
  • benötigt.
Ich

Wie habeman meinerden VMRaspberry 2Pi Kerne, 2GB RAMinstalliert und 32GBsich Speicherdamit zugewiesen,über dieseSSH Ressourcenverbindet,nnennnt aberihr auchin jederzeitunzähligen angepasstAnleitung via Google-Suche nachlesen.

Benötigte Software

Zunächst muss ein wenig Software auf dem Raspberry Pi (oder einem beliebigen anderen Debian-basierten System) installiert werden. UnterDazu Proxmoxverbinden (wir uns per SSH auf einemdas anderenGerät. HypervisorDa habedas ichFlash-Tool esviele Abhängigkeiten hat, ist die Durchführung mit Docker am einfachsten. Sollte Docker noch nicht getestetinstalliert sein, nutzt den nachfolgenden Schnelldurchlauf:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
  $(. /etc/os-release && echo "$VERSION_CODENAME") funktioniertstable" die| Installation\
  nur,sudo wenntee der/etc/apt/sources.list.d/docker.list CPU> Typ/dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Zusätzlich muss auf Hostjeden gestelltFall ist.gitauf Nachdemdem derSystem Installersein:
gebootet
ist,
müssenfolgendeEinstellungenfestgelegt
  • Sprache
  • root
  • Passwort
  • Software
  • werden:

    1
      Tastaturlayout
      sudo (enapt entfernen,install DEgit
      hinzufügen)
      Selection
      => Minimal Install
    • Zielfestplatte 
    • NunJetzt kann das Betriebssystemeigentlich installiertTool tuya-convert von Github geladen werden. NachDies demkann einfach im Home-Verzeichnis gemacht werden:

      1
      git clone https://github.com/ct-Open-Source/tuya-convert
      Anschließend wechseln wir in das neue Verzeichnis:
      1
      cd tuya-convert

      Anpassung an tuya-convert

      Jedes Gerät in einem Netzwerk hat eine MAC-Adresse. An den ersten StartenStellen musseiner MAC-Adresse (Präfix) kann man ableiten, von welchem Hersteller das SystemGerät kommt. Das Tool tuya-convert hat eine Liste dieser Präfixe hinterlegt, um flashbare Geräte identifizieren zu können. Die Steckdosen von GHome scheinen aber MAC-Adressen zu haben, dessen Präfixe dort noch aufnicht denenthalten aktuellstensind. StandDeswegen gebrachterkennt werden.
      Diesdas geschiehtTool mitdiese demnicht folgendenund Befehl: 

      dnf update

      Nunwir müssen die extraPräfixe Packagesergänzen.

      In den Amazon Rezensionen ist die Rede davon, dass der Präfix 34987A hinzugefügt werden muss. Bei meinen Steckdosen war es der Präfix 3CE90E. Deswegenrgen RHELwir aktiviertbeide werden.
      Diesin geschiehtder Liste hinzu, es kann aber sein dass ihr dort noch einen anderen Präfix eintragen müsst, dies erfahrt ihr dann aber erst später im Prozess.

      1
      nano scripts/oui/esp.txt
      und dort ganz am Ende jeweils in eine eigene Zeile die beiden zusätzlichen Präfixe eintragen. Mit STRG + O -> Eingabetaste -> STRG + X (Mac: command statt STRG) speichern und den Editor beenden.

      Steckdose flashen

      Jetzt ist nahezu alles vorbereitet, um den Flash-Vorgang zu starten.

      .env

      Um das Flash-Tool mit Docker zu starten, wird noch eine .env Datei benötigt. In unserem aktuellen Verzeichnus tuya-convert befindet sich dazu eine Beispieldatei mit dem folgendenNamen Befehl:.env-template, diese kopieren wir:

      installwirdieextra
      dnf1
      -y
      epel-release
      cp .env-template .env

      Nachdem

      Pakete
      installiertDer haben,wichtigste gehtEintrag esin dieser Datei ist der Name des WLAN-Adapters auf unserem System. Voreingestellt ist dort wlan0 und das sollte auf dem Raspberry Pi und vielen anderen Systemen auch genau so passen. Alle Adapter anzeigen lassen kann man sich unter anderem mit einip paar allgemeinen Tools, die auf jedem System meiner Meinung nach installiert werden sollten, weiter: 

      addr
      .

      dnf install htop wget nano git tar

      Nachdem dies erledigt ist, müssen wirSollte der VMName nochabweichen, einenmüsst Hostnamenihr geben.den Dazuvorab diein der neuen Datei /etc/hostname.env bearbeitenanpassen.

      Docker Image bauen und denContainer Namen eintragen (bspw. mit nano). Abschließend muss zum Übernehmen des Namens noch die VM neugestartet werden.

      Abhängigkeiten installieren starten

      NachdemJetzt dasist Betriebssystemendlich nunalles aufgesetztbereit ist,für kannden mitStart. derDas eigentlichenDocker InstallationImage begonnen werden. Ein Teil der Abhängigkeiten kannwird direkt als Paket heruntergeladen werden, der Rest muss so auf dem System installiertgebaut, werden.dann
      ein Container erstellt und dieser gestartet. Sobald der Vorgang abgeschlossen ist wird der Container wieder automatisch gelöscht:

      Hinweis
      Der Build-Vorgang kann beim ersten Mal sehr lange dauern. Auf meinen Raspberry Pi 4 lag die Dauer bei 4-5 Minuten.
      https://repo.manticoresearch.com/manticore-repo.noarch.rpm
      installhttp://repo.iotti.biz/CentOS/9/x86_64/unrtf-0.21.9-17.el9.lux.x86_64.rpm
      http://repo.iotti.biz/CentOS/7/x86_64/xlhtml-0.5-19.el7.lux.x86_64.rpm
      https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/tcp_wrappers-devel-7.6-
      77.el7.x86_64.rpm
      https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/tcp_wrappers-libs-7.6-
      77.el7.x86_64.rpmhttps://dl.rockylinux.org/pub/rocky/9/CRB/x86_64/os/Packages/l/libzip-devel-
      1.7.3-7.el9.x86_64.rpm
      systemctl
      dnf1
      install
      dnfsudo installdocker opensslcompose mariadbbuild mariadb-server&& phpsudo php-ldapdocker php-gdcompose php-memcache php-pdo php-mysqli
      php-curl php-zip nginx manticore manticore-extra tre-devel sysstat python3 gcc poppler libytnefdevel memcached tcp_wrappers-libs openssl-devel zlib-devel mariadb-connector-c-devel
      systemctl enablerun --now sysstat
      wget http://ftp.wagner.pp.ru/pub/catdoc/catdoc-0.95.tar.gz tar
      -xzf catdoc-0.95.tar.gz
      cd catdoc-0.95
      ./configure
      make
      make install
      cd ..
      rm catdoc-0.95tuya
      -Rf
      dnf
      start
      mariadb
      systemctlEs enablekann mariadb
      systemctlsein, start nginx
      systemctl enable nginx
      systemctl disable manticore
      systemctl stop manticore
      chown nginx:nginx /var/lib/php/session -R

      SELinux deaktivieren

      nano /etc/sysconfig/selinux
      SELINUX=disabled
      /etc/selinux/config
      SELINUX=disabled

      Firewall Ports öffnen

      firewall-cmd --zone=public --permanent --add-port=80/tcp
      firewall-cmd --zone=public --permanent --add-port=25/tcp

      Nun mussdass noch einige Warnhinweise bestätigt werden müssen. Sobald die nachfolgende Meldung erscheint, müssen zunächst die dort erwähnten Schritte durchgeführt werden, die nachfolgend auch detaillierter beschrieben werden, bevor es mit “Enter” weitergehen kann.

      user
      1
      2
      3
      4
      5
      6
      IMPORTANT
      1. Connect any other device (a smartphone or something) to the WIFI vtrust-flash
         This step is IMPORTANT otherwise the smartconfig may not work!
      2. Put your IoT device in /etc/php-fpm.d/www.confautoconfig/smartconfig/pairing mode (LED will blink fast). This is usually done by pressing and holding the primary button of the device
         Make sure nothing else is plugged into your IoT device while attempting to flash.
      3. Press ENTER to continue
      der
      1. Das Tool hat jetzt ein WLAN mit dem Namen vtrust-flash geöffnet. Mit diesem verbinden wir uns jetzt mit dem Smartphone oder einem anderen beliebigen WLAN-fähigen Gerät.
      2. Dann stecken wir die smarte Steckdose ist eine stromführende Steckdose. Sie sollte blau blinken und befindet sich damit im Pairing-Modus. Falls nicht, den Button an der groupSteckdose Parameterlange aufdrücken, nginxbis geändertwerden.die Anschließendsmarte denSteckdose PHP-FPMeinmal Prozess mit systemctl restart php-fpm neu starten.startet.

      3. Ist

        Pilerbeides installierenerledigt,

        kann

        Nundie sollten alle AbhängigkeitenMeldung auf dem SystemRaspberry installiert sein und wir könnenPi mit der InstallationEingabetaste desbestätigt Pilerswerden.

      4. an
      5. Jetzt sichläuft weitermachen.
        Dazuder mussvollautomatische alsFlashing-Prozess, Erstesbei dem vorerst nur ein neuerminimales NutzerZwischensystem angelegtaufgespielt werden:

        groupaddwird.
      6. piler
        useradd
      -g

      Sobald pilerdas -m -s /bin/bash -d /var/piler piler
      usermod -L piler
      chmod 755 /var/piler

      Nachdem der Nutzer angelegtabgeschlossen ist, könnenerscheint wirfolgende weiterhin als root Piler bauen und installieren:

      wget https://bitbucket.org/jsuto/piler/downloads/piler-1.4.1.tar.gz
      tar -xzf piler-1.4.1.tar.gz
      cd piler-1.4.1
      ./configure --localstatedir=/var --with-database=mariadb
      make
      make install
      echo "/usr/local/lib" >> /etc/ld.so.conf
      ldconfig

      Nun ist Mail PilerMeldung auf dem SystemRaspberry installiert.Pi:

      Zur
      initialen
      Konfigurationmüssen
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      You can also provide your own image by placing it in the /files directory
      Please ensure the firmware fits the device and includes the bootloader
      MAXIMUM SIZE IS 512KB
      
      Available options:
        0) return to stock
        1) flash espurna.bin
        2) flash tasmota.bin
        q) quit; do nothing
      Please select 0-2: 2
      Are you sure you want to flash tasmota.bin? This is the point of no return [y/N] y
      Da wir nunTasmota auf dem Gerät haben möchten, wählen wir Option 2 und bestätigen dies anschließend nochmal mit
      OPENSSL_ENABLE_SHA1_SIGNATURES=1 make“y”. postinstallJetzt denwird KonfigurationsassistentenTasmota durchlaufen.
      Dabeiauf müssendas Gerät übertragen, anschließend startet die folgendenSteckdose Optionenneu. eingegebenDie werden:

      WebServerFrage, Gruppe:ob nginx
      MySQLein Hostname:weiteres localhost
      MySQLGerät Socket:geflasht /var/lib/mysql/mysql.sock
      MySQLwerden Database:soll, bestätigen
      MySQL Nutzername: bestätigen
      MySQL Piler Passwort: Zufallspasswort generieren
      MySQL Root Passwort: egal was, da socket Authentifizierung verwendet wird
      SMTP Relay Host: öffentlicher Domain des Mail Piler
      SMTP Port: 25
      2xkann mit y“n” bestätigen

      Dasbeantwortet Scriptwerden.
      sollte

      Vorgang nunbricht erfolgreich durchlaufenab und zumfindet Abschlusskein dieGerät

      Meldung

      Wenn Donees post
      installationzu tasks.keinem bringen.Problem Nachdemgekommen ist, kann dieser Abschnitt ignoriert werden.

      Möglicherweise erhaltet ihr folgende Meldung, bevor der eigentlicheFlash-Vorgang Pilerstarten jetztkann:

      läuft,
      müssen
      wirdenWebServer
      konfigurieren.Dazueinspielen/etc/nginx/nginx.confhttps://jonasled.de/download/mailpiler-nginx.conf
      systemctlrestart
      habe
      1
      ich2
      eine3
      fertige4
      Konfiguration,5
      welche6
      wir7
      nur
      müssen
      Timed und
      anschließendout denwhile Nginxwaiting neustarten:

      rmfor /etc/nginx/nginx.confthe device to (re)connect ====================================================== Attempting to diagnose the issue... No ESP82xx based devices connected according to your wifi log. Here is a list of all the MAC addresses that connected: 3c:e9:0e:f2:23:b5 a6:02:6b:4b:b6:38
      wget
      -O
      nginx

      Wenn
      allesDamit gut gelaufen ist, sollte nun das Login über den Web Browser erreichbar sein.
      Auf der Oberflöche können wir uns nun mit admin@local als Nutzername und pilerrocks als
      Passwort anmelden. Falls es nach dem Login zu einem Redirect auf eine falsche Domain kommt,muss in der Datei /usr/local/etc/piler/config-site.phpscripts/oui/esp.txt ggf. ein weiterer MAC-Präfix eingetragen werden. Die Meldung gibt aus, welche beiden Geräte gefunden worden sind, hier:
      • 3c:e9:0e:f2:23:b5
      • a6:02:6b:4b:b6:38

      Eins davon wird die Steckdose sein, das andere das Smartphone. Dort lässt sich leicht nachschauen, welche MAC-Adresse das Gerät hat, bei meinem iPhone war es die a6:02:6b:4b:b6:38, damit gehört die andere Adresse zur Steckdose. Der Präfix sind die ersten drei Blöcke ohne Doppelpunkt: 3c:e9:0e:f2:23:b5 = 3CE90E

      Nach der SITE_NAMEErgänzung geändertkann der Vorgang dann einfach wiederholt werden, ggf. muss die Steckdose wieder durch langes Drücken des Buttons in den Pairing-Modus versetzt werden.

      Hier

      Konfiguration

      wird
      aber

      Die Steckdose läuft jetzt mit Tasmota. Jetzt folgen noch nichtein vielpaar funktionieren,Schritte, daum sie korrekt zu konfigurieren.

      Steckdose mit WLAN verbinden

      Um die DiensteSteckdose nochmit nichtdem funktionieren.gewünschten DazuWLAN müssenzu zuerstverbinden, die
      Servicessind undfolgende einigeSchritte Dateiennotwendig:

      an
      1. Die neu geflashte Steckdose öffnet ein WLAN mit einem Namen, der richtigenmit Stelle“tasmota_xxxxx-xxxx” verlinktstartet.
      2. werden
      3. Das undSmartphone danachmit diediesem ServicesWLAN der Steckdose verbinden. 
        gestartetwlan-tasmota-verbindung.jpg
      4. werden:

        ln
      5. Es -söffnet /usr/local/sbin/pilersich /usr/sbin/piler
        lnnach -sdem /usr/local/sbin/piler-smtpVerbinden /usr/sbin/piler-smtp
        lnautomatisch -seine /usr/local/etc/pilerWebseite /etc/piler
        lnzum -sEintragen /usr/local/etc/piler/manticore.confder /usr/local/etc/piler/sphinx.conf
        ln -s /usr/local/libexec/piler/pilersearch.service /etc/systemd/system/pilersearch.service
        ln -s /usr/local/libexec/piler/piler.service /etc/systemd/system/piler.service
        ln -s /usr/local/libexec/piler/piler-smtp.service /etc/systemd/system/piler-smtp.service
        systemctl daemon-reload
        systemctl enable --now piler
        systemctl enable --now pilersearch
        systemctl enable --now piler-smtp

        Nachdem die Dienste laufen, sollte nun auch die Administrator Oberfläche funktionieren.
        Hier kann auch unter administration => users ein PasswortLogin-Daten für dendas auditorgewünschte NutzerWLAN, festgelegt
        mit das sich die Steckdose verbinden soll (kann etwas dauern). Falls nicht, folgende IP im Browser aufrufen: http://192.168.4.1
      6. Scan for wifi networks auswählen -> Es wirkt so als wenn nichts passiert. Einfach etwas länger warten, er sucht nach WLANs und zeigt diese dann an.
      7. WLAN auswählen, dann das dazugehörige Passwort bei AP1 eingeben.
      8. Mit Save bestätigen. Die Steckdose startet neu, danach ist die Steckdose im WLAN und per Browser erreichbar.
      9. Die IP der Steckdose kann im Router gefunden werden.
      10. Dieser
      darf

      wlan-konfig-tasmota.jpg

      alle

      Firmware E-Mailsupdaten

      sehen.

      Die Umgeflashte denVersion Pilervon Tasmota ist sehr alt, deswegen ist der erste Schritt jetzt, die Firmware zu testen,aktualisieren. könnenDazu öffnen wir nunin testweiseeinem Browser die Weboberfläche der Steckdose, indem wir dessen IP eingeben. Ggf. kommt eine EMailWarnung anweil diesenes schicken.sich Dieum Empfängeradresseeine istunverschlüsselte hierbeiHTTP-Verbindung egal.

      Dahandelt, derdann Pilermuss nichteinmal dauerhaftbestätigt werden dass die E-MailsSeite aktualisiert,wirklich kannaufgerufen dieswerden nunsoll.

      bis zu einer Stunde dauern, bis
      die Test E-Mail in

      Auf der Oberfläche auftaucht.
      Umdann diesFirmware zuUpgrade beschleunigen,auswählen kannund dann auf den oberen Button bei der OTA-URL auf Start upgrade drücken. Jetzt gibt es zwei Möglichkeiten:

      1. Entweder startet jetzt das vollautomatische Update und die Steckdose startet anschließend neu.
      2. Oder es wird eine Datei tasmota.bin.gz im Browser heruntergeladen. Dann muss im unteren Feld diese Datei ausgewählt werden und dort Start upgrade gedrückt werden, damit dann der Updateprozess startet und die Steckdose neu startet.

      Template anpassen

      Nach dem Update kommt man wieder auf die Weboberfläche. Damit Tasmota weiß, wie alle Funktionen korrekt angesteuert werden, muss das Template angepasst werden.

      Dazu auf Configuration -> Configure other und im ersten Feld “Template” folgendes eintragen (gilt nur für die GHome-Steckdosen, bei anderen Geräten ggf. abweichend):

      1
      {"NAME":"GHome EP2-A","GPIO":[576,0,320,0,2656,2720,0,0,2624,32,0,224,0,0],"FLAG":0,"BASE":45}
      Direkt da drunter bei Activate muss ein Häkchen gesetzt werden. Zusätzlich können Device Name und Friendly Name 1 angepasst werden. Die Steckdose an der mein PC ist hat zum Beispiel den Namen “tasmota-pc”.

      Dann wird das ganze mit Save bestätigt, das Gerät startet dann wieder neu.

      Strommessung kalibrieren (optional)

      Wenn auch die entsprechendenStrommessung sinnvolle Werte ergeben soll, muss dies einmal kalibriert werden. Wie schon erwähnt wird dazu ein Spannungsmessgerät und ein konstanter Verbraucher benötigt, wie zum Beispiel eine 60W Lampe.

      Vorgehen dabei:

      1. Tasmota Steckdose in eine Steckdose stecken, darin dann das Spannungsmessgerät einstecken und darin dann wiederum den Verbraucher (Lampe o.ä.).
      2. In der Weboberfläche den Menüpunkt Console aufrufen.

      In der Konsole folgende Befehle alseintippen Piler(mit NutzerEingabetaste ausführen:

      jeweils bestätigen):

      • #savedata Als1
      • Piler
      • VoltageSet Nutzer###.## anmelden
        su piler

        /usr/bin/indexer --quiet tag1 --rotate --config /usr/local/etc/piler/manticore.conf
        /usr/bin/indexer --quiet note1 --rotate --config /usr/local/etc/piler/manticore.conf
        /usr/local/libexec/piler/indexer.delta.sh

        Danach sollte (in derV)
      • Oberfläche,
      • PowerSet wenn###.## man(in alsW)
      • Auditor
      • CurrentSet Nutzer###.## angemeldet(in ist,mA)
      • eine
      • savedata E-Mail
        erscheinen.0

      Anschließend wieder ins Hauptmenü gehen, dort sollten jetzt passende Stromwerte zu sehen sein.

      Login via IMAP Abschluss

      DamitDie sichsmarte auchSteckdose Besitzerläuft einerjetzt Mailboxmit am Piler anmelden könnenTasmota und auchist E-Mailseinsatzbereit. aus dem Piler
      wiederherstellen können,Sie kann sichjetzt derproblemlos Pilerüber gegendie einenWeboberfläche IMAPgesteuert Serverwerden, authentifizieren.eine DazuEinbindung muss
      in derein DateiSmart /usr/local/etc/piler/config-site.phpHome-System folgenderist Inhaltebenfalls hinzugefügtkein undProblem entsprechend
      angepasstmehr.

      werden:

      $config['ENABLE_IMAP_AUTH']

       =

      1;

      $config['RESTORE_OVER_IMAP']

      Mit =freundlicher 1;
      $config['IMAP_RESTORE_FOLDER_INBOX']Genehmigung =von 'INBOX';
      $config['IMAP_RESTORE_FOLDER_SENT'] = 'Sent';
      Login via IMAP$config['IMAP_HOST'] = '<HOST DES E-MAIL SERVERS>';viertelwissen.de