Send
The subscriptions API enables the OEM to subscribe to events from HanchuESS Connect. Events explains the type of events you will receive once subscribed.
Supported Events
inverter:data:telemetry
Realtime uploaded data in inverter.
When there is a change in the assets data, ideally between 1-5 minutes
battery:data:telemetry
Realtime uploaded data in battery.
When there is a change in the assets data, ideally between 1-5 minutes
inverter:action:schedule
Schedule strategy used by energy optimization.
When schedule are actioned.
inverter:action:command
Control command.
When command are actioned.
inverter:action:configuration
Configuration command.
When configuration are actioned.
inverter:response:registered
A response to confirm that the device has registered and that we will start to send events and respond to events
Customer already select device to access.
inverter:action:deleted
A device has been deleted on the HanchuESS platform and no longer send or respond to events pertaining to this device.
Customer delete this asset in HanchuESS platform.
inverter:response:deleted
When the partner calls revoke endpoint which indicated that the asset need to cancel grant in HanchuESS platform and we will send this event means no longer send or respond to events.
When the partner calls /oauth/revoke endpoint.
POST events
All events from the OEM should be sent to the v1/events endpoint.
- : all privileges
- : all privileges
Original Equipment Manufacturer (OEM) ID
hanchuThe timestamp of the event that was sent
Successful
Bad Request
Unauthorized
Device Does Not Exist
Internal error
POST /portal/v1/oem/{oem}/events HTTP/1.1
Host: idaas-sandbox.hanchuess.com
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 610
{
"timestamp": "2025-12-06T03:12:31.900Z",
"data": [
{
"type": "inverter:data:telemetry",
"assetId": "text",
"timestamp": "2025-12-06T03:12:31.900Z",
"data": {
"isOnline": true,
"batteryState": {
"chargeStatus": "CHARGING",
"mode": "BACKUP",
"usableCapacity": 5000,
"reserveStateOfCharge": 0.15,
"stateOfCharge": 0.75,
"currentEnergy": 2500,
"activePower": 500,
"interval": {
"averageActivePower": 350,
"duration": 3600,
"energyCharged": -1000,
"energyDischarged": 800
}
},
"inverterState": {
"solarActivePower": 500,
"inverterActivePower": 300,
"gridActivePower": 200,
"exportToGridAllowed": true,
"importFromGridAllowed": true,
"maximumExportPowerToGrid": 3000
}
}
}
]
}No content
Last updated