Skip to content

Modbus TCP

The Teleport can be configured to have a local Modbus TCP server running. By default it is disabled.

Conventions

  • Values are in big-endian word order.
  • The highest allowed value of the type is used to signal null, eg. 2^16 - 1 for UInt16 and 2^31 - 1 for Int32.
  • Unlisted addresses for listed Unit IDs will return 2^16 - 1.
  • In case the unit includes a number, e.g. 0.001 °C, it means that the value is scaled. E.g. with the unit being 0.001 °C, a register with value 1000 represents 1.000 °C, i.e. the register should be multiplied by 0.001 to get the actual value.

Register

Teleport Device

On Unit ID 0 a Modbus TCP client can interact with the Teleport device.

ItemStart addressSizeTypeUnitR/WNotes
Heartbeat01UInt16R/W1Value does not matter. Modbus server power limits are removed if there is no heartbeat for 60 seconds. Any other write is also counted as a heartbeat
Unix timestamp14UInt64msR
Number of assets configured51UInt16RThe number of assets the Teleport should be connected to.
Number of connected assets61UInt16RThe number of assets the Teleport is connected to.

Aggregated solar and wind assets

At Unit ID 1 a Modbus TCP client can control and readout all connected solar and wind assets together. Aggregated statistics are provided for connected assets. Be aware that these statistics are partial aggregates if (and only if) registers 0 and 1 are not equal. To avoid drawing incorrect conclusions by reading out registers 0 and 1 at a different time than the aggregate statistics, it is advisable to read out all required registers of this Unit ID in a single request.

ItemStart addressSizeTypeUnitR/WNotes
Number of solar and wind assets configured01UInt16RThe number of assets the Teleport should be connected to.
Number of connected solar and wind assets11UInt16RThe number of assets the Teleport is connected to.
Nominal active power of configured solar and wind assets22UInt32WRThe sum of the values from the assets the Teleport should be connected to.
Nominal active power of connected assets212UInt32WRThe sum of the values from the assets the Teleport is connected to.
Combined target active power limit of connected assets311UInt160.01%RThe minimum of setpoints from the various sources listed here, corrected for static limits. Is null if it differs between connected assets.
Target active power limit from modbus server of connected assets321UInt160.01%R/W1As set through the local modbus interface of the Teleport. Writing null (2^16 - 1) means that there is no limit. Overwrites the individual limits set using Unit ID >= 100. Is null if it differs between connected assets.
Target active power limit from cloud of connected assets331UInt160.01%RAs set through the Teleport Cloud API using limitProductionPower commands. Is null if it differs between connected assets.
Target active power limit from realtime interface of connected assets341UInt160.01%RAs set through the Realtime Interface by the grid operator. Is null if it differs between connected assets.
Target active power limit from local active control of connected assets351UInt160.01%RAs set by the Teleport as the result of a control strategy. Is null if it differs between connected assets.
Target active power limit aFRR-delta of connected assets362Int32WRAs set through the Teleport Cloud API using applyAfrrDeltaSetpoint commands. Is the sum of connected assets.
Target active power limit aFRR-delta of connected assets381Int160.01%RAs set through the Teleport Cloud API using applyAfrrDeltaSetpoint commands. Is null if it differs between connected assets.
Effective active power limit of connected assets501UInt160.01%RIs null if it differs between connected assets.
Active power of connected assets512Int32WRThe sum of the values read out from the connected assets.
Available active power of connected assets532Int32WRThe sum of the values read out from the connected asset or calculated using an asset like a pyranometer.

Individual wind or solar asset

Starting at Unit ID 100 a Modbus TCP client can control and readout an individual asset. The second asset is available at Unit ID 101 and so on. The number of assets can be retrieved from register 1 of Unit ID 1 (see above).

