Přeskočit na hlavní obsah

Tasmota

Tasmota je obecně open-source firmware pro zařízení postavené na čipech ESP8266 a ESP32. Díky tomu, že některé Zigbee brány běží právě na těchto čipech je možné do nich za určitých okolností nahrát vlastní firmware a mít tak bránu plně pod svou kontrolou.

Tasmota logo

Předpokládám, že jste se již seznámili se základy Zigbee a tak byste měli začít výběrem brány vhodné pro Tasmotu.

Pokročilé téma

Narozdíl od použité ZHA, Zigbee2MQTT nebo deCONZu prostřednictvím USB koordinátoru je použití Zigbee2Tasmota mnohem složitější a vyžaduje i fyzický zásah do zařízení prostřednictvím vlastního firmware a to je potřeba rozebrat.

Výběr brány - doporučený hardware

Víceméně můžeme výběr zúžit jen na dva produkty. Jeden od firmy Sonoff používající kombinaci Zigbee + WiFi a produkt obsahující ESP32 i s Ethernetem prodávaný hned pod několika značkami.

Ewelink ZB-GW03 EU Zigbee 3 Ethernet Bridge

  • Zigbee
  • WiFi
Momentálně není k dispozici nákup v této zemi

V případě Ewelinku ZB-GW03 (a jeho podobných odnoží) bývá často přímo při objednávání možnost vybrat si verzi, která už bude mít Tasmotu předinstalovanou, což vás zbaví nejnáročnější části a následující kapitolu tak můžete přeskočit.

Příklad výběru firmware u Ewelinku ZB-GW03 na AliExpressu:

Tasmota Buy Choice

Tasmota flashing

Variantu s předinstalovanou Tasmotou mám vyzkoušenou a ušetří opravdu hromadu práce.

Stačí krabičku zapojit na Ethernetový kabel, pomocí DHCP by měla získat IP adresu a měla být připravena rovnou k použití.

Jen drobné upozornění - Ethernetová zásuvka na dnešní dobu poněkud dost překvapivě nemá žádnou diodu o aktivitě, což mě překvapilo a nejprve jsem myslel, že zásuvka nefunguje.

Sonoff Zigbee Bridge-Pro

U Sonoffu a jeho Sonoff Zigbee ZBBridge-Pro tomu tak není a buď zůstanete s původním firmware, který však 100% podporuje jen produkty Sonoffu a nebo se pokusíte firmware přehrát Tasmotou.

Pro nahrání firmware budete potřebovat minimálně tyto dva produkty:

CP2102 USB 2.0 to TTL UART Module

  • USB
Momentálně není k dispozici nákup v této zemi

Dupont kabely 10cm / 20cm / 30cm - male / female

Momentálně není k dispozici nákup v této zemi

Přehrání firmware - nahrání Tasmota

Na detailnější postup nahrání firmware Tasmota do čipů ESP8266 / ESP32 se můžete podívat do článku k Tasmotě a zde si uvedeme jen speciality pro Sonoff Zigbee ZBBridge-Pro.

Rozebrání - jak se dostat dovnitř ZBBridge

Tasmota flashing

Já mám ještě variantu bez "Pro", která se víceméně liší jen čipem - namísto ESP8266 obsahuje ESP32, ale postup by měl být totožný.

Pro to abychom se dostali k desce je potřeba ze spodní strany nejprve odloupnout gumové nožičky a pod nimi se skrývají celkem 4 šroubky.

Po jejich vyndání jde krabička jednoduše odklopit a desku můžeme vyndat z plastového obalu zařízení.

Zapojení pinů - jak propojit UART s deskou

Tasmota flashing

Nejdůležitější údaj - jak zapojit UART do Sonoff Bridge

ZbBridgeAdapter
ETXRX
ERXTX
IO0 (GPIO00)GND
GNDGND
3v33V3/VCC

Nahrání z počítače - jak nahradit originální firmware Tasmotou

Jakmile máme desku propojenou s UART sériovým konektorem můžeme si stáhnout speciální verzi Tasmoty pro ZBBrige s názvem tasmota-zbbridge pro verzi bez Pro a tasmota-zbbrdgpro pro novější Pro verzi.

Pouze pro ZBBridge (ne pro verzi)

K nahrání firmware Tasmota do ESP2866 je třeba přidat i aktualizaci firmware pro Zigbee čip. Tento krok lze provést přes menu Firmware Upgrade v Tasmotě. Zde vyberte Upgrade by file Upload a následně soubor ncp-uart-sw_6.7.8_115200.ota, který je třeba nejdříve stáhnout na váš disk.

