mirror of
https://github.com/home-assistant/frontend.git
synced 2026-06-13 17:13:58 +02:00
🍭 Frontend for Home Assistant
https://demo.home-assistant.io
- TypeScript 98.8%
- JavaScript 1.1%
While the entities configuration table is open, willUpdate rebuilt the list of entities without a unique id on every hass update. Because each state update produces a new states object, the oldHass.states !== this.hass.states guard was always true, so on every state tick the panel allocated a Set over all registry entities, iterated every state, and built StateEntity objects, then discarded the result unless a non-registry entity had actually been added. Detect a newly added entity up front and only enter the rebuild when the set of entity ids could have changed (or a registry, entity-sources, or exposed-entities dependency changed). A plain state value change on an existing entity can no longer trigger the rebuild. Behavior is unchanged: the inner assignment already only ran when an entity was added. |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| .husky | ||
| .vscode | ||
| .yarn | ||
| build-scripts | ||
| cast | ||
| demo | ||
| docs | ||
| gallery | ||
| landing-page | ||
| public | ||
| script | ||
| src | ||
| test | ||
| .browserslistrc | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .nvmrc | ||
| .prettierignore | ||
| .yarnrc.yml | ||
| AGENTS.md | ||
| CLA.md | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| eslint.config.mjs | ||
| gulpfile.js | ||
| LICENSE.md | ||
| lint-staged.config.js | ||
| MANIFEST.in | ||
| netlify.toml | ||
| package.json | ||
| prettier.config.js | ||
| pyproject.toml | ||
| README.md | ||
| renovate.json | ||
| rspack.config.cjs | ||
| tsconfig.json | ||
| yarn.lock | ||
Home Assistant Frontend
This is the repository for the official Home Assistant frontend.
Development
- Initial setup:
script/setup - Development: Instructions
- Production build:
script/build_frontend - Gallery:
cd gallery && script/develop_gallery
Frontend development
Classic environment
A complete guide can be found at the following link. It describes a short guide for the build of project.
License
Home Assistant is open-source and Apache 2 licensed. Feel free to browse the repository, learn and reuse parts in your own projects.
We use BrowserStack to test Home Assistant on a large variety of devices.

