
Салют, Хабр!
Я Иван, HW TPM Умного дома Сбер. В прошлом году мы разработали линейку электроустановочных изделий AtlasDesign Smart. И это отличные устройства. Но… не все пользователи, которым понравился умный выключатель из линейки, могут установить его. Потому что для него обязательна нейтраль, она же ноль.
Сегодня мы добавили в линейку более универсальное устройство — умный выключатель с опциональной нейтралью. Эта разработка оказалась сложнее. В статье рассказываем о новых захватывающих проблемах, с которыми столкнулись. Сколько лампочек нужно, чтобы одна команда разработала выключатель? Как обучить устройство незаметно воровать электроэнергию? Как выстроить прошивку для Zigbee-устройства, которое может быть и роутером, и спящим (и почему через три месяца мы немного расстроились)?
Спойлер: мы по-прежнему топим за нейтраль. Если есть техническая возможность, лучше подключать с ней или даже проложить её с нуля квартире.
Hardware: воруя электричество
Два абзаца о нейтрали для тех, кто не в контексте вопроса нейтрали или забыл. Кто помнит — можно пропустить.
Скрытый текст
Квартир и домов без нейтрали вовсе не бывает — фаза и ноль в любом случае есть. Но чаще всего нейтраль не заходит в подрозетник выключателя, а идёт из щитка непосредственно к источнику света. Так сложилось исторически: ранее выключатель был пассивным размыкателем, и его просто ставили в разрыв фазного провода. Это позволяло сэкономить кабель при строительстве. Большинство застройщиков до сих пор делают разводку электропроводки в квартире без нейтрали к выключателям.
Бета-тест выключателей с опциональной нейтралью показал, что даже не чуждые технике люди путают нейтраль с заземлением и подключают устройство через заземление. Это — самый простой способ выбить дифавтомат (УЗО).

Обычному механическому выключателю нейтраль не требуется. Но умному выключателю — конкретно микроконтроллеру с Zigbee и его периферии — энергия нужна постоянно. Выключателем из серии AtlasDesign Smart можно управлять голосом, через приложение или автоматически, с помощью сценариев. Для этого он подключается к умному дому по протоколу Zigbee и, значит, должен всегда быть на связи.
Откуда взять электроэнергию, если всё, что у нас есть — это фаза? Единственный вариант — незаметно воровать её у лампы. Но чем больше мощности мы забираем, тем вероятнее лампа это заметит. И станет мстить: загораться, если была отключена, или мерцать, когда включена. Оба варианта пользователю не понравятся.
Выходит, выключатель без нейтрали должен потреблять так мало, чтобы питающий его микроток, который проходит через лампу, не вызывал побочных эффектов. Осталось выяснить, сколько это — «мало». Мы закупили более 30 маломощных светодиодных ламп-бестселлеров и экспериментально выяснили, сколько тока можно пропустить через лампу, прежде чем начнутся проблемы.

Вывод: чем меньше собственное потребление выключателя без нейтрали, тем лучше пользователю. Кстати, именно поэтому на рынке почти нет устройств с опциональной нейтралью на таких беспроводных протоколах, как Wi-Fi или Matter over Wi-Fi. Все они используют энергоэффективные протоколы — Zigbee, Thread, Bluetooth.
Как же подключить последовательно с лампой ещё одну нагрузку — выключатель — так, чтобы, если лампа обесточена, он продолжал работать? Вот какая схема получилась в итоге.

