Skip to content

Visualization and i18n en

EnerOS Bot edited this page Jul 5, 2026 · 1 revision

中文 | English

Visualization & i18n

Maintained version: v0.51.2 | Last updated: 2026-07-06

EnerOS v0.46.0 introduced visualization and interaction enhancement, v0.47.0 introduced internationalization and data privacy compliance. This page is a feature summary; for full design see ADR-0013 + ADR-0014 + the main repo docs/user-manual.md.

Visualization Capabilities

DashboardDef Declarative Dashboard

crates/eneros-dashboard provides declarative dashboard definition; operators describe dashboard layout via TOML/JSON, rendered by the dashboard service:

[[dashboard]]
name = "substation_overview"
title = "Substation Overview"
layout = "grid"

[[dashboard.widgets]]
type = "scada_table"
title = "Telemetry Data"
source = "timeseries"
refresh_ms = 1000

[[dashboard.widgets]]
type = "topology_graph"
title = "Grid Topology"
source = "topology"

3D Visualization (glTF)

crates/eneros-3d generates glTF 2.0 assets for:

  • Substation 3D scene walkthrough
  • Equipment spatial location visualization
  • Fault point spatial localization

Supports mainstream glTF viewers (Three.js / Babylon.js / CESIUM).

Natural Language Intent Recognition

crates/eneros-nl provides 8 power grid operations intent recognition:

Intent Example query Parsed as
query_status "Show 110kV bus voltage" /api/v1/devices?level=110kV&metric=voltage
query_history "Past 24h load curve" /api/v1/timeseries?range=24h
query_alarm "Current unacknowledged alarms" /api/v1/alarms?status=unacked
control_device "Close breaker 521" POST /api/v1/devices/521/control
query_topology "Show substation one-line diagram" /api/v1/topology
query_analysis "Powerflow results" /api/v1/analysis/powerflow
query_plan "Day-ahead generation plan" /api/v1/plans/daily
query_market "Today's spot price" /api/v1/market/price

Multi-format Reports

crates/eneros-report supports generating:

  • PDF (high-fidelity printing)
  • Excel (data analysis)
  • Word (operations reports)

Report templates defined via Jinja-like syntax; data sources are timeseries / audit / analysis results.

PWA & Mobile

  • PWA offline access (Service Worker cache)
  • Mobile responsive layout
  • Mobile gestures (zoom / drag / long-press)

Internationalization (i18n)

Fluent i18n

crates/eneros-i18n uses Mozilla Fluent for i18n:

locales/
├── en-US/
│   ├── dashboard.ftl
│   ├── errors.ftl
│   └── ...
├── zh-CN/
│   ├── dashboard.ftl
│   ├── errors.ftl
│   └── ...
└── ...

Supported languages: English (en-US) / Simplified Chinese (zh-CN) / Traditional Chinese (zh-TW) / Japanese (ja) / Korean (ko) / Russian (ru) / French (fr) / German (de).

DL/T 698.45 & DL/T 645

Supports Chinese power industry standard protocol localization:

  • DL/T 698.45 energy meter protocol (v0.47.0)
  • DL/T 645 energy meter protocol (multi-tariff)

Data Privacy Compliance (v0.47.0+)

Regulation Scope Implementation
GDPR EU General Data Protection Regulation Data subject rights (access / correct / delete / portability)
PIPL China Personal Information Protection Law Data export security assessment + personal info classification
CCPA California Consumer Privacy Act Consumer rights (know / opt-out of sale / delete)
[privacy]
enable_subject_rights = true
data_residency = "cn"      # cn / eu / us / global
retention_days_pii = 365
allow_cross_border = false

Known Limitations (v0.51.2)

  • DashboardDef only supports grid and flex layout; free canvas not supported
  • 3D assets are static glTF scenes; real-time device state sync not supported
  • NL intent recognition is keyword matching only; real LLM understanding not integrated (pending eneros-ai integration)
  • Report generation is synchronous blocking; async large reports not supported
  • Traditional Chinese / Japanese / Korean translations incomplete; community contributions welcome

Related Documentation

Clone this wiki locally