mcpField
O
ocpp

ocpp

github.com/alexeimoisseev開発3150 回インストール15 週間前に更新
リポジトリ

ocpp について

EV充電インフラの開発者向けOCPPリファレンススキルで、OCPP 1.6J、2.0.1、2.1を扱います。バージョンの判定、メッセージやデータ型の参照、仕様で定義されていない動作の指摘に役立ちます。

主な機能

  1. 01OCPPバージョンの判定
  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 エージェント向けリファレンス

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 スキーマ $id URN(例:urn:OCPP:Cp:2:2025:1:SetDERControlRequest)

不明な場合は、使用しているバージョンを開発者に確認してください。

クイックリファレンス

OCPP とは: Open Charge Point Protocol のことで、WebSocket と JSON を介して EV 充電ステーションと管理バックエンドの間で通信します。ステーションが接続を開始します。双方がメッセージを送信できます。

OCPP 2.1
  • 役割: Charging Station (CS) ↔ CSMS
  • デバイスモデル: 2.0.1 と同じ — Charging Station → EVSE(s) → Connector(s)。evseId=0 はステーション全体を意味します。
  • 91 個のメッセージ = 2.0.1 の 64 個のメッセージ + 新規メッセージ 27 個(下記参照)
  • 新機能: DER 制御、V2X/双方向電力伝送、料金管理、バッテリー交換、定期イベントストリーム、動的充電プロファイルの更新、優先充電、ウェブ決済
OCPP 2.0.1
  • 役割: Charging Station (CS) ↔ CSMS
  • デバイスモデル: Charging Station → EVSE(s) → Connector(s)。evseId と connectorId は 1 から始まるインデックスです。evseId=0 はステーション全体を意味します。
  • 64 個のメッセージ。機能ブロックごとに分類されています
OCPP 1.6J
  • 役割: Charge Point (CP) ↔ Central System (CS)
  • デバイスモデル: Charge Point → Connector(s)。connectorId は 1 から始まるインデックスです。connectorId=0 は Charge Point 全体を意味します。EVSE の概念はありません。
  • 28 個のメッセージ。機能プロファイル(Core、Smart Charging、Firmware、Local Auth List、Reservation、Remote Trigger)ごとに分類されています

メッセージフレーム(両バージョン共通): JSON-RPC に似た形式です。次の 3 種類があります。

  • 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 は OCPP 2.0.1 の全 64 件のメッセージを維持し、以下の 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 ステータスを照会します

OCPP 1.6J の全 28 メッセージ

コア(必須プロファイル)
  • 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 で、エスカレーションに関する設定を確認してください。次のように記載されている場合があります。

For OCPP: use pragmatic escalation mode.

または:

OCPP escalation: strict — always ask before assuming spec-silent behavior.

モードは次の2つです。

  • strict(デフォルト): 作業を止め、先に開発者へ確認します。具体的な選択肢を提示してください。回答を得るまで、曖昧な領域のコードを書いてはいけません。
  • pragmatic: 曖昧さを伝えたうえで、妥当なデフォルトを選択します。見える形で注記を残してください。
    // OCPP SPEC-SILENT: [description of assumption]. Verify this matches your requirements.
    

CLAUDE.md にエスカレーションの設定が見つからない場合は、デフォルトで strict とします。

ドキュメントファイルマップ

詳細なフィールドレベルのスキーマ、シーケンス図、または具体例が必要な場合は、プラグインの 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 の Schema ファイルをすべて読みます
  • /ocpp 1.6 sequences → 1.6J の Sequences ファイルを読みます
  • /ocpp 1.6 core → 1.6J の Core スキーマを読みます
  • /ocpp 1.6 firmware → 1.6J の Firmware スキーマを読みます
  • /ocpp 1.6 auth-list → 1.6J の LocalAuthList スキーマを読みます
  • /ocpp 1.6 reservation → 1.6J の Reservation スキーマを読みます

OCPP 2.0.1 のトピック(デフォルト):

  • /ocpp smart-charging → SmartCharging ファイルを3つすべて読みます
  • /ocpp authorize または /ocpp authorization → Authorization スキーマを読みます
  • /ocpp transactions → Transaction スキーマ + Sequences を読みます
  • /ocpp provisioning または /ocpp boot → Provisioning スキーマ + Sequences を読みます
  • /ocpp schemas → Schema ファイルをすべて読みます
  • /ocpp sequences → Sequence ファイルを2つとも読みます
  • /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 sequences を読みます
  • /ocpp diagnostics → Diagnostics スキーマ + Operational sequences を読みます
  • /ocpp reservation → Reservation スキーマを読みます
  • /ocpp display → Display スキーマを読みます
  • /ocpp security または /ocpp certificates → Security スキーマを読みます
  • /ocpp availability → Availability スキーマを読みます
  • その他のトピック → grep を使ってすべてのドキュメントを検索します

動作ガイドライン

  1. 必ず出典を明記してください。 フィールド、型、制約に言及する場合は、どのドキュメントに記載されているかを示してください。スキーマに基づく事実(信頼度が高い)と、AI による解釈(信頼度が低い)を区別してください。

  2. エスカレーションモデルを遵守してください。 ドキュメント内に > **ESCALATE:** マーカーがある場合は、上記のエスカレーション厳格度ルールに従ってください。

  3. コンテキストからバージョンを検出してください。 上記のバージョン検出ルールを使用してください。コードで StartTransaction/StopTransaction を使用している場合は 1.6J です。1.6J のドキュメントを参照してください。SetDERControl、GetTariffs、BatterySwap、OpenPeriodicEventStream、サブプロトコル ocpp2.1、または :2:2025: を含むスキーマ URN を使用している場合は 2.1 です。2.1 を示す要素がなく TransactionEvent を使用している場合は 2.0.1 です。バージョンを示す要素がない場合は 2.0.1 と仮定し、その仮定を明記してください。

  4. プロトコルの動作を作り出さないでください。 ある動作が仕様で定義されているかどうか不明な場合は、まずドキュメントを確認してください。ドキュメントに記載がない場合は、推測せず、その旨を明確に伝えてください。

  5. 検証にはスキーマを使用してください。 開発者が OCPP メッセージのペイロードを作成する場合は、スキーマドキュメントに照らして、フィールド名、型、必須/任意の区分、制約を検証してください。

コメント