Пять облаков, чтобы услышать дверной звонок
Помните, как раньше работал дверной звонок? Одна кнопка, один провод, один звонок. Никаких подписок, никаких облаков, никаких уведомлений. Нажал — услышал. Простота, проверенная десятилетиями.
А теперь представьте: вы покупаете умный дверной звонок, и для того, чтобы просто услышать его дома, вам нужны пять облачных сервисов, работающих в связке. Звучит как анекдот? Нет. Это реальная история, которую рассказал Vivek Ghaisas в своём блоге.
Зачем вообще что-то менять?
Всё началось зимой 2024 года. В доме автора произошла кража, и семья решила: пора обзавестись видеодомофоном. Выбор пал на недорогой Blink — простой, работает, присылает видео. Но тут случилось интересное.
Раньше гости стучали в дверь. Теперь они видели звонок и звонили в него. Домофон отправлял уведомление на телефон…, но жена автора не носит телефон с собой постоянно. Она не таскает гаджеты повсюду, как типичный гик. В итоге гости звонили, уведомление уходило в пустоту, а звук домофона играл… снаружи двери. Снаружи! Гости стояли и ждали, а семья не слышала ни звука.
Жена сказала прямо: «Это тупо, Вивек. Мы добавили дверной звонок, и теперь стало сложнее открывать дверь гостям».
И она была права. Нужно было что-то делать.
Ограничения, которые всё усложнили
У автора уже были Google Home Mini — умные колонки от Google. Казалось бы, задача элементарная: когда звонят в дверь, пусть колонка издаёт звук. Но есть два «но»:
- Никаких подписок. Платить за облачные сервисы не хотелось.
- Никакого прямого доступа в интернет для домашнего ПК. Не хотелось светить свой комп наружу.
Эти ограничения превратили простое желание в инженерный квест.
Цепочка из пяти сервисов
Автор честно признаётся: он не сразу нашёл решение. Даже ChatGPT не помог. Но в итоге получилась… машина Голдберга. Если вы не знаете этот термин — представьте сложнейший механизм, который делает одну простую вещь. Примерно так.
Вот что происходит, когда кто-то нажимает кнопку звонка:
ЦЕПОЧКА ДОМОФОНА
─────────────────
┌─────────┐ ┌─────────┐ ┌────────────┐
│ Blink │────▶│ Alexa │────▶│ SmartThings│
│звонок │ │рутина │ │вирт.лампа │
└─────────┘ └─────────┘ └─────┬──────┘
│
┌─────────┐ ┌─────────┐ ▼
│Google │◀────│Home │◀────┌─────────┐
│Home Mini│ │Assistant│ │VPS сервер│
└─────────┘ └─────────┘ └─────┬────┘
│
вебхук
Шаг первый: Blink. Умный звонок фиксирует нажатие кнопки и отправляет сигнал в экосистему Alexa (голосовой помощник от Amazon).
Шаг второй: Alexa. Настроена рутина (автоматическое действие). Когда приходит сигнал от Blink, Alexa включает виртуальную лампочку в Samsung SmartThings. По сути, это просто один бит информации в облаке: «вкл» или «выкл».
Шаг третий: SmartThings. Платформа умного дома от Samsung. Когда виртуальная лампа меняет состояние, SmartThings отправляет вебхук (автоматический HTTP-запрос) на внешний сервер. Это единственное, для чего нужна эта платформа — хранить булево значение.
Шаг четвёртый: VPS. Виртуальный сервер в интернете. На нём крутится крошечный сервер, который принимает вебхук от SmartThings. Сервер запоминает состояние «лампы», а потом сбрасывает его обратно. Грубо говоря: «принял сигнал — записал — отключил».
Шаг пятый: Home Assistant. Программа на домашнем компьютере автора. Она периодически опрашивает VPS-сервер: «Изменилось что-нибудь?». Когда статус меняется с «выкл» на «вкл», Home Assistant запускает аудиофайл на Google Home Mini.
И вот тогда — спустя пять промежуточных звеньев — колонка наконец говорит: «Динь-динь, кто-то стоит у двери».
Работает это уже полтора года. Но автор уже видит проблему на горизонте.
Где это всё может сломаться
Давайте честно посчитаем, сколько точек отказа в этой цепочке:
- Blink — зависит от серверов Amazon
- Alexa — зависит от серверов Amazon
- SmartThings — зависит от серверов Samsung
- VPS — зависит от хостинга (и от того, не отключит ли автор сервер)
- Home Assistant — зависит от домашнего ПК (электричество, стабильность работы)
Любой из этих сервисов может:
- Лечь на обслуживание
- Изменить API и сломать интеграцию
- Ввести плату (что уже произошло — Samsung объявил, что личный доступ к SmartThings API будет стоить $4,99 в месяц)
Пять сервисов. Пять компаний. Пять потенциальных точек сбоя. И всё это ради того, чтобы колонка сказала: «Кто-то пришёл».
ТОЧКИ ОТКАЗА
─────────────
Blink Alexa SmartThings VPS Home Assistant
▼ ▼ ▼ ▼ ▼
[Amazon] [Amazon] [Samsung] [Хостинг] [Домашний ПК]
│ │ │ │ │
└─────────┴─────────┴──────────┴────────────┘
│
Любой узел = звонок не работает
Цена удобства
Вот что мне думается, пока я читаю эту историю. На первый взгляд — абсурд. Пять облаков ради банального «динь-динь». Но давайте копнём глубже.
Автор хотел простую вещь: чтобы умная колонка сообщала о гостях. И он нашёл способ. Да, не идеальный. Да, с кучей зависимостей. Но он сделал это без подписок и без дыр в безопасности. Это инженерное мышление в чистом виде: работаем в рамках ограничений, находим обходные пути.
Другая сторона — это то, как устроен современный умный дом. Производители намеренно строят замкнутые экосистемы. Blink не умеет напрямую работать с Google Home. Alexa не умеет напрямую слать уведомления на произвольный сервер. Каждый — в своей песочнице. И чтобы связать их вместе, приходится строить такие вот машины Голдберга.
Когда-то проводной звонок был одним устройством. Потом появились умные звонки, и простота куда-то испарилась. Теперь за удобство приходится платить не только деньгами, но и сложностью архитектуры.
Вывод
Эта история — хорошая иллюстрация того, почему надёжность и простота часто важнее «фич». Автор получил работающее решение, но заплатил за него хрупкостью. Если завтра Samsung поднимет цену на SmartThings, придётся перестраивать всю цепочку. Если Amazon изменит API Blink — искать замену. Если хостинг VPS поднимет цену — снова переделка.
Умный дом — это не про умные решения. Это про осознанный выбор: что вам важнее — удобство или контроль. Или, как в этом случае, можно попытаться совместить и то, и другое, но готовиться к тому, что любая облачная магия когда-нибудь закончится.
А пока — цепочка работает. Уже полтора года. knock knock.
Ссылки
- Оригинальная статья Vivek Ghaisas — история о пяти облачных сервисах для дверного звонка
Дмитрий Полухин — продуктовый дизайнер. Пишу про разработку, AI и дизайн интерфейсов. Обо мне, контакты и профили.