blog.vyoralek.cz

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

V dnešní šesté části seriálu o HomeAssistentovi se podíváme na integraci pomocí poměrně nového firmware ESPHome, který obsahuje přímou integraci na HomeAssistent.

🎙 Poslední aktualizace článku 13.5.2019. Pokud najdete nějaké rozdíly v aktuálním stavu, dejte vědět v komentářích, díky.

Začneme s nejzákladnější produktem od Sonoff a to variantou Sonoff Basic, na které si ukážeme základy integrace do HomeAssistent v případě firmware ESPHome.

V druhé části si pak ukážeme drobné modifikace a rovnou i nastavení pro další produkt – chytrou WiFi zásuvku Sonoff S20.

V třetí části si ukážeme WiFi přepínač Sonoff TH10 s vodotěsným sensorem.

Ve čtvrté části si představíme tlačítko Sonoff Touch EU a integraci pomocí entity light.

V páté části se podíváme na 4 kanálovy přepínač Sonoff 4CH, který je takovým znásobeným Sonoff Basic.

Jak se pracuje s konfigurací a nahráním ESPHome jsem popsal v minulém článku. Pokud tedy potřebuje znát detaily či možnosti instalace a základní práce s ESPHome koukněte nejprve tam.

Veškeré uvedené konfigurace ESPHome jsem zaktualizoval na verzi 1.11+. Pokud byste z nějakého důvodu používali starší verzi tak první řádek konfigurace nahraďte za esphomeyaml.

Možnosti nahrání firmware ESPHome

Ještě než začneme s konfigurací, bylo by dobré si říct, jaké máme vůbec možnosti nahrání nového firmware s ESPHome do našich Sonoff produktů.

  1. pomocí USB UART – první možností, která je nejobecnější je nahrání pomocí USB UART – detailně jsem popisoval například v článku k nahrání Sonoff-Tasmota. Tento způsob budeme muset použít v případě pokud máme na našem Sonoff produktu originální firmware.
  2. pomocí webového rozhraní Sonoff-Tasmota – pokud jsme Sonoff zařízení už fleshovali, pak může být příjemnější nahrát nový firmware přes webové rozhraní Sonoff-Tasmota – najdeme v menu Aktualizace firmware a položka Aktualizace nahráním souboru.
Sonoff Tasmota nahrání firmware
Nahrání firmware pomocí webového rozhraní Sonoff-Tasmota

1. Sonoff Basic

Než se pustíme do specifické konfigurace pro Sonoff Basic je dobré si nejprve sestavit úplně základní firmware obsahující pouze WiFi, logování, API a možnost aktualizace přes WiFi – OTA.

Sonoff Basic
Sonoff Basic

Základní konfigurace

V Dashboardu ESPHome (jak ho nainstalujeme a spustíme najdete v předchozím článku) klikneme na tlačítko + pro přidání nového zařízení a postupně vyplníme v průvodci následující:

  1. Name of node – název zařízení – sem dáme cokoliv popisující produkt. Mějte ale na paměti, že tento název se použije i pro ID do HomeAssistant a jako textový název pro síťovou adresu.
  2. Device type – typ zařízení – pro Sonoff necháme výchozí variantu Generic ESP8266.
  3. WiFi SSID / Password – Jméno WiFi a heslo do ní – dle vašeho nastavení
  4. OTA Access Password – voliteně můžete nastavit heslo pro OTA aktualizaci. Pokud nebudete produkt vystaven přístupu z internetu můžete nechat prázdné.

Tím máme základní konfiguraci téměř hotovou a v seznamu bychom měli vidět naše zařízení.

Přeci jen ale bude potřeba udělat ještě jednu drobnou změnu v konfiguraci a tak klikneme na Edit u zařízení a do části esphomeyaml přidáme na konec položku:

board_flash_mode: dout

Celková základní konfigurace by tak měla vypadat nějak takto:

esphome:
  name: sonoff_basic
  platform: ESP8266
  board: esp01_1m
  board_flash_mode: dout

wifi:
  ssid: 'wifi'
  password: 'wifi_heslo'

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

Teď nastal pravý čas si nachystat fyzicky Sonoff Basic, který se zmáčknutým tlačítkem připojíme pomocí USB UART do počítače. Tlačítko mačkáme, abychom přepnuli Sonoff do flashovacího módu.

V pravém horním rohu bychom měli po připojení vidět dvě položky:

Možnosti nahrání firmware

