The type definitions and interfaces of Home Assistant and Mushroom where
outdated. Also, the type definitions and interfaces of the strategy
could use some refinement.
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
Config and diagnostic entities are now hidden by default.
Their visibility can be defined in the configuration with entries
`hide_config_entities` and `hide_diagnostic_entities` for all or individual domains.
Scenes are added as a domain so they're available at the top navigation
bar.
The view doesn't have controller cards since switching multiple scenes
at once makes no sense.
---------
Co-authored-by: DigiLive <github@digilive.nl>
* Add state filters to getCountTemplate()
States `unavailable` and `unknown` are now excluded from the return
value of `getCountTemplate()`, since there's no interest in counting
those states. This change affect all entities.
* Add states to unclosed cover count
Aside from state `open`, the cover-chip and -view, will include state
`opening` and `closing` to the count of unclosed covers.
Fixed dashboard strings are replaced with a string in the language as
defined by the user.
Currently, languages `en` and `nl` are supported.
If the user-defined language isn't supported, the language will fall
back to english.
Untranslated strings will fall back to the translation keyword.
Resolves#166
If not using the area of the entity's device, a card for this entity is
added for the custom set area, as well as for the area of the entity's
device.
This change keeps the entity for the custom-set area or else for the
area of the entity's device.
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.