Tasmota flashing Zigbee

Tasmota flashed

Firmware pro Zigbee u Pro verze

Bohužel návod pro ZBBridgePro je poněkud složitější a nechci ho sem úplně dávat dokud ho nevyzkouším. Pokud tak máte toto verzi zkuste se podívat na tento postup v angličtině.

Použití firmware Tasmota

Od tohoto místa dále již vše platí pro oba HW - tj. jak od Sonoffu tak alternativního ZB-GW03.

Firmware Tasmota můžeme použít dvěma způsoby:

  1. Jako přímý Zigbee koordinátor postavený na Zigbee2Tasmota - Zigbee zařízení jsou párovány přímo do Tasmoty, ale funkcionalita je velmi limitovaná.

    V případě že máme HomeAssistant můžeme ignorovat

    Nebudu se dále tomuto způsobu více věnovat, jelikož v našem případě kdy provozujeme Home Assistant bychom se zbytečně ochuzovali.

  2. Jako vzdálený Zigbee koordinátor připojený do ZHA nebo Zigbee2MQTT - prostřednictvím technologie Ser2Net (serial to network), která nám umožní sériový port přes Ethernet / WiFi. Díky tomu tak máme plnou funkcionalitu ZHA nebo Zigbee2MQTT prostřednictvím koordinátoru, který je fyzicky umístěný kdekoliv v Ethernet / WiFi síti.

Tasmota jako vzdálený Zigbee koordinátor

Pro použití s ZHA nebo Zigbee2MQTT budeme potřebovat přepnout Tasmotu s přímého Zigbee koordinátoru do vzdáleného módu.

To uděláme následovně:

  1. Připojíme se na webové rozhraní Tasmota a v Configuration -> Configure Other nastavíme v sekci Other parameter -> Template na hodnotu:

    • pro ZBBridge:

      {"NAME":"ZBBridge","GPIO":[56,208,0,209,59,58,0,0,0,0,0,0,17],"FLAG":0,"BASE":18}
    • pro ZBBridgePro:

      {"NAME":"ZBBridge Pro","GPIO":[0,0,576,0,480,0,0,0,0,1,1,5792,0,0,0,5472,0,320,5793,5504,0,640,608,32,0,0,0,0,0,1,0,0,0,0,0,0],"FLAG":0,"BASE":1}
    • pro ZB-GW03 už není potřeba měnit, ale pro jistotu uvádím:

      {"NAME":"ZB-GW03","GPIO":[0,0,3552,0,3584,0,0,0,5793,5792,320,544,5536,0,5600,0,0,0,0,5568,0,0,0,0,0,0,0,0,608,640,32,0,0,0,0,0],"FLAG":0,"BASE":1}

    a nezapomeneme zatrhnout Activate a uložíme.

    Tasmota flashed

  2. Přidáme do Tasmoty přes konzoli nové pravidlo, které nastartuje sdílení koordinátoru přes TCP. V konzoli spustíme tento příkaz:

    Rule1 ON System#Boot do TCPStart 8888 endon

    a měli bychom vidět přibližně následující odpověď o přidání pravidla a nastartování TCP služby na portu 8888.

    13:52:19.563 CMD: Rule1 1
    13:52:19.567 RSL: RESULT = {"Rule1":{"State":"ON","Once":"OFF","StopOnError":"OFF","Length":37,"Free":474,"Rules":"ON System#Boot do TCPStart 8888 endon"}}
    13:52:19.770 RUL: SYSTEM#BOOT performs "TCPStart 8888"
    13:52:19.772 TCP: Starting TCP server on port 8888
    13:52:19.774 RSL: RESULT = {"TCPStart":"Done"}

Tím máme hotovou přípravu na straně ZBBridge a zbytek nastavení je jiný v závislosti zda si zvolíme v ZHA nebo Zigbee2MQTT.

Tasmota s ZHA

