关于 ocpp
面向 EV 充电基础设施开发者的 OCPP 参考技能,覆盖 OCPP 1.6J、2.0.1 和 2.1。它帮助识别协议版本、查阅消息与数据类型,并指出规范未明确之处。
主要功能
- 01识别 OCPP 版本
- 02查询各版本消息与数据类型
- 03提供实现指导
- 04标记规范未定义情形
适用场景
- 01核对充电站与管理后台的消息
- 02排查版本相关代码差异
- 03处理规范未说明的实现行为
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alexeimoisseev/ ocpp.md --skill ocpp安装后在 Claude Code 中输入/ocpp确认已加载。
详细介绍
OCPP — AI Agent 参考
你正在协助一位使用 OCPP 开发 EV 充电基础设施的开发者。 此技能涵盖 OCPP 2.1、OCPP 2.0.1 和 OCPP 1.6J。可用它提供准确的 架构参考和实现指导,并指出规范未明确说明的领域。
版本检测
根据开发者的代码检测 OCPP 版本:
- 1.6J 指示特征:
StartTransaction、StopTransaction、RemoteStartTransaction、RemoteStopTransaction、Charge Point、Central System、idTag(字符串)、不含evseId的connectorId、.req/.conf命名 - 2.0.1 指示特征:
TransactionEvent、RequestStartTransaction、RequestStopTransaction、Charging Station、CSMS、IdTokenType(对象)、evseId、Request/Response命名 - 2.1 指示特征:
SetDERControl、GetTariffs、OpenPeriodicEventStream、BatterySwap、RequestBatterySwap、NotifyPeriodicEventStream、AFRRSignal、PullDynamicScheduleUpdate、UpdateDynamicSchedule、OCPP-J 子协议字符串ocpp2.1、包含:2:2025:的 JSON schema$idURN(例如urn:OCPP:Cp:2:2025:1:SetDERControlRequest)
如果无法确定,请询问开发者使用的是哪个版本。
快速参考
什么是 OCPP: 开放充电点协议(Open Charge Point Protocol)——通过 WebSocket + JSON 实现 EV 充电站与管理后台之间的通信。连接由充电站发起。双方均可发送消息。
OCPP 2.1
- 角色: 充电站(CS)↔ CSMS
- 设备模型: 与 2.0.1 相同——充电站 → EVSE(一个或多个)→ 连接器(一个或多个)。
evseId=0表示整座充电站。 - 91 条消息 = 2.0.1 的 64 条消息 + 27 条新增消息(见下文)
- 新增功能: DER 控制、V2X/双向电力传输、电价管理、电池更换、周期性事件流、动态充电配置文件更新、优先充电、网络支付
OCPP 2.0.1
- 角色: 充电站(CS)↔ CSMS
- 设备模型: 充电站 → EVSE(一个或多个)→ 连接器(一个或多个)。
evseId和connectorId的索引从 1 开始。evseId=0表示整座充电站。 - 64 条消息,按功能块组织
OCPP 1.6J
- 角色: 充电点(CP)↔ 中央系统(CS)
- 设备模型: 充电点 → 连接器(一个或多个)。
connectorId的索引从 1 开始。connectorId=0表示整个充电点。不包含 EVSE 概念。 - 28 条消息,按功能配置文件组织(核心、智能充电、固件、本地授权列表、预留、远程触发)
消息帧(两个版本均适用): 类似 JSON-RPC。包含三种类型:
CALL—[2, messageId, action, payload]CALLRESULT—[3, messageId, payload]CALLERROR—[4, messageId, errorCode, errorDescription, errorDetails]
OCPP 2.0.1 的全部 64 条消息
配置与生命周期
BootNotification(CS→CSMS) — 充电站连接时注册Heartbeat(CS→CSMS) — 保持连接StatusNotification(CS→CSMS) — 连接器/EVSE 状态变更GetVariables(CSMS→CS) — 读取配置SetVariables(CSMS→CS) — 写入配置GetBaseReport(CSMS→CS) — 请求完整的变量清单NotifyReport(CS→CSMS) — 变量清单响应(分页)SetNetworkProfile(CSMS→CS) — 配置网络连接配置文件Reset(CSMS→CS) — 重启充电站
授权
Authorize(CS→CSMS) — 验证 ID 令牌ClearCache(CSMS→CS) — 清除授权缓存SendLocalList(CSMS→CS) — 推送本地授权列表GetLocalListVersion(CSMS→CS) — 查询本地授权列表版本
交易
TransactionEvent(CS→CSMS) — 开始/更新/结束事件RequestStartTransaction(CSMS→CS) — 远程启动RequestStopTransaction(CSMS→CS) — 远程停止GetTransactionStatus(CSMS→CS) — 查询未完成的交易消息MeterValues(CS→CSMS) — 在交易上下文之外发送电表读数
远程控制
TriggerMessage(CSMS→CS) — 请求 CS 发送特定消息UnlockConnector(CSMS→CS) — 物理解锁连接器ChangeAvailability(CSMS→CS) — 设置 EVSE 为可运行/不可运行
智能充电
SetChargingProfile(CSMS→CS) — 安装充电配置文件GetChargingProfiles(CSMS→CS) — 查询已安装的配置文件ClearChargingProfile(CSMS→CS) — 移除配置文件ClearedChargingLimit(CS→CSMS) — 外部限制已清除NotifyChargingLimit(CS→CSMS) — 外部限制通知ReportChargingProfiles(CS→CSMS) — 配置文件查询响应GetCompositeSchedule(CSMS→CS) — 计算有效计划NotifyEVChargingSchedule(CS→CSMS) — EV 提议的计划(ISO 15118)NotifyEVChargingNeeds(CS→CSMS) — 报告 EV 充电需求(ISO 15118)
固件
UpdateFirmware(CSMS→CS) — 触发固件更新FirmwareStatusNotification(CS→CSMS) — 更新进度PublishFirmware(CSMS→CS) — 使固件可供本地网络使用PublishFirmwareStatusNotification(CS→CSMS) — 发布进度UnpublishFirmware(CSMS→CS) — 移除已发布的固件
安全与证书
Get15118EVCertificate(CS→CSMS) — EV 证书请求GetCertificateStatus(CS→CSMS) — OCSP 状态检查SignCertificate(CS→CSMS) — 站点证书的 CSRCertificateSigned(CSMS→CS) — 已签名证书交付InstallCertificate(CSMS→CS) — 安装 CA 证书DeleteCertificate(CSMS→CS) — 移除证书GetInstalledCertificateIds(CSMS→CS) — 列出已安装的证书SecurityEventNotification(CS→CSMS) — 报告与安全相关的事件
诊断与监控
GetLog(CSMS→CS) — 请求上传日志LogStatusNotification(CS→CSMS) — 日志上传进度NotifyEvent(CS→CSMS) — 组件/变量事件SetMonitoringBase(CSMS→CS) — 设置监控基线SetVariableMonitoring(CSMS→CS) — 配置变量监控器SetMonitoringLevel(CSMS→CS) — 设置监控严重级别GetMonitoringReport(CSMS→CS) — 查询启用的监控器ClearVariableMonitoring(CSMS→CS) — 移除监控器NotifyMonitoringReport(CS→CSMS) — 监控查询响应CustomerInformation(CSMS→CS) — 请求客户数据NotifyCustomerInformation(CS→CSMS) — 客户数据响应
显示消息
CostUpdated(CSMS→CS) — 更新显示的费用SetDisplayMessage(CSMS→CS) — 在显示屏上显示消息GetDisplayMessages(CSMS→CS) — 查询显示的消息ClearDisplayMessage(CSMS→CS) — 移除显示的消息NotifyDisplayMessages(CS→CSMS) — 显示消息查询响应
预约
ReserveNow(CSMS→CS) — 创建预约CancelReservation(CSMS→CS) — 取消预约ReservationStatusUpdate(CS→CSMS) — 预约已过期/已移除
数据传输
DataTransfer(CS↔CSMS) — 双向供应商扩展
OCPP 2.1 — 27 条新增消息(在 2.0.1 的 64 条基础上新增)
OCPP 2.1 保留了全部 64 条 OCPP 2.0.1 消息,并新增以下 27 条。 标题与每条消息的架构所在功能区块相对应(参见下方的架构文件映射)。
DER 控制(分布式能源资源)
SetDERControl(CSMS→CS) — 安装 DER 控制设定值(频率响应、功率限制、无功功率)GetDERControl(CSMS→CS) — 查询已安装的 DER 控制设置ClearDERControl(CSMS→CS) — 移除 DER 控制设置ReportDERControl(CS→CSMS) — DER 控制查询响应NotifyDERAlarm(CS→CSMS) — 报告 DER 相关的警报状况NotifyDERStartStop(CS→CSMS) — 通知 DER 功能启动/停止
双向传输/V2X
NotifyAllowedEnergyTransfer(CSMS→CS) — 告知 CS 允许的能量传输方向AFRRSignal(CSMS→CS) — 自动频率恢复备用信号(为 V2X 提供频率支持)
电池更换
BatterySwap(CS→CSMS) — 通知站点发生电池更换事件RequestBatterySwap(CSMS→CS) — 请求执行电池更换操作
费率与成本
GetTariffs(CSMS→CS) — 查询充电站上已安装的费率SetDefaultTariff(CSMS→CS) — 为 EVSE 设置默认费率ChangeTransactionTariff(CSMS→CS) — 在交易过程中更改费率ClearTariffs(CSMS→CS) — 从充电站移除费率NotifySettlement(CS→CSMS) — 通知付款的结算结果NotifyWebPaymentStarted(CS→CSMS) — 通知基于 Web 的付款已启动VatNumberValidation(CS→CSMS) — 请求验证 VAT 号码
动态智能充电
PullDynamicScheduleUpdate(CS→CSMS) — 请求获取动态配置文件的更新计划UpdateDynamicSchedule(CSMS→CS) — 推送动态配置文件的计划更新NotifyPriorityCharging(CS→CSMS) — 通知优先充电已启动或停止UsePriorityCharging(CSMS→CS) — 请求 CS 使用优先充电
周期事件流
OpenPeriodicEventStream(CSMS→CS) — 开启周期事件报告流ClosePeriodicEventStream(CSMS→CS) — 关闭周期事件流GetPeriodicEventStream(CSMS→CS) — 查询已开启的周期事件流AdjustPeriodicEventStream(CSMS→CS) — 修改已开启流的参数NotifyPeriodicEventStream(CS→CSMS, 单向 SEND) — 向 CSMS 推送周期事件数据
证书
GetCertificateChainStatus(CS→CSMS) — 查询证书链 OCSP 状态
全部 28 条 OCPP 1.6J 消息
核心(必需配置文件)
Authorize(CP→CS) — 验证 idTagBootNotification(CP→CS) — 充电点在启动或重启后注册ChangeAvailability(CS→CP) — 设置连接器为可用或不可用ChangeConfiguration(CS→CP) — 设置一个配置键ClearCache(CS→CP) — 清除授权缓存DataTransfer(CP↔CS) — 交换供应商专用数据GetConfiguration(CS→CP) — 读取配置键Heartbeat(CP→CS) — 保持连接MeterValues(CP→CS) — 定期上报仪表读数RemoteStartTransaction(CS→CP) — 远程启动RemoteStopTransaction(CS→CP) — 远程停止Reset(CS→CP) — 重启充电点StartTransaction(CP→CS) — 交易已开始StatusNotification(CP→CS) — 连接器状态或错误发生变化StopTransaction(CP→CS) — 交易已结束UnlockConnector(CS→CP) — 实际解锁连接器
智能充电
SetChargingProfile(CS→CP) — 安装充电配置文件ClearChargingProfile(CS→CP) — 移除配置文件GetCompositeSchedule(CS→CP) — 获取生效计划
固件管理
GetDiagnostics(CS→CP) — 请求上传诊断日志DiagnosticsStatusNotification(CP→CS) — 上传进度UpdateFirmware(CS→CP) — 触发固件更新FirmwareStatusNotification(CP→CS) — 更新进度
本地授权列表管理
SendLocalList(CS→CP) — 推送本地授权列表GetLocalListVersion(CS→CP) — 查询列表版本
预约
ReserveNow(CS→CP) — 预约一个连接器CancelReservation(CS→CP) — 取消预约
远程触发
TriggerMessage(CS→CP) — 请求 CP 发送特定消息
关键数据类型(OCPP 2.0.1)
- IdTokenType — 用户标识(eMAID、RFID 等),可包含可选的 groupIdToken
- ChargingProfileType — 充电限制:id、stackLevel、purpose、kind、chargingSchedule
- MeterValueType — 带时间戳的 SampledValue 数组(能量、功率、电流、电压、SoC)
- EVSEType — EVSE 标识符(id + 可选的 connectorId)
- StatusInfoType — 状态响应的原因代码和附加信息
- TransactionType — 交易状态:transactionId、chargingState、stoppedReason
- ChargingScheduleType — 按时间划分的功率或电流限制及其时段
- IdTokenInfoType — 授权结果:status、cacheExpiryDateTime、groupIdToken
升级处理模型
实现 OCPP 行为时,您会遇到规范未完全定义应如何处理的情况。这些情况分为以下类别:
SPEC-SILENT
OCPP 规范未定义此情形的行为。你必须将此问题标记给开发者。不要悄悄地选择默认行为。
VENDOR-DEPENDENT
行为取决于充电站硬件或固件。请询问目标硬件/固件。
POLICY-DEPENDENT
行为取决于业务规则、站点配置或电网运营商的要求。请询问业务/运营背景。
升级处理严格程度
检查开发者项目中的 CLAUDE.md,了解升级处理偏好。文件中可能会写:
对于 OCPP:使用务实的升级处理模式。
或:
OCPP 升级处理:严格——假设规范未定义的行为前,始终先询问。
有两种模式:
- 严格(默认): 停止并在继续前询问开发者。提供具体选项。在得到答复前,不要为存在歧义的部分编写代码。
- 务实: 标记歧义,但选择合理的默认值。添加醒目的注释:
// OCPP SPEC-SILENT: [description of assumption]. Verify this matches your requirements.
如果在 CLAUDE.md 中未找到升级处理偏好,则默认采用 严格 模式。
文档文件索引
需要详细的字段级架构、时序图或完整示例时,请从插件的 docs/ 目录读取相关文件。使用 ${CLAUDE_PLUGIN_ROOT} 解析路径。
| 主题 | 要阅读的文件 |
|---|---|
| 所有共享数据类型(枚举 + 复合类型) | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-DataTypes.md |
| 设备模型(组件 + 变量目录) | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-DeviceModel/OCPP-2.0.1-DeviceModel.md |
| 开放枚举(单位、安全事件、原因代码) | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Enumerations/OCPP-2.0.1-Enumerations.md |
| 授权架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Authorization.md |
| 可用性架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Availability.md |
| 诊断架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Diagnostics.md |
| 显示架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Display.md |
| 固件架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Firmware.md |
| 配置架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Provisioning.md |
| 预留架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Reservation.md |
| 安全架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Security.md |
| 智能充电架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-SmartCharging.md |
| 交易架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Schemas/OCPP-2.0.1-Schemas-Transactions.md |
| 启动、授权、交易序列 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Sequences/OCPP-2.0.1-Sequences.md |
| 离线、固件、诊断序列 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-Sequences/OCPP-2.0.1-Sequences-Operational.md |
| 智能充电深入解析 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-SmartCharging/OCPP-2.0.1-SmartCharging.md |
| 智能充电示例 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-SmartCharging/OCPP-2.0.1-SmartCharging-Examples.md |
| ISO 15118 + 智能充电 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1-SmartCharging/OCPP-2.0.1-SmartCharging-ISO15118.md |
| OCPP 2.0.1 概览 + 迁移指南 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.0.1.md |
| 文档编写方法 + 信任模型 | ${CLAUDE_PLUGIN_ROOT}/docs/METHODOLOGY.md |
| OCPP 2.1 概览 + 从 2.0.1 迁移 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1.md |
| OCPP 2.1 数据类型 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-DataTypes.md |
| OCPP 2.1 枚举 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Enumerations/OCPP-2.1-Enumerations.md |
| OCPP 2.1 设备模型 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-DeviceModel/OCPP-2.1-DeviceModel.md |
| OCPP 2.1 DER 控制深入解析 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-DERControl/OCPP-2.1-DERControl.md |
| OCPP 2.1 双向 / V2X 深入解析 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Bidirectional/OCPP-2.1-Bidirectional.md |
| OCPP 2.1 电价与成本深入解析 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-TariffCost/OCPP-2.1-TariffCost.md |
| OCPP 2.1 智能充电深入解析 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-SmartCharging/OCPP-2.1-SmartCharging.md |
| OCPP 2.1 消息序列 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Sequences/OCPP-2.1-Sequences.md |
| OCPP 2.1 用例 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-UseCases/OCPP-2.1-UseCases.md |
| OCPP 2.1 认证 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Certification/OCPP-2.1-Certification.md |
| OCPP 2.1 授权架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Authorization.md |
| OCPP 2.1 可用性架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Availability.md |
| OCPP 2.1 电池更换架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-BatterySwap.md |
| OCPP 2.1 双向架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Bidirectional.md |
| OCPP 2.1 证书架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Certificates.md |
| OCPP 2.1 DER 控制架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-DERControl.md |
| OCPP 2.1 数据传输架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-DataTransfer.md |
| OCPP 2.1 诊断架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Diagnostics.md |
| OCPP 2.1 显示架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Display.md |
| OCPP 2.1 固件架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Firmware.md |
| OCPP 2.1 本地授权列表架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-LocalAuthList.md |
| OCPP 2.1 电表值架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-MeterValues.md |
| OCPP 2.1 配置架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Provisioning.md |
| OCPP 2.1 远程控制架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-RemoteControl.md |
| OCPP 2.1 预留架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Reservation.md |
| OCPP 2.1 安全架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Security.md |
| OCPP 2.1 智能充电架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-SmartCharging.md |
| OCPP 2.1 电价与成本架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-TariffAndCost.md |
| OCPP 2.1 交易架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-2.1-Schemas/OCPP-2.1-Schemas-Transactions.md |
| OCPP 1.6J 概览 + 配置键 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J.md |
| 1.6J 核心架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Schemas/OCPP-1.6J-Schemas-Core.md |
| 1.6J 智能充电架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Schemas/OCPP-1.6J-Schemas-SmartCharging.md |
| 1.6J 固件架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Schemas/OCPP-1.6J-Schemas-Firmware.md |
| 1.6J 本地授权列表架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Schemas/OCPP-1.6J-Schemas-LocalAuthList.md |
| 1.6J 预留架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Schemas/OCPP-1.6J-Schemas-Reservation.md |
| 1.6J 远程触发架构 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Schemas/OCPP-1.6J-Schemas-RemoteTrigger.md |
| 1.6J 消息序列 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-Sequences/OCPP-1.6J-Sequences.md |
| 1.6J 智能充电深入解析 | ${CLAUDE_PLUGIN_ROOT}/docs/OCPP-1.6J-SmartCharging/OCPP-1.6J-SmartCharging.md |
如何使用文件映射
- 根据开发者的问题确定主题
- 使用 Read 工具读取相关文件
- 引用文档中的具体字段、约束和枚举值
- 标出在文档中遇到的任何 ESCALATE 标记
主题参数路由
如果使用 /ocpp <topic> 调用,请立即读取相关文件:
OCPP 2.1 主题:
/ocpp 2.1或/ocpp 2.1 overview→ 读取OCPP-2.1.md概览/ocpp 2.1 migration→ 读取OCPP-2.1.md(包含从 2.0.1 迁移的指南)/ocpp 2.1 der或/ocpp 2.1 der-control→ 读取OCPP-2.1-DERControl/OCPP-2.1-DERControl.md+OCPP-2.1-Schemas/OCPP-2.1-Schemas-DERControl.md/ocpp 2.1 v2x或/ocpp 2.1 bidirectional→ 读取OCPP-2.1-Bidirectional/OCPP-2.1-Bidirectional.md+OCPP-2.1-Schemas/OCPP-2.1-Schemas-Bidirectional.md/ocpp 2.1 tariff或/ocpp 2.1 cost→ 读取OCPP-2.1-TariffCost/OCPP-2.1-TariffCost.md+OCPP-2.1-Schemas/OCPP-2.1-Schemas-TariffAndCost.md/ocpp 2.1 device-model→ 读取OCPP-2.1-DeviceModel/OCPP-2.1-DeviceModel.md/ocpp 2.1 enums或/ocpp 2.1 enumerations→ 读取OCPP-2.1-Enumerations/OCPP-2.1-Enumerations.md/ocpp 2.1 use-cases→ 读取OCPP-2.1-UseCases/OCPP-2.1-UseCases.md/ocpp 2.1 certification→ 读取OCPP-2.1-Certification/OCPP-2.1-Certification.md/ocpp 2.1 schemas→ 读取OCPP-2.1-Schemas/中的全部 19 个文件/ocpp 2.1 smart-charging→ 读取OCPP-2.1-SmartCharging/OCPP-2.1-SmartCharging.md+OCPP-2.1-Schemas/OCPP-2.1-Schemas-SmartCharging.md/ocpp 2.1 sequences→ 读取OCPP-2.1-Sequences/OCPP-2.1-Sequences.md/ocpp 2.1 types或/ocpp 2.1 data-types→ 读取OCPP-2.1-DataTypes.md
OCPP 1.6J 主题:
/ocpp 1.6或/ocpp 1.6j→ 读取 OCPP-1.6J.md 概览/ocpp 1.6 smart-charging→ 读取 1.6J SmartCharging 架构文件 + 深入解析文档/ocpp 1.6 schemas→ 读取所有 1.6J 架构文件/ocpp 1.6 sequences→ 读取 1.6J 序列文件/ocpp 1.6 core→ 读取 1.6J 核心架构文件/ocpp 1.6 firmware→ 读取 1.6J 固件架构文件/ocpp 1.6 auth-list→ 读取 1.6J LocalAuthList 架构文件/ocpp 1.6 reservation→ 读取 1.6J Reservation 架构文件
OCPP 2.0.1 主题(默认):
/ocpp smart-charging→ 读取全部 3 个 SmartCharging 文件/ocpp authorize或/ocpp authorization→ 读取 Authorization 架构文件/ocpp transactions→ 读取 Transaction 架构文件 + 序列文件/ocpp provisioning或/ocpp boot→ 读取 Provisioning 架构文件 + 序列文件/ocpp schemas→ 读取所有架构文件/ocpp sequences→ 读取两个序列文件/ocpp types或/ocpp data-types→ 读取 DataTypes/ocpp device-model→ 读取OCPP-2.0.1-DeviceModel/OCPP-2.0.1-DeviceModel.md/ocpp enums或/ocpp enumerations→ 读取OCPP-2.0.1-Enumerations/OCPP-2.0.1-Enumerations.md/ocpp firmware→ 读取 Firmware 架构文件 + Operational 序列文件/ocpp diagnostics→ 读取 Diagnostics 架构文件 + Operational 序列文件/ocpp reservation→ 读取 Reservation 架构文件/ocpp display→ 读取 Display 架构文件/ocpp security或/ocpp certificates→ 读取 Security 架构文件/ocpp availability→ 读取 Availability 架构文件- 其他任何主题 → 使用 grep 搜索所有文档
行为准则
-
始终注明来源。 提及字段、类型或约束时,指出其来源文档。区分基于 schema 的事实(置信度高)与 AI 解读(置信度较低)。
-
遵循升级处理模型。 在文档中遇到
> **ESCALATE:**标记时,遵循上述升级严格性规则。 -
根据上下文判断版本。 使用上述版本判断规则。如果代码使用
StartTransaction/StopTransaction,则为 1.6J——阅读 1.6J 文档。如果代码使用SetDERControl、GetTariffs、BatterySwap、OpenPeriodicEventStream、子协议ocpp2.1,或包含:2:2025:的 schema URN,则为 2.1——阅读 2.1 文档。如果代码使用TransactionEvent,但没有 2.1 的标志,则为 2.0.1。如果没有版本标志,则假定为 2.0.1,并说明这一假设。 -
不要臆造协议行为。 如果不确定某项行为是否由规范定义,请先查阅文档。如果文档未涵盖,请明确说明,不要猜测。
-
使用 schema 进行验证。 开发者编写 OCPP 消息负载时,请根据 schema 文档验证字段名称、类型、必填/可选状态及约束。