GetDeviceInfo
Retrieves basic information about the device including model, firmware version, MAC address, capabilities, and API version.
Endpoint
| Field | Value |
|---|---|
| Method | POST or GET |
| URL | http://<host>[:port]/GetDeviceInfo |
| Products | IPC, NVR |
| Channel ID | N/A |
Tested: IPC v1.9 (firmware 5.1.4.0), NVR v2.0 (firmware 1.4.13), IPC v2.1 (firmware 5.3.1)
Response Fields
| Field | Type | Description |
|---|---|---|
deviceName | string | User-assigned device name |
deviceDescription | string | Device type descriptor |
apiVersion | string | API protocol version (2.0.0 or 2.1.0; absent on v1.x) |
httpPostVersion | string | HTTP POST protocol version (v2.0 and v2.1) |
softwareVersion | string | Firmware version string |
softwareBuildDate | string | Firmware build date |
kernelVersion | string | Kernel version |
hardwareVersion | string | Hardware revision |
model | string | Device model number |
brand | string | Brand identifier |
mac | string | MAC address |
sn | string | Serial number |
chlMaxCount | uint32 | Maximum channel count |
audioInCount | uint32 | Audio input count |
audioOutCount | uint32 | Audio output count |
alarmInCount | uint32 | Alarm input count |
alarmOutCount | uint32 | Alarm output count |
integratedPtz | boolean | Has integrated PTZ |
supportRS485Ptz | boolean | Supports RS-485 PTZ control |
supportSDCard | boolean | Supports SD card storage |
Response (v2.0 IPC)
<?xml version="1.0" encoding="UTF-8"?>
<config version="2.0.0" xmlns="http://www.ipc.com/ver10">
<deviceInfo>
<deviceName type="string"><![CDATA[IPC]]></deviceName>
<deviceDescription type="string"><![CDATA[E4_4MP_]]></deviceDescription>
<apiVersion type="string"><![CDATA[2.0.0]]></apiVersion>
<softwareVersion type="string">
<![CDATA[5.3.0.12288B240820.IG1.U1(08A10).beta]]>
</softwareVersion>
<softwareBuildDate type="string"><![CDATA[2024-10-31]]></softwareBuildDate>
<kernelVersion type="string"><![CDATA[20241010]]></kernelVersion>
<hardwareVersion type="string"><![CDATA[1.5]]></hardwareVersion>
<model type="string"><![CDATA[E4_4MP_]]></model>
<brand type="string"><![CDATA[Customer]]></brand>
<mac type="string"><![CDATA[70:ab:c8:1b:5d:dc]]></mac>
<sn type="string"><![CDATA[2E323D9463D5]]></sn>
<chlMaxCount type="uint32">1</chlMaxCount>
<audioInCount type="uint32">2</audioInCount>
<audioOutCount type="uint32">1</audioOutCount>
<alarmInCount type="uint32">1</alarmInCount>
<alarmOutCount type="uint32">1</alarmOutCount>
<integratedPtz type="boolean">false</integratedPtz>
<supportRS485Ptz type="boolean">false</supportRS485Ptz>
<supportSDCard type="boolean">true</supportSDCard>
</deviceInfo>
</config>
Response (v2.0 NVR)
<?xml version="1.0" encoding="UTF-8"?>
<config version="2.0.0" xmlns="http://www.ipc.com/ver10">
<deviceInfo>
<deviceName type="string"><![CDATA[Device Name]]></deviceName>
<apiVersion type="string"><![CDATA[2.0.0]]></apiVersion>
<model type="string"><![CDATA[TD-3308H1-8P-B1]]></model>
<brand type="string"><![CDATA[IP CAM]]></brand>
<deviceDescription type="string"><![CDATA[TD-3308H1-8P-B1]]></deviceDescription>
<audioInCount type="uint32">0</audioInCount>
<audioOutCount type="uint32">1</audioOutCount>
<integratedPtz type="boolean">true</integratedPtz>
<supportRS485Ptz type="boolean">true</supportRS485Ptz>
<supportSDCard type="boolean">false</supportSDCard>
<alarmInCount type="uint32">16</alarmInCount>
<alarmOutCount type="uint32">4</alarmOutCount>
<softwareVersion type="string">
<![CDATA[1.4.12.71946B240815.N0W.U1(8A418).beta]]>
</softwareVersion>
<softwareBuildDate type="string">
<![CDATA[1.4.12.69452B240510.N2P.U1(16A840).beta]]>
</softwareBuildDate>
<kernelVersion type="string"><![CDATA[N8G8-N38C-O5A5]]></kernelVersion>
<hardwareVersion type="string"><![CDATA[300112-V1]]></hardwareVersion>
<mac type="string"><![CDATA[00:18:ae:00:88:15]]></mac>
<sn type="string"><![CDATA[N018AEA8A9C2]]></sn>
<chlMaxCount type="uint32">8</chlMaxCount>
</deviceInfo>
</config>
Response (v1.9 IPC)
<?xml version="1.0" encoding="UTF-8"?>
<config version="1.0" xmlns="http://www.ipc.com/ver10">
<deviceInfo>
<deviceName type="string"><![CDATA[212]]></deviceName>
<model type="string"><![CDATA[TD-9421M]]></model>
<brand type="string"><![CDATA[IPC]]></brand>
<deviceDescription type="string"><![CDATA[IPCamera]]></deviceDescription>
<audioInCount type="uint32">1</audioInCount>
<audioOutCount type="uint32">1</audioOutCount>
<integratedPtz type="boolean">true</integratedPtz>
<supportRS485Ptz type="boolean">false</supportRS485Ptz>
<supportSDCard type="boolean">true</supportSDCard>
<alarmInCount type="uint32">1</alarmInCount>
<alarmOutCount type="uint32">1</alarmOutCount>
<softwareVersion type="string"><![CDATA[4.0.0 beta1]]></softwareVersion>
<softwareBuildDate type="string"><![CDATA[2013-12-24]]></softwareBuildDate>
<kernelVersion type="string"><![CDATA[20111010]]></kernelVersion>
<hardwareVersion type="string"><![CDATA[1.3]]></hardwareVersion>
<mac type="string"><![CDATA[00:18:ae:98:38:fd]]></mac>
<sn type="string"><![CDATA[2E323D9463D5]]></sn>
<chlMaxCount type="uint32">9</chlMaxCount>
</deviceInfo>
</config>
Notes
- Use
apiVersionto determine which protocol version the device supports. - For fixed-channel devices (IPC, DVR):
audioInCount,audioOutCount,alarmInCount,alarmOutCountare always included. - For variable-channel devices (NVR): These may be optional. Use
GetChannelInfo/GetAlarmInInfofor details.
v2.0 Changes
v2.0 adds apiVersion and httpPostVersion fields directly in the response.
v2.1
apiVersion and httpPostVersion both read 2.1.0. Field names are otherwise the same, including the firmware spelling supportVehice. Responses use config version 2.1.0. Verified on a camera running 5.3.1 firmware.