První slouží pro nahrání firmware pomocí WiFi – použijeme později a druhý položka je náš USB UART. Na Windows bude místo cesty číslo USB portu.

Vybereme tedy druhou položku – či popřípadě jakoukoliv jinou kde je náš USB UART a klikneme na Upload.

Firmware se nejprve zkompiluje a poté automaticky nahraje do našeho Sonoffu.

Checking size .pioenvs/sonoff_basic/firmware.elf
Memory Usage -> http://bit.ly/pio-memory-usage
DATA:    [=====     ]  45.4% (used 37192 bytes from 81920 bytes)
PROGRAM: [===       ]  31.2% (used 319028 bytes from 1023984 bytes)
============================================================================= [SUCCESS] Took 29.53 seconds =============================================================================
INFO Successfully compiled program.
INFO Running:  esptool.py --before default_reset --after hard_reset --chip esp8266 --port /dev/cu.SLAB_USBtoUART write_flash 0x0 wemos.yaml/sonoff_basic/.pioenvs/sonoff_basic/firmware.bin
esptool.py v2.6
Serial port /dev/cu.SLAB_USBtoUART
Connecting....
Chip is ESP8266EX
Features: WiFi
MAC: 68:c6:3a:94:f9:fc
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 1MB
Compressed 323168 bytes to 225797...
Wrote 323168 bytes (225797 compressed) at 0x00000000 in 19.9 seconds (effective 129.8 kbit/s)...
Hash of data verified.

USB UART od Sonoffu odpojíme a připojíme hned zpět – tím vypneme flashovací mód. Počkáme než nám zezelená ikonka Online.

ESPHome Dashboard - sonoff basic

V menu pak klikneme na Show Logs a pokud je vše vpořádku měli bychom vidět informace z našeho Sonoffu:

INFO Reading configuration...
INFO Starting log output from sonoff_basic.local using esphomelib API
INFO Connecting to sonoff_basic.local:6053 (10.2.1.181)
INFO Successfully connected to sonoff_basic.local
[16:19:48][I][application:097]: You're running esphomelib v1.10.1 compiled on Jan 23 2019, 22:29:08
[16:19:48][C][wifi:341]: WiFi:
[16:19:48][C][wifi:240]:   SSID: 'brloh'

Konfigurace pro Sonoff Basic

Sonoff Basic už nyní máme úspěšně naflashovaný se základní verzí a pojďme se podívat jaké GPIO máme k dispozici:

GPIO0Tlačítko (obrácená logika, HIGH = vypnuto, LOW = zapnuto)
GPIO1RX pin (C1 Pin 2)
GPIO3TX pin (C1 Pin 3)
GPIO12Přepínač
GPIO13Zelená LEDka (obrácená logika)
GPIO14Volitelný sensor (C1 Pin 5)

Narozdíl od Sonoff-Tasmota máme v ESPHome propojení jednotlivých prvků Sonoffu v našich rukou, což přináši potřebuju tyto propojky nadefinovat.

Řekněme si tedy, že budeme chtít funkcionalitu co nejvíce podobnou oficiální verzi, tj. vypínání a zapínání přepínače bude možné provést buď vzdáleně a nebo pomocí tlačítka na Sonoffu. Zároveň zelená LEDka bude symbolizovat stav zapnutí/vypnutí přepínače.

Klikneme na Edit konfigurace a přidáme následující řádky:

binary_sensor:
  - platform: gpio
    id: button
    device_class: light
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: fakebutton

switch:
  - platform: template
    name: "Sonoff Basic přepínač"
    optimistic: true
    id: fakebutton
    turn_on_action:
    - switch.turn_on: relay
    - light.turn_on: led
    turn_off_action:
    - switch.turn_off: relay
    - light.turn_off: led
  - platform: gpio
    id: relay
    pin: GPIO12

output:
  - platform: esp8266_pwm
    id: basic_green_led
    pin:
      number: GPIO13
      inverted: True

light:
  - platform: monochromatic
    output: basic_green_led 
    id: led

Co jednotlivé bloky znamenají:

  • binary_sensor reprezentuje tlačítko na Sonoffu, které je na pinu GPIO0 a při stisknutí bude přepínat stav fakebutton (o tom dále)
  • switch reprezentuje přepínač – my však potřebujeme definovat dva:
    • fakebutton – jedná se o tzv. virtuální přepínač typu template, který je napojený na tlačítko a provádí dvě akce – zapnutí/vypnutí jak přepínače tak LEDky
    • relay – samotný přepínač napojení na GPIO12
  • output reprezentuje LEDku napojenou na GPIO13
  • light je určitým prostředníkem pro propojení LEDky a přepínače

