bradsjm

home-assistant-esphome

ESPHome + Home Assistant workflows for provisioning, adoption, entity naming, encryption keys (noise_psk / api encryption), OTA updates, and troubleshooting offline devices. Use when working with ESPHome Device Builder, the HA ESPHome integration, or when generating ESPHome YAML and validating entities in HA.

bradsjm 41 40 Updated 4mo ago

Resources

2
GitHub

Install

npx skillscat add bradsjm/hassio-addons/home-assistant-esphome

Install via the SkillsCat registry.

SKILL.md

ESPHome + Home Assistant

Workflow

  • Identify the task: new device/adopt, offline troubleshooting, or YAML feature changes.
  • For HA-side validation, discover ESPHome entities and map to devices before changing names.
  • For YAML changes, edit in ESPHome Device Builder (UI-first), validate, then install (USB first flash, OTA thereafter).
  • When building automations from ESPHome entities, follow home-assistant-best-practices for automation patterns.

HA-side discovery (common)

  • Check integration state: ha_get_integration(query="esphome")
  • Find entities by name or area: ha_search_entities(query="kitchen", limit=50)
  • Map entity to device: ha_get_device(entity_id="...")

Local helper (bundled)

All reference and script files are relative to the location of this SKILL.md file.

  • Generate a new base64 32-byte key:
    • Raw: python3 scripts/gen_esphome_noise_psk.py
    • YAML block: python3 scripts/gen_esphome_noise_psk.py --yaml

References

  • Core resources and docs: references/resources.md
  • YAML snippets and naming patterns: references/snippets.md
  • Troubleshooting: references/troubleshooting.md
  • HA config flow specifics: references/ha-config-flow.md