Adds:
- Strategy:
- SceneCard: Support for Stateful scenes. Closes#190.
- ValveCard: A card to control an entity of the valve domain. Closes#192.
- LockView: A view for entities of the lock domain. Closes#171.
- Modules:
- RegistryFilter: Advanced filtering and sorting of Home Assistant registries.
- Auxiliaries: Generic utility functions.
- Debug: Centralized logging and debug level management.
- Tooling:
- ESLint configuration for linting.
- Prettier configuration for code formatting.
Removes:
- Redundant types and interface annotations.
- Redundant legacy and unused modules.
- Localization constant from the `Helper` module in favor of a new `localize` utility.
Refactors:
- References regarding change of repository owner.
- Auxiliary functions are moved from the `Helper` module to `Auxiliaries` module.
- `Helper` module is renamed to `Registry` for centralized state and registry management.
- `ControllerCard` is renamed to `HeaderCard`.
- Doc-blocks and comments are updated for clarity and consistency.
- The file tree is restructured for improved clarity, modularity, and scalability.
- Third party type definitions are updated and cleaned up.
- Issue and Pull Request templates.
Optimizations:
- Parallelization of dynamic imports for views and cards.
- Improved error handling and logging throughout the codebase.
- Sanitization of HASS registries after import.
- Enforced stricter and simplified types and interfaces.
- Localization now available at global scope.
Fixes:
- Wrong type in configuration of `HeaderCard`.
- Translation files: Resolved key inconsistencies.
- Removed unnecessary namespaces from types.
- Typos and Grammar.
- Explicit use of `any` types.
- Turn off all entities of a domain with a chip tap action.
- Rendering too small HASS area cards.
- Count of active vacuums.
Bumps:
- Mushroom Strategy
- home-assistant-js-websocket
- superstruct
- ts-loader
- ts-node
- typescript
- webpack
- webpack-cli
* Introduces a `hide_config_entities` strategy-option to define if a
config-entity should be hidden or not.
* Bumps version number to 2.1.0
---------
Co-authored-by: DigiLive <github@digilive.nl>
Other changes include:
* Add Vacuum Card and View.
* Add hiding a view if no device is configured for it. Closes#24.
* Add icon to HomeView configuration.
* Add version output to console.
* Add version bumper.
* Add .editorconfig settings.
* Refactor README, because the information moved to the repository's
Wiki. Closes#87.
Refactor the code base from Procedural to Object-Oriented Programming.
The new code base requires webpack (https://webpack.js.org/) to bundle the code into a single javascript file.
Webpack can be installed with npm, using file `package-lock.json` or `package.json`.
File `package.json` contains two script entries:
* `build` for a *release* build (uses file`webpack.config.js`).
* `build-dev` for a *debug* build (uses file `webpack.dev.config.js`).
Both of the scripts will bundle the separate package files into a single javascript file in the `dist` directory.
Includes fixes and changes:
* The release badge in readme now displays the latest release version.
* Optimize function `getStateEntities()`.
* Implement #11.
* Merge Home Assistant and User-defined areas.
* Add contributors to readme.
* Fix getCountTemplate method.
The method only counted states which aren't equal to value `off`.
States are now counted by specifying a comparison operator and value.
* Document default HACS installation.
* Fix overriding sensor card configuration.
Having an `entity_config` property in the strategy options resulted in overriding each sensor card.
Only the cards listed under this property should be overridden.
* Cut redundant properties and constants
Method `generateDashboard()` passes redundant values to generateView().
Writing those values into properties and reading them into constants is removed.
* Fix undefined sensorState.
Not all entities (like a RESTful sensor) are bound to a device.
SensorStates did contain states which meet all following conditions:
1. The linked entity is linked to the given area or isn't linked to any area.
2. The linked device is linked to the given area.
SensorStates now contains states which meet any* of the following conditions:
1. The linked entity is linked to the given area or isn't linked to any area.
2. The entity is linked to a device, and the linked device is linked to the given area.
*) Whichever comes first.
* Add undisclosed area.
* Add ordering of area-cards.
Area cards are now ordered by a custom set position first and then by the area name.
* Add global sorting of entities by original_name.
* Add global sorting of areas by order and name.
* Add global sorting of domains by order and title.
* Make production build.
Known Issue: Title cards or chips won't switch entities assigned to the undisclosed area.