Velux (io-homecontrol)
Dům používá systém Velux io-homecontrol pro ovládání stínící techniky, střešních oken a garážových vrat.
Gateway ID: 2095-2775-7873.
Hardware
- Velux KLF 200 (Gateway)
- Role: Hlavní brána do io-homecontrol sítě. Poskytuje API pro Home Assistant.
- Aktuální stav: Repeater mód, spárovaný s Tahoma (modrá dioda). Klíč přijat 2026-04-01 přes Tahoma → IO Key Control → Find IO Devices.
- IP Adresa:
192.168.40.10(statická/DHCP rezervace) - API Port: 51200 (TCP) — nedostupný v repeater módu
- Web UI: Port 80 (přístupné pouze v AP módu nebo na LAN, pokud povoleno)
- Napájení: Přes smart plug
switch.switch_velux(Zigbee,0xa4c138758b8fd734) — umožňuje vzdálený power cycle - Velux KLF 150 (Repeater/Ovládací jednotka)
- Umístění: Druhá část domu
- Role: Repeater signálu pro vzdálená zařízení
- Aktuální stav: Repeater mód, spárovaný s Tahoma (modrá dioda). Klíč přijat 2026-04-01 přes Tahoma → IO Key Control → Find IO Devices.
- Somfy Tahoma (Centrální jednotka)
- Role: Starší centrální jednotka, sdílí stejný io-homecontrol systémový klíč jako KLF200
- Použití: Záložní ovládání, zdroj io klíče pro instalaci
- Poznámka: Přenos klíče přes Send Key nefunguje — zařízení klíč přijmou (zelené bliknutí), ale nezařadí se do instalace (zůstanou žlutě). Funkční postup: v Tahoma appce použít IO Key Control → Find IO Devices (ne Send Key). Tím se repeatery najdou a sjednotí se klíč.
- Velux KLR 300 (Dotykový ovladač) — zapůjčený, vrácen 2026-04-01
- Role: Fyzický dotykový ovladač io-homecontrol (868 MHz, dosah 100 m)
- Kapacita: Až 200 zařízení, ale vidí pouze Velux zařízení (ne Somfy žaluzie apod.)
- Použití: Přijal klíč z Tahoma, ale k párování repeaterů nebyl nakonec potřeba — stačila Tahoma přes Find IO Devices
- Poznámka: KLR300 při příjmu klíče zobrazil pouze Velux zařízení (10 oken, 16 rolet), ne-Velux io-homecontrol zařízení (žaluzie, markýza, vrata) nezobrazuje
Modely střešních oken
| Model | Rozměr (kód) | Popis |
|---|---|---|
| GLU MK10 | MK10 (78 × 160 cm) | Kyvné střešní okno, bílý polyuretan |
| GLU MK04 | MK04 (78 × 98 cm) | Kyvné střešní okno, bílý polyuretan |
Integrace v Home Assistant
- Typ: HACS custom component
pawlizio/velux-klf200 - Entry ID:
01KCGZHXQATK3ZT91C7TDG8D95 - Konfigurace:
- Host:
192.168.40.10 - Heslo (Wi-Fi): viz Secrets/Bitwarden (standardně na štítku jednotky)
- Původní (oficiální) integrace: Nahrazena HACS verzí (padala častěji)
Typy ovládaných zařízení
| Typ | device_class v HA | Overkiz typ | Popis | Počet |
|---|---|---|---|---|
| Venkovní žaluzie | blind |
PositionableExteriorVenetianBlind | Vertikální okna, lamelové žaluzie s naklápěním | 14 |
| Rolety (střešní) | shutter |
PositionableTiltedRollerShutter | Rolety na střešních oknech Velux | 14 |
| Elektrická okna | window |
PositionableTiltedWindow | Elektricky otevíratelná střešní okna | 10 |
| Garážová vrata | garage |
PositionableGarageDoorWithPartialPosition | Vrata dílny (Somfy DexxoSmart 1000 io) | 1 |
| Markýza | awning |
PositionableHorizontalAwning | Markýza na terase | 1 |
| Screenová roleta | awning |
PositionableScreen | Venkovní screen v tělocvičně (HA klasifikuje jako awning) | 1 |
| Světlo motoru | light | StatefulOnOffLight | Světlo garážového motoru DexxoSmart | 1 |
| Spínač motoru | switch | StatefulOnOff | Spínač garážového motoru DexxoSmart | 1 |
Celkem: 43 zařízení + 1 gateway (KLF 200)
Kompletní inventář zařízení
Stav mapování: 2026-03-19. Zdrojem identifikace je záloha ze staré integrace Overkiz (Tahoma), aktuální stav v HA (device names, area assignments) a členství v cover skupinách (helpers).
Žaluzie (blind) — venkovní, vertikální okna
| Cover # | Entity ID | Overkiz název | io-homecontrol ID | Area | Stav identifikace |
|---|---|---|---|---|---|
| 25 | cover.25 |
Bazén 1 | 8960235 |
Bazén | ✅ pojmenováno "Žaluzie 1" |
| 9 | cover.9 |
Bazén 2 | 498491 |
Bazén | ✅ pojmenováno "Žaluzie 2" |
| 7 | cover.7 |
Bazén 3 | 1572322 |
Bazén | ✅ pojmenováno "Žaluzie 3" |
| 19 | cover.19 |
Bazén 4 | 5585963 |
Bazén | ✅ pojmenováno "Žaluzie 4" |
| 37 | cover.37 |
Bazén - terasa | 13136965 |
Bazén | ✅ pojmenováno "Žaluzie terasa" |
| 16 | cover.16 |
Dílna | 1610922 |
Dílna | ✅ pojmenováno "Žaluzie" |
| 34 | cover.34 |
Jídelna | 12543032 |
nepřiřazeno | ⚠️ identifikováno vylučovací metodou — jediná zbývající žaluzie |
| 26 | cover.26 |
Koupelna | 11974400 |
Koupelna | ✅ pojmenováno "Žaluzie" |
| 20 | cover.20 |
Kuchyně | 743686 |
Kuchyně | ✅ pojmenováno "Žaluzie" |
| 11 | cover.11 |
Ložnice | 8128017 |
Ložnice | ✅ pojmenováno "Žaluzie" |
| 42 | cover.42 |
Relax | 12293598 |
Relax | ✅ pojmenováno "Žaluzie portál" |
| 27 | cover.27 |
Schody | 10584985 |
Hala | ✅ pojmenováno "Žaluzie okno schody" |
| 22 | cover.22 |
Schody terasa | 8926934 |
Relax | ✅ pojmenováno "Žaluzie dřevník" |
| 30 | cover.30 |
Sedací | 5044480 |
Relax | ✅ pojmenováno "Žaluzie sedací okno" |
⚠️ Přiřazení cover.22 → "Schody terasa" a cover.42 → "Relax" je odvozené, nebylo fyzicky ověřeno. Přiřazení cover.34 → "Jídelna" je vylučovací metodou (poslední zbývající blind bez přiřazení).
Rolety (shutter) — střešní okna Velux
| Cover # | Entity ID | Overkiz název | io-homecontrol ID | Area | Stav identifikace |
|---|---|---|---|---|---|
| 5 | cover.5 |
Belka 1/2/3 | ? | Bělka | 📍 ze skupiny cover.belka_rolety, pojmenováno "Roleta 2" |
| 14 | cover.14 |
Belka 1/2/3 | ? | Bělka | 📍 ze skupiny cover.belka_rolety |
| 31 | cover.31 |
Belka 1/2/3 | ? | Bělka | 📍 ze skupiny cover.belka_rolety |
| 35 | cover.35 |
Bětka | 12764403 |
nepřiřazeno | ⚠️ identifikováno vylučovací metodou — jediná zbývající roleta |
| 3 | cover.3 |
Herna levé/pravé | ? | Herna | 📍 ze skupiny cover.herna_rolety, pojmenováno "Roleta 1" |
| 18 | cover.18 |
Herna levé/pravé | ? | Herna | 📍 ze skupiny cover.herna_rolety |
| 8 | cover.8 |
Lucka levé/pravé | ? | Lucka | 📍 ze skupiny cover.lucka_rolety |
| 12 | cover.12 |
Lucka levé/pravé | ? | Lucka | 📍 ze skupiny cover.lucka_rolety |
| 2 | cover.2 |
Tělocvična 1/2/3/4 | ? | Tělocvična | 📍 ze skupiny, pojmenováno "Roleta 2" |
| 23 | cover.23 |
Tělocvična 1/2/3/4 | ? | Tělocvična | 📍 ze skupiny cover.telocvicna_rolety |
| 24 | cover.24 |
Tělocvična 1/2/3/4 | ? | Tělocvična | 📍 ze skupiny cover.telocvicna_rolety |
| 32 | cover.32 |
Tělocvična 1/2/3/4 | ? | Tělocvična | 📍 ze skupiny cover.telocvicna_rolety |
| 28 | cover.28 |
Tomáš levé/pravé | ? | Tomáš | 📍 ze skupiny cover.tomas_rolety |
| 41 | cover.41 |
Tomáš levé/pravé | ? | Tomáš | 📍 ze skupiny cover.tomas_rolety |
Overkiz io-homecontrol ID pro Bělka:
2711794,12399370,11361911(pořadí neznámé). Overkiz io-homecontrol ID pro Herna: levé12387828, pravé7222863(přiřazení ke cover # neznámé). Overkiz io-homecontrol ID pro Lucka: levé16776929, pravé6516596(přiřazení ke cover # neznámé). Overkiz io-homecontrol ID pro Tělocvična: 17812635, 212397817, 314749084, 411737976(přiřazení ke cover # neznámé). Overkiz io-homecontrol ID pro Tomáš: levé345517, pravé3401888(přiřazení ke cover # neznámé).Pro přesné přiřazení levé/pravé resp. 1/2/3/4 je nutný fyzický test (pohnout jednou roletou a sledovat).
Elektrická střešní okna (window)
| Cover # | Entity ID | Overkiz název | io-homecontrol ID | Area | Stav identifikace |
|---|---|---|---|---|---|
| 0 | cover.0 |
Bětka | 14770050 |
Bětka | ✅ pojmenováno "Okno postel" |
| 1 | cover.1 |
Galerie | 10351428 |
Galerie | ✅ pojmenováno "Okno nad krbem" |
| 4 | cover.4 |
Schodiště | 2124034 |
Hala | ✅ pojmenováno "Okno schodiště" |
| 13 | cover.13 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
| 15 | cover.15 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
| 21 | cover.21 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
| 36 | cover.36 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
| 38 | cover.38 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
| 39 | cover.39 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
| 40 | cover.40 |
? | ? | nepřiřazeno | ❓ nutná fyzická identifikace |
Zbývajících 7 neidentifikovaných oken patří do těchto místností (z Overkiz zálohy):
| Overkiz název | io-homecontrol ID | Patro |
|---|---|---|
| Belka | 11615112 |
patro |
| Koupelna TV | 13260999 |
patro |
| Koupelna holky | 15177126 |
patro |
| Lucka | 13046279 |
patro |
| Tomáš | 2841007 |
patro |
| Tělocvična | 1328745 |
patro |
| Záchod (WC) | 9945202 |
přízemí |
Pro přiřazení je nutné po jednom okně otevřít a sledovat, které se pohne.
Garážová vrata
| Cover # | Entity ID | Overkiz název | io-homecontrol ID | Area | Stav identifikace |
|---|---|---|---|---|---|
| 17 | cover.17 |
DexxoSmart1000io | 10706103 |
nepřiřazeno | ⚠️ identifikováno dle device_class garage — jediné takové zařízení = vrata dílny |
Příslušenství garážového motoru Somfy DexxoSmart 1000 io:
| Entity | Overkiz název | io-homecontrol ID | Popis |
|---|---|---|---|
light.6 |
Light | 10706104 |
Světlo integrované v garážovém motoru |
switch.10 |
Switch | 10706105 |
Spínač garážového motoru (doplňková funkce) |
io-homecontrol ID
10706103,10706104,10706105— sekvenční trojice patřící jednomu fyzickému zařízení.
Markýza a screen
| Cover # | Entity ID | Overkiz název | io-homecontrol ID | Area | Stav identifikace |
|---|---|---|---|---|---|
| 29 | cover.29 |
Markýza | 4917331 |
nepřiřazeno | ⚠️ identifikováno dle device_class awning + Overkiz typ PositionableHorizontalAwning |
| 33 | cover.33 |
Tělocvična (Screen) | 14470537 |
nepřiřazeno | ⚠️ PositionableScreen v Overkiz, HA klasifikuje jako awning — jedná se o venkovní screenovou roletu |
Cover.29 = markýza na terase (potvrdit area přiřazení — Bazén? nebo nová area Terasa?). Cover.33 = screenová roleta v tělocvičně, ne markýza.
Cover skupiny (helpers)
Existující cover group helpers pro ovládání všech prvků stejného typu v místnosti najednou:
| Skupina (entity ID) | Area | Členové | Typ |
|---|---|---|---|
cover.belka_rolety |
Bělka | cover.31, cover.5, cover.14 |
rolety (3×) |
cover.lucka_rolety |
Lucka | cover.12, cover.8 |
rolety (2×) |
cover.tomas_rolety |
Tomáš | cover.41, cover.28 |
rolety (2×) |
cover.telocvicna_rolety |
Tělocvična | cover.23, cover.2, cover.24, cover.32 |
rolety (4×) |
cover.herna_rolety |
Herna | cover.3, cover.18 |
rolety (2×) |
cover.bazen_zaluzie |
Bazén | cover.25, cover.9, cover.7, cover.19, cover.37 |
žaluzie (5×) |
Chybějící skupiny
Po dokončení identifikace by měly vzniknout skupiny i pro:
- Relax — žaluzie (cover.22, cover.30, cover.42)
- Hala — žaluzie (cover.27) + případně okno
- Další místnosti dle potřeby
Naming konvence (navrhovaná)
Entity ID
Formát: cover.{area}_{typ} nebo cover.{area}_{typ}_{rozlišení}
| Příklad | Vysvětlení |
|---|---|
cover.dilna_zaluzie |
Jediná žaluzie v dílně |
cover.bazen_zaluzie_1 |
Žaluzie v bazénu, číslo 1 |
cover.bazen_zaluzie_terasa |
Žaluzie u terasy v bazénu |
cover.belka_roleta_leva |
Roleta v Bělce, levá |
cover.hala_okno_schodiste |
Okno nad schodištěm |
cover.dilna_vrata |
Vrata dílny |
cover.terasa_markyza |
Markýza na terase |
Friendly name (český)
Formát: {Area} {typ} nebo {Area} {typ} {rozlišení}
Příklady: "Dílna žaluzie", "Bazén žaluzie terasa", "Bělka roleta levá", "Dílna vrata"
Device name
Popisný český název + identifikace: "Žaluzie dílna", "Roleta Bělka levá", "Vrata dílna (DexxoSmart)"
Labely (navrhované)
Labely pro typ zařízení (na entity)
| Label | Popis | Ikona |
|---|---|---|
zaluzie |
Venkovní žaluzie (vertikální okna) | mdi:blinds-vertical |
roleta |
Rolety na střešních oknech | mdi:blinds-horizontal |
stresni_okno |
Elektricky otevíratelná střešní okna | mdi:window-open |
vrata |
Garážová/dílenská vrata | mdi:garage |
markyza |
Markýza | mdi:awning |
screen |
Venkovní screenová roleta | mdi:projector-screen-outline |
Label pro technologii (na entity/device)
| Label | Popis |
|---|---|
io_homecontrol |
Zařízení na io-homecontrol sběrnici (přes KLF200) |
Automatizace (existující)
| Automatizace | Popis | Entity |
|---|---|---|
automation.velux_klf200_auto_recovery |
Watchdog — power cycle KLF200 při výpadku API | switch.switch_velux, binary_sensor.velux_klf200_api |
| Žaluzie ráno vytáhnout | Otevření žaluzií dle sensor.morning_cutoff |
cover.loznice, cover.26 |
| Žaluzie večer stáhnout | Zavření žaluzií ve 20:00 nebo při západu slunce | cover.loznice, cover.26 |
Automatizace ranního/večerního ovládání pokrývají pouze ložnici a koupelnu. Po dokončení přejmenování a přiřazení rozšířit na další místnosti.
Troubleshooting
Známé problémy
- "Tuhnutí" KLF 200: Jednotka je na síti (ping OK), ale API (port 51200) neodpovídá.
- Příčina: Známý bug v pyvlx/KLF200 firmware. API zamrzne i přesto, že síťově je jednotka dostupná.
- Řešení: Automatický watchdog (viz výše) nebo fyzický restart (odpojení napájení ~30s).
- Odmítání nových spojení po sérii restartů HA: KLF200 může po sérii restartů / reconnectů přestat přijímat nová spojení na portu
51200. - Pozorování (2026-03-10): V logu se objevovalo
Unable to connect to KLF200: [Errno 111] Connect call failed ('192.168.40.10', 51200)a předtím opakované chybyError fetch limitation data for cover #.... - Nejpravděpodobnější vysvětlení: V KLF200 zůstaly viset staré session po předchozích restartech Home Assistantu, gateway narazila na interní limit spojení a nová spojení začala odmítat.
- Praktický dopad: Integrace přestane číst data a bez power cyklu gatewaye se sama nemusí zotavit.
- Změna IP: Po změně síťových prvků (switch) může dojít ke změně IP, pokud není fixována.
- Řešení: Ověřit ARP tabulku/DHCP a aktualizovat konfiguraci v HA.
Watchdog (Auto Recovery)
Automatická detekce a recovery v configuration.yaml + automations.yaml:
Triggery (v pořadí priority):
- Primární:
sensor.connection_state(z Velux integrace) →off— okamžitý, real-time - Záložní:
binary_sensor.velux_klf200_api— TCP check (nc -z) na port 51200 každých 5 min, trigger po 5 min offline - Startup:
homeassistant.start— kontrola po restartu HA (s 120s zpožděním pro boot integrace)
Recovery akce (script.velux_klf200_recovery):
- Vypne smart plug (
switch.switch_velux) na 30s - Zapne a počká 90s na boot
- Reload integrace (
homeassistant.reload_config_entry)
Rate limit: Max 1× za hodinu (input_datetime.velux_klf200_last_recovery_attempt)
Incident 2026-03-10
- Watchdog se sice spouštěl, ale kvůli chybné podmínce v automatizaci se zastavil ještě před
switch.turn_off - Příčina byla kombinace
mode: singlea kontrolystate_attr(..., 'current') == 0, takže běžící automatizace sama sebe zablokovala - Oprava nasazena v commitu
6faca8a— ponechán rate limit 1× za hodinu, odstraněna sebe-blokující podmínka
Aktuální plán: Tahoma jako gateway + KLF200/KLF150 jako repeatery (2026-03-27)
Rozhodnutí: Přejít na Tahoma jako hlavní gateway pro HA integraci (Overkiz). KLF200 i KLF150 jako repeatery pro rozšíření RF dosahu. KLR300 jako nástroj pro distribuci klíčů a záložní fyzický ovladač.
Důvod: KLF200 má chronický problém s TCP socketem (firmware ~8 let bez aktualizace, discontinued). Tahoma má aktivně vyvíjený firmware, oficiální HA integraci (Overkiz) s lokálním Developer Mode, potvrzený tilt lamel.
Aktuální stav (2026-04-01)
- KLF200: repeater mód, spárovaný s Tahoma ✅ (modrá dioda)
- KLF150: repeater mód, spárovaný s Tahoma ✅ (modrá dioda)
- Tahoma: hlavní gateway, ovládá 44 zařízení
- KLR300: vrácen — nebyl k párování repeaterů potřeba
- HA integrace: Overkiz (Tahoma), entity přejmenovány, areas přiřazeny
- Stará Velux (pyvlx) integrace: odstraněna
Dokončená migrace
- ~~KLF200 factory reset, přepnutí do repeater módu~~ ✅
- ~~KLF150 reset~~ ✅
- ~~Párování repeaterů~~ ✅ — přes Tahoma → IO Key Control → Find IO Devices (ne Send Key)
- ~~Overkiz integrace v HA~~ ✅
- ~~Přejmenování entit~~ ✅
- ~~Přiřazení areas~~ ✅
- ~~Aktualizace automatizací (ložnice, koupelna)~~ ✅
- ~~Smazání starých cover skupin~~ ✅
Dopad migrace na HA
- Integrace se změní: z HACS
pawlizio/velux-klf200(pyvlx) na coreOverkiz - Entity ID se změní — nutné přepsat automatizace, skupiny, dashboardy
- Tilt lamel: potvrzeno funkční přes Overkiz
- Limit Tahoma Switch: 60 io zařízení (aktuálně 44, dostatečná rezerva)
- KLF200 watchdog (
automation.velux_klf200_auto_recovery) — bude zrušen (KLF200 už nebude gateway)
Poznámky k io-homecontrol klíči
- Přenos klíče přes KEY tlačítko: odesílání = stisk 2–7s, příjem = krátký stisk max 2s
- Send Key v Tahoma nefunguje pro repeatery — odešle klíč (zelené bliknutí na přijímači), ale repeater zůstane v nekonfigurovaném stavu (žlutá dioda)
- Funkční postup: V Tahoma appce → IO Key Control → Find IO Devices (ne Send Key). Tím Tahoma aktivně vyhledá repeatery v dosahu a sjednotí klíč. Oba repeatery přešly na modrou diodu.
- KLF200 v interface módu neumí odesílat klíč na jiný controller — KEY tlačítko na KLF200 funguje pouze pro příjem
- KLR300 vidí pouze Velux zařízení — ne-Velux io-homecontrol (Somfy žaluzie, markýza, vrata) nezobrazuje, i když sdílí stejný systémový klíč
- Somfy Repeater io (artikl 9014069) je alternativa k KLF150 — čistý repeater, možná jednodušší párování
Zdroje
- HA Community: KIG300 integrace
- HA Community: KLF200 vs KIG300
- Overkiz integrace docs
- Somfy TaHoma kompatibilita 2025 (CZ)
Overkiz (Tahoma) — historická data
Původní integrace používala službu Overkiz (Somfy TaHoma). Záloha device registry z Overkiz je uložena v:
docs/files/manualy/overkiz_full_dump.json— plný exportcore.device_registrydocs/infrastruktura/kamery/velux_mapping.md— mapovací tabulka (starší verze, nahrazena tímto dokumentem)
Všechna zařízení mají io-homecontrol URI ve formátu io://2095-2775-7873/{ID}.
TODO
- [ ] Fyzicky identifikovat 7 neznámých oken (cover.13, 15, 21, 36, 38, 39, 40) — po jednom otevřít a sledovat, které okno v domě se pohne
- [ ] Fyzicky identifikovat levé/pravé rolety v místnostech s více roletami (Bělka 1/2/3, Lucka L/P, Tomáš L/P, Herna L/P, Tělocvična 1-4)
- [ ] Ověřit přiřazení cover.22 a cover.42 k Overkiz názvům "Schody terasa" vs "Relax"
- [ ] Přejmenovat všechny entity dle naming konvence (device name + entity ID)
- [ ] Přiřadit area všem nepřiřazeným zařízením (cover.17, 29, 33, 34, 35 + 7 oken)
- [ ] Vytvořit labely pro typ zařízení a přiřadit k entitám
- [ ] Vytvořit chybějící cover skupiny (Relax žaluzie, Bětka rolety, apod.)
- [ ] Rozšířit automatizace ranního/večerního ovládání na další místnosti
- [ ] Ověřit cover.33 — potvrdit, že jde o screenovou roletu v tělocvičně
- [ ] Ověřit cover.29 — potvrdit markýzu na terase a rozhodnout area přiřazení
- [ ] Prověřit light.6 a switch.10 — ověřit funkci (předpokládá se příslušenství garážového motoru DexxoSmart)