Jelikož kód už je poněkud delší klikneme pro jistotu nejprve na tlačítko Validate. Než začneme nahrávat přepneme port na OTA – nyní už můžeme nahrát nový firmware přes WiFi a klikneme na Upload.

Pro kontrolu funkčnosti můžeme zkusit zmáčknout fyzické tlačítko na Sonoffu zda se přepíná LEDka. Oproti oficiálnímu firmware a Sonoff-Tasmota si můžeme všimnout, že rozstvícení a zhasínání LEDky je postupné.

Integrace do HomeAssistant

Z logu ESPHome si zjistíme číselnou IP adresu zařízení a v HomeAssistantovi v menu Nastavení -> Integrace najdeme ESPHome a klikneme na Konfigurovat.

Vyskočí na nás dialog, kde do pole Host vyplníme IP adresu zařízení – můžeme použít i textovou, ale bývá obvykle méně spolehlivá.

ESPHome HomeAssistant konfigurace

V části Zkonfigurováno bychom měli automaticky vidět novou položku se symbolem blesku vyjadřujícího přepínač.

Na Dashboardu HomeAssistanta nám pak taktéž automaticky v sekci Spínač přibyde nová položka:

Celý postup integrace mezi Sonoffem a HomeAssistentem se díky přímému API zjednodušil – není potřeba řešit MQTT a zároveň pro základní nastavení nemusíme vůbec šahat do konfiguračního souboru HomeAssistenta.

2. Sonoff S20/S26

V druhé části si ukážeme další možnosti integrace pomocí ESPHome a použijeme k tomu drobně složitější přepínač od Sonoffu a to WiFi zásuvku Sonoff S20. Velice podobný postup bude i pro novější model Sonoff S26.

Sonoff S20
Sonoff S20

Základní konfigurace

Opět na začátek je vhodné si nejprve nahrát základní konfiguraci – nebudu to zde rozepisovat znovu – konfiguraci i postup můžete vzít z první části o Sonoff Basic.

Konfigurace pro Sonoff S20

Předpokládejme, že Sonoff S20 už nyní máme úspěšně naflashovaný se základní verzí a pojďme se podívat jaké GPIO máme k dispozici:

GPIO0Tlačítko (obrácená logika, HIGH = vypnuto, LOW = zapnuto)
GPIO1RX pin (for external sensors)
GPIO3TX pin (for external sensors)
GPIO12Přepínač a modrá stavová LEDka
GPIO13Zelená LEDka (obrácená logika)

Řekněme si tedy, že budeme chtít následující funkcionalitu: vypínání a zapínání přepínače bude možné provést buď vzdáleně a nebo pomocí tlačítka na Sonoffu. Zelenou LEDku zatím nijak nevyužijeme – vystačíme si s modrou, která bude svítit pokud je přepínač zaplý a bude vypnutá pokud je i přepínač vyplý.

Spíše pro demonstrační účely si přidáme ještě pár dalších možností, které se mohou hodit, ale nemají obecně vhodné použití:

  • verze ESPHome s časem kompilace
  • síla WiFi signálu na zařízení
  • doba běhu zařízení od posledního restartu v sekundách

Klikneme na Edit konfigurace a přidáme následující řádky:

binary_sensor:
- platform: gpio
  pin:
    number: GPIO0
    mode: INPUT_PULLUP
    inverted: True
  name: "Sonoff S20 Tlačítko"
  on_press:
    - switch.toggle: relay
- platform: status
  name: "Sonoff S20 Stav"

switch:
- platform: gpio
  name: "Sonoff S20 Přepínač"
  pin: GPIO12
  id: relay

text_sensor:
  - platform: version
    name: "Sonoff S20 Verze"
    
sensor:
  - platform: wifi_signal
    name: "Sonoff S20 WiFi signál"
    update_interval: 60s    
  - platform: uptime
    name: "Sonoff S20 Doba běhu"

Integrace do HomeAssistant

Podobně jako v případě Sonoff Basic v menu Nastavení -> Integrace najdeme ESPHome a klikneme na Konfigurovat a vyplníme IP adresu.

V části Zkonfigurováno bychom měli automaticky vidět novou položku hned s několika položkami.

Ve výchozím stavu se nám jednotlivé položky rozházejí podle typů. Pro přehlednost si ale související položky můžeme pomocí souboru config/group.yaml seskupit:

