docs: add PRD prompt and product requirements document

Add complete product requirements document (PRD) for Jackery DIY3
Home Assistant integration, covering architecture, entity mapping,
authorization flow, and future roadmap.

Made-with: Cursor
This commit is contained in:
wongshan-m1
2026-03-04 20:10:01 +08:00
parent 26bc49a202
commit 9b4cf798ef
2 changed files with 568 additions and 0 deletions

54
docs/PRD_PROMPT.md Normal file
View File

@@ -0,0 +1,54 @@
# Role
你现在的身份是 Jackery (华宝新能) 的资深 IoT 产品经理。请根据以下项目背景和技术约束撰写一份详细的《Jackery DIY3 系列 Home Assistant 集成插件 (HACS) 产品需求文档 (PRD)》。
# Project Background
为了满足极客用户Geek User对数据隐私和本地化控制的需求我们需要开发一款基于 Home Assistant Community Store (HACS) 分发的集成插件。
核心对象是 Jackery 最新一代储能产品 "DIY3" 及其配套智能配件(自研 Smart CT、Smart Plug
# Core Constraints (必须严格遵守)
1. **集成方式**:采用 HACS 自定义组件 (Custom Component) 形式分发。
2. **连接架构**
- **Local First**优先通过局域网直接连接设备IP直连确保低延迟和断网可用性。
- **Coexistence**:必须确保“本地连接”与“原生 App 云端连接”互不干扰,设备需支持双通道并发上报数据。
3. **安全策略 (Critical)**
- **Read-Only (只读)**:鉴于储能设备的安全性和现有 EMS 逻辑的复杂性,本版本 **严禁开放任何控制Write权限**。不得包含 Switch开关、Slider滑块等控制类实体仅提供 Sensor传感器与 Binary Sensor二元传感器
- **鉴权机制**:采用简单的 Token 认证机制(用户需在配置流中输入 IP 和 Token
4. **不开放 EMS**所有能源管理策略如充电优先级、市电互补逻辑均由设备端黑盒处理HA 仅负责展示最终状态。
. **App 端与固件端的配合**App 端生成Token需要用户在HA里填写授权App也会设计MQTT Enable开关也需要设置HA的域名及端口、证书。需要你把整个授权流程写清楚
# Functional Requirements (详细需求)
## 1. 配置流程 (Configuration Flow)
- 设计标准的 HA Config Flow UI。
- 用户输入Device IP Address, Local Access Token。
- 验证逻辑:尝试连接设备,验证 Token 有效性成功后自动识别设备型号DIY3/CT/Plug并创建对应 Device。
## 2. 设备实体映射 (Entity Mapping)
请列出具体的传感器列表,需包含:
- **DIY3 储能主机**
- 实时功率光伏输入、AC/DC 输出、市电充电)。
- 电池状态SOC 百分比、剩余时间、SOH
- 能源统计(累计充电量 kWh、累计放电量 kWh—— **重点:需适配 HA 自带的 "Energy Dashboard" (需定义 `state_class: total_increasing` 和 `device_class: energy`)**
- 运行状态(在线/离线、错误码)。
- **Smart CT (互感器)**
- 家庭负载实时功率。
- 电网取电/馈电功率。
- **Smart Plug (插座)**
- 负载实时功率。
- **注意插座也必须遵循只读原则HA 中不可控制插座开关。**
## 3. 非功能性需求 (NFR)
- **数据刷新频率**:本地轮询 (Polling) 建议在 5s - 10s 级别,或支持 WebSocket 推送(如有)。
- **异常处理**:当设备断电或离线时,实体状态需即时标记为 `Unavailable`,避免误导用户。
- **多设备支持**:单一 HA 实例需支持添加多台 DIY3 设备和多个配件。
# Deliverables (输出要求)
请按以下结构输出 PRD
1. **文档版本历史**
2. **项目概述与用户价值**(强调“数据主权”和“无缝集成”)。
3. **系统架构图描述**(描述 HA、设备、App 云端三者的关系)。
4. **详细功能清单 (Feature List)**,包含具体的 Entity ID 命名规范建议,以及支持的设备范围。
5. **UI/UX 交互说明**(侧重于数据展示卡片的设计建议)。
6. **风险与限制声明**(明确解释为何暂不开放 Write 权限)。
请确保文档语气专业、逻辑严密,并考虑到 Home Assistant 资深玩家的使用习惯。