{"id":15486055,"url":"https://github.com/digital-alchemy-ts/hass","last_synced_at":"2026-03-05T11:03:26.401Z","repository":{"id":226841085,"uuid":"769677914","full_name":"Digital-Alchemy-TS/hass","owner":"Digital-Alchemy-TS","description":"Typesecript APIs for Home Assistant. Includes rest \u0026 websocket bindings","archived":false,"fork":false,"pushed_at":"2024-04-02T19:58:06.000Z","size":1438,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-04-03T16:03:23.151Z","etag":null,"topics":["automation","digital-alchemy","home-assistant","home-automation","nodejs","typescript","websocket"],"latest_commit_sha":null,"homepage":"https://docs.digital-alchemy.app/Hass","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/Digital-Alchemy-TS.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},"funding":{"github":"zoe-codez","patreon":null,"open_collective":null,"ko_fi":"zoe_codez","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"custom":null}},"created_at":"2024-03-09T18:42:24.000Z","updated_at":"2024-04-15T03:27:04.222Z","dependencies_parsed_at":"2024-03-17T00:32:21.082Z","dependency_job_id":"672030e9-9081-4fec-bce5-2beb7a6ada98","html_url":"https://github.com/Digital-Alchemy-TS/hass","commit_stats":null,"previous_names":["digital-alchemy-ts/hass"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digital-Alchemy-TS%2Fhass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digital-Alchemy-TS%2Fhass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digital-Alchemy-TS%2Fhass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digital-Alchemy-TS%2Fhass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Digital-Alchemy-TS","download_url":"https://codeload.github.com/Digital-Alchemy-TS/hass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246056655,"owners_count":20716779,"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":["automation","digital-alchemy","home-assistant","home-automation","nodejs","typescript","websocket"],"created_at":"2024-10-02T06:05:59.165Z","updated_at":"2025-03-28T15:41:48.157Z","avatar_url":"https://github.com/Digital-Alchemy-TS.png","language":"TypeScript","funding_links":["https://github.com/sponsors/zoe-codez","https://ko-fi.com/zoe_codez"],"categories":[],"sub_categories":[],"readme":"[![stars](https://img.shields.io/github/stars/Digital-Alchemy-TS/hass)](https://github.com/Digital-Alchemy-TS/hass)\n![discord](https://img.shields.io/discord/1219758743848489147?label=Discord\u0026logo=discord)\n[![codecov](https://codecov.io/gh/Digital-Alchemy-TS/hass/graph/badge.svg?token=LYUQ1FQ71D)](https://codecov.io/gh/Digital-Alchemy-TS/hass)\n[![version](https://img.shields.io/github/package-json/version/Digital-Alchemy-TS/hass)](https://www.npmjs.com/package/@digital-alchemy/hass)\n\n---\n\n# 🏠 Welcome to `@digital-alchemy/hass`!\n\nThis repository contains generic extensions for interacting with Home Assistant, including websocket \u0026 REST API adapters, entity \u0026 event management, backup workflows, and more.\n\n- [Extended docs](https://docs.digital-alchemy.app)\n- [Discord](https://discord.gg/JkZ35Gv97Y)\n\n## ⭐ Features\n### 📝 First-class Editor Experiences\n\n- Did you just typo that entity name?\n- Just what services are actually available?\n\nCreate references to entities that will always reflect their current state. Get details about all the services your setup supports and how to use them, directly in your editor.\n\n![editor](./docs/editor.png)\n\n### 🌐 Managed Websocket\n\nDon't worry about all the complexities of dealing with Home Assistant. Let the library help by handling all the connection logic, keeping track of events for you, formatting requests, and more.\n\n## Install\n\nAdd as a dependency, and add to your imports. Nice and easy\n\n```bash\nnpm i @digital-alchemy/hass\n```\n\n**Add to code**\n```typescript\nimport { LIB_HASS } from \"@digital-alchemy/hass\";\n\n// application\nconst MY_APP = CreateApplication({\n  libraries: [LIB_HASS],\n  name: \"home_automation\",\n})\n\n// library\nexport const MY_LIBRARY = CreateLibrary({\n  depends: [LIB_HASS],\n  name: \"special_logic\",\n})\n```\n\n## ⚙️ Configuration\n### 🛠 Custom Types\n\nThis library has support for customizing type definitions to match a particular Home Assistant install. This functionality requires the [type-writer](https://github.com/Digital-Alchemy-TS/type-writer) command to be installed as well.\n\n\u003e Add to `devDependencies`!\n```bash\nnpm i --save-dev @digital-alchemy/type-writer\nnpx type-writer\n```\nCustom types only affect the development experience and have no impact on the way the application runs.\n\n### 📦 Supervised Support\n\nIf your code is running within a Home Assistant addon environment, it will automatically connect with no additional configuration needed.\n\n### 🖥 Manual\n\nFor code running elsewhere, manual configuration is required. You will need a **Long Lived Access Token**, which can be generated on your user profile. You can store your config at `./.{app_name}` or `~/.config/{app_name}` in **INI** format.\n\n\u003e Don't forget to configure \"`type_writer`\" also!\n\n```ini\n[hass]\n  BASE_URL=http://localhost:8123\n  TOKEN=YOUR LONG LIVED ACCESS TOKEN\n```\n\n### 🤖 Unit Testing\n\nBuilt in workflows for unit testing using standard test runners like Jest.\n\n- [Read more](https://docs.digital-alchemy.app/hass/unit-testing)\n\n## 🤝 Related Projects\n\nFor additional projects that build on and consume this library, check out these other projects:\n\n| GitHub                                                              | Description                                                                             | NPM                                                                                      |\n| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |\n| [synapse](https://github.com/Digital-Alchemy-TS/synapse)            | Tools for generating entities within Home Assistant.                                    | [@digitial-alchemy/synapse](https://www.npmjs.com/package/@digital-alchemy/synapse)      |\n| [automation](https://github.com/Digital-Alchemy-TS/automation)      | Advanced automation tools for creating dynamic workflows.                               | [@digital-alchemy/automation](https://www.npmjs.com/package/@digital-alchemy/automation) |\n| [type-writer](https://github.com/Digital-Alchemy-TS/type-writer)       | Generate custom type definitions for your setup.                                        | [@digital-alchemy/type-writer](https://www.npmjs.com/package/@digital-alchemy/terminal)  |\n| [automation-template](https://github.com/Digital-Alchemy-TS/automation-quickstart) | Start your own Home Automation project with the `@digital-alchemy` quick start template |                                                                                          |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-alchemy-ts%2Fhass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigital-alchemy-ts%2Fhass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigital-alchemy-ts%2Fhass/lists"}