-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Brandon Dombrowsky edited this page Mar 20, 2023
·
21 revisions
The BastCastle repo is an open-source collection of yaml scripts that integrate with Home Assistant (HA) and Google Assistant, within a docker, inside an AWS EC2 instance. In its current state, the code supports the following smart device use cases:
- Lights
- A curtain rod
- A lock
- Plugs
- Dampers
The scripting provides CI/CD integration, custom linting, and code for the aforementioned use cases. The Wiki includes instructions for editing user permissions in HA and a step-by-step guide to setting up an EC2 instance with point-to-site VPN using Wiregaurd.
All resources and documentation used in the creation of this repo can be found on the following publicly accessible websites.
- Amazon Web Services - Used to host our server in the cloud (though feel free to choose your own cloud provider).
- Amazon Web Services integration - This HA site walks you through integrating HA and AWS.
- Custom yamllint - A default linter was used in tandem with GitHub runners, along with a few modifications.
- Dependabot - This was added to ensure changes to Frenck's CI pipeline automatically update the BastCastle repo.
- EC2 setup - If using AWS, this is the way to go. If using another cloud provider, use their computing method.
- Frenck's CI - BastCastle uses Frenck's open-source CI pipeline setup.
- Google Assistant integration - This HA site walks you through integration with Google Assistant.
- Home Assistant - Learn all you need to know about HA before getting started.
- Raspberry Pi - Host local VPN server for securely connected cloud to local network.
- Wireguard - Keep your HA and AWS installation safe with point-to-site VPN setup.
- Zemismart Curtain Track - To carry blackout curtains.
- Yale Smart Lock - To lock the front door.
- Kasa Smart Plugs - To power the vents.
- Dampers - To regulate HVAC systems.
- Lights - To practice with.
Browse the Wiki for additional specifications on how to consume the elements within the repository.