Pokud se rozhodneme pro ZHA pak můžeme celé další nastavení udělat přes Home Assistenta.

  1. Přidáme Integraci ZHA: - V menu Nastavení -> Zařízení a služby přidáme Integraci ZHA

    Nebo klikneme na:

    Open your Home Assistant instance and start setting up a new integration.
  2. Volba zadání manuálně: v dalším kroku při výběru portu vybereme volbu zadání manuálně (Enter Manually)

    Tasmota flashed

  3. Typ rádia:

    • pro ZBBridge a ZB-GW03 - ponecháme EZSP, což odpovídá firmwaru, které jsme manuálně nahráli do ZBBridge a nebo jsme obdrželi společně s ZB-GW03.
    • pro ZBBridgePro - změníme na ZNP.

    Tasmota flashed

  4. Zadáme IP adresu ZBBridge běžícího na Tasmotě s portem 8888 a vše ostatní necháme ve výchozím nastavení.

    Tasmota flashed

  5. A máme hotovo!

    Tasmota flashed

Párování nových Zigbee zařízeních a jakékoliv další nastavení Zigbee sítě se pak už provádí stejně jako bychom měli lokální koordinátor.

Tasmota s Zigbee2MQTT

Nastavení Zigbee2MQTT je o chlup složitější, jelikož není narozdíl od ZHA standardní součástí Home Assistanta.

  1. Instalace doplňku Zigbee2MQTT: na detailní návod se podívejte sem

  2. Konfigurace koordinátoru přes TCP: v nastavení MQTT doplňku zadáme konfiguraci koordinátoru:

    • pro ZBBridge:
      serial:
      port: 'tcp://[zbbridge_ip]:8888'
      adapter: ezsp
    • pro ZBBridgePro:
      serial:
      port: 'tcp://[zbbridgePro_ip]:8888'
  3. Nastartujeme doplněk a podíváme se do logu, kde by bychom měli vidět použití vzdáleného koordinátoru:

    [14:29:37] INFO: Preparing to start...
    [14:29:38] INFO: Socat not enabled
    [14:29:38] INFO: Starting Zigbee2MQTT...
    Zigbee2MQTT:info 2024-01-28 14:29:43: Starting Zigbee2MQTT version 1.35.1 (commit #unknown)
    Zigbee2MQTT:info 2024-01-28 14:29:43: Starting zigbee-herdsman (0.30.0)
    Zigbee2MQTT:debug 2024-01-28 14:29:43: Using zigbee-herdsman with settings: '{"adapter":{"concurrent":null,"delay":null,"disableLED":false},"backupPath":"/config/zigbee2mqtt/coordinator_backup.json","databaseBackupPath":"/config/zigbee2mqtt/database.db.backup","databasePath":"/config/zigbee2mqtt/database.db","network":{"channelList":[11],"extendedPanID":[208,179,129,254,180,173,38,130],"networkKey":"HIDDEN","panID":29024},"serialPort":{"adapter":"ezsp","path":"tcp://10.2.1.202:8888"}}'
    Zigbee2MQTT:info 2024-01-28 14:29:48: zigbee-herdsman started (resumed)
    Zigbee2MQTT:info 2024-01-28 14:29:48: Coordinator firmware version: '{"meta":{"maintrel":"8 ","majorrel":"6","minorrel":"7","product":8,"revision":"6.7.8.0 build 373"},"type":"EZSP v8"}'
  4. Hotovo a můžeme používat Zigbee2MQTT pro párování nových Zigbee zařízení.

Zkušenost s Zigbee2MQTT

Z nějakého důvodu v mém případě koordinátor přes ZBBridge a Zigbee2MQTT fungoval poměrně mizerně. Už při párování nového zigbee zařízení psal Timeouty a nakonec ani neodpovídal na požadavky v limitu.

U ZHA takový problém nebyl a zatím netuším čím byl to mohlo být.

Zigbee2MQTT:error 2024-01-28 14:39:14: Failed to configure '0x60a423fffed2ead1', attempt 1 (Error: Bind 0x60a423fffed2ead1/1 genOnOff from '0x60a423fffe425611/1' failed ({"address":7074,"clusterId":32801,"sequence":7} after 10000ms)
at Timeout._onTimeout (/app/node_modules/zigbee-herdsman/src/utils/waitress.ts:64:35)
at listOnTimeout (node:internal/timers:569:17)
at processTimers (node:internal/timers:512:7))

Pomohl vám tenhle návod?

Návody tu píšu ve volném čase a udržuju je aktuální. Když vám některý ušetřil čas, můžete přispět.

Jednorázově, kartou nebo Apple Pay. Částku lze na další stránce změnit.

Nechcete posílat peníze? Kupujte podle návodů přes moje odkazy na produkty. Cena je pro vás stejná a pomůže to taky.

Komentáře