Forwarding to a MySQL database
We forward messages to a MySQL database by inserting rows into the table(s) we have been granted the INSERT
and SELECT
rights to.
Below the schemas for the following messages can be found:
Solar power
Solar assets produce two types of messages: regular messages and environmental sensor messages.
Regular messages
The schema for messages forwarded from a Teleport device that is connected to a solar inverter:
- The
active_power_limit_percentage
field is deprecated and replaced bysetpoints_confirmed_active_power_limit_percentage
.
CREATE TABLE `teleport_solar_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `active_power` decimal(23,3) DEFAULT NULL, -- in W `reactive_power` decimal(23,3) DEFAULT NULL, -- in var `power_factor` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `generated_energy` decimal(23,3) DEFAULT NULL, -- in Wh `setpoints_confirmed_active_power_limit_percentage` decimal(4, 1) DEFAULT NULL, -- in % `setpoints_confirmed_active_power_limit` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_confirmed_reactive_power_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_confirmed_reactive_power_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_confirmed_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_desired_active_power_limit_cloud` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_active_control` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_grid_operator` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_modbus_server` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_afrr_delta` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_afrr_reference` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_reactive_power_cloud_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_desired_reactive_power_cloud_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_desired_reactive_power_cloud_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_desired_reactive_power_grid_operator_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_desired_reactive_power_grid_operator_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_desired_reactive_power_grid_operator_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_effective_active_power_limit` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_effective_reactive_power_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_effective_reactive_power_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_effective_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `alarms` JSON DEFAULT NULL, -- See solar alarms under error codes section. Empty if inverter-specific alarms are present in inverter array. If not null, will contain a JSON aray of string elements. `scheduled` tinyint(1) DEFAULT NULL, `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`,`asset_identifier`,`measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_solar_power_inverters` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, `asset_identifier` varchar(128) NOT NULL, `slave_id` INT NOT NULL, `attempt` INT NOT NULL, `active_power` decimal(23,3) DEFAULT NULL, -- in W `reactive_power` decimal(23,3) DEFAULT NULL, -- in var `power_factor` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `generated_energy` decimal(23, 3) DEFAULT NULL, `setpoints_confirmed_active_power_limit_percentage` decimal(4, 1) DEFAULT NULL, -- in % `setpoints_confirmed_active_power_limit` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_confirmed_reactive_power_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_confirmed_reactive_power_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_confirmed_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `alarms` JSON DEFAULT NULL, `scheduled` tinyint(1) NOT NULL, `measured_at` datetime NOT NULL, `created_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY inverter (`slave_id`, `created_at`), KEY teleport (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY teleport_asset (`teleport_hash_id`, `asset_identifier`, `slave_id`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_solar_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `active_power` decimal(23,3) DEFAULT NULL, -- in W `generated_energy` decimal(23,3) DEFAULT NULL, -- in Wh `active_power_limit_percentage` decimal(4,1) DEFAULT NULL, `alarms` JSON DEFAULT NULL, -- See solar alarms under error codes section. Empty if inverter-specific alarms are present in inverter array. If not null, will contain a JSON aray of string elements. `scheduled` tinyint(1) DEFAULT NULL, `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`,`asset_identifier`,`measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
CREATE TABLE `teleport_solar_power_inverters` ( `teleport_hash_id` varchar(32) NOT NULL, `asset_identifier` varchar(128) NOT NULL, `slave_id` INT NOT NULL, `attempt` INT NOT NULL, `active_power` decimal(23, 3) DEFAULT NULL, `generated_energy` decimal(23, 3) DEFAULT NULL, `active_power_limit_percentage` decimal(4, 1) DEFAULT NULL, `alarms` JSON DEFAULT NULL, `scheduled` tinyint(1) NOT NULL, `measured_at` datetime NOT NULL, `created_at` datetime NOT NULL, KEY inverter (`slave_id`, `created_at`), KEY teleport (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY teleport_asset (`teleport_hash_id`, `asset_identifier`, `slave_id`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
Environmental sensor messages
The schema for messages forwarded from a Teleport device that is connected to a solar inverter with an envrionmental sensor:
CREATE TABLE `teleport_environmental_sensors` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, `asset_identifier` varchar(128) NOT NULL, `sensor_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` INT NOT NULL, `irradiance` decimal(23, 3) DEFAULT NULL, -- in W/m² `irradiance_factor` decimal(23, 3) DEFAULT NULL, -- 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) `wind_speed` decimal(8, 3) DEFAULT NULL, -- in m/s `scheduled` tinyint(1) NOT NULL, `measured_at` datetime NOT NULL, `created_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY sensor (`sensor_identifier`, `created_at`), KEY teleport (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY teleport_asset (`teleport_hash_id`, `asset_identifier`, `sensor_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":1}';
CREATE TABLE `teleport_environmental_sensors_temperature` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, `asset_identifier` varchar(128) NOT NULL, `sensor_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` INT NOT NULL, `name` varchar(128) NOT NULL, -- representing temperature measurement `temperature` decimal(6,2) DEFAULT NULL, -- in °C `scheduled` tinyint(1) NOT NULL, `measured_at` datetime NOT NULL, `created_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY sensor_temperature (`name`, `created_at`), KEY sensor (`sensor_identifier`, `created_at`), KEY teleport (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY teleport_asset (`teleport_hash_id`, `asset_identifier`, `sensor_identifier`, `name`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":1}';
Wind power
The schema for messages forwarded from a Teleport device that is connected to a wind energy converter:
- The
active_power_limit_percentage
field is deprecated and replaced bysetpoints_confirmed_active_power_limit_percentage
.
CREATE TABLE `teleport_wind_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `active_power` decimal(23,3) DEFAULT NULL, -- in W `reactive_power` decimal(23,3) DEFAULT NULL, -- in var `power_factor` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `wind_speed` decimal(8,3) DEFAULT NULL, -- in m/s `available_active_power` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_current_wind` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_technical` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_force_majeure` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_external_setpoints` decimal(23,3) DEFAULT NULL, -- in W `setpoints_confirmed_active_power_limit_percentage` decimal(4, 1) DEFAULT NULL, -- in % `setpoints_confirmed_active_power_limit` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_confirmed_reactive_power_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_confirmed_reactive_power_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_confirmed_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_desired_active_power_limit_cloud` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_active_control` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_grid_operator` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_modbus_server` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_afrr_delta` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_active_power_limit_afrr_reference` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_desired_reactive_power_cloud_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_desired_reactive_power_cloud_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_desired_reactive_power_cloud_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_desired_reactive_power_grid_operator_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_desired_reactive_power_grid_operator_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_desired_reactive_power_grid_operator_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_effective_active_power_limit` decimal(23, 3) DEFAULT NULL, -- in W `setpoints_effective_reactive_power_reactive_power` decimal(23, 3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_effective_reactive_power_power_factor` decimal(5, 4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_effective_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `generated_energy` decimal(23,3) DEFAULT NULL, -- in Wh `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_wind_power_converters` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `converter_identifier` varchar(128) NOT NULL, -- serial number of the converter `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `active_power` decimal(23,3) DEFAULT NULL, -- in W `reactive_power` decimal(23,3) DEFAULT NULL, -- in var `power_factor` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `wind_speed` decimal(8,3) DEFAULT NULL, -- in m/s `generated_energy` decimal(23,3) DEFAULT NULL, -- in Wh `status` varchar(32) DEFAULT NULL, -- can be "running", "on", "pause", "stop" `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `converter` (`converter_identifier`, `created_at`), KEY `teleport` (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY `teleport_asset_converter` (`teleport_hash_id`, `asset_identifier`, `converter_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_wind_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `active_power` decimal(23,3) DEFAULT NULL, -- in W `wind_speed` decimal(8,3) DEFAULT NULL, -- in m/s `available_active_power` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_current_wind` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_technical` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_force_majeure` decimal(23,3) DEFAULT NULL, -- in W `constrained_available_active_power_external_setpoints` decimal(23,3) DEFAULT NULL, -- in W `active_power_limit_percentage` decimal(4,1) DEFAULT NULL, `generated_energy` decimal(23,3) DEFAULT NULL, -- in Wh `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
CREATE TABLE `teleport_wind_power_converters` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `converter_identifier` varchar(128) NOT NULL, -- serial number of the converter `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `active_power` decimal(23,3) DEFAULT NULL, -- in W `wind_speed` decimal(8,3) DEFAULT NULL, -- in m/s `generated_energy` decimal(23,3) DEFAULT NULL, -- in Wh `status` varchar(32) DEFAULT NULL, -- can be "running", "on", "pause", "stop" `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `converter` (`converter_identifier`, `created_at`), KEY `teleport` (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY `teleport_asset_converter` (`teleport_hash_id`, `asset_identifier`, `converter_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
Battery power
Batteries produce two types of messages: regular messages and flash messages. Batteries report flash messages more often than regular messages (typically every second) and contain information that is needed for dispatching algorithms and to forward to the TSO when doing aFRR/FCR. For the strings that can occur in the errors and warnings properties, see Battery power error and warning codes.
Regular messages in full
An example of a request containing one message forwarded from a Teleport device that is connected to a battery:
- The
configuration
object is deprecated and replaced bysetpoints
. - Mappings are applied as follows:
configuration_dispatch_power_active_power
=setpoints_confirmed_active_power
.configuration_deliver_fcr_max_rate
=setpoints_confirmed_deliver_fcr
.configuration_charge_to_state_percentage
=setpoints_confirmed_charge_to_percentage
.
- Following properties are renamed and new columns are created
active_power_setpoint_dispatch_power
toactive_power_setpoint_active_power
active_power_setpoint_charge_to_state
toactive_power_setpoint_charge_to_percentage
CREATE TABLE `teleport_battery_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int NOT NULL, `battery_status` varchar(32) DEFAULT NULL, -- can be "on", "off", "other" or null (see warning and errors in case of 'other') `energy_charged` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `energy_discharged` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `frequency` decimal(7,2) DEFAULT NULL, -- in Hz, nonnegative `active_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `reactive_power` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `power_factor` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `state_of_health` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `available_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `rated_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `available_active_power_charge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_active_power_discharge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_reactive_power_inject` decimal(23,3) DEFAULT NULL, -- in var, nonnegative `available_reactive_power_absorb` decimal(23,3) DEFAULT NULL, -- in var, nonnegative `active_power_setpoint_active_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `active_power_setpoint_deliver_fcr` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `active_power_setpoint_charge_to_percentage` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `active_power_setpoint_aggregate` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `three_phase_connection_type_high_voltage` varchar(32) DEFAULT NULL, -- can be "wye" or "delta" `ac_voltage_medium_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_current_medium_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `auxiliary_power_active` decimal(23,3) DEFAULT NULL, -- in W, can be null. Negative means consuming, positive generating, will be negative or 0 `auxiliary_power_reactive` decimal(23,3) DEFAULT NULL, -- in Var, can be null. Negative means consuming, positive generating, will be negative or 0 `setpoints_confirmed_active_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging. `setpoints_confirmed_reactive_power_reactive_power` decimal(23,3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_confirmed_reactive_power_power_factor` decimal(5,4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_confirmed_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_confirmed_deliver_fcr` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `setpoints_confirmed_charge_to_percentage` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `setpoints_desired_active_power_cloud` decimal(23,3) DEFAULT NULL, -- in W `setpoints_desired_active_power_active_control` decimal(23,3) DEFAULT NULL, -- in W `setpoints_desired_active_power_grid_operator` decimal(23,3) DEFAULT NULL, -- in W `setpoints_desired_active_power_modbus_server` decimal(23,3) DEFAULT NULL, -- in W `setpoints_desired_reactive_power_cloud_reactive_power` decimal(23,3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_desired_reactive_power_cloud_power_factor` decimal(5,4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_desired_reactive_power_cloud_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_desired_reactive_power_grid_operator_reactive_power` decimal(23,3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_desired_reactive_power_grid_operator_power_factor` decimal(5,4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_desired_reactive_power_grid_operator_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `setpoints_desired_charge_to_percentage_cloud` decimal(7,4) DEFAULT NULL, -- in % `setpoints_desired_deliver_fcr_cloud` decimal(23,3) DEFAULT NULL, -- in W `setpoints_effective_active_power` decimal(23,3) DEFAULT NULL, -- in W `setpoints_effective_reactive_power_reactive_power` decimal(23,3) DEFAULT NULL, -- setpoint for "fixedReactivePower" mode, in var. `setpoints_effective_reactive_power_power_factor` decimal(5,4) DEFAULT NULL, -- setpoint for "fixedPowerFactor" mode, unitless. `setpoints_effective_reactive_power_mode` varchar(32) DEFAULT NULL, -- reactive power control mode, either "fixedReactivePower" or "fixedPowerFactor". `warnings` JSON DEFAULT NULL, -- if not null, will contain a JSON aray of string elements. see error codes section `errors` JSON DEFAULT NULL, -- if not null, will contain a JSON array of string elements. see error codes section `schedule_complete_until` datetime DEFAULT NULL, -- first gap in the schedule for this asset_identifier `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_battery_power_bess` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `bess_identifier` varchar(128) NOT NULL, `attempt` int NOT NULL, `cell_temperature_min` decimal(6,2) DEFAULT NULL, -- in ºC, min value of all cells `cell_temperature_max` decimal(6,2) DEFAULT NULL, -- in ºC, max value of all cells `room_temperature` decimal(6,2) DEFAULT NULL, -- in ºC, max value of all cells `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `available_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `available_active_power_charge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_active_power_discharge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `three_phase_connection_type_low_voltage` varchar(32) DEFAULT NULL, -- can be "wye" or "delta" `ac_voltage_low_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_current_low_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `warnings` JSON DEFAULT NULL, -- if not null, will contain a JSON aray of string elements. see error codes section `errors` JSON DEFAULT NULL, -- if not null, will contain a JSON array of string elements. see error codes section `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `bess` (`bess_identifier`,`created_at`), KEY `teleport` (`teleport_hash_id`,`asset_identifier`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `bess_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_battery_power_bess_rack` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `bess_identifier` varchar(128) NOT NULL, `rack_identifier` varchar(128) NOT NULL, `attempt` int NOT NULL, `rack_status` varchar(32) DEFAULT NULL, -- can be "on", "off", "other" or null (see warning and errors in case of 'other') `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative, can be null `dc_voltage` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `dc_current` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `cell_temperature_min` decimal(6,2) DEFAULT NULL, -- in ºC, can be null, min value of all cells in the rack `cell_temperature_cell_id_min` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the lowest temperature in the rack `cell_temperature_max` decimal(6,2) DEFAULT NULL, -- in ºC, can be null, max value of all cells in the rack, `cell_temperature_cell_id_max` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the highest temperature in the rack `cell_voltage_min` decimal(6,3) DEFAULT NULL, -- in V, can be null, min value of all cells in the rack `cell_voltage_cell_id_min` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the lowest voltage in the rack `cell_voltage_max` decimal(6,3) DEFAULT NULL, -- in V, can be null, max value of all cells in the rack `cell_voltage_cell_id_max` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the highest voltage in the rack `cell_voltage_average` decimal(6,3) DEFAULT NULL, -- in V, can be null, average value of all cells in the rack `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `bess` (`bess_identifier`,`created_at`), KEY `bess_rack` (`rack_identifier`,`created_at`), KEY `teleport` (`teleport_hash_id`,`asset_identifier`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `bess_identifier`, `rack_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":5}';
CREATE TABLE `teleport_battery_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int NOT NULL, `battery_status` varchar(32) DEFAULT NULL, -- can be "on", "off", "other" or null (see warning and errors in case of 'other') `energy_charged` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `energy_discharged` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `frequency` decimal(7,2) DEFAULT NULL, -- in Hz, nonnegative `active_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `reactive_power` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `state_of_health` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `available_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `rated_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `available_active_power_charge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_active_power_discharge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_reactive_power_inject` decimal(23,3) DEFAULT NULL, -- in var, nonnegative `available_reactive_power_absorb` decimal(23,3) DEFAULT NULL, -- in var, nonnegative `active_power_setpoint_dispatch_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `active_power_setpoint_deliver_fcr` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `active_power_setpoint_charge_to_state` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `active_power_setpoint_aggregate` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `three_phase_connection_type_high_voltage` varchar(32) DEFAULT NULL, -- can be "wye" or "delta" `ac_voltage_medium_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_medium_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_current_medium_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_medium_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `auxiliary_power_active` decimal(23,3) DEFAULT NULL, -- in W, can be null. Negative means consuming, positive generating, will be negative or 0 `auxiliary_power_reactive` decimal(23,3) DEFAULT NULL, -- in Var, can be null. Negative means consuming, positive generating, will be negative or 0 `configuration_dispatch_power_active_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging. When dispatchPower is null but the battery system does not support stand-by mode, the Teleport will send a schedule with 0 W to the asset, while the reported dispatchPower is null. `configuration_deliver_fcr_max_rate` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `configuration_charge_to_state_percentage` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `warnings` JSON DEFAULT NULL, -- if not null, will contain a JSON aray of string elements. see error codes section `errors` JSON DEFAULT NULL, -- if not null, will contain a JSON array of string elements. see error codes section `schedule_complete_until` datetime DEFAULT NULL, -- first gap in the schedule for this asset_identifier `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
CREATE TABLE `teleport_battery_power_bess` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `bess_identifier` varchar(128) NOT NULL, `attempt` int NOT NULL, `cell_temperature_min` decimal(6,2) DEFAULT NULL, -- in ºC, min value of all cells `cell_temperature_max` decimal(6,2) DEFAULT NULL, -- in ºC, max value of all cells `room_temperature` decimal(6,2) DEFAULT NULL, -- in ºC, max value of all cells `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `available_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `available_active_power_charge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_active_power_discharge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `three_phase_connection_type_low_voltage` varchar(32) DEFAULT NULL, -- can be "wye" or "delta" `ac_voltage_low_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_voltage_low_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `ac_current_low_voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `ac_current_low_voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `warnings` JSON DEFAULT NULL, -- if not null, will contain a JSON aray of string elements. see error codes section `errors` JSON DEFAULT NULL, -- if not null, will contain a JSON array of string elements. see error codes section `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `bess` (`bess_identifier`,`created_at`), KEY `teleport` (`teleport_hash_id`,`asset_identifier`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `bess_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
CREATE TABLE `teleport_battery_power_bess_rack` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `bess_identifier` varchar(128) NOT NULL, `rack_identifier` varchar(128) NOT NULL, `attempt` int NOT NULL, `rack_status` varchar(32) DEFAULT NULL, -- can be "on", "off", "other" or null (see warning and errors in case of 'other') `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative, can be null `dc_voltage` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `dc_current` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `cell_temperature_min` decimal(6,2) DEFAULT NULL, -- in ºC, can be null, min value of all cells in the rack `cell_temperature_cell_id_min` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the lowest temperature in the rack `cell_temperature_max` decimal(6,2) DEFAULT NULL, -- in ºC, can be null, max value of all cells in the rack, `cell_temperature_cell_id_max` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the highest temperature in the rack `cell_voltage_min` decimal(6,3) DEFAULT NULL, -- in V, can be null, min value of all cells in the rack `cell_voltage_cell_id_min` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the lowest voltage in the rack `cell_voltage_max` decimal(6,3) DEFAULT NULL, -- in V, can be null, max value of all cells in the rack `cell_voltage_cell_id_max` int unsigned DEFAULT NULL, -- can be null, numeric ID of the cell with the highest voltage in the rack `cell_voltage_average` decimal(6,3) DEFAULT NULL, -- in V, can be null, average value of all cells in the rack `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `bess` (`bess_identifier`,`created_at`), KEY `bess_rack` (`rack_identifier`,`created_at`), KEY `teleport` (`teleport_hash_id`,`asset_identifier`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `bess_identifier`, `rack_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":4}';
Flash messages
Batteries report flash messages more often than regular messages (typically every second) and contain information that is needed for dispatching algorithms and to forward to the TSO when doing aFRR/FCR.
CREATE TABLE `teleport_battery_power_flash` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int NOT NULL, `frequency` decimal(7,2) DEFAULT NULL, -- in Hz, nonnegative `active_power` decimal(23,3) DEFAULT NULL, -- in W, positive means discharging, negative charging `state_of_charge` decimal(7,4) DEFAULT NULL, -- in %, nonnegative `available_energy` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `available_active_power_charge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `available_active_power_discharge` decimal(23,3) DEFAULT NULL, -- in W, nonnegative `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started `created_at` datetime NOT NULL, -- when written to the table PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":1}';
Thermal power
The schema for messages forwarded from a Teleport device that is connected to a thermal energy store:
CREATE TABLE `teleport_thermal_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `asset_clock_at` datetime DEFAULT NULL, -- time as reported by the asset, in UTC. Slight delay compared to measured_at could be explained by communication time with the asset `configuration_furnace_temperature_min` decimal(6,2) DEFAULT NULL, -- in ºC `configuration_furnace_temperature_max` decimal(6,2) DEFAULT NULL, -- in ºC `uptime_plc` int DEFAULT NULL, -- in minutes `uptime_system` int DEFAULT NULL, -- in minutes `uptime_furnaces` int DEFAULT NULL, -- in minutes `uptime_fan` int DEFAULT NULL, -- in minutes `warnings` JSON DEFAULT NULL, -- if not null, will contain a JSON aray of string elements. see error codes section `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":1}';
CREATE TABLE `teleport_thermal_power_furnaces` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `furnace_identifier` varchar(128) NOT NULL, -- serial number of the converter `attempt` int unsigned NOT NULL, -- 0-indexed delivery attempt `temperature` decimal(6,2) DEFAULT NULL, -- in ºC `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `furnace` (`furnace_identifier`, `created_at`), KEY `teleport` (`teleport_hash_id`, `asset_identifier`, `created_at`), UNIQUE KEY `teleport_asset_furnace` (`teleport_hash_id`, `asset_identifier`, `furnace_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":1}';
Meter power
The schema for messages forwarded from a Teleport device that is connected to a meter:
- The phase voltage values are mapped to corresponding phase voltage fields:
voltage_phase_l1 = phase_voltage_l1
,voltage_phase_l2 = phase_voltage_l2
,voltage_phase_l3 = phase_voltage_l3
.- The line voltage fields are set to NULL, based on the assumption that all connection types are wye-connected, where phase and line voltages are not equal.
- Current values are mapped to both phase and line fields, as in wye-connected metering, phase and line currents are equal:
current_phase_l1 = current_l1
,current_phase_l2 = current_l2
,current_phase_l3 = current_l3
.current_line_l1 = current_l1
,current_line_l2 = current_l2
,current_line_l3 = current_l3
.
CREATE TABLE `teleport_meter_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int NOT NULL, -- 0-indexed delivery attempt `voltage_phase_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `voltage_phase_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `voltage_phase_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `voltage_line_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `voltage_line_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `voltage_line_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `current_phase_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_phase_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_phase_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_line_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_line_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_line_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `three_phase_connection_type` varchar(32) DEFAULT NULL, -- can be "wye" or "delta" `active_power_l1` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `active_power_l2` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `active_power_l3` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `active_power_sum` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `reactive_power_l1` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `reactive_power_l2` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `reactive_power_l3` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `reactive_power_sum` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `apparent_power_l1` decimal(23,3) DEFAULT NULL, -- in VA, nonnegative `apparent_power_l2` decimal(23,3) DEFAULT NULL, -- in VA, nonnegative `apparent_power_l3` decimal(23,3) DEFAULT NULL, -- in VA, nonnegative `apparent_power_sum` decimal(23,3) DEFAULT NULL, -- in VA, nonnegative `power_factor_l1` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `power_factor_l2` decimal(5, 4) DEFAULT NULL, -- unitless. 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. `power_factor_l3` decimal(5, 4) DEFAULT NULL, -- unitless. 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` decimal(7,2) DEFAULT NULL, -- in Hz, nonnegative `active_energy_consumed_l1` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_consumed_l2` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_consumed_l3` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_consumed_sum` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_l1` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_l2` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_l3` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_sum` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `errors` JSON DEFAULT NULL, -- if not null, will contain a JSON array of string elements. see error codes section `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":2}';
CREATE TABLE `teleport_meter_power` ( `id` int unsigned NOT NULL AUTO_INCREMENT, `teleport_hash_id` varchar(32) NOT NULL, -- uniquely identifies the teleport device `asset_identifier` varchar(128) NOT NULL, -- globally unique identifier of the asset, when available the brand and serial number of the asset `attempt` int NOT NULL, -- 0-indexed delivery attempt `phase_voltage_l1` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `phase_voltage_l2` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `phase_voltage_l3` decimal(23,3) DEFAULT NULL, -- in V, nonnegative `current_l1` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_l2` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `current_l3` decimal(23,3) DEFAULT NULL, -- in A, delivering to the grid is a positive value `active_power_l1` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `active_power_l2` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `active_power_l3` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `active_power_sum` decimal(23,3) DEFAULT NULL, -- in W, delivering to the grid is a positive value `reactive_power_l1` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `reactive_power_l2` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `reactive_power_l3` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `reactive_power_sum` decimal(23,3) DEFAULT NULL, -- in var, positive is injecting reactive power to the grid and negative is absorbing reactive power `frequency` decimal(7,2) DEFAULT NULL, -- in Hz, nonnegative `active_energy_consumed_l1` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_consumed_l2` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_consumed_l3` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_consumed_sum` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_l1` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_l2` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_l3` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `active_energy_delivered_sum` decimal(23,3) DEFAULT NULL, -- in Wh, nonnegative `errors` JSON DEFAULT NULL, -- if not null, will contain a JSON array of string elements. see error codes section `scheduled` tinyint(1) NOT NULL, -- false for measurements that are not part of the regular reporting interval, eg. directly after command execution and at Teleport initialisation `measured_at` datetime NOT NULL, -- when read-out started, in UTC `created_at` datetime NOT NULL, -- when row was written, in UTC PRIMARY KEY (`id`), KEY `teleport` (`teleport_hash_id`,`created_at`), UNIQUE KEY `teleport_asset` (`teleport_hash_id`, `asset_identifier`, `measured_at`)) ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='{"version":1}';