{"id":41309962,"url":"https://github.com/firefly2442/home-automation","last_synced_at":"2026-01-23T05:19:41.166Z","repository":{"id":139377009,"uuid":"241264035","full_name":"firefly2442/home-automation","owner":"firefly2442","description":"My personal home automation setup in Docker","archived":false,"fork":false,"pushed_at":"2025-12-05T05:37:05.000Z","size":188,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-08T13:01:49.813Z","etag":null,"topics":["dvr","home-assistant","home-automation","homeassistant","image-detection","iot"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"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/firefly2442.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-02-18T03:31:55.000Z","updated_at":"2025-12-05T05:37:08.000Z","dependencies_parsed_at":"2023-11-13T00:21:00.897Z","dependency_job_id":"9a0232e1-5952-4c74-8337-c52d6b621f64","html_url":"https://github.com/firefly2442/home-automation","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/firefly2442/home-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly2442%2Fhome-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly2442%2Fhome-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly2442%2Fhome-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly2442%2Fhome-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/firefly2442","download_url":"https://codeload.github.com/firefly2442/home-automation/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/firefly2442%2Fhome-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28680635,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T04:33:33.518Z","status":"ssl_error","status_checked_at":"2026-01-23T04:33:30.433Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["dvr","home-assistant","home-automation","homeassistant","image-detection","iot"],"created_at":"2026-01-23T05:19:41.062Z","updated_at":"2026-01-23T05:19:41.160Z","avatar_url":"https://github.com/firefly2442.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Home Automation\n\nMy personal home automation setup in Docker leveraging:\n\n* [Frigate](https://github.com/blakeblackshear/frigate) - recording of full resolution videos\n* [Home-Assistant](https://github.com/home-assistant/home-assistant) - integration and UI\n* [Watsor](https://github.com/asmirnou/watsor) - camera object detection via GPU\n* [Docker Movement Detection](https://github.com/firefly2442/docker-movement-detection) - custom movement detection using OpenCV and Python\n\n## Setup\n\nInstall Docker and run Linux post-install steps so you don't need `sudo` for your regular user.\n\nInstall [Docker Compose](https://docs.docker.com/compose/).\n\nCopy `.env-copy` to `.env` and edit\n\nMake sure `/config/www/` which gets mounted is writeable.\n\nCopy `homeassistant/secrets_copy.yaml` to `homeassistant/secrets.yaml` and edit\n\nRun `setup-certs.sh`\n\nBuild via compose and bring up services\n\n```shell\ndocker compose up --build -d\n```\n\nRun `initial-setup.sh`\n\nInstall the [home-assistant Android application](https://play.google.com/store/apps/details?id=io.homeassistant.companion.android\u0026hl=en_US)\non cellphone\n\nSetup Frigate on main Asus computer with Nvidia decoding of h264 video.  Install Nvidia proprietary drivers\nand the `nvidia-docker2` package, see [details here](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker).\nUse the `nvidia-smi` command to make sure you can launch Docker and pass the GPU through properly.\nSet `FRIGATE_RTSP_PASSWORD` in `.env` which is the camera password.  See `frigate` folder.  Run `run-frigate.sh`.\n\nSetup Watsor on main Asus computer with Nvidia decoding of h264 video as well as object detection.\nSee `watsor` folder.  Run `run-watsor.sh`.\n\nLeverages the [integration with HA](https://blakeblackshear.github.io/frigate/usage/home-assistant)\nScript copies `custom_components` folder over to `homeassistant` as part of home automation\nrefresh and update process.  Go into integrations in Home Assistant if Frigate doesn't load properly and add it.\n\nUse the `run-home-automation.sh` for future changes and to grab the latest versions of Docker images.\n\n## UI\n\n* [Frigate - https://192.168.1.226:5005](https://192.168.1.226:5005)\n* [Home-Assistant - http://192.168.1.226:8123](http://192.168.1.226:8123)\n* [ZWaveJS - http://192.168.1.226:8091](http://192.168.1.226:8091)\n\n## Frigate\n\n### Cameras\n\nDon't use h265, Frigate may struggle with this and it's not supported to replay in some browsers.\n\nCamera (Amcrest IP4M-1051W - 4MP)\n\n* Web-UI:\n  * `http://192.168.1.111`\n  * inside camera\n* main stream (recording)\n  * `rtsp://admin:secret@192.168.1.111:554/cam/realmonitor?channel=1\u0026subtype=0`\n  * 2688 x 1520 (20 fps)\n* sub-stream (person detection)\n  * `rtsp://admin:secret@192.168.1.111:554/cam/realmonitor?channel=1\u0026subtype=1`\n  * 640 x 480 (5 fps)\n* h264 passthrough\n\nCamera (Samsung Galaxy Nexus cellphone)\n\n* Uses the [IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam\u0026hl=en_US)\napplication for Android\n* `rtsp://admin:secret@192.168.1.116:8080/h264_pcm.sdp`\n* 1280 x 720 (30 fps)\n* h264 passthrough\n\n## Additional Setup\n\n### Home Assistant\n\nUpon startup, register with name `Patrick` and username `patrick`.\n\nSee `configuration.yaml` for devices and setup\n\nSee `ui-lovelace.yaml` for UI configuration\n\n### Updating UI\n\nMake changes, then run `initial-setup.sh` to copy the `ui-lovelace.yaml` file over,\nthen refresh the page.  Works with a live running container.\n\n### Smart Power Plug Switches\n\nTP-Link HS105 smart switches with various hardware versions.  Uses the `Kasa` Android app for setup.\nDon't update firmware because it locks out ability to communicate with devices.\n\n### Z-Wave\n\nIn `zwavejs2mqtt`, enable the `WS Server` option.  Then go into Home Assistant and add the integration for `zwavejs2mqtt`.\nIn `zwavejs2mqtt`, under MQTT set the hostname to be `mosquitto` instead of localhost, this will connect\nto the existing MQTT broker running in Docker.\n\n#### Z-Wave Devices\n\n* Qolsys IQ Dimmer - QZ2140-840\n  * Single tap button to turn on inclusion mode\n* In-wall switch front-door lights, GE\n* Honeywell thermostat\n\n### Zigbee\n\nIn Home Assistant under integrations, add the Hubz Smart Home Controller for Zigbee.\n\n#### Zigbee Devices\n\n* Aqara motion sensor model: RTCGQ11LM\n\n## Networking\n\nSetup Network -\u003e Firewall rules in OpenWRT to reject any packages from the LAN\nto WAN.  This allows it on the local network\nbut disallows all Internet traffic.  This way you can block things like the\ncellphone, smart plugs, etc.\n\n## Updates\n\nIf there are updates upstream in the Docker images:\n\n```shell\ndocker compose build --pull --parallel\n# or force a full rebuild\n# docker compose build --no-cache --pull --parallel\ndocker compose up -d\n```\n\n## Teardown\n\n```shell\ndocker compose down -v\n```\n\nCleanup files from the mounted Docker volumes\n\n## TODO\n\n* check pihole status and notify if down\n* add zwavejs version to update check\n* add zwavejs devices back in\n* update watsor to 20.04 and TensorRT 8.2 (PR in)\n* send more forceful messages to phone on alarm, using TTS - https://companion.home-assistant.io/docs/notifications/notifications-basic\n* get dimmer switch working, zwave, get integrated into automations\n* create container on Pi to subscribe to mqtt and save person detection to usb drive, provide deep links to frigate recordings at this timestamp via the API\n* check disk usage by Frigate\n* check /video disk usage and frigate recordings amounts\n* add explanatory text on containers, documentation, images/GIFs to README, add helpful links\n* setup Frigate with SSL certs (is this possible to connect from HA?)\n* secure Frigate RTMP ports?\n* up substream FPS\n* fix camera NTP\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirefly2442%2Fhome-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffirefly2442%2Fhome-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffirefly2442%2Fhome-automation/lists"}