Есть ли скрытые возможности использования Dahua VTO3211D?

kilka

Member
Получилось подружить Dahua VTO3211D с Астериском и смартфонами, получилось зашить имеющиеся Mifare-брелочки без использования внутренней панели, получилось подружить камеру домофона с Опенхабом, но не все хотелки реализованы.
Что за выходы на Аларм, что они делают, как ими управлять? Можно ли на них навесить управление воротами?
Можно ли прописать реакцию на длительное нажатие кнопки выхода?
Можно ли у панели с двумя кнопками звонить с них на разные номера (чтобы по первой делать обычный звонок, по второй - запускать распознавание лица, скажем)?
У домофона есть моушен контроль? Что он делает, как его завернуть на свой сервер?
Какова логика работы домофона с герконом, можно ли статус геркона, опять же, получить на своём сервере?
Можно ли получить событие "дверь открыта с брелка", "дверь открыта с кнопки выхода"?
 

kilka

Member
С контролем движения разобрался. Для Опенхаба есть биндинг ИПкамер, который поддерживает камеры в том числе Dahua, оный биндинг работает через Dahua API и ONVIF, что-то из этого таки есть в VTO3211, так что можно включать и выключать контроль движения, а также получать и обрабатывать наличие движения перед камерой домофона.
Если кому интересно, то есть возможность выдавать домофону http-запрос на открытие замка:
curl --user admin:admin --digest "http://адрес_домофона/cgi-bin/accessControl.cgi?action=openDoor&channel=1&UserID=101&Type=Remote"
 

kilka

Member
Позамыкал на землю ALARM_IN, FEEDBACK, UNLOCK. В первом случае молча срабатывает реле открытия замка, а на Опенхаб приходит событие ALARM_INPUT2. Во втором - полное молчание и домофона, и Опенхаба. В третьем - произносится "дверь открыта" и срабатывает реле открытия замка, на Опенхабе ничего не происходит. Из самого Опенхаба можно управлять ALARM_OUTPUT1 - при переключении привязанного итема вкл-выкл на домофоне переключается ключик и между ALM_COM и ALM_NO появляется сопротивление 50 Ом.
Непонятна логика использования домофоном этих входов-выходов, для чего нужны и что можно навесить. В официальной документации Дахуа - ноль, хоть что-то можно почерпнуть с левых сайтов, но там такие ошибки, что сомневаешься во всём написанном, к примеру потребляемая мощность домофона указана 57 Ватт.
Прошу помощи спецов! Как всё-таки получить статус геркона калитки на сервере и какие допустимые параметры тока-напряжения на ALM_NO, можно ли на них дать 12 вольт, чтобы запитать миниатюрную промежуточную релюшку и управлять с неё входом степ-бай-степ ворот? Реализован ли в домофоне Dahua API, или там ONVIF, где взять документацию? Как, черти его раздери, получить длительное нажатие кнопки выхода и информацию на сервер об использовании брелков доступа?
 

kilka

Member
Нашёл Dahua API, гуглится по запросу DAHUA_IPC_HTTP_API_V1.00x.pdf.
Много интересного, но пока ничего не понятно.
Вот ответ на запрос http://адрес_домофона/cgi-bin/configManager.cgi?action=getConfig&name=MotionDetect, слегка порезанный для компактности:
table.MotionDetect[0].Enable=true
table.MotionDetect[0].EventHandler.AlarmOutChannels[0]=0
table.MotionDetect[0].EventHandler.AlarmOutEnable=false
table.MotionDetect[0].EventHandler.AlarmOutLatch=10
table.MotionDetect[0].EventHandler.BeepEnable=false
table.MotionDetect[0].EventHandler.Dejitter=1
table.MotionDetect[0].EventHandler.Delay=10
table.MotionDetect[0].EventHandler.LogEnable=true
table.MotionDetect[0].EventHandler.MailEnable=false
table.MotionDetect[0].EventHandler.MessageEnable=false
table.MotionDetect[0].EventHandler.MonitorTour[0].Enable=false
table.MotionDetect[0].EventHandler.MonitorTour[1].Enable=false
table.MotionDetect[0].EventHandler.PtzLink[0][0]=None
table.MotionDetect[0].EventHandler.PtzLink[0][1]=0
table.MotionDetect[0].EventHandler.PtzLinkEnable=false
table.MotionDetect[0].EventHandler.RecordChannels[0]=0
table.MotionDetect[0].EventHandler.RecordEnable=true
table.MotionDetect[0].EventHandler.RecordLatch=10
table.MotionDetect[0].EventHandler.SnapshotChannels[0]=0
table.MotionDetect[0].EventHandler.SnapshotEnable=false
table.MotionDetect[0].EventHandler.SnapshotTimes=5
table.MotionDetect[0].EventHandler.TimeSection[0][0]=1 00:00:00-24:00:00
table.MotionDetect[0].EventHandler.TipEnable=false
table.MotionDetect[0].EventHandler.VoiceEnable=false
table.MotionDetect[0].Level=3
table.MotionDetect[0].Region[0]=4194303

Включена детекция движения, чувствительность 3, дрожание 1 секунда - это из того, что понял.

Вроде бы, у домофона есть блайнд детект - реакция на закрашивание/завешивание камеры.
 

kilka