s20:
  name: "Sonoff S20"
  control: hidden
  entities:
    - binary_sensor.sonoff_s20_stav
    - binary_sensor.sonoff_s20_tlaciko
    - sensor.sonoff_s20_doba_behu
    - sensor.sonoff_s20_verze
    - sensor.sonoff_s20_wifi_signal
    - switch.sonoff_s20_prepinac

HomeAssistant zrestartujeme a poté bychom měli vidět vše hezky společně:

3. Sonoff TH10 s DS18B20 sensorem

Posledním produktem od Sonoffu, pro který si dnes ukážeme použití s ESPHome je Sonoff TH10 (popř. TH16) v kombinaci s vodotěsným sensorem teploty DS18B20.

Sonoff TH10 + sensor DS18B20
Sonoff TH10 + sensor DS18B20

Základní konfigurace

Opět na začátek je vhodné si nejprve nahrát základní konfiguraci – nebudu to zde rozepisovat znovu – konfiguraci i postup můžete vzít z první části o Sonoff Basic.

Konfigurace pro Sonoff TH10/16

Předpokládejme, že Sonoff TH10/16 už nyní máme úspěšně naflashovaný se základní verzí a pojďme se podívat jaké GPIO máme k dispozici:

GPIO0Tlačítko (obrácená logika)
GPIO12Spínač a červená LEDka
GPIO13Zelená LEDka (obrácená logika)
GPIO1UART TX pin (pro extérní sensory)
GPIO3UART RX pin (pro extérní sensory)
GPIO4Volitelně sensor
GPIO14Volitelně sensor

Řekneme si, že budeme chtít poměrně jednoduchou konfiguraci, tj. využijeme tlačítko, spínač a sensor. Naopak nevyužitjeme zelené LEDky.

U sensoru budeme potřebovat znát jeho ID, tj. do základní konfigurace nejprve přidáme pouze tuto část:

dallas:
  - pin: GPIO14

Firmware nahraje přes OTA a po restartu Sonoffu bychom měli vidět v logu následující:

[10:12:36][C][sensor.dallas:079]: DallasComponent:
[10:12:36][C][sensor.dallas:080]:   Pin: GPIO14 (Mode: OUTPUT)
[10:12:36][C][sensor.dallas:081]:   Update Interval: 60000 ms
[10:12:36][D][sensor.dallas:089]:     0x830118425027FF28

Tím máme jasné ID sensoru a můžeme přidat kompletní zbytek konfigurace:

sensor:
  - platform: dallas
    address: 0x830118425027FF28
    name: "Sonoff TH10 Teplota"
    
binary_sensor:
- platform: gpio
  pin:
    number: GPIO0
    mode: INPUT_PULLUP
    inverted: True
  name: "Sonoff TH10 Tlačítko"
  on_press:
    - switch.toggle: relay
- platform: status
  name: "Sonoff TH10 Stav"

switch:
- platform: gpio
  name: "Sonoff TH10 Přepínač"
  pin: GPIO12
  id: relay

Firmware opět nahrajeme, Sonoff se restartujeme a měli bychom vidět již sensor včetně nastavení:

[10:17:19][C][sensor.dallas:079]: DallasComponent:
[10:17:19][C][sensor.dallas:080]:   Pin: GPIO14 (Mode: OUTPUT)
[10:17:19][C][sensor.dallas:081]:   Update Interval: 60000 ms
[10:17:19][D][sensor.dallas:089]:     0x830118425027FF28
[10:17:19][C][sensor.dallas:094]:   Device 'Sonoff SH10 Teplota'
[10:17:19][C][sensor.dallas:094]:     Unit of Measurement: '\xb0C'
[10:17:19][C][sensor.dallas:094]:     Accuracy Decimals: 1
[10:17:19][C][sensor.dallas:102]:     Address: 0x830118425027FF28
[10:17:19][C][sensor.dallas:103]:     Resolution: 12

Integrace do HomeAssistanta

Podobně jako v předchozích dvou produktech v menu Nastavení -> Integrace najdeme ESPHome a klikneme na Konfigurovat a vyplníme IP adresu.

V části Zkonfigurováno bychom měli automaticky vidět novou položku hned s několika položkami.

Pro přehlednost související položky opět pomocí souboru config/group.yaml seskupíme:

th10:
  name: "Sonoff TH10"
  control: hidden
  entities:
    - binary_sensor.sonoff_th10_stav
    - binary_sensor.sonoff_th10_tlacitko
    - sensor.sonoff_th10_teplota
    - switch.sonoff_th10_prepinac

