{"id":14985261,"url":"https://github.com/aneisch/home-assistant-config","last_synced_at":"2025-05-16T11:06:07.244Z","repository":{"id":41512194,"uuid":"59390414","full_name":"aneisch/home-assistant-config","owner":"aneisch","description":"My Home Assistant Configuration 🏡🏡","archived":false,"fork":false,"pushed_at":"2025-05-07T18:11:21.000Z","size":198089,"stargazers_count":327,"open_issues_count":0,"forks_count":53,"subscribers_count":23,"default_branch":"master","last_synced_at":"2025-05-09T05:33:36.087Z","etag":null,"topics":["alexa","appdaemon","arduino","esp8266","esphome","hass","home-assistant-config","homeassistant","iot","jinja2","mqtt","node-red","python","wemos-d1","yaml","zwave"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aneisch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-05-22T02:08:06.000Z","updated_at":"2025-05-03T14:50:48.000Z","dependencies_parsed_at":"2023-09-29T04:26:40.937Z","dependency_job_id":"801bd4a7-1ba0-4b44-a539-bae3141f0de6","html_url":"https://github.com/aneisch/home-assistant-config","commit_stats":{"total_commits":1638,"total_committers":4,"mean_commits":409.5,"dds":0.4517704517704517,"last_synced_commit":"e965db460ed9cefd722ebd900afcd2bfe676f5d4"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fhome-assistant-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fhome-assistant-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fhome-assistant-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aneisch%2Fhome-assistant-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aneisch","download_url":"https://codeload.github.com/aneisch/home-assistant-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254518383,"owners_count":22084374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alexa","appdaemon","arduino","esp8266","esphome","hass","home-assistant-config","homeassistant","iot","jinja2","mqtt","node-red","python","wemos-d1","yaml","zwave"],"created_at":"2024-09-24T14:10:36.821Z","updated_at":"2025-05-16T11:06:02.223Z","avatar_url":"https://github.com/aneisch.png","language":"JavaScript","funding_links":["https://www.buymeacoffee.com/aneisch"],"categories":[],"sub_categories":[],"readme":"# My Home Assistant Config\n\n[![Build Status](https://github.com/aneisch/home-assistant-config/actions/workflows/check-ha-release-compatibility.yml/badge.svg)](https://github.com/aneisch/home-assistant-config/actions)\n[![GitHub last commit](https://img.shields.io/github/last-commit/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/commits/master)\n[![GitHub commit activity](https://img.shields.io/github/commit-activity/y/aneisch/home-assistant-config)](https://github.com/aneisch/home-assistant-config/graphs/commit-activity)\n[![HA Version](https://img.shields.io/badge/Running%20Home%20Assistant-2025.1.2%20(Latest)-brightgreen)](https://github.com/home-assistant/home-assistant/releases/latest)\n\u003cbr\u003e\u003ca href=\"https://www.buymeacoffee.com/aneisch\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/default-black.png\" width=\"150px\" height=\"35px\" alt=\"Buy Me A Coffee\" style=\"height: 35px !important;width: 150px !important;\" \u003e\u003c/a\u003e\n\nI do my best to keep [Home Assistant](https://github.com/home-assistant/home-assistant) on the [latest release](https://github.com/home-assistant/home-assistant/releases/latest). I'm heavily utilizing [AppDaemon](http://appdaemon.readthedocs.io/en/latest/) and [NodeRed](https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket) for advanced/templated automations. See [Appdaemon config](https://github.com/aneisch/home-assistant-config/tree/master/extras/appdaemon) and my NodeRed screenshots below for details. Most of my setup is run as Docker containers (see [docker-compose](https://github.com/aneisch/home-assistant-config/tree/master/extras/docker-compose) for container list).\n\nMy Home Assistant installation runs on a [Gen7 i3 NUC](https://amzn.to/2K0vab6) with Centos 7:\n\n- Lots of Docker containers, some described below. See [Docker Compose](https://github.com/aneisch/home-assistant-config/tree/master/extras/docker-compose)\n- [Frigate](https://frigate.video/) for security camera recording and object detection\n- Home Assistant Companion for iOS and Android device tracking\n- A plethora of Lolin D1 Mini and S2 Mini sensors via [ESPHome](https://esphome.io/components/api.html) (using ESPHome API, not MQTT). See [/extras/esphome](https://github.com/aneisch/home-assistant-config/tree/master/extras/esphome) for configs\n- Milights with [Homebrew MiLight controller](http://blog.christophermullins.com/2017/02/11/milight-wifi-gateway-emulator-on-an-esp8266/) using D1 Mini and NRF24L01\n- Zwave, Zigbee, and Wifi (ESPHome) smart plugs\n- ZHA using [CC2531](https://amzn.to/2L5xKNB) running zigbee2mqtt firmware\n- Z-Wave JS using Aeon Labs USB stick with:\n    - 1 AEON Labs DSA03XXX-ZW\n  - 1 AEON Labs ZW090\n  - 2 First Alert (BRK Brands Inc) ZCOMBO\n  - 1 GE 12719 / ZW4101\n  - 2 GE 12720 / ZW4201\n  - 1 GE 12722 / ZW4005\n  - 2 GE 12730 / ZW4002\n  - 1 Kwikset 910\n  - 1 Leviton DZPA1\n  - 1 None None\n  - 1 Nortek Security + Control LLC WADWAZ-1\n  - 1 Nortek Security + Control LLC WAPIRZ-1\n  - 1 Zooz ZAC36\n  - 5 Zooz ZEN21\n  - 6 Zooz ZEN27\n  - 6 Zooz ZEN30\n  - 3 Zooz ZEN37 800LR\n  - 1 Zooz ZEN55 LR\n  - 4 Zooz ZEN71\n  - 1 Zooz ZEN77\n  - 5 Zooz ZSE42\n- MQTT remote and local server (via [Docker](https://github.com/aneisch/home-assistant-config/tree/master/extras/docker-compose))\n- Various MQTT Sensors (some in [extras/scripts](https://github.com/aneisch/home-assistant-config/tree/master/extras/scripts))\n- RTL_433 to capture data from various off-the-shelf sensors\n- [AppDaemon](https://appdaemon.readthedocs.io/en/latest/) controlling a large number of automations and intelligent AC control. See [/extras/appdaemon](https://github.com/aneisch/home-assistant-config/tree/master/extras/appdaemon) for configs.\n- [NodeRed](https://flows.nodered.org/node/node-red-contrib-home-assistant-websocket) for irrigation and other automations (see screenshot below)\n- [Amazon Echos](https://amzn.to/2VLPPm0)\n\n  - [Amazon Alexa Smart Home API](https://www.home-assistant.io/components/alexa.smart_home/) using AWS Lambda\n  - Custom routines configured in the Alexa App\n  - [Alexa Media Player Custom Component](https://github.com/keatontaylor/alexa_media_player)\n- UPS monitoring using [apcupsd](https://github.com/gersilex/apcupsd-docker)\n- Whole home power monitoring with ESPHome-flashed Emporia View\n- Github actions to test beta and stable builds against config\n\nHome Assistant and other containers have ingress handled automatically by [Traefik](https://doc.traefik.io/traefik/) and are accessible locally or fronted and secured by Cloudflare Zero Trust Network Access.\n\n## Some statistics about my installation:\nDescription | value\n-- | --\nLines of ESPHome YAML | 3301\nLines of Home Assistant YAML | 11067\n[Integrations](https://www.home-assistant.io/integrations/) in use | 68\nZigbee devices in [`zha`](https://www.home-assistant.io/integrations/zha/) | 26\nZ-Wave devices in [`zwave_js`](https://www.home-assistant.io/integrations/zwave_js/) | 37\n \nDescription | value\n-- | --\nEntities in the [`automation`](https://www.home-assistant.io/components/automation) domain | 141\nEntities in the [`binary_sensor`](https://www.home-assistant.io/components/binary_sensor) domain | 192\nEntities in the [`button`](https://www.home-assistant.io/components/button) domain | 67\nEntities in the [`camera`](https://www.home-assistant.io/components/camera) domain | 16\nEntities in the [`climate`](https://www.home-assistant.io/components/climate) domain | 1\nEntities in the [`conversation`](https://www.home-assistant.io/components/conversation) domain | 3\nEntities in the [`counter`](https://www.home-assistant.io/components/counter) domain | 1\nEntities in the [`cover`](https://www.home-assistant.io/components/cover) domain | 19\nEntities in the [`datetime`](https://www.home-assistant.io/components/datetime) domain | 6\nEntities in the [`device_tracker`](https://www.home-assistant.io/components/device_tracker) domain | 6\nEntities in the [`event`](https://www.home-assistant.io/components/event) domain | 14\nEntities in the [`fan`](https://www.home-assistant.io/components/fan) domain | 3\nEntities in the [`group`](https://www.home-assistant.io/components/group) domain | 21\nEntities in the [`image`](https://www.home-assistant.io/components/image) domain | 8\nEntities in the [`input_boolean`](https://www.home-assistant.io/components/input_boolean) domain | 32\nEntities in the [`input_datetime`](https://www.home-assistant.io/components/input_datetime) domain | 33\nEntities in the [`input_number`](https://www.home-assistant.io/components/input_number) domain | 6\nEntities in the [`input_select`](https://www.home-assistant.io/components/input_select) domain | 19\nEntities in the [`input_text`](https://www.home-assistant.io/components/input_text) domain | 18\nEntities in the [`light`](https://www.home-assistant.io/components/light) domain | 39\nEntities in the [`lock`](https://www.home-assistant.io/components/lock) domain | 5\nEntities in the [`media_player`](https://www.home-assistant.io/components/media_player) domain | 19\nEntities in the [`notify`](https://www.home-assistant.io/components/notify) domain | 2\nEntities in the [`number`](https://www.home-assistant.io/components/number) domain | 22\nEntities in the [`person`](https://www.home-assistant.io/components/person) domain | 2\nEntities in the [`plant`](https://www.home-assistant.io/components/plant) domain | 1\nEntities in the [`remote`](https://www.home-assistant.io/components/remote) domain | 4\nEntities in the [`script`](https://www.home-assistant.io/components/script) domain | 54\nEntities in the [`select`](https://www.home-assistant.io/components/select) domain | 8\nEntities in the [`sensor`](https://www.home-assistant.io/components/sensor) domain | 622\nEntities in the [`setter`](https://www.home-assistant.io/components/setter) domain | 1\nEntities in the [`siren`](https://www.home-assistant.io/components/siren) domain | 1\nEntities in the [`stt`](https://www.home-assistant.io/components/stt) domain | 1\nEntities in the [`sun`](https://www.home-assistant.io/components/sun) domain | 1\nEntities in the [`switch`](https://www.home-assistant.io/components/switch) domain | 204\nEntities in the [`timer`](https://www.home-assistant.io/components/timer) domain | 7\nEntities in the [`tts`](https://www.home-assistant.io/components/tts) domain | 2\nEntities in the [`update`](https://www.home-assistant.io/components/update) domain | 83\nEntities in the [`vacuum`](https://www.home-assistant.io/components/vacuum) domain | 1\nEntities in the [`wake_word`](https://www.home-assistant.io/components/wake_word) domain | 1\nEntities in the [`weather`](https://www.home-assistant.io/components/weather) domain | 1\nEntities in the [`zone`](https://www.home-assistant.io/components/zone) domain | 8\n**Total state objects** | **1695**\n## The HACS integrations/plugins that I use:\n\n**Appdaemon**:\u003cbr\u003e\n[aneisch/follow_me_appdaemon](https://github.com/aneisch/follow_me_appdaemon)\u003cbr\u003e\n\n**Theme**:\u003cbr\u003e\n[JuanMTech/google_dark_theme](https://github.com/JuanMTech/google_dark_theme)\u003cbr\u003e\n[aFFekopp/dark_teal](https://github.com/aFFekopp/dark_teal)\u003cbr\u003e\n[home-assistant-community-themes/amoled](https://github.com/home-assistant-community-themes/amoled)\u003cbr\u003e\n[home-assistant-community-themes/aqua-fiesta](https://github.com/home-assistant-community-themes/aqua-fiesta)\u003cbr\u003e\n[home-assistant-community-themes/blue-night](https://github.com/home-assistant-community-themes/blue-night)\u003cbr\u003e\n[home-assistant-community-themes/dark-mint](https://github.com/home-assistant-community-themes/dark-mint)\u003cbr\u003e\n[home-assistant-community-themes/grey-night](https://github.com/home-assistant-community-themes/grey-night)\u003cbr\u003e\n[naofireblade/clear-theme-dark](https://github.com/naofireblade/clear-theme-dark)\u003cbr\u003e\n[seangreen2/slate_theme](https://github.com/seangreen2/slate_theme)\u003cbr\u003e\n\n**Integration**:\u003cbr\u003e\n[AlexxIT/SonoffLAN](https://github.com/AlexxIT/SonoffLAN)\u003cbr\u003e\n[AlexxIT/WebRTC](https://github.com/AlexxIT/WebRTC)\u003cbr\u003e\n[PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor](https://github.com/PiotrMachowski/Home-Assistant-custom-components-Xiaomi-Cloud-Map-Extractor)\u003cbr\u003e\n[alandtse/alexa_media_player](https://github.com/alandtse/alexa_media_player)\u003cbr\u003e\n[alandtse/tesla](https://github.com/alandtse/tesla)\u003cbr\u003e\n[blakeblackshear/frigate-hass-integration](https://github.com/blakeblackshear/frigate-hass-integration)\u003cbr\u003e\n[claytonjn/hass-circadian_lighting](https://github.com/claytonjn/hass-circadian_lighting)\u003cbr\u003e\n[custom-components/readme](https://github.com/custom-components/readme)\u003cbr\u003e\n[dlashua/hass-setter](https://github.com/dlashua/hass-setter)\u003cbr\u003e\n[frenck/spook](https://github.com/frenck/spook)\u003cbr\u003e\n[hacs/integration](https://github.com/hacs/integration)\u003cbr\u003e\n[magico13/ha-emporia-vue](https://github.com/magico13/ha-emporia-vue)\u003cbr\u003e\n[moralmunky/Home-Assistant-Mail-And-Packages](https://github.com/moralmunky/Home-Assistant-Mail-And-Packages)\u003cbr\u003e\n[rospogrigio/localtuya](https://github.com/rospogrigio/localtuya)\u003cbr\u003e\n[rroller/dahua](https://github.com/rroller/dahua)\u003cbr\u003e\n[sdrapha/home-assistant-custom-components-pfsense-gateways](https://github.com/sdrapha/home-assistant-custom-components-pfsense-gateways)\u003cbr\u003e\n[sebr/bhyve-home-assistant](https://github.com/sebr/bhyve-home-assistant)\u003cbr\u003e\n[ualex73/monitor_docker](https://github.com/ualex73/monitor_docker)\u003cbr\u003e\n\n**Plugin**:\u003cbr\u003e\n[PiotrMachowski/lovelace-xiaomi-vacuum-map-card](https://github.com/PiotrMachowski/lovelace-xiaomi-vacuum-map-card)\u003cbr\u003e\n[bramkragten/weather-card](https://github.com/bramkragten/weather-card)\u003cbr\u003e\n[custom-cards/bignumber-card](https://github.com/custom-cards/bignumber-card)\u003cbr\u003e\n[dermotduffy/frigate-hass-card](https://github.com/dermotduffy/frigate-hass-card)\u003cbr\u003e\n[dmulcahey/zha-network-visualization-card](https://github.com/dmulcahey/zha-network-visualization-card)\u003cbr\u003e\n[dylandoamaral/uptime-card](https://github.com/dylandoamaral/uptime-card)\u003cbr\u003e\n[gadgetchnnel/lovelace-card-templater](https://github.com/gadgetchnnel/lovelace-card-templater)\u003cbr\u003e\n[gadgetchnnel/lovelace-text-input-row](https://github.com/gadgetchnnel/lovelace-text-input-row)\u003cbr\u003e\n[j-a-n/lovelace-wallpanel](https://github.com/j-a-n/lovelace-wallpanel)\u003cbr\u003e\n[junkfix/numberbox-card](https://github.com/junkfix/numberbox-card)\u003cbr\u003e\n[kalkih/mini-media-player](https://github.com/kalkih/mini-media-player)\u003cbr\u003e\n[nervetattoo/simple-thermostat](https://github.com/nervetattoo/simple-thermostat)\u003cbr\u003e\n[ofekashery/vertical-stack-in-card](https://github.com/ofekashery/vertical-stack-in-card)\u003cbr\u003e\n[piitaya/lovelace-mushroom](https://github.com/piitaya/lovelace-mushroom)\u003cbr\u003e\n[pmongloid/flipdown-timer-card](https://github.com/pmongloid/flipdown-timer-card)\u003cbr\u003e\n[thomasloven/lovelace-auto-entities](https://github.com/thomasloven/lovelace-auto-entities)\u003cbr\u003e\n[thomasloven/lovelace-card-mod](https://github.com/thomasloven/lovelace-card-mod)\u003cbr\u003e\n[thomasloven/lovelace-card-tools](https://github.com/thomasloven/lovelace-card-tools)\u003cbr\u003e\n[thomasloven/lovelace-fold-entity-row](https://github.com/thomasloven/lovelace-fold-entity-row)\u003cbr\u003e\n[thomasloven/lovelace-slider-entity-row](https://github.com/thomasloven/lovelace-slider-entity-row)\u003cbr\u003e\n\n\n# Interface\n\n![UI](images/1.png)\n![UI](images/2.png)\n![UI](images/3.png)\n![UI](images/4.png)\n![UI](images/5.png)\n![Grafana](images/grafana.png)\n![Node-Red](images/nodered_1.png)\n![Node-Red](images/nodered_2.png)\nAuto generated using: `docker run -it -v /tmp:/usr/src/app/out --rm nevermendel/chrome-headless-screenshots --width=$viewportWidth1 --height=$viewportHeight1 --filename=nodered_1 --delay=3000 http://10.0.1.22:1880/#flow/9584418c.dafc2`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faneisch%2Fhome-assistant-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faneisch%2Fhome-assistant-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faneisch%2Fhome-assistant-config/lists"}