Всем доброго здоровья!
Уже лет 5 у меня крутится «полуумный» дом в стадии вечного усовершенствования :).
Сперва это был domoticz с парой датчиков, сейчас я начал расширяться и перешел на home assistant (далее HA), как самую динамично развивающуюся систему умного дома.
Так как изначально использовался ESP8266 как основной компонент, то, соответственно, перешел на прошивку ESPHome, которая во-1 заточена под использование с HA, во-2 в нет ничего лишнего, в-3 это ну просто безумно просто, простите за тавтологию.
В системе сейчас около десятка устройств, расскажу про интересную и успешно реализованную задумку интеграции в умный дом координатного многоквартирного домофона (у меня это eltis, но должно работать со всеми моделями — visit, cyfral итп). Задача была такая — домофон должен открываться удаленно без ключа, но не должен впускать кого попало (эдакий полуавтоматический режим).
Специфика проблемы такова, что невозможно управлять домофоном непосредственно из квартиры без звонка. Ну вот чисто технически обязательно должен присутствовать вызывной сигнал «с улицы». Поэтому и алгоритм работы устройства немного необычен.
Координатный домофон это по сути аналоговая система, управляющая и управляемая при помощи уровней напряжения.
Кому надо под катом принцип работы
Принцип работы координатного домофона
В целом принцип работы всех координатных домофонов одинаков:
Вызов — высокий уровень напряжения (от 3 до 15V, в моем случае 12V) трубка должна иметь сопротивление около 50 Ом.
Поднятие трубки — увеличение сопротивления абонентского устройства до примерно 400-700 Ом, по этому сигналу домофон перестаёт звонить и устанавливает связь с трубкой. Далее необходимо открыть замок.
Кнопка открывания замка при нажатии сопротивление увеличивается до нескольких КОм или происходит разрыв линии.
Если посмотреть на принцип работы, то сразу напрашивается два способа сделать домофон «автоматическим».
Способ первый — устанавливать сопротивления согласно спецификации, подключив устройство
перед трубкой.
Способ второй — подключиться сразу к
имеющейся трубке.
Соответственно, со своими преимуществами и недостатками.
Первый способ подкупает своей простотой подключения, но у меня он не сработал — видимо сам установленный домофон имеет отклонения от спецификации. Я сделал 2 или 3 тестовых устройства, ни одно не заработало как надо.
Второй способ немного сложнее в подключении, но имеет свои плюсы — при любых неисправностях оставляет в рабочем состоянии штатную трубку и работоспособность домофона не нарушается. И никаких внешних коробочек.То есть домашние, собственно, ничего не заметят.
Я выбрал способ подключения непосредственно к трубке.
Абонентское устройство
Сейчас у меня на входе используется трубка Schneider Electric Blanca, ссылка
www.ozon.ru/context/detail/id/142138540
Это hands free трубка для координатных домофонов.
Сама по себе довольно компактная и удобная. Немного занижена громкость, но пользоваться можно.
Из плюсов именно для реализации подключения — у нее все кнопки и светодиоды имеют общую массу, следовательно, подключаться к ней можно по однопроводной схеме.
Что я использовал.
На заре умнодомостроения мной использовались платки типа D1-mini. Они были удобны в прошивке, но очень неудобны в практическом использовании. Большой размер, излишнее количество выводов, необходимость подключать промежуточные устройства.
Одно время я использовал платы ESP12F на макетке. Отличный вариант, 4 Мб флэша и все разведенные выводы, чувствительная наплатная антенна. Немного доставало все это собирать. Поразмыслив, я сделал универсальную плату с использованием той же ESP12F и возможностью устанавливать на нее требуемые периферийные детали — делитель для ADC, оптореле, i2c итп. Плата была изготовлена в китае по лекалам EasyEDA. Сразу оговорюсь, я допустил пару мелких ошибок — но это не мешает использовать эту плату везде. Сейчас я ей заменил весь самосбор. Разрабатываю новую версию, она будет на сантиметр короче и иметь односторонний SMD монтаж.
Сразу сделал развязку на полевых оптореле G3VM61D1 от omron. Сейчас используются в корпусах SMD, уже купил похожие SSOP почти по той же цене (они в два раза меньше при прочих равных).
Сразу скажу, цена плат приятно порадовала. 50 плат обошлись с доставкой в 17 баксов, то есть примерно 25 рублей за штучку даже по нынешнему курсу. С учетом других деталей, цена выходит примерно 2 бакса, что даже слегка дешевле тех же D1 при несравнимой функциональности.
Плюс еще в том, что плату я делал как универсальную (чтобы сэкономить на вариантах), и все детали распаивать нет необходимости, напаиваем только то, что нужно в данный момент для данного применения. На сенсор паяем i2c датчик, для управляшки реле и так далее.
Итак, конструкция
В батарейный отсек абонентского устройства вставляется собранная как нам надо плата. Можно использовать только три реле (у меня стоит четыре, т.к. это тестовый вариант). Питание подается 15 вольт от стоящего рядом «квартирофона», понижается DC-DC преобразователем до 4.5V и далее другим мелким до 3.3V (заодно экономим на батарейках). Входы и выходы подключаются к соответствующим кнопкам трубки. Визуально переделанное устройство не отличить от оригинального. Проводочки, идущие к квартирофону, потом заберу в мелкий кабель канал.
Подключение к Home Assistant.
На бортовую ESP12F заливаем прошивку ESPHome. Я использовал вот такой небольшой девайс, но можно залить прошивку и любым удобным способом — вариантов для этого модуля в интернете огромное количество.
Сама прошивка:
esphome:
name: domofon
platform: ESP8266
board: esp12e
wifi:
ssid: "Mynet"
password: "password"
manual_ip:
static_ip: 192.168.1.100
gateway: 192.168.1.1
subnet: 255.255.255.0
output:
- platform: gpio
pin: GPIO15
id: open_door
- platform: gpio
pin: GPIO13
id: answer
switch:
- platform: gpio
pin:
number: GPIO2
inverted: True
name: "Unlock enabled"
id: unlock_enabled
icon: "mdi:lock"
binary_sensor:
- platform: gpio
pin:
number: GPIO12
mode: INPUT_PULLUP
inverted: True
name: "Incoming call"
id: incoming_call
on_press:
if:
condition:
switch.is_on: unlock_enabled
# on_press:
then:
- delay: 1s
- output.turn_on: answer
- delay: 2s
- output.turn_off: answer
- delay: 1s
- output.turn_on: open_door
- delay: 3s
- output.turn_off: open_door
- delay: 2s
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
И (кому надо) создаем автоматизацию:
device_id: 4be75de35f634725877df9d66a4c400c
domain: binary_sensor
entity_id: binary_sensor.incoming_call
platform: device
type: turned_on
data:
message: Звонит домофон
service: notify.mobile_app_MyPhone
Где MyPhone - имя подключенного к HA мобильника, id подставится автоматически. Можно сделать автоматизацию при помощи конструктора.
Как это работает:
После инициализации в HA получаем переключатель «Unlock_enabled» и сенсор «incoming_call». Переименовываем если надо и делаем иконки.
При звонке в домофон сенсор отрабатывает звонок и при помощи автоматизации (если она включена) выдает на мобильник PUSH сообщение о звонке. Далее с телефона включаем разрешение открытия двери и через несколько секунд замок открывается.
Задержки я особо не подбирал, но при этих значениях у меня отлично все работает.
Если же нужно зайти самому с улицы, то надо включить разрешение немного заранее, например подходя к подъезду. И сразу после звонка в нужную квартиру дверь откроется автоматически. После этого нужно вручную отключить разблокировку.
Если надо, можно сделать автоматизацию, чтобы автоматически блокировать открытие двери через какое-то время (я не делал).
Думаю, не надо объяснять, что это все великолепно работает через Apple HomeKit.
Итого:
Все получилось, как и задумывал, ключ от дома теперь можно с собой не брать вообще. Можно открыть домофон удаленно из другого города или страны.
Так как используются полностью гальванически развязанные полевые оптореле (в схеме предусмотрен разрыв земли перемычками), то можно подключить схему к какой угодно трубке, просто параллельно светодиоду вызова и кнопкам. Единственное, проводов нужно будет больше.
Кому надо, схема и плата в EasyEDA
Кому и зачем? Ладно если свой дом и нужно впустить гостя/родственника, но в многоквартирнике смысла не вижу. имхо с ключем проще.
зы УКП заинтересовало. спасибо.
Плюс мутить с автоматизациями по условию 'такой-то дома', а если смартфонов в семье несколько то все еще усложняется.
Но вообще-то делалось для себя, чтобы ключи не таскать. Замок на двери тоже умный.
тоже стояла камера, после пары краж ограничили доступ к онлайн-видео для всех жильцов)
либо меняют всю систему в старом доме, либо в новом с 0 всё тянут.
плюсом запись идёт с камеры (и неплохой) в домофоне-всегда ясно, кто во сколько пришёл.
Это обычный домофон, но вместо брелка можно с телефона управлять.
То есть все как обычно, только с дивана. :)
Про «другой город» — просто пример приведу. У нас родственники приходят цветы полить, когда мы в отпуске. Можно ключи не давать. По мне так явный плюс.
danalock.com/products/danalock-v3-smart-lock/
Замок двухоборотный, кстати.
Впрочем, согласен что взломать можно любой замок, но на лопату закрывать не буду, все должно быть разумно.
Личинку наружу не стал выводить — это не безопасно. Хватает, что снаружи RFID приемник торчит.
В cisa нет шестеренок и моторов. Только соленоид. Альтернатива есть — этот соленоид могут дернуть несколько независимых контроллеров.
Пока что про взломы не слышал, но буду благодарен за любые сссылки.
Я свой домофон и звонок тоже в HA завернул, только открытие удаленное не стал делать. У меня можно по паролю заходить.
+ еще картинка с камеры в Slack прилетает))
В остальных случаях — нужно настроить DuckDNS и получить SSL серт от Let's Encrypt, либо любую другую подобную связку, без SSL пуши не работают.
PS. Удаленное управление УД использую через HomeKit.
— Здравствуйте! Вас приветствует система «Умный дом«! Насколько мне понятно, Вы собираетесь взломать квартиру моего хозяина. Не переживайте я его не люблю он всегда со мной плохо обращается. Потому я открою Вам двери сам!
Тут действительно дверь открывается… Вор в шоке.
Голос опять:
— Берите мешки около двери, там все имущество. Хозяин специально его сложил. Собирается переезжать. Берите быстрее!! У меня чип, который все равно через 1 минуту вызовет милицию!!! Быстрее!!
Вор хватает мешки и пулей убегает…
… прошло три часа, хозяин возвращается домой. Голос:
— Здравствуйте, хозяин! Мусор вынесен!
PS. Без всего этого можно спокойно обойтись, но это хобби.
В НА несколько вариантов интеграций камер с использованием разных протоколов.
Есть пара Yi Dome (720р и 1080р) с Yi hack, + активирован датчик движения (камера шлет эвент по MQTT, в Lovelace выглядит как стандартный motion sensor), + активирован RTSP. Но видеопотоки идут с небольшими задержками по времени, тк у камеры слабенький проц, да еще вайфай привносит задержку.
Доделал DVR, тоже хочу прикрутить к НА.
Люди их в муляжи вставляют :)
IRcut убрал (чувствительности хватает), угол обзора почти 180, питание РоЕ, со стороны петлей переходник на гибкий eth шлейф.
Картинка шикарная. Вот думаю как этот бутерброд чисто технически в дверь вмонтировать, коронкой сверлить и ламинировать что ли :)
Я использую si7021 для темп/влажность и BME280 темп/влаж/давление.
Подключаются в один клик — копипаст из мануала на ESPHome :)
Как видится мне, то сама задумка сочлинения ассистента и простого железа имеет смысл.
Да есть проблемы, но сам автор никого же не заставляет это повторять.
А труд достойный!
Допил нужен, Но и возможен.
Есть предложения — давайте.
Нет, то не портите кровь и нервы человеку.
Есть ссылки лучше — ждёмс.
Есть коды двух типов — общий код и индивидуальный код, привязанный к квартире. Обслуживающая компания общий может и не дать код, а за небольшую оплату обязана сделать код для квартиры, т.к. это штатная функция домофона, так же как не могут отказать прописать новый ключ. В свежих версиях прошивок Элтиса есть возможность жильцу самостоятельно менять индивидуальный код, главное, что бы обслуживающей компанией была включена в панели домофона функция индивидуальных кодов.
Говоришь код, тому кому нужно. Перестал быть нужным — меняешь. Ну и сам ходишь по коду.
Подъезд на коде — бомжатник и место тусовок быдлодетей и прочих наркоманов.
Только некопируемые (копируемые трудно и дорого) ключи, и только по количеству проживающих (оплачивающих платежи которые начисляются «по головам»).
Да и не во всех проектах домов есть место где его посадить.
Чтобы рывком не открывали — нужно ручку на двери делать маленькую и «обтекаемую», чтобы на рывок не ухватить.
Скотч у нас клеили, я срывал, теперь всегда обращаю внимание на блеск магнита.
Пробовал дверь изнутри плечом ударить — не открывается, м.б. магнит на достаточное усилие отрыва, они ведь разные бывают.
Не факт что УКшка даст разместить у двери коробочку и точно не даст разместить плату в панели домофона.
А так фишка для автоматизаций по условиям 'хозяин дома' очень удобная, телефоны и мибанды трекаются.
Еще бы как-то ловить события с браслета 'хозяин уснул' и 'хозяин проснулся'.
“В системе сейчас около десятка устройств»
а почему с domoticz не расширялось? у меня там больше сотни устройств(из них около 40 физических)
Плюс — ну ОЧЕНЬ понравилась прошивка ESPHome, это просто офигенная штука.
1. С телефона посылаем домофону команду.
2. Звоним себе с вызывной панели.
3. Дверь открывается.
Так? Если да, то мудрёно как-то, хотя координатка по другому не сможет.
У меня дома индивидуальные коды. Панель цифрал. Код вида «вызов-номер квартиры-вызов-четыре цифры» итого девять кнопок жать. Для меня это показалось сложным и сварганил платку по схеме. Подсоединил на несуществующую квартиру и теперь при звонке в эту квартиру после одного гудка автоматически эмитируется поднятие трубки и через 1-2 секунды открывается дверь. Через 1-2 секунды трубка кладется.
Вот в такой последовательности наша схемка и должна нагружать линию: 50 Ом — 150 Ом — 50кОм — 50 Ом.
В момент включения конденсаторы разряжены, на выходе всех логических элементов уровень «1», транзисторы открыты, R8 и R9 включены в линию. По мере заряда конденсатора С2 растёт напряжение на входах логических элементов. Первым переключится в «0» самый верхний по схеме D1.1 и отключит резистор R8. Далее D1.2 отключит R9. Последним сработает D1.3 и принудительно вернет D1.1 в состояние логической «1».
Просто недавно пришлось слегка погрузиться в эту тему, пока подбирал видеодомофон умеющий с laskomex-ом работать
Могут отличаться напряжения и тайминги
А плата получается для любого координатного домофона подойдёт?