CT Test
CT Test is divided into three actions, corresponding to three API interfaces;
NOTE This function can only be used in the following two scenarios
- Master inverter in a master-slave system
- Three-phase single-inverter system
Action 1: Acquire the status of the front inverter and determine whether it meets the CT detection requirements
Request
curl --location -g '{{EU}}/device/getInerterBMSMeterStatus?sn=Z112200109XXX04A' \
--header 'Token: {{TOKEN}}' \
Response
{
"errorCode": 0,
"info": null,
"body": {
"meterStatus": 1,
"checking": 0,
"meterConnected": 1,
"faultArmFlag2": 0,
"deviceStatus": 2
},
"successful": true
}
Explanation of response body
① deviceStatus
**Device work status ** : Does it meet the requirements for continued testing
Status Code | Status Description | Pass or fail |
---|---|---|
0 | Pragmatic | Fail |
1 | Pragmatic | Fail |
2 | Normal grid connection | Pass |
3 | Fault | Fail |
4 | Updating | Fail |
5 | off-grid power generation | Pass |
-1 | Offline | Fail |
② faultArmFlag2
BMS communication status:Whether the requirements for continued testing are met is determined here by fault alarms
Status Code | Status Description | Pass or fail |
---|---|---|
1 | Alarm, BMS communication abnormality | Fail |
0 | No alarms, normal communication | Pass |
③ meterStatus
Meter access status:Whether the requirements for continued testing
Status Code | Status Description | Pass or fail |
---|---|---|
1 | Meter access is normal | Pass |
0 | Meter access anomaly | Fail |
④ checking
Whether a CT test is already in progress to determine if the next action can be taken
Status Code | Status Description | Pass or fail |
---|---|---|
1 | Testing | Fail |
0 | Waiting | Pass |
Action 2: Issue a CT test command
Request
curl --location -g '{{EU}}/device/startCheck' \
--header 'Token: {{TOKEN}}' \
--data '{
"deviceSn": "Z112200109XXX04A"
}'
Response
Returns true, representing successful issuance.
{
"errorCode": 0,
"info": null,
"body": true,
"successful": true
}
Action 3: Obtain CT test results (non-stop polling is required for checking, once every 10s is recommended)
Request
curl --location -g '{{EU}}/device/getCheckResult?sn=A11220010963004A' \
--header 'Token: {{TOKEN}}' \
Handling of polling results
- Step 1: Identify if the detection is complete
- Bit1:1; Bit2:0; Testing
- Bit1:0; Bit2:0; Test failed
- Bit1:0; Bit2:1; Test finished,Start querying the Bit3 bit to recognize the detection result
- Step 2: Identify test results
- Bit3:0;Test results are normal and the process is over
- Bit3:1;The test result is abnormal, the inverter is connected to the meter incorrectly, continue to query the specific cause of the error.
- Step 3: Determine the specific exception results, the following is the description of the returned results
- phaseFlag:Error code
- inverterSide:Standard Line Phase Sequence
- smartSide:CT Side Phase Sequence
- sensorAns:Test result, 0: normal, 1: abnormal
- The rest are not used and are not described
Response
Normal Status
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 0,
"bit2": 0,
"bit3": null,
"meterStatus": null
},
"successful": true
}
Testing Status
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 1,
"bit2": 0,
"bit3": null,
"meterStatus": null
},
"successful": true
}
Finish Status
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 0,
"bit2": 1,
"bit3": 1,
"meterStatus": 1549
},
"successful": true
}
Finish Status-Abnormal(No test results reported, possible interference)
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": null,
"bit0": 1,
"bit1": 0,
"bit2": 0,
"bit3": null,
"meterStatus": null
},
"successful": true
}
Finish Status(Existence of results reporting)
{
"errorCode": 0,
"info": null,
"body": {
"meterCheckConfigVOS": [
{
"id": "6510f5a18c59e563fb0092d8",
"phaseFlag": "652",
"resultType": "1",
"resultDescri": null,
"resultDescriLanguageCode": "41002",
"inverterSide": "L1",
"smartSide": "L1",
"sensorAns": "1"
},
{
"id": "6510f5a18c59e563fb0092d7",
"phaseFlag": "652",
"resultType": "1",
"resultDescri": null,
"resultDescriLanguageCode": "41002",
"inverterSide": "L2",
"smartSide": "L2",
"sensorAns": "0"
},
{
"id": "6510f5a18c59e563fb0092d6",
"phaseFlag": "652",
"resultType": "1",
"resultDescri": null,
"resultDescriLanguageCode": "41002",
"inverterSide": "L3",
"smartSide": "L3",
"sensorAns": "0"
}
],
"bit0": 1,
"bit1": 0,
"bit2": 1,
"bit3": 1,
"meterStatus": 25901
},
"successful": true
}