blog.vyoralek.cz

Centrum chytré domácnosti – HomeAssistant (Hass.io) – 4 část – integrace Sonoff 2

V dnešní části budeme pokračovat dalšími informaci k integraci Sonoff produktů a ukážeme si jak číst a zobrazit senzorová data. Zároveň si ukážeme i obecné principy seskupování v HomeAssistentovi.

🎙 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.

V pvním díle o integraci Sonoffů jsme si vybrali tu nejjednodušší možnost v podobě Sonoff Basic, který je v určitém ohledu poměrně hloupý – ovládá jen zapnutí či vypnutí připojeného zařízení.

Dnes se podíváme naopak na jedno z chytřejších zařízeních od Sonoffu a to Sonoff POW, konkrétně pak v generaci 2.

Sonoff POW R2
Sonoff POW R2

Sonoff POW umí totéž co Sonoff Basic – zapnout / vypnout připojené zařízení, ale kromě toho poskytuje i poměrně hodně sensorových dat, které mohou být velmi zajímává pro zobrazení v HomeAssistentovi. Ukážeme si tedy jak tyto data číst a zobrazit.

Předpokladem bude opět fleshnutý Sonoff s nahraným firmware Sonoff-Tasmota, díky němuž můžeme integrovat do HomeAssistanta přes MQTT.

Definici sensorů v HomeAssistentovi

Prvním krokem bude potřeba si říci, které data chceme do HomeAssistenta přenášet. Sonoff POW poskytují následující – za rovnítkem je název hodnoty v MQTT zprávě:

  1. Aktuální napětí (V) = Voltage
  2. Aktuální proud (A) proudící do připojeného zařízení (klidně i více) = Current
  3. Aktuální příkon (W) = Power
  4. Zdánlivý příkon (VA) = ApparentPower
  5. Jalový příkon (VAr) = ReactivePower
  6. Účiník = Factor
  7. Spotřebu dnes (kWh) = Today
  8. Spotřebu včera (kWh) = Yesteday
  9. Celkovou spotřebu (kWh) = Total

Všechny tyhle údaje najdeme v sekci ENERGY a celková MQTT zpráva tak může vypadat nějak takto:

{
    "Time": "2018-12-16T17:36:25",
    "ENERGY": {
        "TotalStartTime": "2018-12-15T16:30:27",
        "Total": 0.409,
        "Yesterday": 0.103,
        "Today": 0.306,
        "Power": 2,
        "ApparentPower": 12,
        "ReactivePower": 11,
        "Factor": 0.21,
        "Voltage": 243,
        "Current": 0.048
    }
}

Btw. všechny sensorová data můžeme vidět i ve webovém rozhraní Sonoff-Tasmota zařízení (nezapomeňte nastavit správný typ modulu):

Sonoff-Tasmota pro POW model Sonoffu

Sensory se do HomeAssistenta přidávají do hlavního konfiguračního souboru configuration.yaml a sekce sensor.

Příklad jednoho senzoru (kompletní příklad pro POW najdete na Githubu):

- platform: mqtt
      name: "room1_table_lamp_energy_today"
      state_topic: "tele/sonoff/SENSOR"
      value_template: '{{ value_json["ENERGY"]["Today"] }}'
      unit_of_measurement: "kWh"

State_topic je cesta k MQTT zprávě s údaji výše. Uprostřed nahradíme pouze slovo sonoff názvem, který jsme použili pro náš Sonoff.

Ve value_template pak vybíráme konkrétní hodnotu, tj. v příkladu např. Spotřebu dnes.

Posledním nastavením je unif_of_measurement = nastavení jednotky, pro lepší přehled cože to vlastně zobrazujeme.

Zobrazení sensorů – seskupení se zařízením

Pokud jsme definovali sensory, restartovali HomeAssistent a neuděli nějakou chybu tak bychom měli vidět sensory zhruba takto:

Výchozí zobrazení sensorů v HomeAssistentovi

V případě našeho příkladu už můžeme jásat, že máme nové údaje. Představte si ale, pokud budete mít takových zařízení více. Všechny senzory se přidají do horního řádku a celé to bude hodně nepřehledné.

Naštěstí existuje v HomeAssistentovi funkce seskupování, která nám pomůže dát prvky které patří k sobě do jedné skupiny.

Ve výchozí konfiguraci bychom měli mít v configuration.yaml tento řádek:

group: !include groups.yaml

