Skip to main content
Version: 2.0.0@Current

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.

  1. 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).
  2. A single plan (today or tomorrow) supports at least 24 control commands. Newer machines with compatible firmware can support up to 96 commands.
  3. When ToU mode is enabled but no schedules have been set, the inverter operates in General Mode by default.
  4. 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.
  5. 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.
  6. 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

FieldNameValid Values
planIdToday's Plan Or Tomorrow's Plan1: Today's Plan, 2: Tomorrow's Plan
timeGroupIdTime Group ID0-23 / 0-95
timeGroupEnableFlagToU Time Group Enable Flag0: Disable, 1: Enable
startTimeStart Time (hh:mm)00:00~23:59
endTimeEnd Time (hh:mm)00:00~23:59
workModeWork ModeSee "Work Mode Description" below
parametersTime Group ParametersSee "Time Group Parameter Description" below

Work Mode Description

Work Mode CodeMode NameDescription
4#1General mode
4#2Battery chargePV + Grid
4#3PV chargingPV only
4#5Feed-in mode
4#6Battery discharge

Time Group Parameter Description

FieldNameValid ValuesDescription
exportLimitExport Power Limit[-1 * system rated power, 5 * system rated power]Power exported to the grid must not exceed this value
chargeLimitCharge Power LimitSingle unit [0, 1000]; Master unit [0, 5000]Battery charge power must not exceed this value
chargeCutoffSocCharge Cutoff SOC[100, 1000]When the battery charges to this SOC, grid charging stops, but PV can still charge the battery
noPvDisable PV Generation0: Allow PV generation; 1: Disable PV generationWhen set to 1, PV has no power output, and the battery is charged entirely from the grid
inverterOutputLimitInverter Output ControlSingle unit [0, 1000]; Master unit [0, 5000]Maximum AC output power must not exceed this value
dischargeCutoffSOCDischarge 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#14#24#34#54#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
}