Centrální Seznam Úkolů (TODO)
Živý backlog pro homelab, smart home a AI stack.
Tagy: Oblast [infra] [ha] [ai] [monitoring] [docs] [services] — Velikost [S]≤2h [M]≤1d [L]>1d
Právě teď (Current Focus)
Max 5 položek. Co je aktivní priorita.
- [ ]
[infra][M]Cluster dokončení po stavbě pmx2 — hotovo 2026-07-06: instalace, join, migrace pfSense+HA na pmx2, replikace 100/102→pmx1 + 105→pmx2 à 90 min, syslog→Loki. Zbývá (v tomto pořadí): ~~① QDevice na TrueNAS~~ HOTOVO 2026-07-24 (expected votes 2→3) → ③ upgrade pmx1 9.1.9→9.2.5 + kernel 7.x (viz „Kernel 7.x migrace" — teď bezpečné díky QDevice; pozn.: s ha-managerem to už nebude bezvýpadkové, dokud není zapnutý, reboot pmx1 nevadí, klenoty na pmx2) → ② ha-manager pro set 100 + 102 + 105 + 107 (2026-07-24 rozhodnuto přidat i 105 PBS — ideální kandidát, datastore na TrueNASu je sdílený → failover bezeztrátový; a 107 debian kvůli nginx/ha.marada.name; 104/106/109 vědomě jen PBS restore) — odemčeno QDevicem; všechny 4 replikované ✅ (100/102/107 pmx2→pmx1, 105 pmx1→pmx2), watchdogsoftdog✅ naběhl. RAM caveat: pmx1-smrt → pmx2 převezme PBS = 25/27 G (napjaté, ARC přiškrcený, ~2 G rezerva) — protože Scrypted (8 G) teď na pmx2; nouzově OK, ale failover test musí hlídat OOM/ARC. Páka: Scrypted RAM 8→6 G, nebo (pořádně) náhrada pmx1 + přesun Scryptedu → pmx2 zpět na ~13 G. Kroky:ha-manager groups(preference nodů) →ha-manager add vm:100 vm:102 vm:105 ct:107→ kontrolovaně zabít node a ověřit zotavení + RAM → ④cpu: x86-64-v3pro migrovatelné VM → ⑤ regeneraceproxmox_generated.md+ úklid/etc/pve/nodes/pmx2orphan zbytků. Pozn.: failover trojice na pmx1 je RAM-těsný (~29/30 G) — v nouzi stopnout Immich (experiment). Jellyfin (110): rozhodnout obnovit z PBS / zrušit. Vizdecision_log.md2026-07-06. - [ ]
[infra][L]Audit repa + infrastruktury 2026-07 — remediace — checklist nálezů (zálohy/DR, HA fail-safes, alerting, docs, HW): audit_2026-07.md. Akutní: secure wipe SSD pmx2 před vrácením Amazonu (repliky + secrets; data rescue netřeba — Immich media na TrueNAS, Jellyfin LXC prázdné); Storj sync fix (fast_listaplikován 2026-07-06, ověřit noční běh); NFS/docker retry na debian-services (2026-07-06 stack nevstal po rebootu). Kvórum (delnode) a náhrada nodu řešeny samostatně výše (Nový uzel PN54-S1, QDevice). - [ ]
[docs][L]Audit repa 2026-06 — remediace — kompletní checklist nálezů (bezpečnost, HA config, docs, tooling, governance): audit_2026-06.md. Řeší se postupně po dávkách. Zbylé open položky přenést do audit_2026-07 / sem a soubor smazat (viz 2026-07 D7). - [ ]
[ha][S]FTV utility_metery grid_import/export_dnes — reset spike —sensor.grid_import_dnes/grid_export_dnes(configuration.yaml) běží na surových Victron vebus energy senzorech bez guardu; reset Cerba GX → denní hodnota na FTV dashboardu skočí. Zvážit wrapper sensor sdelta_valuesnebo akceptovat (řídký jev). Viz audit C17. - [ ]
[ha][S]Dashboard zahrada — 38 neidentifikovaných Zigbee světel —dashboards/zahrada.yamlmá dočasnou identifikační kartu (light.light,light.1,light.0x...). Doidentifikovat a pojmenovat, kartu pak smazat. Viz audit C21. - [ ]
[ha][M]Rekuperace boost — navrhnout znovu a pořádně — starý dvouklik-boost (15 min naswitch.rekuperace_2) odstraněn 2026-06-11, protože kolidoval s automatizací „Rekuperace wc" (vzájemně si vypínaly switch). Promyslet čistý model: jeden vlastník switche, priorita boost vs. WC odsávání, UI ovládání. Viz audit C3.
Aktivní backlog
Aktivní úkoly mimo top-5 focus.
- [x]
[ha][S]Zvonek na nativní DALI event + odstranění button_manageru — DOKONČENO 2026-07-23 — trigger přehozen nafoxtron_dali_button_action(flap upper, double_press; okno zvonění+30 s beze změny), ověřeno živým zvoněním,button_manager.py+buttons.yaml+check_buttons.py+ pydantic odstraněny, AppDaemon restartován. Vizdecision_log.md2026-07-22. - [ ]
[ha][S]DALI registr — úklid dvou anomálií — ① „Vypínač WC (duplikát – smazat)" (bus 21_24, addr 1, starý formát identifieru) smazat služboufoxtron_dali.remove_paired_switcha ověřit, že nový „Vypínač WC" dál loguje stisky; ② identifikovat fyzický vypínač „DALI Vypínač 1 (192.168.40.21_23, 1/0)" (mačkáním + Logbook zařízení), přejmenovat a zařadit do area. -
[ ]
[ha][M]Floorplan: rozmístit prvky + analýza vypínač→rolety — v editoru (placement.html, vygeneruje session zedashboards/pudorys.yaml) rozmístit 112 entit + 47 vypínačů na reálné pozice, export poslat agentovi → zapíše dopudorys.yaml. Pak spustit návrh mapování vypínač→rolety/světla (polygon membership + blízkost + jména vypínačů „u dveří kam"). -
[ ]
[monitoring][S]Nezávislý fallback alerting kanál + heartbeat monitoru — kontext 2026-07-20 (fix GH #81): Proxmox root mail z pmx1/pmx2 nikdy nechodil (přímé SMTP na Gmail, bounce 550 — chybí PTR/relay) a nikomu to nechybělo, protože primární alerting je řetěz syslog→Alloy (debian-services)→Loki→ai-monitor→GH issues. Ten ale (a) je single chain — výpadek debian-services/Loki/monitoru = ticho, včetně ticha o vlastním výpadku; (b) běží 2× denně → latence až ~12 h u akutních věcí (ZFS degraded, failed vzdump). Úkol: ① zřídit nezávislý push kanál přes Proxmox notification targets (preferovaně ntfy/Telegram webhook, ne Gmail smarthost — bez PTR/app-password tahanic) na pmx1+pmx2+PBS pro kritické eventy; ② heartbeat/dead-man switch na ai-monitor — alarm, když >24 h nepřišel žádný run. Gmail relay jen jako záložní varianta ①. - [ ]
[docs][M]Online dokumentace — domácí plná verze (s Osobním) — v1 (online oříznutá verze na Cloudflare Pages + Access, bezosobni/) nasazena; viz dokumentace_online.md. Fáze 2: doma na LAN plná verze včetně složky Osobní (standardnímkdocs buildzmkdocs.yml). Otevřené: ① kde hostovat (který domácí stroj — web s plným buildem, auto-rebuild na push); ② TLS — buď vlastní adresadocs.dum.marada.name(čistší), nebo split-horizon DNS override nadocs.marada.name(potřebuje platný lokální cert, jinak varování v prohlížeči). Rozhodnout ①/② dřív než stavět. Drobnost k opravě při té příležitosti:wallbox.mdodkazuje naosobni/domacnost/auta.md, který v online verzi 404 (v domácí OK). - [ ]
[infra][S]DNS filtr: zamezit obcházení hardcoded DNS — od 2026-07-20 Unbound forwarduje přes DoT na AdGuard/DNS4EU (blokace reklam), ale zařízení s natvrdo nastaveným DNS (8.8.8.8 apod. — typicky IoT/TV) filtr obcházejí. Zvážit: NAT redirect portu 53 ze všech VLAN na pfSense + block odchozích 853/tcp (DoT) mimo firewall samotný; DoH (443) plnohodnotně zablokovat nejde — max. blocklist známých DoH resolverů. Vizdecision_log.md2026-07-20. - [x]
[ha][S]Scrypted AN: migrace MQTT → websocket — DOKONČENO 2026-07-21 — Discovery layer na websocket (AN v5.1.3), AN credentials přímo v pluginu (nový tokenscrypted-an), smazány: 3 MQTT devices staré discovery rodiny v HA (entity registry), 2 mrtvé automatizace (snooze/alarm action), Scrypted pluginy HA + Cloud + MQTT. Živéscrypted_anentity přejmenovány z_2na čistá ID. Ověřeno: websocket entity se aktualizují, AN log „REST push connection restored". Zbývá jen: uživatel revokuje starý token HA pluginu v HA profilu. - [x]
[infra][S]NVR refquota fáze 2: dotáhnout na 2.9T — DOKONČENO 2026-07-23 — Scrypted prořezal 3,09 T → 2,83 T (retenci si NVR řídí samo), podmínka <2,85 T splněna →refquotanaarchive/nvrsnížena 3,15 T → 2,90 T. Potvrzeno, že alert „Refquota exceeded 89,8 %" byl důsledek záměrně těsné kvóty, ne hrozby zaplnění. - [ ]
[ha][S]Změřit inference time detekce + dotáhnout konfiguraci — 2026-07-23 zjištěno, že není známo, jak detekce reálně běží. Ve Scrypted UI (https://192.168.20.21:10443) → plugin OpenVINO odečíst inference time na snímek a projít, které kamery mají object detection vůbec zapnutou (podezření, že konfigurace není dotažená — viz otevřený úkol „Detekce postav → HA"). Interpretace: ≲80 ms = v pořádku; 100–250 ms = znatelné zpoždění; ≳300 ms = detekce zaostává. Toto číslo je jediný zbývající důvod, proč by dávalo smysl pořídit Coral TPU — spotřeba, hluk ani růst počtu kamer ho neospravedlňují (vizdecision_log.md2026-07-23). Pozn.: OpenVINO je Intel framework, na AMD iGPU inference neakceleruje → běží čistě na CPU. - [~]
[monitoring][S]Teplotní monitoring pmx1 + pmx2 — HOTOVO 2026-07-24; zbývá fyzická údržba pmx1 — ① Monitoring nasazen (KISS přes Loki, ne Prometheus — žádný metrický stack pro nody neexistoval, lm-sensors netřeba): loop servicenode-temp-log.servicena obou nodech čte hwmon á 60 s →logger→ syslog → Alloy → Loki (logfmttctl_c/amdgpu_c); Grafana alertnode-cpu-temp-highper-hostname >88 °C/5min → Telegram. Skripty + unit + README v repudocs/files/proxmox/node-temp-log/, alert vgrafana/provisioning/alerting/rules.yaml. Ověřeno živě (rule loaded, obě instance Normal). ② Zbývá fyzická údržba pmx1 (pm4 běží ~80 °C, pmx2 taky ~80 °C pod Scryptedem): nejdřív neinvazivně profouknout prach + ověřit ventilátor; repasta (ARCTIC MX-4, ne Kryonaut — lepší longevita na 24/7 horký node; + izopropyl 99 % + bezžmolkový hadřík) až když profouknutí nestačí. Teď máš baseline v Grafaně → uvidíš, jestli zásah pomohl. Časovat na klidno (pmx1 je DR cíl, nese PBS). Vizdecision_log.md2026-07-23. - [ ]
[infra][L]HW reshuffle (cíl H1 2027, hradlem cena RAM) — konsolidovaný plán, vizdecision_log.md2026-07-24. Trigger fáze 2 = návrat cen DDR5 (dnes 32GB SODIMM = 8 863 Kč, vyprodáno; návrat Q4 2027+). Fáze 1 (teď): thermal pmx2 přes USB Coral (~2000 Kč, nula RAM) nebo jen monitoring; žádné DDR5 nákupy. Fáze 2 (H1 2027): ① M1 Plus (Minisforum, Mironet ~8 837 Kč barebone, i5-12600H/Iris Xe/2×DDR5→96GB/2×2.5GbE) → nový pmx1 (Scrypted detekce na Iris Xe → Coral odpadá); DDR5 dokoupit až teď (Crucial 32GB ~8 863 Kč, 1×32 s volným slotem). ② starý pmx1 (32GB DDR4) → nový TrueNAS (opraví ARC starvation, poběží chladně). ③archive4TB (USB) přepojit;tank1TB NVMe → M1 Plus rpool — předem migrovat PBS datastore + app-data + VM storage (jádro operace). ④ retire NUC8i3BEH (8GB). Prerekvizita k ověření: fyzicky volné sloty ve starém pmx1 pro TrueNAS roli. - [ ]
[infra][S]TrueNAS RAM/box — vyřešeno reshuffle-em (starý pmx1 → TrueNAS) — current NUC8i3BEH (8GB) je memory-tight (588 MB free, ARC 1,1 GB). Nekupovat nový box ani RAM — fáze 2 reshuffle (viz „HW reshuffle" výše) dá TrueNASu starý pmx1 s 32 GB DDR4 → ARC fix zdarma. Do té doby TrueNAS jede jak jede (funguje, jen těsně). Breakpoint pro PBS-jako-TrueNAS-app se otevře až s tou větší RAM (viz PBS záznam vdecision_log.md). - [ ]
[ha][S]Doorbell: jmenovité TTS hlášení („Jan Šefránek zvoní u dveří") — AN people tracker publikuje per-osoba senzory (sensor.scrypted_an_people_tracker_*, 5 otagovaných lidí) +image.*_last_image. Návrh bez zdržení: TTS smyčka vdoorbell_ringopakuje po 5 s → 1. iterace generická („Někdo zvoní"), od 2. iterace šablona zkontroluje, zda se některý tracker aktualizoval v posledních ~15 s (na kameru zvonku) → jmenovitá hláška. Prerekvizita: empiricky ověřit obsah stavu tracker senzorů po první detekci (kamera/lokace?). Fallback při nerozpoznání = generická hláška (neškodné). Volitelně jméno i do push notifikace. - [ ]
[ha][S]Doorbell: rozchodit two-way audio přes HA — mluvení se zvonícím z HA (fallback k HomeKit cestě, funkční i při výpadku Scrypted/HomeKit). WebRTC karta (AlexxIT v3.6.1) na/lovelace/doorbellje instalovaná právě kvůli tomu — ověřit, že má nakonfigurovaný two-way zdroj (go2rtcisapi://backchannel na DS-KV8113, ne jen RTSP stream), mic ikonu v kartě a mic permission v companion appce; otestovat reálný hovor. Pozn.: v prohlížeči vyžaduje HTTPS (ha.marada.name). - [ ]
[ha][M]Kamerové notifikace: „arm garden" model (děti na zahradě = desítky záznamů, nenotifikovat) — rozhodnutá architektura 2026-07-21: logika čistě v HA, AN slouží jen jako senzorová sběrnice (přes websocket publikuje per-kamera person/animal/vehicle binary sensory). Implementace: ① ve Scryptedu pojmenovat kamery (teď všechny „IP CAMERA" → nerozlišitelná entity ID); ② helperinput_boolean.arm_garden(git, dashboard toggle); ③ automatizace: person detekce zahradních kamer +arm_garden == on→ notify oba iPhony se snímkem; ④ rozšíření: auto-arm v noci / kdyžanyone_home == off, auto-disarm ráno; expozice booleanu do HomeKit (ovládání z Watch). NEdělat přes AN Rules (logika by žila mimo git v UI pluginu). Scrypted app na mobilu: jen prohlížečka timeline, push v ní vypnout. - [ ]
[infra][S]Ověřit config záložní Aruby proti failover plánu — plan.md tvrdí „předkonfigurované VLANy", ale od migrace na USW-48 nikdo neověřil. Zapnout Arubu bokem (bez kabelů), porovnat VLANy/porty s tabulkami vesit/plan.md(Failover Plán), vypnout. ~20 min. Bez toho je 10min failover plán fikce. - [x]
[infra][S]QDevice na TrueNAS — DOKONČENO 2026-07-24 — qnetd CT dostal statickou192.168.20.23(in-container systemd-networkd, autoritativní; + pfSense DHCP rezervace pro přehled),corosync-qnetd+ sshd, root klíče pmx1/pmx2.pvecm qdevice setup 192.168.20.23 -f→ expected votes 2→3, Flags: Quorate Qdevice. Kterýkoli node teď může spadnout bez ztráty kvóra. Caveat: arbiter běží na TrueNASu → dvojitý výpadek (TrueNAS + node současně) = ztráta kvóra (přijatelná hrana). Odemyká ha-manager. Vizdecision_log.md2026-07-24. - [ ]
[infra][S]DR postup „PBS mrtvý / obnova ze Storj" — doplnit dodisaster_recovery.md: (a) PBS server je bezstavová skořápka — čistá instalace kdekoli + připojení datastoretank/pbs-data(chunky = obyčejné soubory); (b) Storj větev: plný pull bucketu (Cloud Sync PULL, ~h) nebo nouzovýrclone mountread-only + datastore nad mountem (single-guest restore bez stažení 260 G). Odsouhlaseno 2026-07-06. - [ ]
[infra][M]Pilot: PBS S3 datastore přímo na Storj — PBS 4.2 (duben 2026) povýšil S3 backend na stable → restore po chuncích přímo z GUI. Prerekvizity: upgrade PBS 4.0.11→4.2, test kompatibility Storj S3 gateway, nový bucket (jiný formát než dnešní rclone mirror). Trade-off vs. dnešní mirror: přímý restore, ale PBS potřebuje mazat (GC) → nekompatibilní s Object Lock/WORM (audit Z2). Pilot jako druhý cíl vedle mirroru, pak rozhodnout. Až po QDevice/ha-manager. - [ ]
[infra][M]GDrive 5 TB jako cold-archive offsite větev — nevyužitá kapacita; GDrive je špatný na PBS chunky (433k malých objektů, API limity), výborný na velké soubory: (a) měsíčnívzdumpklenotů (100/102/107) →rclone crypt→ GDrive = druhá offsite větev nezávislá na PBS+Storj řetězu (jiný formát, jiný provider); (b) TrueNAS config export + secrets bundle (uzavírá audit Z3/Z4). Až po cluster práci. - [ ]
[infra][S]Replikace/migrace rychlost: SSH strop ~60 MB/s na 1GbE — USW-48 je 1GbE (2.5G porty PN54 ladem). Možnosti:migration: type=insecurev datacenter.cfg (šifrování pryč, důvěryhodná LAN), přímý 2.5G kabel pmx1↔pmx2 (pmx1 ale nemá 2. port — USB adaptér?), nebo akceptovat (delty malé, inkrement 26 s). Rozhodnout, neřešit reflexivně. -
[x]
[infra][S]Ověřit noční vzdump po přesunu PBS — ověřeno 2026-07-06: denní řada záloh 1.–6. 7. nepřerušená (i v den incidentu), job automaticky následuje guesty po migracích. Pozn.: v jobu není CT 104 (nový Immich, experiment — vědomě) ani 110. -
[x]
[ha][S]GitOps: race condition apply automatizace (lock vs. status) — vyřešeno 2026-06-14: tvrdá podmínkabinary_sensor.ha_safe_update_running == offnahrazenawait_template(timeout 30 s, continue_on_timeout).safe_update.shzapíše status a hned exitne (lock smaže trap), ale lock binary_sensor se pollem po 5 s opožďoval a shazoval akci → restart se neaplikoval. Vizdecision_log.md2026-06-14. - [x]
[ha][M]GitOps apply: reload_all degraduje systém přes nemocnou YAML integraci — vyřešeno 2026-06-15 zrušením celého auto-deploye: nahrazen ručním skillemha-deploy(pull → config check → cílený reload/restart, nikdyreload_all). Tím odpadl i lock/status race. Vizdecision_log.md2026-06-15. - [x]
[ha][S]modbus atrea trvale nezdravý — vyřešeno 2026-06-16: registry 1201–1206 nebyly špatné adresy, ale špatný function code — bylyinput_type: holding, ale Atrea aMotion má celou čtecí mapu jako input registry (FC04); holding (FC03) jen pro request blok 1001–10xx. Přepnuto nainput_type: input, chyby ustaly. Při tom přidáno řízení výkonu ventilátorů (zápis do 1004). Vizdecision_log.md2026-06-16. - [ ]
[ha][L]Řízení přebytků FTV — implementace (fázovaný plán, revize 2026-06-20) — plán v rizeni_energie.md po multiagentním review. Vizdecision_log.md2026-06-20. - Fáze 0 (gate): HOTOVO 2026-06-21 — 2775/2777 + offsety zapisovatelné a drží, ale kompresor inertní (e-Manager „Surplus control" nezapnut + chybí CEM elektroměr). Surplus-by-BUS tudy nejede. Lekce: zápisy do TČ jen přes HA
modbus.write_register(pymodbus 2. master kolidoval, shodil rollback). Vizdecision_log.md2026-06-21. - v1 (nativní HA YAML, bez AppDaemon): signál
binary_sensor.ftv_surplus_curtailed(2stupňový — gating SOC/cena 0,50/MPPT/balancing + PV-rise potvrzení) + helpery → EP2 5 kW → EP1 3 kW →script.klima_pv_soak; fail-safe nezávislý na mozku; balancing interlock (dní_od_plného>14 & SOC<100→ potlačit). ≈ 60–70 % hodnoty. - Fáze 2 (kompresor) — Path B OVĚŘENA + v1 NASAZENA 2026-06-21 (commit 129dc70). Setpoint-by-BUS funguje (2705/2720 DHW, 2713/2722 AK): flip-test ukázal DHW setpoint 48→60, AK 30→48, kompresor 15,7 kW, COP ~3,5. v1 =
input_boolean.ftv_tc_boost(manuální: ON→60/48, OFF→48/30) + noční reset 22:00 (45/30). Surplus registry 2775/2777 opuštěny. Vizdecision_log.md2026-06-21. Zbývá (později): auto-zvedání dle Forecast.Solar (ne curtailment — pozdě), patrony overflow, bazén (Aseko), watchdog/age-check. Operační: snížit směšovač TV 75→55 před trvalým boostem. - Charakterizace (
scripts/): noční spotřeba (= bazénová VZT), kapacity, COP, příkon kompresoru. Ověřit i EnerSpot zápornou cenu (FAQ). Práh diverze OTE 0,50 (firma); v pásmu 0,30–0,50 jímat doma. Závislost na Forecast.Solar (Fáze 3, viz níže). - [ ]
[ha][S]Predikce výroby FTV — Forecast.Solar — ~~čeká na string dokumentaci~~ odblokováno 2026-06-20 (geometrie doložena projektem). Nainstalovat nativní integraci, config flow se 3 poli (souřadnice ~49,99 N / 14,65 E — ověř): dům 35° / azimut −59 / 14,4 kWp, carport jih 2° / 0 / ~4,3 kWp, carport sever 2° / 180 / ~7,4 kWp (nebo carport sloučit do 1 vodorovného pole 11,7 kWp). Hotová tabulka: ftv.md → Vstupy pro Forecast.Solar. Dásensor.energy_production_today_remainingjako vstup pro prediktivní ranní arbitráž. Solcast Hobbyist až později pro vyšší přesnost. Viz ceny_a_tarify.md. - Konkrétní entity pro kaskádu jímání (součást bodu 3 výše): kompresor TČ (Modbus 2775 enable + 2777 setpoint kW — TČ si přebytek rozdělí samo) → patrony (
switch.ftv_do_boileru3 kW,switch.ftv_do_akumulacky5 kW) → bazén (požadavek DI4, ohřev kompresorem). Detail v rizeni_energie.md. - [ ]
[ha][S]TČ Energy: cross-check integrace vs. counter — sleduj dál — první srovnání 2026-06-14: dnešní přírůstekecoforest_electric_energy_total= 8,3 kWh vs. denní counter TČ (2206) = 9,8 kWh, tj. integrace ~15 % pod. Split OK (buckety sedí na total, ověřeno živě). Možné příčiny: left-Riemann bias na cyklujícím inverterovém příkonu, 30s sampling míjí krátké špičky, nebo counter 2206 zahrnuje i patrony (2193 = jen kompresor). Když čistý celý den potvrdí >10 %, otestovatmethod: trapezoidal. Vizdecision_log.md2026-06-12. - [ ]
[ha][M]Auto (BYD Dolphin) — odhad SoC + headroom „kolik teď uložit" — pro řízení přebytků/exportu znát volnou kapacitu auta. Návrh, formule, limity (sběrnice spí při parkování, výkonový floor 1,4 kW/fáze) a template senzor v wallbox.md → Odhad SoC. Enabler = WiCAN Pro OBD dongle (WiFi→MQTT→HA, ~$80, Mouser EUMP-WICAN-PRO) — čte pravý SoC při příjezdu. Presence z OCPP. Doplnit usable kapacitu dle varianty Dolphina. Nákup odložen. - [ ]
[infra][S]sw-dilna: prověřit kabeláž portů 5 a 7 — port 7: 4650× link down + rx/tx errors; port 5: 165k TX errors při 10M linku. Pravděpodobně vadný kabel/konektor v dílně. Nález watchdogudoc_gen_unifi.py2026-06-12. - [ ]
[monitoring][M]InfluxDB 1.8 → 2.x — zahodit stará data, nastavit znovu; upravit HA integraci - [ ]
[monitoring][S]Uptime Kuma — domigrovat health checks — Uptime Kuma nasazený (nahradil CheckMK, ten odstraněn 2026-06-11). Ověřit, že všechny klíčové hosty/služby tam jsou (vč.unifi-os192.168.20.5, viz níže). CheckMK skripty smazány. - [ ]
[ha][S]AppDaemon — projítappdaemon/apps/a rozhodnout: zachovat a zdokumentovat use case, nebo eliminovat - [ ]
[ha][S]Závlaha — smazat orphaned SI automatizaci —automation.sensor_smart_irrigation_travnik_2(„bucket < -25", stavunavailable) je v.storage(UI), ne v repu → smazat ručně přes UI/MCP. Volitelně odebrat i SI integraci +sensor.smart_irrigation_travnik_2. Vizdecision_log.md2026-06-21. - [ ]
[ha][S]Závlaha — doladit prahy/dávky bilance po sezóně — kc (0,8/1,0), skip práh (−5 mm), strop (+20 mm), forecast práh (5 mm) jsou natvrdo vzavlaha_vyhodnoceni_bilance/zavlaha_rano. Kotva dávek ~10 min. První 1–2 týdny sledovat kaluže/podmáčení a četnost, doladit. Až výsadba zakoření (2027+), zvážit zvednutí prahu → řidší hlubší intervaly. - [ ]
[ha][M]Závlaha — fyzický dešťový senzor — Open-Meteopast_daysje model/reanalýza, ne lokální srážkoměr → hyperlokální bouřková buňka může být pod/nadhodnocená. Fyzický senzor zavře tu díru (ground truth) + umožní okamžitý abort běžící sekvence. Až bude, přepojit bilanci na lokální data (sensor group beze změny automatizací). Vizdecision_log.md2026-06-21. - [x]
[ha][S]HA dual-NIC default route — vyřešeno 2026-06-19 — recidiva (default route přehozená na IoT NIC → HA timeout na VLAN 60/doorbell) opravena odebráním gateway zenp0s19přes CLI (ha network update enp0s19 --ipv4-gateway ""; UI to neumí). Perzistence potvrzena plným cold rebootem HAOS (gatewayenp0s19zůstalanull, primaryenp0s18, HA→zvonek401). Nahrazuje plánovaný route-metric pinning — bez gateway je default route deterministická i bez metrik; pfSense fallback netřeba. Kontrola po HA OS upgrade je nadále součástí dokumentovaného Dual-NIC postupu v homeassistant.md. Vizdecision_log.md2026-06-19 a 2026-05-06. - [~]
[infra][S]Kernel 7.x migrace — pmx2 hotový, zbývá pmx1 — 2026-07-24 zjištěno: pmx2 už běží7.0.14-3-pve(přišel s ním jako nový node, pve-manager 9.2.4), takže „kanárek" fáze je de facto odbytá 2,5 týdne bez incidentu (původní pin byl obrana proti IPI/TLB race na Ryzen 5 7430U, viz decision_log 2026-05-10). pmx1 zůstal na pinnutém6.17.13-7-pve. Zbývá:apt dist-upgradena pmx1 (159 balíčků: pve-manager 9.1.9→9.2.5, ZFS 2.4.1→2.4.3, kernel 7.0.14-6, sesynchronizuje pmx1 s pmx2) →proxmox-boot-tool kernel unpin && refresh→ reboot. Teď bezpečné (QDevice kryje kvórum, i kdyby pmx1 nenaběhl). Postup: pmx1 je odlehčený (Scrypted pryč), klenoty na pmx2. Vizdecision_log.md2026-05-10. - [ ]
[infra][M]Audit NFS/CIFS mountů v ostatních VM/LXC — projít všechny VM/LXC v homelabu (Immich LXC 104, Scrypted LXC 106, Jellyfin LXC 110, případně další), zkontrolovat/etc/fstabpro networkové mounty, aplikovat_netdev,nofail+ systemd dependency pattern. Bez tohoto auditu hrozí stejný "Docker startne s prázdným bind mountem" scénář jinde. Vizdecision_log.md2026-05-11. - [ ]
[monitoring][S]Loki/Grafana alert: kernel soft lockup — alert pravidlo na patternsoft lockup/hung_taskv Loki napříč pmx1+pmx2 (job=syslog, syslog_identifier=kernel), notifikace přes Telegram. Včasné varování, kdyby se IPI/TLB race vrátil i po upgradu. Vizdecision_log.md2026-05-10. - [x]
[infra][S]Proxmox qdevice (3. arbiter) — DOKONČENO 2026-07-24 — (duplicitní se „QDevice na TrueNAS") arbiterqnetdna TrueNAS.23, expected votes 2→3. Detaily viz výše +decision_log.md2026-07-24. - [ ]
[infra][S]Kernel panic tuning na pmx1+pmx2 — zkrátit zombie window při soft lockupu: nastavitkernel.hung_task_panic=1,kernel.hung_task_timeout_secs=120akernel.panic=10(přes/etc/sysctl.d/99-watchdog.conf). Trade-off: rychlejší reset výměnou za citlivost na legitimně dlouhé I/O operace — vyhodnotit po pozorovacím okně. Vizdecision_log.md2026-05-10. - [ ]
[docs][S]proxmox.md: kernel pin policy + upgrade postup —docs/infrastruktura/servery/proxmox.md(manual page) doplnit sekci oproxmox-boot-toolpinování a postupdist-upgrade(zejména po vstupu PVE 9.x s kernel 7.0.x). Vizdecision_log.md2026-05-10. - [ ]
[infra][S]pfSense rule "Block MEDIA to Internal Networks" — source je192.168.50.1(gateway) místo<OPT3__NETWORK>→ no-op. Rozhodnout: buď opravit source na celý subnet (pokud blok je záměr), nebo pravidlo odstranit. Vizdecision_log.md2026-05-06. - [x]
[monitoring][S]pfSense filterlog — vypnout remote logging — hotovo 2026-06-12: pfSense remote syslog přepnut zlogallna kategorie system/auth/dhcp/dpinger/resolver/vpn/routing (bez firewall events). Objem unlabeled streamu spadl z ~5 900 na ~240 řádků/5 min. Drop eventy lokálně přesclog. Vizdecision_log.md2026-06-12. - [x]
[ha][S]Z2M syslog output — vypnout (duplicita) — hotovo 2026-06-16: zzigbee2mqtt/configuration.yamladvanced.log_outputodebránsyslog(nechánconsole+file), deploy + restart Z2M addonu. Ověřeno: Z2M syslog duplicita ustala (0/1m, byl to celý empty-hostname stream), Z2M dál loguje přes journal. Pozadí: po ⑧ (Alloy na debian:5514) začal Z2M syslog na192.168.20.20:5514dorážet a duplikovat journal logy s prázdným hostname. - [ ]
[ha][S]Z2M addon přepisuje configuration.yaml — při startu rozbalí!secret mqtt_passwordna plain text v/config/zigbee2mqtt/configuration.yamla občas i přepisujeserial:sekci (zjištěno 2026-05-08 při migraci). Vede k git divergenci a leak hesla na disk. Investigate: jak donutit addon, aby!secretnechal v souboru, nebo přesunout config pryč ze sledovaného repu.
Monitoring Stack (přestavba)
Výsledky revize 2026-03-11 — viz docs/decision_log.md.
- [x]
[monitoring][S]Grafana MCP — hotovo, viz Current Focus - [ ]
[monitoring][M]InfluxDB 1.8 → 2.x — viz Current Focus - [x]
[monitoring][S]Pinout verzí — hotovo, viz Current Focus - [x]
[monitoring][S]rsyslog relay — hotovo: nativní rsyslog relay na debian-services (514/udp → HA:5514 RFC5424). RFC3164 zdroje (UniFi/switche/SLZB/TrueNAS) + pfSense přes relay; pmx/PBS přímo s[%HOSTNAME%]template. Všechny syslog zdroje mají hostname (2026-06-14, vizdecision_log.md). - [x]
[monitoring][M]Grafana provisioning — datasources, dashboardy i alerting (contact points / policies / rules) provisionované zgrafana/provisioning/, verzované v repu. - [~]
[monitoring][M]Grafana Alerting → Telegram — alerting pipeline živá od 2026-06-14: provisioned Telegram contact point + notification policy (root → Telegram) + log-freshness rules, vše verzované vgrafana/provisioning/alerting/. Zbývá rozšířit o další pravidla (kernel soft lockup, auth failures, ZFS/disk — viz samostatné todos). - [ ]
[monitoring][M]Dashboardy — vytvořit: Energy/FTV (Victron), HA Overview (teploty, přítomnost), Infrastructure Logs, Network - [x]
[monitoring][S]Loki label hygiena (logging review ⑦) — hotovo 2026-06-16: v debian Alloyloki.processpřidány dvěstage.template— collapsesession-\d+\.scope→session.scope(bylo ~110 jednorázových app hodnot/h → stream churn) a strip.marada.(lan|name)z hostname (pfSense.marada.lan→pfSense). Ověřeno canary. Duplicitní AP hostnames (U7-Pro-OutdoorvsU7ProOutdoor) jsou historické/neaktivní → self-heal s 90d retencí, neřešeno. - [x]
[monitoring][L]Alloy syslog ingest na debian-services (logging review ⑧) — hotovo 2026-06-15: standalone Alloy (grafana/alloy:v1.16.3, docker) na debian-services sbírá veškerý syslog (5514/5601) → Loki; relay forward přesměrován na lokální Alloy; pmx/PBS repointed; HA addon osekán na journal-only. SPOF i round-trip pryč, ověřeno (100 %job=syslogmáservername=debian-services). Relay zůstal (bracket hack neretired — native extrakci nechat na pozdější optimalizaci). Vizdecision_log.md2026-06-15. - [x]
[monitoring][S]follow-up: native__syslog_message_hostname— NEJDE — ověřeno 2026-06-16 ephemerálním probe (relabel__syslog_message_*→ test label, RFC5424 zpráva bez bracketu):__syslog_message_hostnameani__syslog_message_severityse v tomto Alloy buildu (v1.16.3) nepopulují vůbec (levellabel je taky dlouhodobě prázdný). Bracket[hostname]workaround i rsyslog relay jsou tedy nutné, nejdou retirovat. Uzavřeno. - [x]
[monitoring][S]Loki retention — hotovo 2026-06-12: compactor retence 90d (retention_enabled: true,delete_request_store: filesystem), config verzován vdocs/files/docker/debian-services/loki/config.yaml, Loki bump 3.0.0 → 3.7.2 (ověřeno ready + oba joby tečou). Deprecatedtable_managerblok odstraněn.
AI Stack
- [x]
[ai][S]Grafana MCP — hotovo, viz Current Focus - [ ]
[ai][M]Home context design — strukturovaný YAML s rutinami, preferencemi a kontextem rodiny; základ pro AI agenty - [ ]
[ai][L]Lokální LLM — Mac Mini M4 Pro (24-48 GB RAM) + Ollama; prerequisita pro privacy-safe agenty offline - [ ]
[ai][M]Telegram chatbot — rozšíření log monitoru o interaktivní chatbota s home kontextem (vizlog_monitor.pyna Debianu) - [ ]
[ai][M]n8n MCP integrace — n8n flow s přístupem k MCP serverům (homeassistant, grafana, github, pfsense, truenas, unifi) jako kontextová vrstva pro Telegram bota - [ ]
[ai][M]n8n vs Python — rozhodnout jednu automation vrstvu; dnes koexistují Python skripty + n8n + log_monitor.py bez jasného rozdělení rolí
Home Assistant
- [ ]
[ha][S]AppDaemon — viz Current Focus - [x]
[ha][M]Scrypted HA integrace — HACSha_scryptednainstalována; NVR sidebar + karty fungují; camera entity přes HomeKit Controller (TBD) - [x]
[ha][M]Scrypted NVR — placený plugin aktivní; 24/7 nahrávání, smart detekce, timeline - [ ]
[ha][M]Doorbell → HomeKit — FW upgrade doorbelllu na V3.7.0 +@vityevato/hikvision-doorbellplugin; ring notifikace + gate unlock v Apple Home; vizdocs/infrastruktura/kamery/doorbell_gate.md - [ ]
[ha][L]Automatizace: přítomnost + světla — chytré světelné scény podle přítomnosti, denní doby a oblasti; největší mezera pro misi "spolehlivý dům" - [ ]
[ha][L]Automatizace: topení/VZT — propojit přítomnost + plány + EcoGeo + Atrea do uceleného řízení - [ ]
[ha][M]HA architektura — sepsat konvence pro entity, balíčky a automatizace; viz todos položka v sekci Chytrý Dům - [ ]
[ha][M]DALI Config — sjednotit mapování tlačítek a skupin vDaliConfig - [ ]
[ha][S]UniFi Network integrace — přidat do HA (UniFi OS Server192.168.20.5:11443, API key v.envjakoUNIFI_MCP_API_KEY); device trackery, přítomnost - [ ]
[ha][S]Ubiquiti airOS integrace — LiteBeam WAN CPE monitoring (192.168.4.1) - [ ]
[ha][M]Dashboardy HA — nástěnné panely pro ovládání domu (tablet/iPad) - [ ]
[ha][S]Review Add-ons — AirCast, Music Assistant, ~~Frigate~~ — zhodnotit přínos; Frigate zamítnut ve prospěch Scrypted NVR - [ ]
[ha][M]Velux gateway migrace — nahradit KLF200 (chronický TCP socket problém); ověřit tilt u Velux CZ pro KIG300, jinak Somfy TaHoma Switch; vizdocs/chytry_dum/technologie/velux.mdsekce "Plán migrace" - [ ]
[ha][S]Meteo: Ecowitt WS90 Powered by Shelly (Zigbee) — ✅ trigger splněn, nákup odblokován (ověřeno 2026-06-18). Náš stack je Z2M (SLZB-MR3), ne ZHA. Z2M WS90 device page má plnou podporu — dekóduje vítr (speed/dir/gust), UV, srážky, teplotu/vlhkost, osvit, baterii. Z2M #31070 closed: „hodnoty se neaktualizují" nebyl z2m bug, ale firmware — řeší se aktualizací firmwaru WS90 přes Bluetooth/Shelly app před párováním, pak reporting stabilní (pozor: stížnosti na stabilitu u fw 1.1.6 → po nákupu ověřit/nahrát nejnovější fw). (Pozn.: ZHA #4558 merged v HA 2026.4.0 — relevantní jen kdyby se přešlo na ZHA.) Pak: koupit WS90 Shelly variantu (~4 500 Kč) + 12 V/1 A power adapter + extension cord (~700 Kč) pro vyhřívání anemometru v zimě. Umístění: zahradní domek — předem nachystat průchodku stěnou pro 12 V DC napájecí kabel (adaptér uvnitř, ven jen nízké napětí; data bezdrátově Zigbee, žádný datový kabel), dimenzovat na rezervu + vodotěsnost. Spárovat do Z2M, bez gateway. Vizdecision_log.md2026-06-01.
AppDaemon auto-reload
- [x]
[ha][S]Restart AppDaemon addonu při změně Python souborů — vyřešeno 2026-06-15: skillha-deploymá samostatnou tříduaddon_restartproappdaemon/→hassio.addon_restart(addona0d7b954_appdaemon), nezávisle na HA-core reload/restart. AppDaemon watcher to spolehlivě nedělá (potvrzeno 2026-05-25 při refactorudaikin_modbus.py).
Climate orchestrace (léto 2026)
- [ ]
[ha][S]Interlock okno ↔ klima (nízko visící ovoce, předstupeň orchestrátoru) — dvě jednoduché automatizace, které nepotřebují celý orchestrátor níže: ① okno otevřené > 5 min & klima v té zóně běží → jednotku vypnout + push (motorizovaná okna patracover.*_oknomapují 1:1 na pokoje:cover.betka_okno→climate.daikin_1_06,lucka→1_05,belka→1_04,tomas→1_07,telocvicna→1_08; přízemní okruhbinary_sensor.dum_zavreny_prizemi→ skupinaklima_off); ② minimální večerní režim: po západu slunce & běží klima →script.klima_off+ připomínka „vyvětrej" (cover.hala_okno_schodiste+cover.galerie_oknopro komínový efekt). Celá provozní strategie je teď 100% manuální — tohle je první krok k automatizaci bez čekání na plný[L]orchestrátor. - [ ]
[ha][L]Orchestrátor okna ↔ klima — řízení s vědomím PV, předpovědi a stavu otvírání. Vstupy:weather.forecast_homedaily max, PV přebytek,binary_sensor.dilna_sensor_3(okruh okna přízemí),cover.*_okno(motorizovaná okna patra), termostaty + climate entity per zóna. Akce: skupinové scriptyklima_*+ ovládání motorizovaných oken. Závislost: dodat seznam oken pro komínový efekt (kdo nahoře/dole). Nadstavba nad jednoduchým interlockem výše. - [ ]
[ha][S]Pojmenovat dilna_sensor_4/5/6 — fyzicky zjistit, co je na vstupech 4–6 Modbus relé v dílně (192.168.40.23). Přejmenovat vmodbus/rele_dilna.yaml. Diagnostika: otevřít/zavřít po jednom a sledovat live stav. - [ ]
[ha][M]Ecogeo room sensor — obývák — Ecoforest integrace neexponuje vnitřní pokojové čidlo (jenoutdoor+dhw). Možnosti: a) ověřit Modbus registr pro pokojové čidlo na řídicí desce Ecogea a doplnit domodbus/ecoforest.yaml; b) zigbee teploměr v obýváku jako náhradu. - [ ]
[ha][M]Integrace VZT bazénu — bazénová VZT nemá v HA žádnou HVAC entitu. Najít typ jednotky (pravděpodobně Atrea — má Modbus, vizmodbus/waveshare_vzt.yaml?) a integrovat teploty + ovládání.
Bazén Aseko (zprovozněno 2026-05-27)
- [ ]
[ha][S]Dashboard karta — Bazén — sekce na hlavním přehledu (nebo samostatná view Bazén): pH, teplota, požadované hodnoty, stav filtrace + dávkovacích čerpadel (algicide, OXY Pure, pH-, flocculant), spotřeby kanystrů od posledního refillu + total, stav water-flow k sondám, connection_status. Refill tlačítka (button.bazen_*_refill) jako akce. Entity prefixsensor.bazen_*/binary_sensor.bazen_*. - [x]
[ha][S]Notifikace — pH out of range — hotovo 2026-06-11: automatizacebazen_ph_out_of_range(pH mimo 6,8–7,4 > 1 h při běžící filtraci → push iPhone). - [x]
[ha][S]Notifikace — no flow alarm — hotovo 2026-06-11: automatizacebazen_no_flow_to_probes. - [x]
[ha][S]Notifikace — Aseko offline — hotovo 2026-06-11: automatizacebazen_aseko_offline(connection_status ≠ online 15 min NEBO stale last_data_update > 15 min). - [x]
[ha][S]Notifikace — nízká hladina kanystrů — hotovo 2026-06-11: automatizacebazen_chemie_dochazi, práh 17 l z 20l kanystru pro všechny 4 chemie. Po prvním reálném refillu ověřit, že práh sedí (kanystr se nesmí vyprázdnit dřív, než přijde notifikace). - [x]
[ha][S]Kalibrace pH sondy — checklist — vyřešeno: sonda vyměněna za novou a nakalibrována (2026-06). Běžná rekalibrace 1× za 3–6 měsíců je vdocs/technologie_domu/voda/bazen.md→ Údržba. - [ ]
[ha][S]Audit oken přízemí — projít fyzicky a ověřit, zda okruh oken (Modbus dilna sensor 3) pokrývá VŠECHNA otevíratelná okna v přízemí včetně HS portálu na terasu. Pokud ne, dotáhnout / přidat zigbee kontakty na to, co chybí.
Kamery & Scrypted (detekce, obraz, archivace)
Stav 2026-05-28: Advanced Notifier plugin je nasazený a připojený do HA (Scrypted 192.168.20.21), switch...notifications_enabled = on, ale exportuje jen plugin diagnostiku — žádné camera.* entity ani per-kamera detekční senzory (camera.* v HA prázdné). Root blocker pro detekci do HA je konfigurace ve Scrypted, ne v HA.
- [ ]
[ha][M]Detekce postav → HA — ve Scrypted Advanced Notifier pluginu zapnout export 6 kamer + detekční pravidloperson(předpoklad: per-kamera zapnutý object detection plugin — OpenVINO/CoreML, na AMD iGPU poběží detekce spíš na CPU). Cíl: per-kamera personbinary_sensorv HA. Poté navázat HA automatizace (kontextové notifikace „pošťák/auto" — jsem doma? je noc?). Bez tohoto kroku „chytrá notifikační vrstva" zdocs/infrastruktura/kamery.mdneexistuje. - [ ]
[ha][S]Cleanup duplicitní AN config — v HA jsou duplicitní mrtvé Scrypted AN entity (..._2, stavunavailable) — pozůstatek po dvojím nastavení/přepojení integrace. Odstranit mrtvý config entry. Také zvážit nevyužitý WebRTC Camera card (nemá co zobrazovat, dokud nejsou camera entity). - [ ]
[infra][S]Noční obraz kamer — Hikvision DS-2CD2746G2-IZS, noční obraz hodně špatný. Projít web UI každé kamery: shutter/expozice (rozmazání pohybu), Smart IR (přepal blízkých objektů), IR odraz od stěny/okapu/krytu dome, WDR, Supplement Light mode (IR vs bílé světlo), Day/Night přepínání. Fyzicky zkontrolovat kondenzaci/špínu na dome krytu. - [ ]
[infra][S]iCloud HKSV nahrávání — per kamera ve Scrypted HomeKit pluginu zapnout HomeKit Secure Video; v Apple Home přiřadit „Record" + oprávnění kdo vidí. Ověřit retenci 10 dní (iCloud+). Viz tabulka archivace vdocs/infrastruktura/kamery.md. - [ ]
[infra][M]StorJ archiv kamer (rclone sync) — Scrypted neumí nativní push do S3. Postavitrclonesync job: TrueNAS NVR recordings → StorJ (S3) + cron/systemd timer. Potřeba: cesta k nahrávkám na TrueNAS + StorJ S3 credentials (přes rclone config /.env, ne plaintext). Nahrazuje „manuální export" zdocs/infrastruktura/kamery.md. Souvisí s rozhodnutím retence (Infrastruktura → „Zálohy Kamer").
Infrastruktura
- [ ]
[infra][S]site/adresář — vyčistit; pravděpodobně artefakt z MkDocs pokusu; duplikujedocs/files/ - [ ]
[infra][M]PBS Permissions — vyčistit: odstranithomepage-monitor@pbs!homepage, ponechat jenroot@pam!doc-root-token - [ ]
[infra][L]PBS na TrueNAS — zvážit přesun PBS z pmx2 VM na TrueNAS (eliminace chicken-egg při obnově) - [ ]
[infra][L]WAN Bridge Mode + IPv6 — převod z router mode; ověřit dopad na pfSense, monitoring, firewall; rollback plán nutný - [ ]
[infra][M]IPv6 Audit — DHCPv6/SLAAC na VLANách, Privacy Extensions, firewall pravidla - [x]
[infra][M]Kamery Firmware — 6 kamer aktualizováno na V5.7.23 (2026-03-18) ✅; doorbell V2.2.65 → V3.7.0 selhal, čeká se na odpověď HikVision podpory - [ ]
[infra][M]USW-48-PoE migrace — přechod z 2× Aruba HPE 1830 na UniFi USW-48-PoE (adoptován, DHCP .10); jedna Aruba jako cold standby; failover plán vdocs/infrastruktura/sit/plan.md - [ ]
[infra][S]USW-48-PoE statická IP — přiřadit statickou IP (pfSense DHCP reservation nebo přímo na switchi); aktuálně DHCP .10 - [ ]
[infra][S]Aruba failover konfigurace — nastavit záložní Arubu podle failover plánu (porty, VLANy); zálohovat konfiguraci - [ ]
[infra][M]Inventory sync skript — Python skript: pfSense DHCP + UniFi klienti →inventory_generated.md+ pojmenování klientů v UniFi - [ ]
[infra][M]UniFi skripty na nový OS Server — migrovatscripts/backup_unifi.py,doc_gen_unifi.py,sync_pfsense_unifi.pyz legacy192.168.20.6:8443(user/pass) na UniFi OS Server192.168.20.5:11443(API key, endpoint/proxy/network/integration/v1/). Aktuálně zálohují prázdný legacy controller — silent backup loss. - [x]
[infra][S]Nginxwifi.marada.namepřepnout —wifi.confna192.168.20.5:11443, deploynuto do/mnt/data/homelab-stack/nginx/conf.d/, nginx reload OK, smoke test vrací UniFi OS UI (2026-04-27). - [ ]
[infra][S]Monitoring host pro UniFi OS Server — přidatunifi-os(192.168.20.5) do Uptime Kuma. (Legacy192.168.20.6controller dekomisován.) - [ ]
[infra][M]Dekomise LXC 101 (unifi) — po validaci, že vše funguje na OS Serveru a po migraci skriptů + nginx: smazat z Proxmox inventory (Destroy včetně unreferenced disks), odstranit DNS/DHCP záznamy. PBS zálohy ponechat retenčně. Aktualizovatinventory.md,proxmox.md,plan.md(mermaid). LXC stopnut 2026-04-27. - [ ]
[infra][S]ZFS replikace VM 109 (unifi-os) na pmx2 — UniFi OS Server je teď SPOF na pmx1, ostatní VM/LXC mají ZFS replikaci přespvesr. Stojí za přidání kvůli faster failover (10s replikační RPO vs ~10 min PBS restore). - [ ]
[infra][S]LXC 110 (stash) doplnit dokumentaci — chybí vinventory.mda vproxmox.mdmá placeholder. Doplnit specifikaci (CPU/RAM/disk/IP), účel, port mapping, případně nginx záznam (docs/files/docker/debian-services/nginx/conf.d/stash.confexistuje, ale netracknutý v gitu). - [ ]
[infra][M]Zálohy Kamer — rozhodnout retenci NVR záznamů (Storj nebo jen lokální HDD); implementace sync jobu viz Home Assistant → „Kamery & Scrypted" → StorJ archiv kamer - [ ]
[infra][S]Rack dokumentace — vyfotit a popsat patch panel a zapojení switchů - [x]
[infra][M]pfSense API — pfSense-pkg-RESTAPI v2.7.3 nainstalován na pfSense CE 2.8.1; API Key auth (SHA-512); MCP servergensecaihq/pfsense-mcp-serverv.mcp.json - [x]
[infra][S]pfSense MCP ověření — hotovo 2026-06-11:system_statusvrací živá data (pfSense CE, uptime 31 dní). - [ ]
[infra][L]pfSense Failover — záložní konektivita (LTE/WiFi) pro výpadek optiky
Služby & Docker
- [ ]
[services][M]Immich NFS migrace — přesunout/opt/immich/uploadna TrueNAS NFS share (archive/immich) - [ ]
[services][M]Immich Backup — PostgreSQL dump + media files do PBS - [ ]
[services][L]Nextcloud — rodinné sdílení souborů, kalendáře, kontakty; privacy-first alternativa k iCloud - [ ]
[services][M]Calibre-web — e-book knihovna; Send-to-Kindle, OPDS feed - [ ]
[services][M]Úkoly & Poznámky — self-hosted task manager (Vikunja?) + notes (Obsidian LiveSync?); sync s iPhone, offline
Audio & Video
- [ ]
[ha][L]Multiroom Audio — Bang & Olufsen integrace + HomePody do každé místnosti - [ ]
[ha][M]AirCast — integrace Google Nest Audio do Apple AirPlay (hassio-addons/app-aircast) - [ ]
[ha][M]Apple TV — integrace jako mediální hub + Matter border router (čekáme na nový model) - [ ]
[ha][S]Lokální hlasové ovládání — HA Assist (Whisper/Piper) pro soukromí - [ ]
[ha][L]Pokojový Multisenzor — vlastní PCB (ESP32-S3 + nRF52840): mmWave, CO2, temp, voice, displej+encoder, Thread/Matter, 24V napájení z rozvaděče, Jung LS 990 design; vizdocs/projekty/room_multisensor.md
Projekty / DIY
- [ ]
[diy][S]Zahradní domek: soklová lišta — vybrat a nakoupit. Kandidát: Likov LO-PER 80 (hliník, perforovaný, šířka 80 mm odpovídá hloubce skladby OSB 18 + lať 40 + plotovka 21 ≈ 79 mm). Alternativy: Baumit Sokl-profil, případně Z-profil okapnice RAL 7016 (bez perforace — horší, neodvětrá rastr odspoda). Termín: před první zimou po zaplášťování, dokud rainscreen mezera není ze spodu chráněna proti hmyzu/myším a folie není mechanicky fixovaná. Detail vizdocs/projekty/zahradni_domek.mdsekce "Detail spodní hrany OSB (nad EPDM)".
Dokumentace
- [ ]
[docs][M]Aktualizace příkladů — projít docs, změnit "Reolink" → "HikVision", "Shelly" → reálný HW - [ ]
[docs][L]MkDocs publikace — kompilace do Cloudflare Pages (docs.marada.name), přístup přes Cloudflare Zero Trust
Dokončeno (archiv)
- [x]
[ha][S]TČ Modbus — zprovoznit HP24 mapu — vyřešeno 2026-05-28. BMS port přepnut zMB SlavenaMB Extended(instalatér měl základní mód místo rozšířeného), BUS selektor už byl naBUS_HP24. Po power-cyclu TČ data tečou živě —sensor.ecoforest_*čtou reálné hodnoty. - [x]
[monitoring][S]Grafana MCP — hotovo (zjištěno 2026-06-11, TODO byl stale):mcp-grafanauž je v.mcp.jsona funguje. - [x]
[ha][S]HA notifikace: tiskárna — všechny kazety + dostupnost — hotovo 2026-06-11: automatizaceprinter_cartridge_lowhlídá všech 5 kazet (PGBK/C/M/Y + MC) pod 11 % a 24h nedostupnost tiskárny; push na iPhone (ne Telegram — ten v HA není). - [x]
[monitoring][S]Pinout verzí — hotovo (ověřeno 2026-06-11):grafana/loki:3.0.0agrafana/grafana:12.3.3pinnuté v compose. Jediný zbývajícílatestjeolbat/cupsd. - [x]
[infra][M]pmx1 kernel + ZFS upgrade — provedeno 2026-05-11 (kernel 6.17.13-7-pve, ZFS 2.4.1, pve-manager 9.1.9, pin OK, ~4 min downtime pro pfSense reboot). -
[x]
[infra][S]Reboot-test NFS mount fix na debian-services — provedeno 2026-05-11 ~11:03, LXC 107 rebootnut z pmx1 přespct reboot 107. Boot timeline:remote-fs.target→mnt-data.mount(úspěch) →docker.service(čekal). Všech 7 kontejnerů startlo čistě,ha.marada.name/wifi.marada.name/data.marada.namepo ~60 s vrátily 200/302. Fix potvrzen funkční. -
[x] Switche — reset, lokální správa, IP do plan.md
- [x] DNS Jména — Nginx reverse proxy
*.marada.name - [x] Network Policy Audit — IP adresace sjednocena
- [x] Statická IP — pfSense, Proxmox, switche, HA, TrueNAS, PBS, TP-Link dílna
- [x] WiFi Roaming (Apple Fast Return) — 802.11r + fyzické přepojení AP na jeden switch
- [x] ZFS Migration — oba nody ZFS, replication pmx1↔pmx2
- [x] Config Backups —
scripts/backup_configs.py(pfSense XML, UniFi JSON, Aruba config) - [x] AI Log Monitor —
log_monitor.pyna Debianu, Loki → Gemini Flash → Telegram, 2× denně - [x] FTV dokumentace — Victron záloha celého domu otestována
- [x] HA MCP server — nasazen, funkční, v
.mcp.json