HomeAssistant zrestartujeme a poté bychom měli vidět vše hezky společně:

4. Sonoff Touch

Na produktu Sonoff Touch si ukážeme konfiguraci bez elementu switch, což se možná může na první pohled zdát, že to nemůže fungovat.

Sonoff Touch
Sonoff Touch

Základní konfigurace

Začněme opět základní konfiguraci, kterou opět zkopírujeme z první části o Sonoff Basic.

Konfigurace pro Sonoff Touch

Podíváme se nejprve jaké GPIO máme k dispozici

GPIO0Tlačítko (obrácená logika)
GPIO12Spínač s první modrou LEDkou
GPIO13Modrá LEDka se symbolem WiFi
GPIO1UART TX pin (můžeme použít pro extérní sensor)
GPIO3UART RX pin (můžeme použít pro extérní sensor)

Využijeme tlačítko a spínač (ten má na sobě připojenou první modrou LEDku). Druhou ledku pak použijeme jako stavovou pro ESPHome, tj. v případě výpadku WiFi by měla pomalu blikat a nebo v případě chyby blikat divoce.

binary_sensor:
  - platform: gpio
    id: button
    device_class: light
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - light.toggle: light

output:
  - platform: gpio
    id: relay
    pin: GPIO12  

light:
  - platform: binary
    id: light
    name: "Svetlo stropni"
    output: relay

status_led:
  pin: GPIO13

Integrace do HomeAssistanta

Podobně jako v předchozích dvou produktech v menu Nastavení -> Integrace najdeme ESPHome a klikneme na Konfigurovat a vyplníme název zařízení.

Sonoff Touch jako entity typu light z ESPHome
Sonoff Touch jako entity typu light z ESPHome

Sonoff 4CH

Sonoff 4CH je takový Sonoff Basic vynásobený čtyřmi, který má přípravu na přimontování k instalačním lištám.

Sonoff 4CH
Sonoff 4CH uvnitř

Základní konfigurace

Začněme opět základní konfiguraci, kterou opět zkopírujeme z první části o Sonoff Basic.

Konfigurace pro Sonoff 4CH

Máme k dispozici 4 tlačítka, 4 spínače a 4 LEDky. Oproti Sonoff Basic jsou LEDky (červené) přímo HW spojeny se spínači a kromě nich máme k dispozici jednu zelenou stavovou LEDku – tu použijeme stejně jako u Sonoff Touch jako stavovou ESPHome – v případě výpadku WiFi bude blikat.

GPIO0Tlačítko #1 (obrácená logika)
GPIO9Tlačítko #2 (obrácená logika)
GPIO10Tlačítko #3 (obrácená logika)
GPIO14Tlačítko #4 (obrácená logika)
GPIO12Spínač #1 a červená LEDka
GPIO5Spínač #2 a červená LEDka
GPIO4Spínač #3 a červená LEDka
GPIO15Spínač #4 a červená LEDka
GPIO13Modrá LEDka (obrácená logika)
GPIO1UART RX pin (můžeme použít pro extérní sensor)
GPIO3UART TX pin (můžeme použít pro extérní sensor)

Konfigurace ESPHome tak může vypadat například takto:

binary_sensor:
  - platform: gpio
    id: button1
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: relay1      
  - platform: gpio
    id: button2
    pin:
      number: GPIO9
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: relay2      
  - platform: gpio
    id: button3
    pin:
      number: GPIO10
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: relay3      
  - platform: gpio
    id: button4
    pin:
      number: GPIO14
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: relay4      
  - platform: status
    name: "Sonoff 4CH Status"

switch:
  - platform: gpio
    id: relay1
    name: "Sonoff 4CH Spínač 1"
    pin: GPIO12
  - platform: gpio
    id: relay2
    name: "Sonoff 4CH Spínač 2"
    pin: GPIO5
  - platform: gpio
    id: relay3    
    name: "Sonoff 4CH Spínač 3"
    pin: GPIO4
  - platform: gpio
    id: relay4
    name: "Sonoff 4CH Spínač 4"
    pin: GPIO15

status_led:
  pin: 
    number: GPIO13
    inverted: True

Integrace do HomeAssistanta

Podobně jako v předchozích dvou produktech v menu Nastavení -> Integrace najdeme ESPHome a klikneme na Konfigurovat a vyplníme název zařízení.

