blog.vyoralek.cz

Centrum chytré domácnosti – HomeAssistant (Hass.io) – 8 část – LED + ESPHome

V dnešním osmém pokračování k HomeAssistentovi se podíváme na napojení WiFi LED ovladače s využitím ESPHome.

Budeme se věnovat WiFi LED ovladači, který je označován jako MagicHome a já si pořídil verze od Zinuo z AliExpessu za cca 200kč.

Podobnější představení tohoto produktu včetně LED pásku si můžete přečíst v předchozím článku. Zároveň v tomto článku najdete návod jak použít Magic Home s oběmi oficiálními aplikacemi – Magic Home Pro a Magic Home WiFi – jaké jsou mezi nimi rozdíly a jak pomocí verze WiFi integrovat LEDky bez nutnosti fleshování pomocí komponenty Flux Led.

Příprava LED ovladače

Po rozebraní plastové krabičky je potřeba si nejprve ujasnit jakou verzi vlastně uvnitř máme. Já jsem objednával dva kusy v rozmezí několika měsíců a každý je uvnitř trochu jiný.

Pro sériovou komunikaci a nahrání firmware budeme jako obvykle potřebovat napájet:

  • TX a RX
  • Flash mode přepínač
  • a GND (Ground)

Starší verze (vpravo) má připravené PINy pro sériovou komunikaci zespoda – kde je přesně najdete můžete zkouknout na obrázku níže.

Naproti tomu nová verze piny na desce nemá a je potřeba využít přímo pinů na pouzdru ESP-M2 – opět přesné umístění jsem zakreslil do obrázku a přiložil pro jistotu i pinout schéma.

Pohled zhora - novější verze (vpravo), starší verze (vlevo)
Pohled zhora – novější verze (vpravo), starší verze (vlevo)
Pohled zhora - novější verze (vpravo), starší verze (vlevo)
Pohled zhora – novější verze (vpravo), starší verze (vlevo)
Označení PINů pro sériovou komunikaci na novější verzi
Označení PINů pro sériovou komunikaci na novější verzi
Výsledek obrázku pro espm2 pinout
Schéma pinů pro ESP-M2 obsahující ESP8266.

Jednotlivé kroky k nahrání firmware

  1. Pro sériovou komunikaci (programátor) si připravíme tři dráty – GND, TX a RX a ty zapojíme do USB UART zařízení.
  2. Otevřeme krabičku MagicHome zařízení a desku z ní opatrně vyndáme.
  3. V závislosti na verzi připájíme na desku celkem čtyři dráty na GND, TX, RX a Flash (IO0).
  4. Nejprve propojíme GND drát s USB UART a ihned můžeme pokračovat s TX a RX (nezapomeňte, že označení na USB UART je opačné než na desce (čipu))
  5. Zbývající drát Flash spojíme s GND
  6. Připojíme napájení k MagicHome a po pár sekundách můžeme Flash odpojit od GND.
  7. Nahrajeme požadovaný firmware jako do jakéhokoliv jiného zařízení s ESP čipem.
  8. Jakmile je firmware nahrán odpojíme napájení a odpojíme RX, TX a nakonec GND.

Pokud ještě nemáte USB UART mohu doporučit tento – Aluminum shell CP2102 USB 2.0 to TTL UART, sám jich mám několik Pokud byste neměli ani pájku pak pro začátek si určitě vystačíte s touhle ruční MX-DEMEL 60W Electric Soldering Iron.

Konfigurace ESPHome

Jako firmware lze použít jak Sonoff-Tasmota tak i ESPHome – o obou jsem sepsal už poměrně hodně, takže pro základy koukněte do starších článků.

Jelikož použijeme integraci na HomeAssistent bude jednoduší variantou ESPHome a ukážeme si tedy konfiguraci pro tento systém.

Pro LED ovladač, který má 5 pinů budeme potřebovat nastavit 4 barevné výstupy (output, Red-Green-Blue-White), které napojíme do komponenty light. Nic více potřeba konfigurovat není, což je supr. V Tasmotě je poměrně složitá konfigurace pro MQTT na každý barevný kanál.

Konfigurace RGBW PINů – novější verze

GPIO12Červená LEDka
GPIO5Zelená LEDka
GPIO13Modrá LEDka
GPIO15Bílá LEDka

Konfigurace RGB PINů – starší verze

