Кошерный домофон
Для начала давайте познакомимся. Привет, я — Женя. И я у мамы программист. Не состою в отношениях, регламентируемых ТК РФ, поэтому решил пописать на Хабр статьи разной степени полезности. В процессе работы было не до этого — то работа, то семья, то корпоративные ограничения.
После написания статьи я понял, что вся эта статья в формате саморефлексии очень хорошо ложится ответом на вопрос на собеседованиях: «Расскажите о случае, когда вашу слабость удалось повернуть в сильную сторону».
Предисловие
Я живу в центральном районе города-миллионника, в многоквартирном доме. расположенным в закрытом дворе. Вход защищен домофоном компании «СтройМастерДомофон». Вот такой как на фото.
У меня часто происходила такая ситуация: выскакиваешь из дома, оставив метку для входа в квартире. Чтобы попасть обратно нужно или звонить в трубку, беспокоя семью, или звонить соседям, которые открывают не спрашивая кто там, стучать в калитку (если кто-то есть во дворе) или ждать пока будут выходить. Лезть через забор высотой 2.5 метра тяжело :)
Учитывая, что смартфон в таких ситуациях с собой, хотелось уметь открывать домофон с его помощью. Начал изучать вопрос и оказалось, что в принципе можно эмулировать метку домофона на телефоне, но для этого нужно рутовать Андроид.
Решение не очень удобное и не масштабируемое, так как каждому, кто хотел бы управлять домофоном точно так же, пришлось бы иметь рутованный смартфон на Андроиде. Взламывать свой основной телефон захочется не каждому, я вот не хочу — уже старый для таких движений.
Пробовали вариант с входом по коду: в итоге детвора в радиусе пары кварталов узнала код и заходили во двор попить лимонада и другие шипучие продукты. Периодически страдая, так и жил в режиме: что тут можно придумать?
Постепенно я стал замечать, что на ответной планке электрозамка калитки стали появляться небольшие кусочки магнитов для холодильников (мягкие).
Незаметные из-за цвета и местоположения, но не дают силам магнетизма сильно прижимать дверь, в результате чего ее можно открыть рывком.
Стало интересно, кто и с какой целью это делает. Вопрос, заданный соседям, ответов не нашел. Поэтому, когда замечали, убирали.
Однажды осенью в соседском чате появился запрос с просьбой открыть калитку завтра в 22:30. Серия вопросов участников группы показала, что среди жильцов появились те, кто исповедует иудаизм с соблюдением Шаббата. А завтра будет Рош ха-Шона — аналог Нового года.
Оказывается калитка с домофоном, это большая проблема для соблюдающих Шаббат — нельзя намеренно производить действия, вызывающие электрические импульсы. Проблемой соседи прониклись, и когда видели, что люди мерзнут у калитки, выходили, открывали.
Продолжалось так несколько недель. Однажды, в процессе соседской болтовни (ведь вы же разговариваете с соседями? :)) — соседом не была озвучена та же проблема: забываешь RFC-метку дома, а войти во двор как-то хочется.
Я рассказал результаты моих поисков и свое видение проблемы. Небольшой пинг-понг идеями после озвучивания вариантов — и вот родилась MVP-схема.
Принципиальная схема решения
Мы знаем, где стоит блок управления домофоном, лезть в электрическую схему не хочется -, а что если его отключать через приложение на смартфоне? Wifi с 2.4Ghz туда добивает, других проблем мы не придумали.
Взяли розетку c поддержкой приложения Smart Life: создали дом, добавили тестовую группу пользователей. Из плюсов, приложение можно подвязать к приложению Умный Дом с Алисой и ваша Яндекс.Станция научится открывать домофон по голосовой команде.
Итак, схема получалась следующей — если вы стоите у калитки без метки, но со смартфоном, нужно просто проделать старый советский трюк: выключить весь домофон через приложение и включить обратно, после того как зашли.
Некрасиво с точки зрения инженерной мысли
Там же в приложении нашли вариант создания скрипта автоматизации — Scene. Выглядело это так: выключи розетку, подожди 20 секунд, включи розетку. Так как одновременно больше одного пользователя не может пользоваться панелью вызова, это никому не мешает и незаметно для остальных.
Пожили так пару недель. Стало понятно, что текущая схема ясна тем, кто в курсе как это работает: нажал кнопку и можешь открывать. Но так как нет звукового сигнала, момент в который можно открывать калитку не был интуитивным для гостей. Да что там скрывать — сын не понимал и звонил раз за разом с просьбой открыть дверь, так как ожидаемый для него сценарий: позвонил в квартиру, подняли трубку, звуковой сигнал из панели вызова: можно открывать дверь, не выполнялся.
Однажды ночью заметил что домофон включается с писком