Главный коммутирующий компонент умного устройства — электромеханическое реле. Когда свет не горит, оно разомкнуто. Но лампа, даже выключенная, всё равно обладает некоторой проводимостью; напряжение между контактами реле — 220 В. Значит, мы можем черпать здесь энергию.
После подключения к контактам диодного моста, выпрямления напряжения и преобразования до нужных нам 3,3 В получился источник питания микроконтроллера. На схеме это БП 1. Он перманентно утягивает у лампы мощность в крохотных объёмах, так, чтобы проходящий ток не заставил её гореть или мигать. Эту энергию выключатель тратит на поддержание Zigbee-соединения плюс запасает впрок в ожидании, когда потребуется щёлкнуть реле.
Допустим, пользователь включил свет. Теперь цепь замкнута, а значит, БП 1 зашунтирован реле и лишён возможности воровать у лампы энергию. Но она по-прежнему нужна. Так в схеме появляется второй источник питания — БП 2. Он набирает энергию благодаря мощному полевому транзистору, который установлен последовательно с реле и размыкает цепь на очень короткое время. Размыкание происходит в начале синусоиды, пока напряжение низкое. Это позволяет поставить низковольтный «полевик» с очень низким сопротивлением открытого канала, чтобы максимально сократить выделение тепла на больших токах (10 А).
Скрытый текст
Убрать реле и оставить только полевой транзистор, который бы включал и выключал нагрузку, неоптимально. С учётом переменного тока через нагрузку пришлось бы ставить не один, а два мощных и главное — высоковольтных полевика с сопротивлением открытого канала в единицы миллиОм по схеме «спина к спине».
Дополнительно в схеме появился конденсатор — на рисунке это С1. Он:
Обеспечивает работу бистабильного реле. Оно не требует мощности на поддержание своего состояния — только на переключение. Но лампа, особенно маломощная, не даст нам нужного количества энергии в моменте. Поэтому выключатель медленно, по чуть-чуть накапливает энергию в конденсаторе.
Сглаживает скачки потребления. Когда выключатель подключён без нейтрали, он становится спящим Zigbee-устройством, поэтому периодически просыпается и задаёт вопрос Zigbee-координатору: «Что новенького?». Потребление во время этой короткой, но важной активности на три порядка выше, чем во сне. Без конденсатора лампа (гипотетически) могла бы начать вспыхивать во время сеанса связи.
Software: мультироль, средний ток и пейринг
Мультироль
В выключателе с опциональной нейтралью прошивка сама определяет её наличие/отсутствие и переходит в соответствующий режим работы. Если нейтраль есть, умный выключатель Сбер выступает в Zigbee-сети роутером — не только принимает данные, но и передаёт другим устройствам. В Zigbee-сети роутеры позволяют расширить покрытие сети в квартире, увеличивают устойчивость сигнала и дальность передачи.
Вместе с тем устройство-роутер работает в режиме непрерывного приёма и передачи данных, а значит, потребляет много энергии. Выходит, что с нейтралью выключатель должен быть роутером, а без неё — спящим устройством, которое просыпается с определённым интервалом и обращается к родителю, уточняя, нет ли для него команд.
Роль должна была определяться при старте по факту наличия нейтрали. Но SDK от Silabs этого не предусматривал: тип устройства (router / sleepy end device / non-sleepy end device) задаётся константой на этапе компиляции и не может меняться в рантайме.
И при этом в SDK всё же нашёлся механизм динамической смены роли — Test Harness. Это специальная сборка, которую Silabs предоставляет для сертификации Zigbee-устройств: она позволяет менять тип ноды на лету, чтобы прогонять устройство через разные тестовые сценарии. Но Test Harness — вспомогательный инструмент, а не основа для продуктового кода. Он имеет специфическую конфигурацию и не поддерживает полный набор функций, нужных конечному устройству. Тем не менее, это был последний недостающий элемент!
За основу мы взяли стек, умеющий работать и как router, и как sleepy end device. В тех местах, где SDK делает исключение для динамической смены роли в Test Harness, добавили собственный дефайн SBDV_MULTIROLE!
#if defined SL_CATALOG_ZIGBEE_TEST_HARNESS_Z3_PRESENT || defined SBDV_MULTIROLE
sli_zigbee_af_zigbee_pro_network *sli_zigbee_af_current_zigbee_pro_network = NULL;
#else
const sli_zigbee_af_zigbee_pro_network *sli_zigbee_af_current_zigbee_pro_network = NULL;
#endifТаких участков в SDK немного, около десятка, но каждый потребовал отдельной проработки. Проблема в том, что SDK Silabs во многом рассчитан на статические, однократно сконфигурированные устройства. Вся ключевая логика опирается на константы компиляции: таблица сетевых конфигураций, указатель на текущую сеть, тип устройства. Сделать эти структуры изменяемыми не всегда достаточно: нужно ещё проследить, чтобы ни один участок кода не сломался из-за того, что когда-то константные данные вдруг стали динамическими.
Хороший пример — функция sl_zigbee_af_sleep. Стек решает, можно ли устройству заснуть, сравнивая тип ноды с пороговым значением. Но тип ноды — константа компиляции, и если прошивка собрана как роутер, условие никогда не выполнится: устройство не заснёт никогда, даже если в рантайме переключилось в спящее устройство:
bool stack_is_ok_to_nap =
sli_zigbee_stack_ok_to_nap() &&
((sl_zigbee_network_state() == SL_ZIGBEE_JOINED_NETWORK)
? (sli_zigbee_node_type >= SL_ZIGBEE_SLEEPY_END_DEVICE)
: (SLI_ZIGBEE_PRIMARY_NETWORK_DEVICE_TYPE == SLI_ZIGBEE_NETWORK_DEVICE_TYPE_SLEEPY_END_DEVICE));
Каждый такой участок пришлось проанализировать и аккуратно модифицировать, не подцепив при этом побочные эффекты тестового режима.
Результат — прошивка, которая на старте определяет наличие нейтрали и выбирает роль: роутер или спящее конечное устройство.
… спустя несколько месяцев после реализации прошивки в SDK Silabs появилось официальное решение для динамического переключения ролей. Мы испытали сильные чувства. Такое бывает в разработке.
Средний ток в основном режиме
Как уже упоминалось, если умный выключатель подключён без нейтрали, он становится спящим устройством, которое раз в N секунд просыпается и обращается к координатору. Следовательно, нам нужно было минимизировать средний ток потребления микроконтроллера с Zigbee. Пусть устройство просыпается настолько редко, насколько это допустимо, чтобы задержка выполнения команд и энергопотребление были минимальными.
С опорой на тот же тестовый набор ламп мы определили уровень желаемого среднего потребления: 50 мкА в домене питания +3,3 В. Требовалось определить интервал поллинга — периодичности пробуждения устройства — который даст нам этот уровень. После исследований, отладки, проверки, тестов стало ясно, что средний ток потребления соответствует требуемому при интервале поллинга 2 сек.
Отладка и проверка производится на Product Development Kit (PDK) — отладочной плате продукта. Она разрабатывается раньше, чем самый первый прототип, чтобы команда прошивки могла заранее начать работу.

