惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

人人都是产品经理
人人都是产品经理
MyScale Blog
MyScale Blog
Y
Y Combinator Blog
罗磊的独立博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
P
Proofpoint News Feed
Google DeepMind News
Google DeepMind News
V
Vulnerabilities – Threatpost
T
The Blog of Author Tim Ferriss
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
N
News and Events Feed by Topic
B
Blog RSS Feed
阮一峰的网络日志
阮一峰的网络日志
博客园_首页
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 【当耐特】
N
Netflix TechBlog - Medium
博客园 - 叶小钗
B
Blog
Vercel News
Vercel News
T
Tenable Blog
T
The Exploit Database - CXSecurity.com
Spread Privacy
Spread Privacy
T
Threat Research - Cisco Blogs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Last Week in AI
Last Week in AI
F
Fortinet All Blogs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Microsoft Security Blog
Microsoft Security Blog
S
Securelist
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Palo Alto Networks Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
DataBreaches.Net
Cyberwarzone
Cyberwarzone
Engineering at Meta
Engineering at Meta
Martin Fowler
Martin Fowler
G
GRAHAM CLULEY
Project Zero
Project Zero
Cisco Talos Blog
Cisco Talos Blog
A
Arctic Wolf
C
CERT Recently Published Vulnerability Notes
L
LangChain Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
Check Point Blog
A
About on SuperTechFans
W
WeLiveSecurity
The GitHub Blog
The GitHub Blog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Как я сделал полностью автоматическое освещение в ванной комнате и почему датчики присутствия меня разочаровали
4yGON · 2026-06-03 · via Все публикации подряд на Хабре

Прежде чем продолжить, хочу сделать важную оговорку.

Моя ванная комната имеет одну особенность — в ней отсутствует сама ванна, есть только душевая зона. Соответственно, помещение относительно небольшое, а зоны нахождения человека ограничены раковиной, душем и унитазом.

Кроме того, я не хочу создать впечатление, что датчики присутствия Tuya или Sonoff оказались плохими устройствами. Наоборот, оба датчика после экспериментов нашли своё место в других сценариях автоматизации и прекрасно работают до сих пор.

Например, датчик Tuya сейчас отвечает за автоматическое включение освещения в прихожей. Там человек практически всегда находится в движении, поэтому никаких проблем с потерей присутствия не возникает.

Датчик Sonoff переехал на кухню в зону приготовления пищи. Во время готовки человек постоянно совершает небольшие движения: режет продукты, открывает шкафчики, перемещается между рабочими поверхностями. В таких условиях датчик работает практически безупречно.

Проблема проявилась именно в ванной комнате, где человек может находиться длительное время практически неподвижно. Например, сидя на унитазе и листая ленту новостей в телефоне. Именно этот сценарий оказался самым сложным для любых датчиков присутствия, которые мне удалось протестировать.

Когда я начал строить свой умный дом, мне пришла в голову простая мысль: а насколько он вообще умный?

Возможность включить свет с телефона или голосом — это удобно, но назвать такое освещение по-настоящему умным можно лишь с большой натяжкой. На мой взгляд, умное освещение должно самостоятельно понимать, когда его нужно включить, а когда выключить, не требуя участия человека.

Самым очевидным местом для экспериментов оказалась ванная комната.

Если вопрос с вытяжкой решился довольно быстро — я установил датчик влажности, подобрал пороги включения и выключения и практически забыл о его существовании, — то с автоматизацией света всё оказалось намного интереснее.

Первая попытка — датчик присутствия Tuya

Сначала я пошёл по пути наименьшего сопротивления и приобрёл популярный Zigbee-датчик присутствия от Tuya.

Реклама обещала практически магию: определение неподвижного человека, отсутствие ложных срабатываний и работу даже через препятствия. После установки и настройки началось тестирование.

Надо признать, свою основную задачу датчик выполнял хорошо. Он уверенно определял присутствие человека и практически не реагировал на бытовые предметы. Например, если оставить в ванной большую коробку или корзину для белья, датчик не начинал считать её человеком.

Однако очень быстро проявилась другая проблема.

Датчик отлично определял присутствие, но совершенно не умел определять отсутствие.

Стоило неподвижно посидеть несколько минут на унитазе или зависнуть в телефоне, как датчик начинал считать помещение пустым и выключал свет.

