- Add full 检修维护中心 (6.4): 3-type work orders (消缺/巡检/抄表),
asset management, warehouse, work plans, billing settlement
- Add AI智能分析 tab with LLM-powered diagnostics (StepFun + ZhipuAI)
- Add AI模型配置 settings page (provider, temperature, prompts)
- Fix station power accuracy: use API station total (station_power)
instead of inverter-level computation — eliminates timing gaps
- Add 7 new DB models, 4 new API routers, 5 new frontend pages
- Migrations: 009 (maintenance expansion) + 010 (AI analysis)
- Version bump: 1.6.1 → 2.0.0
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
All 10 Sungrow inverters had protocol="http_api" in devices.json,
but config.yaml only enables the "sungrow_api" collector type.
Result: 0 collectors started on fresh deploy, no data collection.
Fix: use sungrow_api for all inverter devices.
Discovered during Z-Park demo deployment on xie_openclaw1 —
after seeding, collectors refused to start until protocol was
updated in the DB. This fix prevents the regression on reseed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
7 new features inspired by iSolarCloud:
1. Animated Energy Flow Diagram — SVG/CSS animated power flow
between PV, Load, Grid, HeatPump with real-time values
2. Weather Widget — temperature/condition on dashboard header
3. Curve Template Library — save/load Data Query presets
4. Enhanced Device Comparison — multi-device power overlay chart
5. Dispersion Rate Analysis — statistical variation across inverters
with outlier detection (new Analysis tab)
6. PWA Support — manifest.json + service worker for mobile install
7. Alarm Subscription UI — configurable notification preferences
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
New dashboard KPI cards:
- Performance Ratio (PR) with color thresholds
- Equivalent Utilization Hours
- Daily Revenue (¥)
- Self-Consumption Rate
Version display for field engineers:
- Login page footer: "v1.4.0 | Core: v1.4.0"
- Sidebar footer: version when expanded
- System Settings: full version breakdown
Backend (core sync):
- GET /api/v1/version (no auth) — reads VERSIONS.json
- GET /api/v1/kpi/solar — PR, revenue, equiv hours calculations
- Dashboard energy_today fallback from raw energy_data
- PV device filter includes sungrow_inverter type
Feature flags:
- Sidebar hides disabled features (charging, bigscreen_3d)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
VERSIONS.json was still showing 1.1.0 while the git tag and commit
message already referenced v1.2.0. Sync version metadata.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>