IKEA Vindriktning s ESPhome

IKEA prodává malý a levný (a bohužel také nepřesný) senzor kvality ovzduší, který se mnoho makerů a bastlířů po celém světě snaží integrovat do svých chytrých domácností. Před rokem tuto integraci usnadnila česká firma LáskaKit se svojí deskou LaskaKit ESP-VINDRIKTNING ESP-32 I2C. Součástí desky je i několik dalších konektorů, do kterých můžeme připojit vlastní senzory a krabičku IKEA Vindriktning tak rozšířit o měření teploty, vlhkosti nebo koncentrace CO2.

Moje upravená verze IKEA Vindriktning nyní kromě prachových částic 2,5 měří také teplotu, vlhkost a CO2 v místnosti. Naměřené hodnoty zobrazuje na displeji umístěném pod signalizační diodou a zároveň všechny údaje odesílá do Home Assistant. Z původního zařízení tak zůstala pouze zadní část krabičky, senzor prachových částic a mléčný kryt signalizačních LED diod.

Pomocí ovládacích prvků nebo automatizací, v Home Assistant, můžu měnit intenzitu svitu signalizačních LED nebo kontrast displeje. LED lze na noc úplně vypnout nebo jim jen ztlumit intenzitu svitu. V tuto chvíli mám vytvořené 2 světelné efekty:

  1. Změna barvy signalizačních LED probíhá skokově a přepíná se mezi zelenou, žlutou a červenou na základě vypočítaného AQI (Air Quality Index), ve kterém je zohledněna jak hodnota CO2, tak množství pevných prachových částic PM2,5.
  2. Změna barvy signalizačních LED probíhá plynule od zelené, k odstínům žluté, přes oranžovou až k sytě červené. Barva se mění pouze na základě naměřeného množství CO2.

Několik komentářů k měřeným hodnotám

  • Originální senzor prachových částic je velmi nepřesný, pravděpodobně by šel nahradit jiným, přesnějším senzorem, ale to už by z původního IKEA zařízení nejspíš nezůstalo vůbec nic.
  • Z důvodu vnitřní konstrukce, je teplotní senzor umístěný přímo nad ESP deskou, která znatelně topí a vnitřní prostor vyhřívá o několik stupňů. Také to není úplně ideální řešení. Pokoušel jsem se tento problém vyřešit přes uspávání ESP, ale to zase vedlo k jiným problémům, takže jsem šel nejjednodušší cestou a zapsal jsem korekci teploty přímo do kódu.
  • ESPhome komponenta pro čidlo CO2 nepodporuje všechny možnosti kalibrace senzoru, takže chvilku trvá, než senzor začne posílat správné hodnoty. Myslím si, že senzor musí být v provozu několik dní.

Seznam použitých komponentů

ESPhome kód

  • YAML kód pro ESPhome naleznete na GitHub.

Nastavení efektu signalizačních diod

Výchozí režim pro signalizační LED, ihned po instalaci kódu, je bez světelného efektu. To znamená, že signalizační LED budou svítit bílou barvou a nebudou reagovat na naměřené hodnoty. Pro vizualizaci naměřených hodnot musíte vybrat jeden z efektů ovládacího prvku „RGB LED indicator“.

V nastavení vyberte jeden ze světelných efektů

Automatizace v Home Assistant

Pokud chcete na noc ztlumit intenzitu LED a kontrast displeje, vytvořte v Home Assistant následující automatizaci.

- id: '1676576065446'
  alias: IKEA semafor - off
  description: V 22:00 zhasne LED a nastaví kontrast displeje na minimum
  trigger:
  - platform: time
    at: '22:00:00'
  condition: []
  action:
  - device_id: 4297e976fbdf70bc9abf515098f5c6f4
    domain: number
    entity_id: number.ikea_kontrast_displeje
    type: set_value
    value: 2
  - type: turn_off
    device_id: 4297e976fbdf70bc9abf515098f5c6f4
    entity_id: light.rgb_led_indicator
    domain: light
  mode: single

Stejným způsobem můžete ráno LED opět rozsvítit. Zavolejte službu „light.turn_on“, vyberte entitu „RGB LED indicator“. Dále nastavte „brightness“ na požadovanou intenzitu a nezapomeňte vybrat efekt, kterým se má LED indikátor rozsvítit.

- id: '1676576863619'
  alias: IKEA semafor - ON 15%
  description: Ráno v 5:30 zapne LED a nastaví intenzitu na 15%
  trigger:
  - platform: time
    at: 05:30:00
  condition: []
  action:
  - service: light.turn_on
    data:
      effect: AQI Level (smooth change)
      brightness_pct: 15
    target:
      entity_id: light.rgb_led_indicator
  - device_id: 4297e976fbdf70bc9abf515098f5c6f4
    domain: number
    entity_id: number.ikea_kontrast_displeje
    type: set_value
    value: 15
  mode: single

Ve výše uvedených kódech budete muset změnit hodnotu „device_id“. Určitě bude lepší, pokud celou automatizaci naklikáte.

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přejít nahoru