Казалось бы, решение очевидное — увеличить таймаут отсутствия. Но тогда после ухода человека свет продолжал гореть ещё несколько минут. Получалось, что либо свет выключается слишком рано, либо слишком поздно.

Обе ситуации меня не устраивали.

Вторая попытка — более дорогой Sonoff

Логично было предположить, что проблема в конкретном устройстве.

Следующим кандидатом стал более дорогой датчик присутствия Sonoff SNZB-06P.

Я пробовал разные варианты установки, менял чувствительность, экспериментировал с тайм-аутами и зонами обнаружения, но результат оказался практически таким же.

При активном движении всё работало идеально. Но стоило человеку надолго замереть, как датчик рано или поздно терял цель.

Третья попытка — HLK-LD2450

Продолжая поиски, я наткнулся на HLK-LD2450.

Это уже не готовый датчик, а полноценный микроволновый радарный модуль, который подключается к ESP32. Среди домашних энтузиастов он считается одним из самых продвинутых решений для определения присутствия.

Производитель заявляет возможность фиксировать даже движение грудной клетки во время дыхания.

Звучало многообещающе.

Я подключил модуль через ESPHome, интегрировал его в Home Assistant и начал тестирование.

Результат снова оказался неожиданным.

Да, HLK-LD2450 работает лучше бытовых датчиков. Да, он действительно способен фиксировать очень слабые движения. Но в условиях готового ремонта его невозможно разместить в идеальной точке. А при неудачном расположении проблема полностью не исчезает.

Если долго сидеть неподвижно, датчик всё равно периодически теряет человека.

В этот момент стало понятно, что искать нужно не другой датчик присутствия, а принципиально другой подход.

Расположение HLK-LD2450 в ящике коммуникаций

Неожиданное решение — лазерные дальномеры

Рассматривая планировку ванной комнаты, я заметил одну особенность.

Входная дверь находится рядом с раковиной. Каждый человек, входя в помещение, неизбежно проходит мимо неё.

Между тумбой и раковиной был небольшой зазор около сантиметра, куда идеально помещался модуль VL53L0X.

Так появился первый лазерный дальномер.

Второй такой же датчик я установил под раковиной, направив его в сторону унитаза.

Расположение VL53L0X под раковиной
Вид на раковину, дальномеры установлены слева и справа по углам

Вид на раковину, дальномеры установлены слева и справа по углам

Второй установлен аналогично только с противоположной стороны

Второй установлен аналогично только с противоположной стороны

Оба датчика полностью скрыты от глаз. Пока человек не ляжет на пол и не начнёт специально их искать, увидеть их практически невозможно.

При этом скорость обновления составляет около 100 мс, что значительно быстрее большинства бытовых датчиков присутствия.

Итоговая схема работы

В результате логика получилась комбинированной.

Первый VL53L0X фиксирует проход человека через дверной проём и мгновенно включает освещение.

После этого управление переходит к радару HLK-LD2450, который отслеживает нахождение человека в ванной комнате.

Когда радар сообщает об отсутствии присутствия, Home Assistant не выключает свет сразу.

Перед отключением дополнительно проверяются оба дальномера.

Если хотя бы один из них показывает изменение расстояния, значит человек всё ещё находится в помещении, и выключение отменяется.

На практике это полностью решило проблему.

Теперь можно сколько угодно сидеть на унитазе, читать статьи, смотреть ролики или просто задумчиво смотреть в стену — свет больше не выключается в самый неподходящий момент.

А поскольку второй дальномер постоянно контролирует зону унитаза, появилась дополнительная идея: если человек сидит там больше трёх минут, можно автоматически включать вытяжку.

Бонус: автоматизация вытяжки

Заодно пришлось доработать и логику вентиляции. Раньше вытяжка ориентировалась исключительно на влажность воздуха. Но после нескольких месяцев эксплуатации стало понятно, что этого недостаточно.

Сейчас вентилятор выключается только тогда, когда одновременно выполняются два условия:

  • влажность вернулась к нормальному уровню;

  • в ванной выключен свет 10 минут назад.

В результате вытяжка не отключается слишком рано после душа и не работает лишнее время, когда помещение уже пустое.

Так же по периметру ванной была добавлена светодиодная лента, которая включается ночью более тусклым светом, что бы не слепить ночью. Если в ванной находишься более 5 минут, то включается основное освещение