Jak vidíme, nyní jsme dostali z naších Sonoffů poměrně hodně informací s nevelkým úsilím. Sonoff-Tasmota podobné údaje obsahuje také, ale je potřeba je ručně vyparsovat z poslané MQTT zprávy a vytvořit na ně ručně položky v HomeAssistentovi. Takhle máme téměř vše automatické.

Veškeré konfigurace jsem opět uložil do repozitáře na Git.

Uvidíme kam se ESPHome bude posunovat. Každopádně už nyní vypadá jako velmi zajímavá alternativa k Sonoff-Tasmota. Minule jsem psal, že bych zatím zůstal v případě Sonoff produktů u Sonoff-Tasmota. Nyní už si tím tak jistý nejsem. ESPHome jsem nahrál do cca. poloviny Sonoff produktů, která mám a zatím jediným problémem jsou občasné výpadky, které věřím, že se podaří brzy vyřešit – jedná se o známý problém.

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

31 comments

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

  • Děkuji za návod. krásně to funguje. Jen by mě zajímala konfigurace na externí čidla (teplota, vlhkost), třeba pro zařízení sonoff TH16. Něco jsem našel na zahraničních webech, ale konfigurátor mi to nechce brát.
    Příklad
    sensor:
    – platform: htu21d
    temperature:
    name: „Temperature“
    humidity:
    name: „Humidity“
    update_interval: 60s

    podle mě to má být spojeno s portem GPIO, je to tak? definice platform určuje něco předem definovaného?

    Děkuji

    • Hmm, TH16 či 10 bych tady měl mít, čili to vyzkouším a dám vědět. Popř. to přidám rovnou sem do článku jako třetí produkt – nemělo by to být složité.

    • Přidal jsem do článku třetí část pro TH10 s oficiálním vodotěsným sensorem, který tady mám. Pomůžeme vám toto? Nebo jak vy to chcete řešit? „Neoficiálním“ sensorem připájeným k desce nebo s využitím jack konektoru? Možná bych to pak mohl zkusit i s nějakým jiným sensorem co tu mám.

      • Je to perfektní, dekuji moc. Mozna by pomohlo i originalni senzor s dvema hodnotama (vlhkost a teplota). Prenos funguje trochu jinak.

        • Supr 🙂 a máte pravdu. Bohužel tady teď druhý sensor nemám. Časem to doplním ať je to kompletní.

  • Díky moc za tutoriály, planuju zprovozneni, prozatim ve fazi pripravy a k ovladani jezirka jsem heldal jestli lze vyresit napojeni obou dvou cidel na mereni teploty s nejakou upravou firmwaru u TH10/16 a narazil sem na tenhle web a clanek.
    https://www.superhouse.tv/21-six-sonoff-secrets/

  • Díky za super zpracovaný seriál. Ušetřil mi spousty hledání.
    Sám jsem ve fázi, kdy mě přechod na chytrou domácnost dost láká a kdy zvažuju koncepci a jaké zvolit řešení. Jsem sice kutil, a asi mě bude těšit si tu domácnost udělat, ale přeci když implementace bude bude jednodušší je to dobré, ale netoužím se po jejím dodělání o ní neustále starat a řešit proč a co zrovna nefunguje, co ještě včera fungovalo. Přijde mi naprosto klíčová spolehlivost. Tedy když už to jednou rozchodím, tak aby to tak zůstalo pokud možno na dobu životnosti komponentů a nemusel jsem neustále řešit problémy nekompatability updatů a pod. Přeci jen chytrá domácnost mi má život usnadňovat a ne naopak.

    Přečetl jsem si hodně věcí o TASMONTA i o ESPHome. Na ESPHome se mi dost líbí možnost vynechat MQTT broker (ne že by v mém systému nemohl být, určitě kvůli něčemu bude nutný), ale koncepčně i co se týče jednoduchosti implementace mi přijde přímá integrace ESPHome do Home Assistenta jako lepší. U ESPHome je na druhou stranu nutné dodefinovat GPIO stavy, což má TASMONTA už předpřipravené.
    A teď konečně dotaz: Je možné nebo pravděpodobné, že při vývoji TASMONTY a Homeassistenta dojede k přímé integraci (ať už v rámci Homeassistenta nebo přes addon) nebo je to vyloučené? A obdobně – je pravděpodobné, že ESPHome bude mít již předpřipravené konfigurace pro typické SONOFF produkty? Já si např. nejsem jistý, že bych byl schopen konfiguraci GPIO SONOFFu nastavit tak, aby souběžně fungovala i s dodatečně připojeným klasickým vypínačem (tak jak to třeba umí TASMONTA)

    Díky

    • Chápu co tím myslíte a odpověď není úplně jednoduché, jelikož je to tak trochu hádání.

      Nicméně pokud bych si měl tipnout, tak si úplně nemyslím, že by Tasmota také přesla na API.

      V případě ESPHome vidím taktéž obrovskou mezeru v dokumentaci a příkladech, nicméně toto se určitě do budoucna zlepší. Sám jsem začal na Githubu přidávat konfigurace pro Sonoffy, které už jsem použil v nějakém článku o ESPHome. Zároveň zde je i prostor na zlepšení Dashboardu a generování konfigurace, kde si dokážu představit, že by to mohlo pro konkrétní produkty generovat základní konfigurace.

      Zároveň mě připadá zajímavá i kombinace hotových produktů s originálním software, který jde přímo napojit na HomeAssistent – je již už poměrně hodně. Pak máte v podstatě dvě místa, odkud je můžete ovládat a pokud jedno nefunguje je tu ještě záloha. Nevýhoda tohoto řešení je, že často poutřebuje přístup na Internet.

      Ještě podle mě uvidíme kam to všechno bude časem směřovat. Nicméně pro mě je to zajímavé sledovat a svým způsobem jsem tak rád, že je to ještě hodně dynamické.

      Kdybyste si s nějakou konfigurací nevěděl rady, zkuste se ozvat a pokud by to bylo obecně zajímavé pro větší okruh lidí tak se na to kouknu a sepíšu k tomu článek.

      Snad jsem alespoň trochu odpověděl 🙂

      • Tasmota uz se umi taky pridat automaticky… Nemusí se psat config

        • I bez MQTT? Jelikož to je pak největší výhoda API od ESPHome.

        • To ano, ale našel jsem pouze automatické přidání (autodiscovery) přes MQTT, ale ne napřímo do Hass s vynecháním MQTT. Nebo jsem něco pominul?

        • Dobrý den. Znamená to že stačí napájet konektor, připojit k PC a flashnout firmware tasmota bez nastavování a potom se připojím aplikací Domácnost?
          Omlouvám se, asi je pro vás zkušené můj dotaz hloupý, ale jsem v tom lajk a potřeboval bych otevírat sekční vrata hodinkama.
          Taky bych potřeboval poradit se spínáním sonoff kontaktu aniž by spínač připojil fázi. Teď tam mám ještě relé abych ochránil motor.
          Děkuji, s pozdravem Luboš

          • Dobrý den, budu předpokládat, že mluvíte o Apple Watch. Přímá integrace na HomeKit jen pomocí Tasmoty nebo ESPHome není možná. Budete ještě potřebovat HomeAssistant – v komentáři to nemáte zmíněno tak raději uvádím. Jak přidat do HomeAssistenta HomeKit jsem psal v tomto článku: https://blog.vyoralek.cz/iot/centrum-chytre-domacnosti-homeassistant-hass-io-3-cast-integrace-homekit/. Co se týče „bez nastavování“ pak se obávám, že nějaké konfigurace bude potřeba jak u Tasmoty tak ESPHOme – u Tasmoty minimálně zvolení typu zařízení a konfigurace MQTT… u ESPHome pak ještě před kompilací nahrávní správné konfigurace s propojením jednotlivých součástek uvnitř. Snad vám to takto trochu ujasnilo.

          • Děkuji za odpověď, nevím o tom zatím skoro nic, ale něco si přečtu ať se dostanu do obrazu a nezatěžuju vás banalitama. Bez vaší pomoci se ale asi neobejdu, tak zatím moc děkuji

  • Zdravím, hned ze začátku článku popisujete možnost nahrání FW pomocí webového rozhraní Sonoff-Tasmota. Asi to bude hloupej dotaz, ale kde se dá stáhnout firmware ESPHome?

    Děkuji.

  • Díky za inspiraci. Začínám se pomalu rozkoukávat a napadlo mě, zda je možné využít volný pin GPIO14 u Sonoff Basic k připojení dotykového tlačítka TTP223 Touch Key Switch Module. Mohlo by se to hodit třeba pro ovládání v uzavřené vodotěsné krabici Sonoff IP66.

    • Mělo by to jít, ale pozor. GPIO14 je pokud se nepletu vyvedený na pin header pouze ve verzi 1.

  • Dobrý den, moc děkuji za všechny tutorialy týkající se HA. Nemáte prosím k dispozci vzorový config pro esphome, kde se místo tlačítek využívá klasický nástěnný vypínač a při každé změně stavu se provede zapnutí nebo vypnutí v závislosti na stavu relé? Využívám to u tasmoty, ale chtěl bych přejít na esphome kvůli větši otevřenosti. Moc děkuji

  • dobry den, neporadil by mi nekdo jak upravit v esphome dashboardu config abych misto ds1820 pripojil si8021, prootoze bych chtel monitorovat i vlhkost

    Dekuji

  • Super návod. Před několika dny jsem se odhodlal k mé první flash akci, konkrétně TH10. Udělal jsem prvotní flash, přidal dallas, v logu přečetl ID, doplnil ho do kódu a přidal jsem si tam ještě další vychytávky z S20 (signál, doba běhu, verze…). Vše zafungovalo na jedničku. Dnes jsem se odhodlal a říznul do kabelu originál čidla a vsadil další dallas. V logu jsem opět zjistil ID, přidal do kódu, flash a opět úspěch. Prostě super. Takže velké díky.
    A na závěr jeden dotázek. Jak převést dobu běhu na jiné jednotky, třeba hodiny, ještě lépe dny a hodiny? Ty sekundy dávají moc veliké číslo.

    • Pokud přímo v ESPHome, tak například takto:

      sensor:
      - platform: uptime
      name: "Uptime"
      id: uptime_s
      update_interval: 15s

      text_sensor:
      - platform: template
      name: "Uptime (formatted)"
      lambda: |-
      uint32_t dur = id(uptime_s).state;
      int dys = 0;
      int hrs = 0;
      int mnts = 0;
      if (dur > 86399) {
      dys = trunc(dur / 86400);
      dur = dur - (dys * 86400);
      }
      if (dur > 3599) {
      hrs = trunc(dur / 3600);
      dur = dur - (hrs * 3600);
      }
      if (dur > 59) {
      mnts = trunc(dur / 60);
      dur = dur - (mnts * 60);
      }
      char buffer[17];
      sprintf(buffer, "%ud %02uh %02um %02us", dys, hrs, mnts, dur);
      return {buffer};
      icon: mdi:clock-start
      update_interval: 15s

    • Mohl bych požádat o poslání Vaší kopmletní konfigurace TH10 pro dvě čidla?

      • Váš komentář z nějakých důvodů skončil ve SPAMu, tak reaguju až nyní. Máte na mysli dvě čidla zároveň na jednom TH10 a nebo konfiguraci pro dvě různé čidla, které jde k TH10 koupit?

      • Můžu poslat, ale není to složité nakonfigurovat. Postupoval jsem stejně jako u prvního čidla, přesně podle popisu Jiřího. Prostě jsem paralelně připojil další čidlo, v logu přečetl jeho ID a pak přidal do kódu fw
        – platform: dallas
        address: 0x7100000B68ABFE28
        name: „Sonoff TH10 Teplota 2“
        Takhle plánuji měřit sedm míst. Jen je pak potřeba dát mezi napětí a data 4k7 odpor. Stačí to tak?

        • Díky za pomoc s odpovědí 🙂 Koukám, že si musím začít číst pořádně i komentáře okolo abych měl nit, ale je těch komentářů nějak poslední dobou povícero, tak se komplikuje, ale na to si vlastně nestěžuju 😀

  • Dobrý den
    Nikde nemůžu tady najít zda někdo připojil flasnutou TH16 s čidlem Si7021. nedaří se mi čidlo připojit. TH10 umím ale TH 16 s tímto čidlem neumím. Co mám napsat do souboru yaml aby se čidlo oživilo. děkuji

  • Zdravím všechny,
    začínám s HA a Sonoff S26. Povedlo se mi provést základní flash (hack) přes USB programátor. Pokud chci ale nahrát do Sonoffu nový firmware přes HA pomocí OTA, vždy dostávám chybu:

    INFO Successfully compiled program.
    INFO Resolving IP address of zasuvka_01.local
    INFO -> 192.168.88.24
    INFO Uploading /data/zasuvka_01/.pioenvs/zasuvka_01/firmware.bin (424640 bytes)
    Uploading: [== ] 4%
    ERROR Error sending data: [Errno 104] Connection reset by peer

    Netušíte, kde by mohl být problém? Děkuji za radu.

Odebírejte blog emailem

Mějte ihned informaci o novém článku ze světa technologií.