HomeAutomationCookbook
A collection of practical home automation recipes and patterns for smart home enthusiasts
Install / Use
/learn @madskristensen/HomeAutomationCookbookREADME
Home Automation Cookbook
A comprehensive guide for home automation enthusiasts
This repository contains the source for the Home Automation Cookbook website, built with Jekyll and hosted on GitHub Pages.
Live site
Visit the live site at: https://www.homeautomationcookbook.com
About
The Home Automation Cookbook is a community-driven documentation project that helps people:
- Get started with home automation
- Choose the right platform and devices
- Create effective automations
- Secure their smart homes
- Troubleshoot common issues
Development
Prerequisites
- Ruby 2.7 or higher
- Bundler
- Git
Local Setup
-
Clone the repository:
git clone https://github.com/madskristensen/HomeAutomationCookbook.git cd HomeAutomationCookbook -
Install dependencies:
bundle config set --local path 'vendor/bundle' bundle install -
Run the local server:
bundle exec jekyll serve --source docs --port 4001 --host 0.0.0.0 -
Open your browser to
http://localhost:4001
Quick Run Script
For convenience, you can use the provided batch file:
run-site.cmd
Troubleshooting local development
- Port conflict (wrong site appears):
Get-NetTCPConnection -LocalPort 4001 | Select-Object LocalAddress, LocalPort, State, OwningProcess - Use a different port for one run:
bundle exec jekyll serve --source docs --port 4002 --host 0.0.0.0 - Generated folders are ignored by Git:
_site/anddocs/_site/ - If those folders were tracked previously, untrack them once:
git rm -r --cached _site docs/_site
Contributing
We welcome contributions! Here's how you can help:
- Add Content: Create new guides or improve existing ones
- Fix Errors: Spot a mistake? Submit a PR
- Share Experience: Add your automation recipes
- Improve Navigation: Help organize content better
Content Structure
docs/- Main documentation foldergetting-started/- Beginner guidesautomation/- Automation recipeslighting/daily-routines/climate/entertainment/appliances/security/notifications/
faq/- Frequently asked questions
Writing Guidelines
- Use clear, concise language
- Include code examples where applicable
- Add images/diagrams to explain complex concepts
- Follow the existing document structure
- Test your changes locally before submitting
Deployment
The site automatically deploys to GitHub Pages when changes are pushed to the main branch via GitHub Actions.
Setting Up GitHub Pages
- Go to repository Settings → Pages
- Source: GitHub Actions
- Custom domain: Add your domain in the CNAME file
Custom Domain Setup
- Update
docs/CNAMEwith your domain - Configure DNS records:
- Type:
A→ Points to GitHub Pages IPs - Type:
CNAME→ Points toyourusername.github.io
- Type:
- Enable "Enforce HTTPS" in repository settings
License
This project is licensed under the MIT License - see the LICENSE file for details.
Community
- Issues: Report bugs or request features
- Discussions: Share ideas and get help
- Pull Requests: Contribute directly
Contact
Questions? Open an issue or start a discussion!
Built by the home automation community
