1350 lines
42 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

An _**intercom**_ is the device installed near the front door to protect residents from strangers. People outside can call people inside the building, and the latter decide to open the door or not. Each intercom provides its own API. Now we work only with intercoms manufactured by Beward. Makaw is responsible for direct communication with the intercom.
> You can access the intercom logs with `http://<INTERCOM_IP_ADDRESS>/log0.asp`
## Docs
**Request the parameters:** 
`/cgi-bin/intercom_cgi?action=get`
```text
HandsetUpLevel=%d\n
DoorOpenLevel=%d\n
CMSOffset=%d\n
DoorOpenTime=%d\n
CallTimeout=%d\n
TalkTimeout=%d\n
ConciergeApartment=%d\n
AlertNoUSBDisk={on|off}\n
CmdTimeout=%d\n
SamplingTime=%d\n
VoltageDelta=%d\n
DoorOpenMode={on|off}\n
DoorCode=%d\n
DoorCodeActive={on|off}\n
AutoCollectKeys={on|off}\n
```
**Kind of relay commutation:**
```text
RelayType=1 - NC ,
RelayType=0 - NO ;
DoorOpenSipFail={on|off}\n Keep the doors open while the sip server is unavailable
```
**Set parameters:** 
`/cgi-bin/intercom_cgi?action=set¶m1=value1¶m2=value2...`
**Line Level Query:** 
`/cgi-bin/intercom_cgi?action=linelevel&Apartment=100`
> Apartment - an apartment number
**Request for receiving apartment parameters:** `/cgi-bin/apartment_cgi?action=get&Number=100`
```text
Number=%d\n
DoorCode=%d\n
DoorCodeActive={on|off}\n - The door opening code is active
RegCode=%d\n - RFID Registration Code
RegCodeActive={on|off}\n RFID registration code is active
BlockCMS={on|off}\n Block call on the CMS
PhonesActive={on|off}\n Calling numbers are active
Phone1=%s\n Number to call number №1
Phone2=%s\n Number to call number №2
Phone3=%s\n Number to call number №3
Phone4=%s\n Number to call number №4
Phone5=%s\n Number to call number №5
```
**Request for setting apartment parameters:** 
`/cgi-bin/apartment_cgi?action=set¶m1=value1¶m2=value2...`
**Request for door opening code regeneration:** 
`/cgi-bin/apartment_cgi?action=set&DoorCode=generate`
**RFID Registration Code Regeneration Request:** 
`/cgi-bin/apartment_cgi?action=set&RegCode=generate`
**Request cleaning apartments:** 
`/cgi-bin/apartment_cgi?action=clear&FirstNumber=100[&LastNumber=100]`
> FirstNumber - the number of the first apartment for cleaning LastNumber - the last apartment number for cleaning, you can not specify if one apartment is being cleaned.
**Request for receiving a list of RFID keys:** 
`/cgi-bin/rfid_cgi?action=list[&IndexFrom=0][&IndexTo=100][&Apartment=100]`
> IndexFrom - the initial key index IndexTo - final key index Apartment - get a list of keys for a specific apartment
**Request to add RFID key:** 
`/cgi-bin/rfid_cgi?action=add&Key=412FFFEBA2F3[&Index=2][&Apartment=99]`
> Key - RFID key Index - key index Apartment - apartment number
**RFID key removal request:** 
`/cgi-bin/rfid_cgi?action=delete&Key=412FFFEBA2F3[&Index=2][&Apartment=99]`
> Key - delete RFID key Index - delete key by index Apartment - remove all keys for apartment number
**Request binding / decoupling RFID key to the apartment:** 
`/cgi-bin/rfid_cgi?action=update&Key=412FFFEBA2F3[&Apartment=122]`
> if you do not set Apartment, then unlinked
**Open the main door:** 
`/cgi-bin/intercom_cgi?action=maindoor`
**Open an additional door:** 
`/cgi-bin/intercom_cgi?action=altdoor`
**Request getting display parameters:** 
`/cgi-bin/display_cgi?action=getTickerEnable={on|off}\n On/off running line`
```text
TickerText=%s\n Ticker Text
TickerTimeout=%d\n Ticker timeout
LineEnable1={on|off}\n
LineText1=%s\n
LineEnable2={on|off}\n
LineText2=%s\n
LineEnable3={on|off}\n
LineText3=%s\n
LineEnable4={on|off}\n
LineText4=%s\n
LineEnable5={on|off}\n
LineText5=%s\n
LinesTimeout=%d\n Timeout for changing lines
```
**Request to set display parameters:** 
`/cgi-bin/display_cgi?action=set¶m1=value1¶m2=value2...`
**Request getting the settings of the RFID key scanning mode:** 
`/cgi-bin/rfid_cgi?action=get`
```text
RegCode=%d\n Code to run the scan mode of RFID keys
RegCodeActive={on|off}\n On/Off code to run the scan mode of RFID keys
RegKeyValue=%012llX\n RFID key to start the scan mode of RFID keys
RegModeActive={on|off}\n Is the RFID key scanning mode active now
```
**Request to change the settings for scanning RFID keys:** 
`/cgi-bin/rfid_cgi?action=set¶m1=value1¶m2=value2...`
**To run the mode:** 
`/cgi-bin/rfid_cgi?action=set&RegModeActive=on`
**To stop the mode:** 
`/cgi-bin/rfid_cgi?action=set&RegModeActive=off`
**Request code regeneration to run the scan mode of RFID keys:** 
`/cgi-bin/rfid_cgi?action=set&RegCode=generate`
**Request getting alarm parameters:** 
`/cgi-bin/intercom_alarm_cgi?action=get`
```text
MDoorMaxTime=%d\n Time of long opening of the main door
MDoorLongOpenCallActive={on|off}\n On/off alarm of long opening of the main door
MDoorLongOpenCallNumber=%s\n Number to call for a long opening of the main door
MDoorBreakInCallActive={on|off}\n On/off alarm hacking the main doorMDoorBreakInCallNumber=%s\n Number to call for breaking the main door
ADoorMaxTime=%d\n Long opening time for an additional door
ADoorLongOpenCallActive={on|off}\n On/off alarm for long opening additional door
ADoorLongOpenCallNumber=%s\n Number to call for a long opening additional door
ADoorBreakInCallActive={on|off}\n On/off alarm break-in additional door
ADoorBreakInCallNumber=%s\n Number for calling an additional door to break
SOSCallActive=%s\n On / off call by pressing the SOS button
SOSCallNumber=%s\n Number to call by pressing the SOS button
IntercomBreakInEmailActive={on|off}\n On / off send e-mail when the doorphone is hacked
```
**Request setting alarm parameters:** 
`/cgi-bin/intercom_alarm_cgi?action=set¶m1=value1¶m2=value2...`
**Request getting device name:** 
`/cgi-bin/systeminfo_cgi?action=get`
```text
HostName=%s\n
```
**Request setting the door opening code:** 
`/cgi-bin/apartment_cgi?action=set&DoorCode=000000204A16`
**RFID registration code setting request:** 
`/cgi-bin/apartment_cgi?action=set&RegCode=000000204A16`
**Request setting code to run the scan mode RFID keys:** 
`/cgi-bin/rfid_cgi?action=set&RegCode=000000204A16`
**Request for forced saving of settings:** 
`/cgi-bin/config_cgi?action=forcesave`
**Request to display a list of apartments:** 
`/cgi-bin/apartment_cgi?action=list[&FirstNumber=1][&LastNumber=9999]`
> FirstNumber - the number of the first apartment, you can not specify LastNumber - the number of the last apartment, you can not specify
**Request getting HTTPS settings:** 
`/cgi-bin/https_cgi?action=get`
```text
Type={0-2}\n 0 - only HTTP, 1 - only HTTPS, 2 - both types
Certificate={0-1}\n 0 - no certificate, 1 - there is a certificate
Request=%d\n 0 - no certificate request, 1 - there is a certificate request
```
**Request HTTPS settings:** 
`/cgi-bin/https_cgi?action=set&Type={0-2}`
**Request to get the contents of the HTTPS certificate request:** 
`/cgi-bin/https_cgi?action=printreq`
**Request to get HTTPS certificate content:** 
`/cgi-bin/https_cgi?action=printcert`
**HTTPS certificate request creation request:** 
`/cgi-bin/https_cgi?action=createreq&Country=RU&State=Krasnoyarsk&Locality=Krasnoyarsk&Organization=Beward&Unit=RnD&CommonName=DKS15121&KeyLength=512`
**Request to create a self-signed HTTPS certificate:** 
`/cgi-bin/https_cgi?action=createcert&Country=RU&State=Krasnoyarsk&Locality=Krasnoyarsk&Organization=Beward&Unit=RnD&CommonName=DKS15121&Days=365`
**Request to delete an HTTPS certificate request:** 
`/cgi-bin/https_cgi?action=deletereq`
**Request to delete an HTTPS self-signed certificate:** 
`/cgi-bin/https_cgi?action=deletecert`
> HTTPS certificate setting request: POST /cgi-bin/https\_cgi?action=install&amp;filename=cert.pem
**Request getting syslog settings:** 
`/cgi-bin/rsyslog_cgi?action=get`
```text
Enable={on|off}\n
Protocol={tcp|udp}\n
ServerAddress=%s\n
ServerPort=%d\n
LogLevel={0-7}\n
```
**Request setting syslog settings:** 
`/cgi-bin/rsyslog_cgi?action=set&Param1=Value1&...`
**Request getting NTP settings:** 
`/cgi-bin/ntp_cgi?action=get`
```text
Enable={on|off}\n
ServerAddress=%s\n
ServerPort=%d\n
Timezone={0-34}\n
```
**Request setting NTP parameters:** 
`/cgi-bin/ntp_cgi?action=set&Param1=Value1&...`
**Request for getting the status of limit switches:** 
`/cgi-bin/intercom_cgi?action=status`
```text
MainDoorButtonPressed={on|off}\n Status of the main door button
AltDoorButtonPressed={on|off}\n Alternative Door Button StatusMainDoorOpened={on|off}\n The status of the main door switch
AltDoorOpened={on|off}\n Status of additional door switch
IntercomBreakIn={on|off}\n The status of the end switch of the intercom
```
**Request serial number:** 
`/cgi-bin/systeminfo_cgi?action=get`
```text
DeviceID=%u\n
```
**Request for obtaining the MC firmware version:** 
`/cgi-bin/intercom_cgi?action=fwversion`
```text
FWVersion=%s\n
```
**Request for SIP Registration Status:** 
`/cgi-bin/sip_cgi?action=regstatus`
```text
AccountReg1={0|1}\n
AccountReg2={0|1}\n
```
**Request to reset the settings while maintaining the network and apartment settings:** 
`/cgi-bin/factorydefault_cgi`
**Request a full reset:** 
`/cgi-bin/hardfactorydefault_cgi`
**Request getting gate settings:** 
`/cgi-bin/gate_cgi?action=get`
```text
Enable={on|off}\n This intercom is installed on the gate
MainDoor={on|off}\n Open the main door
AltDoor={on|off}\n Open additional door
PowerRely={on|off}\n Run off the power relay output
EntranceCount=%d\n Number of entrances
Address%d=%s\n Doorphone Address
BegNumber%d=%d\n Apartment no. From
EndNumber%d=%d\n Apartment no. To
Mode = {0 | 1} \ n Gate mode: 0 - mode 1, 1 - mode 2;
Prefix%d=%04d\n Home Prefix
```
**Request setting gate settings:** 
`/cgi-bin/gate_cgi?action=set&Param1=Value1&...`
**Request to get a list of configuration files on a USB drive:** 
`/cgi-bin/config_cgi?action=list`
```text
20180306_083144\n
20180306_083145\n
```
**Request to delete configuration files on a USB drive:** 
`/cgi-bin/config_cgi?action=remove&name=20180306_083144`
**Request to download configuration files on a USB drive:** 
`/cgi-bin/config_cgi?action=download&name=20180306_083144`
**Request getting user settings:** 
`/cgi-bin/pwdgrp_cgi?action=get`
```text
username:password:level:blockdoors\n
admin::1:0\n
user1::2:1\n
user2::2:0\n
```
**Request setting user preferences:** 
`/cgi-bin/pwdgrp_cgi?action=update&username=user1&blockdoors={0|1}` 
`/cgi-bin/systeminfo_cgi?action=get` 
uptime work and other system parameters 
**Comment Edit** **Request for obtaining compliance of the apartment:** 
`/cgi-bin/intercomdu_cgi?action=get&Index=0&Dozens=0&Units=0`
**Answer:**
```text
%d\r\n Apartment Number
```
**Request for setting of apartment matching:** 
`/cgi-bin/intercomdu_cgi?action=set&Index=0&Dozens=0&Units=0&Apartment=20`
**Request for obtaining a list of matching apartments:** 
`/cgi-bin/intercomdu_cgi?action=list&Index=-1`
**Answer:**
```text
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
...
```
**Request for setting of apartment preset matching:** 
`/cgi-bin/intercomdu_cgi?action=fill&Type=0&FirstApartment=1`
> Type - preset type: 0 - Visit, Digital, Eltis; 1 - Metacom 80 100 160 220; 2 - Metacom 25.
**Request export of the apartment matching table:** 
`/cgi-bin/intercomdu_cgi?action=export`
**Request for importing apartment matching tables:** 
`/cgi-bin/intercomdu_cgi?action=import`
**1) Configuration update via TFTP server:** 
`/cgi-bin/config_cgi?action=restore&filename=20180825_062523.bck&server=192.168.0.55&port=69` 
The file can be either an extension of bak and bck
**2) Audio tube CMS settings and microphone / intercom speaker:** 
Getting parameters: 
`/cgi-bin/audio_cgi?action=get`
```text
MicSensitivity=8
SpeakerVolume=8
KmnMicSensitivity=8
KmnSpeakerVolume=8
```
interval \[1 - 16\]
**Setting parameters:** 
`/cgi-bin/audio_cgi?action=set&MicSensitivity=15`
**Download DSP Parameters File:** 
Speaker / Microphone POST 
`/cgi-bin/audio_cgi?action=dsp1CMS`
tube POST 
`/cgi-bin/audio_cgi?action=dsp2`
**File name** 
filename=\*.bin
**Model change:** 
`/cgi-bin/config_cgi?action=lens&Type=Dome` 
`/cgi-bin/config_cgi?action=lens&Type=Pinhole` 
where:
> Dome - dome camera (DKS15120, DKS15122), Pinhole - pinhole camera with a false lens. (DKS15100, DKS15102)
`/cgi-bin/textoverlay_cgi?action=get` 
**Parameter**
> DateFormat=\[0-2\] Corresponds to order in the web 0 - yyyy-mm-dd 1 - mm-dd-yyyy 2 - dd-mm-yyyy
Example: 
[`http://192.168.0.144/cgi-bin/textoverlay_cgi?action=set&DateFormat=2`](http://192.168.0.144/cgi-bin/textoverlay_cgi?action=set&DateFormat=2)
**Changed CGI request pwdgrp\_cgi:** 
action=get returns data in the form of &quot;name: access rights separated by comma&quot;, example: `user1:1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1`
**Change Request:** 
`action=update&username=user1&capabilities=1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1`
**Alert for add. reader (if enabled, the intercom responds to the key with the add. reader as well as from its internal)** 
`/cgi-bin/intercom_cgi?action=get`
```text
ExtReaderNotify={on|off}\n
```
**Request for filling apartments:** 
`/cgi-bin/apartment_cgi?action=fill&FirstNumber=100[&LastNumber=100]`
> FirstNumber - the number of the first apartment to fill LastNum
## Docs (DKS API 33)
#### 1 Локальные
#### 2 Аудио
Настройки Аудио трубки КМС и микрофон\динамик домофона:
Получение параметров:
/cgi-bin/audio_cgi?action=get
rev1.
AudioSwitch=open
AudioType=G.711U
EchoCancellation=open
AudioInVol=
AudioOutVol=
rev1.
AudioSwitch=open
AudioType=G.711A
EchoCancellation=open
AudioInVol=
AudioOutVol=
rev2.
AudioSwitch=open
AudioType={G.711A|G.756|G.711U}
EchoCancellation={open|close}
AudioInVol=
AudioOutVol=
MicInSensitivity=
MicOutSensitivity=
SpeakerInVolume=
SpeakerOutVolume=
KmnMicInSensitivity=
KmnMicOutSensitivity=
KmnSpeakerInVolume=
KmnSpeakerOutVolume=
Описание параметров в инструкции
интервал [1 - 16]
Установка параметров:
/cgi-bin/audio_cgi?action=set&MicSensitivity=
/cgi-bin/audio_cgi?action=set&SystemVol=4 [1 - 4]
Загрузка файла параметров DSP(для 2.2 и 2.2.1):
Динамик/Микрофон
POST /cgi-bin/audio_cgi?action=dsp
Трубка КМС
POST /cgi-bin/audio_cgi?action=dsp
Имя файла
filename=*.bin
#### 3 Видео
#### 3.1 Экранное меню
/cgi-bin/textoverlay_cgi?action=get
Title=IPC
TitleValue=
DateValue=
TimeValue=
TimeFormat12=False
DateFormat=
WeekValue=
BitrateValue=
Color=
ClientNum=
Параметр
DateFormat=[0-2]
Соответсвует порядку в веб
0 - yyyy-mm-dd 1 - mm-dd-yyyy 2 - dd-mm-yyyy
Пример:
DateFormat=
#### 3.2 Кодирование
#### 3.3 Маска
#### 3.4 Изображение
/cgi-bin/videocoding_cgi?action=get
#### 4 Сеть
#### 4.1 LAN
/cgi-bin/network_cgi?action=set&BootProto=dhcp включить DHCP
/cgi-bin/ping_cgi?action=start&host=ya.ru пинг команды
/cgi-bin/ping_cgi?action=stop
/cgi-bin/ping_cgi?action=status
#### 4.2 WatchDog IP
Запрос получения настроек WatchDog:
[http://ip/cgi-bin/watchdogip_cgi?action=get](http://ip/cgi-bin/watchdogip_cgi?action=get)
Enable={on|off}\n
Address=192.168.2.
PingInterval=1-
PingCount=1-
FailReaction=0|
Запрос установки настроек WatchDog:
[http://ip/cgi-bin/watchdogip_cgi?action=set&Enable=on&Address=192.168.2.](http://ip/cgi-bin/watchdogip_cgi?action=set&Enable=on&Address=192.168.2.)
Перезапуск сети:
[http://ip/cgi-bin/network_cgi?action=restart](http://ip/cgi-bin/network_cgi?action=restart)
#### 4.3 HTTPS
Запрос получения настроек HTTPS:
/cgi-bin/https_cgi?action=get
Type={0-2}\n 0 - только HTTP, 1 - только HTTPS, 2 - оба типа
Certificate={0-1}\n 0 - нет сертификата, 1 - есть сертификат
Request=%d\n 0 - нет запроса сертификата, 1 - есть запрос сертификата
Запрос установки настроек HTTPS:
/cgi-bin/https_cgi?action=set&Type={0-2}
Запрос получения содержимого запроса сертификата HTTPS:
/cgi-bin/https_cgi?action=printreq
Запрос получения содержимого сертификата HTTPS:
/cgi-bin/https_cgi?action=printcert
Запрос создания запроса сертификата HTTPS:
/cgi-bin/https_cgi?
action=createreq&Country=RU&State=Krasnoyarsk&Locality=Krasnoyarsk&Organization=Beward
&Unit=RnD&CommonName=DKS15121&KeyLength=
Запрос создания самоподписанного сертификата HTTPS:
/cgi-bin/https_cgi?
action=createcert&Country=RU&State=Krasnoyarsk&Locality=Krasnoyarsk&Organization=Bewar
d&Unit=RnD&CommonName=DKS15121&Days=
Запрос удаления запроса сертификата HTTPS:
/cgi-bin/https_cgi?action=deletereq
Запрос удаления самоподписанного сертификата HTTPS:
/cgi-bin/https_cgi?action=deletecert
Запрос установки сертификата HTTPS:
POST /cgi-bin/https_cgi?action=install&filename=cert.pem
#### 5 SIP
Запрос получения статуса регистрации SIP:
/cgi-bin/sip_cgi?action=regstatus
AccountReg1={0|1}\n
AccountReg2={0|1}\n
Вызов с панели по sip:
/cgi-bin/sip_cgi?action=call&Uri=number
Изменение настроек:
/cgi-bin/sip_cgi?action=set
AccountEnable1={on|off}\n
AccName1=%s\n
AccNumber1=%s\n
AccUser1=%s\n
AccPassword1=%s\n
AccPort1=%d\n
ServerEnable1={on|off}\n
RegServerDhcp1={on|off}\n
RegServerUrl1=%s\n
RegServerPort1=%d\n
SipServerUrl1=%s\n
SipServerPort1=%d\n
PPTPEnable1={on|off}\n
NatEnable1={on|off}\n
StunUrl1=%s\n
StunPort1=%d\n
ProxyDhcp1={on|off}\n
ProxyServerUrl1=%s\n
ProxyServerPort1=%d\n
StreamType1=main
SendRegOnCall1={on|off}\n
PacketizationMode1=
AllowIncoming1=on
AccountEnable2={on|off}\n
AccName2=%s\n
AccNumber2=%s\n
AccUser2=%s\n
AccPassword2=%s\n
AccPort2=%d\n
ServerEnable2={on|off}\n
RegServerDhcp2={on|off}\n
RegServerUrl2=%s\n
RegServerPort2=%d\n
SipServerUrl2=%s\n
SipServerPort2=%d\n
PPTPEnable2={on|off}\n
NatEnable2={on|off}\n
StunUrl2=%s\n
StunPort2=%d\n
ProxyServerUrl2=%s\n
ProxyServerPort2=%d\n
StreamType2=main
SendRegOnCall2={on|off}\n
PacketizationMode2=
AllowIncoming2={on|off}\n
DtmfSignal1=%d\n
DtmfSignal2=%d\n
DtmfSignal3=%d\n
#### 6 Запись
Запись кадров по событию на FTP.
Запрос:
[http://ip/cgi-bin/snapevent_cgi?action=get](http://ip/cgi-bin/snapevent_cgi?action=get)
Ответ:
OpenDoorByCode={on|off}\n
OpenDoorByRfid={on|off}\n
SosButton={on|off}\n
ConciergeButton={on|off}\n
ApartmentCall={on|off}\n
Time1Switch=close
Time1_BgnHour=0 Time1_BgnMinute=0 Time1_EndHour=23 Time1_EndMinute=
Time2Switch=close
Time2_BgnHour=0 Time2_BgnMinute=0 Time2_EndHour=23 Time2_EndMinute=
#### 7 Распознавание лиц
/cgi-bin/facecfg_cgi?action=get
Enable={on|off}\n
HttpsEnable={on|off}\n
Address=%s\n
Request=/v1/vendors/rtk/
AuthToken=%s\n
OriginID=%s\n
Groups=%s\n
Compression=
MinFace=
MaxFace=
Conf=
#### 8 Домофон
#### 1.1 Адресация ККМ
Comment Edit
Запрос получения соответствия квартиры:
/cgi-bin/intercomdu_cgi?action=get&Index=0&Dozens=0&Units=
Ответ:
%d\r\n Номер квартиры
Запрос установки соответствия квартиры:
/cgi-bin/intercomdu_cgi?action=set&Index=0&Dozens=0&Units=0&Apartment=
Запрос получения списка соответствия квартир:
/cgi-bin/intercomdu_cgi?action=list&Index=-
Ответ:
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
\r\n
%d %d %d %d %d %d %d %d %d %d\r\n
...
Запрос установки пресета соответствия квартир:
/cgi-bin/intercomdu_cgi?action=fill&Type=0&FirstApartment=
Type - тип пресета:
0 - Бевард ККМ-100S 2
1 - Бевард ККМ-
2 KAD 2501
Запрос экспорта таблицы соответствия квартир:
/cgi-bin/intercomdu_cgi?action=export
Запрос импорта таблицы соответствия квартир:
/cgi-bin/intercomdu_cgi?action=import
#### 1.2 Настройки
Запрос получения параметров:
/cgi-bin/intercom_cgi?action=get
HandsetUpLevel=%d\n Уровень снятия трубки
DoorOpenLevel=%d\n Уровень открытия двери
CMSOffset=%d\n Сдвиг адресации ККМ
DoorOpenTime=%d\n Время открытия двери
CallTimeout=%d\n Время вызова
TalkTimeout=%d\n Время разговора
ConciergeApartment=%d\n Квартира консьержа
AlertNoUSBDisk={on|off}\n Информировать об отсутствии USB диска
CmdTimeout=%d\n Таймаут отправки команды в МК
SamplingTime=%d\n Время выборки при анализе уровня
VoltageDelta=%d\n Дельта напряжения при анализе уровня
DoorOpenMode={on|off}\n Держать двери открытыми работает на прошивках до февраля
2021 года
MainDoorOpenMode={on|off}\n Держать главную дверь открытой
AltDoorOpenMode={on|off}\n Держать альтернативную дверь открытой
DoorCode=%d\n Сервисный код открытия двери
DoorCodeActive={on|off}\n Сервисный код открытия двери активен
AutoCollectKeys={on|off}\n Автосбор ключей
SipCallDelay=%d\n Задержка SIP вызова
HandsetCallDelay=%d\n Задержка аналогового вызова.
Тип коммутации реле:
RelayType=1 Нормально-закрытое ,
RelayType=0 Нормально-открытое ;
DoorOpenSipFail={on|off}\n Держать двери открытыми при недоступном sip-сервере
KeysBytes=%d\n Кол-во байт ключа для сравнения
SaveValidLongKeys={on|off}\n Сохранять ключ, прошедший проверку
Запрос установки параметров:
/cgi-bin/intercom_cgi?action=set&param1=value1&param2=value2...
Запрос опроса уровня в линии:
/cgi-bin/intercom_cgi?action=linelevel&Apartment=
Открыть главную дверь:
/cgi-bin/intercom_cgi?action=maindoor
Открыть дополнительную дверь:
/cgi-bin/intercom_cgi?action=altdoor
Запрос установки кода открытия двери:
/cgi-bin/apartment_cgi?action=set&DoorCode=000000204A
Запрос получения состояния концевиков:
/cgi-bin/intercom_cgi?action=status
MainDoorButtonPressed={on|off}\n Статус кнопки главной двери
AltDoorButtonPressed={on|off}\n Статус кнопки дополнительной двери
MainDoorOpened={on|off}\n Статус концевика главной двери
AltDoorOpened={on|off}\n Статус концевика дополнительной двери
IntercomBreakIn={on|off}\n Статус концевика взлома домофона
Запрос получения версии прошивки МК:
/cgi-bin/intercom_cgi?action=fwversion
FWVersion=%s\n
Оповещение для доп. считывателя (если включено, домофон реагирует на ключ с доп.
считывателя так же как и со своего внутреннего)
/cgi-bin/intercom_cgi?action=get
ExtReaderNotify={on|off}\n
Управление реле:
/cgi-bin/intercom_cgi?action=maindoor
/cgi-bin/intercom_cgi?action=altdoor
/cgi-bin/intercom_cgi?action=light&Enable=on
Статус дверей:
/cgi-bin/intercom_cgi?action=locked
1- замки включены
0- замки выключены
Синхронизация EEPROM
/cgi-bin/intercom_cgi?action=sync
Применить значения индивидуальных уровней для всех квартир.
/cgi-bin/apartment_cgi?action=levels&HandsetUpLevel=330&DoorOpenLevel=
Вкл\выкл индивидуальных уровней.
/cgi-bin/intercom_cgi?action=set&IndividualLevels=on
#### 1.3 Информирование
Получение значений:
/cgi-bin/intercom_info_cgi?action=get&Type=[0-2]
0 - Вызов
1 - Открытие двери
2 - Ошибка
SoundActive={on|off}\n
SoundFileUploaded={on|off}\n
TickerEnable={on|off}\n
TickerText=%s\n
TickerTimeout=%d\n
LineEnable1={on|off}\n
LineText1=%s\n
LineEnable2={on|off}\n
LineText2=%s\n
LineEnable3={on|off}\n
LineText3=%s\n
LineEnable4={on|off}\n
LineText4=%s\n
LineEnable5={on|off}\n
LineText5=%s\n
LinesTimeout=%d\n
Установка значений:
/cgi-bin/intercom_info_cgi?action=set&Type=[0-2]&SoundActive=on&...
Загрузка звука:
POST /cgi-bin/intercom_info_cgi?action=upload_sound&Type=[0-2]&filename=file.wav
Удаление звука:
/cgi-bin/intercom_info_cgi?action=delete_sound&Type=[0-2]
Запуск звука:
/cgi-bin/intercom_info_cgi?action=play_sound&Type=[0-2]
Остановка звука:
/cgi-bin/intercom_info_cgi?action=stop_sound&Type=[0-2]
#### 1.4 Тревога
Запрос получения параметров тревог:
/cgi-bin/intercom_alarm_cgi?action=get
MDoorMaxTime=%d\n Время длительного открытия главной двери
MDoorLongOpenCallActive={on|off}\n Вкл/выкл тревога длительного открытия главной
двери
MDoorLongOpenCallNumber=%s\n Номер для вызова длительного открытия главной двери
MDoorBreakInCallActive={on|off}\n Вкл/выкл тревога взлома главной двери
MDoorBreakInCallNumber=%s\n Номер для вызова взлома главной двери
ADoorMaxTime=%d\n Время длительного открытия дополнительной двери
ADoorLongOpenCallActive={on|off}\n Вкл/выкл тревога длительного открытия
дополнительной двери
ADoorLongOpenCallNumber=%s\n Номер для вызова длительного открытия
дополнительной двери
ADoorBreakInCallActive={on|off}\n Вкл/выкл тревога взлома дополнительной двери
ADoorBreakInCallNumber=%s\n Номер для вызова взлома дополнительной двери
SOSCallActive=%s\n Вкл/выкл вызов по нажатию кнопки SOS
SOSCallNumber=%s\n Номер для вызова по нажатию кнопки SOS
IntercomBreakInEmailActive={on|off}\n Вкл/выкл отправку e-mail при взломе домофона
Запрос установки параметров тревог:
/cgi-bin/intercom_alarm_cgi?action=set&param1=value1&param2=value2...
Активация режима ГО и ЧС:
/cgi-bin/intercom_alarm_cgi?action=emergency&Enable={on|off}\n
Загрузка файла:
POST /cgi-bin/intercom_alarm_cgi?action=upload_emergency
Удаление файла:
/cgi-bin/intercom_alarm_cgi?action=delete_emergency
Проверка наличия файла:
/cgi-bin/intercom_alarm_cgi?action=get_emergency
#### 1.5 Квартиры
Apartment - номер квартиры
Запрос получения параметров квартиры:
/cgi-bin/apartment_cgi?action=get&Number=
Number=%d\n Номер квартиры
DoorCode=%d\n Код открытия двери
DoorCodeActive={on|off}\n Активен код открытия двери
RegCode=%d\n Код регистрации RFID
RegCodeActive={on|off}\n Активен код регистрации RFID
BlockCMS={on|off}\n Заблокировать вызов на трубку КМС
PhonesActive={on|off}\n Активны номера для вызова
Phone1=%s\n Номер для вызова No
Phone2=%s\n Номер для вызова No
Phone3=%s\n Номер для вызова No
Phone4=%s\n Номер для вызова No
Phone5=%s\n Номер для вызова No
Запрос установки параметров квартиры:
/cgi-bin/apartment_cgi?action=set&param1=value1&param2=value2...
Запрос перегенерации кода открытия двери:
/cgi-bin/apartment_cgi?action=set&DoorCode=generate
Запрос перегенерации кода регистрации RFID:
/cgi-bin/apartment_cgi?action=set&RegCode=generate
Запрос очистки квартир:
/cgi-bin/apartment_cgi?action=clear&FirstNumber=100[&LastNumber=100]
FirstNumber - номер первой квартиры для очистки
LastNumber - номер последней квартиры для очистки, можно не указывать если очищается
одна квартира
Запрос вывода списка квартир:
/cgi-bin/apartment_cgi?action=list[&FirstNumber=1][&LastNumber=9999]
FirstNumber - номер первой квартиры, можно не указывать
LastNumber - номер последней квартиры, можно не указывать
Запрос заполнения квартир:
/cgi-bin/apartment_cgi?action=fill&FirstNumber=100[&LastNumber=100]
FirstNumber - номер первой квартиры для заполнения
LastNumber - номер последней квартиры для заполнения, можно не указывать, если
заполняется одна квартира
Запрос установки Кода открытия двери для определённой квартиры:
/cgi-bin/apartment_cgi?action=set&Number=15&DoorCode=45454&DoorCodeActive={on|off}\
n
Применить значения индивидуальных уровней для определенной квартиры.
/cgi-bin/apartment_cgi?action=set&Number=1&HandsetUpLevel=400&DoorOpenLevel=
Вывод списка всех Кодов открытия двери:
/cgi-bin/apartment_cgi?action=doorcodes
Вывод списка всех RFID ключей не привязанных к квартире.
/cgi-bin/rfid_cgi?action=list&Apartment=
Вывод списка всех RFID ключей привязанных к диапазону квартир
/cgi-bin/rfid_cgi?action=list&FirstApartment=1&LastApartment=
Вывод списка всех Кодов открытия двери.
/cgi-bin/apartment_cgi?action=doorcodes
Вывод списка всех Кодов открытия двери по диапазону квартир.
/cgi-bin/apartment_cgi?action=doorcodes[&FirstNumber=1][&LastNumber=9999]
Команды для моделей DKS860977, DKS860978, DKS860979 20.02.
#### 1.6 RFID ключи
Запрос получения списка RFID ключей:
/cgi-bin/rfid_cgi?action=list[&IndexFrom=0][&IndexTo=100][&Apartment=100]
IndexFrom - начальный индекс ключей
IndexTo - конечный индекс ключей
Apartment - получить список ключений для определенной квартире
Запрос добавления RFID ключа:
/cgi-bin/rfid_cgi?action=add&Key=412FFFEBA2F3[&Index=2][&Apartment=99]
Key - RFID ключ
Index - индекс ключа
Apartment - номер квартиры
Запрос удаления RFID ключа:
/cgi-bin/rfid_cgi?action=delete&Key=412FFFEBA2F3[&Index=2][&Apartment=99]
Key - удалить RFID ключ
Index - удалить ключ по индексу
Apartment - удалить все ключи для номера квартиры
Запрос привязки/отвязки RFID ключа к квартире:
/cgi-bin/rfid_cgi?action=update&Key=412FFFEBA2F3[&Apartment=122]
если не задавать Apartment, то производится отвязка
Запрос получения настроек режима сканирования RFID ключей:
/cgi-bin/rfid_cgi?action=get
RegCode=%d\n Код для запуска режима сканирования RFID ключей
RegCodeActive={on|off}\n Вкл/выкл код для запуска режима сканирования RFID ключей
RegKeyValue=%012llX\n RFID ключ для запуска режима сканирования RFID ключей
RegModeActive={on|off}\n Активен ли сейчас режим сканирования RFID ключей
MifareEnable={on|off}\n Вкл/выкл ключи Mifare
EMMarineEnable={on|off}\n Вкл/выкл ключи EMMarine
Пример:
/cgi-bin/rfid_cgi?action=set&MifareEnable=on&EMMarineEnable=on
Запрос изменения настроек режима сканирования RFID ключей:
/cgi-bin/rfid_cgi?action=set&param1=value1&param2=value2...
Для запуска режима:
/cgi-bin/rfid_cgi?action=set&RegModeActive=on
Для остановки режима:
/cgi-bin/rfid_cgi?action=set&RegModeActive=off
Запрос перегенерации кода для запуска режима сканирования RFID ключей:
/cgi-bin/rfid_cgi?action=set&RegCode=generate
Запрос установки кода регистрации RFID для квартиры:
/cgi-bin/apartment_cgi?action=set&RegCode=
Запрос установки кода для запуска режима сканирования RFID ключей:
/cgi-bin/rfid_cgi?action=set&RegCode=
Удаление ключей диапазоном:
/cgi-bin/rfid_cgi?action=clear&FirstApartmentNumber=1&LastApartmentNumber=
Удаление ключей не привязанных ни к одной квартире:
/cgi-bin/rfid_cgi?action=delete&Apartment=
Изменение значения Rfid Маски:
/cgi-bin/rfid_cgi?action=set&RfidMask=[1-7]
Ключ регистрации
/cgi-bin/rfid_cgi?action=set&RegKeyValue=00000FA
Удаление всех ключей
/cgi-bin/rfid_cgi?action=clear
Экспорт файла с ключами
/cgi-bin/rfid_cgi?action=export
Импорт файла с ключами.
Метод POST:
/cgi-bin/rfid_cgi?action=import
Пример для Python:
import time
import requests
from requests.auth import HTTPDigestAuth
URL = "http://192.168.0.18/cgi-bin/rfid_cgi?action=import"
files = {'file': open('file.csv', 'rb')}
r = requests.post(URL, files=files, auth=HTTPDigestAuth('admin', 'admin'))
#### 1.7 Сервисные ключи
/cgi-bin/srvrfid_cgi?action=get
/cgi-bin/srvrfid_cgi?action=set
/cgi-bin/srvrfid_cgi?action=list
/cgi-bin/srvrfid_cgi?action=add&Key=11223344&OpenDoor=on
/cgi-bin/srvrfid_cgi?action=delete&Key=
/cgi-bin/srvrfid_cgi?action=export
/cgi-bin/srvrfid_cgi?action=import
#### 1.8 Дисплей
Запрос получения параметров дисплея:
/cgi-bin/display_cgi?action=get
TickerEnable={on|off}\n Вкл/выкл бегущую строку
TickerText=%s\n Текст бегущей строки
TickerTimeout=%d\n Таймаут бегущей строки
LineEnable1={on|off}\n Вкл/выкл строку 1
LineText1=%s\n Текст строки 1
LineEnable2={on|off}\n Вкл/выкл строку 2
LineText2=%s\n Текст строки 2
LineEnable3={on|off}\n Вкл/выкл строку 3
LineText3=%s\n Текст строки 3
LineEnable4={on|off}\n Вкл/выкл строку 4
LineText4=%s\n Текст строки 4
LineEnable5={on|off}\n Вкл/выкл строку 5
LineText5=%s\n Текст строки 5
LinesTimeout=%d\n Таймаут смены строк
Запрос установки параметров дисплея:
/cgi-bin/display_cgi?action=set&param1=value1&param2=value2...
Текст оповещени для ГО и ЧС
/cgi-bin/display_cgi?action=set&EmergencyText=ALARM
#### 1.9 Калитка
Запрос получения настроек калитки:
/cgi-bin/gate_cgi?action=get
Enable={on|off}\n Этот домофон установлен на калитке
MainDoor={on|off}\n Открывать главную дверь
AltDoor={on|off}\n Открывать дополнительную дверь
PowerRely={on|off}\n Отрабатывать силовой релейный выход
EntranceCount=%d\n Количество подъездов
Address%d=%s\n Адрес домофона
BegNumber%d=%d\n No квартиры от
EndNumber%d=%d\n No квартиры до
Mode={0|1}\n Режим калитки: 0 - режим 1, 1 - режим 2;
Prefix%d=%04d\n Префикс дома
Запрос установки настроек калитки:
/cgi-bin/gate_cgi?action=set&Param1=Value1&...
#### 9 Системные
Запрос получения имени устройства:
/cgi-bin/systeminfo_cgi?action=get
HostName=%s\n
Запрос принудительного сохранения настроек:
/cgi-bin/config_cgi?action=forcesave
Запрос получения настроек syslog:
/cgi-bin/rsyslog_cgi?action=get
Enable={on|off}\n
Protocol={tcp|udp}\n
ServerAddress=%s\n
ServerPort=%d\n
LogLevel={0-7}\n
Запрос установки настроек syslog:
/cgi-bin/rsyslog_cgi?action=set&Param1=Value1&...
Запрос получения настроек NTP:
/cgi-bin/ntp_cgi?action=get
Enable={on|off}\n
ServerAddress=%s\n
ServerPort=%d\n
Timezone={0-34}\n
Запрос установки настроек NTP:
/cgi-bin/ntp_cgi?action=set&Param1=Value1&...
Запрос получения серийного номера:
/cgi-bin/systeminfo_cgi?action=get
DeviceID=%u\n
Запрос сброса настроек с сохранением сети и настроек квартир:
/cgi-bin/factorydefault_cgi
Запрос полного сброса настроек:
/cgi-bin/hardfactorydefault_cgi
Запрос получения списка файлов настроек на USB диске:
/cgi-bin/config_cgi?action=list
20180306_083144\n
20180306_083145\n
Запрос удаления файлов настроек на USB диске:
/cgi-bin/config_cgi?action=remove&name=20180306_
Запрос скачивания файлов настроек на USB диске:
/cgi-bin/config_cgi?action=download&name=20180306_
Запрос получения настроек пользователей:
/cgi-bin/pwdgrp_cgi?action=get
username:password:level:blockdoors\n
admin::1:0\n
user1::2:1\n
user2::2:0\n
Запрос установки настроек пользователей:
/cgi-bin/pwdgrp_cgi?action=update&username=user1&blockdoors={0|1}
/cgi-bin/pwdgrp_cgi?action=update&username=admin&password=123456789a
Запрос смены имени пользователя:
/cgi-bin/pwdgrp_cgi?action=update&username=user1&newusername=1resu
/cgi-bin/systeminfo_cgi?action=get аптайм работы и прочие системные параметры
Обновление конфигурации через TFTP сервер :
/cgi-bin/config_cgi?
action=restore&filename=20180825_062523.bck&server=192.168.0.55&port=
Файл может быть как с расширением bak так и bck
Изменение модели:
/cgi-bin/config_cgi?action=lens&Type=Dome
/cgi-bin/config_cgi?action=lens&Type=Pinhole
Где
Dome - камера с куполом (DKS15120, DKS15122),
Pinhole - пинхольная камера с фальшобъективом. (DKS15100, DKS15102)
Изменен CGI запрос pwdgrp_cgi:
action=get возвращает данные в виде "имя:права доступа через запятую", пример:
user1:1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
Запрос на изменение:
action=update&username=user1&capabilities=1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,
обновление прошивки с TFTP
GET /cgi-bin/upgrade_cgi?&filename=fw.udx&server=192.168.0.1&port=
Отключение проверки ревизионности
/cgi-bin/devmode_cgi?action=fwcheck&Enable=off
Импорт конфига в панель
POST /cgi-bin/config_cgi?action=restore
Экспорт конфига с панели
/cgi-bin/config_cgi?action=backup
Запрос на выгрузку конфы на фтп
/cgi-bin/config_cgi?action=ftpput
/cgi-bin/config_cgi?action=tftpput&server=192.168.0.1&port=3333&filename=file.bck
Севисные коды
/cgi-bin/srvcodes_cgi?action=get
Автоматическая отправка конфигурации на FTP-сервер на странице Сброс настроек.
Конфигурирование параметров добавлено в /cgi-bin/ftp_cgi?action=set
Наименования параметров можно посмотреть в /cgi-bin/ftp_cgi?action=get
(Команды для моделей DKS860977, DKS860978, DKS860979 20.02.21)
Автоперезагрузка ( с DKS151xx_rev2.2_3.2.0.0.3.17.125, для ревизии 2.2):
######## Запрос параметров автоперезагрузки:
######## /cgi-bin/autoreboot_cgi?action=get
######## SysEnable=close
######## SysEveryDay=
######## SysHour=
######## SysMinute=
######## NetEnable=close
######## NetEveryDay=
######## NetHour=
######## NetMinute=
######## AudEnable=open
######## AudEveryDay=
######## AudHour=
######## AudMinute=
######## Установка параметров автоперезагрузки:
######## /cgi-bin/autoreboot_cgi?action=set&Param1=Value1&...