Разреженный пейринг
Для всё той же цели — снизить энергопотребление — мы пересмотрели процедуру пейринга. Обычно он происходит без пауз между поиском открытых сетей на разных каналах, причём энергию потребляют и приём-передача сигнала, и индикация. Нашей целью в том же домене +3,3 В было потребление менее 5 мА. (На деле можно было и меньше, но тогда процедура пейринга становилась длиннее и нестабильнее).
Снизить энергопотребление помогло разрежение пейринга — добавление пауз между сканированием каналов. Ровно в эти промежутки вспыхивает светодиод: запрашивается очередь того, что выходит на отправку в радио → отсчитывается половина периода от последней активности радиосигнала → зажигается светодиод.
Ниже — профили потребления в пейринге до и после оптимизации.


В результате мы получили возможность снизить среднее потребление не только в ходе пейринга, но и Rejoin/Network Move — процедур возврата в сеть или поиска сети. Теперь во время Rejoin/Network Move устройство делает между сканированием каналов паузы произвольной длины. Ровно такой, чтобы обеспечить оптимальное соотношение между скоростью работы и средним потреблением.
Hardware: о КПД и трансформаторах
Минимальный уровень энергии, которую выключателю нужно воровать у лампы, складывается из двух составляющих:
мощности, которая нужна устройству для функционирования: Zigbee-команд, включения-выключения и проч., разделённой на КПД источников питания;
тока покоя, так как источники питания даже без нагрузки потребляют энергию в силу схемотехники.
Таким образом, в выключателе нужно добиться максимального КПД источников и минимального тока покоя… при этом не завалив тесты на электромагнитную совместимость (ЭМС) — как по эфиру, так и по проводам. Здесь начались проблемы: как только мы достигали высокого КПД, падала ЭМС, и наоборот.
Выяснили, что проблемы с ЭМС создает источник питания БП 1 — в нем всё портит кастомный трансформатор. Попробовали разные ферриты, направления намотки и экранирующие обмотки. В очередной итерации получилось сбалансировать три показателя, намотав трансформатор вручную, но... наш производитель, говоря языком ГОСТов, «моточных изделий» сообщил, что станки не смогут так мотать. Добиться оптимума удалось после четырёх итераций.


