SWT3 v0.7.0 -- These procedures ship in SWT3 v0.7.0. SDK packages publish to all registries the week of September 1, 2026.
Audience: UPS fleet managers, data center operators, sustainability teams, EU Battery Regulation compliance officers. No prior SWT3 experience required.

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.

The gap: Brightlayer tells YOU the battery health. But a regulator needs independently verifiable evidence. A Brightlayer dashboard export is your own system reporting on itself. SWT3 creates a separate, tamper-evident record of each battery lifecycle event.
Today With SWT3 Brightlayer --> Dashboard Export Brightlayer --> Witness Anchor | | | | Your system Your report Your system Independent record | | | | "Trust us" Self-attested "Trust us" Cryptographically (not auditable) verifiable by anyone

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 DataSWT3 ProcedureWhat 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
SWT3 is a passive witness. It records what Brightlayer reports. It does not measure battery health, control charging algorithms, or make replacement decisions. The witness layer observes and records. Substance verification remains the assessor's responsibility.

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.

Brightlayer Telemetry --> SWT3 Witness --> Battery Passport Chain (battery data) (independent) (EU Art. 14 evidence)

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.

What Brightlayer Provides

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.

What SWT3 Records

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.

Assessor Tip

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.

Python
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"]
)
TypeScript
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.

What Brightlayer Provides

Charge and discharge event notifications from the UPS battery management system, including energy transferred and thermal readings during the event.

What SWT3 Records

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.

Assessor Tip

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.

Python
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.

What Brightlayer Provides

Alerts when battery performance drops below configured thresholds. Brightlayer classifies degradation events and measures the impact on overall battery health.

What SWT3 Records

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.

Assessor Tip

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.

Python
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.

What Brightlayer Provides

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.

What SWT3 Records

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.

Assessor Tip

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.

Python
witness.witness_end_of_life(
    disposition_type="recycling",
    handler_id="WEEE-FR-2847",
    final_soh_percent=62.0
)

5. Quick Reference for Auditors

Examiner QuestionWhere 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

Regulatory References

Related Guides