Files
homeassistant-jackery/docs/PRD_PROMPT.md
wongshan-m1 9b4cf798ef 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
2026-03-04 20:10:01 +08:00

54 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 资深玩家的使用习惯。