feat: Z-Park branding, data collection fix, buyoff pass (v1.3.0)

Branding:
- Replace all Tianpu text/colors with Z-Park (green #52c41a)
- Update login, sidebar, BigScreen, localStorage keys

Data collection:
- Populate ps_id for all 10 inverters (Phase1: 2226182, Phase2: 2226188)
- Fix docker-compose volume mount for customer config.yaml

Buyoff warning fixes:
- Installed capacity: 2200 kW / 10 Sungrow inverters (was wrong Huawei data)
- Feature flags: hide charging menu when features.charging=false
- Device total count: compute client-side from stats
- Device groups: enrich group names from metadata

Buyoff result: CONDITIONAL PASS (21/21 critical, 54/63 total)
Data accuracy: <3% deviation from iSolarCloud reference

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Du Wenbo
2026-04-06 22:05:06 +08:00
parent b3bb33a638
commit 1274e77cb4
17 changed files with 298 additions and 36 deletions

View File

@@ -69,7 +69,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226182",
"device_sn": "AP101"
}
},
@@ -90,7 +90,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226182",
"device_sn": "AP102"
}
},
@@ -111,7 +111,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP201"
}
},
@@ -132,7 +132,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP202"
}
},
@@ -153,7 +153,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP203"
}
},
@@ -174,7 +174,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP204"
}
},
@@ -195,7 +195,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP205"
}
},
@@ -216,7 +216,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP206"
}
},
@@ -237,7 +237,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP207"
}
},
@@ -258,7 +258,7 @@
"x_access_key": "qpthtsf287zvtmr6t3q9hsc0k70f3tay",
"user_account": "13911211695",
"user_password": "123456#ABC",
"ps_id": "",
"ps_id": "2226188",
"device_sn": "AP208"
}
},