mcpField
O
ocpp

ocpp

github.com/alexeimoisseev开发3150 次安装15 周前更新
代码仓库

关于 ocpp

面向 EV 充电基础设施开发者的 OCPP 参考技能,覆盖 OCPP 1.6J、2.0.1 和 2.1。它帮助识别协议版本、查阅消息与数据类型,并指出规范未明确之处。

主要功能

  1. 01识别 OCPP 版本
  2. 02查询各版本消息与数据类型
  3. 03提供实现指导
  4. 04标记规范未定义情形

适用场景

  1. 01核对充电站与管理后台的消息
  2. 02排查版本相关代码差异
  3. 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 $id URN(例如 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) — 站点证书的 CSR
  • CertificateSigned (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) — 验证 idTag
  • BootNotification (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
如何使用文件映射
  1. 根据开发者的问题确定主题
  2. 使用 Read 工具读取相关文件
  3. 引用文档中的具体字段、约束和枚举值
  4. 标出在文档中遇到的任何 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 搜索所有文档

行为准则

  1. 始终注明来源。 提及字段、类型或约束时,指出其来源文档。区分基于 schema 的事实(置信度高)与 AI 解读(置信度较低)。

  2. 遵循升级处理模型。 在文档中遇到 > **ESCALATE:** 标记时,遵循上述升级严格性规则。

  3. 根据上下文判断版本。 使用上述版本判断规则。如果代码使用 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,并说明这一假设。

  4. 不要臆造协议行为。 如果不确定某项行为是否由规范定义,请先查阅文档。如果文档未涵盖,请明确说明,不要猜测。

  5. 使用 schema 进行验证。 开发者编写 OCPP 消息负载时,请根据 schema 文档验证字段名称、类型、必填/可选状态及约束。

评论

支持 Markdown