Member
MJPEG-поток с домофона: http://адрес_домофона/cgi-bin/mjpg/video.cgi
Фото с домофона: http://адрес_домофона/cgi-bin/snapshot.cgi
 
Останнє редагування:

kilka

Member
Домофон шлёт события по прикладыванию карточки:
Code=DoorCard;action=Pulse;index=0;data={
"Check" : [ 0, 0 ],
"Number" : "НОМЕРКАРТЫ",
"Type" : 0
}

Code=AccessControl;action=Pulse;index=0;data={
"CardNo" : "НОМЕРКАРТЫ",
"CardType" : null,
"ErrorCode" : 0,
"Method" : 1,
"Name" : "OpenDoor",
"Password" : "",
"ReaderID" : "1",
"RecNo" : 25,
"SnapURL" : "",
"Status" : 1,
"Type" : "Entry",
"UserID" : "9901"
}
События регистрируются биндингом, но не обрабатываются, так как в него просто не запрограммированы.
 

kilka

Member
Событие по замыканию контакта FEEDBACK:

Code=DoorStatus;action=Pulse;index=0;data={
"DoorIndex" : 0,
"Status" : "Close"
}

При размыкании контакта, соответственно, статус открыто.
Должно быть очень просто прокинуть обработку в Опенхаб, безо всяких преобразований.
 

kilka

Member
Сообщения биндинга Опенхаба на нажатие кнопки открытия двери (биндинг не знает, что за событие, так что не реагирует):

Code=AlarmLocal;action=Start;index=3 - нажата кнопка

Code=AccessControl;action=Pulse;index=0;data={ - произошло открывание двери
"CardNo" : "",
"CardType" : null,
"ErrorCode" : 0,
"Method" : 5,
"Name" : "OpenDoor",
"Password" : "",
"ReaderID" : "1",
"RecNo" : 27,
"SnapURL" : "",
"Status" : 1,
"Type" : "Entry",
"UserID" : ""
}


Code=AlarmLocal;action=Stop;index=3 - кнопка отпущена.
 

kilka

Member
Замыкание на землю ALM_IN:
Code=ProfileAlarmTransmit;action=Start;index=8001;data={ - этот вход рассматривается как вход от пожарной сигнализации
"AlarmType" : "FireAlarm",
"DevSrcType" : "Digit",
"SenseMethod" : "FireAlarm",
"UTC" : 16588:

Code=AlarmLocal;action=Start;index=8 - типа как нажата кнопка открытия дверей, хотя она и не нажата

Code=DoorStatus;action=Pulse;index=0;data={ - раз нажата кнопка открытия дверей, то открываем двери
"Relay" : true,
"Status" : "Open",
"UTC" : 1658857358
}
 

mikhan

Member
интересно, как раз сейчас смотрю более полную интеграцию панели с home assistant, всегда интересовал проброс события открытия двери с номером или хотя бы юзера с карточкой наружу
 

kilka

Member
Какой табак, посмотрите на тему, мы явно курим крэк, или чего посильнее =)
Реакция VTO на открытый контакт закрытия двери при закрытом замке:

Code=ProfileAlarmTransmit;action=Stop;index=8001;data={
"AlarmType" : "DoorMagnetism",
"DevSrcType" : "Digit",
"SenseMethod" : "DoorMagnetism",
"UTC" : 1658937760,
"UserID" : "8001"
}

Мол нарушена работа магнита.
 

kilka

Member
Есть ли возможность настроить зоны детекции движения для VTO? Перепробовал гору приложений - все на VTO не срабатывают. Зато каким-то образом получил возможность добавления карт/пользователей в веб-интерфейсе VTO, а также добавить сип-номера и повесить второй сип-номер на вторую кнопку, что даст возможность по нажатию этой кнопки звонить на специально созданного юзера Астериска, а из Астериска дёргать систему распознавания лиц.
Но с зонами детекции движения - засада. Саму чувствительность - table.MotionDetect[0].Level - закинул уже в биндинг Опенхаба и сделал пуллреквест на добавление для всех пользователей. Но есть беда - дерево в зоне видимости вызывной панели, при ветре реагирует на него и Опенхаб пишет бесполезные записи. Как отредактировать руками запись вида table.MotionDetect[0].Region[0]=4194303 - сломал голову. 18 зон, в каждой зоне 22 блока. Нарисовал сетку в фотожопе поверх фотографии с зонами-блоками, расставил нули-единицы, сконвертировал полученное из бинарного в десятичный формат и вбил гет-запросами вида http://адрес-домофона/cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Region[7]=2097279, но не уверен, что правильно, да и дико неудобно.
Интересная возможность - можно отключить кнопку выхода командой http://адрес-сервера/cgi-bin/configManager.cgi?action=setConfig&AccessControlGeneral.ButtonExitEnable=false. Очень полезно тем, у кого можно снаружи долезть до этой кнопки - на ночь её можно отключать командой с сервера.
 

mikhan

Member
Получилось подружить Dahua VTO3211D с Астериском и смартфонами
Тоже подружил свой vto2111 с freepbx, но почему-то видеовызов на панель нормально идет, все как надо с early media, а в приложении (пробовал на mizudroid) на смартфоне видео нет. Проблема в приложении?
 

kilka

Member
На 4PDA есть Zoiper, а в настройках есть выбор видеокодеков. Скорее всего, у вас не включён h264.
 
Зверху