Zurzeit werden mehr als 2000 Geräte unterschiedlicher Art, Marken und Hersteller von der Tasmota-Firmware unterstützt.
Tasmota.sh ist ein absolutes Nischenprodukt für Leute, die wissen was sie (in der Shell) tun.
Das beispielhafte Shell-Skript wertet den Tasmota-Status Nr. 8 recht elegant mittels jq aus und schreibt die Werte dann minütlich via RPC in SysVars einer CCU3 (Leistung, Energie aktuell, Energie gestern, Energie gesamt). Weitere Werte wie Spannung, Stromstärke, Scheinleistung und Blindleistung sind natürlich auf gleichem Wege auch übertragbar. Das Skript läuft direkt auf der CCU3, kann aber auch ausgelagert werden.
Die folgende Anleitung ist für das Tasmota.sh-Paket v1.07 gültig.
tasmota.sh und jq
Das Paket ist ein übliches .tar.gz-Archiv. Dieses muss auf die CCU3 kopiert werden (nach /usr/local/addons/) und dort entpackt werden. In dem Verzeichnis /usr/local/addons/tasmota/ ist im Ergebnis dann das Skript tasmota.sh und das Utility jq (für die Original-Firmware) zu finden.
Installation
- Das Paket bitte nicht unter Windows entpacken, hierbei würden die (Linux-)Dateirechte verloren gehen.
- Die Verwendung des Pfades /usr/local/addons/tasmota/ ist im Rahmen dieser Anleitung obligatorisch.
- Die beinhalteten Dateien werden, wie nachfolgend beschrieben, direkt auf der CCU3 entpackt.
Für den nachfolgenden Punkt 1 kann z.B. WinSCP, für die Punkte 2 und 3 kann z.B. PuTTY verwendet werden.
- Das Paket nach /usr/local/addons/ kopieren.
Code: Alles auswählen
cd /usr/local/addons/
Code: Alles auswählen
tar xvfz /usr/local/addons/tasmota-1.07.tar.gz
Die im Paket beinhalteten Dateien werden auf diesem Weg automatisch nach /usr/local/addons/tasmota/ entpackt.
Konfiguration
Alle nötigen Einstellungen, Anpassungen und Erweiterungen werden in der Datei /usr/local/addons/tasmota/tasmota.sh vorgenommen.
- Die IP-Adresse des Tasmota-Devices ist in nachfolgender Zeile zu finden und muss entsprechend angepasst werden:
Code: Alles auswählen
TasmotaIP="192.168.x.x"
- Falls eingerichtet, muss das Tasmota-Passwort entsprechend angegeben werden:
Code: Alles auswählen
TasmotaUser="admin" TasmotaPassword=""
- Die in der CCU3 anzulegenden Systemvariablen (Typ: Zahl) sind in nachfolgenden Zeilen definiert und können entsprechend angepasst werden:
Code: Alles auswählen
SysVarLeistung="Leistung" SysVarEnergieHeute="Energie_heute" SysVarEnergieGestern="Energie_gestern" SysVarEnergieInsgesamt="Energie_insgesamt"
- Die Namen der Systemvariablen können im Rahmen der allgemeinen Empfehlungen für die CCU frei gewählt werden. Bei Verwendung von Leerzeichen im Namen ist darauf zu achten, dass diese im Skript durch %20 ersetzt werden (URL-Encoding).
Erster Test
Der erste Test erfolgt durch manuellen Start des Skriptes.
- In der Shell wird das Skript wie folgt ausgeführt:
Code: Alles auswählen
/usr/local/addons/tasmota/tasmota.sh
- Für's Debugging wird eine entsprechende Shell-Ausgabe generiert:
Code: Alles auswählen
------------------------------------------- Leistung: 42 W Energie heute: 0.424 kW/h Energie gestern: 0.242 kW/h Energie insgesamt: 4.242 kW/h -------------------------------------------
Crontab einrichten
Beispiel für einen einfachen Crontab-Eintrag (minütliches Übertragen der Werte):
- Die Datei /usr/local/crontabs/root editieren und um nachfolgende Zeile erweitern.
Code: Alles auswählen
* * * * * /usr/local/addons/tasmota/tasmota.sh > /dev/null
- Crond durchstarten:
Code: Alles auswählen
/etc/init.d/S98crond restart
- Abschließende Kontrolle mittels:
Code: Alles auswählen
crontab -l
Individuelle Anpassungen und Erweiterungen
Das Beispielskript ist weitgehend selbsterklärend und individuell erweiterbar und duplizierbar. Weitere Werte wie z.B. Spannung, Stromstärke, Scheinleistung und Blindleistung hinzuzufügen ist ohne großen Aufwand möglich.
Fehleranalyse
Klappt etwas nicht, bitte neben einer aussagekräftigen Fehlerbeschreibung, immer auch die Ausgaben nachfolgender Shell-Befehle mitteilen:
Code: Alles auswählen
ls -la /usr/local/addons/
Code: Alles auswählen
ls -la /usr/local/addons/tasmota/
Code: Alles auswählen
/usr/local/addons/tasmota/tasmota.sh
Code: Alles auswählen
cat /usr/local/addons/tasmota/tasmota.sh
Code: Alles auswählen
crontab -l
Backup
Alle zugehörigen Dateien unter /usr/local/addons/tasmota/ sowie die angepasste Crontab sind ohne weiteres Zutun Bestandteil des System-Backups der CCU3.
Verteiler
Falls das kostenlos erhältliche Paket für jemanden von Interesse sein sollte, einfach hier im Thread nachfragen oder eine PN an mich richten:
- Bitte in jedem Fall angeben welche Zentrale (Hardware) verwendet wird und welche Firmware/-Version (Software) installiert ist.
- Die Antwort-PN bitte innerhalb von 24 Stunden abholen.
OT #1: Ein Tasmota-Device via CCU3 per HM-Script einschalten
Code: Alles auswählen
system.Exec("curl -s --max-filesize 4096 --max-time 10 'http://192.168.x.x/cm?cmnd=Power%20On' &");
OT #2: Ein Tasmota-Device via CCU3 per HM-Script ausschalten
Code: Alles auswählen
system.Exec("curl -s --max-filesize 4096 --max-time 10 'http://192.168.x.x/cm?cmnd=Power%20Off' &");
OT #3: Ad-hoc-Rückmeldung zur CCU3 per Tasmota-Rule
Code: Alles auswählen
on Power1#State=1 do WebSend [192.168.x.x:8181] /hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SmartPlug-Lampe').State(1) endon on Power1#State=0 do WebSend [192.168.x.x:8181] /hm.exe?value=dom.GetObject(ID_SYSTEM_VARIABLES).Get('SmartPlug-Lampe').State(0) endon