Кроме того, на больших токах потребления (например, при ZigBee пейринге) КПД источников питания максимален, но в основном режиме работы среднее потребление падает на три порядка. КПД становится ниже, и главный вклад в энергопотребление начинает вносить ток собственного потребления источника. Он способен свести на нет все оптимизации на стороне прошивки. Чтобы минимизировать ток покоя, мы провели отдельное исследование по схемотехнике:
нашли источники питания с минимальным потреблением тока;
минимизировали собственное потребление всей схемы выключателя.
В ходе работы пришли к выводу, что у выключателя с опциональной нейтралью должно быть несколько режимов работы в зависимости от нагрузки. В самом экономном индикаторы на устройстве не работают постоянно, активируются лишь иногда — при том же пейринге. Если нейтраль подключена или нагрузка достаточно мощная, RGB-светодиоды можно включить и задать любой цвет.
Software: zero-crossing detection
Одно из преимуществ умного выключателя Сбер — это детектор перехода сетевого напряжения через ноль: технология zero-crossing detection (ZCD). Она позволяет размыкать реле непосредственно перед переходом напряжения или тока через ноль, чтобы избежать электрической дуги. Нет дуги — выше ресурс реле, а значит, и выключателя.
В прошлой статье мы рассказали, как это реализовано с точки зрения hardware. С точки зрения software нам нужен был таймер. Теоретически в нашем распоряжении было целых два: таймер FreeRTOS в прошивке и аппаратный с большим приоритетом в чипе. Однако механизм zero-crossing detection требовал точности около 100 мкс. Выходит, что опираться в нём на два вышеупомянутых таймера нельзя — в нужный момент они могут заниматься какой-то более приоритетной задачей.
Решение — переписать драйвер реле с использованием аппаратного таймера и его блоков сравнения/захвата (capture/compare). Плюс использовать механизм роутинга пинов в чипе, который позволяет соединить любую ножку почти с любым периферийным блоком. В итоге:
таймер запускается при приходе фронта с ножки ZCD в момент, когда ток или напряжение пересекают ноль.
Соответствующий регистрам сравнения CC0 и CC1 выход генерирует высокий и низкий уровни соответственно на ножке управления реле с необходимыми задержками T1 и T2. Через Т1 таймер автоматически выставляет высокий уровень на ножке управления реле, через Т2 — низкий. Реле переключается. При этом максимальная задержка переключения — 20 мс, или один период синусоиды (то есть абсолютно незаметна).
Задержки от фронта сигнала ZCD до начала импульса переключения реле подбирались экспериментальным путём с помощью осциллографа. Технология перекочевала из предыдущего варианта умного выключателя в выключатель с опциональной нейтралью с одним только изменением: в нём сразу два сигнала. Один показывает, когда напряжение пересекает ноль, а другой — когда ток пересекает ноль. Замыкается реле в момент пересечения нуля напряжением, размыкается — когда ток пересекает ноль. Точнее, и то, и то происходит примерно за 1 мс до пересечения, чтобы механический дребезг контактов успел закончиться.


Речь в защиту нейтрали
Если вы прокладываете проводку заново, разница стоимости в прокладке проводки с нейтралью и без в двухкомнатной среднестатистической квартире составит примерно 600 ₽. При этом нейтраль позволяет получить все опции умного выключателя. Вот сравнение двух вариантов подключения умного выключателя.

Ещё один небольшой минус подключения выключателя без нейтрали: невозможно включить и сразу же выключить свет, а у двухклавишного выключателя — щёлкнуть двумя клавишами одновременно. Дело в том, что для переключения бистабильного реле из одного состояния в другое требуется много энергии; для нагрузки это резкий бросок тока. Изменить этот факт нельзя, он продиктован механическими свойствами реле. Следовательно, нужно программно разнести два события нажатия клавиш.
С помощью прошивки мы установили задержку при переводе реле из одного состояния в другое и сразу же обратно / срабатывание двух реле. Она составляет около 500 миллисекунд. За это время конденсатор успевает подзарядиться, и выключатель безопасно берёт оттуда энергию.
Итого, если вы делаете капитальный ремонт, стоит попросить электрика подвести нейтральный провод в каждый подрозетник. Это стоит совсем недорого, но существенно расширяет возможности автоматизации в квартире.
Как проверяют выключатели?
Когда разработка завершена, и на руках у нас готовое устройство, наступает время тестирования, которое подтвердит, что продукт соответствует требованиям. Большую их часть выключатель с опциональной нейтралью унаследовал от предыдущего из линейки, хотя есть и специфичные для него проверки. Например, ручной тест с вышеупомянутым набором из маломощных ламп. Основной критерий — ни одна лампочка мощностью 3 Вт и выше не должна мигать или тускло светиться в основном режиме работы. Оговорюсь, что граница в 3 Вт в реальности довольно условна. Производители выбирают схемотехнику для лампы исходя из собственных задач — самое дешёвое производство, отсутствие пульсации, наработка на отказ. Всё это непредсказуемо влияет на поведение лампы при малых токах.
Ручной тест выключатель с честью прошёл, спасибо слаженной работе схемотехников и разработчиков прошивки.
В стандартный план тестирования устройства входит:
проверка электрических характеристик всего продукта и отдельных узлов: перегрева на максимальной нагрузке, производительности при подключении с нейтралью — в общей сложности 30-40 тестов.
Радиочастотные тесты приемника и передатчика.
Тесты на электромагнитную совместимость. О них частично рассказывали выше. В этот пул входит, например, устойчивость к высоковольтным «иголочкам» в питании.
Проверка в разных условиях окружающей среды: холодный старт при -20 ℃ и другие.
Механические тесты: устойчивость окраски, долговечность кнопки, маятниковый тест клавиш…
Проверка прочности упаковки.
Например, маятниковый тест из механических — это способность устройства выдержать девять ударов непосредственно по нему молотом-маятником. Умные выключатели Сбер сделаны из поликарбоната, а не АБС; они выглядят деликатными, при этом очень прочные. Ведь в реальных условиях свет зачастую выключают ударом ладони, а если выключатель на уровне опущенной руки (по «евростандарту») — коленом.