ItemStart addressSizeTypeUnitR/WNotes
Asset type01UInt16R1 = solar, 2 = wind, 3 = battery.
Asset identifier120ascii stringRUniquely identifies the asset within the assets connected to this Teleport device.
Nominal active power212UInt32WR
Combined target active power limit311UInt160.01%RThe minimum of setpoints from the various sources listed here, corrected for static limits.
Target active power limit from modbus server321UInt160.01%R/W1As set through the local modbus interface of the Teleport. Writing null (2^16 - 1) means that there is no limit. Overwrites the limit set on Unit ID 1 for this asset.
Target active power limit from cloud331UInt160.01%RAs set through the Teleport Cloud API using limitProductionPower commands.
Target active power limit from realtime interface341UInt160.01%RAs set through the Realtime Interface by the grid operator.
Target active power limit from local active control351UInt160.01%RAs set by the Teleport as the result of a control strategy.
Target active power limit aFRR-delta362Int32WRAs set through the Teleport Cloud API using applyAfrrDeltaSetpoint commands.
Target active power limit aFRR-delta381Int160.01%RAs set through the Teleport Cloud API using applyAfrrDeltaSetpoint commands.
Effective active power limit501UInt160.01%RAs read out from the solar or wind asset.
Active power512Int32WRAs read out from the solar or wind asset.
Available active power532Int32WRAs read out from the solar or wind asset or calculated using an asset like a pyranometer.
Number of environmental sensors1001Uint16RBetween 0 and 20 environmental sensors.
Environmental sensor data10004000REnvironmental sensor data, as described in Environmental Sensors.

Environmental sensors

The following table describes the data of an environmental sensor. The starting address is offset by the index of the environmental sensor multiplied by 200, plus the offset of the environmental sensor data in the table that refers to this section. For example, with a starting register of 1000, the starting address of the first sensor is 1000 and the starting address of the second sensor is 1200.

ItemStart addressSizeTypeUnitR/WNotes
Environmental sensor type01UInt16R1 = irradiance, 2 = temperature, 3 = wind.
Sensor identifier130ascii stringR
Irradiance factor312UInt32R
Irradiance332UInt320.001 W/m²R
Wind speed402UInt320.001 m/sR
Number of temperature measurements901Uint16RBetween 0 and 10 temperature measurements.
Temperature measurement 1912Int320.001 °CR
Temperature measurement 2932Int320.001 °CR
Temperature measurement 3952Int320.001 °CR
Temperature measurement 4972Int320.001 °CR
Temperature measurement 5992Int320.001 °CR
Temperature measurement 61012Int320.001 °CR
Temperature measurement 71032Int320.001 °CR
Temperature measurement 81052Int320.001 °CR
Temperature measurement 91072Int320.001 °CR
Temperature measurement 101092Int320.001 °CR

Individual Battery

Starting at Unit ID 100 a Modbus TCP client can control and readout an individual asset. The second asset is available at Unit ID 101 and so on. The number of assets can be retrieved from the Teleport Device with Unit ID 0.

NameAddress StartSizeTypeUnitAccessNotes
Asset type01UInt16R1 = solar, 2 = wind, 3 = battery.
Asset identifier130ascii stringRUniquely identifies the asset within the assets connected to this Teleport device.
Nominal active power312UInt32WR
Rated energy332UInt32WhR
Battery Status401UInt16R1 = off, 2 = on, 3 = other.
Energy charged414UInt64WhR
Energy discharged454UInt64WhR
Frequency491UInt160.001 HzR
Active power502Int32WRPositive means discharging, negative charging.
Reactive power522Int32varRPositive = injecting, negative = absorbing.
Power factor541Int160.001RPositive = capacitive (quadrants 2 & 4), Negative = inductive (quadrants 1 & 3).
State of charge551UInt160.01%R
State of health561UInt160.01%R
Available energy572UInt32WhR
Available active power - charge592UInt32WR
Available active power - discharge612UInt32WR
Available reactive power - inject632UInt32varR
Available reactive power - absorb652UInt32varR
Three-phase connection type - high voltage671UInt16R1 = wye, 2 = delta.
AC voltage medium voltage phase L1682UInt320.001 VR
AC voltage medium voltage phase L2702UInt320.001 VR
AC voltage medium voltage phase L3722UInt320.001 VR
AC voltage medium voltage line L1742UInt320.001 VR
AC voltage medium voltage line L2762UInt320.001 VR
AC voltage medium voltage line L3782UInt320.001 VR
AC current medium voltage phase L1802Int320.001 ARPositive = delivering to grid.
AC current medium voltage phase L2822Int320.001 ARPositive = delivering to grid.
AC current medium voltage phase L3842Int320.001 ARPositive = delivering to grid.
AC current medium voltage line L1862Int320.001 ARPositive = delivering to grid.
AC current medium voltage line L2882Int320.001 ARPositive = delivering to grid.
AC current medium voltage line L3902Int320.001 ARPositive = delivering to grid.
Auxiliary active power922Int32WRNegative means consuming, positive generating (will be negative or 0).
Auxiliary reactive power942Int32varRNegative means consuming, positive generating (will be negative or 0).
Output active power setpoint962Int32WRActive power setpoint. Positive = discharging, negative = charging.
reserved984
Output Deliver FCR setpoint1022Int32WRActive power setpoint. Positive = discharging, negative = charging.
Output charge to percentage setpoint1041UInt160.01%RActive power setpoint. Positive = discharging, negative = charging.
Output aggregate active power setpoint1052Int32WRAggregate active power setpoint. Positive = discharging, negative = charging.
reserved1072
Confirmed active power setpoint1092Int32WRPositive = discharging, negative = charging.
reserved1114
Confirmed deliverFCR setpoint1152Int32WRActive power setpoint. Positive = discharging, negative = charging.
Confirmed chargeToPercentage1171UInt160.01%R
Desired active power setpoint - cloud1182Int32WR
Desired active power setpoint - activeControl1202Int32WR
Desired active power setpoint - gridOperator1222Int32WR
Desired active power setpoint - modbusServer1242Int32WR/W
reserved12616
Desired chargeToPercentage (cloud)1421UInt160.01%R
Desired deliverFCR (cloud)1432Int32WRPositive = discharging, negative = charging.
Effective active power setpoint1452Int32WRPositive = discharging, negative = charging.
reserved1474
Number of battery energy storage systems1511UInt16RBetween 0 and 20 battery energy storage systems.
Battery energy storage systems data100060000BESS data, as described in Battery energy storage systems.

