Tasmota is een open source applicatie speciaal voor ESP8266 chips zoals o.a. de populaire Sonoff devices. Standaard wil de ESP-chip via een cloud-dienst contact zoeken met een server waarop het device dan geregistreerd wordt en als gebruiker kun je dan, via die server, gebruik maken van het device waar die ESP-chip in zit.

Om dit soort devices te kunnen gebruiken zónder een cloud-dienst, wordt het device van Tasmota firmware voorzien (dat wordt ‘flashen‘ genoemd) en daarmee worden tevens meer mogelijkheden verkregen voor de bewuste apparatuur, denk daarbij aan het doorgeven van MQTT berichten, het gebruik van een web-console en aansturing via http.

Ooit begonnen als tool om Sonoff devices MQTT berichten ‘over-the-air‘ (OTA) te kunnen laten sturen, geschreven door Theo Arends, is het inmiddels een open-source project waar veel bijdrages op worden ge-commit. De GitHub pagina an Tasmota vind je hier.

Om Sonoff devices te kunnen flashen is een USB-naar-Serial adapter nodig

Aangesloten aan de USB poort van een computer wordt dit omgezet naar een seriele poort en met flash-software wordt via de Rx (receive) en Tx (send) kanalen de firmware op het Sonoff device geplaatst. Het Sonoff device dient dan in ‘flash-mode‘ opgestart te worden. Dit kan vaak door een switch op het device of door de GPIO0-poort met GND te verbinden tijdens opstarten.

Deze flash-software is bijvoorbeeld ‘NodeMCU PyFlasher‘ zowel voor Windows als voor Mac geschikt. De firmware-release kan opgehaald worden uit de GitHub repository.

Na het flashen zal de Sonoff device zich gedragen als een AccessPoint voor Wifi met een naam die begint met ‘tasmota_‘. Door daar contact mee te maken met je smartphone of computer, kom je op de configuratie van Tasmota om je eigen WiFi hotspot SSID en wachtwoord in te voeren.

Hierna wordt het device opnieuw gestart en maakt verbinding met je thuisnetwerk via Wifi. Zoek vervolgens in je router/modem (of een wifi scan-tool) het IP adres van het Sonoff device en gebruik je browser om verbinding daarmee te maken.

Als eerste zal via ‘Configuration‘ de juiste Module toegekend moeten worden zodat het Sonoff device weet welk type het is, bijvoorbeeld een RF-Bridge, of Basic-Switch, etc…

In de Configuration kan ook de MQTT-Broker geconfigureert worden zodat berichten hiervoor verstuurd en ontvangen kunnen worden.

De ‘%topic%’ wordt in MQTT gebruikt in combinatie met de ‘%prefix%’ om de status uit te lezen en commando’s uit te kunnen voeren. De ‘topic’ kan hier ingevuld worden en de ‘prefix’ is dan respectievelijk ‘stat‘ of ‘cmnd‘.

Bijvoorbeeld, ‘cmnd/tasmota_basic01/POWER on‘ zal de switch aan zetten en ‘cmnd/tasmota_basic01/POWER off‘ zet de switch uit. Tasmota zal reageren met status berichten: ‘stat/tasmota_basic01/RESULT‘ en ‘stat/tasmota_basic01/POWER‘. Dit is terug te zien in de Console van de switch.

Om MQTT uit te zetten voor het device, gebruik het volgende commando in het console: ‘setoption3 0

Templates

De templates voor Tasmota devices kunnen gebruikt worden om randapparatuur zoals switches/buttons/LED’s aan te kunnen sluiten op de GPIO poorten. Er is een database van BlakAdder voor veel gebruikte devices: https://templates.blakadder.com/ waar de json-code voor de templates bij staat.

Deze template json-code kan dan in Template bij ‘Configure Other’ geplakt worden en ‘Save‘.

Friendly Name

Om het device ook met Alexa te kunnen bedienen, wordt een ‘Friendly Name‘ ingesteld en de optie ‘Hue Bridge’ Emulation aangevinkt. Bijvoorbeeld een wandschakelaar:

Hierna kan Alexa met ‘discover devices‘ deze wandschakelaar vinden als ‘Wall2’.