И то же самое на видео.
Параллельно разные этапы тестирования проходит прошивка. До того, как устройство попадёт на стол к тестировщикам, оно проходит через автоматизированные проверки прямо в процессе разработки. Их три уровня, и каждый отвечает за своё.
Unit-тесты — это базовый уровень. Они запускаются автоматически при каждой сборке на обычном Linux-сервере. Код компонентов при этом изолирован: вместо настоящих реле, кнопок и Zigbee-стека подставляются их программные заглушки — моки. Это позволяет быстро и точно проверить логику каждого элемента по отдельности: как драйвер реле реагирует на команды? Как обработчик кнопок различает короткое нажатие и удержание? Как приложение связывает нажатие клавиши с переключением нагрузки через Zigbee-атрибут OnOff, учитывая при этом блокировку от детей (Child Lock) и режим Decouple Relay? Покрытие кода оценивается и поддерживается на каждом шаге; если новый код не покрыт тестами, это будет явно отражено.
Тесты на устройстве — следующий уровень. Прошивка работает на настоящем микроконтроллере и напрямую управляет реальной периферией: переключает реле, использует аппаратные таймеры, работает с энергонезависимой памятью. Всё, что невозможно адекватно проверить моками на сервере, проверяется здесь — на актуальном железе. Стенд полностью интегрирован в CI/CD: раннер прошивает устройство, запускает тесты и читает результат через UART. Каждая сборка с изменениями платформенных компонентов проходит полный цикл тестирования на устройстве.
E2E-тесты — финальный автоматизированный уровень. Устройство помещается в настоящую Zigbee-сеть, скрипт проверяет его уже как конечный продукт: пейринг, включение/выключение нагрузки, блокировку от детей, OTA-обновление с проверкой версии прошивки после загрузки — словом, весь путь, который пройдёт устройство в руках пользователя. Короткий набор таких тестов можно запустить в любой момент, а полный прогон работает по расписанию — ночью или по требованию. Результаты собираются в Allure-отчёт, где видно историю прогонов, тренды по стабильности и конкретные упавшие проверки.
Когда QA дают свой ок, разработка официально завершена. Устройство отправляется в производство. Его первый этап — прошивка модулей. Она происходит в burning station, специально разработанной для линейки электроустановочных изделий. Она позволяет прошивать микроконтроллеры не по одному, а по четыре штуки за раз, и одновременно добавлять в них серийные номера (SN). Их станция заносит в соответствующую область flash-памяти модуля, сканируя QR-коды с SN на модулях.

После прошивки и монтажа плат необходимо проверить их перед финальной сборкой в корпус. Для этого разработана специальная джига, своеобразный аналог тестового набора маломощных ламп. В специальные гнёзда на джиге помещаются печатные платы — питания и Zigbee; вместо лампы подключён тестовый резистор. Оператор, нажав рычаг, соединяет платы, и они условно начинают работать как продукт. По падению напряжения на резисторе делаем вывод о собственном потреблении.

