A comprehensive collection of high-quality Home Assistant blueprints with automated validation, semantic versioning, and easy installation.
- π Comprehensive Validation: All blueprints are automatically validated for YAML syntax and Home Assistant schema compliance
- π― Home Assistant YAML Support: Full support for
!input,!include,!secret, and!env_vartags - π’ Semantic Versioning: Each blueprint gets automatic version numbers based on commit history using conventional commits
- π Easy Installation: One-click import buttons that work directly with Home Assistant
- π Beautiful Catalog: Auto-generated GitHub Pages site showcasing all blueprints
- π Automated Publishing: GitHub Actions workflow handles everything automatically
Visit our Blueprint Catalog to see all available blueprints with easy import buttons.
- Easy Method: Click the "π Import to HA" button on any blueprint in our catalog
- Manual Method:
- Copy the raw YAML URL from our GitHub Pages site
- Go to Home Assistant β Settings β Automations & Scenes β Blueprints
- Click "Import Blueprint" and paste the URL
https://iamwillbar.github.io/ha-blueprints/blueprints/automation/lighting/motion-activated-light.yaml
ha-blueprints/
βββ .github/workflows/
β βββ validate-and-publish.yml # GitHub Actions workflow
βββ blueprints/
β βββ automation/
β β βββ lighting/
β β β βββ motion-activated-light.yaml
β β βββ security/
β β βββ door-window-monitor.yaml
β βββ script/
β βββ notifications/
β βββ smart-notification-center.yaml
βββ AGENTS.md # Development guidelines for agents and contributors
βββ README.md
All blueprints in this repository follow strict quality standards:
blueprint:
name: "Descriptive Blueprint Name"
description: |
Clear description of what the blueprint does.
Include features, requirements, and usage notes.
domain: automation|script|template
author: "Your Name"
homeassistant:
min_version: "2024.6.0"- β Use appropriate selectors for better UX
- β Provide sensible default values
- β Group related inputs using sections
- β Include helpful descriptions
- β Follow semantic versioning conventions
- β Test thoroughly before submitting
See AGENTS.md for comprehensive development guidelines.
- β
YAML syntax validation with Home Assistant tag support (
!input,!include,!secret,!env_var) - β Home Assistant blueprint schema validation
- β Duplicate name checking
- β Best practice compliance
- β All validation checks
- π’ Semantic version generation based on commit history
- π¦ Blueprint processing with version injection (preserves Home Assistant tags)
- π GitHub Pages site generation with import buttons
- π Automatic deployment
Version numbers are calculated from commit messages:
- Major (x.0.0):
breaking change,breaking:,major:,!:,incompatible - Minor (1.x.0):
feat:,feature:,add:,new:,minor:,enhancement - Patch (1.0.x):
fix:,patch:,bug:,hotfix:,chore:,docs:,style:
Example commit messages:
git commit -m "feat: add illuminance threshold to motion light blueprint" # Minor version bump
git commit -m "fix: correct condition logic in security monitor" # Patch version bump
git commit -m "breaking: change input structure for better organization" # Major version bump- Motion-Activated Light Control: Smart motion-based lighting with illuminance detection
- More coming soon...
- Door/Window Security Monitor: Comprehensive security monitoring with notifications
- More coming soon...
- Smart Notification Center: Centralized notification system with multiple delivery methods
- More coming soon...
We welcome contributions! Here's how to add a new blueprint:
git clone https://github.com/iamwillbar/ha-blueprints.git
cd ha-blueprints- Place it in the appropriate category folder under
blueprints/ - Follow the naming convention:
kebab-case.yaml - Ensure it follows our quality guidelines
# Validate YAML syntax
python -c "import yaml; yaml.safe_load(open('blueprints/path/to/your-blueprint.yaml'))"- Use conventional commit messages
- Provide a clear description of the blueprint's functionality
- Include any special requirements or setup instructions
Once merged, the GitHub Actions workflow will:
- Assign a semantic version based on your commit messages
- Validate the blueprint thoroughly
- Publish it to the catalog with import buttons
-
Enable GitHub Pages:
- Go to Settings β Pages
- Source: "GitHub Actions"
-
Configure Repository Settings:
- Ensure Actions have write permissions
- Enable "Allow GitHub Actions to create and approve pull requests"
-
Update URLs:
- Confirm README URLs use
iamwillbaras the GitHub username - Update repository name if different from
ha-blueprints
- Confirm README URLs use
The workflow expects blueprints to be in the blueprints/ directory with the following structure:
blueprints/automation/- Automation blueprintsblueprints/script/- Script blueprintsblueprints/template/- Template blueprints
Blueprint not appearing on catalog:
- Ensure it's in the correct
blueprints/subdirectory - Check that the YAML is valid
- Verify all required metadata is present
Import button not working:
- Confirm GitHub Pages is enabled and deployed
- Check that the blueprint passed validation
- Ensure Home Assistant can access GitHub Pages
Version not updating:
- Use conventional commit messages
- Ensure commits modify the blueprint file
- Check the GitHub Actions logs for errors
This repository is licensed under the MIT License. See LICENSE for details.
- Home Assistant community for inspiration and best practices
- Contributors who make this project better
- GitHub for providing free hosting and automation tools
Happy Automating! π β¨
Made with β€οΈ for the Home Assistant community