Battery energy storage systems

The following table describes the data of a battery energy storage system (BESS). A BESS is a subdivision of a battery system with its own AC output. The starting address is offset by the index of the BESS multiplied by 3000, plus the offset of the battery energy storage systems data in the table that refers to this section. For example, with a starting register of 1000, the starting address of the first BESS is 1000 and the starting address of the second BESS is 4000.

NameAddress StartSizeTypeUnitAccessNotes
BESS identifier030ascii stringRBrand and serial number of the BESS, or its index if not available.
Minimum cell temperature302Int320.001 °CR
Maximum cell temperature322Int320.001 °CR
Room temperature342Int320.001 °CR
State of charge361UInt160.01%R
Available energy372UInt32WhRAvailable energy for charge/discharge.
Available active power - charge392UInt32WRPower the BESS can absorb.
Available active power - discharge412UInt32WRPower the BESS can deliver.
Three-phase connection type - low voltage431UInt16R1 = wye, 2 = delta.
AC voltage low voltage phase L1442UInt320.001 VR
AC voltage low voltage phase L2462UInt320.001 VR
AC voltage low voltage phase L3482UInt320.001 VR
AC voltage low voltage line L1502UInt320.001 VR
AC voltage low voltage line L2522UInt320.001 VR
AC voltage low voltage line L3542UInt320.001 VR
AC current low voltage phase L1562Int320.001 ARPositive = delivering to grid.
AC current low voltage phase L2582Int320.001 ARPositive = delivering to grid.
AC current low voltage phase L3602Int320.001 ARPositive = delivering to grid.
AC current low voltage line L1622Int320.001 ARPositive = delivering to grid.
AC current low voltage line L2642Int320.001 ARPositive = delivering to grid.
AC current low voltage line L3662Int320.001 ARPositive = delivering to grid.
Number of racks991UInt16RBetween 0 and 28 racks.
Rack data2002800Rack data as described in Racks.

Racks

The following table describes data of a rack within a BESS. A rack is a subdivision of a BESS with its own DC output. The starting address is offset by the index of the rack multiplied by 100, plus the offset of the racks data in the table that refers to this section. For example, with a starting register of 1000 for the BESS and 200 for the rack, the starting address of the first rack is 1200 and the starting address of the second rack is 1300.

NameAddress StartSizeTypeUnitAccessNotes
Rack identifier030ascii stringRBrand and serial number of the rack, or its index if not available
Rack status301UInt16R1 = off, 2 = on, 3 = other.
State of charge311UInt160.01%R
DC voltage322UInt320.001 VR
DC current342Int320.001 ARPositive = delivering to grid.
Minimum cell temperature362Int320.001 °CR
Minimum cell temperature ID381UInt16RID of the cell with the maximum temperature.
Maximum cell temperature392Int320.001 °CR
Maximum cell temperature ID411UInt16RID of the cell with the maximum temperature.
Minimum cell voltage422UInt320.001 VR
Minimum cell voltage ID441UInt16RID of the cell with the minimum voltage.
Maximum cell voltage452UInt320.001 VR
Maximum cell voltage ID471UInt16RID of the cell with the maximum voltage.
Average cell voltage482UInt320.001 VR

Footnotes

  1. In read-only mode, a write request will be rejected with an Modbus exception code 2, illegal data address. 2 3