Met Tasmota firmware kun je veel devices (o.a. Sonoff en Shelly) van alternatieve firmware voorzien met erg veel mogelijkheden. Ik gebruik dit al jaren tot volle tevredenheid. Tasmota heeft ontzettend veel configuratie instellingen en dit worden er steeds meer. Het zou handig zijn als je een bepaalde optie voor al je devices automatisch kunt instellen zonder dat je al je devices 1 voor 1 moet afgaan via de web-interface. Als je nl. veel devices hebt dan ben je wel even bezig.
Met de Tasmota Decode-Config Tool kun je veel automatiseren rondom de configuratie van Tasmota.
In vergelijking met de ingebouwde “Backup Configuration” / “Restore Configuration” functie van Tasmota gebruikt de decode-config tool:
- Leesbaar en bewerkbaar JSON-formaat voor backup/restore
- Kan eerder gebackupte en gewijzigde JSON-bestanden herstellen
- Is in staat om elke subset van configuratiegegevens te verwerken
- Kan gegevens converteren van oudere Tasmota-versies (vanaf versie v5.10.0) naar een nieuwere versie en vice versa
- Kan een Tasmota-compatibele commandolijst maken voor de meest beschikbare commando’s
De Tasmota Decode-Config Tool werkt met python3 en extra dependencies. De git pagina van de tool is erg uitgebreid en duidelijk en bevat veel voorbeelden hoe deze tool te gebruiken. Hieronder vat ik een en ander even samen hoe ik het gebruik.
Installeren
Om de tool te installeren heb je python3 nodig. Indien je deze nog niet hebt op je Debian server voer dan de volgende commando’s uit:
apt-get install python3 python3-pip
Download nu de tool naar de directory van je keuze op je Debian server via GIT:
git clone https://github.com/tasmota/decode-config.git
Installeer de benodige dependencies:
python3 -m pip install requests configargparse
Je bent nu klaar en kunt de command-line tool gaan gebruiken.
Lezen configuratie
Dit kan op veel manieren maar het handigste is om rechtstreeks je device via het IP-adres te benaderen en weg te schrijven naar een tekst file (JSON formaat). Zie het onderstaande voorbeeld:
python3 decode-config.py --source 192.168.3.91 --password "jouw_wachtwoord" -o sonoff_01 --json-indent 2<
Schrijven configuratie
Ook dit kan op veel manieren maar ook hier is het handigste om rechtstreeks je device via het IP-adres te benaderen en de aangepast configuratie te lezen van je eerdere tekst file (JSON formaat). Zie het onderstaande voorbeeld:
python3 decode-config.py -s 192.168.3.91 --password "jouw_wachtwoord" --restore-file sonoff_01
Indien je het nog niet zeker weet dan kun je met de optie ‘–dry-run’ kijken wat er gebeurt zonder dat er daadwerkelijk iets wordt weggeschreven.
Tips
Configuratie file
Je kunt een configuratie-file aanmaken om je command-line opties niet telkens te hoeven herhalen. Deze kun je met de ‘-c’ optie specificeren op de command-line.
Voorbeeld configuratie-file:
[source] username = admin password = jouw_wachtwoord [JSON] json-indent 2
Tevens kun je ook een sub-set van je JSON file gebruiken om weg te schrijven.
Commando file
Je kunt ook een file aanmaken met de web-commando’s die je normaal op de Console windows ingeeft van je Tasmota device. Deze kun je meegeven met de ‘–output-format’ optie:
Voorbeeld van een commando file:
WifiConfig 4 Setopion56 1 Setopion57 1
Conclusie
De Tasmota Decode-Config Tool kan je veel tijd besparen en je kunt een aantal zaken handig automatiseren in shell scripts voor je zelf. Een aanrader als je veel met Tasmota bezig bent.
Voor mij een nieuwe tool. Bedankt voor de review. Dit ga ik zeker gebruiken.