esphome-config-helper — community esphome-config-helper, claude-code-extensions, community, ide skills, Claude Code, Cursor, Windsurf

v0.1.0
GitHub

About this Skill

Ideal for IoT Automation Agents requiring streamlined ESPHome configuration and troubleshooting capabilities. These are a collection of extension for Claude Code that can typically also be used in opencode.

nodnarbnitram nodnarbnitram
[0]
[0]
Updated: 3/5/2026

Agent Capability Analysis

The esphome-config-helper skill by nodnarbnitram is an open-source community AI agent skill for Claude Code and other IDE workflows, helping agents execute tasks with better context, repeatability, and domain-specific guidance.

Ideal Agent Persona

Ideal for IoT Automation Agents requiring streamlined ESPHome configuration and troubleshooting capabilities.

Core Value

Empowers agents to rapidly generate and validate ESPHome configurations using ready-to-use templates, GPIO reference guides, and error message lookup utilities, leveraging configuration validation workflows and common sensor configurations with wiring diagrams.

Capabilities Granted for esphome-config-helper

Automating ESPHome device configuration for common device types
Debugging configuration errors using error message lookup and solutions
Generating quick-start templates with GPIO pinout references to prevent conflicts

! Prerequisites & Limits

  • Requires Claude Code or opencode compatibility
  • Limited to ESPHome device configurations
Labs Demo

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

esphome-config-helper

Install esphome-config-helper, an AI agent skill for AI agent workflows and automation. Works with Claude Code, Cursor, and Windsurf with one-command setup.

SKILL.md
Readonly

ESPHome Configuration Helper

Rapid ESPHome configuration generation and troubleshooting skill with ready-to-use templates, GPIO reference guides, and validation utilities.

Purpose

This skill accelerates ESPHome device configuration by providing:

  • Quick-start templates for common device types
  • GPIO pinout references to prevent conflicts
  • Common sensor configurations with wiring diagrams
  • Error message lookup and solutions
  • Configuration validation workflow

Use this skill for general ESPHome configuration tasks. For ESP32-S3-BOX-3 specific implementations, use the esphome-box3-builder skill instead.

When to Use This Skill

Use this skill when:

  • Starting a new ESPHome device configuration
  • Adding sensors, switches, or displays to existing configs
  • Troubleshooting compilation or runtime errors
  • Determining safe GPIO pins for components
  • Validating configuration before flashing

Delegate to specialized ESPHome agents for:

  • Deep technical questions (esphome-core, esphome-components, etc.)
  • Complex automation logic (esphome-automations agent)
  • Network troubleshooting (esphome-networking agent)
  • ESP32-S3-BOX-3 projects (esphome-box3 agent)

Configuration Templates

Available Templates

Located in templates/ directory:

  1. basic-device.yaml - Minimal ESP32 starter

    • ESP32 platform with WiFi and API
    • OTA updates enabled
    • Logger and web server
    • Use as foundation for custom projects
  2. sensor-node.yaml - Temperature/humidity sensor node

    • DHT22 sensor on GPIO4
    • WiFi with fallback AP
    • Home Assistant integration
    • Use for environmental monitoring
  3. relay-switch.yaml - 4-channel relay controller

    • GPIO control for 4 relays (GPIO23, GPIO22, GPIO21, GPIO19)
    • Physical button inputs with interlocks
    • Switch entities for Home Assistant
    • Use for home automation switching
  4. display-node.yaml - Display with sensors

    • SSD1306 OLED display (128x64, I²C)
    • DHT22 temperature/humidity
    • Display lambda showing sensor readings
    • Use for visual sensor displays

Using Templates

To use a template:

  1. Read the appropriate template file
  2. Customize device name, WiFi credentials, GPIO pins
  3. Add or remove components as needed
  4. Validate configuration (see Validation Workflow below)

Template Workflow:

