MiroxMirox
  • Platform

    • Philosophy
    • Platform Overview
    • Platform Resources
  • Mirox-Cloud

    • Cloud Overview
    • Connected Microservices
  • Mirox-Agent

    • Agent Overview
    • Deployment Options
    • Data Scraper
    • Digital Twin
  • Technical Details

    • Metric Collection
  • Information

    • Supported Plants
  • Plant Types

    • Solar Plants
    • Wind Plants
    • Battery Storage
    • Alarm System
  • Monitoring & Visualization

    • Real-time Monitoring
    • Digital Twin
    • Component States
    • Inverter Status Codes
    • Inverter Events
    • Loss Detection
    • Power Limits & Curtailment
    • Efficiency Detection
    • KPI Dashboard
  • Data Management

    • Events
    • Tickets
    • Forecasts
    • Reports
  • Integration & Sharing

    • Cooperations
    • API Tokens
    • VPN
    • Proxy
  • AI

    • AI Assistant & Wizards
    • Agentic Access (MCP)
  • Billing

    • Market & Tariffs
    • Accounting & Billing
  • Collaboration

    • Invitations
  • Security

    • Authentication
    • Account Lockout
    • Permission System
    • Network Segmentation
    • Cooperation Restrictions
    • Access Audit Logging
    • Activity & Audit Trail
  • Nodes

    • mrxnode
  • Application

    • Door Control
    • Generic Relay
  • Edge Cluster

    • Orchestration
  • Getting Started

    • Onboarding
    • Setup
  • Personal

    • Using the VPN
    • Using the Proxy
    • Two-Factor Authentication
    • Sessions
    • API Tokens
    • Notifications
    • Connect Microsoft Teams
  • Per Park

    • Contacts
    • Network Devices
    • Data Loggers
    • Components
    • Direct VPN (per Agent)
    • Data Volume
    • History Import
  • Organization

    • Member Permissions
    • Cooperations
    • File Storage
    • VPN Services
  • Data Export

    • Export Metric API
    • MiroxQL Query Language
    • External Report Generation
    • Grafana
    • API Overview
  • Support

    • Request an Integration
  • mrxnode

    • Overview
    • How-To Guide
    • Container Deployment
    • Command Cheatsheet
    • Troubleshooting
  • Reporting

    • External Report Generator
    • Raw Data Export for Excel
  • Remote Access
  • AI in Mirox
  • History Import
  • English
  • Deutsch
  • Español
  • Français
  • Português
  • Italiano
  • English
  • Platform

    • Philosophy
    • Platform Overview
    • Platform Resources
  • Mirox-Cloud

    • Cloud Overview
    • Connected Microservices
  • Mirox-Agent

    • Agent Overview
    • Deployment Options
    • Data Scraper
    • Digital Twin
  • Technical Details

    • Metric Collection
  • Information

    • Supported Plants
  • Plant Types

    • Solar Plants
    • Wind Plants
    • Battery Storage
    • Alarm System
  • Monitoring & Visualization

    • Real-time Monitoring
    • Digital Twin
    • Component States
    • Inverter Status Codes
    • Inverter Events
    • Loss Detection
    • Power Limits & Curtailment
    • Efficiency Detection
    • KPI Dashboard
  • Data Management

    • Events
    • Tickets
    • Forecasts
    • Reports
  • Integration & Sharing

    • Cooperations
    • API Tokens
    • VPN
    • Proxy
  • AI

    • AI Assistant & Wizards
    • Agentic Access (MCP)
  • Billing

    • Market & Tariffs
    • Accounting & Billing
  • Collaboration

    • Invitations
  • Security

    • Authentication
    • Account Lockout
    • Permission System
    • Network Segmentation
    • Cooperation Restrictions
    • Access Audit Logging
    • Activity & Audit Trail
  • Nodes

    • mrxnode
  • Application

    • Door Control
    • Generic Relay
  • Edge Cluster

    • Orchestration
  • Getting Started

    • Onboarding
    • Setup
  • Personal

    • Using the VPN
    • Using the Proxy
    • Two-Factor Authentication
    • Sessions
    • API Tokens
    • Notifications
    • Connect Microsoft Teams
  • Per Park

    • Contacts
    • Network Devices
    • Data Loggers
    • Components
    • Direct VPN (per Agent)
    • Data Volume
    • History Import
  • Organization

    • Member Permissions
    • Cooperations
    • File Storage
    • VPN Services
  • Data Export

    • Export Metric API
    • MiroxQL Query Language
    • External Report Generation
    • Grafana
    • API Overview
  • Support

    • Request an Integration
  • mrxnode

    • Overview
    • How-To Guide
    • Container Deployment
    • Command Cheatsheet
    • Troubleshooting
  • Reporting

    • External Report Generator
    • Raw Data Export for Excel
  • Remote Access
  • AI in Mirox
  • History Import
  • English
  • Deutsch
  • Español
  • Français
  • Português
  • Italiano
  • English
  • Platform

    • Platform Philosophy
    • Platform Overview
    • Platform Resources
  • Mirox-Cloud

    • Cloud Overview
    • Connected Microservices
  • Mirox-Agent

    • Mirox-Agent
    • Agent Deployment Options
    • Data Scraper
    • Digital Twin
  • Technical Details

    • Metric Collection

Metric Collection

Mirox gathers performance data from your renewable energy plants into a single, standardized metric vocabulary — the foundation for every monitoring, analysis, reporting, and forecasting capability on the platform. This page is the reference catalog of what is measured and how the measurements are organized.

The full taxonomy spans 458 standardized metric names across twelve families: plant production (powerplant), battery storage, the site's alarm system, weather inputs, weather-derived models, and several operational families that describe the collection itself — network monitoring, the agents, the operator fleet, basic network reachability, and the scraper sources. The tables below document the families you will chart most often; the operational families are summarized in the Network Metrics and Agent Metrics sections.

Data Scraper Architecture

At the core of metric collection is the Data Scraper, the edge component that collects time-series data from your plants. Rather than a single generic protocol engine, it uses a dedicated adapter per device family (data loggers, inverters, meters, battery systems), each built for that vendor's interface. The Data Scraper can operate in two deployment modes:

Cloud-Based Collection

When deployed in the cloud:

  • Connects to solar parks via secure internet connections
  • Aggregates data from multiple sites centrally
  • Handles connection management and retry logic
  • Optimizes bandwidth usage through intelligent polling

Edge-Based Collection

When deployed at the edge (on-site):

  • Directly interfaces with local equipment for minimum latency
  • Operates with local buffering to handle internet outages
  • Performs preliminary data validation and filtering
  • Synchronizes with the cloud when connectivity is available

The dual-mode architecture ensures reliable data collection regardless of site connectivity conditions or system scale.

Collected Metrics

The metric collection system gathers a comprehensive set of measurements that provide complete visibility into renewable energy plant performance. Metrics are grouped along three orthogonal axes:

  • Site Metrics describe the physical site itself — its powerplant, its battery storage, its alarm system, and the weather around it.
  • Network Metrics describe the connectivity between the site and the cloud.
  • Agent Metrics describe the data-collection agents themselves — the scraper sources and the supporting infrastructure services running on the IoT device.

Site Metrics

Site metrics are the raw, time-series measurements collected directly from the equipment installed at a renewable energy site. They are partitioned by domain into the powerplant (PV inverters, grid connection, etc.), the battery energy storage system (BESS), the site's alarm system, and the weather (forecast and modelled).

Powerplant Metrics

Grid Metrics

Metric NameTypeUnit
powerplant_energy_grid_totalEnergyWh
powerplant_energy_grid_out_totalEnergyWh
powerplant_grid_energy_total_reactiveEnergyVArh
powerplant_grid_energy_total_apparentEnergyVAh
powerplant_power_gridPowerW
powerplant_grid_power_reactivePowerVAr
powerplant_grid_power_apparentPowerVA

Naming Convention Note

The powerplant_energy_grid_* and powerplant_power_grid metrics do not follow the standard naming pattern (powerplant_grid_energy_* and powerplant_grid_power) due to legacy reasons. Other grid metrics follow the standard powerplant_grid_* pattern. These legacy metric names will be updated to follow the standard pattern in a future release.

Inverter Metrics

Metric NameTypeUnit
powerplant_inverter_energy_ac_totalEnergyWh
powerplant_inverter_energy_dc_totalEnergyWh
powerplant_inverter_energy_consumed_totalEnergyWh
powerplant_inverter_power_acPowerW
powerplant_inverter_power_dcPowerW
powerplant_inverter_power_reactivePowerVAr
powerplant_inverter_power_maxPowerW
powerplant_inverter_setpoint_power_activeSetpointW
powerplant_inverter_setpoint_power_active_percentSetpoint%
powerplant_inverter_setpoint_power_reactiveSetpointVAr
powerplant_inverter_max_powerShutdown%
powerplant_inverter_voltage_acVoltageV
powerplant_inverter_current_acCurrentA
powerplant_inverter_voltage_dcVoltageV
powerplant_inverter_current_dcCurrentA
powerplant_inverter_resistance_isoResistanceOhm
powerplant_inverter_vendor_statusStatuscode
powerplant_inverter_cosPower Factor-
powerplant_inverter_frequencyFrequencyHz
powerplant_inverter_temperatureTemperature°C
powerplant_inverter_current_ac_phaseCurrentA
powerplant_inverter_voltage_ac__phase__L1_L2VoltageV
powerplant_inverter_voltage_ac__phase__L2_L3VoltageV
powerplant_inverter_voltage_ac__phase__L3_L1VoltageV
powerplant_inverter_current_ac__phase__L1CurrentA
powerplant_inverter_current_ac__phase__L2CurrentA
powerplant_inverter_current_ac__phase__L3CurrentA

Junction Box (GAK) Metrics

Metric NameTypeUnit
powerplant_gak_voltageVoltageV
powerplant_gak_currentCurrentA
powerplant_gak_powerPowerW
powerplant_gak_energy_totalEnergyWh
powerplant_gak_temperatureTemperature°C

String Metrics

Metric NameTypeUnit
powerplant_string_voltageVoltageV
powerplant_string_currentCurrentA
powerplant_string_powerPowerW
powerplant_string_energy_totalEnergyWh

Control Metrics

Metric NameTypeUnit
powerplant_max_power_by_gridShutdown%
powerplant_max_power_by_externalShutdown%
powerplant_max_power_by_external_wShutdownW
powerplant_max_power_by_localShutdown%
powerplant_battery_setpoint_externalControl%
powerplant_battery_setpoint_local_wControlW
powerplant_control_connection_gridControlbool
powerplant_control_connection_externalControlbool
powerplant_control_interface_readyControlbool
powerplant_power_maxPowerW
powerplant_max_power_sourceControl-

Irradiance Metrics

Metric NameTypeUnit
powerplant_solar_radiationIrradianceW/m²
powerplant_energy_irradiation_totalEnergyWh
powerplant_solar_ghi_referenceIrradianceW/m²
powerplant_solar_ghi_reference_energyEnergyWh

Environmental Metrics

Metric NameTypeUnit
powerplant_humidityHumidity%
powerplant_ambient_temperatureTemperature°C
powerplant_module_temperatureTemperature°C
powerplant_wind_speedWind Speedm/s
powerplant_wind_directionWind Direction°

Loss Metrics

Metric NameTypeUnit
powerplant_energy_loss_totalEnergyWh
powerplant_power_lossPowerW

Report Metrics

Metric NameTypeUnit
powerplant_power_reportPowerW
powerplant_energy_report_totalEnergyWh
powerplant_energy_radiation_totalEnergyWh

Digital Twin Metrics

Metric NameTypeUnit
powerplant_grid_power_simulationPowerW
powerplant_grid_energy_total_simulationEnergyWh
powerplant_grid_prrcPRRC-
powerplant_grid_sim_errError-
powerplant_inverter_power_ac_simulationPowerW
powerplant_inverter_energy_ac_total_simulationEnergyWh
powerplant_inverter_prrcPRRC-
powerplant_inverter_sim_errError-
powerplant_gak_power_simulationPowerW
powerplant_gak_energy_total_simulationEnergyWh
powerplant_gak_prrcPRRC-
powerplant_gak_sim_errError-
powerplant_string_power_simulationPowerW
powerplant_string_energy_total_simulationEnergyWh
powerplant_string_shadow_factorFactor-
powerplant_string_prrcPRRC-
powerplant_string_sim_errError-

Edge Analytics Metrics

The Data Scraper computes a set of analytics directly at the plant and publishes them as chartable series alongside the raw measurements. These are the series behind the platform's performance-ratio, curtailment and settlement features. Most families exist once per irradiance source — written <source> below, one of pyranometer (on-site sensors), satellite (satellite-derived irradiance for the site) or weather (modelled irradiance from meteorological data) — so each source keeps its own independent series and a drifting input can never silently distort the others.

Irradiance & modelled production

The plane-of-array irradiance each source sees, and the theoretical (uncurtailed) plant output modelled from it. One set per source — 13 series in total.

Metric Name PatternTypeUnitDescription
powerplant_<source>_radiation_powerIrradianceW/m²Plane-of-array irradiance from this source — the sunlight actually hitting the modules.
powerplant_<source>_radiation_energy_totalEnergyWh/m²Cumulative irradiation integrated from the series above.
powerplant_pyranometer_ghi_radiation_powerIrradianceW/m²Cleaned plant-mean horizontal irradiance (GHI) — only present when the plant has horizontal pyranometers.
powerplant_<source>_powerPowerWTheoretical plant output modelled from this source's irradiance and the plant's module orientations.
powerplant_<source>_energy_totalEnergyWhCumulative modelled energy.
Performance ratio

Actual production compared against the modelled production — one independent PR lane per irradiance source, at plant level. See Expected Power and Performance Ratio for how the filters work.

Metric Name PatternTypeUnitDescription
powerplant_<source>_prPerformance Ratio-Measured production over modelled production.
powerplant_<source>_pr_filterFilter-Per-filter breakdown — which quality filter (low light, clipping, curtailment, frost/snow/fog, data gaps) excluded a moment from the clean PR.
powerplant_<source>_pr_validityValiditybool1 when the moment passed every filter and counts toward the trustworthy PR.
Expected power & energy

The PR-calibrated expectation — the modelled production scaled by the plant's real-world efficiency. This is the baseline the component health watchdog holds live production against.

Metric Name PatternTypeUnitDescription
powerplant_<source>_expected_powerPowerWExpected plant output under the current conditions.
powerplant_<source>_expected_energy_totalEnergyWhCumulative expected energy.
Per-component model & performance ratio

The component-level analogue of the plant-wide model: theoretical output and PR of a single inverter, combiner box (GAK) or string, using that component's own orientation and peak power. Emitted for the weather and pyranometer sources; series carry the component's identity labels. <component> is one of inverter, gak, string — 12 series in total, plus the daily completion marker.

Metric Name PatternTypeUnitDescription
powerplant_<source>_<component>_powerPowerWModelled output of one component from this source's irradiance.
powerplant_<source>_<component>_prPerformance Ratio-Per-component performance ratio (clean, filtered values only).
powerplant_simulation_day_completeMarker-Stamped once per source and day when the day's model series are verified complete.
Live & forecast power lanes

Real-time and forward-looking production references.

Metric NameTypeUnitDescription
powerplant_pyranometer_live_powerPowerWReal-time PR-adjusted expected power from on-site sensors.
powerplant_satellite_live_powerPowerWReal-time PR-adjusted expected power from satellite irradiance.
powerplant_pyranometer_live_energy_totalEnergyWhCumulative energy of the pyranometer live lane.
powerplant_satellite_live_energy_totalEnergyWhCumulative energy of the satellite live lane.
powerplant_clearsky_powerPowerWTheoretical ideal-conditions (clear-sky) output — the physical ceiling for a settled day.
powerplant_clearsky_energy_totalEnergyWhCumulative clear-sky energy.
powerplant_weather_forecast_powerPowerWDay-ahead production forecast derived from weather data.
powerplant_weather_forecast_energy_totalEnergyWhCumulative forecast energy.
powerplant_clearsky_forecast_powerPowerWClear-sky forecast — the ideal-conditions ceiling for the forecast horizon.
powerplant_clearsky_forecast_energy_totalEnergyWhCumulative clear-sky forecast energy.
Curtailment

Foregone production attributed to its cause — <party> is grid (a grid-operator setpoint limits production) or marketer (the direct marketer's cap limits production). Each combination is emitted as instantaneous power and cumulative energy, in two variants: the settled series and a live series computed in real time. 24 series in total.

Metric Name PatternTypeUnitDescription
powerplant_<source>curtailment<party>_powerPowerWSettled curtailment loss — production foregone because of the binding curtailer.
powerplant_<source>curtailment<party>_energy_totalEnergyWhCumulative settled curtailment energy.
powerplant_<source>live_curtailment<party>_powerPowerWThe same attribution computed live, at real timestamps.
powerplant_<source>live_curtailment<party>_energy_totalEnergyWhCumulative live curtailment energy.
Settlement families

Series backing curtailment settlement and compensation. The fixed (flat-rate) family implements the source-independent settlement method: the reference is the average measured grid power over the 15 minutes before the curtailment began, frozen for the whole measure — no irradiance input needed. The Mischpreis family prices curtailment energy with the quarter-hourly German market mixed price, giving a revenue value in EUR per 15-minute interval.

Metric Name PatternTypeUnitDescription
powerplant_fixed_curtailment_<party>_powerPowerWFlat-rate curtailment loss against the frozen pre-curtailment reference.
powerplant_fixed_curtailment_<party>_energy_totalEnergyWhCumulative flat-rate curtailment energy.
powerplant_fixed_curtailment_reference_powerPowerWThe last valid uncurtailed reference power the flat-rate method freezes at curtailment onset.
powerplant_mischpreis_<variant>_<party>_revenueRevenueEURMarket value of the curtailed energy per 15-minute interval. <variant> is one of the curtailment lanes above: pyranometer, satellite, weather, their _live counterparts, or fixed — 14 series in total.

Battery Metrics

The battery_* family is the vendor-independent metric vocabulary for any Battery Energy Storage System (BESS). It follows a strict component hierarchy where instance identification lives in labels, not in the metric name:

battery_environment_*       ambient sensors around the BESS
battery_pcs_*               grid-tied Power Conversion System in front of the box
battery_box_*               a BESS box / container — the DC battery
└── battery_storage_*       a cabinet / rack inside the box
    └── battery_module_*    a module inside the cabinet
        └── battery_cell_*  an individual cell inside the module

The battery hierarchy (box → storage → module → cell) describes the DC battery itself. The PCS (battery_pcs_*) is the grid-tied AC↔DC converter that sits in front of the box — it owns the AC side of the BESS plus its own converter telemetry, and is identified per device by the pcs label. Modelling it as its own component lets the battery and its converter be collected as two independent devices for the same container without their series colliding.

This is a collection-only spec — adapters publish raw values exactly as the vendor exposes them, with no aggregations, derivations, _min / _max / _mean modifiers, or status / health flags. All interpretation, roll-ups and alarming are downstream concerns of the digital twin.

Two distinct kinds of "voltage"

The spec deliberately separates two physically different quantities that both happen to be measured in volts:

  • Cell voltage (*_cell_voltage) — the chemical terminal voltage produced by the cells. At the cell level it is the single-cell voltage (~3.2 V for an LFP cell). At higher levels it is the sum of all cell voltages on the same series string. It changes only with state-of-charge.
  • Interface voltage (*_voltage_dc, _dc_in, _dc_out) — what is being fed in or pulled out of the battery at its electrical terminals. Differs from the cell voltage by I·R during charge / discharge.

The two are physically the same number when the battery is at rest; they diverge by the IR drop the moment any current flows.

Direction-aware DC variants

For each DC quantity (voltage_dc, current_dc, power_dc) at the box, storage and module levels there are three variants: *_dc (signed, single register from the vendor), *_dc_in (always positive — value while charging) and *_dc_out (always positive — value while discharging). Adapters publish whichever variant(s) the vendor actually exposes.

Environment

Ambient sensors around the BESS — distinguished by the sensor label.

Metric NameTypeUnit
battery_environment_temperatureTemperature°C
battery_environment_humidityHumidity%

PCS Level

The grid-tied Power Conversion System — the AC↔DC converter in front of the battery box. It owns the AC side of the BESS (which the DC battery never measures), plus its own DC-bus reading, the battery state it relays, and converter-side telemetry. A PCS is a distinct device, identified by the pcs label; phase distinguishes per-phase AC quantities. Sign convention: positive = charging (grid → battery); direction is resolved from the directional energy counters, never from a status bit.

DC bus

The converter's own view of the DC link — the battery's authoritative DC state remains at box level.

Metric NameTypeUnitDescription
battery_pcs_voltage_dcVoltageVDC-bus voltage measured at the converter.
battery_pcs_current_dcCurrentADC current. Signed (+ = charging).
battery_pcs_power_dcPowerWDC power. Signed.
AC side
Metric NameTypeUnitDescription
battery_pcs_voltage_acVoltageVRMS line-to-line AC voltage.
battery_pcs_voltage_ac__phase__L1_L2VoltageVPer-phase (line-to-line) AC voltage.
battery_pcs_voltage_ac__phase__L2_L3VoltageVPer-phase (line-to-line) AC voltage.
battery_pcs_voltage_ac__phase__L3_L1VoltageVPer-phase (line-to-line) AC voltage.
battery_pcs_current_acCurrentARMS AC current.
battery_pcs_current_ac__phase__L1CurrentAPer-phase AC current.
battery_pcs_current_ac__phase__L2CurrentAPer-phase AC current.
battery_pcs_current_ac__phase__L3CurrentAPer-phase AC current.
battery_pcs_frequencyFrequencyHzAC frequency.
battery_pcs_power_acPowerWActive power, AC side. Signed.
battery_pcs_power_ac_inPowerWActive power into the battery (charging from grid). Always positive.
battery_pcs_power_ac_outPowerWActive power out of the battery (discharging to grid). Always positive.
battery_pcs_power_ac_reactiveReactive PowerVArReactive power, AC side. Signed.
battery_pcs_power_factorPower Factor-Power factor (−1…1).
Setpoints

Read-only view of the active dispatch targets.

Metric NameTypeUnitDescription
battery_pcs_power_ac_setpointSetpointWActive-power setpoint. Signed.
battery_pcs_power_ac_setpoint_reactiveSetpointVArReactive-power setpoint. Signed.
battery_pcs_power_factor_setpointSetpoint-Power-factor setpoint.
Energy counters

Published exactly as the device's own lifetime counters report them — separate directional counters, so no sign decision is needed.

Metric NameTypeUnitDescription
battery_pcs_energy_ac_in_totalEnergyWhLifetime AC energy charged into the battery.
battery_pcs_energy_ac_out_totalEnergyWhLifetime AC energy discharged from the battery.
Relayed battery state & converter limits

The PCS relays a battery-management summary and reports its own dynamic operating limits. Where the battery management system is collected directly, battery_box_soc is authoritative and the relayed value is redundant; on a PCS-only site it is the only state of charge available.

Metric NameTypeUnitDescription
battery_pcs_socState of Charge%State of charge relayed from the battery management system (0–100).
battery_pcs_current_limit_chargeLimitAMaximum allowed charge current (dynamic).
battery_pcs_current_limit_dischargeLimitAMaximum allowed discharge current.
battery_pcs_power_limit_chargeLimitWMaximum allowed charge power.
battery_pcs_power_limit_dischargeLimitWMaximum allowed discharge power.
battery_pcs_temperatureTemperature°CConverter temperature — the converter's thermal state, not a battery cell temperature.

Box Level

The top of the battery side — a BESS box / container. Required label: box. Optional labels: inverter, phase. AC-side metrics are only present when the AC↔DC conversion physically sits at box level.

AC-side energy flow
Metric NameTypeUnit
battery_box_voltage_acVoltageV
battery_box_voltage_ac__phase__L1_L2VoltageV
battery_box_voltage_ac__phase__L2_L3VoltageV
battery_box_voltage_ac__phase__L3_L1VoltageV
battery_box_current_acCurrentA
battery_box_current_ac__phase__L1CurrentA
battery_box_current_ac__phase__L2CurrentA
battery_box_current_ac__phase__L3CurrentA
battery_box_frequencyFrequencyHz
battery_box_power_acPowerW
battery_box_power_ac_inPowerW
battery_box_power_ac_outPowerW
battery_box_power_ac_reactiveReactive PowerVAr
battery_box_power_ac_setpointSetpointW
battery_box_power_ac_setpoint_reactiveSetpointVAr
battery_box_energy_ac_in_totalEnergyWh
battery_box_energy_ac_out_totalEnergyWh
DC-side interface
Metric NameTypeUnit
battery_box_voltage_dcVoltageV
battery_box_voltage_dc_inVoltageV
battery_box_voltage_dc_outVoltageV
battery_box_current_dcCurrentA
battery_box_current_dc_inCurrentA
battery_box_current_dc_outCurrentA
battery_box_power_dcPowerW
battery_box_power_dc_inPowerW
battery_box_power_dc_outPowerW
battery_box_energy_dc_in_totalEnergyWh
battery_box_energy_dc_out_totalEnergyWh
Chemistry & state
Metric NameTypeUnitDescription
battery_box_cell_voltageVoltage (sum)VSum of cell voltages on the box DC bus.
battery_box_socState of Charge%Box-wide state of charge (0–100).
battery_box_sohState of Health%Box-wide state of health (0–100).
battery_box_temperatureTemperature°CBox-level representative temperature.
battery_box_energy_nominalEnergyWhCell-installed nameplate energy at beginning-of-life. Drifts downward with SoH.
battery_box_energy_usableEnergyWhMaximum usable energy — the static BMS-allowed capacity that SoC = 100 % corresponds to (typically 85–95 % of _nominal).
battery_box_energy_chargedEnergyWhEnergy currently stored in the box, derived from soc / 100 × energy_usable.

Storage Level

A cabinet / rack inside a box. Required labels: box, storage. AC metrics are rare at this level — they are present only when the AC↔DC conversion physically sits at storage level.

AC-side energy flow

The same AC vocabulary as the box level, without per-phase or setpoint variants.

Metric NameTypeUnit
battery_storage_voltage_acVoltageV
battery_storage_current_acCurrentA
battery_storage_frequencyFrequencyHz
battery_storage_power_acPowerW
battery_storage_power_ac_inPowerW
battery_storage_power_ac_outPowerW
battery_storage_power_ac_reactiveReactive PowerVAr
battery_storage_energy_ac_in_totalEnergyWh
battery_storage_energy_ac_out_totalEnergyWh
DC-side interface
Metric NameTypeUnit
battery_storage_voltage_dcVoltageV
battery_storage_voltage_dc_inVoltageV
battery_storage_voltage_dc_outVoltageV
battery_storage_current_dcCurrentA
battery_storage_current_dc_inCurrentA
battery_storage_current_dc_outCurrentA
battery_storage_power_dcPowerW
battery_storage_power_dc_inPowerW
battery_storage_power_dc_outPowerW
battery_storage_energy_dc_in_totalEnergyWh
battery_storage_energy_dc_out_totalEnergyWh
Chemistry & state
Metric NameTypeUnitDescription
battery_storage_cell_voltageVoltage (sum)VSum of all cell voltages in the storage's series string.
battery_storage_socState of Charge%State of charge of this storage (0–100).
battery_storage_sohState of Health%State of health of this storage (0–100).
battery_storage_temperatureTemperature°CStorage-level representative temperature.
battery_storage_energy_nominalEnergyWhCell-installed nameplate energy of this storage (beginning-of-life).
battery_storage_energy_usableEnergyWhMaximum usable energy — the static BMS-allowed capacity that SoC = 100 % corresponds to (typically 85–95 % of _nominal).
battery_storage_energy_chargedEnergyWhEnergy currently stored, derived from soc / 100 × energy_usable.
battery_storage_comm_qualityQuality%Communication-link quality at storage level (0–100).

Module Level

A module inside a cabinet — the smallest unit that has its own BMS chip. Required labels: box, storage, module. AC metrics are practically never present here.

DC-side interface
Metric NameTypeUnit
battery_module_voltage_dcVoltageV
battery_module_voltage_dc_inVoltageV
battery_module_voltage_dc_outVoltageV
battery_module_current_dcCurrentA
battery_module_current_dc_inCurrentA
battery_module_current_dc_outCurrentA
battery_module_power_dcPowerW
battery_module_power_dc_inPowerW
battery_module_power_dc_outPowerW
battery_module_energy_dc_in_totalEnergyWh
battery_module_energy_dc_out_totalEnergyWh
Chemistry & state
Metric NameTypeUnitDescription
battery_module_cell_voltageVoltage (sum)VSum of cell voltages in this module's series string.
battery_module_socState of Charge%Module state of charge (0–100).
battery_module_sohState of Health%Module state of health (0–100).
battery_module_temperatureTemperature°CRepresentative module temperature.
battery_module_energy_nominalEnergyWhMaximum storable energy of this module.
battery_module_energy_usableEnergyWhMaximum usable energy — the static BMS-allowed capacity that SoC = 100 % corresponds to.
battery_module_energy_chargedEnergyWhEnergy currently stored, derived from soc / 100 × energy_usable.
battery_module_comm_qualityQuality%BMS comms quality between this module and its storage controller (0–100).

Cell Level

The smallest physical unit. Cells are series-connected within a module and share the module current, so per-cell current and power are not meaningful. Required labels: box, storage, module, cell.

Metric NameTypeUnit
battery_cell_voltageVoltageV
battery_cell_temperatureTemperature°C

Weather Forecast Metrics

Daily Weather Metrics

Metric NameTypeUnit
weather_forecast_daily_shortwave_radiation_sumRadiationWh/m²
weather_forecast_daily_precipitation_sumPrecipitationmm
weather_forecast_daily_rain_sumRainmm
weather_forecast_daily_showers_sumShowersmm
weather_forecast_daily_snowfall_sumSnowfallcm
weather_forecast_daily_precipitation_hoursDurationh
weather_forecast_daily_weather_codeCode-
weather_forecast_daily_temperature_2m_maxTemperature°C
weather_forecast_daily_wind_speed_10m_maxWind Speedm/s
weather_forecast_daily_wind_gusts_10m_maxWind Gustsm/s
weather_forecast_daily_wind_direction_10m_dominantWind Direction°

15-Minute Weather Metrics

Metric NameTypeUnit
weather_forecast_minutely_15_terrestrial_radiationRadiationW/m²
weather_forecast_minutely_15_shortwave_radiationRadiationW/m²
weather_forecast_minutely_15_diffuse_radiationRadiationW/m²
weather_forecast_minutely_15_direct_normal_irradianceIrradianceW/m²
weather_forecast_minutely_15_lightning_potentialPotential-
weather_forecast_minutely_15_precipitationPrecipitationmm
weather_forecast_minutely_15_snowfallSnowfallcm
weather_forecast_minutely_15_rainRainmm
weather_forecast_minutely_15_weather_codeCode-
weather_forecast_minutely_15_relative_humidity_2mHumidity%
weather_forecast_minutely_15_dew_point_2mTemperature°C
weather_forecast_minutely_15_apparent_temperatureTemperature°C
weather_forecast_minutely_15_cloud_coverCloud Cover%
weather_forecast_minutely_15_temperature_2mTemperature°C
weather_forecast_minutely_15_temperature_80mTemperature°C
weather_forecast_minutely_15_temperature_120mTemperature°C
weather_forecast_minutely_15_temperature_180mTemperature°C
weather_forecast_minutely_15_wind_speed_10mWind Speedm/s
weather_forecast_minutely_15_wind_speed_80mWind Speedm/s
weather_forecast_minutely_15_wind_speed_120mWind Speedm/s
weather_forecast_minutely_15_wind_speed_180mWind Speedm/s
weather_forecast_minutely_15_wind_direction_10mWind Direction°
weather_forecast_minutely_15_wind_direction_80mWind Direction°
weather_forecast_minutely_15_wind_direction_120mWind Direction°
weather_forecast_minutely_15_wind_direction_180mWind Direction°
weather_forecast_minutely_15_wind_gusts_10mWind Gustsm/s
weather_forecast_minutely_15_snow_depthSnow Depthm
weather_forecast_minutely_15_visibilityVisibilitym

Weather Calculation Metrics

Metric NameTypeUnit
weather_forecast_minutely_15_gtiIrradianceW/m²
weather_forecast_minutely_15_gti_directIrradianceW/m²
weather_forecast_minutely_15_gti_clearskyIrradianceW/m²
weather_forecast_minutely_15_ghi_directIrradianceW/m²
weather_forecast_minutely_15_ghi_direct_clearskyIrradianceW/m²
weather_forecast_minutely_15_gti_direct_clearskyIrradianceW/m²
weather_forecast_minutely_15_gti_energyEnergyWh

Weather Model Metrics

Weather Model Power Metrics

Metric NameTypeUnit
powerplant_power_model_dcPowerW
powerplant_energy_model_dc_totalEnergyWh
powerplant_power_model_acPowerW
powerplant_energy_model_ac_totalEnergyWh
powerplant_power_model_gridPowerW
powerplant_energy_model_grid_totalEnergyWh
powerplant_energy_model_grid_in_totalEnergyWh
powerplant_energy_model_grid_out_totalEnergyWh

Clearsky Model Power Metrics

Metric NameTypeUnit
powerplant_power_clearsky_dcPowerW
powerplant_energy_clearsky_dc_totalEnergyWh
powerplant_power_clearsky_acPowerW
powerplant_energy_clearsky_ac_totalEnergyWh
powerplant_power_clearsky_gridPowerW
powerplant_energy_clearsky_grid_totalEnergyWh
powerplant_energy_clearsky_grid_in_totalEnergyWh
powerplant_energy_clearsky_grid_out_totalEnergyWh

Alarm System Metrics

The alarm_* family is the site's own alarm signalling. Nothing in it is measured: every value is the position of a relay contact read through a controller's digital inputs — an intrusion alarm panel's own relay outputs, plus the supervision contacts of the communication cabinet the panel is wired through.

Every series is a 0/1 gauge normalized so that 1 always means "the condition is present" (door open, alarm raised, UPS on battery, breaker tripped) and 0 means normal, whatever polarity the contact has on the wire. Absence is never a zero: a signal the device did not serve this cycle is not published at all, and a contact the operator has declared unwired is withheld rather than left standing in alarm. Instance identification lives in the alarm label — the alarm system the signals belong to — never in the metric name.

Every signal except alarm_door_open also opens a park event of the same name while it is asserted; an open door is routine and stays a series only. See Alarm System for the page these series feed.

Metric NameTypeUnitDescription
alarm_door_openState0/1The panel reports the gate or door as open. Series only — never an event.
alarm_triggeredState0/1The panel has raised an alarm.
alarm_faultState0/1The panel reports a fault of its own.
alarm_cabinet_ups_alarmState0/1The communication cabinet's UPS reports a fault.
alarm_cabinet_ups_on_batteryState0/1Mains supply lost — the UPS is carrying the cabinet.
alarm_cabinet_heating_breaker_trippedState0/1The cabinet heating's circuit breaker has tripped.
alarm_cabinet_main_switch_offState0/1The cabinet's main switch is off.

Network Metrics

Network metrics describe the connectivity between the IoT device and the cloud, independent of any specific scraper or service.

Metric NameTypeUnit
network_ping_latency_msLatencyms
network_ping_packet_loss_percentPacket Loss%
network_ping_successSuccessbool
network_connection_statusStatus-

Agent Metrics

Agent metrics describe the data-collection agents themselves — both the per-source state of individual scraper adapters, and the overall health and traffic of the agents and supporting connectivity. These metrics let your dashboards correlate data gaps with adapter or connectivity failures rather than with the equipment under measurement.

Scraper Source Metrics

The Data Scraper emits one set of these metrics per active adapter source. Series are distinguished by the source, source_num and name labels, so that data gaps can be correlated directly with adapter health rather than with the equipment being measured.

Metric NameTypeUnitLabels
scraper_health_stateStatecodesource, source_num, name
scraper_cycles_totalCounter-source, source_num, name
scraper_errors_totalCounter-source, source_num, name
scraper_last_success_timestampTimestampssource, source_num, name
  • scraper_health_state: Current adapter state, encoded as an integer: 0 = initializing, 1 = healthy, 2 = unhealthy, 3 = reconnecting, 4 = frozen (the logger is returning stale/stuck values), 5 = paused.
  • scraper_cycles_total: Number of fetch cycles the adapter has executed since process start (resets on restart).
  • scraper_errors_total: Number of fetch cycles that ended in an exception since process start (resets on restart).
  • scraper_last_success_timestamp: Unix epoch seconds of the last successful fetch cycle. Only emitted after the first success.

Agent Service Metrics

These metrics track the health and network usage of the individual agent services (Data Scraper, Digital Twin, and supporting services) running on a device, so you can see whether a data gap is the equipment or the agent itself.

Network Traffic

Metric NameTypeUnit
agent_network_rx_bytesCounterbytes
agent_network_tx_bytesCounterbytes

Agent Health

Metric NameTypeUnit
agent_healthStatusbool
agent_uptime_secondsDurations
agent_boottimeTimestamps

Organization VPN

Connectivity and traffic for the organization-wide VPN link between the plant and the cloud.

Metric NameTypeUnit
agent_organization_vpn_connectedStatusbool
agent_organization_vpn_rx_bytesCounterbytes
agent_organization_vpn_tx_bytesCounterbytes

Direct VPN

Connectivity and traffic for each direct (per-plant) VPN tunnel. Series carry a vpn_name label so each tunnel is identified individually.

Metric NameTypeUnit
agent_direct_vpn_connectedStatusbool
agent_direct_vpn_rx_bytesCounterbytes
agent_direct_vpn_tx_bytesCounterbytes

SaaS VPN

Connectivity and traffic for the built-in agent-to-cloud tunnel that carries the platform's remote-access traffic to the plant.

Metric NameTypeUnit
agent_saas_vpn_connectedStatusbool
agent_saas_vpn_rx_bytesCounterbytes
agent_saas_vpn_tx_bytesCounterbytes

VPN Server

When the agent itself acts as a VPN server for incoming connections, these metrics report the server state and every connecting peer. Per-peer series carry the interface, peer_uid and peer_kind labels, so dashboards can tell user connections and site links apart.

Metric NameTypeUnit
agent_vpn_server_runningStatusbool
agent_vpn_server_peer_connectedStatusbool
agent_vpn_server_peer_rx_bytesCounterbytes
agent_vpn_server_peer_tx_bytesCounterbytes
agent_vpn_server_peer_last_handshakeTimestamps
  • agent_vpn_server_peer_last_handshake: Unix epoch seconds of the peer's last completed handshake; 0 means the peer never completed one. For OpenVPN peers, which expose no per-handshake timestamp, the connected-since time is published under the same metric so one query covers both protocols.

Operator Metrics

The operator fleet pushes infrastructure metrics for VPN tunnel monitoring and operator health, letting you see the state of the cloud-side connectivity that links your plants to the platform.

VPN Tunnel Metrics

Metric NameTypeUnitLabels
operator_vpn_connectedStatusboolvpn_service, organization, cluster, region
operator_vpn_rx_bytesTrafficbytesvpn_service, organization, cluster, region
operator_vpn_tx_bytesTrafficbytesvpn_service, organization, cluster, region
  • operator_vpn_connected: 1 if the VPN tunnel has a recent handshake (within the last 3 minutes), 0 otherwise
  • operator_vpn_rx_bytes: Total bytes received through the VPN tunnel (counter)
  • operator_vpn_tx_bytes: Total bytes transmitted through the VPN tunnel (counter)

Operator Health Metrics

Metric NameTypeUnitLabels
operator_healthStatusbooloperator, cluster, region
operator_uptime_secondsDurationsoperator, cluster, region
operator_cloud_response_age_secondsDurationsoperator, cluster, region
  • operator_health: 1 if the operator has an active cloud connection, 0 if in timeout state
  • operator_uptime_seconds: Seconds since the operator process started
  • operator_cloud_response_age_seconds: Seconds since the last successful cloud API response

Collection Process

The data collection process follows a structured workflow:

  1. Discovery: The system identifies all components to monitor based on park configuration
  2. Scheduling: Collection schedules are optimized based on metric importance and variability
  3. Retrieval: The data scraper connects to devices and collects raw measurements
  4. Validation: Collected data is validated for accuracy and range compliance
  5. Enrichment: Contextual information is added (timestamps, component identifiers, etc.)
  6. Transmission: Data is securely transmitted to the Time-Series Database
  7. Verification: The system confirms successful storage and availability

Integration Points

The metric collection system integrates with other platform components:

  • Monitoring Dashboard: Provides real-time data visualization
  • Event Detection: Supplies data for anomaly and issue identification
  • Reporting Engine: Furnishes measurements for performance reports
  • Analytics System: Feeds data into advanced performance calculations
  • Forecasting Module: Provides historical data for prediction models

Data Security

All collected metrics are protected through multiple security measures:

  • Encryption: Data is encrypted both in transit and at rest
  • Access Control: Metrics are subject to the same permission model as other resources
  • Auditing: All access to metric data is logged for compliance purposes
  • Anonymization: Aggregated data used for benchmarking is anonymized

Extensibility

The metric collection system is designed for extensibility:

  • New Device Families: We build a dedicated adapter for each device family on request — if your plant uses a logger, inverter, meter, or battery system we do not yet support, it can be added without a generic catch-all.
  • Custom Metrics: Support for site-specific or equipment-specific measurements.
  • External Data Sources: Weather and reference-irradiance series are pulled in alongside your plant data to power analysis and forecasting.

Related Features

  • Data Scraper — the edge agent that collects these metrics with a dedicated adapter per device family
  • Digital Twin — turns the raw metrics into simulated production, performance ratio, and loss findings
  • Metrics Export API — query and download these metrics for your own use
  • MiroxQL — the query format for programmatic and raw access to your collected metrics
  • Real-Time Monitoring — live dashboards built on the collected metrics
MIT Licensed | Copyright 2026 Mirox Verwaltungs GmbH | Privacy