TasmoAdmin

  • Hallooo,


    ich habe mir eine kleine Webseite gebaut die ich gerne teilen würde.


    Sie ist ganz einfach gebaut ohne weitere Frameworks dahinter.


    Bitte bedenkt das dieses Project noch in der Testphase ist!


    Vorraussetzung ist das die Sonoffs mit Tasmota geflasht sind.

    Es sollte mindestens Tasmota 5.9.0j benutzt werden.


    Am ca. 08.01.2018 gab es ein Update in einer Library. Darauf musste die Tasmota FW angepasst werden und diese Anpassung ist erst ab 5.11.1b integriert.

    Sollte Ihr eure Firmware VOR dem gennanten Datum erstellt oder hochgeladen haben, müsste es noch funktionieren.


    Funktionen:

    - Login

    - Zugriff und Steuerung von außen möglich (wenn VPN oder Portfreigabe gegeben)

    - Updateprozess (Gleichzeitig mehrere Geräte Updaten, erst MINIMAL dann FULL Firmware)

    --- Automatik Modus (lädt neuestes Release aus dem Tasmota GitHUB)

    - Übersichtliche Startseite

    - Geräte Liste mit Informationen

    - Auto Status Refresh

    - Mobile Responsive

    - Konfiguration

    - SelfUpdate von TasmoAdmin

    - AutoScan nach Tasmota Modulen


    Ich baue sie noch immer weiter aus, also lasst euch weiter überraschen :)



    Die Webseite ist Public, also jeder kann sie sich runterladen und z.b. auf einen Raspberry oder auch auf dem Heim PC mit XAMP einbinden.

    Mittlerweile gibt es auch ein Docker Image zur einfachen Installation.


    Hier findet Ihr auch noch weitere Anleitungen: GitHub Wiki











    Screenshots



  • Das wird wohl die größe Hürde für viele User sein, aber auch da bin ich noch auf der Suche nach einem kleinen Mini Server den ich vorkonfigurieren kann um es den Usern Möglichst einfach zu halten.


    Hatte da auch schon einen getestet aber dieser sendet die Firmware beim Update nicht an die Sonoffs :X


    Ich werd nachher mal nen Portablen XAMP aufsetzen der vorkonfiguriert ist. Wird dann aber ca 150mb groß sein geschätzt.


    XAMP ist eine Anwednung die einen Apache, MySQL und weiteres zur Verfügung stellt.

    Also ein mobiler Webserver.


    Bei der Webseite habe ich mit dem Ziel einen kleinen Server zu benutzen auch kein MySQL benutzt sonder momentan nur eine CSV File.


    Vielleicht werde ich da auch noch auf SQLite umbauen.

  • Huhu frankyboy73 ,


    ich habe oben den Beitrag aktualisiert und eine ZIP angehangen mit Vorkonfiguriertem XAMP.

    Eine kleine Instalationsanleitung hab ich auch geschrieben :)


    Bitte erst mit Test Geräten, an die Ihr Notfalls ran kommt zum neuflashen benutzen, bei mir läuft es aber das muss nicht heißen das es überal klappt.


    Man kann XAMPP auch richtig installieren und dann auch als Dienst laufen lassen, somit startet er dann immer mit Windows und man bekommt nichts mit davon, kein Control Center mehr. So hab ich es bei mir am laufen.


    In der Geräte Liste kann man die Geräte auf ON/OFF schalten.


    Die Tage gehts auch weiter damit, heute kamen meine Flasher da hab ich mit rumgespielt und Kabel beschriftet :D

    [IMG:https://i.imgur.com/9rGeNOe.jpg]






    Viele Grüße


    Nils

  • Reagieren diene Geräte etwas langsam (weil Sensoren und MQTT aktiviert) ?


    Ich hab nur einen Timeout von 3 Sekunden gesetzt, wahrscheinich ist das zu gering.

    ich werde es mal auf 5 Sekunden erhöhen.

  • Hallo Nils, danke für die Konfiguration und deine tolle Anleitung. Es funktioniert, habe bei allen Geräten den Loglevel auf 2 gesetzt, damit der Status auch angezeigt wird.

    Mit einem Gerät habe ich das Update getestet, beim ersten mal kam ne Fehlermeldung, aber die Minimal war doch drauf. Dann gleich noch mal gestartet und es lief durch.

    Zu Bild 1: Das Gerät Party ist ein 4Ch, deshalb wohl kein Status. Das Gerät Steckodose A war gerade Offline, deshlab die Fehler Meldung.

  • Hallo Nils, ich habe es jetzt mit 5 Geräten gleichzeitig getestet, einmal von 5.10.0h auf 5.11.0 und dann wieder zurück von 5.11.0 auf 5.10.0h.

    Hat ohne Probleme geklappt.

    192.168.1.110][STEP-2][UPDATE] Update fertig![10-01-2018 21:59:17][192.168.1.101][STEP-2][UPDATE] Update fertig![10-01-2018 21:59:18][192.168.1.102][STEP-2][UPDATE] Update fertig![10-01-2018 21:59:18][192.168.1.111][STEP-2][UPDATE] Update fertig![10-01-2018 21:59:18][192.168.1.103][STEP-2][UPDATE] Update fertig!

  • Reagieren diene Geräte etwas langsam (weil Sensoren und MQTT aktiviert) ?


    Ich hab nur einen Timeout von 3 Sekunden gesetzt, wahrscheinich ist das zu gering.

    ich werde es mal auf 5 Sekunden erhöhen.

    Nur MQTT und ein ioBroker ist am Start - reagieren sowohl auf Alexa als auch auf Aktionen aus ioBroker fast ohne jede Verzögerung


    Habe selbst mal auf 5 und auch auf 10 sek ind deinem js geändert -> bringt nichts

  • Herzlichen Dank für die Seite.

    Das macht das flashen doch deutlich komfortabler.

    Allerdings habe ich ein Problem das ich mir nicht genau erklären kann.

    Ich habe zwei Stecker (PS16) mit Tasmota geflasht. Die Weboberfläche ist einwandfrei zu erreichen und wenn ich die auf deiner Webseite anklicke werden die auch geschaltet. Allerdings werden beide Stecker mit dem Status FEHLER aufgeführt.

    Beim Versuch die Firmware aufzuspielen erscheint die Meldung:


    [11-01-2018 00:04:31][GLOBAL] Update Start

    [11-01-2018 00:04:31][192.168.8.171][STEP-1][Starte Step 1] info

    [11-01-2018 00:04:31][192.168.8.171][STEP-1][Erreichbarkeit] Prüfe Erreichbarkeit

    [11-01-2018 00:04:31][192.168.8.171][STEP-1][Erreichbarkeit] Fehler! - Antwortet nicht!


    Kannst du damit was anfangen?

  • frankyboy73 Das hört sich doch gut an wenn es auch mit mehreren läuft.


    Ich baue momentan das javascript um auf eine klasse die sich dann um das handling mit den sonoffs kümmert, das spart ne menge doppelten code. und hält die comandos sauber für die konfigurationsseite später.


    ich denke das is ne gute lösung wenn man viele geräte geichzeitig updaten will. ist ja sonst doch nen aufwand alle 2x zu flashen.



    Chaot und JF62 welche firmware habt ihr auf eurem sonoff drauf?

  • Eine wichtige Idee mal wieder schnell und userfrindly umgesetzt wenn ihr so weiter macht will demnächst meine Frau die Sonoffs flashen ;-) Danke dafür (y)
    Folgende Ideen hätte ich noch


    1. in der Übersicht folgende Parameter bei den Geräten einblenden.

    1.1. Firmwareversion

    (Grund: welche müssen noch geflashed werden bzw. warum verhalten sich einzelne unterschiedlich)

    1.2. Laufzeit

    (Grund: gibt es Probleme mit einem Gerät)

    1.3. MQTT Status (aktiviert/deaktiviert)

    1.4. WLAN Qualitä

    (Grund: gibt es Probleme mit einem Gerät könnte das darin begründet sein)
    1.5. Modultyp (Sonoff Touch, etc.)

    (Grund übersichtlichkeit)

    1.6 Chip Version

    (Grund Fehleranalyse)

    1.7. Speicherdaten (Realer Flash Speicher/Ben. Flash Speicher/Freier Arbeitsspeicher)
    (Grund: Das wäre vor allem interessant für eine Abfrage beim Flashen sprich automatische Prüfung wie viel Platz ist vorhanden lässt sich das Update direkt vornehmen oder benötigt man die Minimalversion.)


    Eine weitere Idee wäre Daten abzufragen und diese in die MySQL Datenbank zu schreiben um historisch Auswertungen fahren zu können

    Was richtig cool wäre wäre wenn man Settings kopieren könnte (Sprich Master Gerät x auswählen Konfiguration auslesen und an auswählbare Geräte a-z senden)

    Auch die Settings auszulesen und in die MySQL Datenbank (oder XML Datei) zu überführen könnte interessant sein um Settings und daraus resultierendes unterschiedliches Verhalten schneller auf den Grund gehen zu können.

    Auf jeden Fall schon jetzt ein extrem gutes Tool um die Administration der ganzen IoT Infrastruktur im Griff zu behalten.

  • Danke für das Feedback! :)


    Ich bevorzuge auch eine MySQL Datenbank, aber da ich es userfriendly halten wollte, wollte ich einen kleinen WebServer zum starten mitpacken. Die kleinne Webserver haben meist kein MySQL an Board.


    XAMP schlägt entpackt mit 500mb zugut, für so eine kleine Seite etwas Overhead :S


    Habe deswegen auch kein Framework benutzt.


    Vielleicht werde ich eine LITE und eine PRO Version machen, die Pro Version soll dann auf CakePHP aufbauen.


    -


    Zum Feedback:

    Die Infos alle in die Geräte Liste? Oder besser in eine Info page auslagern. Verison,Empfang in die Geräte Liste.

    Ich könnte auch die Tasmota Info Seite als Iframe einbinden.

    Ggf. in der Update Geräte Liste mehr Infos anzeigen als in der normalen Geräte Liste.

    In der Geräte Liste sollen noch nen Info Icon und nen Konfig Icon hin.


    Zur Laufzeit sei gesgat, es werden nur Stunden gezählt (immer XX:02Uhr).


    Konfiguration sichern und wiederherstellen ist auch so eine Sache, Tasmota muss das ja unterstützen.

    Ansonsten müsste die Config einzeln ausgelesen werden und dementsprechend wieder eingespielt werden.


    Tasmota bietet ja eine Config sichern und wiederherstellen funktion, die sichenr funktion könnte ich noch ansprechen. Beim Wiederherstellen wirds dann komplizierter. Ggf. kann aren dann noch was anpassen an Tasmota damit das klappt.


    -


    Im GIT sind jetzt meine Änderungen von heute.

    Ich aktualisiere auch nochmal das Paket mit XAMP.


    Zum Update einfach den Inhalt der ZIP von Git in xampp\htdocs\SonWEB kopieren.


    Denkt dran sichert euch die MyConfig.php und devices.csv vorsichtshalber,

    die liegen in xampp\htdocs\SonWEB\data\




    Es ist auch schon vorbereitet das man später andere Icons auswählen kann oder selbst eins hochladen ;p

    Kommt aber noch :D



  • Ich habe auf den Steckern zwei unterschiedliche Firmwarestände.

    5.10.0 und 5.11.0

    Ebenfalls habe ich versucht die Stecker als Standrdmodul zu konfigurieren. Das hat allerdings keine Änderung gebracht.

    WLan sollte auch problemlos sein (2m und 3m ohne Wände).

  • Hi Nils,


    ja das ist ja mal Nice. Ich habe diesesThema mal angeheftet. Ich selber hatte leider noch keine Zeit es zu testen, aber ich weis wie es funktioniert ... Es muss natürlich schon vorher Tasmota drauf sein auf den Sonoff. Das sollte nicht unerwähnt bleiben. Auf einen echten Webserver im Netz wäre zu riskannt denk ich mal da ja die Daten in Klartext übertragen werden oder?


    Das wäre doch auch mal eine Idee für mein Video :-) Und wenn du einverstanden bisst würde ich es gerne mit rein nehmen .. :P:P:):):)


    Gruß

    Norbert

  • Also auch mit der neuen Versin und auch mit verscheidensten Tasmota Versionen (runter bis 10.a getestet) klappt das bei mir nicht.


    Wie kann ich dich bei der Fehlersuche unterstützen?

    Im Browser die Developer/Webkonsole öffnen und schauen was da zurückkommt im JSON.
    Ggf. kann ich mir das auch kurz per TeamViewer heute Abend anschauen wenn du einverstanden bist.

    Ich werde dir heute Abend so ab 18:30 eine PN schicken.


    Nobbi klar kannst du das, aber es ist vielleicht noch etwas früh dafür. Erstmal gucken warum JF da Probleme hat und vielleicht noch die Info und Konfigurationsseite bauen. Sonst ist das Video schnell nicht mehr aktuell.

    Ich werde die Vorraussetzung oben ergänzen :thumbup:


    Der Code ist auch ziemlich einfach gehalten, wenn jemand Lust hat und sich ein wenig mit PHP, JS und HTML auskennt kann er da gerne über GitHub Sachen beisteuern. :)