yaml
1# 1. Read template 2cat .claude/skills/esphome-config-helper/templates/sensor-node.yaml 3 4# 2. Copy to project 5cp .claude/skills/esphome-config-helper/templates/sensor-node.yaml my-device.yaml 6 7# 3. Edit with device-specific values 8# - Update device name 9# - Set WiFi credentials (use secrets.yaml) 10# - Adjust GPIO pins if needed 11# - Customize sensor names 12 13# 4. Validate (see Validation Workflow)

GPIO Pin Reference

Quick GPIO Lookup

For detailed GPIO pinouts and safe pin selection, consult:

  • references/gpio-pinouts.md - Complete ESP32 and ESP8266 GPIO reference
    • Safe pins for each platform
    • Strapping pins to avoid
    • I²C/SPI/UART default pins
    • Input-only vs output-capable pins
    • Boot failure pins (GPIO0, GPIO2, GPIO15)

Quick Safe Pins:

  • ESP32: GPIO4, GPIO5, GPIO12, GPIO13, GPIO14, GPIO16, GPIO17, GPIO18, GPIO19, GPIO21, GPIO22, GPIO23, GPIO25-27, GPIO32, GPIO33
  • ESP8266: GPIO4 (D2), GPIO5 (D1), GPIO12 (D6), GPIO13 (D7), GPIO14 (D5)

Avoid (strapping/boot pins):

  • ESP32: GPIO0, GPIO2, GPIO5, GPIO12, GPIO15 (use with caution)
  • ESP8266: GPIO0, GPIO2, GPIO15

Common Sensor Configurations

Sensor Selection Guide

For detailed sensor configurations with wiring diagrams, consult:

  • references/common-sensors.md - Top 20 sensor configurations
    • Temperature/humidity sensors (DHT22, BME280, SHT3x)
    • Motion sensors (PIR, mmWave)
    • Light sensors (BH1750, TSL2561)
    • Distance sensors (HC-SR04, VL53L0X)
    • Gas sensors (MQ-series, SGP30)
    • Complete wiring diagrams and platform selection

Quick Sensor Recommendations:

  • Temperature/Humidity: BME280 (I²C, more reliable than DHT22)
  • Motion: HC-SR501 PIR (GPIO binary sensor)
  • Light: BH1750 (I²C, accurate lux measurements)
  • Distance: HC-SR04 (ultrasonic, 2-400cm range)
  • Air Quality: BME680 (I²C, temp/humidity/pressure/gas)

Basic Sensor Patterns

I²C Sensor (BME280 example):

yaml
1i2c: 2 sda: GPIO21 3 scl: GPIO22 4 scan: true 5 6sensor: 7 - platform: bme280 8 temperature: 9 name: "Temperature" 10 humidity: 11 name: "Humidity" 12 pressure: 13 name: "Pressure" 14 address: 0x76 15 update_interval: 60s

GPIO Sensor (DHT22 example):

yaml
1sensor: 2 - platform: dht 3 pin: GPIO4 4 model: DHT22 5 temperature: 6 name: "Temperature" 7 humidity: 8 name: "Humidity" 9 update_interval: 60s

Binary Sensor (PIR motion):

yaml
1binary_sensor: 2 - platform: gpio 3 pin: GPIO14 4 name: "Motion Sensor" 5 device_class: motion

Troubleshooting Guide

Error Lookup

For complete error message lookup table and solutions, consult:

  • references/troubleshooting.md - Comprehensive error message reference
    • Compilation errors (unknown platform, GPIO conflicts, dependency issues)
    • Runtime errors (WiFi failures, sensor timeouts, OTA problems)
    • Configuration errors (YAML syntax, invalid pins, missing components)
    • Hardware issues (sensor not detected, relay not switching)

Common Error Quick Reference:

Error MessageQuick Fix
"Unknown platform"Check component name spelling, ensure platform supported
"GPIO already in use"Check GPIO pin assignments, avoid duplicates
"Could not compile"Check YAML syntax, verify indentation (2 spaces)
"WiFi connection failed"Verify SSID/password, check signal strength, use static IP
"Sensor not found"Check I²C address (use scan: true), verify wiring
"OTA upload failed"Check device reachable, verify OTA password, restart device

