Changelog
Проєкт розпочато 3 березня 2026 — оновлення майже щодня.
ДоданоКабельні жили (cores) тепер автоматично визначаються з poleMapping автомата — більше не треба вручну вибирати 2/3/4/5 жил для типових випадків. 1P → 2 жили (L+N), 3P → 4 жили (3L+N), 4P → 5 жил (3L+N+PE) тощо. Корекно враховуються 3-фазні мережі з нейтраллю для voltage drop розрахунків (раніше 3-phase з cores=3 могло занижувати падіння напруги).
ПокращеноУ редакторі кабелю індикатори стану (авто/вручну, помилки) перейшли з emoji-символів на чіткі Lucide-іконки (CheckCircle2/AlertTriangle/Pencil) — краще читаються в темній темі та узгоджені з рештою UI. Доступність покращена: декоративні іконки приховані від скрін-рідерів через aria-hidden.
ВиправленоУзгоджено рекомендацію кабелю в топбарі та властивостях автомата для АВР/перемикачів — обидва тепер показують реальний рейтинг upstream автомата (наприклад 32А ввідного MCB), а не власний switch capacity АВР (63А). Раніше топбар і properties панель показували різні числа для одного й того ж кабелю.
ВиправленоІнлайн-повідомлення «АВ перевищує кабель» у властивостях для AVR/перемикачів тепер також використовує walked-up upstream OCPD замість власного номіналу АВР. Узгодження з топбаром завершене — будь-який погляд на cable показує однакові рейтинги.
ВиправленоPhantom warning «АВ перевищує кабель» для коренево розташованого АВР більше не з’являється — раніше система рахувала 63А switch capacity АВР як trip current, тепер коректно визначає що transfer switch не має overcurrent функції.
ВиправленоAVR/перемикачі автоматично отримують обидва вхідні кабелі (primary + secondary) при відкритті існуючих щитів. Раніше старіші щити могли мати лише один cable record через bug у addBreaker — міграція тепер backfill’ить відсутні зі стандартними параметрами.
ПокращеноInternal кабелі (між пристроями на одній рейці) отримують довжину автоматично з маршруту проводів роутера — без ручного вводу. Метод прокладки заблокований як «surface» (внутрішня проводка щита). Перемкнути режим між авто/ручним можна через індикатор біля поля довжини.
ПокращеноVoltage drop для bonded secondary cable АВР (1-фазний резерв на 3-фазне навантаження з перемичкою) — рахується з правильним агрегованим струмом sum по перемичках. Раніше показувало per-phase значення, що недооцінювало реальний drop у бонд-резервному режимі.
ПокращеноПовідомлення про застарілий радянський стандарт кольорів проводів адаптуються до активного регуляторного стандарту: для NEC показуються NEC 200.6 / 250.119 (black/red/blue + white + green), для IEC/ДБН — IEC 60446 (brown/black/grey + blue + yellow-green). Раніше для всіх стандартів показувались тільки українські refs.
ПокращеноРозширено покриття правила про кольори проводів — тепер спрацьовує під будь-яким стандартом що вимагає IEC marking (ДБН/IEC/NEC), не тільки під ДБН. ПУЕ-only щити продовжують толерувати legacy soviet scheme. DSTU/BS/PN single-active щити тепер resolve до IEC refs замість undefined sentinel у suggestCable.
ДоданоCable rebuild (SDD-024, ADR-085) — кабелі винесено у top-level `board.cables[]` як first-class data primitive. CableSpec з типізованим cores: 2|3|4|5. Міграція V3→V4 ідемпотентна, існуючі щити підхоплюються без втрат.
ДоданоsuggestCable Layer 1 — детермінована функція рекомендації перерізу з урахуванням Cu/Al × PVC/XLPE × ambient (k1) × bundling factor. Заміна старим легасі-таблицям ua.ts.
ДоданоCablesOverviewSection у Wire Mode — оверв’ю всіх кабелів щита з 3-state бейджами (✓ Авто / ⚠ Авто застаріле / ✎ Вручну), фільтр радіо-чіпами (Усі / Застарілі / Вручну), bulk-кнопка «Прийняти рекомендації (N)» з ConfirmDialog для manual-у-scope. Comb members ховаються — лише feeder cable у списку (ADR-076 розширення).
ДоданоCable inline editor (SDD-033, ADR-089) — клік на рядок у Overview розгортає компактний редактор прямо в списку (accordion 1-at-a-time). Поки рядок розгорнутий — на канвасі підсвічуються відповідні проводи. Клавіша Esc згортає. Реалізовано через shared useCableEditor hook + новий CableInlineEditor.
ДоданоMulti-profile валідація (SDD-026/027, ADR-081/082) — чек-бокс селектор стандартів у Налаштуваннях щита: ДБН (дефолт) / ПУЕ / IEC, можна обрати кілька. Boundary filter у formatAllIssues видаляє повідомлення для неактивних стандартів. Per-board state у board.config.standards[]. Дефолти нових щитів успадковуються з UI Prefs профілю.
ДоданоАктивні стандарти chip у заголовку Validation Panel — показує обраний набір (наприклад «ДБН + IEC»). Клік на chip → скрол до селектора у налаштуваннях щита. ПУЕ-only щити отримують toast-попередження про скасовані глави 7.1–7.6 (ADR-080).
ДоданоSDD-028 Stage 3 Batch 1 (ADR-083) — 3 нові детектори валідації прив'язані до стандарту: полярність ПЗВ (rcd_polarity), ПЗВ типу B/F для DC-навантажень (rcd_class_dc_load), legacy палітра кольорів проводів під ДБН (wire_color_legacy_under_dbn).
ДоданоSDD-028 Stage 3 Batch 2 (ADR-084) — портативний генератор без 4P ввідного апарата (generator_portable_4p). Інвертор/PEN-перевірки тепер враховують AFDD як OCPD і мають стандарт-залежні refs.
ДоданоAI-консультант бачить cable.length та secondaryCable у board context — релевантні відповіді про падіння напруги, переріз, секції резервної лінії АВР з реальними числами щита.
ДоданоVoltage 230 В за замовчуванням замість 220 В — узгоджено з ДБН та реальною мережею в Україні. Існуючі щити з 220 В не зачіпаються.
ДоданоНалаштування щита — UI редизайн: швидкі пресети, групування секцій, перевагу віддано параметрам, які критичні для валідації.
ВиправленоAVR/changeover secondary cable — false-positive «кабель може перегрітись» усунено. validate-cable та deriveCables тепер ходять вверх по ланцюгу батьків через AVR/changeover/contactor/relay (findEffectiveOcpd) і знаходять реальний upstream MCB/АВДТ/AFDD/запобіжник, проти його номіналу й перевіряється переріз. Раніше порівнювався з номіналом самого АВР, що було невірно (АВР — transfer switch, не overcurrent device).
ВиправленоInline editor показував іншу рекомендацію перерізу ніж рядок Overview для кабелів через AVR/changeover — useCableEditor тепер дзеркалить deriveCables (walks parent chain до effective OCPD). Раніше fix у deriveCables був half-applied.
ПокращеноA11y у Wire Mode → Кабелі: рядки overview тепер мають role="button" + tabIndex + aria-expanded + Enter/Space keyboard handler + aria-label з рекомендованим перерізом. Філтр-чіпи — role="radiogroup". Esc згортає inline editor. Close-кнопки PropsPanel і WireModePanel мають aria-label.
ДоданоPhase Distribution Busbars (L1/L2/L3) — фазні розподільні шини як first-class data primitive. Owner-bound: шина прив’язується до батька-розподільника, фаза автоматично визначається з його poleMapping. Палітра: кнопка «+ L» доступна у 1-/2-/3-фазних щитах. Для 1P/3P breaker’ів L-шини показуються як options у parent-picker.
ДоданоPhase combs (1P) інтегровано з фазними шинами: гребінка може живитись напряму від L-шини (kind: phasebus). Один wire bus→comb замість окремих wires до кожного автомата.
Додано4 нові м’які перевірки phase-routing: фаза не підключена, посилання на видалену фазну шину, шина іншого типу, перевантаження фазної шини за допустимим RDF.
ДоданоBusBar.rating — допустимий струм фазної шини (electrical.ts) для check-phase-bus overload + standardRefs (ДБН/IEC/NEC) у warning. Default 63 A для legacy V3 boards.
ДоданоAVR interlock checkbox — у властивостях AVR/changeover секція «Джерело», валідація `avr_no_interlock` за IEC 60947-6-1 §7.2.1.
ДоданоWire thickness presets — 5 пресетів товщини проводів у Wire Mode panel (тонкий → товстий) з multipliers для X-handles.
ВиправленоБезпека: закрито публічний SELECT на `knowledge_chunks` (ПУЕ knowledge base), 2569 чанків + AI-explanations + embeddings більше не доступні через anon key. Додано noindex headers на `/share/*` routes (Google indexing risk closed).
ВиправленоAutofix «Виправити N-провідник» для дитини ПЗВ/АВР тепер маршрутизує через ancestor’s owned bus (NЕ загальну шину перед ПЗВ). 5 sites class-fix у build-n-topology: pickPreferredNTarget walks parentId chain через findNBusForChild + set-input-parent. Захист диференціального захисту відновлено.
ВиправленоАвто-створення N-шини під ПЗВ: гребінка рахується як +1 consumer на pN терміналі. Сценарій «1 гребінка + 1 окремий АВ» тепер створює шину (раніше залишалось 2 wires на pN). При створенні шини feeder гребінки автоматично переключається на нову шину.
ВиправленоPhase passthrough: для chain «Main → L-bus → SPD → ПЗВ → АВ» проводи йдуть через intermediate parents (SPD→ПЗВ→АВ), не bypass’ять до L-шини. Раніше будь-який ancestor з explicit phaseInputSources={bus} переписував джерело для всіх descendant’ів.
ВиправленоВалідація ПУЕ 7.1 → ДБН/IEC: глави ПУЕ 7.1-7.4/7.6 скасовані в Україні наказом Мінпраці №272 (2001-06-21). Перевірки «диф. селективність ПЗВ» і «вологі зони» тепер посилаються на ДБН В.2.5-23 + IEC 61008-1/IEC 60364-7-701. Логіка не змінилась — лише нормативні посилання на чинні в Україні стандарти.
ПокращеноAFDD визнається як апарат overcurrent-protection: у MCB-like role список — більше не false-positive «inverter без upstream MCB» для AFDD-захищених кіл.
ПокращеноТемна тема dialogs (ConfirmDialog, RailWidthDialog) — заміна 21 hardcoded hex на token system. Newsletter banner зберігає поточний project route у URL.
ДоданоГребінки: вибір фази (L1/L2/L3) у властивостях single-phase гребінок під multi-phase батьком + автоматична пропагація фази від батька на всіх дітей і члени гребінки
ДоданоBusSection UX: NSourcePicker з breadcrumb джерела, autoFix toasts для auto-bus, 2-крокова АВР wizard
ДоданоДовідник ДБН В.2.5-23:2025 — 265 пунктів з AI-поясненнями DeepSeek V3, deep-link через StandardRefBadge
ДоданоN-routing redesign: нова data model V3 (NInputSource/NOutputTarget, BusBar.ownerId, protectionZoneId) + автоматична міграція
ДоданоbuildNTopology oracle — single-pass O(n) визначення джерела N для всіх breakers
Додано5 нових hard-інваріантів за ПУЕ/IEC: PEN не комутується, TT/IT 4P вступний, N-isolation між ПЗВ зонами, AVR interlock
ДоданоMulti-standard architecture: підтримка 7 стандартів (ПУЕ/ДБН/ДСТУ/IEC/NEC/BS/PN), default standard для нових проєктів — ДБН
ДоданоRegulation Profile gate: N-invariants залежать від обраного стандарту через board.config.standard
ДоданоБлог-пост «Падіння напруги в кабелі»
ВиправленоГребінки: UI lock параметрів членів (parent/phase/OwnedBusInfo) — керується через гребінку, не індивідуально
ВиправленоГребінки: автоматичний re-parent членів при зміні feeder + safety detector для bypass ПЗВ
ВиправленоПадіння напруги: коректний √3 factor для 3-фазного розрахунку у calculateVoltageDrop
ПокращеноОновлено залежності: Next.js 16.2.4, React 19.2.5, Zustand 5.0.12, Supabase JS, lucide-react 1.9, marked 18. CI переведено на Node.js 24.
ПокращеноВиокремлено спільні UI-компоненти HeroCalcTitle, CalcGrid, FaqToggle, DarkScrollbar та ResultCard/ResultBox — усунено дублювання між сторінками інструментів.
ПокращеноРозірвано циклічну залежність у модулях гребінок (combs). Видалено 20 невикористаних імпортів.
ДоданоГенератор підписів v2: ширина 18.5 мм (стандартний DIN-модуль), adaptive height — висота підпису адаптується до довжини тексту, vertical sidecar — фаза/номінал розміщується вертикально збоку. Шрифт оптимізовано для дрібного друку.
ПокращеноPDF BOM: додано окремий розділ із шинами (BusBars) — PE/N-шини та гребінки тепер включені у специфікацію обладнання. Таблиця BOM автоматично центрується (fit-and-center) на сторінці незалежно від кількості рядків.
ДоданоБлог: поле updatedAt у frontmatter — дата останнього оновлення показується у переліку статей. Бейдж «🆕 Нове» для статей оновлених за останні 30 днів.
ДоданоADR-071: twoPoleMode для 2P приладів (АВ/АВДТ/запобіжник/контактор/реле/рубильник) — радіо «Режим 2P» у PropsPanel: L+N (захист обох полюсів однофазної мережі) або L1+L2 (інвертор/генератор split-phase). Дефолт auto-detect по sourceRole предка. Emoji-іконка ролі (🔋/⚡/☀️/🛡) над корпусом SVG для inverter/solar/generator/battery/ups
ДоданоПеремикач 1-0-1 — повернуто варіант 2P (revision ADR-056): SFT240-style L+N для 1ф щита з інвертором/генератором. Вихід рубильника ЗАВЖДИ L+N незалежно від типу інвертора; secondary wire від Інв-АВ L1+L2 малюється по pole-index fallback як візуалізація bonding L2→N
ДоданоADR-072: lazy N-шини для separateNBus приладів (УЗО/АВДТ/АВР/changeover) — шина створюється лінивно коли перша дитина переходить на «Через шину», видаляється автоматично коли всі діти на «Напряму». Sibling-aware default nRouting: 0 N-сиблінгів → direct, ≥1 → bus. Migration: orphan auto-шини при завантаженні існуючих щитів прибираються
ДоданоНалаштування щита → «Прокладка кабелю за замовчуванням» — селект з 4 методами (В стіні / В трубі / Відкрито / В землі). Глобальний дефолт змінено з «В стіні» → «Відкрито по стіні» (реальний сценарій щита). Нові АВ/АВДТ успадковують метод; existing не змінюються
ДоданоАВДТ 1P+N — підтримка ширини до 4 модулів (ETI KZS-2M 3.5–4M slim для Type B / 125А / 10кА) через `maxModulesPerVariant`. Стандарт залишається 2м, компакт 1м (KZS-1M) — вибір у «Модулів»
ДоданоВалідація: 3 нові перевірки — `inverter_no_upstream_mcb` 🔴 (інвертор/генератор без АВ вище), `n_unavailable_through_2phase` 🔴 (N недоступний через 2P L1+L2 ланцюг без загальної шини), `direct_n_under_rcd_overload` 🔴 (3+ direct N під УЗО — фізично неможливо на 1 термінал)
ВиправленоВалідація `rcd_missing_upstream_mcb` — тепер walk-up через весь ланцюг предків через non-protection прилади (реле напруги, контактор). Раніше ланцюг «АВ → Реле напруги → УЗО» хибно фаяв warning, тепер — OK
ВиправленоВалідація `inverter_no_upstream_mcb` — skip якщо сам пристрій є MCB/АВДТ/запобіжник (сам себе захищає). Раніше Інв-АВ з `sourceRole=inverter` хибно фаяв warning «не захищений від КЗ»
ВиправленоВалідація `direct_n_under_rcd` — warning тільки коли ≥2 direct-сиблінгів. Раніше 1 дитина direct під УЗО вже фаяла warning — некоректно, 1 термінал фізично витримує 1 direct wire
ВиправленоPhaseSection — context-aware hide: прихована у 1ф щиті коли SINGLE + 1 доступна фаза (нема чого обирати). availablePhases для дитини 2P L1+L2 батька враховує split-phase контекст — показує обидві фази на вибір навіть у 1ф щиті
ВиправленоConnectionSection — derivation активного 2P режиму з poleMapping (source of truth), не з поля `twoPoleMode`. Legacy borders з `poleMapping={1:L1,2:L2}` тепер правильно показують L1+L2 активним радіо (раніше показувало L+N бо fallback resolveDefault)
ВиправленоProjectSelector — створення проєкту без назви: auto-generate «Новий щит», «Новий щит (2)» і т.д. (пошук першого вільного номера). Placeholder «Назва (необов`язково)»
ДоданоN-routing архітектура — декларативний nPassthrough у реєстрі пристроїв (passthrough/shunt/distribute/none). Усуває клас повторюваних багів, де нова модель пристрою ламала N-маршрут у трьох окремих місцях (ADR-067)
ДоданоОкрема PE-клема у ПЗІП на output side — більше не накладається візуально з N-входом. Для 1P+N клема стоїть на позиції 3, для 3P+N — на позиції 5. PE-провід і зелений dot тепер співпадають піксель-у-піксель (ADR-068)
ДоданоN-гребінка може живитися від розподільника (крос-модуль 4P, РЦД, АВР) — не тільки від N-шини. Контекстне меню показує sub-menu «Від N-шини / Від крос-модуля» коли обидва варіанти валідні (ADR-069)
ДоданоАгрегація гребінок у списку підключень шини — N-гребінка з 5 автоматами тепер 1 рядок з chevron ▶/▼ і бейджем «5 пр.», а не 5 окремих клем. Counter, автопризначення, валідація переповнення — всі враховують groups, а не flat breakers (ADR-070)
ДоданоВалідація замкненого N-кільця (n_bus_self_loop) — ловить ситуацію коли кілька приладів власники однієї N-шини і ієрархія резолвить вхід у власну вихідну шину. UI dropdown «N шина групи» попередньо симулює вибір і блокує варіанти, які створили б loop
ДоданоВалідація n_bus_input_output_mismatch (BUG-N2) — INPUT і OUTPUT N на різних шинах → топологічна помилка з детальним описом і вказівкою як виправити
ДоданоВалідація comb_n_feeder_not_distributor — N-гребінка не може живитися від пристрою, який не має nPassthrough=distribute та N-полюса
ДоданоProjectSelector — створення проєкту без назви: Enter на порожньому полі → auto-generate «Новий щит», «Новий щит (2)» тощо. Placeholder «Назва (необов`язково)»
ВиправленоПЗІП більше не може бути власником N-шини (shunt фізично має один N-контакт). Legacy-стани з shunt.nBusBarId чистяться автоматично при завантаженні .eboard. deriveWires defense-in-depth: output-wire для shunt не генерується
ВиправленоExplicit nRouting="bus" пріоритет — клік «Шина» на крос-модулі під 4P АВ тепер дійсно перемикає на bus routing. Раніше directDistribute smart-default перебивав явний вибір користувача
ВиправленоКрос-модуль із власною N-шиною — діти тепер роутяться ЧЕРЕЗ цю шину, не direct від CM.pN. Explicit nBusBarId = «розподіли N через цю шину»
Виправлено«Від`єднати» N-шину групи більше не видаляє шину автоматично — це ламало consumers (AVDTs з nRouting="bus"). Тепер тільки знімає прив`язку, користувач сам видаляє шину якщо треба
ВиправленоhandleBusClick («Шина») — прибрано магічну Branch A, яка автоматично робила parent власником нової шини. Тепер тільки set nRouting="bus" (+ створення шини якщо жодної нема). Parent ownership — окрема явна дія через «N шина групи»
ВиправленоBypassWarning («N обходить батька») — prop-up guard для shunt (ПЗІП: нема direct-шляху) та pure-distribute (крос-модуль без separateNBus: не комутує N). Warning залишається валідним для РЦД/АВР/changeover (separateNBus=true)
ВиправленоNRoutingToggle прихований для shunt-пристроїв (ПЗІП): вибору «Напряму/Шина» для них фізично немає — N завжди через шину
ВиправленоВіртуальний рядок «Ввід N» у списку клем шини — правильна семантика для будь-якого root без N-полюса (1P/2P/3P АВ, генератор, інвертор, ДБЖ). Owner шини — це споживач, не блокує virtual supply
ВиправленоPE-провід від ПЗІП до PE-шини — тепер потрапляє точно у зелений PE dot. Раніше була розбіжність ~28px між wire endpoint і dot position (різні формули у render vs routing). Єдиний helper getPeTerminalX
ВиправленоLegacy `.eboard` без поля board.combs більше не крашить Board.tsx при завантаженні (board.combs ?? [] guard у auto-sync)
ВиправленоВалідація passive_n_overload не спрацьовує для ПЗІП (shunt) як батьківського приладу — діти ПЗІП фізично беруть N із загальної шини, а не через N-полюс ПЗІП.
ВиправленоШина: віртуальний N-supply не додається повторно на шину якою вже «володіє» (owned) інший прилад — усунено дублювання рядка «Ввід N» у списку клем.
ВиправленоN-шина separateNBus-приладу (УЗО/АВДТ/АВР/changeover) видаляється автоматично коли залишилась без bus-routed дітей (ADR-072 patch). 1P дитина separateNBus-батька правильно маршрутизується в N-шину (variant C).
ВиправленоТип гребінки (comb) визначається за реальним набором провідників (shape-based combTypeFromMaxSet), а не за першим автоматом. Anchor-aware maxSet: для мульти-фазних щитів кожна фаза отримує окрему гребінку якщо anchor-позиції відрізняються.
ДоданоАВР/changeover — резервний вхідний кабель (secondaryCable, від генератора/ДБЖ) окремо від основного. Нова секція «Вхідні кабелі» у панелі властивостей + окрема позиція у BOM. Валідація перевіряє обидва кабелі незалежно за IEC 60947-6-1, ПУЕ 1.7/7.1.73/7.1.76 (мітки повідомлень primary / secondary)
ДоданоАВР/changeover 4P — автоматично створюється окрема N-шина («N (АВР)») для комутації нейтралі за IEC 60947-3 у системах TN-C-S — аналогічно до УЗО/АВДТ
ВиправленоWire routing — N-провід до окремої шини АВР/changeover тепер йде локальним маршрутом, а не через правий край полотна. Додано правило: короткий шлях коли breaker на рейці, суміжній до зони шини, інакше обхід через вільний простір
ВиправленоWire drag — вирівнювання X-handle з терміналом шини більше не скидає провід до довгого обходу. Gap Y-handle залишається видимим
ПокращеноCross-rail wire з однаковим X (дитина прямо під батьком) — тепер має один ghost X-handle посередині замість handle біля terminal. Drag створює симетричний Z-shape, Y-handles з`являються біля кожного кінця
ВиправленоStartup-check / cable audit / ПУЕ audit (вологі зони) — тепер обходять обидва ланцюги предків АВР/changeover (основний + резервний) незалежно
ВиправленоАВДТ — з варіантів підключення прибрано дублікати 2P (=1P+N) та 4P (=3P+N)
ВиправленоКлонування АВР — мітка N-шини синхронізується з новим іменем («N (АВР (2))»), номер у дужках не дублюється (було «1-0-1 (2)»)
ВиправленоКонтактор — котушка N з`являється у списку «Підключені» на N-шині одразу після вибору контактора у колі керування
ВиправленоПеремикач 1-0-1 3P/1P — правильно розпізнається як такий, що не потребує N (не потрапляє у список N-шини)
ПокращеноІндикатор валідації — коли проблем немає, кнопка показує зелений 🟢 «Все добре» і неактивна (до цього завжди клікалась і відкривала порожню панель)
ПокращеноПалітра приладів — кнопка × для очищення пошуку
ПокращеноСимвол × замість \u2715 у BusBar панелі та toast-повідомленнях
ДоданоРолі ввідних джерел живлення — 8 типів (мережа, трансформатор, генератор, інвертор, ДБЖ, сонячна, акумулятор, інше) з кастомною назвою. Нова секція у PropsPanel для root breakers і secondary parents АВР/changeover. Бейджі у ParentSection, кольоровий маркер на канвасі, окрема колонка у BOM/PDF, інтеграція у AI-консультанта. Автопризначення "Мережа"+"Генератор" при додаванні АВР
ДоданоСвітла тема + перемикач теми — Phase 2. 2-state toggle (світла ↔ темна). Chrome тулбара залишається темним в обох темах (pattern professional CAD-tools)
ДоданоReusable <BottomSheet> компонент для мобільних overlay — drag handle зі snap зонами (10/40/85vh), keyboard-aware через visualViewport API. Тепер усі 4 mobile panels (палітра, гребінка, шина, властивості breaker) мають однаковий UX
ПокращеноПеремикач 1-0-1 — переведено на модель IEC 60947-3 / ПУЕ 1.7 за реальними продуктами (Hager SFT, ABB OTM). Варіанти: 1P / 3P / 4P (було 1P / 2P / 3P без 4P). 4P комутує N разом із фазами — обов'язково для TT/IT. Дефолт 40А (SFT440). Existing changeover 2P автоматично мігрується на 4P (L1+L2+L3+N)
ПокращеноПалітра на мобілці — bottom sheet з drag-to-close, keyboard-aware (піднімається над клавіатурою при пошуку), акордеон по категоріях (одна група відкрита за раз)
ПокращеноМобільна версія — AI pill "⚡ AI Консультант" автоматично ховається коли відкрита палітра / властивості / settings (уникнення z-index конфлікту). StatusBar (хоткеї + статус рейок) прихований на мобілці — тач-інтерфейс не потребує
ПокращеноDesign tokens Phase 1.6 — консолідація globals.css у 2 блоки (−93 рядки), naming hygiene, нові токени для повторюваних паттернів, прибрано dead exports
ВиправленоПеревірка "3+ підключень на клему" помилково сигналила для крос-модуля — виключено, розгалуження є прямим призначенням КМ (5-16 виходів на полюс)
ВиправленоCritical CSS specificity bug: :root і .dark мали однакову специфічність, tiebreaker = source order. Виправлено через `html.dark, .dark` селектор
ВиправленоScrollbar на editor панелях — dark-scrollbar на всіх секціях для консистентності
ДоданоКомпактний форм-фактор для 11 типів приладів — 1-модульні варіанти (ETI KZS-1M, R 20-20, Hager ARM920U, Shelly Pro 1PM, Mean Well HDR-15 тощо). Тогл "Форм-фактор" у панелі підключення
ДоданоКонтактор 4P у компактному форм-факторі 2M (ETI R 25-22) — адаптивна підказка "Компактний {variant} ({N} модулі)"
ВиправленоКрос-модуль з 3-фазним батьком (без N) — N лінія тепер приходить з N-шини на INPUT сторону КМ (раніше йшла до OUTPUT через бокове поле)
ВиправленоПЗІП — N лінія виходить з N терміналу (знизу), більше не перетинається з зеленим PE terminal зверху
ВиправленоWire audit — 5 багів wire routing + Z-shape пріоритет для multi-rail проводів, manhattan-router 2.12.0
ПокращеноКнопка "Напряму" у N-маршруті disabled коли батько без N — tooltip пояснює причину, автоматичний fallback на шину
ПокращеноPer-phase horizontal separation у бічному каналі — 3-фазний бандл тепер коректно розділяється на L1/L2/L3
ДоданоN-гребінки — розподіл нейтралі через DIN-гребінку замість окремих проводів (аналог фазних, але для N-провідника)
ДоданоPhase-cascade для фазних гребінок — автоматична прокладка патерну 1P/3P/1P+N/3P+N з урахуванням фази кожного автомата
ДоданоMixed 1P/3P гребінки — skip-pattern для пропуску фаз між автоматами різного типу
ДоданоMulti-rail feeder — гребінка на одній рейці живиться від автомата з іншої рейки
ДоданоSplit/Merge UI — розбиття великої гребінки на дрібні або об'єднання сусідніх через context menu
ДоданоN-каскад — гребінка може живитись від іншої гребінки (comb-to-comb), cross-rail підтримка
ДоданоInc rating + zone boundary валідації — перевірка номіналу ввідного автомата та меж зон приміщень у складі гребінки
ДоданоPropsPanel membership UI — додати/видалити автомат з гребінки, subset filter для перегляду тільки членів
ДоданоContext menu для гребінок — додати/видалити/розбити/об'єднати через праву кнопку
ДоданоSmart eviction — автоматичне видалення автомата з гребінки при зміні батька на несумісного
ПокращеноContinuous bar для mixed 1P/3P гребінок — прибрано hairline gaps між секціями
ПокращеноНавігація до джерела проблеми — валідації гребінок вказують на конкретний автомат-причину
ПокращеноSEO query-gap bridges для 11 калькуляторів — H1/H2/FAQ + JSON-LD синхронізація
ДоданоSmart N-routing — вибір маршруту N провідника (через шину / напряму від батька) з автоматичним визначенням
Додано11 нових перевірок N-маршрутизації: розрив N, обхід захисту, пасивні споживачі, циклічні підключення
ДоданоПеревірка перевантаження клем — 3+ підключення на одну клему (вхід + вихід)
ДоданоВалідація вказує на корінь проблеми — навігація до найвищого предка де N обривається
ПокращеноРедизайн секції Ієрархія — «Джерело», «N маршрут», «Шини» замість 6 окремих полів
ПокращеноУнікальні назви модулів при додаванні з палітри — АВ, АВ (2), АВ (3)
ВиправленоN шина ПЗВ створювалась без клем — тепер з terminalCount=4 та правильним zonePosition
ВиправленоChangeover (1-0-1) — прибрано помилковий separateNBus (перемикач не розриває N)
ВиправленоЗахист від циклічних parentId, self-loop, stale nRouting при зміні батька
ВиправленоКрос-модуль 1P+N — коректний N wire routing для КМ як дитини
ДоданоПеремикач фаз (ФК-1) — 3-фазний вхід, 1-фазний вихід з вибором фази. SVG з 3 вхідними і 1 вихідною клемою
ДоданоCtrl+drag — клонування модулів з усіма параметрами (номінал, крива, кабель, споживачі)
ДоданоКомпактний 1P+N (1 модуль) для АВ та АВДТ — Hager MLN, Schneider iDPN
ДоданоDeep search в палітрі — пошук по параметрах, підказках, configFields
ПокращеноAI-консультант: anti-hallucination, FAQ-режим, фільтр релевантності ПУЕ
ВиправленоАвтонумерація дублікатів — АВ → АВ (2) → АВ (3) замість вкладених (2) (2)
Додано3 нових типи приладів: перемикач контактора (SW), перемикач 1-0-1 (QC), індикатор 3P
ДоданоКоло керування контактора — клеми A1/A2, control wires через повний pipeline, ControlSection для 5 типів контролерів
ДоданоПеремикач 1-0-1 як ручний АВР — два входи (secondaryParentId), аналогічно АВР
ДоданоПошук у палітрі приладів — по назві, абревіатурі та повному опису
ПокращеноUI палітри — кольоровий left-border по типу, абревіатури груп, badge кількості, dark scrollbar
ПокращеноPropsPanel — реструктуризація: Основне → Підключення → Ієрархія → Керування → Навантаження → Додатково
ПокращеноmodulesPerVariant — контактор 3P/4P→3м, індикатор 3P→1м, обмеження макс. ширини по полюсах
ВиправленоСпоживачі та зони приміщення тільки для приладів з вихідним кабелем (АВ, АВДТ, AFDD, диммер, запобіжник)
ВиправленоОкрему N шину створює тільки УЗО (ПЗВ), а не всі прилади з N-полюсом
ВиправленоДублювання N coil wire при кількох контролерах одного контактора
Додано3 нових валідації кола керування: ціль видалена, ціль не контактор, самопосилання
ДоданоБлог для електриків — 5 практичних статей: збирання щита для 1к квартири, підключення інвертора, вибір реле напруги, вибір ПЗВ, розумний дім на Zigbee
ДоданоTOC-сайдбар — зміст збоку від статті з підсвіткою активного розділу при скролі, на мобільних згортається
ДоданоНавігація з лендінгу — Блог, Інструменти, ПУЕ, Документація доступні в один клік з header
ПокращеноSEO блогу — HowTo та Article structured data, Open Graph мета-дані, canonical URLs
ДоданоManhattan-router — нова система маршрутизації проводів: same-rail ∏-shape, cross-rail Z-shape, bottom-to-bottom C-shape, collision nudge, автоматичне розсування перехресть
ДоданоКалькулятор довжин проводів — розбивка по фазах (L1/L2/L3/N/PE), загальна довжина, запас на монтаж (+10/15/20%), деталізація до кожного проводу
ДоданоРозкривний список ручних корекцій — кольорова точка, фаза, від→до для кожного проводу, клік виділяє на канвасі, кнопка скидання окремої корекції
ПокращеноПанель проводки — повний UI redesign: секції за частотою використання, компактна сітка кольорів 2×2, підказки в акордеоні, збереження стану ромбів та бірок
ПокращеноКлік на шину або гребінку в режимі проводки відкриває їх панель властивостей, клік по порожньому полю знімає будь-яке виділення
ПокращеноBusbar terminal assignments — відображення кількості зайнятих клем, redesign SVG рендерингу шин
ВиправленоПроводи з ручною корекцією вище першої рейки більше не "провалюються" при зміні відстані між рейками
ВиправленоРомби для редагування маршруту — виправлено collision nudge, boundary clamping, pairwise sweep для Y/X handles
ДоданоКрос-модуль — новий тип пристрою (розподільчий блок) з wire routing, per-slot вихідними клемами та per-phase лімітом
Додано3-фазні гребінки — pixel-perfect рендеринг, per-phase розрахунок навантаження, UX покращення панелі rating
ДоданоДовідник ПУЕ глава 7 — 107 нових пунктів (7.5 + 7.7), дисклеймер, save-explanation API, share API
ПокращеноAI-консультант — повний аудит, 23 фікси: стабільність, контекст щитка, rate limits
ДоданоПублічні сторінки без редіректу — /pue, /tools, /blog, /changelog доступні без реєстрації
ДоданоМінімапа — resize (S/M/L/XL) drag-ом, viewport фікс, mobile UX покращення
ПокращеноЛендінг — design tokens, Lucide SVG іконки, server components для SEO, wow effects
ВиправленоАудит Device Registry — 4 критичних та 4 major фіксів у параметрах пристроїв
ВиправленоРозширення модуля шукає найближчий вільний слот замість першого вільного
ДоданоСтандарт кольорів проводів — 4 палітри (IEC/ДСТУ, Радянський, NEC, ElectroBoard Classic) з preview в wire mode
ДоданоЗони приміщень — 11 типів (кухня, ванна, спальня, балкон тощо) з іконками emoji на автоматах
ДоданоАудит ПУЕ — диференціальна селективність ПЗВ, перевірка вологих зон без ПЗВ ≤30мА, маркування приладів
ПокращеноКоефіцієнт одночасності (Кв) за IEC 61439-1 — залежить від кількості кіл замість фіксованого 1.5×
ВиправленоСелективність — перевірка номіналів тільки для апаратів захисту (MCB/RCBO/AFDD/Fuse), ПЗВ та контактори виключені
ВиправленоГребінки — автомат автоматично видаляється з гребінки при зміні батька
ДоданоДовідник ПУЕ — 2559 пунктів Правил улаштування електроустановок з AI-поясненнями простою мовою на /pue
ДоданоSSG-сторінки для кожного розділу та глави ПУЕ з фільтром пошуку по тексту
ДоданоПерелінковка між AI-консультантом та довідником ПУЕ — посилання на конкретні пункти
ДоданоAI-консультант по ПУЕ — floating чат на всіх сторінках (лендінг, редактор, інструменти, блог)
ДоданоКонтекст щитка — AI бачить конфігурацію, фази, навантаження та помилки валідації вашого проєкту
ДоданоMarkdown рендеринг відповідей AI — жирний текст, списки, блоки коду
ДоданоRate limits для AI-чату — fixed window, per-user override, лічильник тільки успішних запитів
ДоданоПосилання на пункти ПУЕ у відповідях AI — клікабельні бейджі з номером пункту
ВиправленоSSR-safe RevealWrapper на лендінгу, scroll isolation, оновлення блог MDX
ДоданоБезпека: share token через server-side RPC, CSP headers, GitHub Actions CI з tsc + vitest
ДоданоPersist UI стану в localStorage — zoom, sidebar, wire mode зберігаються між сесіями
ДоданоService Worker network-first стратегія — кешування з пріоритетом мережі
ПокращеноНовий favicon та PWA іконки, скорочений title для SEO
ПокращеноЛендінг: SEO оптимізація, smooth scroll між секціями, реальний скріншот редактора
ВиправленоЗакрито 4 HIGH vulnerabilities (flatted prototype pollution)
ВиправленоCSP: Cloudflare Insights в whitelist, unsafe-eval для dev режиму
ДоданоІнтерактивна share сторінка — клік на автомат підсвічує проводи, клік на шину підсвічує підключені прилади (прямі та непрямі)
ДоданоМінімапа та ползунок відстані між рейками на share сторінці — зручний перегляд великих щитів
ДоданоПідсвітка непрямих нащадків шини — жовтий пунктир для приладів, чиє живлення проходить через шину без прямого підключення
ДоданоFlash підсвітка модуля — клік на рядок у "Призначення клем" підсвічує відповідний автомат пульсуючою анімацією
ПокращеноАвто-синхронізація клем шин — при overflow система пропонує збільшити до найближчого стандартного розміру через діалогове вікно
ПокращеноCapacity bar під рейками — напівпрозорий за замовчуванням, яскравий при наведенні (плавна анімація)
ВиправленоПідрахунок зайнятих клем завжди рахує фактичні підключення замість застарілих assignments
ВиправленоShare сторінка: прибрано неробочий dropdown вибору модулів рейки
ДоданоPE/N шини — 3 зони монтажу (верхня, нижня, DIN-рейка) + бічні планки (ліва/права сторона)
ДоданоDnD для шин — перетягування між зонами, insert-shift preview, smart snap, cursor ghost
ДоданоDin-rail шини — вертикальний рендер на рейці, cross-rail DnD, auto-select
ДоданоSide-mount шини — вертикальні PE/N планки збоку щита з L-shape wire routing
ДоданоРеалістичні розміри шин за кількістю клем, inline ряди, reorder, positionOffset
ДоданоN-проводи — ієрархічний routing через шини: INPUT/OUTPUT з Manhattan маршрутизацією та wire handles
ДоданоОкремі N-шини для кожного УЗО — автоматичне створення, ієрархія supply→загальна шина→шина УЗО
ДоданоAuto-sync кількості клем та assignments при зміні конфігурації щита
ДоданоWire labels — маркування проводів на схемі з ідентифікаторами з'єднань
ПокращеноТестове покриття 87% — 581 тест (було 387), P0+P1 покриті
ВиправленоShare view використовує railSpacingCm з конфігурації борду
ВиправленоhasPE=false для mcb, rcbo, afdd, dimmer — тільки spd має PE
ДоданоГребінки (busbar comb) — об'єднання групи автоматів мідною шиною замість окремих проводів. Підтримує 1P, 3P, 1P+N, 3P+N типи
ДоданоВхідна та вихідна гребінка — вхідна замінює проводи від батька до групи, вихідна — від групи до дітей. Автомат може мати обидві одночасно
ДоданоКонтекстне меню для створення гребінки — клік правою кнопкою на автоматі пропонує доступні варіанти з автоматичним визначенням типу
ДоданоПанель властивостей гребінки — редагування мітки, ролі (вхідна/вихідна), артикулу виробника, перегляд автоматів у групі
ДоданоВалідація гребінок — 9 правил перевірки (спільний батько, однакові фази, відсутність перетину) з повідомленнями українською
ДоданоToast-повідомлення — сповіщення внизу екрану при валідаційних помилках та автоматичних змінах (видалення з гребінки при переміщенні або зміні підключення)
ДоданоГребінки на мінімапі — кольорові лінії на мініатюрі щита для швидкої навігації
ПокращеноЗахист від розсинхронізації — при перевертанні автомата, зміні фази або переміщенні на іншу рейку автомат автоматично видаляється з несумісної гребінки
ПокращеноВалідаційна панель — додано перевірки стану гребінок (відсутні автомати, невідповідність провідників, змішаний напрямок живлення)
ПокращеноДроти між автоматами на одній рейці (вихід знизу, вхід зверху) тепер огинають автомати справа — провід більше не проходить крізь тіло апарата
ДоданоРомби для дротів на одній рейці: нижній ↕ регулює висоту нижньої дуги, верхній ↕ — висоту точки входу над рейкою, ◆↔ — відстань справа від апаратів
ПокращеноЗ'єднання «батько внизу → дитина вгорі» між різними рейками — X-ромб тепер рухається плавно в обидві сторони без стрибків на дефолтну позицію
ПокращеноРомби для далеких рейок (через одну і більше): тепер доступне повне управління — X-ромб для горизонтального зсуву та два Y-ромби для висоти кожного плеча
ВиправленоX-ромб більше не стрибає на дефолтну позицію при перетягуванні — рух плавний, прив'язка до авто-позиції відбувається лише при відпусканні
ВиправленоПри переміщенні або зміні типу підключення автомата вручну налаштовані маршрути проводів автоматично скидаються — схема не «запам'ятовує» застарілі позиції
ПокращеноY-ромби для перевернутих автоматів (bottom-to-bottom) з'являються лише коли провід виведено вбік — не заважають у стандартному положенні
ПокращеноМінімальні відступи дротів уніфіковані: однорейковий та міжрейковий варіанти тепер мають однакові пропорції
ДоданоВиділення проводу кліком — обраний провід підсвічується, решта затемнюються
ДоданоМаркування проводів — біля кожного з'єднання відображається ідентифікатор (наприклад, W001/A3:2)
ДоданоСкидання ручного маршруту проводу — клік по виділеному проводу повертає автоматичний маршрут
ДоданоUndo/Redo для ручних маршрутів проводів — Ctrl+Z / Ctrl+Y скасовують або повертають зміни
ДоданоГрупове виділення проводів — Shift+Click для вибору кількох, групове скидання маршрутів
ДоданоНавігація між проводами — Tab / Shift+Tab перемикає фокус з автоматичним скролом до обраного
ДоданоМінімапа для великих щитів — мініатюра щита в кутку з можливістю швидкої навігації кліком або перетягуванням
ДоданоРучний рубильник 1-0-2 — перемикач основна мережа / вимкнено / резервне живлення (генератор). У налаштуваннях обирається режим: автоматичний АВР або ручний рубильник
ДоданоПодвійне підключення АВР — вкажіть два вхідних апарати (основний і резервний), проводи від кожного з'являються на схемі автоматично
ДоданоПопередження, якщо обидва входи АВР підключені до одного й того ж апарата
ВиправленоАВР на 2 полюси тепер правильно з'єднується фаза + нуль (L+N), а не дві фази
ВиправленоДроти до перевернутих автоматів (живлення знизу) більше не проходять крізь тіло апарата — підходять до нижньої клеми знизу
ВиправленоС-подібне з'єднання між двома перевернутими автоматами на різних рейках — провід тепер коректно обходить нижній автомат знизу
ДоданоДва ромби для регулювання С-подібного дроту: верхній тягне горизонтальну лінію вгору, нижній — вниз
ПокращеноС-подібний дріт можна перетягнути вліво або вправо від автоматів залежно від компоновки щита
ДоданоРомб-регулятор на прямих вертикальних дротах (I-форма) — тепер можна відтягнути дріт вбік і задати потрібний маршрут
ДоданоРежим редагування проводки: Alt+W відкриває/закриває режим (без ризику закрити вкладку)
ДоданоТип підключення 3P+N для АВ (триполюсний з нейтраллю)
ВиправленоРомби для редагування маршруту дроту тепер коректно відображаються при малій відстані між рейками
ВиправленоНезадіяний вхід перевернутого автомату показується коротким заглушенням у правильному напрямку
ПокращеноЗона кліку на ромбах відповідає їх розміру
ДоданоГоризонтальний drag-handle (◆↔) для вертикальних сегментів дроту — тягніть вліво/вправо
ДоданоАвтоматичне перемикання форми дроту Z→∏ при наближенні до точки підключення
ДоданоКольорові ромби відповідають фазі дроту (L1/L2/L3/N/PE)
ПокращеноПлавне повернення ромба на місце при відпусканні без суттєвого зсуву
ВиправленоНекоректна поведінка drag-handle при перевернутих автоматах (feedDirection)
ДоданоБрендування при друці: логотип ElectroBoard + QR-код на всіх сторінках (схема, щит, BOM, підписи)
ПокращеноДрук без браузерних хедерів/футерів (@page margin:0) для ЕПС, щита та лейблів
ВиправленоПуста 2-га сторінка при друці лейблів (break-after:avoid + html/body height:auto)
ВиправленоПуста сторінка між щитом і BOM при роздільному друці
Покращено«УЗО» → «ПЗВ» у всьому UI (крім rcd-calculator для SEO)
ДоданоЕПС (електрично-принципова схема): окрема сторінка /board/:id/schematic
ДоданоIEC 60617 символи: MCB, RCD, RCBO, лічильник, запобіжник, роз'єднувач, SPD, контактор, AFDD, АВР, реле напруги, реле частоти, БЖ, клема
ДоданоTree layout: автоматичне позиціонування ієрархії довільної глибини
ДоданоDual N bus: окрема N sub-шина для кожного ПЗВ
ВиправленоMCB/RCD символи: правильний IEC ланцюг, горизонтальний розчеплювач, коло по центру між полюсами
ВиправленоPE пунктирна лінія, N суцільна; усунуто плутанину кольорів L2/N
ДоданоБлог на MDX: SEO-інфраструктура, Article/HowTo JSON-LD, i18n-ready
ДоданоChangelog сторінка на сайті (/changelog)
ПокращеноВалідація email при реєстрації: тільки перевірені провайдери (Google, iCloud, Outlook, ukr.net, ProtonMail та @домен.ua)
ПокращеноПароль при реєстрації: live-індикатор вимог (6+ символів, цифра, велика літера)
Виправлено«УЗО» → «ПЗВ» у видимих заголовках калькулятора
ВиправленоCallout-блоки в блозі: іконка і текст в одному рядку, симетричні відступи
ДоданоІмпорт/експорт проєктів у форматі .eboard (JSON)
ДоданоTooltips з інформацією про пристрій в палітрі (ⓘ) + контекстне меню (ПКМ)
ПокращеноРедизайн панелі налаштувань пристрою (PropsPanel): повна темна тема
ВиправленоКлавіатурні скорочення на нелатинських розкладках (UA/RU тощо)
ВиправленоКонтекстне меню не відкриває панель налаштувань на мобільному
ДоданоSmart DnD v3: вставка в будь-яку позицію рейки з автоматичним зсувом сусідів
ДоданоDrop preview: візуалізація кінцевої позиції до відпускання миші
ПокращеноDrag & Drop між рейками через insert — swap видалено (insert покриває всі сценарії)
Додано7 нових SEO-калькуляторів: AWG конвертер, освітлення, потужність, аудит споживачів, вартість електроенергії, кольори проводів, IP-рейтинги
ДоданоПерехресні посилання між усіма 13 калькуляторами
ДоданоФільтр калькуляторів за категоріями + BreadcrumbList JSON-LD на всіх інструментах
ДоданоГенератор підписів для щита (/tools/label-generator): DIN-модульні підписи, кольори фаз, друк
ДоданоPWA: офлайн-режим, Web App Manifest, іконки, кнопка встановлення
ДоданоАналітика: трекінг логіну, реєстрації, додавання/видалення модулів
ПокращеноДоступність (a11y): aria-label та id для всіх полів у калькуляторах
ДоданоFAQPage JSON-LD schema + FAQ секції для всіх калькуляторів
ДоданоPlausible аналітика: трекінг відкриття та розрахунків в інструментах
ДоданоДеплой: Docker + Cloudflare Tunnel + Proxmox LXC
ДоданоWire Mode: переключення між схемним і монтажним виглядом
ДоданоПерегляд спільних проєктів /share/[token]
ДоданоOG-зображення сайту (динамічна генерація в темній темі)
ДоданоШаблони щитів: 5 преднастроєних конфігурацій для швидкого старту
ДоданоМобільна адаптація: pinch-zoom, long-press drag, FAB-палітра, 2-рядковий тулбар
ДоданоCable System v2: метод прокладки, автопідбір перерізу, розрахунок падіння напруги
ПокращеноPropsPanel та ConsumersDrawer: повна темна тема
ДоданоПанель валідації v2: 9 модулів, 22 правила, групування за категоріями
ДоданоОкрема шина N для кожної групи ПЗВ 30 мА (автоматично)
ДоданоРозрахунок навантажень і балансу по фазах
ДоданоПідтримка 3-фазних мереж: TN-S, TN-C-S, TT, IT
ДоданоDrag & Drop на Pointer Events API (без бібліотек)
ДоданоСпоживачі: ручне додавання, пресети, розрахунок cos φ та пускового струму
ДоданоКолірний індикатор навантаження на кожному автоматі
ДоданоЗбереження в localStorage + undo/redo (необмежена кількість кроків)
ДоданоШини N та PE на полотні з підключенням до пристроїв
ДоданоderiveWires() — з'єднання обчислюються, не зберігаються в стані
ДоданоПалітра пристроїв з автогрупуванням за типом
ДоданоСтарт проєкту: Next.js 16, TypeScript 5, Zustand 5
ДоданоSVG-рендеринг рейок DIN і пристроїв
ДоданоDevice Registry: 22 типи пристроїв (data-driven)