Вызывная панель Dahua DH-VTO2111D-P-S2

Схема подключения
-
Питание по PoE или от блока питания 12VDC.
Работает через приложение DMSS (android/iOS).
Можно подключить два электрозамка: первый через встроенное НР/НЗ реле, второй через RS-485.
Открывает замки бесконтактно по 13,56 МГц ISO/IEC 14443-A Mifare и NFC (NFC-метки, добавляются в Personnel Management).
Добавить смартфон с NFC для бесконтактного доступа можно, но открывать замки он не будет, потому что в смартфонах случайный NFC UID при каждом считывании, а нужен постоянный. Если сделать NFC UID смартфона постоянным (например через root), то открывать замок смартфоном можно.
ИК-подсветка включается только если в темноте нажать кнопку вызова.
SD-карты не поддерживает, своей памяти нет.
Встроенной детекции движения нет.
Голосовая связь устанавливается по SIP.
Видеокамера работает постоянно, отдаёт по RTSP два видеопотока H264 со звуком: Main Stream и Sub Stream. Разрешения видео, частоты кадров и битрейты настраиваются в Video & Audio.
Main Stream:
720P@1-30FPS, 1-4Mbps (1280х720)
WVGA@1-30FPS, 0,5-2Mbps (800x480)
D1@1-30FPS, 0,5-2Mbps (704x480)
CIF@1-30FPS, 256-768Kbps (352х240)
Sub Stream:
1080P@1-30FPS, 1-6Mbps (1920х1080)
WVGA@1-30FPS, 0,25-1,5Mbps (800x480)
D1@1-30FPS, 0,25-1,25Mbps (704x480)
QVGA@1-30FPS, 128-512Kbps (320x240)
CIF@1-30FPS, 128-512Kbps (352х240)
Аудиопоток:
QT PCM 16000Hz mono 256kbps (pcm_s16be, 16000 Hz, mono, s16, 256 kb/s)
Ссылки на потоки
RTSP main stream: rtsp://admin:password@192.168.1.1:554/cam/realmonitor?channel=1&subtype=0
RTSP sub stream: rtsp://admin:password@192.168.1.1:554/cam/realmonitor?channel=1&subtype=1
JPG snapshot: http://admin:password@192.168.1.1:80/cgi-bin/snapshot.cgi
пароль и IP подставить свои.
Внешние подключения
Один электромагнитный или электромеханичекий замок через встроенное 1НР/1НЗ реле [NO - COM for electromechanical lock or NC - COM for electromagnetic lock].
Один замок RS-485 [485_A, 485_B, GND].
NO or NC contact door position sensor - [FEEDBACK - GND] (NO or NC contact type needs to be selected in Local settings)
NO contact push button (press to exit) - [UNLOCK - GND]
Подключение по SIP напрямую из SIP-клиента
Можно подключиться напрямую по SIP из любого SIP-клиента, как это делают панели VTH:
sip:9901#0@192.168.1.1:5060
Password: 123456
Вместо 9901#0 может быть любой Room No. из Household Setting/VTH Management
Чтобы позвонить на домофон нужно набрать номер 8001 (VTO No.). Домофон сразу сам поднимает трубку и устанавливается двусторонняя голосовая связь.
Можно открывать замки с телефона DTMF командами:
Команда для открытия первого (релейного) замка через DTMF:
Local settings/Access Cntrol Settings/Local/First Unlock Command
Например First Unlock Command: 123
Ответить на звонок с домофона или позвонить на домофон и набрать 123. Первый (релейный) замок разблокируется.
Команда для открытия второго (RS-485) замка через DTMF:
Local settings/Access Control Settings/RS-485/Second Unlock Command
Например Second Unlock Command: 321
Ответить на звонок с домофона или позвонить на домофон и набрать 321. Второй (RS-485) замок разблокируется.
Подключение к IP-АТС Asterisk
Можно подключить домофон к IP-АТС, например к Asterisk. Тогда по нажатию кнопки на домофоне будут звонить все телефоны подключенные к Asterisk и которые указаны в диалплане [from-VTO] (extensions.conf), можно будет ответить и поговорить с тем, кто находится у домофона, а ещё можно будет с любого клиента Asterisk позвонить на домофон и послушать, что там происходит.
Для этого нужно настроить на Asterisk транк до домофона (pjsip.conf), Asterisk будет регистрироваться на домофоне, после чего можно настроить маршрутизацию звонков с домофона и на домофон (extensions.conf).
pjsip.conf
[9901]
type = auth
auth_type = userpass
username = 9901#2
password = 123456
[9901]
type = aor
contact = sip:192.168.1.1:5060 ;VTO IP
[9901]
type = registration
transport = transport-udp
outbound_auth = 9901
server_uri = sip:192.168.1.1:5060 ;VTO IP
client_uri = sip:9901@192.168.1.3:5060 ;Asterisk IP
retry_interval = 60
max_retries = 10080
forbidden_retry_interval = 60
fatal_retry_interval = 60
expiration = 60
auth_rejection_permanent = no
contact_user = 9901
[9901]
type = endpoint
context = from_VTO
disallow = all
allow = ulaw,slin16,h264
aors = 9901
dtmf_mode = info
callerid = "VTO" <8001>
[9901]
type = identify
endpoint = 9901
match = 192.168.1.1 ;VTO IP
extensions.conf
[from-VTO]
exten => _X.,1,Dial(PJSIP/2001,,T) ;2001 is target asterisk client
exten => _X.,n,Hangup()
[to-VTO]
exten => 8001,1,Dial(PJSIP/{EXTEN}@9901)
Поддерживаемые аудио кодеки:
PCMU (G.711 µ-law): Идентификатор 0, частота дискретизации 8000 Гц
PCM: Идентификатор 97, частота дискретизации 16000 Гц
DTMF (телефонные события): Идентификатор 101, частота дискретизации 8000 Гц, формат параметров 0-15
Поддерживаемый видео кодек:
H.264: Идентификатор 96, частота дискретизации 90000 Гц, 30 кадров в секунду
Подключение к MQTT
С MQTT работает через DahuaVTO2MQTT, запущенный на сервере (см. описания поддерживаемых MQTT сообщений). Для работы MQTT нужен брокер, например Mosquitto.
Например, через DahuaVTO2MQTT можно открывать замки по MQTT:
TOPIC: [MQTT_BROKER_TOPIC_PREFIX]/Command/Open
DahuaVTO/Command/Open
Payload:
{"Door": 1} - unlocks first (relay) lock;
{"Door": 2} - unlocks second (RS-485) lock.
Empty payload unlocks first (relay) lock.
Подключение к Homeassistant
К Homeassistant можно подключить через интеграцию ONVIF и через интеграцию MQTT.
Для подключения через интеграцию MQTT должны быть установлены и настроены: DahuaVTO2MQTT, MQTT-брокер, MQTT integration.
/homeassistant/configuration.yaml
mqtt:
binary_sensor:
# Датчик движения CameraUI: движение обнаружено/не обнаружено
- name: "CameraUI Motion sensor mqtt"
state_topic: "camera.ui/motion"
value_template: "{{ value_json.state }}"
json_attributes_topic: "camera.ui/motion"
json_attributes_template: "{{ value_json | tojson }}"
device_class: motion
payload_on: true
payload_off: false
# Положение двери открыта/закрыта
- name: "Door-1 Position Sensor"
state_topic: "DahuaVTO/DoorStatus/Event"
value_template: "{{ value_json['Data']['Status'] }}"
json_attributes_topic: "DahuaVTO/DoorStatus/Event"
json_attributes_template: "{{ value_json['Data'] }}"
device_class: door
payload_on: "Open"
payload_off: "Close"
# Положение замка заблокирован/разблокирован
- name: "Door-1 Lock Position"
state_topic: "DahuaVTO/MagneticLock/Status"
value_template: "{{ value_json.isLocked }}"
json_attributes_topic: "DahuaVTO/DoorStatus/Event"
json_attributes_template: "{{ value_json }}"
device_class: lock
payload_on: false
payload_off: true
button:
# Кнопка разблокировки замка-1
name: "Door-1 unlock"
command_topic: "DahuaVTO/Command/Open"
payload_press: "{\"Door\": 1}"
Подключить всё из Homeassistant к Apple Home можно через интеграцию HomeKit Bridge (без HomePod или AppleTV будет работать только в локальной сети).
Подключить всё из Homeassistant к умному дому Яндекса можно через интеграцию Yandex Smart Home (будет работать с Яндекс.Станциями).
Подключение к Homebridge через плагин Camera.ui
Camera UI plugin, JSON config:
{
"name": "CameraUI",
"port": 8081,
"atHomeSwitch": false,
"logLevel": "info",
"mqtt": {
"active": true,
"tls": false,
"host": "192.168.1.2",
"port": 1883,
"username": "mqttbrokeruser",
"password": "mqttbrokerpassword"
},
"http": {
"active": false,
"port": 7272,
"localhttp": false
},
"smtp": {
"active": false,
"port": 2727,
"space_replace": "+"
},
"ftp": {
"active": false,
"useFile": false,
"port": 5050
},
"ssl": {
"active": false
},
"options": {
"videoProcessor": "/usr/local/bin/ffmpeg"
},
"cameras": [
{
"name": "dahua",
"manufacturer": "Dahua",
"model": "DHI-VTO2111D-P-S2",
"excludeSwitch": true,
"privacySwitch": true,
"motion": true,
"doorbell": true,
"switches": false,
"useInterfaceTimer": false,
"motionTimeout": 170,
"unbridge": true,
"hsv": false,
"prebuffering": true,
"prebufferLength": 4,
"hksvConfig": {
"audio": false
},
"videoConfig": {
"source": "-i rtsp://admin:password@192.168.1.1:554/cam/realmonitor?channel=1&subtype=0",
"subSource": "-i rtsp://admin:password@192.168.1.1:554/cam/realmonitor?channel=1&subtype=1",
"stillImageSource": "-i http://admin:password@192.168.1.1:80/cgi-bin/snapshot.cgi",
"readRate": false,
"maxStreams": 2,
"maxFPS": 0,
"vcodec": "copy",
"acodec": "libfdk_aac",
"audio": true,
"debug": true
},
"mqtt": {
"doorbellTopic": "DahuaVTO/CallNoAnswered/Event",
"doorbellMessage": "{ \"Code\": \"CallNoAnswered\" }"
},
"smtp": {
"email": "dahua"
},
"videoanalysis": {
"active": true
}
}
],
"platform": "CameraUI"
}
Install ffmpeg compiled with libfdk_aac on homebridge running machine (/usr/local/bin/ffmpeg):
https://www.npmjs.com/package/ffmpeg-for-homebridge
(x64, arm64 Linux:
sudo curl -Lf# https://github.com/homebridge/ffmpeg-for-homebridge/releases/late ... ne-$(uname -m).tar.gz | sudo tar xzf - -C / --no-same-owner
)
That allows you to listen to audio from the cameras in Apple HomeKit.
Подключение к Homebridge через плагин Mqttthing
Должны быть установлены и настроены: DahuaVTO2MQTT, MQTT-брокер, Homebridge, Mqttthing plugin.
Homebridge Mqttthing plugin JSON config:
door-position-sensor:
{
"type": "contactSensor",
"name": "door-position-sensor",
"url": "mqtt://192.168.1.1:1883",
"username": "mqttbrokeruser",
"password": "mqttbrokerpassord",
"topics": {
"getContactSensorState": "DahuaVTO/DoorStatus/Event$.Data.Status"
},
"onValue": "Open",
"offValue": "Close",
"accessory": "mqttthing"
}
door-lock-1:
{
"type": "lockMechanism",
"name": "door-lock-1",
"url": "mqtt://192.168.1.1:1883",
"username": "mqttbrokeruser",
"password": "mqttbrokerpassword",
"topics": {
"getLockCurrentState": "DahuaVTO/MagneticLock/Status$.isLocked",
"getLockTargetState": "DahuaVTO/MagneticLock/Status$.isLocked",
"setLockTargetState": "DahuaVTO/Command/Open"
},
"lockValues": [
"false",
"true",
"JAMMED",
"UNKNOWN"
],
"accessory": "mqttthing"
}
# will see lock positions
# after rbooting homebridge need to unlock once by command to see current lock position
# https://github.com/arachnetech/homebridge-mqttthing/blob/master/d ... -mechanism