"type": "solarPower:3", // identifies this schema
"teleportHashId": "8de4y2", // uniquely identifies the teleport device
"assetIdentifier": "huawei-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.1, // 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.
"generatedEnergy": 250000.1, // in Wh, can be null
"confirmed": { // configuration confirmed by the asset
"activePowerLimitPercentage": 30.1, // In %, can be null
"activePowerLimit": 10000.5, // In W. can be null
// 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
"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
"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.
"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.
"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
"activePowerLimit": 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.
"availableActivePower": 20000.1, // in W, can be null. Always null if no pyranometer or irradiance sensor is installed
"availableReactivePower": {
"inject": 300.1, // in var, can be null. Nonnegative
"absorb": 500.1 // in var, can be null. Nonnegative
"alarms": ["huawei_inverter_abnormal_string_power", "huawei_inverter_output_overcurrent"], // See solar alarms under error codes section. Empty if inverter-specific alarms are present in inverter array.
"info":[], // See solar alarms under error codes section. Empty if inverter-specific alarms are present in inverter array.
"slaveId": 1, // identifies the individual inverter
"activePower": 12000.1, // 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
"apparentPower": 12000.5, // in VA, can be null
"powerFactor": 0.9, // 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.
"frequency": 50.01, // in Hz, can be null
"generatedEnergy": 250000.7, // in Wh, can be null
"l1": 17.3, // in A, can be null
"l2": 17.4, // in A, can be null
"l3": 17.5 // in A, can be null
"l1": 29.9, // in A, can be null
"l2": 30.1, // in A, can be null
"l3": 30.1 // in A, can be null
"l1": 230.1, // in V, can be null
"l2": 230.2, // in V, can be null
"l3": 230.3 // in V, can be null
"l1": 400.1, // in V, can be null
"l2": 400.2, // in V, can be null
"l3": 400.3, // in V, can be null
"identifier": "string-1",
"dcVoltage": 600.5, // in V, can be null
"dcCurrent": 10.1, // in A, can be null
"power": 6065 // in W, can be null
"confirmed": { // configuration confirmed by the asset
"activePowerLimitPercentage": 30.1, // In %, can be null
"activePowerLimit": 10000.5, // In W, Positive means discharging, negative charging.
// 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.
"alarms": ["huawei_inverter_abnormal_string_power", "huawei_inverter_output_overcurrent"], // See solar alarms under error codes section
"info":[] // See solar alarms under error codes section.
// in case of multiple slave inverters that are read out, can be many
"environmentalSensors": [
"type": "irradiance", // identifies the sensor schema, can be "irradiance", "wind" or "temperature"
"identifier": "kipp-zonen-1234", // globally unique identifier of the asset, when available the brand and serial number of the asset
"irradianceFactor": 6348, // a static property defined as product of area and efficiency, used to calculate availableActivePower (area is the total surface area of the solar panels in square meters, efficiency is the efficiency of the solar panels + inverters)
"irradiance": 421, // in W/m², can be null
"sensor": 11.3 // in °C, can be null, is optional
} // consists of any number of unique properties, all representing temperature measurements
"type": "wind", // identifies the sensor schema, can be "irradiance", "wind" or "temperature"
"identifier": "thies-clima-1234", // globally unique identifier of the asset, when available the brand and serial number of the asset
"windSpeed": 0, // in m/s, can be null
"sensor": 21.4 // in °C, can be null, is optional
} // consists of any number of unique properties, all representing temperature measurements
"type": "temperature", // identifies the sensor schema, can be "irradiance", "wind" or "temperature"
"identifier": "huawei-smartlogger-temperature-sensor-1234", // globally unique identifier of the asset, when available the brand and serial number of the asset
"sensor": 11.4, // in °C, can be null, is optional
"ambient": 9.9, // in °C, can be null, is optional
"solarModule": 12.4, // in °C, can be null, is optional
"customProperty": 11.2 // in °C, can be null, is optional
} // consists of any number of unique properties, all representing temperature measurements
// in case of multiple environmental sensors that are read out, can be many
"scheduled": true, // false for "extra" measurements (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