TasmoAdmin – zentrales Webinterface für Tasmota-Geräte

Mit TasmoAdmin kann man all seine Geräte mit Tasmota Firmware über ein zentrales Webinterface verwalten.
Die Geräte können hier konfiguriert und auch in einem Rutsch mit neuer Firmware aktualisiert werden.

Läuft unter Windows, Linux oder als Docker-Container. (Bei mir aktuell in einem LXC Container mit Debian 10.)
Benötigt nur ein paar Standardpakete und ist schnell installiert.

Apache Webserver mit PHP installieren.

$ apt install apache2 libapache2-mod-php7.3 php7.3 php7.3-curl php7.3-zip

Aktuelle TasmoAdmin Version downloaden und in den webroot entpacken.

$ wget https://github.com/reloxx13/TasmoAdmin/releases/download/v1.7.0/tasmoadmin_v1.7.0.tar.gz
$ tar xvfz tasmoadmin_v1.7.0.tar.gz -C /var/www/html

Ordnerberechtigungen anpassen, tmp und data benötigen vollen Zugriff.

$ chown -R www-data:www-data /var/www/html/tasmoadmin
$ chmod 777 /var/www/html/tasmoadmin/tmp /var/www/html/tasmoadmin/data

Apache /etc/apache2/sites-available/tasmoadmin.conf erstellen.

<VirtualHost *:9999>
    ServerName tasmoadmin
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/tasmoadmin
    <Directory /var/www/html/tasmoadmin>
    AllowOverride All
    Order allow,deny
    allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
    ServerSignature On
</VirtualHost>

Den Port 9999 in der /etc/apache2/ports.conf eintragen.

Listen 80
Listen 9999

<IfModule ssl_module>

--- SNIP ---

Die neue Site aktivieren, das rewrite Modul laden, Apache Service aktivieren und den Apache neu starten.

$ a2ensite tasmoadmin
$ a2enmod rewrite
$ systemctl enable apache2.service
$ systemctl restart apache2.service

Das TasmoAdmin Webinterface ist jetzt über http://server-ip:9999 erreichbar. (default Benutzername und Passwort: admin)

Für ein Firmware-Update die gewünschte Tasmota Version downloaden. (tasmota-minimal.bin und tasmota.bin werden benötigt)

6 Gedanken zu „TasmoAdmin – zentrales Webinterface für Tasmota-Geräte“

  1. Hallo,
    ich versuche gerade den aktuellen TasmoAdmin 1.7 auf einem Raspberry Pi 4b zu installieren. Apache2 und PHP 7.3 laufen. Die Installation nach Deinen Anweisungen habe ich genau so durchgeführt – die Änderungen in der tasmoadmin.conf und ports.conf sind beide mit SUDO eingetragen worden, da ich mit PI angemeldet bin.
    Alles, was außerhalb des User Home durchzuführen ist, wurde mit SUDO ohne Fehlermeldung durchgeführt.

    Wenn ich jetzt http://IP-des-Raspi:9999 oder http://HOST:9999 oder auch /tasmoadmin:9999 aufrufe, kommt immer nur
    Not Found – The requested URL was not found on this server.
    Apache/2.4.38 (Raspbian) Server at 192.168.1.1 Port 9999

    Aufruf der IP oder des Host ohne Port 9999 kommen auf die normale Apache-Default-Seite. Aufruf einer phpinfo.php zeigt die PHP-Konfiguration an.

    Jetzt stehe ich gerade mal auf dem Schlauch. Wäre nett, wenn Du mir einen Tipp geben könntest.

    Viele Grüße
    Thorsten

    Antworten
    • Stimmt der DocumentRoot in der tasmoadmin.conf?
       DocumentRoot /var/www/html/tasmoadmin

      Apache Konfiguration OK?
       $ apache2ctl configtest
       Syntax OK

      Ist der Port 9999 offen?
       $ lsof -i :9999
       COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
       apache2 13596 root 6u IPv6 187331472 0t0 TCP *:9999 (LISTEN)
       apache2 13597 www-data 6u IPv6 187331472 0t0 TCP *:9999 (LISTEN)

      Schau mal ins Logfile
       /var/log/apache2/error.log

      Antworten
      • Sorry für die verspätete Rückmeldung:
        Neuinstallation und danach Eurer Anleitung gefolgt – läuft :-)

        Interessant finde ich, dass die installierten IoT nicht im gleichen Subnet wie der Raspi mit TasmoAdmin hängen müssen und bei der richtigen IP-Eintragung, alle Komponenten gefunden und später auch bedient, etc. werden – genial!

        Schön wäre, wenn außer dem TasmoAdmin-Update auch eine aktualisierte Version von Tasmota auf GitHub angezeigt werden würde.

        Antworten
  2. Hallo,

    vielen Dank für die sehr gute Anleitung, hat bei mir auf einem Raspberry Pi 3B+ (lag bei mir noch ungnutzt rum) sehr gut funktioniert.

    Die Anleitung sollte vieleicht im Bereich:

    $ a2ensite tasmoadmin
    $ a2enmod rewrite
    $ systemctl restart apache2.service

    ergänzt werden mit:

    $ systemctl enable apache2.service

    um den Apache beim Neustart der Hardware als Dienst automatisch starten zu lassen. Im Regelfall sollte das automatisch geschehen bei der Installation des Apache, bei mir wurde es aber nicht gemacht. Auch wenn es in den meisten Fällen funktioniert, kann es dennoch nicht schaden den Befehl trotzdem aus zu führen um sicher zu stellen, das er als Dienst eingechaltet ist. Ist er bereits eingeschaltet und der Befehl wird dennoch ausgeführt, gibt es lediglich die Rückmeldung, das der Dienst bereits aktiviert wurde.

    Antworten

Schreibe einen Kommentar