Ten nám říká, že veškerá konfigurace skupin je uložena v separátním souboru groups.yaml. Ten již zřejmě na disku budete mít jen bude prázdný.

Pro příklad naší lampičky tak můžeme vytvořit jednu skupinu s ovládáním a sensorovými daty například takto:

sonoff:
  name: "Lampička"
  control: hidden
  entities:
    - light.room1_table_lamp
    - sensor.room1_table_lamp_energy_voltage
    - sensor.room1_table_lamp_energy_power
    - sensor.room1_table_lamp_energy_current
    - sensor.room1_table_lamp_energy_today
    - sensor.room1_table_lamp_energy_yesterday
    - sensor.room1_table_lamp_energy_total

Tím máme hotové seskupení, nicméně po restartu uvidíme něco takového:

Seskupené prvky bez přejmenování
Seskupené prvky bez přejmenování

Jak vidíte název zařízení a jednotlivých sensorů není úplně ideální a zároveň by se nám hodilo změnit i drobně ikonky.

Ladění vzhledu – názvy a ikonky

Pro všechny zařízení a senzory můžeme definovat hezké texty pro zobrazení a taky si pohrát s ikonkami.

Nejprve budeme potřebovat přidat jeden řádek customize do configuration.yaml (pokud ho tam už nemáme):

homeassistant:
  ...
  customize: !include customize.yaml

Ten funguje podobně jako v případě seskupování, tj. říká nám, že veškerá customizace je uložená v samostatním souboru customize.yaml.

Samotný soubor pak vypadá nějak takto (kompletní soubor najdete na Githubu):

light.room1_table_lamp:
  friendly_name: "Stolní lampička"
  icon: mdi:desk-lamp

sensor.room1_table_lamp_energy_voltage:
  friendly_name: "Napětí"
  icon: mdi:power-plug

...

Nyní už jen restatujeme HomeAssistent a máme hezky vše seskupeno a pojmenováno.

Finální vzhled seskupených prvků
Finální vzhled seskupených prvků

I když byl tento návod popsán na konkrétním produktu můžete vše použít obecně pro všechny produkty fungující na MQTT. Část týkající se seskupování a změny vzhledu je pak aplikovatelná úplně na cokoliv.

Stejně jako v přechozích dílech jsem kompletní konfigurační soubory uložil na Github. Můžeme si tak projít celou konfiguraci pěkně pohromady za všech díly.

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

9 comments

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

  • Ahoj, zrovna včera jsem si POW2 objednal. Máš super web, vše podrobně popsané – skvělá práce. Jen tak dál 😉

    • Díky 🙂 Kdybys měl nějaké problémy tak se klidně ptej.

  • Ahoj,
    fakt super članky a návody cz pro HASS.IO. Pomocí tohoto návodu jsem integroval Sonoff TH10+Tasmota. Nemáš v plánu k spínačům sonoff vytvořit časovač 7/24/365? Našel jsem nějaký návod, ale nedaří se mi to uchodit.
    Dík za případnou odpověď.
    Michal T.

  • Jak se dá nastavit a by to rovnou vypicitavalo spotřebu v korunách když vím třeba že 1kWh je 4kc

    • platform: template
      sensors:
      sonoff_pow_today_cost:
      friendly_name: ‚Spotřeba DNes‘
      entity_id: sensor.sonoff_pow_today_energy
      unit_of_measurement: „Kč“
      value_template: >-
      #Multiply cena za kwh
      {{ states.sensor.sonoff_pow_today_energy.state | multiply(4) | round(2) }}

  • Mam v přehledu všechny čidla vypínače atd ale když se podívam do založky zařízení v nastavení tak tam není nic , a tím padem nejsou ani v automatizaci ,jak je tam dostanu ? když jsem to dělal poprve tak se objevili v integraci ale ted nic .

  • ahoj…ja sledujem clanky od prveho dielu dostal som sa sem..s home asist robim asi 2 dni…ale napisal si sem len „Všechny tyhle údaje najdeme v sekci ENERGY a celková MQTT zpráva tak může vypadat nějak takto:“ ale abolutne nechapem kam alebo kde to nakopirovat….dakujem

    • Ahoj, je tím myšlena MQTT zpráva, která je generována ze Sonoff zařízení pokud tam je Tasmota firmware a zkopírována do HomeAssistant konfigurace – configuration.yaml – jako value_template pro platform: mqtt položku. Je to takto více jasnější?

Odebírejte blog emailem

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