ToU Mode Time Group Settings
In ToU mode, customers can pre-send a daily control plan to the inverter, and the inverter will execute the plan within the specified time periods.
- The inverter supports storing work plans for today and tomorrow, and always works in a repeating cycle based on these two plans. For example, if you need the device to follow the same plan every day, you must send both today's and tomorrow's plans. (48 groups / 196 groups).
- A single plan (today or tomorrow) supports at least 24 control commands. Newer machines with compatible firmware can support up to 96 commands.
- When ToU mode is enabled but no schedules have been set, the inverter operates in General Mode by default.
- Within a single plan, it is recommended to avoid overlapping time periods between control commands. If overlaps occur, the inverter will execute the command that was set first.
- Due to the large number of control parameters being sent, the delivery time will be longer than typical parameter configuration. For R2MD-DuoCom, it usually takes about 5-10 seconds. Older DuoCom models may take even longer.
- Always ensure that all time group slots are fully populated, i.e., always overwrite the configuration on the device. For unconfigured slots, set the enable flag to 0 and send them.
Time Group Settings
Parameter Description
| Field | Name | Valid Values |
|---|---|---|
| planId | Today's Plan Or Tomorrow's Plan | 1: Today's Plan, 2: Tomorrow's Plan |
| timeGroupId | Time Group ID | 0-23 / 0-95 |
| timeGroupEnableFlag | ToU Time Group Enable Flag | 0: Disable, 1: Enable |
| startTime | Start Time (hh:mm) | 00:00~23:59 |
| endTime | End Time (hh:mm) | 00:00~23:59 |
| workMode | Work Mode | See "Work Mode Description" below |
| parameters | Time Group Parameters | See "Time Group Parameter Description" below |
Work Mode Description
| Work Mode Code | Mode Name | Description |
|---|---|---|
| 4#1 | General mode | |
| 4#2 | Battery charge | PV + Grid |
| 4#3 | PV charging | PV only |
| 4#5 | Feed-in mode | |
| 4#6 | Battery discharge |
Time Group Parameter Description
| Field | Name | Valid Values | Description |
|---|---|---|---|
| exportLimit | Export Power Limit | [-1 * system rated power, 5 * system rated power] | Power exported to the grid must not exceed this value |
| chargeLimit | Charge Power Limit | Single unit [0, 1000]; Master unit [0, 5000] | Battery charge power must not exceed this value |
| chargeCutoffSoc | Charge Cutoff SOC | [100, 1000] | When the battery charges to this SOC, grid charging stops, but PV can still charge the battery |
| noPv | Disable PV Generation | 0: Allow PV generation; 1: Disable PV generation | When set to 1, PV has no power output, and the battery is charged entirely from the grid |
| inverterOutputLimit | Inverter Output Control | Single unit [0, 1000]; Master unit [0, 5000] | Maximum AC output power must not exceed this value |
| dischargeCutoffSOC | Discharge Cutoff SOC | [100, 1000] | When the battery discharges to this SOC, grid discharge stops, but the battery can still supply the load |
Valid Parameters by Work Mode
| 4#1 | 4#2 | 4#3 | 4#5 | 4#6 | |
|---|---|---|---|---|---|
| exportLimit | ✅ | ✅ | ✅ | ✅ | ✅ |
| chargeLimit | ✅ | ✅ | |||
| chargeCutoffSoc | ✅ | ✅ | |||
| noPv | ✅ | ||||
| inverterOutputLimit | ✅ | ||||
| dischargeCutoffSOC | ✅ |
API Call
curl -X POST https://lb.solinteg-cloud.com/openapi/v2/tou/cmd/send/A11240020184005A \
-H "Content-Type: application/json" \
-H "Token: {{TOKEN}}" \
-d '{
"touTimeGroups": [
{
"planId": 1,
"startTime": "00:00",
"timeGroupEnableFlag": 1,
"timeGroupId": 0,
"workMode": "4#1",
"endTime": "01:00",
"parameters": {
"exportLimit": 1
}
},
{
"planId": 1,
"startTime": "01:00",
"timeGroupEnableFlag": 1,
"timeGroupId": 1,
"workMode": "4#2",
"endTime": "02:00",
"parameters": {
"exportLimit": 1,
"chargeLimit": 2,
"chargeCutoffSOC": 80,
"noPv": 1
}
},
{
"planId": 1,
"startTime": "02:00",
"timeGroupEnableFlag": 1,
"timeGroupId": 2,
"workMode": "4#3",
"endTime": "03:00",
"parameters": {
"exportLimit": 1,
"chargeLimit": 2,
"chargeCutoffSOC": 80
}
},
{
"planId": 1,
"startTime": "03:00",
"timeGroupEnableFlag": 1,
"timeGroupId": 3,
"workMode": "4#5",
"endTime": "04:00",
"parameters": {
"exportLimit": 1
}
},
{
"planId": 1,
"startTime": "04:00",
"timeGroupEnableFlag": 1,
"timeGroupId": 4,
"workMode": "4#6",
"endTime": "05:00",
"parameters": {
"exportLimit": 1,
"inverterOutputLimit": 2,
"dischargeCutoffSOC": 40
}
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 5
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 6
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 7
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 8
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 9
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 10
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 11
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 12
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 13
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 14
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 15
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 16
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 17
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 18
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 19
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 20
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 21
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 22
},
{
"planId": 1,
"timeGroupEnableFlag": 0,
"timeGroupId": 23
}
]
}'
Success Response
Returns a task ID. You can use this task ID to asynchronously query the execution result.
{
"errorCode": 0,
"info": null,
"body": "ToU_CMD_OPENAPI_7e947d77-bce6-4e43-9002-406790d05fa9",
"successful": true
}
Error Response 1: Device Offline
{
"errorCode": 1,
"info": {
"code": "error.70006",
"description": "Device not online"
},
"body": null,
"successful": false
}
Error Response 2: No Permission
{
"errorCode": 1,
"info": {
"code": "You do not have permission for this device.",
"description": "You do not have permission for this device."
},
"body": null,
"successful": false
}
Query Time Group Delivery Progress/Result
Query the delivery result using the task ID returned by the delivery API.
Request
curl -X GET https://lb.solinteg-cloud.com/openapi/v2/tou/cmd/status/ToU_CMD_OPENAPI_fe83d864-eb50-4460-a5f8-3421d34d5795 \
-H "Content-Type: application/json" \
-H "Token: {{TOKEN}}" \
Success Response 1
{
"errorCode": 0,
"info": null,
"body": "SUCCESS",
"successful": true
}
Success Response 2
{
"errorCode": 0,
"info": null,
"body": "FAILED",
"successful": true
}
Success Response 3
{
"errorCode": 0,
"info": null,
"body": "SETTING",
"successful": true
}