/picklehome

Configuration & Planning for my Home Automation systems

Primary LanguageShell

PickleHome

Overview

PickleHome runs on a Intel NUC living in my media cabinet, running Ubuntu Server. Services are managed by Docker and docker-compose (ie the heart of this repo is its docker-compose.yml).

Home Assistant is the (other) heart. picklehome-homeassistant-config contains all the configuration for it (less secrets). The services are either in support of Home Assistant configuration, or provide Home Assistant integration to other platforms.

Aspirations

These are some ideas I try to keep in mind while designing and automating. I just don't always succeed at doing so 😂

  • Build for convenience, comfort, and security of the entire household, not just myself
  • Design for voice control as the primary interface, with any visual interactions being secondary or backup
  • Try to keep Home Assistant as the central hub and source of truth
  • Backup everything
  • Prefer devices with local control to cloud control
  • Prefer devices that have open APIs
  • Prefer APIs over HTTP or MQTT, and in their absence, build wrappers that expose it that way

Hardware Components

Documentation

Check out the wiki.

Testing

script/test runs yamlint on the YAML files for prettiness, and uses docker-compose config to validate the config.

Development & Deployment

Run screen on the NUC, edit stuff, and run script/deploy to apply home-assistant changes or or do stuff with docker-compose 😅