Stropní světlo ovládané infračerveným ovladačem se dá napojit na Home Assistant malým ESP32, které kódy ovladače umí přijímat i vysílat. Ovladač pak přestane být potřeba.
Součástky a piny níže jsou typická volba; konkrétní moduly se mohou lišit.
Součástky
- ESP32-C3 (např. vývojová deska ESP32-C3 SuperMini);
- IR přijímač 38 kHz (VS1838B nebo TSOP38238);
- IR LED s tranzistorem NPN (např. 2N2222) a rezistory, nebo hotový vysílací modul.
Zapojení
Na ESP32-C3 se vyplatí vyhnout pinům GPIO2, GPIO8 a GPIO9 – rozhodují o režimu startu.
1. Odchycení kódů
Nejdřív je potřeba zjistit protokol a kódy tlačítek ovladače. Jedna cesta je jednoduchý sketch v Arduino frameworku s knihovnou IRremoteESP8266 (příklad IRrecvDumpV2), který po stisku tlačítka vypíše protokol a kód na sériovou linku. Druhá cesta je rovnou ESPHome s dump: all – kódy se objeví v logu.
2. Konfigurace ESPHome
remote_receiver:
pin:
number: GPIO4
inverted: true
mode:
input: true
pullup: true
dump: all
remote_transmitter:
pin: GPIO5
carrier_duty_percent: 50%
button:
- platform: template
name: 'Stropní světlo'
on_press:
- remote_transmitter.transmit_nec:
address: 0x00FF # příklad - hodnoty z vlastního odchytu
command: 0x40BFKaždé tlačítko ovladače, které má smysl ovládat, dostane vlastní button. Protokol (transmit_nec, transmit_raw a další) odpovídá tomu, co ukázal odchyt.
3. Home Assistant
Zařízení se po nahrání firmwaru objeví v Home Assistantu přes integraci ESPHome a tlačítka jsou k dispozici jako entity – pro ruční ovládání i pro automatizace.
Na co si dát pozor
- IR potřebuje přímou viditelnost na přijímač světla; vysílač umístit tak, aby na něj „viděl“.
- Stav světla zařízení nezná – IR je jednosměrné. Pokud ho automatizace potřebuje, je třeba ho odvodit jinak (např. senzorem světla).