Skip to content

  • The activePowerLimit object is deprecated and replaced by setpoints.
  • Mappings are applied as follows:
    • setpoints.confirmed.activePowerLimitPercentage = activePowerLimit.percentage
  • The constrainedAvailableActivePower object is deprecated since availableActivePower already includes curtailment. Curtailment reasons now go into alarms[].
[
{
"type": "windPower:3", // identifies this schema
"teleportHashId": "8de4y2", // uniquely identifies the teleport device
"assetIdentifier": "enercon-4100", // globally unique identifier of the asset, when available the brand and serial number of the asset
"attempt": 0, // 0-indexed delivery attempt. integer
"isDeferred": false, // chronological ordering (by asset identifier) is only guaranteed for messages with isDeferred: false.
"measuredAt": "2023-01-01T00:00:00Z", // when read-out started, ISO 8601 yyyy-mm-ddThh:mm:ssZ or YYYYYY-MM-DDTHH:mm:ss.sssZ, so in UTC
"activePower": 12000.4, // in W, can be null
"reactivePower": 100.1, // in var, can be null. Positive is injecting reactive power to the grid and negative is absorbing reactive power
"frequency": 50.21, // in Hz, can be null. Nonnegative
"powerFactor": 0.9, // unitless. Can be null. For capacitive loads (leading power factor, quadrant 4), the PF sign is positive. For inductive loads (lagging power factor, quadrants 1), the PF sign is negative.
"windSpeed": 2.1, // in m/s, can be null
"availableActivePower": 12000.4, // in W, can be null
"availableReactivePower": {
"inject": 300.1, // in var, can be null. Nonnegative
"absorb": 500.1 // in var, can be null. Nonnegative
},
"constrainedAvailableActivePower": {
"currentWind": 12000.4, // in W, can be null
"technical": 12000.4, // in W, can be null
"forceMajeure": 12000.4, // in W, can be null
"externalSetpoints": 12000.4 // in W, can be null
},
"converters": [
{
"identifier": "12345", // serial number of the converter
"activePower": 3000, // in W, can be null
"windSpeed": 2.4, // in m/s, can be null
"generatedEnergy": 230000, // in Wh, can be null
"status": "on", // can be "running", "on", "pause", "stop". Missing if not available
"alarms": ["alarm_string"], // See wind alarms under error codes section. Empty if no alarms, missing if not available
"info": ["info_string"] // See wind alarms under error codes section. Empty if no alarms, missing if not available.
},
{
"identifier": "6789", // serial number of the converter
"activePower": 9000.4, // in W, can be null
"windSpeed": 1.9, // in m/s, can be null
"generatedEnergy": 230000, // in Wh, can be null
"status": "on", // can be "running", "on", "pause", "stop". Missing if not available
"alarms": ["alarm_string"], // See wind alarms under error codes section. Empty if no alarms, missing if not available
"info": ["info_string"] // See wind alarms under error codes section. Empty if no alarms, missing if not available.
}
],
"setpoints": {
"confirmed": { // configuration confirmed by the asset
"activePowerLimitPercentage": 30.1, // In %, can be null
"activePowerLimit": 10000.5, // In W. can be null
"reactivePower": {
// Object defining reactive power control, can be null. Contains a mode and its corresponding setpoint.
// The mode determines which setpoint is relevant:
// - "fixedReactivePower" → uses "reactivePower" (in var).
// - "fixedPowerFactor" → uses "powerFactor" (unitless).
"mode": "fixedReactivePower", // Reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor".
"reactivePower": 13.2 // Setpoint for "fixedReactivePower" mode, in var. Can be null.
// Positive values inject reactive power into the grid, negative values absorb reactive power.
}
},
"desired": { // setpoints from different sources
"activePowerLimit": {
"cloud": 10000.5, // In W, can be null
"activeControl": null, // In W, can be null
"gridOperator": null, // In W, can be null
"modbusServer": null, // In W, can be null
"afrr":{
"delta": null, // In W, can be null. Contains portion of `deltaSetpoint` provided through the "applyAfrrDeltaSetpoint" API command
"reference": 10000.5, // In W, can be null. 0-minute reference value, to which the Teleport will apply the delta. This is the minimum of "availableActivePower" and all other active setpoints
"reference1MinuteLeadTime": 10000.5 // In W, can be null. 1-minute reference value. Only takes schedules sent in through the cloud and available power into account. Ramp rates and any local signals are not taken into account.
} // can be null
},
"reactivePower": { // has the same object structure as "confirmed.reactivePower"
"cloud": {
"mode": "fixedReactivePower", // Reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor".
"reactivePower": 13.2 // Setpoint for "fixedReactivePower" mode, in var. Can be null.
// Positive values inject reactive power into the grid, negative values absorb reactive power.
},
"gridOperator": { // has the same object structure as "confirmed.reactivePower"
"mode": "fixedPowerFactor", // can be "fixedReactivePower" or "fixedPowerFactor"
"powerFactor": 0.95 // Setpoint for "fixedPowerFactor" mode, unitless. Can be null.
// For capacitive loads (leading power factor, quadrants 2 and 4), the PF sign is positive.
// For inductive loads (lagging power factor, quadrants 1 and 3), the PF sign is negative.
}
}
},
"effective": { // effective setpoint written by the Teleport
"activePower": 12100.3, // In W, Positive means discharging, negative charging.
"reactivePower": { // has the same object structure as "confirmed.reactivePower"
"mode": "fixedReactivePower", // Reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor".
"reactivePower": 13.2 // Setpoint for "fixedReactivePower" mode, in var. Can be null.
// Positive values inject reactive power into the grid, negative values absorb reactive power.
}
}
},
"generatedEnergy": 460000, // in Wh, can be null
"alarms": ["alarm_string"], // See wind alarms under error codes section. Empty if no alarms, missing if not available
"info": ["info_string"], // See wind alarms under error codes section. Empty if no alarms, missing if not available.
"scheduled": true, // false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation
"cellularSignalQuality": -55, // RSSI, in dBm, null means there is no up-to-date signal quality data, optional
}
]