power.battery.info (Get battery info (by category) property)
power.battery.info: Get battery info (by category) property
power.battery.info · device scope · permission Config
What it does
Reads battery information grouped by battery category on the device. Up to 100 items.
Request URL
POST https://openapi-[DataCenter].easy4ip.com/openapi/v2/device.property.get
Minimum permission
The administrator does not need an extra permission on a device they bound. A shared device needs the basic configuration permission. A bound sub-user does not. A sub-account needs Config. Do not send channelId on device-scope capabilities. Mixing device and channel properties in one request returns DV2008.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
token | String | yes | Access token for an administrator, sub-user, or sub-account |
deviceId | String | yes | Device serial number |
productId | String | no | Optional. If sent and it does not match the device model → DV2009 |
properties | Array | yes | ["power.battery.info"] |
For common request fields and signing, see Signing conventions and Common request payload.
Request example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system": {
"ver": "1.0",
"appId": "lcdxxxxxxxxx",
"sign": "xjhCQBoJ9hRDsCjyDcHjtDNzRZ3ZJezcawsfWeiaoxU=",
"time": 1706511734,
"nonce": "f5a1ae2d-c09c-4d39-a744-83a5c2c653c2"
},
"params": {
"token": "<yourAccessToken>",
"deviceId": "TESTIPC000012345",
"properties": [
"power.battery.info"
]
}
}
Response data fields
The value is in result.data.properties["power.battery.info"].
| Name | Description | Type | Required | Values |
|---|---|---|---|---|
item.state | State. | enum | yes | 0 adapter charging; 1 in use; 2 adapter direct power; 3 solar charging; 4 solar not charging; 5 adapter full; 6 abnormal; 7 solar full; 8 solar direct power; 9 solar panel heating; 10 solar anti-float charge |
item.type | Battery type. 0 camera battery, 1 door lock battery. | enum | yes | 0 camera battery; 1 door lock battery |
item.elecPercent | Battery level. Range -1–100, step 1, unit %. | int | yes | -1–100, step 1, unit % |
item.localTime | Device local time, format yyyyMMddTHHmmss. | text | yes | string |
item.mAh | Capacity in mAh. Range 0–9999999, step 1, unit mAh. | int | yes | 0–9999999, step 1, unit mAh |
item.category | Battery category. 0 off, 1 on. | enum | yes | 0 off; 1 on |
Response example
{
"id": "d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"result": {
"code": "0",
"msg": "Operation is successful",
"data": {
"properties": {
"power.battery.info": [
{
"state": "0",
"type": "0",
"elecPercent": -1,
"localTime": "20261020T140530",
"mAh": 0,
"category": "0"
}
]
}
}
}
}
Error codes
| Code | Meaning | Next step |
|---|---|---|
SN1001 | Signature error | Check sign per Development specification |
TK1002 | Token invalid or expired | Refresh accessToken |
OP1002 | Missing required parameter | Add required fields |
OP1003 | Invalid parameter | Match this page’s parameter table |
OP1009 | Permission denied | Check token and device bind/share grants |
OP1013 | Total call limit exceeded | Reduce call rate |
OP1014 | Daily per-interface limit exceeded | See Interface call limits |
DV1007 | Device offline | Wait until the device is online |
See Return codes · OP/SN/TK for the full catalog.
| Code | Meaning | Next step |
|---|---|---|
DV2003 | Property not on device | Use device.capability.list |
DV2004 | Value out of range | Check properties values |
DV2007 | channelId vs scope mismatch | Required for channel scope; omit for device scope |
DV2008 | Mixed device and channel properties | Split the request |
DV2009 | productId mismatch | Omit or set actual model id |
See Capability errors.
