Hallo Tasmota-User,
ich möchte euch heute mein Terminal-Skript vorstellen, mit dem ihr z. B. Folgendes machen könnt (Bitte auch das Update am Ende des Beitrags beachten):
- Tasmota geflashte Geräte im selben Netz aufspüren
- Grundeinstellungen vornehmen (An/AUS, Blinktime und Blinkcount, Stromstoßmodus (pulsetime), LED-Funktion)
- Emulationen und Namen abrufen und verändern
- Netzwerkeinstellungen verändern (IP, SSID, Passwort)
- Statusinformationen abrufen
Voraussetzungen:
- Benötigt keinen Webserver
- Läuft derzeit nur auf Linux (Raspberry Pi, Ubuntu, etc.), weil es die BASH benutzt
- Zusatzprogramme: ping, grep (in der Regel vorhanden) und curl (wird nachinstalliert)
- Läuft derzeit nicht auf virtuellen Linux-Maschinen (d. h. läuft schon, aber findet nichts, weil es nur im eigenen (Sandbox-) Netz sucht)
- weblog 2 (Standard) muss auf den Tasmota-Geräten aktiv sein!
- Mehrkanalgeräte (Dual, CH4) (noch) nicht vollständig unterstützt
Installation:
- soncheck2.zip herunterladen und im Home-Verzeichnis (oder einem Unterverzeichnis davon) entpacken
- ein Terminal in dem Verzeichnis starten und mit dem Befehl chmod +x soncheck2.sh die Datei ausführbar machen
- im Terminal ./soncheck2.sh eingeben und den Anweisungen am Bildschirm folgen
Hinweise zur Benutzung und Steuerung:
- Die Funktionsauswahl geschieht in der Regel über Eingabe von Buchstaben. Groß- und Kleinschreibung ist nicht relevant: a = A.
- Die automatische Suche nach Tasmota-Geräten kann bis zu 5 Minuten dauern, wenn alle 255 Adressen geprüft werden.
- Bei der manuellen Auswahl eines Tasmota-Gerätes bitte nur die Ziffern des letzten Oktetts eingeben, also irgend etwas zwischen 1 und 255.
- Im Menü Netzwerkeinstellungen müssen allerdings immer komplette IP-Nummern eingegeben werden.
Hinweis für Raspberry Pi- und Linux-Anfänger:
- Das Terminal ist nur die Software-Umgebung in der das Skript läuft. Wenn ihr das Skript startet (./soncheck2.sh), werdet ihr durch Auswahlmenüs geführt. Es gibt viele Hinweistexte. Mit Q oder Strg-C kann das Skript jederzeit beendet werden.
- Kann über Putty, SSH oder mit einer direkt angeschlossenen Tastatur bedient werden
Ich würde mich über anschauen, ausprobieren und Feedback freuen!
Update 15.02.2018
Nun sollte das Skript auch auf einer virtuellen Maschine laufen. Ich habe es bei mir mit einem virtuellen Raspberry Pi auf einem Ubuntu Hostsystem getestet. Netzwerk des virtuellen Systems ist 10.0.2.1/24 und das Zielnetzwerk (mit den Tasmota-Geräten) ist 192.168.178.1/24. Funzt. Wäre schön, wenn es jemand gegenchecken könnte. Idealerweise auch in der Kombi Windows- oder Apple-Host mit Raspbian-/Debian-/Ubuntu-Gastsystem.
Unterschiede zur ersten Version:
Es gibt eine Abfrage, ob sich das System, auf dem das Skript aufgerufen wird, im selben Netz befindet wie die Tasmota-Geräte. Bei J geht es weiter wie bisher. Bei Eingabe von N werdet ihr zur Eingabe der ersten drei Oktette des Zielnetzwerkes - also des Netzwerkes, in dem sich die Tasmotas befinden - aufgefordert. Bitte in der Struktur XXX.XXX.XXX. eingeben. Den letzten Punkt nicht vergessen. Danach erfolgt dann wieder die Abfrage, ob ihr ein einzelne Gerät manuell festlegen wollt oder ob das "Fremdnetz" nach Tasmotas durchsucht werden soll. Naja und das Skript heißt erst einmal soncheck2a.sh.
Update 01.03.2018
soncheck2a.sh kann nun auch mit Passwort geschützten Tasmota-Geräten umgehen. Es stehen verschiedene Auswahlen zur Verfügung, je nach dem ob die Geräte alle oder nur teilweise Passwort geschützt sind und ob ein einheitliches Passwort verwendet wird oder jedes Gerät sein eigenes Passwort braucht.
Die zweite Änderung bezieht sich darauf, dass bei der automatisierten Suche nach Tasmota-Geräte nun das Programm fping statt ping zum Einsatz kommt. Weil ich bei fping das Timeout (Wartezeit auf eine Antwort eines Gerätes) auf kürzere Zeiten als 1 Sekunde einstellen kann, arbeitet nun der Netzwerk-Scan bis zum Faktor 4 schneller. Der angefragten Installation muss natürlich zugestimmt werden.
Ankündigung:
Unter bestimmten Voraussetzungen läuft das Skript auch unter Windows 10. Dort kann nämlich ein Linux-Subsystem installiert werden mit der BASH als Terminal. Dafür ist das Skript optimiert. Wer sich dafür interessiert, kann mir eine PM schicken. Dann beschreibe ich die notwendigen Schritte.
PS: Schade, dass einer der Moderatoren das Thema von der Pinnwand genommen und damit tief in der Historie vergraben hat, wo es niemand findet...
Update 03.04.2018
Skript bleibt nun nicht mehr bei bestimmten nicht Netzgeräten beim IP-Scan hängen sondern arbeitet nach einer nicht erwarteten bzw. keiner Antwort nach einer Sekunde weiter.