Далее собираем всё вместе — пластиковый корпус, платы, клавиши — и наносим на корпус маркировку с SN. На последнем этапе нужно проверить весь функционал продукта, добавить информацию о продукте в нашу базу данных, и финально, залочить микроконтроллер. Мы называем этот этап чемберными тестами. Почему так — рассказывали на Хабре здесь.
Проводных интерфейсов у готового выключателя нет, поэтому для его перевода в разные режимы и считывания данных сделали эмуляцию консоли через Zigbee. Конечно, проверяем и качество связи по Zigbee.

На фото — чембер: промышленный компьютер с ZigBee-донглом, ещё одна джига для фиксации и быстрого подключения выключателя, источник точного переменного напряжения, сканер QR-кодов (чтобы считывать SN) и монитор, на котором видны результаты всех тестов каждого устройства.
Это самый важный и ответственный этап производственного тестирования, проверке подвергаются 100% продуктов. В среднем чемберное тестирование занимает порядка 40 секунд на каждый выключатель. Зато после этого этапа мы знаем: покупатель получит качественный продукт.
Software: режимы в мобильном приложении и интеграция в другие умные дома
Чтобы использовать устройство было удобнее, пришлось внести доработки в мобильное приложение Салют. Если на момент Zigbee-пейринга нейтральный провод не подключён к устройству, оно переходит в режим «без нейтрали», и в приложении появляется специальная настройка — три режима работы без нейтрали:
«Антимерцание» — для нагрузки от 3 до 8 Вт. Устройство в этом режиме выступает спящим устройством, которое просыпается с периодичностью в две секунды. Индикатор работает вполсилы: короткая вспышка по нажатию на кнопку или при получении команды включить/выключить свет.
«Быстрая реакция» — для нагрузки более 9 Вт. В этом режиме интервал поллинга вчетверо ниже. С индикацией ситуация та же, что в предыдущем режиме.
«Быстрая реакция и индикатор» — для нагрузки примерно от 20 Вт. Выключатель не спит вовсе, хотя выступает end-устройством, не роутером; индикатор работает постоянно.
Мощность нагрузки указана условно; многое зависит от её, нагрузки, качества. Пользователь может выбрать, какой из режимов использовать, и далее менять их с опорой на особенности конкретной подключённой к умному устройству нагрузки и опыта использования разных режимов. А в рамках интеграции ZigBee2MQTT можно отдельно конфигурировать каждый из параметров, которые в приложении собраны в режимы: интервал поллинга, работу индикатора.
Три слова о ZigBee2MQTT. Покупатели линейки AtlasDesign Smart используют их не только в Умном доме Сбер, но и в других. А мы стараемся обеспечить максимальную совместимость, чётко следуя открытому стандарту Zigbee 3.0. Поэтому устройства можно подключить к:
Умному дому Сбер: умный хаб и интеллектуальная колонка SberBoom Home поддерживают Zigbee-подключение. Здесь функциональность раскрывается наиболее качественно и полно.
Zigbee2MQTT и системам на его основе. Мы выпускаем и поддерживаем официальные конвертеры, в свежем релизе 2.10.0 новые выключатели уже работают. Функционал практически такой же, как в приложении Салют.
Spruthub. Тут для устройств Сбера тоже есть шаблоны, всё работает из коробки. Мы плотно работаем с командой Spruthub; свежие прошивки электроустановочных устройств автоматически раскатываются в Spruthub-е. Обновленные выключатели в скором времени будут поддержаны.
Заключение
Умные встраиваемые электроустановочные изделия — это более продвинутая фаза развития умного дома: дома, который владелец проектирует ещё до ремонта, изначально понимая, что ему нужен этот уровень комфорта. В этом проекте обязательно нужен универсальный выключатель, способный работать с любым типом электропроводки в доме (и симпатичный: для линейки AtlasDesign Smart подходят рамки серии AtlasDesign из коллекций Classic, Antique, Art, Nature). А если ремонт уже сделан — умными выключателями можно заменить обычные.
Мы продолжаем развивать линейку электроустановочных изделий и уже знаем, что следующим устройством будет умное Zigbee-реле для скрытой установки в подрозетник. Что будет дальше? Автоматический выключатель на din-рейку в формате модульного оборудования, диммер для света, беспроводной выключатель на батарейках? Принимаем идеи в комментариях.
P.S. Я люблю нейтраль.
В подготовке статьи участвовали: Степан, Алексей, Дмитрий (команда разработки прошивки)

