Troubleshooting Workflow

When encountering errors:

  1. Check YAML syntax: Verify indentation (2 spaces, no tabs)
  2. Validate GPIO pins: Ensure no conflicts, use safe pins
  3. Check component platform: Verify platform name and configuration
  4. Review logs: Use esphome logs device.yaml to see runtime errors
  5. Consult references: Check references/troubleshooting.md for specific error
  6. Validate config: Run validation workflow (see below)

Validation Workflow

Using the Validation Script

The validation utility provides quick configuration checks:

Script: scripts/validate-config.sh

Usage:

bash
1# Validate configuration 2./.claude/skills/esphome-config-helper/scripts/validate-config.sh my-device.yaml 3 4# The script runs: 5# 1. esphome config my-device.yaml (syntax check) 6# 2. esphome compile my-device.yaml (compilation test)

Validation Steps:

  1. Syntax validation: esphome config my-device.yaml

    • Checks YAML syntax
    • Validates component configuration
    • Reports missing requirements
    • Shows final configuration
  2. Compilation test: esphome compile my-device.yaml

    • Downloads required libraries
    • Compiles firmware
    • Reports errors and warnings
    • Confirms configuration works
  3. Fix errors: If validation fails:

    • Review error messages
    • Check GPIO conflicts
    • Verify component platforms
    • Consult references/troubleshooting.md
    • Re-validate after fixes

Pre-Flash Checklist

Before flashing device:

  • Configuration validates without errors
  • WiFi credentials correct (use secrets.yaml)
  • Device name unique on network
  • GPIO pins verified safe
  • OTA password set (for future updates)
  • API encryption key configured (2026.1.0+)

Configuration Best Practices

YAML Structure

Organize configuration in logical sections:

yaml
1# 1. Core platform 2esphome: 3 name: device-name 4 friendly_name: Device Name 5 6esp32: 7 board: esp32dev 8 framework: 9 type: arduino 10 11# 2. Network 12wifi: 13 ssid: !secret wifi_ssid 14 password: !secret wifi_password 15 16api: 17 encryption: 18 key: !secret api_encryption_key 19 20ota: 21 - platform: esphome 22 password: !secret ota_password 23 24# 3. Logging 25logger: 26web_server: 27 28# 4. Components (sensors, switches, etc.) 29sensor: 30 # ... 31 32binary_sensor: 33 # ...

Secrets Management

Use secrets.yaml for sensitive data:

secrets.yaml:

yaml
1wifi_ssid: "MyNetwork" 2wifi_password: "MyPassword123" 3api_encryption_key: "base64-generated-key" 4ota_password: "SecureOTAPassword"

Reference in config:

yaml
1wifi: 2 ssid: !secret wifi_ssid 3 password: !secret wifi_password

Naming Conventions

Follow consistent naming:

  • Device names: lowercase-with-hyphens (e.g., bedroom-sensor)
  • Entity names: Title Case with Spaces (e.g., "Bedroom Temperature")
  • IDs: lowercase_with_underscores (e.g., temp_sensor)

Example:

yaml
1sensor: 2 - platform: dht 3 pin: GPIO4 4 temperature: 5 name: "Living Room Temperature" 6 id: living_room_temp 7 humidity: 8 name: "Living Room Humidity" 9 id: living_room_humidity

Integration with Other Skills and Agents

When to Use Other Resources

  • ESP32-S3-BOX-3 projects: Use esphome-box3-builder skill

    • Audio pipeline (I²S, ES7210, ES8311)
    • Display lambda rendering (ILI9xxx)
    • Touch interaction (GT911)
    • Voice assistant integration
  • Deep technical questions: Delegate to ESPHome agents

    • Core concepts → esphome-core agent
    • Component selection → esphome-components agent
    • Automation logic → esphome-automations agent
    • Network issues → esphome-networking agent
    • HA integration → esphome-homeassistant agent
  • Complex projects: Combine resources

    • Start with template (this skill)
    • Customize with agent guidance
    • Validate with scripts (this skill)
    • Deploy and troubleshoot (this skill + agents)

