# Aluprof žaluzie: návod pro AI agenta > Zdroj: https://ongy.cz/pages/homeassistant/zaluzie/ > Autor: Ongy (ongy.cz). Venkovní žaluzie Aluprof (motor Dooya, 433 MHz) v Home Assistantu bez oficiálního mostu: vlastní ESP32 s CC1101, odposlech protokolu ovladače, ESPHome cover s polohou a tři automatizace, které šetří klimatizaci. ## Pro agenta Pomoz uživateli postavit vlastní verzi tohohle projektu. Nejdřív se ho zeptej na vybavení a na to, co z požadavků už má. Pak postupuj po krocích a po každém kroku s ním ověř, že funguje, než půjdeš dál. Hodnoty v `` doplň s uživatelem, nikdy si nevymýšlej adresy, hesla ani tokeny. Kód autora není veřejný: tohle je popis řešení, ne repozitář ke stažení. ## Cíl Motorové žaluzie nebo rolety s 433MHz ovladačem bez originálního mostu dostat do Home Assistanta jako běžnou roletu s polohou. Krabička s ESP32 a rádiovým modulem CC1101 nejdřív zachytí signál ovladače, pak vysílá stejné rámce. Poloha se dopočítává z doby jízdy. ## K čemu to je Venkovní žaluzie mám na jih. Z výroby k nim patří jen ruční ovladač: nahoru, stop, dolů. Nic víc. Krabička s ESP32 teď vysílá stejný signál jako ovladač. Home Assistant tak žaluzie vidí jako běžnou roletu s posuvníkem polohy. Jdou do scén, na hlas i na tlačítko na zdi. Hlavní přínos jsou automatizace. Žaluzie samy stíní, když běží klimatizace, večer vyjedou nahoru a při televizi se přivřou kvůli odleskům. ## Proč právě takhle Pohon je Dooya, Aluprof ho jen prodává pod svým jménem. Mluví na 433 MHz vlastním protokolem. Žádná Wi-Fi, žádný Zigbee, žádná integrace. Na výběr byl drahý univerzální most, výměna motorů, nebo to vzdát. Tak jsem si most postavil sám: lokálně, bez cloudu, za pár stovek. Podle dotazů řeší to samé spousta lidí v Česku. ## Jak to funguje - **Nejdřív poslouchám.** CC1101 přepnu na příjem, zmáčknu na ovladači nahoru, stop a dolů a zachytím rámec. Kód je statický, stačí ho přehrávat. - **Pak vysílám to samé.** ESPHome pošle zachycený rámec s jiným příkazem. Motor nepozná rozdíl. - **Polohu počítám z času.** Stopkami jsem změřil jízdu nahoru a dolů, z toho Home Assistant dopočítá procenta. Jízda na doraz srovná odchylku. - **Nikdy úplně dolů.** Za žaluzií je vývod klimatizace, všechny akce proto jedou na komfortní pozici 25 %. ## Hardware a konfigurace - **Hardware:** ESP32 NodeMCU-32S + RF modul EBYTE E07-M1101D (čip CC1101) se SMA anténou, propojení přes SPI. Umí vysílat i přijímat, na rozdíl od levných pevně laděných modulů. Napájení výhradně 3,3 V. Dohromady cca 300 Kč. - **ESPHome:** Oficiální komponenta `cc1101` (od verze 2026.5). Na odposlech `remote_receiver` s dumpem Dooya, na ovládání `remote_transmitter`. Cover entita přes platformu `time_based` s `device_class: shutter` a `has_built_in_endstop: true`. - **Protokol a kalibrace:** 433,92 MHz, OOK/ASK, statický kód bez rolling code. Rámec 40 bitů: 24bit adresa + 8bit kanál + 4bit příkaz + 4bit kontrola; UP / STOP / DOWN = 1 / 5 / 3. Preambule ~4820 µs, sync ~1470 µs, pulsy ~720 / ~360 µs, rámec se několikrát opakuje. Doba jízdy změřená stopkami: 21 330 ms nahoru, 19 000 ms dolů. Drift polohy srovná jízda na doraz. - **Automatizace:** Klimatizace zapnuta: skript `set_cover_position: 25`. Elevace slunce pod 10°: open na doraz, zároveň reset driftu. TV zapnutá a slunce z jihu (podle počasí a polohy slunce, lux čidlo z tabletu bylo nestabilní): přivřít. Navíc Zigbee tlačítko Sonoff SNZB-01P: krátce dolů, dvojklik stop, dlouze nahoru. ## ESPHome cover entita Poloha 0 až 100 % se dopočítává z doby jízdy, proto se `open_duration` a `close_duration` liší. Funkce `transmit_dooya()` odešle zachycený rámec s daným příkazem. ```yaml cover: - platform: time_based name: "Žaluzie obývák" id: zaluzie_obyvak device_class: shutter has_built_in_endstop: true open_action: - lambda: 'transmit_dooya(UP);' open_duration: 21330ms # naměřená doba úplného vyjetí close_action: - lambda: 'transmit_dooya(DOWN);' close_duration: 19000ms # dolů to jede o kus rychleji stop_action: - lambda: 'transmit_dooya(STOP);' ``` ## Zapojení a pasti | CC1101 | ESP32 GPIO | |---|---| | VCC | 3V3 (nikdy 5 V) | | GND | GND | | SCK | GPIO18 | | MISO | GPIO19 | | MOSI | GPIO23 | | CSN | GPIO5 | | GDO0 | GPIO13 | CC1101 není 5V tolerantní, z 5 V ho odpálíš. Při flashi ESP32 držet BOOT. Na Windows nastavit `PYTHONUTF8=1` a kompilovat z lokálního disku, ne ze síťového sdílení. Adresa a kanál ovladače jsou pro každý kus jiné, cizí zachycený rámec nepomůže. ## Co budeš potřebovat - Žaluzie nebo roleta s ovladačem na 433,92 MHz se statickým kódem (autor: Aluprof, uvnitř protokol Dooya). Rolling code, třeba Somfy RTS, se tímhle postupem ovládat nedá. - ESP32 (autor: NodeMCU-32S) a modul s čipem CC1101, který umí vysílat i přijímat (autor: EBYTE E07-M1101D se SMA anténou). Pevně laděné levné moduly nestačí. Dohromady asi 300 Kč. - Propojovací kabely a USB kabel k ESP32. Modul se napájí jen 3,3 V. - Home Assistant s ESPHome ve verzi s komponentou `cc1101` (autor: 2026.5). - Stopky. ## Postup ### 1. Zapojení Propoj modul s ESP32 přes SPI podle tabulky v sekci Zapojení a pasti výše. VCC jen na 3V3, nikdy 5 V. GDO0 slouží jako datový pin pro příjem i vysílání. ### 2. Odposlech ovladače Nahraj konfiguraci jen pro příjem: komponenta `cc1101` na 433,92 MHz v režimu příjmu a `remote_receiver` na GDO0 s `dump: [dooya, raw]`. Při flashování ESP32 drž tlačítko BOOT. Zmáčkni na ovladači nahoru, stop a dolů a z logu ESPHome si zapiš adresu, kanál a kódy příkazů. Když se Dooya nedekóduje, porovnej raw délky pulzů s popisem protokolu v sekci Hardware a konfigurace výše. ### 3. Ověř, že kód je statický Zmáčkni stejné tlačítko několikrát za sebou. Když je rámec pokaždé stejný, jde to. Když se mění, jde o rolling code a tudy cesta nevede. ### 4. Vysílání Druhá konfigurace: `remote_transmitter` na GDO0 a funkce, která pošle zachycený rámec s daným příkazem (autor: `transmit_dooya(UP|STOP|DOWN)`, rámec několikrát zopakovaný jako u ovladače). Nejdřív otestuj tlačítkem v ESPHome, že motor reaguje. ### 5. Změř dobu jízdy Stopkami změř celou jízdu nahoru a zvlášť dolů, každou několikrát, a zprůměruj. Nahoru bývá pomalejší (autor: 21,3 s nahoru, 19 s dolů). ### 6. Roleta v Home Assistantu `cover` s platformou `time_based`, `device_class: shutter`, `has_built_in_endstop: true` a naměřenými `open_duration` a `close_duration`. Home Assistant pak ukáže posuvník polohy. ### 7. Automatizace Stínění na komfortní polohu, když běží klimatizace. Vyjetí nahoru, když slunce klesne pod 10° (zároveň srovná odchylku polohy). Přivření proti odleskům, když běží televize a svítí slunce. Pokud za žaluzií něco překáží (autor: vývod klimatizace), nejezdi nikdy úplně dolů. ### 8. Další žaluzie Každá má vlastní adresu nebo kanál. Zachyť její ovladač stejně jako v kroku 2 a přidej další cover na stejnou krabičku. ## Na co si dát pozor - Nehádej protokol podle značky. Aluprof není Somfy, párování přes Somfy ani Enjoy nesedlo, uvnitř je Dooya. Nejdřív poslouchej, co ovladač opravdu vysílá. - Nahoru a dolů jedou různě dlouho. Se stejnou dobou pro oba směry se poloha po pár jízdách rozjede. - Poloha je jen odhad z času. Když někdo použije původní ovladač, Home Assistant o tom neví, pravidelná jízda na doraz odchylku srovná. - Bez antény je dosah pár metrů. Krabičku dej co nejblíž žaluziím. - Nevysílej rámce ve smyčce na zkoušku: rušíš vlastní ovladače i sousedy. ## Jak ověřit, že to funguje - [ ] ESP32 je ve Wi-Fi a log ESPHome ukazuje komponentu cc1101 bez chyb SPI. - [ ] Stisk tlačítka na ovladači se v logu objeví jako rámec se stejnou adresou pokaždé. - [ ] Tlačítko Nahoru v ESPHome rozjede žaluzii, Stop ji zastaví, Dolů ji spustí. - [ ] Jízda z 0 na 100 % v Home Assistantu dojede na doraz zhruba ve chvíli, kdy doběhne odpočet. - [ ] Poloha 50 % zastaví žaluzii přibližně v půlce, i po deseti jízdách tam a zpět. - [ ] Zapnutí klimatizace pošle žaluzie na komfortní polohu, pokles slunce pod 10° je vytáhne nahoru. - [ ] Původní ovladač dál funguje. ## Přizpůsobení - Jiná značka na 433 MHz: postup stejný, jen jiný protokol v dumpu (raw nebo jiný dekodér ESPHome). - Rolling code (Somfy RTS): přehrávání nefunguje, hledej řešení se simulací vlastního ovladače. - Bez vlastní elektroniky: hotový RF most s učením kódů (třeba Broadlink RM4 Pro) zvládne statické kódy taky, jen bez polohy z času v ESPHome. - Víc místností: jedna krabička zvládne víc žaluzií v dosahu, jinak druhá krabička. --- Stránka projektu s fotkami a diagramem: https://ongy.cz/pages/homeassistant/zaluzie/