Doorbell в Homekit
На WWDC 2016 Apple представила приложения Дом в iOS 10, вместе с домофоном. Но до сих пор нет полноценного сертифицированного аксессуара. August пообещал поддержку HomeKit в 2016 году. Ring тоже анонсировал свой домофон для HomeKit, но и его до сих пор нет. Недавно Apple исключила из своего списка HomeKit-устройств раздел с домофонами.
Значит мы сделаем свой домофон =)
Как работает домофон в HomeKit?
Человек, подходя к двери, нажимает на кнопку дверного звонка с поддержкой HomeKit и домофон отправляет уведомления на iOS устройство владельца с информацией о том, что "Дверной звонок (комната) прозвенел". Это уведомление может включать в себя прямую видео трансляцию происходящего, поэтому вы всегда будете знать гостя в лицо. Если в приложении Дом, в комнате с дверным звонком ещё расположить замок или свет, уведомление получит расширенные функции управления этими устройствами.
Плагин для малины (raspberry pi):Если у вас есть камера со звуком (без звука тоже подойдёт) и кнопка от Mi/Aqara (со шлюзом, конечно же), можно сделать обычный звонок, добавив на малинку плагин homebridge-video-doorbell-button. Как установить:Подключитесь к малинке через Putty, если у вас Windows, или через терминал в Mac OS.Установите плагин командой:
sudo npm install -g homebridge-video-doorbell-button --unsafe-perm
Настройка config.json
- buttonSid - укажите sid кнопки из MiHome (выглядит примерно так: 158d00015cc8ac);
- source - укажите адрес камеры (пример, где xxx.xxx.xxx.xxx IP-адрес -rtsp_transport tcp -y -i rtsp://xxx.xxx.xxx.xxx);
- если камера со звуком, тогда укажите audio значения true;
- gpio - укажите пин gpio разъем у raspberry pi (чтобы звонить, нужно соединение с GND);
- motion - добавляет два аксессуара - кнопка и датчик движения;
- lock - добавляет как фейковый замок. Если указать gpio в lock можно подключит реле чтобы открыть электромагнитный замок;
- switch - добавляет кнопка чтобы звонить домофон из автоматизация;
Нельзя добавлять одновременно motion и switch!
{
"platform": "Video-DoorbellV2",
"camera": {
"name": "Домофон",
"videoConfig": {
"source": "-rtsp_transport tcp -i rtsp://192.168.1.16/unicast",
"stillImageSource": "-i rtsp://192.168.1.16/unicast -vframes 1 -r 1",
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxBitrate": 1600,
"maxFPS": 20,
"audio": true,
"vcodec": "h264_omx"
}
},
"event": {
"buttonSid": "158d00029088e3",
"gpio": 7,
"motion": false,
"switch": {
"name": "Ding Dong"
}
},
"lock": {
"name": "Lock mechanism",
"gpio": 5
}
}
Сохраняем и перезапускаем homerbidge.
Демонстрация работы
Всё отлично, но нужно больше вводных статей, боюсь многие остановятся тут "Подключитесь к малинке через Putty если у вас Windows или через терминал в Mac OS"
Молодец!
отличное решение, уже 3 дня пользуюсь=)))))
buttonSid - это прекрасно, конечно. А откуда оно возьмет все остальное? SID хаба, password. Или через что мы с кнопкой-то взаимодействуем?
Чтобы получить статус кнопка не надо gateway sid и password.
А без камеры будет работать?
Да.
А можно попросить скрипт модифицировать под Debian? Хочу попробовать его вкорячить на ioBroker.
И еще одна рекомендация. Неплохо было бы плагин переименовать. Иначе его трудно найти среди прочих плагинов для Homebridge.
Вот пример: https://www.npmjs.com/search?q=homebridge-plugin">https://www.npmjs.com/search?q...
отличная статья! Спасибо. Кстати если плагин ставить через Веб-морду, она ещё добавляет флаг --unsafe perm. Без которого в Глобал не удаётся ничего поставить
Супер статья! Большое спасибо!
А кнопку открыть дверной замок (Даналок) можно добавить?
Если Даналок вместо с Домофоном в одной комнате то он появляется
Добрый день! А есть более бюджетные замки?
если кнопка не mihome - то плагин уже нельзя поюзать?
дай предложения добавлю 😉
было бы неплохо с пинов маллины сделать кнопку звонка - так правильно. ровно как и сам замок.
Продублировал на ГитХабе. Было бы неплохо сделать кнопку из пинов GPIO. И на них же замок так как не могу понять - аксессуар замок в комнате с камерой из Вашего плагина, но кнопку открытия не видать :(
пофиксил)
привет, все здорово, домофон появился. То, что нужно! Не пойму пока, почему нет уведомлений от звонка!? В айфоне все включено. И может можно не весь код использовать, если звонок без камеры? Благодарю за мысли по вопросу ;)
Нужный оказался для меня плагин, но пришлось удалить :( Возникают конфликты по портам и отрубается управление Aqara Hub :( Надеюсь автор сможет это исправить и все будет отлично! )
я поправил, попробуйте
Добрый день. Можно ли использовать плагин если кнопку xiaomi использовать через стик от Олега?
нет
А можно сюда прикрутить так же как виртуальный датчик движения на кнопку, виртуальный замок на какое то устройство например на ту же розетку, тогда к розетке можно было прикрутить релюху которая бы нажимала кнопку на домофоне. Это было бы дешевле замка если нужен вариант с домофоном. Такое возможно? Или с виртуальным замком там заморочка?
Я в https://t.me/payziyev">телеграме и там обсудим))
А без малины сие можно организовать?
Те смарт-кнопку и камеру с поддержкой хомкит завязать именно домофоном в систему, а не как камеру и кнопку?
Так-то можно за счет сценария сделать трансляцию с камеры по событию с кнопки, параллельно активировать звуковой сигнал для гостя, чтобы он понимал, что звонок работает.
Добрый день. Может кто помочь с вопросом: как узнать Sid кнопки через приложение MiHome, а хорошо бы инструкцию. Я все пролазил, не найду где он есть. Кнопка подключена к шлюзу Air Conditioning Controller, который служит в роли звонка (другого нету)
Добрый день.
Эту камеру можно будет подключить?
сервер не запускается с этим плагином. Стоит образ от Эдварда на 12 node
Покажите лог ошибки
В конфиге нет поля объекта "event"
https://sprut.ai/static/media/cache/00/00/43/5/2580010/49437/1000x_image.png?1579182954" alt="1000x_image.png?1579182954" />Все поправил, спасибо, все срабатывает от физического нажатия, а если нет замка - в конфете можно подправить и убрать значения gpio?
Добрый вечер! Извините за глупый вопрос, у меня кнопка aqara маленькая, возможно ли ее подключить к этому плагину? и как найти sid устройства?
Нашел sid кнопки, но как я понимаю ее надо как-то прокинуть сначала в HB? Или как он будет получать запрос от нее? у меня она подключена через хаб aqara (homekit). Подскажите пожалуйста