{"id":15748177,"url":"https://github.com/webbertakken/home-automation","last_synced_at":"2026-01-23T13:47:13.959Z","repository":{"id":234962029,"uuid":"789815157","full_name":"webbertakken/home-automation","owner":"webbertakken","description":"Automations that talk to Home Assistant","archived":false,"fork":false,"pushed_at":"2024-08-13T23:00:08.000Z","size":612,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-01T08:51:20.948Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/webbertakken.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"webbertakken","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2024-04-21T16:20:47.000Z","updated_at":"2024-11-24T16:07:18.000Z","dependencies_parsed_at":"2024-10-25T04:18:35.256Z","dependency_job_id":"81963984-8144-42f0-8be7-99c41a0dffd9","html_url":"https://github.com/webbertakken/home-automation","commit_stats":null,"previous_names":["webbertakken/automation","webbertakken/home-automation"],"tags_count":0,"template":false,"template_full_name":"Digital-Alchemy-TS/docker-standalone","purl":"pkg:github/webbertakken/home-automation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbertakken%2Fhome-automation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbertakken%2Fhome-automation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbertakken%2Fhome-automation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbertakken%2Fhome-automation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/webbertakken","download_url":"https://codeload.github.com/webbertakken/home-automation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/webbertakken%2Fhome-automation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28693331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T11:01:27.039Z","status":"ssl_error","status_checked_at":"2026-01-23T11:00:26.909Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2024-10-04T05:40:50.252Z","updated_at":"2026-01-23T13:47:13.941Z","avatar_url":"https://github.com/webbertakken.png","language":"TypeScript","funding_links":["https://github.com/sponsors/webbertakken"],"categories":[],"sub_categories":[],"readme":"# Webber's Home Automation 🏡💻🐳\n\nWebber's Home Automation consists of TypeScript logic that interacts with a HomeAssistant instance\nthrough a websocket to automate my home. It is a standalone application that runs from a docker\nimage.\n\n## Rationale\n\nHome Assistant is a great platform for connecting all kinds of smart devices. We'll use it for that\npurpose. It's UI-based automations are great for simple tasks. But as the complexity of the\nautomations grows, it becomes harder to manage them. This project aims to solve that problem by\nusing TypeScript to write automations.\n\n## Why?\n\n- 🎮 TypeScript gives much more control over automations\n- 📄 Simpler to reuse code\n- 🧪 Test logic using automated tests\n- 🧠 Easier to reason about complexity\n- 🧻 Ability to rollback and revise changes\n- 👨‍👩‍👧‍👦 Easy to share and collaborate with others\n- 🚀 Faster development cycle\n\n## Development\n\nDuring development, the local application takes precedence over the production container. This\nallows me to test new features and automations before deploying them to production.\n\nAll development steps are detailed in [DEVELOPMENT.md](./DEVELOPMENT.md).\n\n## Deployment\n\nPersonally I run [an Unraid server](https://takken.io/blog/building-an-energy-efficient-server) at\nhome that runs at 7 watts when there is no load. This is where I deploy home automation related\ncontainers.\n\n### Settings\n\nThe settings are simple\n\n\u003cimg alt=\"Unraid deployment setup\" src=\"./media/unraid-deployment-setup.png\"\u003e\n\nIt uses the following environment variables\n\n- `HASS_BASE_URL`, which points to the HomeAssistant instance\n- `HASS_TOKEN`, which is a long-lived access token from that same instance\n\n### Deployed\n\nDeployment looks like this\n\n\u003cimg alt=\"Unraid deployment result\" src=\"./media/unraid-deployment-result.png\"\u003e\n\n## License\n\nThis project is licensed under the [MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebbertakken%2Fhome-automation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebbertakken%2Fhome-automation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebbertakken%2Fhome-automation/lists"}