agentsclimarketplace

Sigen config

Skill paulczar/sigen-mcp/skills/sigen-config

Safe configuration workflow for Sigenergy ESS inverters. Guides through EMS mode changes, charge/discharge limit adjustments, and direct register writes with safety validation. Always reads current state first, validates ranges against documented limits, and requires user confirmation before executing any write. Use when the user wants to change EMS mode, set charge/discharge limits, write a register, or change inverter configuration.From its SKILL.md

Install
npx -y skills add paulczar/sigen-mcp --skill sigen-config

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.8 KB, as published. Nobody here has run it

sigen-config — Safe Configuration Changes

Guided workflow for making configuration changes to the Sigenergy ESS system. Always validates inputs before writing and confirms with the user before making changes.

Prerequisites

  • sigen-mcp MCP server must be connected
  • User must explicitly confirm the change before any write is executed
  • Know the current inverter state before making changes (read it first)

Safety Rules (ALWAYS FOLLOW)

  1. Read before write: Always call the corresponding read tool first to show the user the current value.
  2. Confirm with user: Present the proposed change and ask for explicit confirmation before executing.
  3. Validate ranges: Never write values outside documented safe ranges.
  4. Log changes: Include what changed in the response.

Procedure

EMS Mode Change

Register: 40031 (slave 247, holding)

Valid modes (from REMOTE_EMS_MODES in registry.ts):

ValueModeDescription
0MaxSelfConsumptionSelf-consumption priority
1AICloud-optimized
2TOUTime-of-use schedule
3ManualManual control
4Off-GridForce islanding
5FullFeedInAll PV to grid
6BackupBattery backup reserve
7EconomyGrid-tied savings mode
8EmergencyEmergency power mode
9CustomUser-defined parameters

Workflow:

  1. Call read_ems_mode() to show current mode
  2. Present the current and proposed mode to the user
  3. Call set_ems_mode({ mode: <number> }) only after explicit confirmation

Charge/Discharge Limit Change

Registers:

  • Max charging: 40032 (slave 247, holding) — in kW
  • Max discharging: 40034 (slave 247, holding) — in kW

Valid range: 0 to the inverter's rated power (typically 5–15 kW depending on model)

Workflow:

  1. Call read_plant() — note the current active power flow and battery SOC
  2. Check: if battery SOC is very low (< 10%), warn the user before setting a discharge limit
  3. Present the proposed limit to the user
  4. Call set_charge_limit({ kw: <value> }) or set_discharge_limit({ kw: <value> }) only after confirmation

Validation rules:

  • Must be >= 0 kW
  • Should not exceed the inverter's rated power (check nameplate or documentation)
  • Setting to 0 kW blocks that direction entirely
  • Discharge limit during low battery can cause system instability

Direct Register Write

For advanced users who know exactly what they're writing:

WARNING: Direct register writes can:

  • Change system behavior unexpectedly
  • Invalidate warranties
  • Cause equipment damage if incorrect values are written

Workflow:

  1. Read the current register value first: read_registers({ address, slave })
  2. Confirm the user understands the risk
  3. Execute only after explicit confirmation: write_register({ address, value, slave })

General Precautions

SituationAction
User wants to set EMS mode during off-gridWarn: mode change while off-grid may not take effect until grid returns
User sets charge limit higher than inverter ratingReject — clamp to rated max
User sets discharge limit above available battery powerAccept but note: actual discharge will be limited by battery BMS
User asks to write registers they don't understandPush back — ask them to explain what they're trying to achieve

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.