esphome

esphome is a skill for Claude Code, Codex from znlgis/opengis-skills. It costs 94 tokens per session (4,131 once invoked), scanned A, original, MIT.

A YAML-based tool for building firmware for ESP32 and ESP8266 microcontrollers. It turns device settings for Wi-Fi, sensors, updates, and Home Assistant connection into firmware that you can compile, flash, and monitor.

In plain words
What is it for?
Use it to configure and flash ESP32 or ESP8266 boards, upload firmware over USB or Wi-Fi, read device logs, and troubleshoot missing components or failed updates.
Why use it?
It avoids writing much of the low-level code needed to connect a small device, network it, and update it. It also gives you command-line checks for common flashing, upload, and boot problems.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one.

Good fit Use it to configure and flash ESP32 or ESP8266 boards, upload firmware over USB or Wi-Fi, read device logs, and troubleshoot missing components or failed updates.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/znlgis/opengis-skills/esphome
Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add znlgis/opengis-skills --skill esphome
Clone the repo
git clone --depth 1 https://github.com/znlgis/opengis-skills

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for esphome

README.md
[![agentmods](https://agentmods.dev/badge/skills/znlgis/opengis-skills/esphome/github.svg)](https://agentmods.dev/skills/znlgis/opengis-skills/esphome)
Your own site
<a href="https://agentmods.dev/skills/znlgis/opengis-skills/esphome"><img src="https://agentmods.dev/badge/skills/znlgis/opengis-skills/esphome/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for esphome

Your own site · 80×15
<a href="https://agentmods.dev/skills/znlgis/opengis-skills/esphome"><img src="https://agentmods.dev/badge/skills/znlgis/opengis-skills/esphome.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 94 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 4,131 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00094 $0.04131
Opus 5.5 $0.00038 $0.01652
Sonnet 5.5 $0.00019 $0.00826
Haiku 4.5 $0.00009 $0.00413

Measured today against content hash e59cddf9f7d6, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

esphome scanned grade A with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

curl -s -H "Authorization: Bearer $TOKEN" \
iot/esphome/SKILL.md · 315 lines

How it starts

The opening of the file, as written. The whole thing — 315 lines — stays where its author put it; the contents beside it link to each section on GitHub.

项目地址: https://github.com/esphome/esphome

官方文档: https://esphome.io/

PyPI: esphome 2026.10.0(GitHub Releases 同日发布,截至 2026-10)

许可证: MIT(部分组件依赖的第三方库另有许可)

概述

ESPHome 是一个「用 YAML 生成 ESP 固件」的框架。你描述设备有什么(板子型号、传感器接在哪个引脚、要暴露哪些实体),它负责生成 C++、编译、上传,并把设备自动接入 Home Assistant。

核心模型:

  • 一份 YAML = 一台设备:esphome:、esp32:、wifi:、api:、ota: 是骨架,其余都是组件
  • 组件(component):sensor:、binary_sensor:、light:、display: 等平台,每个下面按 platform: 选具体实现
  • 实体(entity):组件里带 name: 的条目会变成 Home Assistant 的实体;不带 name 的是内部件
  • 原生 API:api: 段启用 protobuf over TCP(默认 6053),是 HA 集成的首选通道;MQTT 是另一条可选通道
  • OTA:ota: - platform: esphome 让后续更新走网络,不必每次插 USB

相比手写 Arduino/ESP-IDF,它把构建系统、网络栈、HA 对接、OTA 都收敛到声明式配置里;代价是组件能力受框架支持范围限制。

环境准备

方式一:pip 安装 CLI(推荐,可脚本化)

python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install esphome==2026.10.0

esphome version

esphome version 应打印 Version: 2026.10.0。CLI 会自行下载 PlatformIO 与工具链(首次编译较慢)。

方式二:Docker

docker run --rm -it \
  -v "$PWD":/config \
  -v esphome-cache:/cache \
  --network host \
  ghcr.io/esphome/esphome:2026.10.0 version

把 /config 指向存放 YAML 的目录;串口烧写需要额外 --device /dev/ttyUSB0 直通。

方式三:ESPHome Device Builder(图形界面)

官方容器也能以 dashboard 形态运行(暴露 6052 端口),在浏览器里点选配置。命令行仍是理解配置与做自动化的主路径,本技能以 CLI 为准。

验证

esphome version
esphome config my-device.yaml        # 校验配置并打印最终生效内容

第二条命令不接硬件就能验证 YAML 是否正确,是改配置后的第一道检查。

核心 API / 配置

最小可用骨架

esphome:
  name: livingroom
  friendly_name: Living Room
  area: "Living Room"

esp32:
  variant: esp32s3          # 或 esp32 / esp32c3 / esp32c6 …;推荐用 variant 而非 board

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  manual_ip:
    static_ip: 192.168.1.50
    gateway: 192.168.1.1
    subnet: 255.255.255.0

api:
  encryption:
    key: !secret livingroom__encryption_key

ota:
  - platform: esphome

logger:

sensor:
  - platform: dht
    pin: GPIO4
    temperature:
      name: "Living room temperature"
    humidity:
      name: "Living room humidity"
    update_interval: 60s

Read the full file on GitHub · 315 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. today First seen · 315 lines · 94 tokens per session scan A e59cddf9f7d6

Subscribe to this mod's changes

esphome is a skill published in the GitHub repository znlgis/opengis-skills (75 stars, last pushed today), licensed MIT. It adds 94 tokens to every session and 4,131 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-28.

Related

Other skills, from other repositories

iot-expert

Expert-level IoT systems, embedded devices, edge computing, and IoT protocols. Use when the user mentions embedded, edge computing, MQTT, sensors, or firmware, or when the task involves IoT Architecture, IoT Protocols, Embedded Systems, or Device Design.

personamanagmentlayer/pcl · 59 tokens

ha-esphome-solution

Plans and orchestrates a complete ESPHome device or fleet result from a requirement, so the user never has to pick which ESPHome skill produces what. Decomposes it into the minimal dependency-ordered set of artifacts across the ha-esphome- family — repository layout and packages, the device file, sensors and buses…

nolte/claude-home-assistant · 205 tokens

IoT Device Testing

IoT device testing including firmware validation, protocol testing (MQTT, CoAP), power consumption testing, and over-the-air update verification.

PramodDutta/qaskills · 33 tokens

ha-esphome-display-author

Authors the on-screen content of an ESPHome display device per spec/ha/esp32-s3-box-display and spec/ha/esp32-s3-box-display-design — fixing the rendering path (display with pages and lambdas, or lvgl, never mixed), then emitting a page for every reachable state including the degraded ones, the single redraw script…

nolte/claude-home-assistant · 265 tokens

ha-esphome-binding-add

Wires one Home-Assistant-driven value or command into an ESPHome device per spec/ha/esphome-ha-driven-content — choosing the mechanism by the spec's rule (continuously mirrored value → state subscription, one-shot instruction → callable action, person-set value → writable template entity, something HA must learn →…

nolte/claude-home-assistant · 193 tokens

ha-esphome-ci-scaffold

Scaffolds the CI that validates an ESPHome fleet per spec/ha/esphome-project-structure §Validation — a pull-request workflow running esphome config for every device file on every change rather than only the diff, because a package edit breaks devices nobody touched, plus a scheduled or pre-release job for the far…

nolte/claude-home-assistant · 220 tokens