Skip to content

Apocrathia/home-assistant-config

Repository files navigation

Apocrathia's Home Assistant Configuration Files

Project Maintenance License

GitHub Activity GitHub Last Commit

GitHub Actions

GitHub Stars GitHub Watchers GitHub Forks

Discord Community Forum

Buy Me A Coffee


My Home Assistant Default View

Architecture

The production instance of Home Assistant is running via the Home Assistant Operating System on an old MacBook Pro, with a remote instance running on another old MacBook Pro which has multiple USB radios connected (Currently Zigbee, Z-Wave, and an RTL-SDR dongle for 433mhz devices).

This is done for multiple reasons:

  • Allow HA to communicate directly with wireless devices without the need for an external hub.
  • Prevent having to pass USB devices through to virtual machines.
  • Enable VMware to migrate the main HA VM across hosts within the cluster based upon load.
  • Place radios in a more central location with better reception.

Update 20230518

This is pending a refresh. The following tasks are planned:

  • Migrate back to a VM. (However, I have converted all of my VMware hosts to Proxmox.)
  • Migrate radios to strategically placed Raspberry Pi's. (Host management is the issue there.)

My Home Assistant Architecture

Instances are linked together using Lukas Hetzenecker's home-assistant-remote custom_component, which allows for all configuration to be completed within Home Assistant, without the need to worry about using USB/IP or socat to push the devices over the network. I've looked into using MQTT discovery, but the issue is advertisement intervals. Devices show up instantly with the homeassistant-remote component, even after restarts.

General Information

This configuration controls a couple of significant features in my smart home.

  • Alarm Clock using my bedroom lights and TV
  • Turning on/off lights at sunset/sunrise
  • Arming the alarm system when nobody is home
  • Security lighting when motion is detected at my front door

Note: Private information is stored in secrets.yaml (not uploaded)