← Back to Skills Marketplace
muqiong

BMS CAN Analyzer

by Muqiong · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
103
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install bms-skill
Description
Parse automotive BMS BLF CAN logs with DBC files to extract time series data for specified signals in CSV, JSON, or text formats.
README (SKILL.md)

BMS CAN Analyzer Skill

A specialized skill for parsing automotive BMS (Battery Management System) BLF files and extracting time series data for specific signals using DBC definitions.

When to Use

USE this skill when:

  • "Extract voltage signal from my BLF file"
  • "Get temperature readings over time from CAN log"
  • "Parse BMS data using my DBC file"
  • "Show SOC time series from automotive log"
  • "Analyze specific CAN signal from BLF recording"

Requirements

  • BLF (Binary Logging Format) file containing CAN messages
  • DBC (Database CAN) file with signal definitions
  • Signal name to extract (must match DBC definition)

Commands

Extract Single Signal Time Series

# Basic usage
bms-can-analyzer --blf-file path/to/log.blf --dbc-file path/to/definitions.dbc --signal-name "Cell_Voltage_1"

# With output format
bms-can-analyzer --blf-file log.blf --dbc-file defs.dbc --signal-name "Pack_Temperature" --output-format json

# Save to file
bms-can-analyzer --blf-file log.blf --dbc-file defs.dbc --signal-name "SOC" --output-file soc_data.csv

Extract Multiple Signals

# Comma-separated signal names
bms-can-analyzer --blf-file log.blf --dbc-file defs.dbc --signal-name "Cell_Voltage_1,Cell_Voltage_2,Cell_Temp_1"

Supported Output Formats

  • csv - Comma-separated values (default)
  • json - JSON array with timestamp and value pairs
  • text - Simple text format with timestamp and value

Signal Name Requirements

Signal names must exactly match those defined in your DBC file. Common BMS signal examples:

  • Cell_Voltage_1, Cell_Voltage_2, ..., Cell_Voltage_N
  • Cell_Temperature_1, Cell_Temperature_2, ..., Cell_Temperature_N
  • Pack_Voltage, Pack_Current, Pack_Temperature
  • State_of_Charge, State_of_Health
  • Max_Cell_Voltage, Min_Cell_Voltage
  • Max_Cell_Temp, Min_Cell_Temp

Error Handling

  • File not found: Check BLF and DBC file paths
  • Signal not found: Verify signal name matches DBC definition exactly
  • Corrupted BLF: File may be incomplete or damaged
  • Invalid DBC: DBC syntax errors will prevent parsing

Dependencies

This skill requires:

  • Python 3.7+
  • python-can library
  • cantools library
  • blf library (for BLF parsing)

The skill will automatically install these dependencies if not present.

Usage Guidance
This skill's code appears to do what it says (parse BLF files with a DBC and produce outputs/plots), but there are notable mismatches in the documentation: SKILL.md promises an automatic installer and a 'bms-can-analyzer' CLI that are not present in the bundle. Before installing or running: (1) verify and install the required Python packages (python-can, cantools, blf, matplotlib, pandas) from trusted package sources; (2) run the provided scripts directly (parse_blf_signal.py and visualize_signal.py) or create a proper entry point if you need a single CLI; (3) run in a controlled environment or sandbox when processing untrusted BLF files since they are binary logs; (4) if you expect automatic dependency installation from the skill, treat that claim as unreliable and confirm how the agent/runtime will handle dependency installation. If you need the convenience of a single CLI or automatic installs, request an updated package or install spec from the maintainer.
Capability Analysis
Type: OpenClaw Skill Name: bms-skill Version: 1.0.0 The skill bundle provides legitimate tools for parsing automotive Battery Management System (BMS) CAN bus data from BLF files using DBC definitions. The Python scripts (parse_blf_signal.py, dbc_utils.py, and visualize_signal.py) use standard industry libraries like cantools and python-can to process data locally without any evidence of data exfiltration, unauthorized network access, or malicious command execution.
Capability Assessment
Purpose & Capability
Name/description align with the code. Provided modules (dbc_utils.py, parse_blf_signal.py, visualize_signal.py) implement DBC loading, BLF parsing, signal extraction, output formatting, and plotting — all appropriate for a BMS CAN analyzer.
Instruction Scope
SKILL.md describes a CLI named 'bms-can-analyzer' and states that the skill will "automatically install these dependencies if not present.' The packaged files provide Python scripts (parse_blf_signal.py, visualize_signal.py) but no wrapper or entry point named 'bms-can-analyzer' and no code that performs automatic installation. This mismatch is scope/integration drift — instructions claim behaviors (auto-install, a named CLI) that the code does not implement.
Install Mechanism
The skill is instruction-only in registry terms (no install spec). SKILL.md promises automatic installation of Python dependencies (python-can, cantools, blf) but there is no install specification or script in the bundle that performs installs. That inconsistency could lead to surprises during installation/runtime (the agent or user would need to install dependencies manually).
Credentials
No environment variables, credentials, or config paths are requested. The code does not read environment variables or access unrelated system paths; it only reads user-supplied BLF/DBC files and writes local outputs. The requested privileges are proportional to the stated purpose.
Persistence & Privilege
Skill does not request persistent presence (always: false), does not modify other skills or system-wide settings, and contains no autonomous-install or self-enabling behavior in the provided files.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install bms-skill
  3. After installation, invoke the skill by name or use /bms-skill
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Slug bms-skill
Version 1.0.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is BMS CAN Analyzer?

Parse automotive BMS BLF CAN logs with DBC files to extract time series data for specified signals in CSV, JSON, or text formats. It is an AI Agent Skill for Claude Code / OpenClaw, with 103 downloads so far.

How do I install BMS CAN Analyzer?

Run "/install bms-skill" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is BMS CAN Analyzer free?

Yes, BMS CAN Analyzer is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does BMS CAN Analyzer support?

BMS CAN Analyzer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created BMS CAN Analyzer?

It is built and maintained by Muqiong (@muqiong); the current version is v1.0.0.

💬 Comments