ha-integration-dev

Featured

Home Assistant custom integration development in Python. Covers custom_components, DataUpdateCoordinator, config_flow, OAuth2, conversation agent, HACS publishing, device registry, entity platforms, services, repair issues, diagnostics, Bluetooth integrations, and multi-coordinator patterns.

AI & Automation 104 stars 3 forks Updated 6 days ago MIT

Install

View on GitHub

Quality Score: 88/100

Stars 20%
67
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Home Assistant Integration Development Reference skill for developing Home Assistant custom integrations in Python. ## Overview **Core principle:** Home Assistant integrations run in the same Python process as Core with full filesystem access. Security, proper async patterns, and correct timestamp handling are non-negotiable. **Context:** This skill requires understanding the integration type (polling vs push, cloud vs local) before generating code. The DataUpdateCoordinator pattern is mandatory for most integrations. ## The Iron Law ``` TIMESTAMPS: dt_util.now() / dt_util.utcnow() - NEVER datetime.now() ATTRIBUTES: JSON-SERIALIZABLE ONLY - NO DATACLASSES, NO DATETIME OBJECTS ASYNC: aiohttp FOR HTTP - NEVER requests STORAGE: entry.runtime_data - NEVER hass.data[DOMAIN] ``` The first three rules cause 90% of integration bugs. The fourth rule (`runtime_data`) is the modern pattern since HA 2024.4 - it provides type safety and cleaner lifecycle management. ## The Process ``` User request │ ▼ Clarify: API type, auth, entities │ ▼ Ask: HACS preparation? │ ▼ Select template │ ▼ Read relevant references │ ▼ Generate integration code │ ▼ Run pre-completion checklist │ ├──if HACS=yes──▶ Generate HACS files ──▶ Deliver integration │ └──if HACS=no───▶ Deliver integration ``` ## Common Pitfalls Watch out for these Iron Law violations: | Thought | Reality | |---------|---------| | "datetime.now() is fine" | WRON...

Details

Author
tonylofgren
Repository
tonylofgren/aurora-smart-home
Created
8 months ago
Last Updated
6 days ago
Language
Python
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Listed

home-assistant-integration

Use this skill when creating, scaffolding, reviewing, or maintaining Python Home Assistant custom integrations, including work on custom_components, manifests, config flows, options flows, config entries, platforms/entities, DataUpdateCoordinator, integration automation triggers, diagnostics, repairs, discovery/networking, authentication, HACS-ready repositories, or Home Assistant integration quality scale compliance.

17 Updated 1 months ago
denysdovhan
AI & Automation Listed

ha-integration-solution

Plans and orchestrates a complete Home Assistant Python custom-integration backend from a result-oriented device/cloud/API requirement, driven by a chosen quality-scale target tier (Bronze–Platinum), so the user never picks individual skills. Decomposes the requirement into a minimal dependency-ordered plan for the target tier, presents it for approval, then dispatches the owning integration ha-* skills — resolved from the live skill inventory at runtime, never from a frozen list — threading the domain and entity_ids between steps, optionally closing with CI validation and HACS-release readiness. Activate on "build an integration for device/API X", "build a Gold-tier integration for my Acme thermostat cloud API", or equivalent German requests. Do not activate for a single clear augment (the owning skill), a YAML automation solution (ha-automation-solution), a Lovelace frontend (ha-lovelace-solution), or deploying to a live HA instance (ha-integration-deployer agent). Supports resume on re-invocation.

1 Updated 1 months ago
nolte
AI & Automation Listed

home-assistant-card

Use when creating, reviewing, debugging, or maintaining Home Assistant custom Lovelace cards or card editors, including custom elements, Web Components, hass data, setConfig, getCardSize/getGridOptions, getConfigElement/getConfigForm, window.customCards, resource registration, HACS card packages, entity display, service calls, translations, or frontend build validation.

17 Updated 1 months ago
denysdovhan