"Умный домофон" с подключением к Home Assistant

"Умный домофон" с подключением к Home Assistant

Всем доброго здоровья!

Уже лет 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 при несравнимой функциональности.

"Умный домофон" с подключением к Home Assistant

"Умный домофон" с подключением к Home Assistant

Плюс еще в том, что плату я делал как универсальную (чтобы сэкономить на вариантах), и все детали распаивать нет необходимости, напаиваем только то, что нужно в данный момент для данного применения. На сенсор паяем i2c датчик, для управляшки реле и так далее.

Итак, конструкция

"Умный домофон" с подключением к Home Assistant

В батарейный отсек абонентского устройства вставляется собранная как нам надо плата. Можно использовать только три реле (у меня стоит четыре, т.к. это тестовый вариант). Питание подается 15 вольт от стоящего рядом «квартирофона», понижается DC-DC преобразователем до 4.5V и далее другим мелким до 3.3V (заодно экономим на батарейках). Входы и выходы подключаются к соответствующим кнопкам трубки. Визуально переделанное устройство не отличить от оригинального. Проводочки, идущие к квартирофону, потом заберу в мелкий кабель канал.

Подключение к Home Assistant.

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

"Умный домофон" с подключением к Home Assistant

Сама прошивка:



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.

"Умный домофон" с подключением к Home Assistant

Итого:

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

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

Кому надо, схема и плата в EasyEDA
ссылка
Оцените статью