Přeskočit obsah

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: 1 7812635, 2 12397817, 3 14749084, 4 11737976 (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é chyby Error 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):

  1. Primární: sensor.connection_state (z Velux integrace) → off — okamžitý, real-time
  2. 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
  3. 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: single a kontroly state_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

  1. ~~KLF200 factory reset, přepnutí do repeater módu~~ ✅
  2. ~~KLF150 reset~~ ✅
  3. ~~Párování repeaterů~~ ✅ — přes Tahoma → IO Key Control → Find IO Devices (ne Send Key)
  4. ~~Overkiz integrace v HA~~ ✅
  5. ~~Přejmenování entit~~ ✅
  6. ~~Přiřazení areas~~ ✅
  7. ~~Aktualizace automatizací (ložnice, koupelna)~~ ✅
  8. ~~Smazání starých cover skupin~~ ✅

Dopad migrace na HA

  • Integrace se změní: z HACS pawlizio/velux-klf200 (pyvlx) na core Overkiz
  • 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


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ý export core.device_registry
  • docs/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)