GPIO05Červená LEDka
GPIO12Zelená LEDka
GPIO13Modrá LEDka

Konfigurace se ale může v závislosti na verzi drobně lišit.

První konfiguraci jsem zkoušel na ESPHome 1.10 vůči HomeAssistentovi 0.86 a HomeMagic byl poměrně nestabilní. Naštěstí po aktualizaci na ESPHome 1.11 a HomeAssistent 0.88.1 vše běží už stabilně.

A nyní již konečně samotná yaml konfigurace pro ESPHome:

esphome:
  name: led_pasek_2
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: 'wifi'
  password: 'wifi_heslo'
  
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

light:
  - platform: rgbw
    name: "LED pasek stul"
    red: out_red
    green: out_green
    blue: out_blue
    white: out_white
 
output:
  - platform: esp8266_pwm
    pin: GPIO12
    id: out_red
  - platform: esp8266_pwm
    pin: GPIO05
    id: out_green 
  - platform: esp8266_pwm
    pin: GPIO13
    id: out_blue
  - platform: esp8266_pwm
    pin: GPIO15
    id: out_white  

Integrace do HomeAssistant

V poslední verzi ESPHome byl přidan mDNS responder, čili bychom teoreticky měli už plně vystačit bez IP adresy a stačí zadat název ze sekce esphome.name ke které připojíme .local.

Tento název pak dáme v HomeAssistantovi v menu Nastavení -> Integrace najdeme ESPHome a klikneme na Konfigurovat.

Jak vidíme v HomeAssistentovami máme rázem přístup k těmto nastavením:

  • jas – intenzita RGB led diod
  • hodnota bílé – intenzita White led diody
  • barevnou paletu, které určuje poměr jednotlivých RGB led diod

Vše funguje bleskurychle a opravdu hezky.

Konfiguraci ESPHome jsem opět uložil do repozitáře na Git.

Kompletní série o HomeAsistantovi obsahuje následující články:

  • 1. část – Instalace HomeAsisstent
  • 2. částIntegrace Sonoff s firmware Sonoff-Tasmota
  • 3. částIntegrace Homekit
  • 4. částIntegrace Sonoff s firmware Sonoff-Tasmota – 2 část
  • 5. částIntegrace s Wemos D1 a senzory teploty
  • 6. částIntegrace Sonoff s firmware ESPHome
  • 7. částIntegrace Sonoff POW s firmware ESPHome
  • 8. částIntegrace LED Magic Home s firmware ESPHome
  • 9. částIntegrace Xiaomi Mijia a Aqara
  • 10. část – Integrace vlastní Zigbee gateway
  • 11. část – Vzdálený přístup do Hass.io z Internetu
  • 12. část – zobrazení senzorových data pomocí InfluxDB a Grafany
  • 13. část – Hass.io Add-ony, které používám
  • 14. část – Integrace Xiaomi Mi Flora
  • 15. část – Integrace Withings (Nokia)
  • 16. část – náhrada SQLite databází MySQL
  • 17. část – HACS Add-ony – instalace a konfigurace
  • 18. část – Integrace Sonoff s firmware eWeLink
  • 19. část – nová integrace Sonoff pro HA
  • 20. část – měření spotřeby
  • 21. část – automatické zálohy a obnovení ze zálohy
  • 22. část – napojení hlasového asistenta Amazon Alexa
  • 23. část – automatické zálohy na síťový sdílení disk (Samba)
  • 24. část – Bluetooth zařízení a ESPHome proxy
  • 25. část – nefunkční aktualizace HomeAssistanta
  • 26. část – integrace SwitchBot produktů
  • 27. část – integrace fotovoltaiky Growatt

