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.

20.06.2023 - Anleitung aktualisiert (TasmoAdmin 3.0.6, Debian 12)
12.03.2023 - Anleitung aktualisiert (TasmoAdmin 3.0.1, benötigt PHP >= 8.1.0)
07.11.2022 - Anleitung aktualisiert (TasmoAdmin 2.1.1, benötigt php-dom)
07.07.2022 - Anleitung aktualisiert (TasmoAdmin 2.0.0)
11.06.2022 - Anleitung aktualisiert (TasmoAdmin 1.8.0)

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

Debian 12

Apache Webserver mit PHP installieren. (Debian 12 installiert PHP 8.2.)

apt install apache2 libapache2-mod-php php php-curl php-zip php-mbstring php-dom

Debian 11

Apache Webserver mit PHP installieren. (Debian 11 installiert PHP 7.4, für PHP 8 ist dieser Schritt notwendig.)

# Die Installation von PHP 8.x unter Debian 11 vorbereiten.
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
apt install apt-transport-https lsb-release ca-certificates
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
apt update

Erst jetzt kann PHP 8 installiert werden.

apt install -y apache2 libapache2-mod-php8.2 php8.2 php8.2-curl php8.2-zip php8.2-mbstring php8.2-dom

TasmoAdmin

Aktuelle TasmoAdmin Version downloaden und in den webroot entpacken.

wget https://github.com/reloxx13/TasmoAdmin/releases/download/v3.0.6/tasmoadmin_v3.0.6.tar.gz
tar xvfz tasmoadmin_v3.0.6.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 ---

Cache für PHP Dateien deaktivieren.

rm /etc/php/8.2/apache2/conf.d/10-opcache.ini

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. (neuen Benutzer registrieren)

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

27 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
  3. Wäre ja toll wenn man pro Schalter eine Art Wochenzeitschaltuhr hätte oder?

    So könnte man Licht AN/AUS minimal mit der Weboberfläche automatisieren das reicht den meisten Leuten ja schon :-P

    Antworten
  4. Guten Morgen,

    ich habe vor Ewigkeiten nach dieser Anleitung tasmoadmin installiert und es läuft Version 1.7.0
    Mittlerweile gibt es 2.x beta und ich versuche zu updaten. Im Grunde muss ich ja nur die neue Version runterladen, entpacken und dann alles so machen wie beschrieben.
    Laden, entpacken etc. klappt alles aber es bleibt Version 1.7.0

    Antworten
  5. Guten Morgen,
    hab 1.8 am Laufen und wollte mal updaten. Hab aber Probleme PHP 7.4 zu installieren
    Mit
    sudo apt install php7.4
    kommt folgende Fehlermeldung:
    E: Paket php7.4 kann nicht gefunden werden.
    E: Mittels des Musters »php7.4« konnte kein Paket gefunden werden.
    E: Mittels regulärem Ausdruck »php7.4« konnte kein Paket gefunden werden.

    Das gilt für alle php7.4 Pakete, also
    libapache2-mod-php7.4 php7.4 php7.4-curl php7.4-zip

    Antworten
  6. Hi, tolle Anleitung, sehr hilfreich!

    Tip: Wenn man die Versionsnummer bei PHP weg laesst, dann installiert er immer die richtige.
    Dann muss ab Version 2.1 noch das Paket php-dom hinzugefuegt werden, sonst kann er die Config nicht parsen.

    Meine Installation sieht dann so aus:
    42 sudo apt-get update && sudo apt-get install apache2 php libapache2-mod-php php-curl php-zip php-mbstring git unzip php-dom
    43 wget https://github.com/TasmoAdmin/TasmoAdmin/releases/download/v2.1.1/tasmoadmin_v2.1.1.tar.gz
    44 ls
    45 tar xvfz tasmoadmin_v2.1.1.tar.gz -C /var/www/html
    46 sudo tar xvfz tasmoadmin_v2.1.1.tar.gz -C /var/www/html
    47 sudo chown -R www-data:www-data /var/www/html/tasmoadmin
    48 sudo chmod 777 /var/www/html/tasmoadmin/tmp /var/www/html/tasmoadmin/data
    49 sudo nano /etc/apache2/sites-available/tasmoadmin.conf
    50 sudo nano /etc/apache2/ports.conf
    51 sudo a2ensite tasmoadmin
    52 sudo a2enmod rewrite
    53 sudo systemctl enable apache2.service
    54 sudo systemctl start apache2.service
    55 sudo systemctl status apache2.service

    Antworten
  7. Hallo zusammen,

    leider bekomme ich eine Fehlermeldung:

    pi@raspberrypi:~ $ sudo apt install -y apache2 libapache2-mod-php php php-curl php-zip php-mbstring php-dom
    Reading package lists… Done
    Building dependency tree… Done
    Reading state information… Done
    Package php-dom is a virtual package provided by:
    php8.0-xml 8.0.1-1
    php7.4-xml 7.4.33-1+deb11u1
    You should explicitly select one to install.

    Wer kann mir da helfen?
    Dank und Gruß
    serkan

    Antworten
  8. Es sollte die Anleitung für 3.0.1 aktualisiert werden. Denn es wird PHP 8.1 oder höher gebraucht.
    Sollte für Debian Bullseye passen. Vielleicht gibt es eine Anleitung zum Upgraden der PHP Version.

    Antworten
  9. Hallo,

    setzte seit geraumer Zeit Tasmoadmin ein und war sehr zufrieden. Mit der neuen Version wird mir in der Auflistung leider bei den Klimadaten(geliefert zB von einem BME280) nicht mehr der Luftdruck angezeigt.

    Fand ich ganz gut, kann man das wieder bekommen?
    Tasmoadmin Version 3.01
    Installiert nach der Vorlage hier.

    MFG
    Heinz-Rolf

    Antworten
    • Die Frage kann ich dir nicht beantworten.

      Müsstest du dem Entwickler stellen oder auf github einen issue eröffnen.
      Ein TasmoAdmin Forum gibt es leider nicht.

      3.0.2 ist die aktuelle Version.

      Antworten
  10. Hat sich bei der Installation unter Debian 12 was geänder. Bekomme alles installiert bloss beim starten des Apache2 Dienstes kommt eine Fehlermeldung und
    die Tasmoadmin Weboberfläche lässt sich nicht öffnen
    MFG

    Antworten

Schreibe einen Kommentar zu Weiß Antworten abbrechen