Additional Resources

Reference Files

For detailed information, consult:

  • references/gpio-pinouts.md - Complete ESP32/ESP8266 GPIO reference with safe pins, strapping pins, and pin capabilities
  • references/common-sensors.md - Top 20 sensor configurations with wiring diagrams, platform selection, and usage examples
  • references/troubleshooting.md - Comprehensive error message lookup table with solutions for compilation, runtime, and hardware issues

Template Files

Working configuration examples in templates/:

  • basic-device.yaml - Minimal ESP32 foundation
  • sensor-node.yaml - DHT22 temperature/humidity node
  • relay-switch.yaml - 4-channel relay controller
  • display-node.yaml - OLED display with sensors

Utility Scripts

Validation and testing tools in scripts/:

  • validate-config.sh - ESPHome configuration validation wrapper

Quick Start Workflow

For new ESPHome device:

  1. Select template based on device type (sensor, switch, display, or basic)
  2. Copy template to project directory
  3. Customize configuration:
    • Update device name
    • Set WiFi credentials in secrets.yaml
    • Adjust GPIO pins using references/gpio-pinouts.md
    • Add/remove components as needed
  4. Validate configuration using scripts/validate-config.sh
  5. Fix any errors using references/troubleshooting.md
  6. Flash device with validated configuration
  7. Monitor logs and troubleshoot if needed

For adding to existing config:

  1. Consult references for component configuration
  2. Check GPIO availability in references/gpio-pinouts.md
  3. Add component to configuration
  4. Validate before flashing
  5. Update and monitor

This skill provides rapid configuration generation for common ESPHome use cases. For specialized hardware (ESP32-S3-BOX-3) or deep technical questions, use the appropriate specialist skills and agents.

FAQ & Installation Steps

These questions and steps mirror the structured data on this page for better search understanding.

? Frequently Asked Questions

What is esphome-config-helper?

Ideal for IoT Automation Agents requiring streamlined ESPHome configuration and troubleshooting capabilities. These are a collection of extension for Claude Code that can typically also be used in opencode.

How do I install esphome-config-helper?

Run the command: npx killer-skills add nodnarbnitram/claude-code-extensions/esphome-config-helper. It works with Cursor, Windsurf, VS Code, Claude Code, and 19+ other IDEs.

What are the use cases for esphome-config-helper?

Key use cases include: Automating ESPHome device configuration for common device types, Debugging configuration errors using error message lookup and solutions, Generating quick-start templates with GPIO pinout references to prevent conflicts.

Which IDEs are compatible with esphome-config-helper?

This skill is compatible with Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Use the Killer-Skills CLI for universal one-command installation.

Are there any limitations for esphome-config-helper?

Requires Claude Code or opencode compatibility. Limited to ESPHome device configurations.

How To Install

  1. 1. Open your terminal

    Open the terminal or command line in your project directory.

  2. 2. Run the install command

    Run: npx killer-skills add nodnarbnitram/claude-code-extensions/esphome-config-helper. The CLI will automatically detect your IDE or AI agent and configure the skill.

  3. 3. Start using the skill

    The skill is now active. Your AI agent can use esphome-config-helper immediately in the current project.

Related Skills

Looking for an alternative to esphome-config-helper or another community skill for your workflow? Explore these related open-source skills.

View All

widget-generator

Logo of f
f

f.k.a. Awesome ChatGPT Prompts. Share, discover, and collect prompts from the community. Free and open source — self-host for your organization with complete privacy.

149.6k
0
AI

flags

Logo of vercel
vercel

flags is a Next.js feature management skill that enables developers to efficiently add or modify framework feature flags, streamlining React application development.

138.4k
0
Browser

zustand

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI

data-fetching

Logo of lobehub
lobehub

The ultimate space for work and life — to find, build, and collaborate with agent teammates that grow with you. We are taking agent harness to the next level — enabling multi-agent collaboration, effortless agent team design, and introducing agents as the unit of work interaction.

72.8k
0
AI