19 comments

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..

  • Ahoj,

    MagicHome ovladace pro LED pasky neni potreba pro Home Assistant nikterak upravovat/flashovat. Existuje pro ne primo platforma Flux Led. https://www.home-assistant.io/components/light.flux_led/ .

    Jen je potřeba dávat pozor, jakou aplikací se pásek aktivuje – cloudová verze (použitá jako příklad v předchozím článku) nelze s touto platformou použít, pásek je potřeba aktivovat starší aplikací.

    Google play: Magic home Pro – novější, Magic Home Wifi – starší (v play označená jako Expired).

    MirecekD

    • Wow, díky za postřeh. Dopíšu to do článku jako další možnost.

  • Díky za super návod.

    Doma mám 4 tyto LED ovladače a na všech postupně přecházím na ESP. Důvodem je že ofic. aplikace nefunguje úplně korekntně, hlavně je problém přes Home Assistant nastavit jas.
    I když jsem zadával přes HA jas 100%, tak reálně se pásek spustil pouze s jasem 60-80%.

    S ESP je to už 100% funkční.

    • Koupil jsem dva na zkousku, dneska prisly, tak jsem hned jeden prepajel a nahral ESP, vse jelo krasne, tak i druhy ovladac jsem hnedka hacknul. Diky moc Jirko za skvele navody 🙂

  • Ahoj, dnes dorazil tenhle ovladač a rád bych do něj nahrál ESPhome. Jsem v tomhle zatím lajk a nevím, co mám dělat s pinem Flash mode, chápu, že je potřeba to přepnout do flash modu, ale jak ? Připojit k zemi ? Či k napájení ? Děkuji

    • Ahoj, máš pravdu, až jsem překvapený, že jsem to v článku více nerozepsal. Díky, že na takové otázky obecně ptáte. Přidal jsem celý nový odstavec s detailnějšími kroky jak postupovat a ano Flash (IO0) je potřeba spojit z GND (zemí). Hezké svátky.

      • A já zrovna koukám, že tam v článku něco přibylo a říkám si, snad nejsem tak blbej, abych to přehlédl 😀 Mockrát děkuju, snad se mi to povede, protože flashnout sonoff basic se mi nepovedlo 🙁
        Hezké svátky i tobě.

        • Tak já už nevím co dělám blbě, vlastně to vše proběhlo, respektive neproběhlo úplně stejně jako se sonoff basic. Pro jistotu jsem si zálohoval stávající FW, to proběhlo bez problémů, jen tedy nevím kam se to uložilo 😀 A pak nějak nevím jak dál. Pokračuji podle tvého článku

          https://blog.vyoralek.cz/iot/esphomelib-alternativni-firmware-pro-esp8266-a-esp32/

          jedu podle bodu 1.b Pro Python 2 – Windows
          zdá se, že vše proběhne OK.
          Tím se dostávám ke kroku : esphome wemos dashboard
          Vypíše : INFO Starting dashboard web server on port 6052 and configuration dir wemos… a hromadu dalších věcí.
          Adresa http://localhost:6052 je ale nedostupná.
          Pokračuji tedy přes příkazovou řádku a vše se zdá úspěšné a zakončené hláškou :
          DONE! I’ve now written a new configuration file to rgb.yaml

          Ale co dál ?
          Píše se tam, že bych v HA měl vidět objevené nové zařízení, ale to se nestalo. Úplně stejný problém mám se sonoff.
          Poradíš prosím co s tím ?
          Díky

          • Chvilku to byl boj, ale už mi chodí s ESPHome jak sonoff tak toto rgb ovládání. Největší problém byl v tom, že jsem nikde ve tvých článcích nenašel, nebo jsem přehlédl poslední a nejdůležitější příkaz :

            esphome sonoff_basic.yaml run

            a já si říkal, že jsem si nevšiml, že bych to desky už něco nahrával 🙂

          • Super že jsi to rozchodil. Já to všechno dělám přes to webové rozhraní přímo z HomeAssistenta což je pro mě aktuálně nejpohodlnější, ale návod určitě tedy zkouknu a doplním poradně o ty příkazy přímo z konzoly.

  • Ahoj, objevil jsem náhodou Tvůj blog o Home Assistantovi – super. No a protože jsem dnešní den bádal nad flashováním Magic RGB tak přidám postřeh k Tasmotě, kterou používám na Sonoff zařízeních (pár zásuvek a spínačů a hlavně skvěly Sonoff RF Bridge).

    U Tasmoty se mi líbí možnost centrální správy pomocí TasmoAdmin AddOnu pro HA
    https://github.com/hassio-addons/addon-tasmoadmin

    Co jsem ale nevěděl, že v TasmoAdmin konzoli lze zadat příkaz: „setoption19 1“ (bez uvozovek) a nově přidaný prvek se automaticky zaregistruje do HomeAssistenta jako Device. Jen jsem samořejmě vyplnil adresu, user a pswd pro MQTT server a zaregistroval zařízení do TasmoAdmin konzole.

    Je to popsané zde: https://www.inspectmygadgets.com/cheap-rgb-led-light-strips-with-tasmota-firmware/.

    • Ahoj, díky za postřehy. Mohu se zeptat k čemu používáš nejvíce Sonoff RF Bridge? Hodně lidí to poměrně často zmiňuje, ale ještě jsem k tomu nenašel nějaké supr uplatnění.

      Addon TasmoAdmin používám taky a pravda, že jsem se pomalu zase začal vracet z ESPHome k Tasmotě, jelikož pokud člověk používá Zigbee tak stejně potřebuje MQTT, takže pak tolik nevadí, že ho je potřeba pro Tasmotu. Uvažuju, že bych o tom napsal taky článek, jelikož zejména s více zařízeními to dává hezký přehled.

      O příkazu setoption19 1 – hodně to zjednodušuje integraci a pravda, hodilo by se to asi raději zmiňovat ve více článcích, kde píšu o Tasmotě.

      Díky a hezký zbytek roku 2019 🙂

      • Ahoj, Sonoff RF Bridge jsem původně kupoval proto, abych mohl ovládat přes RF signál prvky od české ELKO EP Holešov (https://www.elkoep.cz/rf-control). Avšak jak se ukázalo, tak mají vlastní komunikační protokol a RF Bridge ho nechytne.
        Pak jsem si dokoupil nějaké ta PIR čidla, čidla na dveře a nakonec i pár RF tlačítek a přemýšlel jsem co s tím :-). PIR čidlo mám nad venkovními dveřmi a druhé na rohu domu a rozsvěcuji si s nimi po setmění venkovní LED pásek okolo domku jakmile přijedu domů nebo jdu ven. Zatím do šlape v pohodě i v mrazech, baterie by měla vydržet snad také dlouho. Nevím jak je RF energeticky náročné v poměru k Zigbee, ale mělo by to něco vydržet. Mám RF vypínače od ELKOEP a už asi 3 roky jedou na jednu CR2032 a zatím nebylo potřeba nikde nic měnit.
        Ze dvou RF spínačů jsem si udělal jednoduché dveřní zvonky. Jeden mám vepředu a druhý u vstupu na terasu. Po stisku tlačítka pouštím do Google Home Mini přes TTS „vtipnou“ hlášku ve stylu: „Někdo zvoní vepředu, mazej otevřít.“. Mluví to i hezky česky. Bohužel ovládání HomeAssistena přes Google Assistenta zatím jen anglicky a musel jsem na to vytáhnout i Androidí telefon neboť na IOS nejsou v Google Home k dispozici Routines.
        Mám tu ještě jeden RF spínač na dveře ale jen „jednopolohový“. Tak mám teď v hlavě dva projektíky, kde ho použiju. První je 3D tištěná past na chytání živých myší – tu už mám a funguje, ale musím ji chodit kontrolovat a modifikací s RF spínačem by to mohl HomeAssistent nahlásit. No a druhý je na podobném principu poštovní schránka :-).
        Ano, jsme tak trochu blázni :-)))

  • Ahoj, objednal jsem z Číny stejný WiFi LED ovladače jako Ty, ale dorazil mi jiný kus než uvádíš ve článku. Dorazil mi ZJ-WFMN-A V1.1, provedl jsem flash na Tasmota, ale nedaří se mi nastavit GPIO, ani dle template od Tasmota, ani dle internetu. Nedokázal by si mi poradit?
    Předem díky

    • Ahoj, zkus tuhle konfiguraci: {"NAME":"MagicHome RGBW","GPIO":[0,0,0,0,51,38,0,0,37,39,0,40,0],"FLAG":0,"BASE":34} a dej pls. vědět jestli to zabralo.

    • Respektivě, pokud jsi již tuhle konfiguraci nenašel… ale dle popisu by to mělo sedět k typu přesně jak píšeš.

      • Tak tuto jsem již testoval, bohužel svítí jen pin3 – modrá a pin4 – bílá 🙁

      • Tak se moc omlouvám, netuším, kde byla chyba, ale po uplném resetu a přeflashnutí se vše chová na jedničku! Díky za rychlou a hlavně funkční konfiguraci!

        Tvé články jsou dost inspirující. Postavil jsem si SmartHome na RPi4 s HA a z Tvých článků beru pravidelně inspiraci na nové integrace 🙂