blog.vyoralek.cz

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

Dnešní sedmá část navazuje na přechozí a budeme pokračovat v integraci Sonoff produktů pomocí ESPHome. Dnes si ukážeme drobně složitější konfiguraci pro Sonoff POW.

Pokud ještě Sonoff POW (R2) neznáte tak na začátek malé představení. Jedná se o jeden z WiFi přepínačů čínské firmy Sonoff, který má jeden vstup – podobně jako např. nejzákladnější produkt Sonoff Basic, ale navíc disponuje senzorem na měření spotřeby.

Z pohledu nastavení může být pro nás ještě zajímavý i fakt, že Sonoff POW (R2) obsahuje hned dvě LED diody – modrou a červenou.

Příprava a nahrání základní verze

Nejprve si připravíme základní konfiguraci ESPHome, kterou už známe z předchozího dílu k Sonoff Basic a S20, která obsahuje vše potřebné pro naflešování Sonoffu – tato část konfigurace je tedy stejné pro obě POW verze – R1 a R2.

esphomeyaml:
  name: pow
  platform: ESP8266
  board: esp01_1m
  board_flash_mode: dout

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

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:

ota:

Pokud jsme vše provedli správně měli bychom po restartu vidět zařízení v ESPHome dashboardu jako Online.

Rozdíly mezi verzemi R1 a R2

Sonoff už stihl vydat dvě verze POW spínačů a podíváme se na odlišnosti, které jsou důležité při nastavování ESPHome.

R1

GPIO0Tlačíko (obrácená logika)
GPIO12Spínač a červená LEDka
GPIO15Modrá LEDka
GPIO5HLW8012 SEL Pin
GPIO13HLW8012 CF1 Pin
GPIO14HLW8012 CF Pin

K měření je použit sensor HLW8012 – při nastavení potřebujeme znát i piny SEL, CF1 a CF.

R2

GPIO0Tlačítko (obrácená logika)
GPIO12Spínač a červená LEDka
GPIO13Modrá LEDka (obrácená logika)

K měření je použit sensor CSE7766 – pro komunikaci používá UART.

Z hlediska funkcionality je největším benefitem R2 možnosti měření i proudu a napětí – u předchozí verze je to pouze příkon.

Konfigurace R2

Níže si uvedeme jeden z možností konfigurace pro R2, který můžeme použít pro monitorování spotřebiče zda je v provozu či nikoliv na základě aktuálního příkonu.

Představme si například pračku, kterou máme trvale zapojenou do zásuvky a chtěli bychom zjistit zda ještě pere či nikoliv bez toho aniž bychom se museli chodit dívat do koupelny (popř. kamkoliv jinam kde pračku máme fyzicky).

uart:
  rx_pin: RX
  baud_rate: 4800

binary_sensor:
  - platform: gpio
    id: button
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    on_press:
      - switch.toggle: fakebutton
  - platform: template
    name: "Pračka pere"
    filters:
      - delayed_off: 15s
    lambda: |-
      if (isnan(id(power).state)) {
        return {};
      } else if (id(power).state > 2) {
        // Running
        return true;
      } else {
        // Not running
        return false;
      }

switch:
  - platform: template
    name: "Sonoff POW 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: pow_blue_led
    pin:
      number: GPIO13
      inverted: True

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

sensor:
  - platform: wifi_signal
    name: "Sonoff POW WiFi Signál"
    update_interval: 60s
  - platform: uptime
    name: "Sonoff POW Doba běhu"
  - platform: cse7766
    update_interval: 2s
    current:
      name: "Sonoff POW Proud"
    voltage:
      name: "Sonoff POW Napětí"
    power:
      name: "Sonoff POW Příkon"
      id: power
      on_value_range:
        - above: 2.0
          then:
            - light.turn_on: led
        - below: 1.0
          then:
            - light.turn_off: led

text_sensor:
  - platform: version
    name: "Sonoff POW Verze"

Jak vidíte v konfiguraci použili jsme tentokráte binární sensor typu template, který na základě aktivního příkonu vrátí informaci true/false, tedy zda pračka běží či nikoliv.

Zároveň jsme využili druhé diody pro indikaci tohoto stavu, tj. pokud pračka poběží bude modrá dioda svítit. Jinak bude svítit pouze červená dioda indikující zapnutí spínače.

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.

V části Zkonfigurováno bychom měli automaticky vidět nové položky – tentokráte jich máme opravdu hodně, nicméně můžeme je samozřejmě podle potřeby omezit.

Pro lepší přehlednost si jednotlivé sensory ještě seskupíme pomocí souboru config/group.yaml.

pow:
  name: "Pračka"
  control: hidden
  entities:
    - binary_sensor.pracka_pere
    - switch.sonoff_pow_prepinac
    - sensor.sonoff_pow_napeti
    - sensor.sonoff_pow_prikon
    - sensor.sonoff_pow_proud
    - sensor.sonoff_pow_verze
    - sensor.sonoff_pow_doba_behu
    - sensor.sonoff_pow_wifi_signal

Po restartu Homeassistenta bychom pak už měli vidět všechny nastavené sensory a přepínače.

Na obrázku níže je Sonoff spínač zaplý a zároveň odběr je větší než nastavených 2W, takže stav Pračka pere je ve stavu Aktivní.

Jakmile nasimulujeme neaktivnost zařízení – já to zkoušel pomocí žárovky, takže jsem ji jen odšrouboval – všechny měřené POW veličiny klesnou k nule a stav Pračka pere se přepne do stavu Neaktivní. Přepínač však bude stále ve stavu Aktivní.

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

Kompletí série o HomeAsistentovi obsahuje následující články:

  • 1. část – Představení HomeAsisstent – tento článek
  • 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

9 komentářů

Napsat komentář

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

  • Super, parádní návod a celá tato série. Jde nějak v hass.io zaznamenávat i historii a vykreslti ji třeba do grafu (abych pak třeba viděl jak dlouho pračka prala, kolikrát za den, atd?). Díky za inspiraci

    • Ano jde. Z pohledu dlouhodobějších statistik je myslím nejlepší kombinace InfluxDB a Grafana. Jelikož mám tenhle článek už v plánu, možná ho trochu uspíším. Záleží tedy jestli budete chtít počkat a nebo začnete pátrát na vlastní pěst 🙂

      • Díky za navedení – uvidím podle času, ale velice rád si počkám na článek, kde to bude super sepsané 😉 Díky

      • Chtěl jsem se jen zeptat, jestli se pokročilo v přípravě článku o statistikách. Díky 😉

        • Díky za dotaz. Poslední dny jsem věnoval vzdálenému přístupu, takže z pohledu statistik nic nového. Ale ptá se na to už více lidí takže bude velmi brzy.

  • Ahoj pri tasmote bola polozka total – cize celkova spotreba od spustenia sonoffu. Pri esphome to nejako neviem dostat. Je takato moznost.

    • Ahoj, u ESPHome je k dispozici total_daily_energy, což je celková denní spotřeba. Na základě toho se pak dají z DB dostat i celkové spotřeby – ideálně je to pak, ale ukládat někam mimo hlavní DB HomeAssitenta, jelikož ten uchovává data jen za poslední X dní – podrobný popis je v dokumentaci.

  • SONOFF POW R2 mi fungoval nonstop 3 týždne a zrazu začal posielať údaje: napätie 0,00 prúd 0,00 príkon 0,00

    Mohlo sa niečo stať so snímačom?

%d blogerům se to líbí: