1. The Battery Passport Problem
The EU Battery Regulation (2023/1542) requires Digital Product Passports for industrial batteries by February 2027. Every battery above 2 kWh needs documented state of health, charge cycle history, degradation events, and end-of-life disposition.
If you operate UPS systems in a data center, you already track this data. Eaton Brightlayer monitors battery health, charge cycles, and replacement schedules. The challenge is not data collection. The challenge is turning operational telemetry into a verifiable Digital Product Passport that satisfies Article 14.
What Brightlayer Is
Brightlayer is Eaton's digital platform for power management. It connects to UPS systems across a facility or fleet, collecting real-time telemetry on battery health, charge and discharge cycles, energy throughput, and environmental conditions. The platform covers single-phase through three-phase UPS systems and provides predictive analytics for battery replacement planning.
Brightlayer exposes telemetry through REST API and SNMP interfaces. Operators use it to monitor battery state of health, track charge cycle counts, detect degradation events, and schedule replacements before failures occur. The platform aggregates data across sites, giving fleet managers a consolidated view of UPS battery health across multiple data centers or distributed facilities.
For organizations subject to the EU Battery Regulation, this telemetry is the raw material for Digital Product Passports. The challenge is converting operational monitoring data into verifiable, independently auditable evidence that satisfies regulatory requirements for traceability and tamper resistance.
2. What SWT3 Witnesses
SWT3 witnesses Brightlayer telemetry without replacing, modifying, or duplicating the monitoring platform. Each witness anchor records that a specific battery event was reported, when it was reported, and preserves a cryptographic fingerprint of the reported values.
| Brightlayer Data | SWT3 Procedure | What the Anchor Captures |
|---|---|---|
| Battery state of health | DPP-SOH.1 |
SoH percentage, cycle count, remaining capacity (kWh) |
| Charge/discharge events | DPP-CHRG.1 |
Event type, energy throughput (kWh), peak temperature |
| Degradation events | DPP-DEGRAD.1 |
Degradation type, SoH delta, ambient temperature |
| End-of-life disposition | DPP-EOL.1 |
Disposition type (recycling/repurpose/etc), handler ID, final SoH |
3. How It Works
SWT3 witnesses Brightlayer telemetry without modifying battery management behavior. The integration follows a read-only observation pattern: Brightlayer reports battery data, SWT3 mints witness anchors from those reports, and the anchors form a verifiable Digital Product Passport chain.
The witness layer does not interfere with UPS operation, charging algorithms, or failover behavior. It observes and records. If the SWT3 witness is unavailable, Brightlayer continues operating normally. If Brightlayer is unavailable, no anchors are minted because there is nothing to witness. The two systems are decoupled by design.
Integration typically runs as a scheduled task or webhook listener that reads from the Brightlayer API and calls the SWT3 SDK. The frequency depends on the use case: SoH snapshots might be daily or weekly, charge cycle events can be witnessed in near-real-time, and end-of-life disposition is a one-time event per battery.
4. Procedures in Detail
DPP-SOH.1 -- Battery State of Health
Why this matters: State of health is the core metric of any Digital Product Passport. EU Battery Regulation Art. 14(1) explicitly requires SoH tracking. A declining SoH trend with documented cycle counts demonstrates responsible battery management. Without independent witnessing, this is just a number in your monitoring system.
Real-time SoH readings, cycle counters, and capacity measurements for each UPS battery. Brightlayer tracks these values continuously and exposes them through the REST API.
A timestamped SoH snapshot with the current cycle count and remaining usable capacity in kWh. Each anchor captures the battery's health at a specific point in time. Sequential anchors build a verifiable degradation curve.
factor_a = SoH percentage (x100, so 85.5% = 8550). factor_b = cycle count. factor_c = capacity in kWh (x100). A declining factor_a over time with rising factor_b shows normal calendar aging.
from swt3_ai import Witness
witness = Witness(
endpoint="https://sovereign.tenova.io",
api_key="axm_live_...",
tenant_id="YOUR_TENANT"
)
# Read from Brightlayer API
battery = brightlayer.get_battery_status(ups_id="UPS-DC1-A01")
witness.witness_battery_soh(
soh_percent=battery["soh"],
cycle_count=battery["cycles"],
capacity_kwh=battery["remaining_capacity_kwh"]
)
import { Witness } from '@tenova/swt3-ai';
const witness = new Witness({
endpoint: 'https://sovereign.tenova.io',
apiKey: 'axm_live_...',
tenantId: 'YOUR_TENANT'
});
const battery = await brightlayer.getBatteryStatus('UPS-DC1-A01');
await witness.witnessBatterySoh({
sohPercent: battery.soh,
cycleCount: battery.cycles,
capacityKwh: battery.remainingCapacityKwh
});
DPP-CHRG.1 -- Charge Cycle
Why this matters: Charge cycle data reveals how a battery was actually used, not just its current condition. Repeated deep discharges or high-temperature charging accelerate degradation. For warranty claims, insurance, or regulatory review, independently witnessed charge events prove the battery was operated within specifications.
Charge and discharge event notifications from the UPS battery management system, including energy transferred and thermal readings during the event.
The event type, energy throughput in kWh, and peak temperature during the charge or discharge event. These anchors provide granular energy transfer history for the battery's Digital Product Passport.
Event types: charge_start (1), charge_complete (2), discharge_start (3), discharge_complete (4). High peak temperatures during charging (factor_c) correlate with accelerated degradation.
witness.witness_charge_cycle(
event_type="charge_complete",
energy_kwh=12.5,
peak_temp_c=38.2
)
DPP-DEGRAD.1 -- Degradation Event
Why this matters: When a battery degrades faster than expected, the cause matters. Was it thermal stress from a cooling failure? An overcharge event? Calendar aging? Independently witnessed degradation events create an accountable record that connects the failure mode to environmental conditions, which matters for warranty disputes and regulatory reporting.
Alerts when battery performance drops below configured thresholds. Brightlayer classifies degradation events and measures the impact on overall battery health.
The degradation classification, the SoH delta (how much health was lost), and the ambient temperature at the time of the event. These anchors explain why a battery's health declined between SoH snapshots.
Degradation types: calendar_aging (1), thermal_stress (2), overcharge (3), deep_discharge (4), mechanical (5). Cross-reference with HBOM-THERM.1 anchors to validate thermal stress claims.
witness.witness_degradation_event(
degradation_type="thermal_stress",
soh_delta_percent=2.3,
ambient_temp_c=32.0
)
DPP-EOL.1 -- End of Life
Why this matters: The EU WEEE Directive and Battery Regulation require documented chain of custody when batteries are decommissioned. Where did the battery go? Who handled it? Was it recycled, repurposed, or disposed of? This procedure creates the final link in the Digital Product Passport chain, proving responsible end-of-life handling.
Battery replacement scheduling and decommission records. When a battery reaches end-of-first-life or fails to meet operational thresholds, Brightlayer flags it for replacement.
The disposition decision (what happens to the battery), the identity of the responsible handler, and the final SoH at the moment of decommission. This anchor closes the battery's lifecycle chain.
Disposition types: recycling (1), repurpose (2), refurbishment (3), landfill (4), hazmat_disposal (5). EU WEEE requires documented chain of custody. The handler_id in factor_b links to the registered waste handler.
witness.witness_end_of_life(
disposition_type="recycling",
handler_id="WEEE-FR-2847",
final_soh_percent=62.0
)
5. Quick Reference for Auditors
| Examiner Question | Where to Look |
|---|---|
| "What is the current battery health?" | Latest DPP-SOH.1 anchor, factor_a (SoH x100) |
| "How many charge cycles has this battery completed?" | DPP-SOH.1 anchor, factor_b |
| "Has the battery experienced thermal stress?" | DPP-DEGRAD.1 anchors with type thermal_stress |
| "What happened to the replaced battery?" | DPP-EOL.1 anchor with disposition type and handler_id |
| "Is this data independently verifiable?" | Anchors have SHA-256 fingerprints, verifiable at /verify |
| "Does this satisfy EU Battery Regulation Art. 14?" | DPP chain provides SoH, cycles, capacity, degradation history, and disposition -- the core Digital Product Passport data elements |
6. Getting Started
Install the SDK for your language:
# Python
pip install swt3-ai
# TypeScript / Node.js
npm install @tenova/swt3-ai
Both SDKs support demo mode -- omit the API key and endpoint to run locally. Witness anchors print to the console so you can verify the output before connecting to the ledger. When you are ready for persistent, independently verifiable evidence, create a free account and set the API key.
Resources
- SDK Documentation -- Python and TypeScript reference with all witness methods
- Create a free account
- Anchor Verification -- independently verify any SWT3 Witness Anchor
- UCT Registry -- full procedure catalog with regulatory mappings
Regulatory References
- EU Battery Regulation 2023/1542, Article 14 (Digital Product Passport)
- EU WEEE Directive 2012/19 (Waste Electrical and Electronic Equipment)
- IEC 62619 (Safety requirements for secondary lithium cells and batteries)
Related Guides
- HBOM and EU Battery Passport with SWT3 -- full HBOM and DPP namespace reference with all 10 procedures