Compare commits

...

1683 Commits

Author SHA1 Message Date
Aidan Timson a6a83258ab Add 2025-10-08 09:38:17 +01:00
Aidan Timson 01889de462 Add date option 2025-10-08 09:30:56 +01:00
Paul Bottein a8f8d197f8 Add tooltip instead of title for 'add' button (#27399) 2025-10-07 17:48:49 +02:00
Paul Bottein 4fcac79047 Use right variable for content color in tooltip (#27400) 2025-10-07 15:46:40 +00:00
Paul Bottein 42ddacd41a Add plus and minus button for media player more info (#27398)
* Add plus and minus button for media player even if it support volume slider

* Update src/dialogs/more-info/controls/more-info-media_player.ts

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Remove hardcoded support

---------

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2025-10-07 17:43:17 +02:00
dcapslock ebc9981289 Fix hui-conditional-row causing varying row margins. (#26355)
* Fix hui-conditional-row causing varying row margins.

* Update row gap CSS var

* Apply suggestion from @bramkragten

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Apply suggestion from @bramkragten

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Apply suggestion from @bramkragten

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Use row-visibility-change method fired in hui-conditional-row

* Update to pass row in row-visibility-changed event

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-10-07 16:11:55 +03:00
Wendelin 23deab253b Add ellipsis to ha-button label (#27391) 2025-10-07 16:03:54 +03:00
Jan-Philipp Benecke ab172abe02 Refactor overflow menu in backups data table to have a single instance (#27383)
* Refactor overflow menu in backups data table to have a single instance

* Fix
2025-10-07 08:39:11 +03:00
renovate[bot] 10d5d8b15d Update dependency eslint to v9.37.0 (#27390)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 06:58:32 +02:00
renovate[bot] c9e472dab7 Update formatjs monorepo (#27389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-07 06:58:18 +02:00
Wendelin 1e13b2b812 Fix android tap highlight border radius (#27382) 2025-10-06 20:32:42 +02:00
Jan-Philipp Benecke e04a04632a Replace confirm dialogs with toast for delete actions in automation/script editor (#27324)
* Replace confirm dialogs with toast for delete actions in automation/script editor

* Migrate confirm dialog to toast in option row
2025-10-06 20:21:54 +02:00
Jan-Philipp Benecke 04bc5fba63 Refactor undo/redo to be a controller instead (#27279) 2025-10-06 16:04:42 +02:00
Aidan Timson e66724ca9e Move duplicate css to shared styles for state control toggles (#27377) 2025-10-06 15:48:14 +03:00
renovate[bot] bcfe5add33 Update vaadinWebComponents monorepo to v24.9.2 (#27374)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-06 12:56:30 +02:00
dependabot[bot] 7cc116dd07 Bump softprops/action-gh-release from 2.3.3 to 2.3.4 (#27366)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.3.3 to 2.3.4.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/6cbd405e2c4e67a21c47fa9e383d020e4e28b836...62c96d0c4e8a889135c1f3a25910db8dbe0e85f7)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 11:18:59 +03:00
dependabot[bot] ee93f31220 Bump actions/stale from 10.0.0 to 10.1.0 (#27365)
Bumps [actions/stale](https://github.com/actions/stale) from 10.0.0 to 10.1.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/3a9db7e6a41a89f618792c92c0e97cc736e1b13f...5f858e3efba33a5ca4407a664cc011ad407f2008)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 10.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 11:18:30 +03:00
dependabot[bot] b7cc19f12e Bump github/codeql-action from 3.30.5 to 3.30.6 (#27364)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.5 to 3.30.6.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/3599b3baa15b485a2e49ef411a7a4bb2452e7f93...64d10c13136e1c5bce3e5fbde8d4906eeaafc885)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-06 11:18:00 +03:00
Leslie Fernando f70edf9311 Refactor: Replace string concatenation with template literals (#27368) 2025-10-06 09:55:01 +02:00
Leslie Fernando 0fa7c2face Refactor: Replace Object.keys().includes() with 'in' operator (#27369) 2025-10-06 09:54:13 +02:00
Leslie Fernando 7b3a265a70 Refactor: Replace deprecated substr() with slice() (#27370) 2025-10-06 09:51:51 +02:00
Leslie Fernando 5d9aae3ad5 Fix/assist debug interface typo (#27339) 2025-10-06 08:50:53 +02:00
Leslie Fernando 5de84ac0d8 Refactor: Simplify boolean return in isSeparatorAtPos (#27362)
Simplifies the default case in isSeparatorAtPos function by directly returning the boolean result of isEmojiImprecise(code) instead of using an if-else statement.

This improves code readability and reduces unnecessary conditional logic while maintaining the same behavior.

Changes:
- Removed verbose if-else pattern
- Direct boolean return
- Reduced cyclomatic complexity
2025-10-06 08:56:53 +03:00
Jan-Philipp Benecke 98c4ec91d6 Refactor overflow menu in labels data table to have a single instance (#27249)
* Refactor overflow menu in labels data table to have a single instance

* Process code review

* Revert
2025-10-06 08:55:37 +03:00
karwosts 972b9cb758 Give a warning body in preview for empty stack cards (#27350) 2025-10-06 08:45:20 +03:00
Leslie Fernando ac621af811 Fix typo in class name: HaConfigLovelaceRescources HaConfigLovelaceR… (#27358)
Fix typo in class name: HaConfigLovelaceRescources  HaConfigLovelaceResources

Corrects misspelled class name from 'Rescources' to 'Resources' in the Lovelace resources configuration panel.

The filename was correctly spelled (ha-config-lovelace-resources.ts), but the exported class name had the typo.

Changes:
- Fixed export class declaration
- Fixed HTMLElementTagNameMap interface declaration

This improves code consistency and TypeScript type safety.
2025-10-06 08:25:21 +03:00
Leslie Fernando 7eb97bb58f Fix typo in parameter name: entites entities in MockHomeAssistant in… (#27357)
Fix typo in parameter name: entites  entities in MockHomeAssistant interface

Corrects misspelled parameter name in the addEntities method signature. The correct spelling is 'entities', not 'entites'.

This improves code consistency and maintains proper TypeScript interface definitions in the test/demo utilities.
2025-10-06 08:24:35 +03:00
karwosts d37af0f488 Update Mauritania currency (#27361) 2025-10-06 08:15:19 +03:00
Jan-Philipp Benecke 0d3b340228 Fix media player more info title calculations (#27360) 2025-10-05 22:26:20 +02:00
Leslie Fernando 288e03775b Fix typo in variable name: enityA entityA in script config (#27356) 2025-10-05 21:45:23 +02:00
renovate[bot] df36e9d205 Update dependency @home-assistant/webawesome to v3.0.0-beta.6.ha.1 (#27349)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-05 18:18:55 +02:00
karwosts 15a0b35866 Enable partial energy-sources-table by type (#27346)
* Enable partial energy sources table by category

* typing
2025-10-05 18:18:30 +02:00
Leslie Fernando aa7522f681 Fix inconsistent variable naming: lokalize localize (#27340)
- Rename variable from 'lokalize' to 'localize' for consistency
- Affects developer-tools action panel and connection mixin
- Matches standard naming convention used throughout codebase
- Improves code readability and maintains naming standards
2025-10-05 11:49:14 +00:00
Leslie Fernando c09e97a561 Improve type safety: Replace 'any[]' with generic type parameter in a… (#27334)
Improve type safety: Replace 'any[]' with generic type parameter in arrayFilter function

- Convert arrayFilter from using 'any[]' to generic type <T>
- Improves TypeScript type safety and inference
- Follows strict TypeScript guidelines in codebase
- No behavioral changes, purely type improvement
2025-10-05 14:44:34 +03:00
karwosts 733be8e5a3 Fix activity panel date picker clipping (#27341) 2025-10-05 14:43:24 +03:00
Leslie Fernando d107ac7d4c Fix comment typo: Change 'remplace' to 'replace' in developer-tools (#27331) 2025-10-05 10:32:26 +00:00
Leslie Fernando efc5bacb97 Fix grammar: Change 'can not' to 'cannot' in English translations (#27333) 2025-10-05 10:29:48 +00:00
Leslie Fernando 430e52efe3 Fix ARIA role typo: Change 'seperator' to 'separator' in todo-list card (#27335)
- Fixed 4 instances of misspelled ARIA role attribute
- Improves accessibility for screen readers
- Aligns with WCAG guidelines and ARIA specification
2025-10-05 10:29:26 +00:00
Leslie Fernando 6b4c4a9cf8 Fix comment typo: Change 'TODo' to 'TODO' in intl-polyfill (#27332)
Correct inconsistent capitalization in TODO comment for better
code consistency and readability.
2025-10-05 10:28:32 +00:00
Leslie Fernando e5b1acc2c3 Fix grammar: Add apostrophe to 'don't' in automation trigger comment (#27337) 2025-10-05 10:26:16 +00:00
renovate[bot] c89f476d67 Update dependency @codemirror/commands to v6.9.0 (#27348)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-05 12:15:46 +02:00
renovate[bot] e68afead17 Update dependency @lokalise/node-api to v15.3.0 (#27345)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-05 08:28:11 +02:00
renovate[bot] c4651c0bc0 Update dependency eslint-plugin-wc to v3.0.2 (#27343)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-05 08:27:44 +02:00
Paul Bottein 6d95b7af11 Move home subview to dedicated dashboard (#27264)
* Create lights panel

* Move strategy

* Move files

* Add security and climate panel

* Continue climate and security migration

* Add settings for climate panel

* Don't show these panel in the sidebar

* Rename lights to light

* Remove climate config for now

* Fix light

* Remove unused import
2025-10-04 17:44:34 -04:00
Jan-Philipp Benecke 3e74cf3ada Fix formatting of position slider tooltip in media player more info (#27326) 2025-10-04 09:13:28 +02:00
Jan-Philipp Benecke 859ee98abb Add color tokens for slider thumb and indicator (#27295) 2025-10-04 07:12:35 +00:00
Jan-Philipp Benecke dd3e5e3724 Add "media_stop" action to media player controls in more info (#27325) 2025-10-04 09:00:08 +02:00
renovate[bot] 2e3ab4d64f Update dependency @codemirror/legacy-modes to v6.5.2 (#27323)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 08:59:05 +02:00
Paulus Schoutsen 63cbeca820 Add ESPHome to discovery sources (#27327) 2025-10-04 08:58:34 +02:00
renovate[bot] 1057ff314c Update dependency @bundle-stats/plugin-webpack-filter to v4.21.4 (#27328)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-04 08:52:41 +02:00
renovate[bot] 5b946f1048 Update dependency typescript to v5.9.3 (#27329) 2025-10-04 07:36:49 +02:00
Wendelin fdd66b5cec Use border radius design tokens in codebase (#27169)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-10-03 11:11:30 +00:00
Petar Petrov 76c9723c71 Show the total value in energy graphs (#27265)
* Show the total value in energy graphs

* format

* Apply suggestions from code review

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-10-03 13:01:29 +02:00
Jan-Philipp Benecke b02368b9c6 Make ha-slider not depend on font sizes (#27294) 2025-10-03 12:49:29 +02:00
Wendelin 0bcb7897c9 Fix mobile ha-dialog height in Browser (#27298)
Enhance dialog responsiveness by adjusting min/max height to use svh units
2025-10-03 12:48:08 +02:00
Norbert Rittel 786bbb3850 Capitalize two occurrences of "YAML" abbreviation (#27314) 2025-10-03 12:45:29 +02:00
renovate[bot] e8ead84fe5 Update dependency barcode-detector to v3.0.6 (#27318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 12:45:06 +02:00
karwosts 428e7fb332 Add a placeholder hint for template selector (#27297)
Add a placeholder for template selector
2025-10-03 08:38:58 +03:00
karwosts ad9e8d5a52 Add entity sub-editor to picture glance (#27312) 2025-10-03 08:32:39 +03:00
renovate[bot] e3cf04b3d1 Update octokit monorepo to v8.0.2 (#27308)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 06:46:49 +02:00
renovate[bot] 10c3042db1 Update dependency typescript-eslint to v8.45.0 (#27309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-03 06:46:25 +02:00
karwosts 25f6b7de2f Add energy compare with previous year (#25037)
* Add energy compare with previous year

* minor text adjustment

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-10-02 19:08:57 +03:00
Aidan Timson ca1cda4824 Fix desktop translation for browser media source (#27293)
Fix translation for desktop
2025-10-02 16:36:12 +03:00
Wendelin 8c4a67315b Fix automation editor safe area (#27292) 2025-10-02 12:01:47 +02:00
Paul Bottein c18de97b32 Align bottom sheet border radius with resizable bottom sheet (#27280) 2025-10-02 11:44:54 +02:00
renovate[bot] 23a3ca3ed7 Update dependency @rspack/core to v1.5.8 (#27291)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-02 12:32:44 +03:00
Jan-Philipp Benecke 69457b4e85 Support redo on Shift+CMD+Z (#27287)
* Support redo on Shift+CMD+Z

* Update redo shortcut for macOS to CMD+Shift+Z
2025-10-02 11:56:56 +03:00
Wendelin 2e096c23e0 Remove @shoelace-style from babelOptions exclusion list (#27289) 2025-10-02 10:33:23 +02:00
karwosts 552691e200 Add a sub-editor to hui-entity-editor (#27157)
* Add a sub-editor to hui-entity-editor

* item styling
2025-10-02 08:19:24 +03:00
renovate[bot] 91258c86c1 Update dependency @codemirror/view to v6.38.4 (#27288)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-02 08:06:29 +03:00
renovate[bot] 3750a378cd Update dependency lint-staged to v16.2.3 (#27285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 19:29:17 +02:00
Petar Petrov 12d3304c72 Add hide_compound_stats option to energy-devices-graph-card (#27263)
* Add hide_compound_stats option to energy-devices-graph-card

* Update src/panels/lovelace/cards/energy/hui-energy-devices-graph-card.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* format

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-10-01 16:24:10 +03:00
renovate[bot] 246100809d Update dependency lint-staged to v16.2.2 (#27276)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 12:38:43 +02:00
Michael Herger 6efca93186 Introduce new number formatting for Switzerland (#27268) 2025-10-01 11:08:25 +02:00
Simon Lamon 6280647b9a ha-refresh-tokens-card: Replace ha-button-menu to ha-md-button-menu (#26874) 2025-10-01 10:45:34 +02:00
karwosts 2ff52c6c29 Add alert to fixed domain states (#27271) 2025-10-01 09:07:24 +03:00
renovate[bot] d038e11170 Update dependency @rsdoctor/rspack-plugin to v1.3.1 (#27273)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-10-01 09:03:09 +03:00
karwosts 8925b39fe5 Make enum colors stable in history chart (#27272) 2025-10-01 08:52:42 +03:00
karwosts beeef65506 State colors for weather (#27270)
* State colors for weather

* Update color.globals.ts

minor white tuning

* Update color.globals.ts

cloudy color change
2025-10-01 08:48:37 +03:00
Bram Kragten 994c1b5751 Fix intl polyfill loading (#27261) 2025-09-30 16:47:12 +03:00
Aidan Timson 6823c647b6 Fix calendar card height (#27052) 2025-09-30 15:27:46 +02:00
Jan-Philipp Benecke 866b478dc0 Use local entity picture if available in media player more info (#27252) 2025-09-30 14:36:39 +02:00
renovate[bot] d746dc5752 Pin Node.js to 22.20.0 (#27258)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-30 11:53:51 +02:00
Wendelin 5f53e1e71c Update WA to fix tab group scrolling (#27255) 2025-09-30 11:36:17 +02:00
Wendelin 3da82df093 Update node nvm to latest LTS (#27256) 2025-09-30 11:35:48 +02:00
Jan-Philipp Benecke 4cedfffb71 Let text scroll in markdown card (#27250)
* Let text overflow in markdown card

* Update src/panels/lovelace/cards/hui-markdown-card.ts

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-09-30 09:37:15 +02:00
dcapslock 1e1514e7da forwardHaptic on node rather than window. (#27251)
forwardHaptic on node rather than window. Allows for capturing for custom cards.
2025-09-30 07:49:32 +03:00
Jan-Philipp Benecke 60e07075bc Refactor ha-config-labels to use styleMap (#27248) 2025-09-29 21:05:17 +02:00
Jan-Philipp Benecke c998086474 Fix --ha-space-13 spacing token (#27246) 2025-09-29 20:16:29 +02:00
renovate[bot] 53be0a3fa2 Update dependency @rsdoctor/rspack-plugin to v1.3.0 (#27241)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 17:31:13 +02:00
renovate[bot] d69c46c80c Update dependency @codemirror/autocomplete to v6.19.0 (#27242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 17:30:42 +02:00
Paul Bottein 0c2a7bfed0 Replace legacy hass icons to mdi icons (#27244) 2025-09-29 17:30:20 +02:00
dependabot[bot] afdd232e38 Bump home-assistant/wheels from 2025.07.0 to 2025.09.1 (#27239)
Bumps [home-assistant/wheels](https://github.com/home-assistant/wheels) from 2025.07.0 to 2025.09.1.
- [Release notes](https://github.com/home-assistant/wheels/releases)
- [Commits](https://github.com/home-assistant/wheels/compare/2025.07.0...2025.09.1)

---
updated-dependencies:
- dependency-name: home-assistant/wheels
  dependency-version: 2025.09.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 12:37:13 +02:00
dependabot[bot] 179751a135 Bump github/codeql-action from 3.30.3 to 3.30.5 (#27235)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.3 to 3.30.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/192325c86100d080feab897ff886c34abd4c83a3...3599b3baa15b485a2e49ef411a7a4bb2452e7f93)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 11:03:37 +03:00
dependabot[bot] 52f6024306 Bump actions/cache from 4.2.4 to 4.3.0 (#27236)
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.4 to 4.3.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/0400d5f644dc74513175e3cd8d07132dd4860809...0057852bfaa89a56745cba8c7296529d2fc39830)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-29 11:03:06 +03:00
Phil White 7c7a4e61f2 Add media playback badge for Area card (#26893) 2025-09-29 09:58:57 +02:00
Jan-Philipp Benecke facce7b016 Add custom color token for control color (#27227) 2025-09-29 07:28:24 +00:00
Petar Petrov e546cb3374 Make "loading next step" look like progress step in config flows (#27234) 2025-09-29 09:19:18 +02:00
Jan-Philipp Benecke a0d2e7312b Adjust media player cover image sizes in more info for smaller screens (#27232)
Adjust media player cover image sizes for smaller screens
2025-09-29 08:30:12 +03:00
Jan-Philipp Benecke c0a9dadcbe Implement core spacing tokens (#27226) 2025-09-29 08:28:24 +03:00
renovate[bot] e1edf7fb98 Update dependency lint-staged to v16.2.1 (#27233)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-29 07:57:45 +03:00
Jan-Philipp Benecke 6d5c165bd2 Add tooltips for undo/redo in automation & script editors (#27224) 2025-09-28 13:35:48 +03:00
Simon Lamon 54177a16e9 Set explicit netlify version to fix workflows (#27229)
netlify set explicit version for fix
2025-09-28 13:34:18 +03:00
Paul Bottein c814b8e888 Align dashboard data table with other data tables (#27206)
* Align dashboard data table with other data tables

* Update ha-config-lovelace-dashboards.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update ha-config-lovelace-dashboards.ts

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-27 18:07:01 +03:00
renovate[bot] 33a0b32cc5 Update vaadinWebComponents monorepo to v24.9.1 (#27220)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-27 13:25:12 +02:00
renovate[bot] 7dae13bf57 Update dependency @rspack/core to v1.5.7 (#27219)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-27 13:24:59 +02:00
renovate[bot] 0a3fe6e0fb Update dependency tar to v7.5.1 (#27216) 2025-09-26 19:21:46 +02:00
Paul Bottein e0348e4da7 Fix slider ticks support for number selector (#27211) 2025-09-26 15:35:01 +02:00
Aidan Timson d53f3ec898 Add missing translations for thread config panel (#27210) 2025-09-26 14:09:11 +01:00
renovate[bot] e422547d93 Update Yarn to v4.10.3 (#27209)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-26 15:33:12 +03:00
Paul Bottein d91a3fbe85 Don't display negative durations in media player more info (#27212)
Don't display negative value in media player more info
2025-09-26 15:28:59 +03:00
Paul Bottein 01d7130f22 Fix try tts dialog max width (#27208) 2025-09-26 13:36:05 +02:00
Aidan Timson c57851e4df Migrate hex color helper functions to culori (#27184) 2025-09-26 11:31:18 +02:00
Aidan Timson 6f1f13acb0 Migrate rgb color helper functions to culori (#27185) 2025-09-26 11:00:08 +02:00
Jan-Philipp Benecke a8abd00809 Refactor media player slider to use slot for position and duration display (#27205)
* Refactor media player slider to use slot for position and duration display

* Fix variable naming
2025-09-26 06:33:56 +00:00
karwosts e053978dbe Add dropdown mode to water heater operation feature (#27201) 2025-09-26 08:51:03 +03:00
karwosts 6e57f726a3 Add validation issues to energy diagnostic (#27203) 2025-09-26 08:48:21 +03:00
renovate[bot] b7cabadbe1 Update dependency typescript-eslint to v8.44.1 (#27197) 2025-09-25 22:09:08 +02:00
Simon Lamon d920217374 Fix typos in media player more info (#27198) 2025-09-25 19:02:26 +00:00
Jan-Philipp Benecke 1630263276 Round seconds in media player more info before formatting (#27196) 2025-09-25 20:47:40 +02:00
Paul Bottein 5680c742be Revert "Update dependency @types/chromecast-caf-receiver to v6.0.24" (#27188) 2025-09-25 17:48:23 +02:00
Paul Bottein 2aeb9cf0ef Revert "Update dependency @types/chromecast-caf-receiver to v6.0.24 (#26500)"
This reverts commit 4a3ed62583.
2025-09-25 17:47:59 +02:00
Paul Bottein c9931b3a3c Disabled config badge (#27172)
* Add disabled option for badge

* Add disabled to struct
2025-09-25 17:45:06 +02:00
Paul Bottein fbf7ebdfe4 Add icon option to common controls section strategy (#27180) 2025-09-25 17:23:54 +02:00
renovate[bot] 52ccb03de5 Update dependency hls.js to v1.6.13 (#27187)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 17:21:23 +02:00
Paul Bottein 900236ac07 Fix storage bar not displayed (#27183) 2025-09-25 15:56:26 +01:00
renovate[bot] 28940c930d Update dependency @codemirror/view to v6.38.3 (#27163)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 15:55:35 +01:00
Paul Bottein e278b463fd Fix analytics switches (#27181) 2025-09-25 15:54:11 +01:00
renovate[bot] db2acd4e39 Update dependency @rspack/core to v1.5.6 (#27177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 13:10:01 +02:00
Wendelin 6dcc52cd44 Reduce default tab padding in tab-group (#27173) 2025-09-25 11:52:04 +01:00
Paul Bottein 981db50826 Smooth animation of the sidebar resizing handle (#27166) 2025-09-25 10:43:04 +02:00
Paul Bottein 09683863a7 Fix safe padding for bottom sheet and add scroll lock (#27165) 2025-09-25 10:41:05 +02:00
Norbert Rittel 8c78f931dc Use "Add (person)" instead of "New person" / "Create" (#27161)
* Update dialog-person-detail.ts

* Update en.json
2025-09-25 10:19:25 +02:00
renovate[bot] 40ce3c1e31 Update dependency lint-staged to v16.2.0 (#27164)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 10:13:06 +02:00
Paulus Schoutsen e430a1b1be Avoid invalid entities in common controls (#27158) 2025-09-25 08:15:54 +03:00
renovate[bot] a2c6116417 Update dependency tar to v7.4.4 (#27159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-25 08:15:06 +03:00
Paul Bottein 3239273f3e Do not show error message when action has no response in dev tools (#27156) 2025-09-24 19:19:31 +02:00
Paul Bottein e42c5a3254 Merge branch 'master' into dev 2025-09-24 17:09:01 +02:00
Paul Bottein df7a6297b0 Bumped version to 20250924.0 2025-09-24 16:45:20 +02:00
Jeremy Cook e4ca478d01 Add themes variables to tile card to change font appearance (#27092)
* Add themes variables to tile card to change font appearance

* Update documentation header including themes variables

---------

Co-authored-by: Jeremy Cook <jeco@norceresearch.no>
2025-09-24 14:34:43 +00:00
Jan-Philipp Benecke 7be2c59295 Redesign media player more-info dialog (#26904)
* Redesign media player more-info dialog

* Add missing imports

* Add some more media player controls to gallery

* Fix NaN

* Fix first example source

* Regroup

* Remove

* Add marquee text

* Buttons

* aria-label

* Increase speed

* Improve marquee text

* Improve marquee text

* Improve marquee text

* Add touch events to marquee text

* Use classMap

* Remove chip styling

* Make ha-marquee-text slotted and add to gallery

* Format

* Remove aria-label

* Make turn on and off buttons have labels

* Match more figma

* Add integration logo and move grouping/inputs to top

* Hm

* Fix badge

* Minor tweaks

* Disable position slider when seek is not supported

* Process code review

* remove disabled color for slider

* Process UX

* Run prettier

* Mark listener as passive

* Improve bottom controls and styling

* Remove unused function

* Some minor improvements

* Show remaining instead duration

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-09-24 16:13:37 +02:00
Douwe 99d9c67492 Button feature change variable handling script (#26786)
* Update types.ts

Added extra parameter button_action

* Update hui-button-card-feature-editor.ts

Added second field

* Update hui-button-card-feature.ts

* Update types.ts

* Update hui-button-card-feature-editor.ts

Fix issue with field naming

* Update hui-button-card-feature-editor.ts

* Update hui-button-card-feature-editor.ts

* Update hui-button-card-feature-editor.ts

* .

* Strategy update

* Update types.ts

* Update hui-button-card-feature-editor.ts

* Fix linting issues

* Add data field to editor

* localize error

* Update hui-button-card-feature.ts

Added suggestions

* Use UI to set script variables in button feature

* Update src/panels/lovelace/card-features/hui-button-card-feature.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

---------

Co-authored-by: Wendelin <w@pe8.at>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-09-24 15:53:42 +03:00
Wendelin 8f781e53e3 Hassio core logs latest endpoint (#27131) 2025-09-24 14:48:26 +02:00
Aidan Timson 3c92826e71 Fix pixel gap on mobile for automation card (#27153) 2025-09-24 13:23:39 +02:00
karwosts 151a879e0a Add an energy diagnostics downloader (#27150)
* Add an energy diagnostics downloader

* add version
2025-09-24 13:47:09 +03:00
Wendelin f3a8529ed7 Fix show disabled integrations button (#27151)
* Fix show disabled integrations button

* fix tsc
2025-09-24 13:42:37 +03:00
karwosts d2cc7856d1 Visually differentiate statistics graph in more-info (#27055)
visually differentiate statistics graph in more-info

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-09-24 10:41:43 +00:00
Aidan Timson d5cb815bbd Automation sidebar bottom fade and safe area fixes (#27135)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: Wendelin <w@pe8.at>
2025-09-24 10:52:16 +02:00
Tom Carpenter 7f88d863e9 Add toolbar to YAML/template editors (#26580) 2025-09-24 09:49:35 +02:00
Aidan Timson 88ac56ac0b Analog clock: CSS animation and seconds motion options (#26943)
* Increase analog clock interval and improve accuracy

* Restore

* Use CSS to render hands instead of JS interval with resync to adjust offsets

* Option

* Remove

* Option

* Fix
2025-09-24 08:36:39 +03:00
Bram Kragten 3d173ad03e Revert "Revert "Rename "Logbook" to "Activity" in user-facing strings"" (#26882)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-09-23 22:02:44 +02:00
Lukas Waslowski 3889d71768 Improve addon configuration UI (#26997)
* Replace deeply nested ternary operators with if-return chain

* Extract _convertSchemaElement from _convertSchema

* Extract _convertSchemaElementToSelector from _convertSchemaElement

* Add force parameter to _convertSchemaElementToSelector

* Add UI editor for (lists of) nested dicts in addon configs

* Render top-level dicts to expandable sections

* Use correct translation keys for nested fields in addon configs

* Restructure translation keys for nested addon config fields
2025-09-23 19:08:06 +02:00
Jan-Philipp Benecke 8872adf2ed Remove unused fab styles from automation and script blueprint editors (#27147)
* Add missing styles to save fab in automation/script blueprint editor

* Remove unused FAB styles from automation and script editors
2025-09-23 17:28:47 +02:00
Aidan Timson 969e655fff Set hardware loading to use alert with spinner (#27149)
* Fix icon size

* Set hardware loading to use alert with spinner

* Match storage size
2025-09-23 17:28:06 +02:00
Wendelin cdc913d878 Automation Editor: Fix onDisable to not open sidebar (#27144)
Fix onDisable to not open sidebar always
2025-09-23 16:49:16 +03:00
Jan-Philipp Benecke 4ac1215def Add undo/redo to script editor (#27145)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-09-23 12:16:40 +00:00
Jan-Philipp Benecke b2376fba56 Simplify undo of pasting in automation editor (#27141)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-09-23 13:30:17 +02:00
renovate[bot] f14d9198ac Update Yarn to v4.10.2 (#27142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-23 12:34:38 +02:00
karwosts f4e583b302 Don't hide empty entity-filter card in edit mode (#27119) 2025-09-23 07:54:54 +03:00
Paul Bottein 2c602aecee Clear ha-ripple state on disconnected (#27139) 2025-09-23 07:53:07 +03:00
Jan Layola cbf96898fe Fix history chart issues (#27133)
* Add z-index to reset button

* Add sync-charts property to StateHistoryCharts component
2025-09-23 07:51:57 +03:00
karwosts 6760f4a2ae Support water_heater in thermostat card (#27096) 2025-09-22 22:16:11 +02:00
renovate[bot] 3481f7e8be Update dependency eslint to v9.36.0 (#27137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 18:14:37 +02:00
Wendelin 95a0fe335f Revive automation row overflow menu (#27093) 2025-09-22 16:46:35 +02:00
Aidan Timson 1e2d144d26 Update safe areas for dialogs (#27008) 2025-09-22 15:38:39 +02:00
Jan Layola 6aa89cb532 Fix ha-target-picker remove/expad buttons after tooltip migration (#27134) 2025-09-22 15:22:42 +02:00
Jan-Philipp Benecke 1b0ed7017f Add undo/redo functionality to automation editor (#26796) 2025-09-22 14:41:02 +02:00
Wendelin 1cc7e387da Do not show delete confirm on default choose (#27132) 2025-09-22 11:38:28 +00:00
Wendelin 41bf935f6e Add disabled info to subtitle, fixed disabled overflow (#27128) 2025-09-22 13:33:14 +02:00
Norbert Rittel b08ea36a1e Explain "picker" using different term (#27114)
* Explain "picker" using different term

* Replace "list" with "menu list"
2025-09-22 09:40:22 +02:00
Paulus Schoutsen 4f52a46725 Fix header positioning for media players domain dashboard (#27123)
* Fix header positioning for media players domain dashboard

* Update home-media-players-view-strategy.ts
2025-09-22 09:09:52 +02:00
renovate[bot] f8a82563b0 Update Yarn to v4.10.0 (#27125)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 08:38:27 +02:00
renovate[bot] a1672ccdfb Update dependency del to v8.0.1 (#27120)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-22 08:38:00 +02:00
renovate[bot] bde851e5a4 Update dependency rspack-manifest-plugin to v5.1.0 (#27121) 2025-09-22 08:19:33 +02:00
karwosts a6d3041d59 Fix a date bug in statistic card energy mode (#27102) 2025-09-20 12:45:17 +03:00
renovate[bot] f64edfa305 Update dependency @rspack/core to v1.5.5 (#27106)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-20 11:39:07 +02:00
renovate[bot] 067b321d84 Lock file maintenance (#27100)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 08:45:09 +03:00
Norbert Rittel 33efe395c8 Clarify sidebar setting / column header for dashboards (#27087) 2025-09-19 08:42:53 +03:00
renovate[bot] db26b1041f Update dependency fs-extra to v11.3.2 (#27099)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-19 08:33:36 +03:00
renovate[bot] 6e9b4637bb Update dependency typescript-eslint to v8.44.0 (#27098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 20:29:57 +02:00
renovate[bot] 0e30e5e0f4 Update dependency @rspack/core to v1.5.4 (#27094)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 17:16:33 +02:00
Bram Kragten 283da74e2d Expand pasting capabilities of automation editor (#26992) 2025-09-18 17:01:42 +02:00
Wendelin 034afd1375 automation editor: resizable sidebar (#27025) 2025-09-18 16:45:31 +02:00
Paulus Schoutsen 912d710ae4 Change order related items (#27081)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-18 12:38:40 +00:00
Jan-Philipp Benecke 86b99d931a Fix minification errors in ha-tab-group-tab and ha-slider styles (#27090) 2025-09-18 14:28:45 +02:00
Petar Petrov 35cfa9aa0d Only show devices dialog at the end of a flow chain (#27068)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-18 14:26:04 +02:00
renovate[bot] 6a23dbf204 Update vaadinWebComponents monorepo to v24.9.0 (#27086)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-18 14:35:17 +03:00
Paul Bottein cef8fc1d38 Move the logic to show common controls inside the strategy itself (#27088) 2025-09-18 14:34:46 +03:00
Norbert Rittel 7c06e33b50 Clarify sidebar setting for add-ons (#27085) 2025-09-18 09:55:39 +02:00
renovate[bot] cb365d4635 Update dependency marked to v16.3.0 (#27080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-17 20:03:35 +02:00
Paulus Schoutsen 525102678b Limit to 4 common entities on landing page. (#27082) 2025-09-17 20:03:10 +02:00
Paulus Schoutsen dfc4b0bba2 Show generated media in action dev tools (#26927)
* Show generated image in action dev tools

* Resolve media_source_id

* Render other media content too

* Update src/panels/developer-tools/action/developer-tools-action.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Fix

* Remove translation placeholder

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-17 19:07:32 +02:00
Jan-Philipp Benecke 846692bc8a Migrate ha-slider to webawesome (#27075)
* Migrate ha-slider to webawesome

* Fix labeled slider

* Change slider surface color

* Trigger Build

* Remove large and border

* Run prettier

* enable tooltip and focus ring
2025-09-17 19:06:13 +02:00
Douwe 3b90b5fcb1 Add feature gap theme variable for hui-card-features (#27076)
* Update hui-card-features.ts

Add CSS variable for gap

* Renamed variable
2025-09-17 14:03:49 +02:00
Paulus Schoutsen cac978344f Add more binary sensors to security dashboard (#27041)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-17 13:56:51 +02:00
karwosts 6a40631e6d Add diagnostics download to helpers menu (#27077) 2025-09-17 14:19:15 +03:00
Aidan Timson 48f5b6dfd3 Safe area: Fix double padding for sidebar (#27078)
Fix double padding for sidebar
2025-09-17 14:16:02 +03:00
Björn Ebbinghaus 04b01d2cd9 Add relative timestamp state_content for input_datetime (#24135)
* Fix digit grouping in input_datetime `year`

* Display `input_datetime`s `timestamp` attribute as relative time instead of number
2025-09-17 10:22:00 +00:00
Jan Layola 0e8e054db1 Sync charts zoom in history tab (#26898)
* Add chart zoom event system and sync infrastructure to chart-base

- Replace inline datazoom handler with dedicated _handleDataZoomEvent method
- Add _syncZoomState method for zoom state synchronization
- Refactor zoom detection to be more robust and reliable

* Add hide reset button functionality

- Add hideResetButton property to ha-chart-base component
- Add hideResetButton property to state-history-chart-line component
- Add hideResetButton property to state-history-chart-timeline component
- Implement conditional reset button rendering based on hideResetButton flag
- Pass hideResetButton prop through component hierarchy

This allows parent components to control reset button visibility when
implementing custom reset functionality or coordinated multi-chart resets.

* Implement chart zoom synchronization

- Add chart-zoom event handlers to state-history-chart-line component
- Add chart-zoom event handlers to state-history-chart-timeline component
- Forward zoom events with chart index for identification

This enables individual charts to communicate zoom changes to parent
components for coordinated multi-chart synchronization.

* Add floating reset button and sync orchestration

- Add chart-zoom event type definition to HASSDomEvents interface
- Add global zoom state tracking with _hasZoomedCharts property
- Add _isSyncing flag to prevent infinite sync loops
- Implement _handleTimelineSync method for coordinating chart synchronization
- Implement _handleGlobalZoomReset method for resetting all charts
- Enable hide-reset-button on individual charts to use global reset
- Add floating reset button with Material Design styling

On history page the floating reset button appears when any chart is zoomed
and provides a single point to reset all synchronized charts simultaneously.

* Refactor chart zoom synchronization to use public API

Replace direct ECharts dispatchAction calls with proper zoom methods. The parent component now calls chartComponent.zoom() instead of accessing internal chart.dispatchAction() directly.

* Remove duplicate TypeScript declaration of the "chart-zoom" event

* Fix tooltips not shown due to xAxisPointer hidden

* Use chart zoom function in history charts

* Apply code review feedback

* Remove unnecessary any types

* Apply code review feedback
2025-09-17 10:36:28 +03:00
renovate[bot] 477a893193 Update dependency color-name to v2.0.2 (#27074)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 20:38:31 +02:00
puddly bd0822f09f Wrap overflowing menu step option descriptions (#27072)
Make menu step option descriptions multiline
2025-09-16 20:25:41 +02:00
Paul Bottein 07c3ffb55d Use computed config for strategy visibility and disabled flag (#27071) 2025-09-16 19:10:51 +02:00
Paulus Schoutsen fbfb4709d2 Add section strategy showing entities we expect user to use (#27014)
* Extend favorites with predicted entities

* Split out into own section

* Better component loaded check

* Use section strategy

* Feedbacks

* Remove hardcoded limit

* Add translations

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-09-16 12:24:08 -04:00
Aidan Timson 0a5b31e328 Add safe areas to bottom sheets and sidebar (#27009)
* Add safe areas to bottom sheet

* Add safe areas to automation sidebar

* Remove

* Add safe areas

* Add safe areas

* Switch
2025-09-16 16:48:06 +02:00
Aidan Timson 8cf0d8d2c3 Safe area: devtools (#26969)
* Remove extra padding

* Remove extra padding

* Remove extra padding

* Fixes

* use change from #26971

* Remove

* Remove

* Remove

* Remove

* Restore for future change

* Fix
2025-09-16 16:35:48 +02:00
Wendelin 61c16ce020 Automation editor: Copy always enabled (#27069) 2025-09-16 16:09:18 +02:00
Wendelin 6bede4ddca Automation editor: Disable click on drag handle (#27063)
Add stopPropagation to click events in automation components
2025-09-16 15:22:26 +03:00
Paul Bottein bd88b91071 Order tile card config according to struct (#27060) 2025-09-16 15:13:37 +03:00
renovate[bot] 29b02a3c99 Update dependency jsdom to v27 (#27066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-16 15:04:10 +03:00
Timothy ac87e2280d Add External app version into ha-config-info (#27064) 2025-09-16 13:18:18 +02:00
Jan Layola 98c4e34a23 Sort installed addons by name in the ha-config-logs component (#27056) 2025-09-15 17:01:54 +02:00
karwosts 3d005c8316 Manual entry mode for media selector (#26753) 2025-09-15 16:48:03 +02:00
Paul Bottein af31b5add3 Add formatEntityName helper on hass object. (#26057) 2025-09-15 14:18:52 +00:00
Aidan Timson 9d02a1d391 Fix calendar toggle group wrapping (#27049) 2025-09-15 14:12:37 +00:00
Petar Petrov 98e6f32fe8 Improve device section organization in energy Sankey card (#26978) 2025-09-15 15:57:52 +02:00
Aidan Timson 2726c6a849 Fix calendar toggle group button sizes (#27050)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-15 13:31:49 +00:00
Aidan Timson c09ec54c76 Safe area: containers and panels (#26971)
This commit squashes the following development history:

1e78af3aa - Restore, moved to #26969
d672d9f44 - Restore
53ee5fbbc - Restore
16b4eb98e - Restore
8d8b13f50 - Restore
62e16619d - Apply changes from #27003
f5ee79a47 - Fix
60678689c - Fix
766ed6a25 - Fix
f76bd4f7e - Fix fabs
1879fd0d9 - Fix
ea3ee6de5 - Add safe areas to ha-hanel-custom
aa3384b9a - Add missing
c9a7f76dc - Fix
78351fd1f - Fix
59789d379 - Fix
1c7aabd34 - Remove
eaf1373cf - Fix
8481a93d7 - Fix
fe7df1f2f - Remove
69f244ff3 - Restore
2eb936b64 - Adjust
b09350637 - Fix
c0504bb7e - Clean
b0773d73e - Fix
4caa4a43b - make sure narrow is passed
8885f6bf6 - Add safe areas to 2 pane fixed
62df70f63 - Clean
a87e68d87 - FIx
5086be030 - Fix energy
ac3478e54 - Fix
0f28098a6 - Restore
b65ba3df9 - Restore
b0e1ea6db - Restore
7bb78d1c7 - Fix
26c95df71 - Update
7369c79d3 - Remove
b5f31dad6 - Fix
40cfc437d - Set top level padding instead of individual panels
83b49729f - Restore
25db15816 - Fix
8c9c39827 - Set top level app bar padding instead of individual panels
b7a1b27c9 - Remove
1e9368705 - Device
1482502f9 - Integration page
98dc1bf56 - Fix
1c3de1376 - Add
a08bee4d8 - Remove
0d462439b - Area subpage
4bfd60875 - Areas fix
b5cbcdaf7 - Fix
9fb272074 - Add safe areas to script editor
7c3bc9433 - Add safe areas to scene editor
1cf1b999a - Fix mobile for automation editors
4413bd4b7 - Add safe areas to automation editor
2e6953327 - Add safe areas to blueprint editor
989776dd1 - Add config section padding
6692b7ccf - Fix header row
22337b5e2 - Fix calendar
414e058cd - Fix pane
f09ae0e0c - Fix calendar
fb5a984ee - Fix pane
1daee18c8 - Todo fab
6f52cb42b - Todo content
9b317c583 - Media browser
0f8ca248d - Fix history panel
cd7843799 - Fix logbook
b8d47ecf3 - Fix
d15e9311d - Safe area: dashboard view container should only apply left safe area when in full view

Summary of changes:
- Add narrow property to top app bar components for conditional safe area padding
- Update safe area inset calculations to use fallback values (0px) for better compatibility
- Fix content height calculations to account for safe area insets
- Apply safe area padding conditionally based on narrow state
- Update FAB positioning to respect safe area insets
- Ensure proper spacing and layout on mobile devices with notches/dynamic islands
2025-09-15 15:54:04 +03:00
Norbert Rittel 9f045538a2 Update beta / stable channel descriptions (#27047) 2025-09-15 11:49:11 +02:00
Paul Bottein c6c4f91b0e Use slot for tile card info (#27046) 2025-09-15 11:29:48 +03:00
karwosts f71d8f4367 Fix incorrect logbook entity filters (#27037)
* Fix incorrect logbook filters

* Update src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-09-15 08:06:03 +00:00
Wendelin 68c1a38231 Unit tests for common/entity/get_states (#27007) 2025-09-15 09:28:02 +02:00
dependabot[bot] a9796e4216 Bump github/codeql-action from 3.30.0 to 3.30.3 (#27045)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.30.0 to 3.30.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/2d92b76c45b91eb80fc44c74ce3fce0ee94e8f9d...192325c86100d080feab897ff886c34abd4c83a3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.30.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-15 08:38:26 +02:00
Aidan Timson bf6eefb692 Migrate from date-fns-tz to @date-fns/tz (#26809)
* Add @date-fns/tz

* Update calc_date

* Refactor ha-date-range-picker

* Refactor calendar panel

* Refactor todo panel

* Remove date-fns-tz

* Cleanup

* Move util functions

* Fix comment

* Reuse

* Restore old check for rrulejs, update to new format
2025-09-15 07:38:08 +03:00
Paul Bottein 7ec3b08444 Add disabled option for cards and sections (#27026)
* Add hidden config option for cards and sections

* Rename to disabled
2025-09-15 07:23:39 +03:00
Norbert Rittel f3355671d1 Capitalize "Core" and "Supervisor" as component names (#27039) 2025-09-14 17:50:44 +02:00
Simon Lamon c0e240a3bf Revert SHA pinning for home-assistant/wheels (#27034) 2025-09-13 16:47:57 +02:00
renovate[bot] 00fd4753e4 Update dependency @rspack/core to v1.5.3 (#27032)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 09:54:56 +03:00
renovate[bot] 08ac873e3b Update dependency globals to v16.4.0 (#27031)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-13 09:54:37 +03:00
renovate[bot] d12b8d1b1b Update dependency hls.js to v1.6.12 (#27028)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-12 19:23:15 +02:00
Simon Lamon 977207dde4 Pin SHA for all github actions (#26958) 2025-09-12 19:17:44 +02:00
Norbert Rittel 87a5f1a315 Treat "Recorder" as a (capitalized) name that should not be translated (#27023) 2025-09-12 18:29:56 +02:00
renovate[bot] acab2d5ead Update dependency ua-parser-js to v2.0.5 (#27024)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-12 16:42:16 +02:00
Paul Bottein 046fc00f73 Add home assistant bottom sheet (#26948)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-09-12 15:33:30 +02:00
Marcin 05775c411b Add transition to button background (#27021) 2025-09-12 14:57:33 +02:00
Bram Kragten d64acca598 Merge branch 'rc' 2025-09-12 14:43:23 +02:00
Bram Kragten 59571d03a6 Bumped version to 20250903.5 2025-09-12 14:43:09 +02:00
Wendelin 28c515bbac Fix automation sidebar overflow icon size (#27016) 2025-09-12 14:42:36 +02:00
Aidan Timson 27db5b3b02 Move close to the secondary action to allow enter key to submit (#27005) 2025-09-12 14:42:35 +02:00
Wendelin 1922db0474 Fix disabled automation style (#26988)
* Update disabled state logic in action and condition editors to account for indent property

* Remove opacity
2025-09-12 14:42:34 +02:00
Simon Lamon c8c74a9744 Don't show "condition did not pass" before testing (#26987)
Testing wrapper
2025-09-12 14:42:33 +02:00
Simon Lamon 2c676baa99 Fix Webhook Trigger doesn't display correctly (#26982)
Webhook
2025-09-12 14:42:33 +02:00
Petar Petrov 3e41474faa Fix battery to grid connection in Sankey card (#26973) 2025-09-12 14:42:32 +02:00
Petar Petrov 5f9c69ac21 Fix for batteries with long names in energy dashboard (#26972) 2025-09-12 14:42:31 +02:00
Paul Bottein 8b45ccaaba Only copy/cut/delete selected automation rows (#26966) 2025-09-12 14:42:30 +02:00
Paul Bottein 455925f637 Don't trigger automation shortcuts when a field is focused or text selected (#26965)
* Don't trigger automation shortcut when a field is focused

* Don't trigger automation shortcut when a text is selected
2025-09-12 14:42:29 +02:00
Wendelin 9fba7427f8 Fix yaml editor save in config-flow (#26963) 2025-09-12 14:42:28 +02:00
karwosts 21aae02652 Mark new automation as dirty if it has initData (#26953) 2025-09-12 14:42:28 +02:00
karwosts 24e3fbf622 Fix condition action in config flow dialog (#26929) 2025-09-12 14:42:27 +02:00
Simon Lamon dcbc8b627f Migrate ha-tooltip to webawesome (#26540)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-12 13:09:24 +02:00
Aidan Timson 0d8d18617c Create and implement goBack helper function (#27015)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-12 11:39:45 +02:00
Lukas Waslowski 7eb87c78cc fix: Pass hass object to <ha-form/> in <hassio-addon-config/> (#26995)
fix: Pass  object to <ha-form/> in <hassio-addon-config/>
2025-09-12 05:03:53 -04:00
Paul Bottein 0eaf9ead9e Move section edit logic to its own component (#27017) 2025-09-12 08:51:10 +00:00
Paul Bottein 7082646fe5 Only copy/cut/delete selected automation rows (#26966) 2025-09-12 10:46:23 +02:00
karwosts 96d364b3bd Full width ha-select dropdowns for z-wave (#27013) 2025-09-12 10:45:31 +02:00
Wendelin e726eb7370 Fix automation sidebar overflow icon size (#27016) 2025-09-12 10:43:55 +02:00
renovate[bot] e6f587da78 Update dependency typescript-eslint to v8.43.0 (#27010)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-11 19:43:02 +02:00
Petar Petrov c595392abe Support opening a new config flow when the current one is finished (#26964) 2025-09-11 15:49:09 +02:00
Aidan Timson 5bcffd0dbe Fix hass-subpage toolbar position (#27003) 2025-09-11 15:26:14 +02:00
Aidan Timson df801833fc Move close to the secondary action to allow enter key to submit (#27005) 2025-09-11 13:16:02 +00:00
Paul Bottein 5ba5c00c70 Include non-primary entities targeted directly by label (#26952) 2025-09-11 15:12:20 +02:00
Paul Bottein dcea227f4a Add themes variables to tile card to change border radius (#26999) 2025-09-11 14:55:07 +02:00
Wendelin 1abedcd5f0 Migrate tab-group to webawesome (#26951) 2025-09-11 11:15:24 +02:00
Lukas Waslowski 9e29693293 nitpick: Rename HaFormExpendable to HaFormExpandable (#26994)
nitpick: Rename HaFormExpendable to HaFormExpandable
2025-09-10 21:38:07 +02:00
Lukas Waslowski 3bfafc794f fix: Import ha-expansion-panel in ha-form-expandable (#26996)
fix: Import ha-expansion-panel in ha-form-expandable

The current usages of ha-form-expandable only work correctly because
ha-expansion-panel is already imported somewhere else by coincidence.

This adds an explicit import to avoid breakages when using
ha-form-expandable in a standalone context (e.g. within ./hassio).
2025-09-10 21:37:37 +02:00
Simon Lamon 89c43b2b33 Don't show "condition did not pass" before testing (#26987)
Testing wrapper
2025-09-10 16:58:26 +03:00
Wendelin 466115d916 Prettier one line format in style .globals.ts files (#26991) 2025-09-10 14:54:34 +02:00
Wendelin a34ca3c085 Fix disabled automation style (#26988)
* Update disabled state logic in action and condition editors to account for indent property

* Remove opacity
2025-09-10 14:01:05 +02:00
karwosts 9a8ca36047 Filter entities from energy sources table with no data (#26974)
Filtere entities from energy sources table with no data
2025-09-10 09:48:53 +03:00
dependabot[bot] b454e89613 Bump vite from 7.1.2 to 7.1.5 (#26983)
* Bump vite from 7.1.2 to 7.1.5

Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.1.2 to 7.1.5.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.1.5/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>

* dedupe

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-09-10 05:45:12 +00:00
Simon Lamon 0b76109272 Fix Webhook Trigger doesn't display correctly (#26982)
Webhook
2025-09-10 08:42:47 +03:00
Paulus Schoutsen 942d264693 Allow storing AI Task generate image preferred entity (#26959) 2025-09-10 08:41:22 +03:00
Petar Petrov b10fdf8438 Fix for batteries with long names in energy dashboard (#26972) 2025-09-09 19:28:09 +02:00
Petar Petrov bee8980192 Fix battery to grid connection in Sankey card (#26973) 2025-09-09 19:27:41 +02:00
Lukas Waslowski 61487565db nitpick: Rename _filteredShchema to _filteredSchema (#26979) 2025-09-09 19:26:52 +02:00
Aidan Timson cc70eb46c9 Safe area: sidebar and notification drawer (#26853)
* sidebar: account for safe-area top inset in menu height/padding; adjust list height calc

* Defaults

* Defaults

* Restore

* Remove test

* Adjust

* Adjust

* Only apply on smaller layouts

* Fix

* Restore

* Restore

* No default in this case

* Restore

* Gain back some space

* Fix

* Adjust

* Tweak

* Calculate when mobile

* Use fallbacks for calculations and others anyway
2025-09-09 11:59:24 +02:00
Aidan Timson dec9d304da Add analog card clock style options (#26711)
* Options

* Add default analog options (or delete) when changing style, hide when digital

* Fix rebase error

* Format

* Update description

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Flatten config options

* Flatten config options

* Add analog clock style options

Show lines

Adjust

Adjust

Replace 'ticks_style' with 'face_style' and use numbers over numeric

Use numbers over numeric

* Rebase fixes

* Missing translations mapping

* Remove rotated numbers and roman upright options

* Remove rotated numbers and roman upright options

* Edit description

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-09-09 11:30:19 +03:00
Paul Bottein 7f8e856102 Don't trigger automation shortcuts when a field is focused or text selected (#26965)
* Don't trigger automation shortcut when a field is focused

* Don't trigger automation shortcut when a text is selected
2025-09-09 10:53:06 +03:00
karwosts 4bd60a1366 Mark new automation as dirty if it has initData (#26953) 2025-09-09 10:26:18 +03:00
Wendelin e9ca1758a0 Fix yaml editor save in config-flow (#26963) 2025-09-09 10:25:06 +03:00
Paulus Schoutsen dff3b82f0d Show action being called in action dev tools (#26923) 2025-09-09 08:57:36 +02:00
J. Nick Koston 1b630e7b66 Hide useless configure bluetooth options button for remote scanners (#26960)
This avoids showing the button when all they get is
"Bluetooth configuration for remote adapters is not supported."
2025-09-09 09:46:22 +03:00
Aidan Timson f4238bf291 Safe area: bars (#26816)
* app-bars: apply safe-area insets (top padding and fixed-adjust; add content padding in fixed)

* Set toolbar

* Set bars

* Add left and right insets to root ll

* Add to dev tools header

* Fix

* Apply to subpages (config pages mainly)

* Adjust

* Remove old comment
2025-09-09 08:13:03 +02:00
karwosts ef8cb8b393 Add a bulk delete to devices table (#26914) 2025-09-08 20:33:53 +02:00
karwosts bed161d485 Deduplicate table rendering code in energy sources table (#26918) 2025-09-08 20:14:15 +02:00
renovate[bot] 22e0ef4308 Update dependency eslint to v9.35.0 (#26955)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 19:34:36 +02:00
renovate[bot] eb355d110d Update babel monorepo to v7.28.4 (#26954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 19:34:07 +02:00
Wendelin c041c295d5 Use @home-assistant/webawesome (#26942) 2025-09-08 14:25:47 +02:00
Wendelin c582896574 Update missing border radius variables (#26944) 2025-09-08 14:01:24 +02:00
renovate[bot] 3e6b59fe1e Update dependency luxon to v3.7.2 (#26941)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 14:43:53 +03:00
Aidan Timson 62714b2b68 Safe area: dialogs (#26814)
* dialogs: apply safe-area insets (content padding, header mobile insets, more-info top margin)

* Set default (40px prio if not set)

* Set default (default padding prio if not set)

* Set default to avoid issues

* Set on container

* Sort

* No longer needed

* No longer needed

* No longer needed

* Remove

* Restore

* Restore

* Move to padding

* Switch to margins, set min and max height

* Set default

* Account for insets to remove extra scrollbars

* Fix content for filter dialog

* Move margins outside of media check

* Use padding instead

* use min-width instead

* Use padding for just top and bottom

* Calculate lit-virtualizer to include safe areas

* Calculate lit-virtualizer to include safe areas

* Fix double scrollbar from previous

* Remove calculation

* Default

* Remove double calculation

* Remove double calculation
2025-09-08 09:39:27 +02:00
renovate[bot] 07fdd5b7af Update vaadinWebComponents monorepo to v24.8.7 (#26936)
* Update vaadinWebComponents monorepo to v24.8.7

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-08 07:35:30 +00:00
Phil White 720f435987 Fix refresh button appending logs instead of clearing them (#26875) 2025-09-08 09:18:05 +02:00
Yosi Levy 52061d6c1a Variour RTL fixes for automation and others (#26891) 2025-09-08 09:13:10 +02:00
Paulus Schoutsen ae35164a57 Update clipboard copy template message in actions dev tool (#26925) 2025-09-08 08:59:11 +02:00
karwosts d1c814bd6b Fix condition action in config flow dialog (#26929) 2025-09-08 08:33:02 +02:00
dependabot[bot] bb50512c89 Bump softprops/action-gh-release from 2.3.2 to 2.3.3 (#26935)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v2.3.2...v2.3.3)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 08:20:26 +02:00
dependabot[bot] 0fae45edc9 Bump actions/setup-node from 4.4.0 to 5.0.0 (#26934)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.4.0 to 5.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.4.0...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 08:20:00 +02:00
dependabot[bot] 0a8d3cc8fa Bump actions/setup-python from 5 to 6 (#26933)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 08:19:11 +02:00
dependabot[bot] db09947a67 Bump actions/labeler from 5.0.0 to 6.0.1 (#26932)
Bumps [actions/labeler](https://github.com/actions/labeler) from 5.0.0 to 6.0.1.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v5.0.0...v6.0.1)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 08:18:47 +02:00
dependabot[bot] 5eb600726f Bump actions/stale from 9.1.0 to 10.0.0 (#26931)
Bumps [actions/stale](https://github.com/actions/stale) from 9.1.0 to 10.0.0.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v9.1.0...v10.0.0)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-version: 10.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 08:18:07 +02:00
dependabot[bot] 17a2e6e1f6 Bump actions/github-script from 7 to 8 (#26930)
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 08:17:35 +02:00
renovate[bot] 53e7959d54 Update dependency serve to v14.2.5 (#26922)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-07 20:21:02 +02:00
Aidan Timson 5f140c5fc4 Safe area: main content and onboarding (#26813)
* foundation: define --safe-area-content-inset-*; adjust drawer width; apply top inset to pre-login templates

* Set default for var

* Update demo template

* Set default to avoid issues

* Allow for left and right insets or 560px

* Remove
2025-09-07 13:25:29 +03:00
renovate[bot] 688b8e5229 Update dependency @types/leaflet.markercluster to v1.5.6 (#26911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-06 14:59:59 +00:00
renovate[bot] 34b50b45a3 Update dependency @types/leaflet-draw to v1.0.13 (#26910)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-06 16:49:58 +02:00
karwosts c17c9c6cc9 Remove an unused translation (#26908) 2025-09-05 22:39:01 -04:00
renovate[bot] c9d72b5253 Update dependency @types/culori to v4.0.1 (#26899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-05 23:22:30 +02:00
renovate[bot] f5dbb28fb2 Update dependency typescript-eslint to v8.42.0 (#26897)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-05 23:22:22 +02:00
renovate[bot] 9acfe5c1cc Update dependency @codemirror/autocomplete to v6.18.7 (#26896)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-05 23:22:15 +02:00
Jan-Philipp Benecke 701cbcfbad Do not show state-card-content in new more-info dialog in gallery (#26889)
* Do not show `state-card-content` in new more-info dialog in gallery

* Use `computeShowNewMoreInfo`
2025-09-05 14:13:28 -04:00
renovate[bot] 38685127d2 Update dependency @codemirror/view to v6.38.2 (#26890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-05 08:59:04 +03:00
renovate[bot] 4275f6c6b6 Update dependency lint-staged to v16.1.6 (#26885)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 19:33:55 +02:00
renovate[bot] bfc186b612 Update dependency @rspack/core to v1.5.2 (#26880)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-09-04 16:41:29 +02:00
Bram Kragten 2cbcf1a689 Merge branch 'rc' 2025-09-04 16:30:48 +02:00
Bram Kragten 1c1c0d70c5 Bumped version to 20250903.3 2025-09-04 16:30:32 +02:00
Paul Bottein a66f5fb573 Fix testing condition in iOS (#26879) 2025-09-04 16:29:32 +02:00
Petar Petrov 9affeab755 Fix highlighting issue in Energy Sankey card (#26878) 2025-09-04 16:29:31 +02:00
Paul Bottein 2bfaf77908 Add UI editor for trend graph feature (#26872) 2025-09-04 16:29:30 +02:00
Bram Kragten bc4caae796 Revert "Rename "Logbook" to "Activity" in user-facing strings" (#26867)
Revert "Rename "Logbook" to "Activity" in user-facing strings (#26619)"

This reverts commit 057fad55e8.
2025-09-04 16:29:29 +02:00
Wendelin 8746acd329 Fix script with fields fields in tile card button feature (#26866)
Check script fields in tile card button feature
2025-09-04 16:29:28 +02:00
Wendelin 96ecf16da2 Translate del in shortcut dialog (#26865) 2025-09-04 16:29:27 +02:00
Paul Bottein 1e95a0f3ef Display area with only sensors in climate view in home dashboard (#26863)
* Display area with only sensors in climate view in home dashboard

* Update home-climate-view-strategy.ts

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-09-04 16:29:26 +02:00
Simon Lamon a164d793b1 Home dashboard: Climate fix (#26856)
* Climate dashboard fix

* Update home-climate-view-strategy.ts
2025-09-04 16:29:25 +02:00
Paul Bottein cb4d92ccf4 Add UI editor for trend graph feature (#26872) 2025-09-04 16:28:02 +02:00
Wendelin 1dc7256fb5 Translate del in shortcut dialog (#26865) 2025-09-04 16:11:38 +02:00
Wendelin 012e710e45 Test-device-tracker-entity-filter (#26881) 2025-09-04 16:08:38 +02:00
Paul Bottein 5abb7d0286 Fix testing condition in iOS (#26879) 2025-09-04 15:50:39 +02:00
Petar Petrov ce74946706 Fix highlighting issue in Energy Sankey card (#26878) 2025-09-04 15:42:39 +02:00
Bram Kragten bf351d67e9 Revert "Rename "Logbook" to "Activity" in user-facing strings" (#26867)
Revert "Rename "Logbook" to "Activity" in user-facing strings (#26619)"

This reverts commit 057fad55e8.
2025-09-04 11:14:16 +02:00
Wendelin b75fa013d2 Fix script with fields fields in tile card button feature (#26866)
Check script fields in tile card button feature
2025-09-04 11:42:41 +03:00
Paul Bottein 2601b0d89c Display area with only sensors in climate view in home dashboard (#26863)
* Display area with only sensors in climate view in home dashboard

* Update home-climate-view-strategy.ts

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-09-04 10:11:35 +02:00
Mike Kelly ef8410e121 Add MCF as another volume unit (#26400) 2025-09-04 09:30:13 +03:00
karwosts 37610703c8 Pass first weekday to recorder/statistic_during_period (#26229)
* Pass first weekday to recorder/statistic_during_period

* switch order
2025-09-04 09:27:40 +03:00
Aidan Timson 4efd9bba8a Fix weather more info forecast layout jump when loading data (#26764)
* Fix weather more info forecast layout jump when loading data

* Tabs arent always populated

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-04 06:04:56 +00:00
Paulus Schoutsen e1fe7976d8 Do not allow filtering by automation labels on mobile (#26861) 2025-09-04 08:47:52 +03:00
Simon Lamon 53b96107d9 Home dashboard: Climate fix (#26856)
* Climate dashboard fix

* Update home-climate-view-strategy.ts
2025-09-03 18:55:33 +02:00
Bram Kragten 510fc71b40 Merge branch 'rc' 2025-09-03 16:20:50 +02:00
Bram Kragten 2a6a3edb77 Bumped version to 20250903.2 2025-09-03 16:20:26 +02:00
Bram Kragten c7a8796a47 Dont align with clipboard on copy/cut automation item (#26855) 2025-09-03 16:19:59 +02:00
Bram Kragten dcbad9e798 Dont align with clipboard on copy/cut automation item (#26855) 2025-09-03 14:19:02 +00:00
karwosts 26b3212c7e Enable sorting step flow menu options in user language (#26845)
* Enable sorting step flow menu options in user language

* Remove menu_sort_values

* Update src/dialogs/config-flow/step-flow-menu.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* prettier

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-09-03 17:03:09 +03:00
Bram Kragten 9d40fa5f2b Merge branch 'rc' 2025-09-03 12:59:34 +02:00
Bram Kragten 8f2a023775 Bumped version to 20250903.1 2025-09-03 12:59:17 +02:00
Paul Bottein 989b0b34fe Rename history chart to trend graph (#26854)
* Rename history chart to trend graph

* rename element and prettier

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-03 12:58:48 +02:00
Paul Bottein f3f4bcfe45 Rename history chart to trend graph (#26854)
* Rename history chart to trend graph

* rename element and prettier

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-03 10:56:05 +00:00
Bram Kragten cf94e71215 Merge branch 'rc' 2025-09-03 12:06:15 +02:00
Bram Kragten 49896f3fa6 Bumped version to 20250903.0 2025-09-03 12:05:53 +02:00
Bram Kragten 7cfa9de75f Bumped version to 20250903.0 2025-09-03 12:05:19 +02:00
Paul Bottein fc4b7674b1 Improve responsive support for history graph feature (#26851) 2025-09-03 12:01:50 +02:00
Wendelin 04c9f32539 Fix automation narrow bottom sheet close animation (#26850) 2025-09-03 12:01:49 +02:00
Bram Kragten 21e3fc9bb9 Update shortcuts dialog (#26849) 2025-09-03 12:01:48 +02:00
Wendelin 4b78eb7656 Update device action button variant based on warning class (#26848) 2025-09-03 12:01:47 +02:00
Paul Bottein b66dc8894d Improve responsive support for history graph feature (#26851) 2025-09-03 12:00:49 +02:00
Wendelin 14a7813ab0 Fix automation narrow bottom sheet close animation (#26850) 2025-09-03 09:45:13 +00:00
Bram Kragten 70a2ca281f Update shortcuts dialog (#26849) 2025-09-03 10:01:10 +02:00
Wendelin d982f042fc Update device action button variant based on warning class (#26848) 2025-09-03 07:06:18 +00:00
J. Nick Koston e60f9e326b Show scanner-type-specific power cycle instructions in Bluetooth UI (#26847)
* Show scanner-type-specific power cycle instructions in Bluetooth UI

* preen
2025-09-03 10:03:03 +03:00
Paul Bottein e6f91aef8e 20250902.1 (#26843) 2025-09-02 21:05:33 +02:00
Paul Bottein 8f99f86c8b Bumped version to 20250902.1 2025-09-02 21:04:49 +02:00
Paul Bottein b7eff547c7 Remove non numerical sensor and binary-sensor for history chart feature (#26838)
* Use hui-graph-base for chart history feature and remove non numerical sensor support

* Fix chart opacity
2025-09-02 21:04:20 +02:00
J. Nick Koston ba39d189e7 Show scanner current state in the Bluetooth UI (#26792)
* Show scanner current state in the Bluetooth UI

The state updates live as the scanner changes mode, and provides
a warning on what to do if the scanner gets in a bad state

* Show scanner current state in the Bluetooth UI

The state updates live as the scanner changes mode, and provides
a warning on what to do if the scanner gets in a bad state

* cleanup

* switch
2025-09-02 15:20:06 -03:00
Paul Bottein 78867b2cd9 Remove non numerical sensor and binary-sensor for history chart feature (#26838)
* Use hui-graph-base for chart history feature and remove non numerical sensor support

* Fix chart opacity
2025-09-02 14:38:06 -03:00
Paul Bottein ceb6b64152 20250902.0 (#26842) 2025-09-02 18:42:11 +02:00
Paul Bottein d253041376 Bumped version to 20250902.0 2025-09-02 18:41:08 +02:00
Paul Bottein cb0aa81f89 Change home summaries color (#26839) 2025-09-02 18:40:48 +02:00
Bram Kragten 42061b2f8c Remove expand all/collapse all options from overflow (#26837)
* remove expand all/collapse all options from overflow

* ignore
2025-09-02 18:40:47 +02:00
Bram Kragten 69bfb89a65 Add new shortcuts to shortcuts dialog (#26836) 2025-09-02 18:40:46 +02:00
Bram Kragten e0307f9688 Align box shadows (#26835)
* Align box shadows

* update colors
2025-09-02 18:40:45 +02:00
Bram Kragten 1cf353461f Tweak automation row (#26834)
tweak automation row
2025-09-02 18:40:44 +02:00
Paul Bottein 1786235c86 Clean graph in security and climate view in home dashboard (#26833) 2025-09-02 18:40:43 +02:00
Simon Lamon 645ba3f9c1 Home dashboard: Ensure temperature sensor entity exists (#26831) 2025-09-02 18:40:42 +02:00
Bram Kragten b65f6f46e1 Fix scrolling items in the bottom into view (#26830) 2025-09-02 18:40:41 +02:00
Aidan Timson 84ad521b3d Fix capitalization on data table filter button (#26829) 2025-09-02 18:40:40 +02:00
Bram Kragten dfb9c662e7 add shadow when scrollable in automation bottom sheet, min height 50vh (#26828) 2025-09-02 18:40:39 +02:00
Bram Kragten 5ac42e17b0 prevent keyboard shortcuts with more modifier keys (#26826) 2025-09-02 18:40:38 +02:00
karwosts be2f19637e Differentate service vs device in more-info link (#26823) 2025-09-02 18:40:37 +02:00
Paul Bottein 1dff42dc00 Change home summaries color (#26839) 2025-09-02 18:14:46 +02:00
Bram Kragten 0c9b3a0765 Remove expand all/collapse all options from overflow (#26837)
* remove expand all/collapse all options from overflow

* ignore
2025-09-02 16:26:44 +02:00
Bram Kragten 5a109c0ba8 Align box shadows (#26835)
* Align box shadows

* update colors
2025-09-02 14:15:48 +00:00
Bram Kragten f3b214c30a Add new shortcuts to shortcuts dialog (#26836) 2025-09-02 17:08:32 +03:00
Petar Petrov c49d2a0be6 Add support for option descriptions in config flows (#26825)
* Add support for option descriptions in config flows

* use `twoline`

* remove unused classes
2025-09-02 14:03:35 +00:00
Bram Kragten c6c3170c1b Tweak automation row (#26834)
tweak automation row
2025-09-02 13:50:05 +00:00
Paul Bottein 0abb958aea Clean graph in security and climate view in home dashboard (#26833) 2025-09-02 14:58:56 +02:00
Bram Kragten 9d55843629 Fix scrolling items in the bottom into view (#26830) 2025-09-02 14:57:11 +02:00
Bram Kragten b70d309297 add shadow when scrollable in automation bottom sheet, min height 50vh (#26828) 2025-09-02 14:12:48 +02:00
Simon Lamon 5961b71562 Home dashboard: Ensure temperature sensor entity exists (#26831) 2025-09-02 13:03:18 +02:00
karwosts 6942626f60 Differentate service vs device in more-info link (#26823) 2025-09-02 12:44:16 +02:00
Aidan Timson 069c0acdff Fix capitalization on data table filter button (#26829) 2025-09-02 10:44:01 +00:00
Bram Kragten 1f0d83190d prevent keyboard shortcuts with more modifier keys (#26826) 2025-09-02 09:39:54 +02:00
Bram Kragten b7a6ee3792 Bumped version to 20250901.0 2025-09-01 21:42:55 +02:00
Wendelin 1fb2f0c989 Automation-keybindings (#26762)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-01 21:42:19 +02:00
Wendelin 7c6c92c856 Automation-keybindings (#26762)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-09-01 21:41:50 +02:00
Bram Kragten b4ad411e6f Change drag selected styling (#26822) 2025-09-01 21:41:20 +02:00
Bram Kragten 5d76a92f73 Update hover and hightlight states for automation rows (#26820) 2025-09-01 21:41:19 +02:00
Paul Bottein beee09491a Fix tag trigger when using it inside sidebar (#26819) 2025-09-01 21:41:18 +02:00
Paul Bottein ee5aabdddf Remove box shadow for ha card in automation bottom sheet on mobile (#26817) 2025-09-01 21:41:17 +02:00
Paul Bottein ec80f6a6f1 Add automation testing logic to sidebar (#26815) 2025-09-01 21:41:16 +02:00
Paul Bottein 9845f0b47c Don't use ha-automation-row-selected to know if the item was selected (#26812) 2025-09-01 21:41:15 +02:00
Paul Bottein cd294ba619 Force energy distribution to display the data of today (#26811) 2025-09-01 21:41:14 +02:00
Paul Bottein 61e27cb1ea Fix automation sidebar z index (#26810) 2025-09-01 21:41:14 +02:00
Paul Bottein 8d6295e8e8 Update heading subtitle height to better fix grid (#26808) 2025-09-01 21:41:13 +02:00
Paul Bottein b0e95699f7 Fix add dialog on dashboards on mobile (#26807) 2025-09-01 21:41:12 +02:00
Petar Petrov c8e1e7b8a8 Handle negative values in History chart card feature (#26806) 2025-09-01 21:41:11 +02:00
Bram Kragten d2cea159af Enable drag and drop on mobile for automations (#26805) 2025-09-01 21:41:10 +02:00
Petar Petrov eb5d1c79c8 Use feature-color in History chart feature (#26802) 2025-09-01 21:41:09 +02:00
Paulus Schoutsen 65ab6848ab Do not add graphs to every sensor tile card (#26793) 2025-09-01 21:41:09 +02:00
Paul Bottein 7a1d934e8d Use summary card in home dashboard (#26775) 2025-09-01 21:41:08 +02:00
Wendelin cbacde12fa Automation editor: fix yaml editor and editor switch (#26772) 2025-09-01 21:41:07 +02:00
Robert Resch eff352cde1 Warn about system performance when setting camera stream orientation (#26616) 2025-09-01 20:54:48 +02:00
Bram Kragten 62a75c188c Change drag selected styling (#26822) 2025-09-01 20:26:25 +02:00
Paul Bottein 4ffa6b6186 Force energy distribution to display the data of today (#26811) 2025-09-01 18:12:34 +02:00
Paul Bottein 25173cf605 Don't use ha-automation-row-selected to know if the item was selected (#26812) 2025-09-01 18:12:08 +02:00
Paul Bottein 3277d8e80b Add automation testing logic to sidebar (#26815) 2025-09-01 18:08:59 +02:00
Bram Kragten 55864fdc82 Update hover and hightlight states for automation rows (#26820) 2025-09-01 17:40:03 +02:00
Paul Bottein d4d662ba46 Fix automation sidebar z index (#26810) 2025-09-01 17:21:36 +02:00
Paul Bottein 3ea5f508bb Remove box shadow for ha card in automation bottom sheet on mobile (#26817) 2025-09-01 17:19:09 +02:00
Paul Bottein 902a5dd678 Fix tag trigger when using it inside sidebar (#26819) 2025-09-01 17:18:18 +02:00
renovate[bot] 4a3ed62583 Update dependency @types/chromecast-caf-receiver to v6.0.24 (#26500)
* Update dependency @types/chromecast-caf-receiver to v6.0.24

* Use enum strings directly to make TS happy

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-09-01 14:53:10 +00:00
Paul Bottein b4223e9e92 Use summary card in home dashboard (#26775) 2025-09-01 15:13:53 +02:00
Paul Bottein 99955d7818 Fix add dialog on dashboards on mobile (#26807) 2025-09-01 15:39:52 +03:00
Paul Bottein f66768726c Update heading subtitle height to better fix grid (#26808) 2025-09-01 15:39:03 +03:00
Michel van de Wetering 0e4be02b2c Remove Hue bridge v1 image (#26674) 2025-09-01 15:27:50 +03:00
Bram Kragten 6daea23b3c Enable drag and drop on mobile for automations (#26805) 2025-09-01 14:09:13 +02:00
Petar Petrov e21ddcb1e5 Handle negative values in History chart card feature (#26806) 2025-09-01 11:45:52 +00:00
Wendelin ded85d9f27 Automation editor: fix yaml editor and editor switch (#26772) 2025-09-01 13:26:17 +02:00
Petar Petrov eea43494da Use feature-color in History chart feature (#26802) 2025-09-01 11:34:44 +02:00
Norbert Rittel 9cf9ef927d Expand description for disabled services (#26782)
* Expand description for disabled services

* Drop "not added to Home Assistant"
2025-09-01 09:51:22 +03:00
Paulus Schoutsen 779ec4f583 Do not add graphs to every sensor tile card (#26793) 2025-08-31 15:11:41 +00:00
renovate[bot] c541831cd2 Update dependency marked to v16.2.1 (#26785)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 17:07:02 +02:00
renovate[bot] fd20c2a554 Update dependency @rspack/core to v1.5.1 (#26790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-31 17:06:55 +02:00
uptimeZERO_ 14fd29808c Bugfix: Fixed column widths in the dashboard config page (#26777)
Fixed column widths in dashboard config
2025-08-30 11:54:37 +00:00
Aidan Timson 7132ee157f Adjust states set state layout (#26765) 2025-08-30 13:11:41 +02:00
J. Nick Koston 1596b313d5 Add RSSI color gradient to Bluetooth visualization to identify connection problems (#26778) 2025-08-29 14:15:00 -05:00
Paul Bottein 4c33618e05 20250829.0 (#26776) 2025-08-29 17:49:27 +02:00
Paul Bottein 3837b3e630 Bumped version to 20250829.0 2025-08-29 17:48:01 +02:00
karwosts 7c15633f6d Don't use context for media selector with 'accept' (#26773) 2025-08-29 17:45:59 +02:00
Paul Bottein f7ec8650eb Add translations for home dashboard (#26763) 2025-08-29 17:45:58 +02:00
Paul Bottein 7674eee0fb Fix alert z-index for automation and script (#26759) 2025-08-29 17:45:13 +02:00
Norbert Rittel f494a6453a Improve OAuth setup explanation (#26758)
* Improve OAuth setup explanation

* Add "your"

* Include "application" in headline
2025-08-29 17:43:54 +02:00
Wendelin 37f3682ffa Automation editor: fix focus handling (#26755) 2025-08-29 17:42:34 +02:00
Paul Bottein 8055286a1f Use fixed layout for automation sidebar to have scrollbar on the side (#26751)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-08-29 17:39:43 +02:00
karwosts 70cd68ded7 Don't use context for media selector with 'accept' (#26773) 2025-08-29 14:08:11 +00:00
renovate[bot] cc91a6185e Update dependency @rspack/core to v1.5.0 (#26768)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-29 17:05:14 +03:00
Paul Bottein 1fd7c84583 Use fixed layout for automation sidebar to have scrollbar on the side (#26751)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-08-29 14:19:13 +02:00
Paul Bottein 0269540ee9 Add translations for home dashboard (#26763) 2025-08-29 14:17:55 +02:00
renovate[bot] 98390b3843 Update Yarn to v4.9.4 (#26760)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-29 08:12:28 +00:00
Paul Bottein 269628929c Fix alert z-index for automation and script (#26759) 2025-08-29 08:05:05 +00:00
Norbert Rittel 21fcc84afd Improve OAuth setup explanation (#26758)
* Improve OAuth setup explanation

* Add "your"

* Include "application" in headline
2025-08-29 09:59:31 +02:00
Wendelin b86c1db83d Automation editor: fix focus handling (#26755) 2025-08-29 08:39:06 +02:00
renovate[bot] a376670478 Update dependency typescript-eslint to v8.41.0 (#26757)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-29 08:21:34 +02:00
renovate[bot] 72c62079aa Update dependency hls.js to v1.6.11 (#26756)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-29 08:21:28 +02:00
Surya Prakash 9baf875585 Fix: Keep buttons active in picture-glance-card regardless of state (#26718)
* Fix: Keep buttons active in picture-glance-card regardless of state


Fixes #26683

**Problem:**
Buttons in the picture-glance-card were incorrectly disabled when their state was 'unknown', making them unclickable.

**Root Cause:**
The `disabled` property was being set based on the state value, but buttons should remain clickable regardless of their state since their state only reflects the last time they were pressed.

**Solution:**
Set `disabled=${false}` to ensure buttons are always active and clickable.

**Testing:**
Verified that buttons remain active and functional even when state is 'unknown'.

* Fix: Ensure buttons get state-on class when state is unknown

Fixes #26683

The "state-on" class was not being applied when button state was
"unknown" because "unknown" was included in the STATES_OFF set.
This ensures buttons appear active regardless of their state.

* Update hui-picture-glance-card.ts

* Update hui-picture-glance-card.ts

* Update hui-picture-glance-card.ts

* Update hui-picture-glance-card.ts

* Update hui-picture-glance-card.ts

* Update hui-picture-glance-card.ts

* Update hui-picture-glance-card.ts
2025-08-29 08:20:39 +02:00
Jonathan Keslin 175915218f Hide leading zero in clock card hour when using 12-hour time format (#26669)
Remove leading zero on hour on Clock card when displayed with 12-hour time format
2025-08-29 08:42:07 +03:00
Paul Bottein 0bdd213761 20250828.0 (#26752) 2025-08-28 18:54:59 +02:00
Paul Bottein 810b43760e Bumped version to 20250828.0 2025-08-28 18:51:59 +02:00
Aidan Timson 424d71c55a Change loading detailed storage to use ha-alert with spinner (#26749)
* Change spinner overlay to use `ha-alert` with messaging

* Use spinner for icon slot
2025-08-28 18:51:14 +02:00
Petar Petrov 176924241c Increase disk usage request timeout (#26748) 2025-08-28 18:51:13 +02:00
Norbert Rittel da08aa7fb0 Different spelling fixes of user-facing strings (#26745)
* Different spelling fixes of user-facing strings

* Fix menu "Application credentials" menu item name
2025-08-28 18:51:12 +02:00
Wendelin 6047227648 Automation editor: overflow changes and style fixes (#26744)
* Fix for width also for blueprint editor

* Fix overflow menus

* Fix option icons

* Fix iOS bottom sheet flickering and drag handle

* Fix mobile padding

* Fix padding in sidebar

* Fix overflow placement

* Add new a11y sort

* Remove overflow in rows

* Fix a11y select row

* Revert "Fix a11y select row"

This reverts commit 54260c4a37.

* Fix option padding on blueprint

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-08-28 18:51:11 +02:00
Norbert Rittel fc71fd6bc3 Improve section descriptions in Automation editor (#26741)
Replace "listed here" or "list of" with "added here"
2025-08-28 18:51:10 +02:00
Wendelin 90a1b135e1 Fix automation editor drag selected row in/out nested (#26740)
Fix nested sort
2025-08-28 18:51:09 +02:00
Paulus Schoutsen e19413b6ca Show binary sensors with graphs on the security dashboard (#26738) 2025-08-28 18:51:08 +02:00
Paulus Schoutsen 0dfc10af5f Show configured area sensors on climate domain dashboard (#26737) 2025-08-28 18:51:07 +02:00
karwosts bbbc419bea Hide 'options' from enum more info (#26736)
* Hide 'options' from enum more info

* restrict to specific domain and class
2025-08-28 18:51:06 +02:00
Aidan Timson 50ad5e376f Move automation and script ha-alerts to main flow (#26735)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-08-28 18:51:05 +02:00
J. Nick Koston a9f2254bbc Improve network adapter configuration discoverability (#26734) 2025-08-28 18:51:04 +02:00
Paul Bottein a8836404d4 Use entity picture for home favorite and update home dashboard icon (#26732)
* Add strategy icon

* Use entity picture for favorite
2025-08-28 18:51:03 +02:00
Wendelin 25f25243bd Automation editor: overflow changes and style fixes (#26744)
* Fix for width also for blueprint editor

* Fix overflow menus

* Fix option icons

* Fix iOS bottom sheet flickering and drag handle

* Fix mobile padding

* Fix padding in sidebar

* Fix overflow placement

* Add new a11y sort

* Remove overflow in rows

* Fix a11y select row

* Revert "Fix a11y select row"

This reverts commit 54260c4a37.

* Fix option padding on blueprint

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-08-28 16:42:45 +00:00
karwosts cf8d36b1f3 Hide 'options' from enum more info (#26736)
* Hide 'options' from enum more info

* restrict to specific domain and class
2025-08-28 18:08:33 +02:00
Aidan Timson e3a9d754df Change loading detailed storage to use ha-alert with spinner (#26749)
* Change spinner overlay to use `ha-alert` with messaging

* Use spinner for icon slot
2025-08-28 18:05:53 +02:00
Petar Petrov 7b303a699b Increase disk usage request timeout (#26748) 2025-08-28 16:32:52 +03:00
renovate[bot] ee45eb00f7 Update vaadinWebComponents monorepo to v24.8.6 (#26746)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-28 15:38:03 +03:00
Norbert Rittel 24a6aa2669 Different spelling fixes of user-facing strings (#26745)
* Different spelling fixes of user-facing strings

* Fix menu "Application credentials" menu item name
2025-08-28 15:37:06 +03:00
Aidan Timson 66d011cfb9 Move automation and script ha-alerts to main flow (#26735)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-08-28 13:53:15 +02:00
Wendelin 35895735cc Fix automation editor drag selected row in/out nested (#26740)
Fix nested sort
2025-08-28 13:30:14 +02:00
Norbert Rittel e71df0b71a Improve section descriptions in Automation editor (#26741)
Replace "listed here" or "list of" with "added here"
2025-08-28 11:05:31 +02:00
Paulus Schoutsen 2a9846c598 Show configured area sensors on climate domain dashboard (#26737) 2025-08-28 08:34:45 +03:00
Paulus Schoutsen b243d56bee Show binary sensors with graphs on the security dashboard (#26738) 2025-08-28 08:26:44 +03:00
J. Nick Koston 6a372a165e Improve network adapter configuration discoverability (#26734) 2025-08-27 09:59:23 -05:00
Paul Bottein a5dad9bc22 Use entity picture for home favorite and update home dashboard icon (#26732)
* Add strategy icon

* Use entity picture for favorite
2025-08-27 16:33:48 +02:00
Bram Kragten 954e0a5f63 Merge branch 'rc' into dev 2025-08-27 15:09:31 +02:00
Bram Kragten 4dbd4eebaa Bumped version to 20250827.0 2025-08-27 15:08:57 +02:00
Aidan Timson 09b01df366 Translate integration filters (#26728)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-27 13:02:38 +00:00
Paul Bottein a76539c732 Revert background section (#26730) 2025-08-27 12:55:15 +00:00
Aidan Timson c7babe884c Add variables for analog clock background (#26726) 2025-08-27 12:36:33 +00:00
Paul Bottein ce83feec93 Use large section for summay view (#26729) 2025-08-27 12:35:45 +00:00
karwosts 150ee3fb12 Display sum/median labels in area card editor (#26721) 2025-08-27 14:35:10 +02:00
Wendelin 8fd3fcd323 Focus automation sidebar when open via keyboard (#26606)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-27 11:28:52 +00:00
Wendelin 6e3b3a53e4 Fix close automation bottom sheet on add (#26727) 2025-08-27 13:25:19 +02:00
Wendelin 22966485c7 Automation editor: New choose default styles and style fixes (#26708)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-08-27 13:20:25 +02:00
karwosts 673ca8ba4b Use media selector for media_player.play_media (#26559) 2025-08-27 12:39:40 +02:00
Paul Bottein c8be25dfc2 Rename overview to home and add widget section (#26715) 2025-08-27 12:35:43 +02:00
Aidan Timson edaaa00038 Analog style for clock card (#26557)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-27 10:15:06 +01:00
Wendelin 2de605d97a Automation editor: expand only root rows per default (#26712)
* Add default expand/collapse

* Readd expanded search param functionality
2025-08-27 12:10:53 +03:00
Paul Bottein 0b11302b1d Align storage life time design with used storage (#26724) 2025-08-27 09:52:56 +02:00
Norbert Rittel ddb224e145 Capitalize "Assist" as feature name in "Assist pipeline" (#26719)
Makes it consistent with all other occurrences of Assist in Frontend.
2025-08-27 08:47:15 +02:00
Paul Bottein 317149e51e Always show compact header for dashboards (#26706) 2025-08-26 20:09:57 +02:00
Norbert Rittel 51840b88b3 Add missing hyphens to compound adjectives with "specific" (#26717) 2025-08-26 18:56:48 +02:00
Norbert Rittel 319a1ad8c6 Fix description of battery energy sensors (#26714) 2025-08-26 16:13:38 +00:00
Wendelin d75c84750d Add indent style to automation action, condition, and option editors (#26709) 2025-08-26 18:10:17 +02:00
renovate[bot] 492a73e345 Update dependency @bundle-stats/plugin-webpack-filter to v4.21.3 (#26713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 18:01:25 +02:00
Wendelin 64bf101c95 Automation Editor: Move overflow actions to sidebar only (#26707)
Move all overflow actions to sidebar
2025-08-26 18:00:54 +02:00
hanwg 876ced25f1 Rename subentry (#26574)
* rename subentry

* rename subentry

* update subentry

* remove title from update subentry

* format

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-08-26 15:49:51 +00:00
Wendelin 72e3b72854 Fix automation action condition row left-chevron (#26705)
Enhance collapse logic to include condition block types in automation action row
2025-08-26 15:46:36 +00:00
Paulus Schoutsen 6ccd3d3b95 Tweak choose spacing (#26702) 2025-08-26 14:18:17 +00:00
Wendelin 5709cb6aa4 Add collapse/expand all for automations (#26695) 2025-08-26 15:21:03 +02:00
Wendelin 1fe7282b0e Fix action condition (#26703) 2025-08-26 13:56:49 +02:00
Paulus Schoutsen 6d29063b35 Adjust top-level spacing to move description a bit closer (#26698) 2025-08-26 13:16:53 +02:00
Paulus Schoutsen d3e0b94d27 Show tag name in tag trigger (#26697) 2025-08-26 13:16:26 +02:00
Wendelin f4f1f98433 Fix tablet sidebar RTL (#26700) 2025-08-26 13:14:42 +02:00
renovate[bot] 69e3d8e13d Update dependency eslint to v9.34.0 (#26694)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-26 08:12:36 +03:00
Paul Bottein 3ab6e389d3 Fixes dahsboard tab bar on mobile (#26690)
* Don't show toolbar in desktop

* Fix tab bar height

* Fix tab bar height

* rename to Add person

* Fix title

* Fix key
2025-08-25 15:41:49 +00:00
Paul Bottein 9cc85bc928 Fix hold action for picture element card in Android app (#26647)
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-25 14:36:20 +00:00
Wendelin 4f4343d6c8 Automation editor mobile bottom sheet (#26680) 2025-08-25 16:27:57 +02:00
Petar Petrov 7ab27d620a Sum & Median Area card sensors (#26681)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-25 16:02:16 +02:00
Petar Petrov fa4ee71803 Fix rounding in energy dashboard (#26689) 2025-08-25 14:00:44 +00:00
renovate[bot] 82026250c5 Update dependency @material/web to v2.4.0 (#26678)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-25 15:28:19 +02:00
Douwe bc7533bb42 Add scene to button tile feature (#26520)
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-08-25 13:16:31 +00:00
Petar Petrov 7110c0381f Show detailed storage space info (#26686)
* Storage space breakdown

* update mock data

* update format

* new format

* clean up

* fix

* remove useless if

* use ha-tooltip and styleMap

* fix hover
2025-08-25 13:03:58 +00:00
Surya Prakash 87fa05accc Fix: Volume bar cut off at 100% in media player entity row (#26675) 2025-08-25 12:47:17 +00:00
dcapslock 56ee3f82fb Improve states tool performance (#26236)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-08-25 14:15:56 +02:00
victorigualada 11872b076b Fix ha-alert icon z-index overlapping over other elements (#26685)
* Fix ha-alert icon z-index overlapping over other elements

* directly remove ha-alert's icon z-index property to fix overlapping
2025-08-25 14:14:37 +03:00
Kendell R 620db4238d Indirect -> direct use of @rspack/dev-server (#26665)
* Indirect -> direct use of @rspack/dev-server

* move to devdependencies
2025-08-25 08:26:38 +03:00
Surya Prakash ef78bec48d Fix: Enable tile button feature for entities with 'unknown' state (#26673)
## What this fixes
Fixes #26670

The button tile feature was incorrectly disabled for entities in the 'unknown' state. It should only be disabled for 'unavailable' entities, as a button is always pressable.

## Changes made
Removed `"unknown"` from the disabled states check in `hui-button-card-feature.ts`.

**Before:** Button was disabled if state was `"unavailable"` OR `"unknown"`
**After:** Button is disabled **only** if state is `"unavailable"`
2025-08-25 08:06:06 +03:00
Kendell R 4dcf2287ce Fix invalid CSS (#26677) 2025-08-24 21:26:07 +02:00
renovate[bot] a9766ed66b Update dependency core-js to v3.45.1 (#26667)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 22:03:05 +02:00
renovate[bot] 26a83feeb0 Update Yarn to v4.9.3 (#26662)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 22:02:49 +02:00
karwosts 8c5dd7cdba Fix shortcuts quickbar translation (#26666) 2025-08-23 22:02:35 +02:00
renovate[bot] 0d025a2355 Update dependency @rsdoctor/rspack-plugin to v1.2.3 (#26659)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-23 10:33:08 +02:00
karwosts 8216778d0c Fix last backup status counter on system page (#26655) 2025-08-23 09:46:43 +02:00
Paul Bottein fe16b689a8 Remove floors from the area overview dashboard (#26622)
* Remove floors from the area overview dashboard

* Refactor summaries view code

* Update src/panels/lovelace/strategies/overview/overview-home-view-strategy.ts

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-08-23 07:44:47 +00:00
Aidan Timson 2653f6c874 Move section to other views/dashboards from edit dialog menu (#26621)
* Init

* Pass in lovelace

* Working move

* Finalise
2025-08-23 09:22:34 +02:00
Jan-Philipp Benecke 8093f7f4cb Add background opacity option to section styling (#26651)
* Add background opacity option to section styling

* Run updated prettier
2025-08-22 18:58:47 +02:00
Jan-Philipp Benecke b26c914ff9 Use dedicated translation key for none option in section background type (#26652) 2025-08-22 18:13:04 +02:00
Jan-Philipp Benecke b2fa97b6dc Add background styling options to section settings (#26369)
* Add background styling options to section settings

* Improve

* Fix linter

* Move to subkey

* Use hex instead of rgb to save in yaml

* Remove or
2025-08-22 12:51:07 +02:00
renovate[bot] 8a8bba422a Update dependency typescript-eslint to v8.40.0 (#26648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-22 08:34:15 +03:00
Aidan Timson 76ca66b1b5 Change home and other zones edit dialog title to location name (#26637)
* Change home and other zone edit dialog title to location name

* Remove no longer used translations

* Use name as context

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Use name as context

* Add translation

* Use name as context

* Actually use the right key

* Use name as context

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-08-22 08:13:10 +03:00
Paul Bottein 280dbfc958 Add "add" button to lovelace dashboard toolbar (#26644)
* Add add button to lovelace dashboard toolbar

* Add person and area

* Fix typing
2025-08-21 20:45:57 +02:00
karwosts 0b10ad3e78 No multiline strings in state-history-chart-timeline (#26646) 2025-08-21 17:39:54 +02:00
Bram Kragten c172f0c486 Bumped version to 20250811.1 2025-08-21 16:30:40 +02:00
Dav15Jr 1244ed73a2 Fix Inconsistent naming of "Input button" in Quickbar navigation (#26541)
* Fix Inconsistent naming of "Input button" in Quickbar navigation

* Fix Media Manage button default visibilty.

* undo wrong change
2025-08-21 16:29:44 +02:00
Petar Petrov e2aef205cc Filter hidden entities from group more-info (#26527) 2025-08-21 16:29:43 +02:00
Paul Bottein 7434c9345a Fix related entities click behavior in the more info dialog (#26525) 2025-08-21 16:29:43 +02:00
Bram Kragten 287ff17107 Update tabs when user data changes (#26524) 2025-08-21 16:29:42 +02:00
Wendelin 21309944e5 Fix ha-button icon padding (#26517) 2025-08-21 16:29:41 +02:00
Wendelin c0e39ffd67 Fix handling empty release notes in more-info-update (#26515)
Fix handling empty release nots in more-info-update
2025-08-21 16:29:40 +02:00
Bram Kragten 3da2cb3123 Fix style variable in base chart (#26509) 2025-08-21 16:29:37 +02:00
karwosts 7957bd1f25 Fix search in raw configuration editor (#26496) 2025-08-21 16:29:36 +02:00
Aidan Timson 04d0aa2f22 Remove "hassio" option from commands in quick bar (#26640) 2025-08-21 16:42:40 +03:00
Aidan Timson 4b901101da Fix voice assist setup success step translations (#26638) 2025-08-21 16:41:16 +03:00
Aidan Timson 4960284e2d Media player playback controls card feature (#26608)
* Setup

* Add buttons

* Fix

* Move to function

* Clean

* Cleanup

* Check client size

* Get width from host component

* Fix

* Spacing

* use current target

* Ensure state updates update render

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/panels/lovelace/card-features/hui-media-player-playback-card-feature.ts

* Resolve code suggestion type errors

* Resize observer not needed

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-21 10:28:43 +00:00
renovate[bot] 11d32300e9 Update dependency eslint-plugin-unused-imports to v4.2.0 (#26641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 13:26:40 +03:00
Philipp Waller f131e93e63 Refactor automation editor event naming for consistency (#26634) 2025-08-21 13:23:59 +03:00
Wendelin 5a540dd889 Use automation sidebar in scripts (#26602) 2025-08-21 12:21:00 +02:00
Drinor Dalipi 3a70310f78 Follow-up: revert ultimate fallback to undefined in computeEntityEntryName (#26629) 2025-08-21 09:50:48 +02:00
Philipp Waller feed58c33e Add show-automation-editor event for custom cards & panels (#26613)
* expose showAutomationEditor functionality in ha-panel-custom

* drop connectedCallback change (leftover from earlier test)

* enhance documentation for showAutomationEditor method

* Add automation editor mixin and event declaration for show-automation-editor
2025-08-21 08:22:05 +03:00
Philipp Waller e5585e13fe Replace deprecated ESLint flag to remove warning (#26630)
replace deprecated ESLint flag
2025-08-21 04:43:17 +00:00
renovate[bot] edd49e1511 Update dependency marked to v16.2.0 (#26632)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-21 06:35:54 +02:00
Copilot 057fad55e8 Rename "Logbook" to "Activity" in user-facing strings (#26619)
* Initial plan

* Update user-facing strings from "Logbook" to "Activity"

Co-authored-by: balloob <1444314+balloob@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: balloob <1444314+balloob@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-08-20 17:36:32 +03:00
Aidan Timson d1a8165de2 Allow clock to show without background (#26554) 2025-08-20 17:31:25 +03:00
Petar Petrov 31c555445d Bar gauge card feature for sensors (#26585)
* Bar graph card feature for sensors

* use state color

* tweak name

* rename and improve colors

* Update src/panels/lovelace/card-features/hui-progress-bar-card-feature.ts

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>

* rename to Bar gauge

* name fix

* Force dark-only themes to be in dark mode (#26583)

* Fetch translations for switch-as-x domains (#26566)

* Fetch translations for switch-as-x domains

* no cache

* Migrate ha-progress-ring to webawesome (#26542)

* Migrate all sl-animation usages to wa-animation (#26544)

* Remove unused shoelace animation import (#26584)

* Bump actions/checkout from 4.2.2 to 5.0.0 (#26586)

Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.2...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Add date card feature (#26531)

* Add date card feature

* Rename from "date" to "date-set"

* Better label

* Fix

* Parse date for datetime

* Show accurate state of show_header_toggle in entities card editor (#26564)

* Add clipboard support to condition card conditions (#26535)

* Add copy paste support to condition card conditions

* Don't clear the clipboard

* Fix selection

* Add cut and duplicate

* Remove

* Fix event

* Fix picture glance mouse pointer (#26391)

* Fix picture glance mouse pointer

* More action updates

* Capitalize "Samba" as the name of the Open Source project (#26590)

Capitalize "Samba" as name for the Open Source project

* Update dependency @codemirror/language to v6.11.3 (#26589)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Set default forecast option in weather forecast card editor (#26592)

* Add fan oscillate feature (#26519)

* First working fan-oscillate feature

This a first working impl, need at least to do:
- Tooltip not yet "Yes/No"
- Need implementation verification

* Use same strings as more info label for control tooltip

* Add missing label for editor

* Rename some variables

* Add fan features in gallery

* Fix lint:types by applying suggestions from code review

Co-authored-by: Aidan Timson <aidan@timmo.dev>

* fix lint new line after import

* fix typo

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* fix event value type treating

* remove type magic as suggested

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Update localize.ts

Complete suggestion change to have tooltip

* fix lint by removing unused import

---------

Co-authored-by: Aidan Timson <aidan@timmo.dev>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Lock file maintenance (#26598)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Fix legend in devices-detail-graph (#26596)

* Change Suggest with AI label to Suggest (#26603)

* Automation row remember collapsed status (#26604)

* Summaries overview dashboard (#26594)

* Change categories to lights, climate and security

* Add entities grouped by devices

* Fix garage cover device class

* Rename category to summary

* Add media players categories

* Reduce spacing

* Remove person

* Remove translations

* Use media player cards

* Display entities without device

* Add missing entity category

* Update src/panels/lovelace/strategies/overview/helpers/overview-summaries.ts

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Add white space

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Fix entities not showing due to JavaScript crash (fixes #25363) (#26599)

* Fix entity UI crash from undefined entity names (fixes #25363)

* Fix mock function type compatibility in test

- Update mock to handle string | undefined parameter
- Maintain test functionality while satisfying type checker

* Simplify approach based on reviewer feedback

- Use String() coercion to preserve numeric entity names (e.g., power strip outlets)
- Single line change instead of complex type validation across multiple files
- Revert stripPrefixFromEntityName to original (no longer needs null handling)
- Remove separate test file, update existing test to expect stringified numbers
- More conservative approach that preserves data rather than replacing with fallbacks

* History chart card feature (#26555)

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Fix space in overview welcome caption (#26618)

* Fix space in overview welcome caption

* Update src/panels/lovelace/strategies/overview/overview-home-view-strategy.ts

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aidan Timson <aidan@timmo.dev>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: pcan08 <155250376+pcan08@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Drinor Dalipi <45405217+Drinory@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-20 17:27:05 +03:00
Paul Bottein 61bb5d33e5 Add home structure helper to overview dashboard (#26620)
* Use home structure in overview home

* Use home structure in summary views
2025-08-20 14:53:05 +02:00
Paulus Schoutsen 20a3bab5bc Fix space in overview welcome caption (#26618)
* Fix space in overview welcome caption

* Update src/panels/lovelace/strategies/overview/overview-home-view-strategy.ts
2025-08-20 09:48:59 +00:00
Petar Petrov e8d916acd7 History chart card feature (#26555)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-20 11:30:42 +02:00
Drinor Dalipi 8b73d664b4 Fix entities not showing due to JavaScript crash (fixes #25363) (#26599)
* Fix entity UI crash from undefined entity names (fixes #25363)

* Fix mock function type compatibility in test

- Update mock to handle string | undefined parameter
- Maintain test functionality while satisfying type checker

* Simplify approach based on reviewer feedback

- Use String() coercion to preserve numeric entity names (e.g., power strip outlets)
- Single line change instead of complex type validation across multiple files
- Revert stripPrefixFromEntityName to original (no longer needs null handling)
- Remove separate test file, update existing test to expect stringified numbers
- More conservative approach that preserves data rather than replacing with fallbacks
2025-08-20 06:10:13 +00:00
Paul Bottein 10dcc08068 Summaries overview dashboard (#26594)
* Change categories to lights, climate and security

* Add entities grouped by devices

* Fix garage cover device class

* Rename category to summary

* Add media players categories

* Reduce spacing

* Remove person

* Remove translations

* Use media player cards

* Display entities without device

* Add missing entity category

* Update src/panels/lovelace/strategies/overview/helpers/overview-summaries.ts

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Add white space

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-08-19 19:48:43 +00:00
Wendelin fc5adc3753 Automation row remember collapsed status (#26604) 2025-08-19 12:13:35 +02:00
Paulus Schoutsen d1db8f456f Change Suggest with AI label to Suggest (#26603) 2025-08-19 11:39:12 +02:00
karwosts 0dd07a395a Fix legend in devices-detail-graph (#26596) 2025-08-19 09:12:30 +03:00
renovate[bot] 589771df5c Lock file maintenance (#26598)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-19 08:44:22 +03:00
pcan08 92812048dc Add fan oscillate feature (#26519)
* First working fan-oscillate feature

This a first working impl, need at least to do:
- Tooltip not yet "Yes/No"
- Need implementation verification

* Use same strings as more info label for control tooltip

* Add missing label for editor

* Rename some variables

* Add fan features in gallery

* Fix lint:types by applying suggestions from code review

Co-authored-by: Aidan Timson <aidan@timmo.dev>

* fix lint new line after import

* fix typo

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* fix event value type treating

* remove type magic as suggested

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Update localize.ts

Complete suggestion change to have tooltip

* fix lint by removing unused import

---------

Co-authored-by: Aidan Timson <aidan@timmo.dev>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-08-18 18:22:41 +03:00
Aidan Timson 9fc14d6627 Set default forecast option in weather forecast card editor (#26592) 2025-08-18 16:18:50 +03:00
renovate[bot] 3da6b85593 Update dependency @codemirror/language to v6.11.3 (#26589)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-18 15:59:13 +03:00
Norbert Rittel d2a4f481be Capitalize "Samba" as the name of the Open Source project (#26590)
Capitalize "Samba" as name for the Open Source project
2025-08-18 14:54:51 +02:00
karwosts e37f67c548 Fix picture glance mouse pointer (#26391)
* Fix picture glance mouse pointer

* More action updates
2025-08-18 13:33:10 +03:00
Aidan Timson e775a6770b Add clipboard support to condition card conditions (#26535)
* Add copy paste support to condition card conditions

* Don't clear the clipboard

* Fix selection

* Add cut and duplicate

* Remove

* Fix event
2025-08-18 13:10:58 +03:00
karwosts 4ba5ef6c37 Show accurate state of show_header_toggle in entities card editor (#26564) 2025-08-18 13:01:25 +03:00
Aidan Timson d528ab06d9 Add date card feature (#26531)
* Add date card feature

* Rename from "date" to "date-set"

* Better label

* Fix

* Parse date for datetime
2025-08-18 09:57:09 +00:00
dependabot[bot] 03a628cfe2 Bump actions/checkout from 4.2.2 to 5.0.0 (#26586)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.2 to 5.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.2.2...v5.0.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 5.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-18 12:38:04 +03:00
Wendelin 973851b332 Remove unused shoelace animation import (#26584) 2025-08-18 10:42:59 +03:00
Simon Lamon 4c5795c276 Migrate all sl-animation usages to wa-animation (#26544) 2025-08-18 09:04:42 +02:00
Simon Lamon 41d016d96a Migrate ha-progress-ring to webawesome (#26542) 2025-08-18 09:02:32 +02:00
karwosts 22e647cad4 Fetch translations for switch-as-x domains (#26566)
* Fetch translations for switch-as-x domains

* no cache
2025-08-18 08:40:31 +03:00
karwosts b63dd9dbbf Force dark-only themes to be in dark mode (#26583) 2025-08-18 08:39:32 +03:00
renovate[bot] 3b3b9e269d Update dependency hls.js to v1.6.10 (#26581)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-18 08:33:39 +03:00
renovate[bot] d2c3b9ee83 Update dependency @lokalise/node-api to v15.2.1 (#26577)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-17 15:33:15 +02:00
renovate[bot] 5b50a8692b Update babel monorepo to v7.28.3 (#26576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-17 15:32:52 +02:00
Paulus Schoutsen 8a8bbee8e0 Update theme color in web app manifests (#26572) 2025-08-17 10:19:40 +02:00
TheJulianJES 28e28d1417 Fix restrict-task-creation workflow (#26569) 2025-08-17 10:19:16 +02:00
renovate[bot] ea77a0f3d6 Update dependency @lokalise/node-api to v15.1.0 (#26567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-16 21:23:51 +02:00
karwosts 10e09b238a Configurable todo item tap action (#26551)
* Configurable todo item tap action

* string
2025-08-15 16:33:50 +03:00
Simon Lamon f9cd2b66cb Migrate ha-fade-in to webawesome (#26543)
fade in
2025-08-15 13:29:34 +03:00
renovate[bot] b1c0fba8cf Update dependency @rsdoctor/rspack-plugin to v1.2.2 (#26553)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 13:27:29 +03:00
Norbert Rittel fdae6257b3 Consistently use "Home Assistant OS" as name (#26552) 2025-08-15 10:02:00 +02:00
Dav15Jr 6a48aea128 Fix media manage button default visibilty (#26548)
* Fix Inconsistent naming of "Input button" in Quickbar navigation

* Fix Media Manage button default visibilty.

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-08-15 07:19:09 +00:00
Norbert Rittel a90b173671 Fix missing sentence-case in a few strings (#26547)
* Fix missing sentence-case in a few strings

* One more

* And another one
2025-08-15 09:10:00 +02:00
Dav15Jr d9971bfaa9 Fix Inconsistent naming of "Input button" in Quickbar navigation (#26541)
* Fix Inconsistent naming of "Input button" in Quickbar navigation

* Fix Media Manage button default visibilty.

* undo wrong change
2025-08-15 07:09:54 +00:00
renovate[bot] 369d56a809 Update dependency typescript-eslint to v8.39.1 (#26546)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-15 09:04:30 +02:00
Norbert Rittel 939a3cdf63 Fix missing sentence-casing in People settings (#26539)
* Fix missing sentence-casing in People settings

* Remove hyphen from "presence detection integration"
2025-08-14 16:56:02 +02:00
Wendelin 208fd0662c Migrate ha-button-toggle-group to webawesome (#26506)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-14 14:52:39 +02:00
renovate[bot] f133f246cb Update vaadinWebComponents monorepo to v24.8.5 (#25954)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-14 14:51:25 +02:00
Paul Bottein b9b8997d68 Makes ha-combo-box clear value compatible with vaadin 24.8 (#26530) 2025-08-14 14:50:24 +02:00
Aidan Timson 46c4a19a13 Fix conditional card options alignment (#26534) 2025-08-14 12:27:21 +00:00
Paul Bottein 8d63654211 Create overview dashboard with lights, covers, energy and favorite entities (#26504)
* Create overview dashboard with light, cover, energy and favorite

* Add welcome message

* Add person entities

* Add editor for favorite entities

* Don't use property
2025-08-14 11:56:35 +02:00
Wendelin 3bf25f125b Automation editor sidebar (#26413) 2025-08-14 10:06:16 +02:00
Petar Petrov 8c65876413 Filter hidden entities from group more-info (#26527) 2025-08-13 17:50:00 +02:00
Bram Kragten 2ab6d49553 Update tabs when user data changes (#26524) 2025-08-13 16:24:56 +02:00
Aidan Timson 67b0cf0952 Add small amount of extra padding to ohf card in about section (#26523) 2025-08-13 17:23:01 +03:00
Bram Kragten 5138276f8a Show password forgot link on mobile (#26526)
show password forgot link on mobile
2025-08-13 17:22:17 +03:00
Paul Bottein 30e6777529 Fix related entities click behavior in the more info dialog (#26525) 2025-08-13 16:08:52 +02:00
Aidan Timson 1686ab4b9d Add valve position card feature (#26511) 2025-08-13 15:04:44 +03:00
Wendelin b7102c0d7d Fix ha-button icon padding (#26517) 2025-08-13 13:40:44 +02:00
Petar Petrov d41d524850 Show battery in and out energy in Sankey chart (#26490) 2025-08-13 12:40:45 +03:00
renovate[bot] 4f05f6305a Update fullcalendar monorepo to v6.1.19 (#26516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-13 09:50:40 +02:00
karwosts ba0b1239be Fix search in automation yaml editor (#26513) 2025-08-13 09:07:50 +03:00
Wendelin 708b68f35d Fix handling empty release notes in more-info-update (#26515)
Fix handling empty release nots in more-info-update
2025-08-13 09:03:25 +03:00
Aidan Timson 3108e98b97 Update ha-spinner component to webawesome (#26507) 2025-08-12 21:00:40 +02:00
Bram Kragten ba7609cc2c Fix style variable in base chart (#26509) 2025-08-12 17:14:29 +02:00
Bram Kragten 506fd7d480 center spinner 2025-08-12 15:30:47 +02:00
Bram Kragten 9767ebe1fb Show spinner when loading application credential config (#26510) 2025-08-12 15:25:18 +02:00
Aidan Timson 539e89e7b5 Add valve open/close card feature (#26488)
* Add valve open/close card feature

* Toggle button UI if no assumed state
2025-08-12 14:26:12 +02:00
karwosts a7eef81272 Fix search in raw configuration editor (#26496) 2025-08-12 14:31:38 +03:00
Aidan Timson 7986be103f Fix invalid loading margin while variables are loading (#26495)
* Fix invalid loading margin while variables are loading

* Fix invalid loading margin while variables are loading
2025-08-12 07:53:36 +03:00
karwosts 055e65c45e Add a dashboard condition based on user's location (#26401)
* Add a dashboard condition based on user's location

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Update src/data/person.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Use multiple: true

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-12 07:51:31 +03:00
renovate[bot] fe762e9ae4 Update dependency eslint to v9.33.0 (#26502)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-12 07:47:01 +03:00
pcan08 5267c6fdfc Add fan direction feature in gallery (#26499) 2025-08-11 19:40:32 +02:00
Andrew Jackson 8eff913845 Sort subentries within integration devices by title (#26497)
Sort subentries by title
2025-08-11 17:34:36 +00:00
renovate[bot] 1c845d0052 Update dependency lint-staged to v16.1.5 (#26498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 19:22:34 +02:00
pcan08 60a1d25e1e Add fan direction feature (#26467)
* Create fan-direction feature

* Translate direction buttons tooltip

* Update src/translations/en.json

fix fan-direction label to sentence-cased

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Update src/translations/en.json

Remove usued translation

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-08-11 16:32:42 +03:00
Aidan Timson 3439d1d663 Add area, device, floor and formatted state to template editor completions (#26383) 2025-08-11 15:28:34 +02:00
renovate[bot] bf120d9cb2 Update dependency @rsdoctor/rspack-plugin to v1.2.1 (#26492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 14:25:53 +03:00
Paul Bottein b5a024c879 Fix default alarm modes order when customizing it in card feature (#26491) 2025-08-11 14:13:02 +03:00
renovate[bot] 602d754e5e Update dependency typescript to v5.9.2 (#26372)
* Update dependency typescript to v5.9.2

* fix types

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-08-11 11:11:15 +00:00
Wendelin b7c4f4029d Translate service worker update toast notification (#26487)
* Translate service worker update toast notification

* Update src/managers/notification-manager.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Update src/managers/notification-manager.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Fix toast translation args

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-11 14:07:32 +03:00
dependabot[bot] 7fdb5d4862 Bump actions/cache from 4.2.3 to 4.2.4 (#26489)
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.3 to 4.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4.2.3...v4.2.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 4.2.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 13:32:14 +03:00
Aidan Timson bc52ab410c Split repeat building blocks in picker (#26385)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-11 11:07:41 +02:00
karwosts 3b0220fa92 Support multiple for StateSelector (#25716)
* Support `multiple` for StateSelector

* lint

* Fixup after merge
2025-08-11 11:24:37 +03:00
Bram Kragten 64e00e559f Bumped version to 20250811.0 2025-08-11 09:58:49 +02:00
Wendelin b407bd4c4f Fix first letter uppercase in some buttons (#26485) 2025-08-11 09:58:39 +02:00
Simon Lamon d466abf9c4 Fix diagnostic download (#26466)
Diagnostic fix 2
2025-08-11 09:58:38 +02:00
karwosts 4d98230145 Support button feature for input_button (#26444) 2025-08-11 09:58:38 +02:00
Petar Petrov 8a5bca0eb0 Show sankey chart in vertical layout on mobile (#26439)
* Show sankey chart in vertical layout on mobile

* ts fix
2025-08-11 09:58:37 +02:00
Petar Petrov 1638da858c Font improvements for Sankey chart (#26438)
* Use theme vars for sankey chart font

* improve font size calculation
2025-08-11 09:58:36 +02:00
Wendelin bfb11102cc Fix css var naming --ha-color-border-primary (#26433) 2025-08-11 09:58:35 +02:00
Wendelin a3d3539e82 Fix button start/end slot margins, add reduce-left-padding flag (#26431)
* Fix button start/end slot margins, add reduce-left-padding flag

* Always reduce padding when icons are there

* Revert icon padding changes
2025-08-11 09:58:35 +02:00
Timothy 1fc6cff857 Fix typo in Neutral80 color (#26430) 2025-08-11 09:58:34 +02:00
Wendelin c5d7eb5384 Fix plain button in legacy browsers (#26426) 2025-08-11 09:58:33 +02:00
karwosts 759e6eba35 Fix mqtt config panel (#26422) 2025-08-11 09:58:32 +02:00
karwosts 153129e066 Fix a dangerous button color (#26418) 2025-08-11 09:58:31 +02:00
Aidan Timson 7bf3c7273e Fix Mod-S (Ctrl-S/Cmd-S) support for automation/scene/script YAML editors (#26412)
* Fix automation and script yaml mode Mod-S (Ctrl/Cmd-S) support

* Fix manual script editor

* Fix manual automation editor save

* Fix scene yaml mode
2025-08-11 09:58:31 +02:00
Wendelin 08765e6ce2 Add border radius css var ha prefix (#26411) 2025-08-11 09:58:30 +02:00
Wendelin a60c9f788d Fix first letter uppercase in some buttons (#26485) 2025-08-11 10:47:06 +03:00
karwosts d9c297c06a Improve robustness of UI for if/then action (#26477) 2025-08-11 08:40:42 +03:00
renovate[bot] 3789bebb2b Update dependency @bundle-stats/plugin-webpack-filter to v4.21.2 (#26480)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-11 08:36:51 +03:00
renovate[bot] bbecf5f368 Update dependency hls.js to v1.6.9 (#26474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 14:30:38 +02:00
renovate[bot] e580b30219 Update dependency @rsdoctor/rspack-plugin to v1.2.0 (#26471)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-10 14:30:12 +02:00
renovate[bot] ed8c8ad3e3 Update dependency @rsdoctor/rspack-plugin to v1.1.11 (#26470)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-09 15:19:04 +02:00
Simon Lamon 4f61d5689b Fix diagnostic download (#26466)
Diagnostic fix 2
2025-08-09 15:17:59 +02:00
renovate[bot] 60a18185d7 Update dependency @tsparticles/engine to v3.9.1 (#26420)
* Update dependency @tsparticles/engine to v3.9.1
2025-08-09 06:19:38 +00:00
karwosts e0246b8488 Support button feature for input_button (#26444) 2025-08-09 07:52:14 +02:00
renovate[bot] 1cd0fae84a Update dependency @awesome.me/webawesome to v3.0.0-beta.4 (#26465)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 21:42:37 +02:00
renovate[bot] e8a1ebbff4 Update dependency fs-extra to v11.3.1 (#26464)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 19:38:28 +02:00
karwosts c5010b8502 Fix some date-range bugs (#26441) 2025-08-08 16:57:54 +03:00
Petar Petrov a7db401b62 Show sankey chart in vertical layout on mobile (#26439)
* Show sankey chart in vertical layout on mobile

* ts fix
2025-08-08 16:37:44 +03:00
Petar Petrov 49c7dad6eb Font improvements for Sankey chart (#26438)
* Use theme vars for sankey chart font

* improve font size calculation
2025-08-08 08:43:59 +02:00
Aidan Timson 521c3d40b7 Add missing button feature translation (#26437) 2025-08-08 08:42:45 +02:00
renovate[bot] 709a1d2ef0 Update dependency typescript-eslint to v8.39.0 (#26446)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 08:42:06 +02:00
renovate[bot] 3c5d7b97d1 Update dependency core-js to v3.45.0 (#26449)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 08:41:49 +02:00
renovate[bot] 9165c8bc57 Update dependency hls.js to v1.6.8 (#26451)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-08 08:40:58 +02:00
Luke Mondy 0b3e4eab23 Add 'Not' to lovelace visibility conditions (#26408)
:Add 'Not' to lovelace visibility conditions
2025-08-07 16:40:27 +03:00
Wendelin 39d14c943c Revert "Add Mobile team and design has codeowner of the theme colors" (#26432)
Revert "Add Mobile team and design has codeowner of the theme colors (#26428)"

This reverts commit 9588987e30.
2025-08-07 15:06:41 +02:00
Wendelin 09469be93f Fix css var naming --ha-color-border-primary (#26433) 2025-08-07 15:06:13 +02:00
karwosts 6e215870ef Fix mqtt config panel (#26422) 2025-08-07 16:06:07 +03:00
Wendelin d5985dcaaf Fix button start/end slot margins, add reduce-left-padding flag (#26431)
* Fix button start/end slot margins, add reduce-left-padding flag

* Always reduce padding when icons are there

* Revert icon padding changes
2025-08-07 15:05:56 +02:00
Timothy bbd9d8887d Fix typo in Neutral80 color (#26430) 2025-08-07 10:07:12 +00:00
Timothy 9588987e30 Add Mobile team and design has codeowner of the theme colors (#26428) 2025-08-07 09:56:47 +00:00
Wendelin 52c05a4426 Fix plain button in legacy browsers (#26426) 2025-08-07 09:50:05 +02:00
renovate[bot] e8224df4e5 Update dependency echarts to v6 (#26356)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 09:41:59 +03:00
karwosts 83a6df1621 Fix a dangerous button color (#26418) 2025-08-07 07:40:31 +02:00
renovate[bot] c46ebc8d3e Update dependency marked to v16.1.2 (#26423)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-07 07:38:25 +02:00
Aidan Timson fca530411f Fix Mod-S (Ctrl-S/Cmd-S) support for automation/scene/script YAML editors (#26412)
* Fix automation and script yaml mode Mod-S (Ctrl/Cmd-S) support

* Fix manual script editor

* Fix manual automation editor save

* Fix scene yaml mode
2025-08-06 18:52:41 +02:00
Norbert Rittel c2c64b9923 Fix summary for Choose building block by counting options (#26409)
* Fix summary for Choose building block

* Sentence-case "If-then" to match label of that building block
2025-08-06 18:52:03 +02:00
renovate[bot] 9968c27a8e Update dependency lint-staged to v16.1.4 (#26414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 18:45:36 +02:00
Wendelin 96796ac5da Add border radius css var ha prefix (#26411) 2025-08-06 12:59:34 +00:00
Bram Kragten 550e4cd4aa Bumped version to 20250806.0 2025-08-06 14:33:58 +02:00
Bram Kragten f6041c5cbb add save button to AI suggestions settings (#26407) 2025-08-06 14:32:48 +02:00
Bram Kragten 42f65c2ca1 Fix buttons in button row (#26405) 2025-08-06 14:32:46 +02:00
Bram Kragten 588f171f7f Update zwave js buttons (#26404) 2025-08-06 14:32:44 +02:00
Bram Kragten bd1445840d Update color variables (#26403) 2025-08-06 14:32:42 +02:00
Bram Kragten 37def6d3e4 add save button to AI suggestions settings (#26407) 2025-08-06 14:27:58 +02:00
Bram Kragten 013d603ba0 Fix buttons in button row (#26405) 2025-08-06 11:15:09 +00:00
Bram Kragten b76407d28d Update zwave js buttons (#26404) 2025-08-06 13:13:22 +02:00
Bram Kragten 4e969ccf09 Update color variables (#26403) 2025-08-06 10:42:21 +00:00
Bram Kragten 97a0903cec Bumped version to 20250805.0 2025-08-05 15:21:31 +02:00
Bram Kragten e2525a3d07 Fix colors in network graphs (#26397) 2025-08-05 15:21:22 +02:00
Bram Kragten 8bc0f5a42c Fix network graph not rendering (#26396) 2025-08-05 15:21:21 +02:00
Jan-Philipp Benecke bf7e8ffd24 Add localization for third-party data reporting in the Z-Wave JS dashboard (#26395)
* Add localization for third-party data reporting in the Z-Wave JS dashboard

* Run prettier
2025-08-05 15:21:21 +02:00
Stefan Agner 255e598c65 Fix System information dialog unhealthy/unsupported list (#26393)
The System Information dialog was not displaying translated list of
unhealthy and unsupported reasons because the wrong translation keys
were used. This commit updates the translation keys to the correct
ones.
2025-08-05 15:21:19 +02:00
karwosts 5e22178225 Fix energy now button (#26384)
Update hui-energy-period-selector.ts
2025-08-05 15:21:19 +02:00
Wendelin 56b7a6abec Improve ha button radius variables (#26382)
* Improve ha button radius variables

* fixes

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-05 15:21:18 +02:00
Wendelin f34c4a11af Improve neutral color palette (#26381)
Improve neutral, add docs, removed unused var.
2025-08-05 15:21:17 +02:00
Stefan Agner 102689b711 Remove eMMC specific references in disk life time handling (#26379)
* Remove eMMC specific references in disk life time handling

Remove eMMC specific calculations and references in the disk life
time handling to generalize the code for all disk types. This includes
updating translations and UI components to reflect a more generic
approach to disk life time metrics.

* Assume 30 MB/s as the speed for disk operations

The previous code tried to estimate based on disk type, 30 MB/s for
eMMC devices and 10 MB/s for others. However, this did not work
correctly since the disk_life_time returns null for non-eMMC devices,
leading to 30 MB/s being used for all devices.

Now disk_life_time is not a eMMC indicator anymore. Simply assume a
constant speed of 30 MB/s for all disk operations explicitly.
2025-08-05 15:21:16 +02:00
Wendelin b16d769192 Fix ha-buttons (#26373)
* Fix ha-button supervisor network

* Fix button appearance for entity row

* Fix logs button menu mobile width

* Fix new logs indicator
2025-08-05 15:21:15 +02:00
Jan-Philipp Benecke 29bcacc64e Improve Z-Wave JS config dashboard styling (#26368) 2025-08-05 15:21:14 +02:00
Jan-Philipp Benecke c7f3331373 Do not show AI suggestion button when no inputs in save dialog (#26357) 2025-08-05 15:21:13 +02:00
Squazel c32444b70c Fix picture-glance card icon styling for unavailable/unknown entities (#26352) 2025-08-05 15:21:12 +02:00
Wendelin 11c6b90eb0 Fix dialog secondary button design (#26344) 2025-08-05 15:21:11 +02:00
Simon Lamon f7a17598f0 Fix diagnostic download on integration level (#26341) 2025-08-05 15:21:10 +02:00
Bram Kragten 56967bc0c1 Add support for sub config flows in conversation agent picker (#26336) 2025-08-05 15:21:09 +02:00
Bram Kragten cdfd6431c3 Fix colors in network graphs (#26397) 2025-08-05 15:14:21 +02:00
Bram Kragten c363995718 Fix network graph not rendering (#26396) 2025-08-05 15:05:23 +02:00
Jan-Philipp Benecke 53497aa632 Add localization for third-party data reporting in the Z-Wave JS dashboard (#26395)
* Add localization for third-party data reporting in the Z-Wave JS dashboard

* Run prettier
2025-08-05 13:00:14 +02:00
Stefan Agner 8d89b0e57f Fix System information dialog unhealthy/unsupported list (#26393)
The System Information dialog was not displaying translated list of
unhealthy and unsupported reasons because the wrong translation keys
were used. This commit updates the translation keys to the correct
ones.
2025-08-05 12:10:51 +02:00
Stefan Agner 92cf8b5579 Remove eMMC specific references in disk life time handling (#26379)
* Remove eMMC specific references in disk life time handling

Remove eMMC specific calculations and references in the disk life
time handling to generalize the code for all disk types. This includes
updating translations and UI components to reflect a more generic
approach to disk life time metrics.

* Assume 30 MB/s as the speed for disk operations

The previous code tried to estimate based on disk type, 30 MB/s for
eMMC devices and 10 MB/s for others. However, this did not work
correctly since the disk_life_time returns null for non-eMMC devices,
leading to 30 MB/s being used for all devices.

Now disk_life_time is not a eMMC indicator anymore. Simply assume a
constant speed of 30 MB/s for all disk operations explicitly.
2025-08-05 10:42:42 +02:00
karwosts 6068c32176 Pass narrow through parallel/sequence automation actions (#26386) 2025-08-04 17:51:17 +02:00
karwosts 38893324af Fix energy now button (#26384)
Update hui-energy-period-selector.ts
2025-08-04 16:19:26 +02:00
Wendelin a39ab3c174 Improve ha button radius variables (#26382)
* Improve ha button radius variables

* fixes

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-08-04 12:58:12 +00:00
Christoph 797d2be5bf show spinner on update button (during update installation) (#26110)
* scroll to top when installing an update

* Revert "scroll to top when installing an update"

This reverts commit d0051b0c4c.

* add progress spinner to update button

* refactor disabled logic for update/skip button

* do not run update when disabled button is clicked

* refactor: use new ha-button to show progress

* refactor: move functions to update.ts
2025-08-04 14:51:38 +02:00
Wendelin 99a91e1019 Improve neutral color palette (#26381)
Improve neutral, add docs, removed unused var.
2025-08-04 12:24:42 +00:00
Wendelin 5de8d07ce0 Fix ha-buttons (#26373)
* Fix ha-button supervisor network

* Fix button appearance for entity row

* Fix logs button menu mobile width

* Fix new logs indicator
2025-08-04 14:18:31 +02:00
dependabot[bot] 3a31a4a721 Bump home-assistant/wheels from 2025.03.0 to 2025.07.0 (#26375)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 11:01:02 +02:00
Squazel 05f4419a92 Fix picture-glance card icon styling for unavailable/unknown entities (#26352) 2025-08-04 08:16:11 +02:00
renovate[bot] 5ea8feb86b Update rspack monorepo to v1.4.11 (#26365)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-04 06:52:21 +02:00
Jan-Philipp Benecke 8fd70b3ae6 Improve Z-Wave JS config dashboard styling (#26368) 2025-08-04 06:50:35 +02:00
renovate[bot] 343aa40bc8 Update dependency @types/luxon to v3.7.1 (#26351)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-03 08:10:32 +02:00
Jan-Philipp Benecke 6022f9a77e Do not show AI suggestion button when no inputs in save dialog (#26357) 2025-08-03 08:10:06 +02:00
renovate[bot] bd9de0680e Update dependency @types/luxon to v3.7.0 (#26342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-01 17:09:44 +02:00
Simon Lamon b8000d5bc1 Fix diagnostic download on integration level (#26341) 2025-08-01 13:16:09 +02:00
Wendelin c6efa1127f Fix dialog secondary button design (#26344) 2025-08-01 13:13:42 +02:00
Bram Kragten 688a3d91d3 Add support for sub config flows in conversation agent picker (#26336) 2025-08-01 13:13:28 +02:00
Timothy 68151a2a70 Add Bruno and Timo as codeowners of the external_app folders (#26345) 2025-08-01 11:49:47 +02:00
Bram Kragten b01ab9234b Bumped version to 20250731.0 2025-07-31 16:54:24 +02:00
Wendelin ad39228dea Fix line-height, fix script editor buttons (#26337)
* Fix line-height

* Fix script root buttons
2025-07-31 16:54:03 +02:00
Wendelin 8cc48cdecb Use tilecard button feature editor (#26335)
Use button feature editor
2025-07-31 16:54:02 +02:00
Wendelin 524e89acf0 Revert "Use query params instead of path for media browser navigate ids" (#26333) 2025-07-31 16:54:01 +02:00
Wendelin 48f6b34882 Fix ha-button with missing label and links (#26332) 2025-07-31 16:54:00 +02:00
Bram Kragten 44d9185574 Fix area picker text alignment in voice wizard (#26330) 2025-07-31 16:53:59 +02:00
Joost Lekkerkerker 51ff6c6564 Use underscores in AI task name (#26327) 2025-07-31 16:53:58 +02:00
Franck Nijhof b49b8e3db8 Add weekdays to time trigger (#25908)
* Add weekdays to time trigger

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Localization changes

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-07-31 16:53:57 +02:00
Wendelin c2ca556151 Fix line-height, fix script editor buttons (#26337)
* Fix line-height

* Fix script root buttons
2025-07-31 16:52:36 +02:00
Wendelin df86b27af4 Use tilecard button feature editor (#26335)
Use button feature editor
2025-07-31 13:27:40 +02:00
Wendelin eba1f401cc Fix ha-button with missing label and links (#26332) 2025-07-31 12:40:17 +02:00
Wendelin 19c2f9c9e8 Revert "Use query params instead of path for media browser navigate ids" (#26333) 2025-07-31 12:38:52 +02:00
Bram Kragten 4250447d14 Fix area picker text alignment in voice wizard (#26330) 2025-07-31 11:52:33 +02:00
Joost Lekkerkerker 4666197f28 Use underscores in AI task name (#26327) 2025-07-30 21:52:09 +02:00
Franck Nijhof a5ca36c93f Add weekdays to time trigger (#25908)
* Add weekdays to time trigger

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Localization changes

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-07-30 19:45:10 +02:00
Norbert Rittel a88950e16c Correct the setup steps for Matter sharing in Google Home app (#26322)
Correct the setup steps in the Google Home app
2025-07-30 19:40:41 +02:00
Bram Kragten c013c5ec64 Merge branch 'rc' into dev 2025-07-30 16:18:36 +02:00
Bram Kragten 53d5d0efbd Merge branch 'master' into rc 2025-07-30 16:18:22 +02:00
Bram Kragten 3577991553 Bumped version to 20250730.0 2025-07-30 16:16:28 +02:00
Wendelin fa758f2bee Redesign ha-button (#25564)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-07-30 16:15:18 +02:00
Douwe 6dbfc2f4ed Add new card feature: button (#26165)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-07-30 16:13:05 +02:00
Petar Petrov b355556c07 Improve network graph layout (#26268) 2025-07-30 15:55:06 +02:00
renovate[bot] fec336260e Pin dependency @types/culori to 4.0.0 (#26318)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-30 14:07:48 +02:00
Wendelin 3e67d91d1a Add color palettes (#26271) 2025-07-30 13:51:14 +02:00
karwosts 641e406502 Don't allow view URL to be a number (#26313) 2025-07-29 21:33:58 +02:00
renovate[bot] 073ba22233 Update dependency @bundle-stats/plugin-webpack-filter to v4.21.1 (#26316)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-29 21:29:30 +02:00
Norbert Rittel 6b4a4e6024 Fix doubled plural in "add-on(s) repositories / capabilities" (#26310)
The string "Manage add-on repositories" has it correct, so this makes the fixed ones more consistent, too.
2025-07-29 10:05:13 +02:00
karwosts 7d8b418a81 Fix some instability in ha-selector-object (#26301)
Fix some instability in ha-object-selector
2025-07-29 09:50:58 +03:00
karwosts c14425b2d1 Allow picture card to serve media images (#26291)
* Allow picture card to serve media images

* small adjustments
2025-07-29 09:49:08 +03:00
renovate[bot] 4740a71bdd Update dependency eslint to v9.32.0 (#26309)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-28 22:12:27 +02:00
dependabot[bot] 6d0e0158ea Bump relative-ci/agent-action from 3.0.0 to 3.0.1 (#26307)
Bumps [relative-ci/agent-action](https://github.com/relative-ci/agent-action) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/relative-ci/agent-action/releases)
- [Commits](https://github.com/relative-ci/agent-action/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: relative-ci/agent-action
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 17:03:04 +03:00
renovate[bot] e966d6f4f4 Update rspack monorepo to v1.4.10 (#26300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-27 22:11:12 +02:00
karwosts b99bb60cd0 Cleanup some selectors firing double value-changed events (#26302) 2025-07-27 22:10:30 +02:00
karwosts 080c79234c Fix typo in attribute (#26303)
Update hui-action-editor.ts
2025-07-27 22:09:16 +02:00
karwosts 9ad887942e Add raindrops to lightning-rainy state SVG (#26298) 2025-07-27 07:54:25 +02:00
renovate[bot] 27dfa514e7 Update dependency @lokalise/node-api to v15 (#26297)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-27 07:50:01 +02:00
renovate[bot] ab5c5389e8 Update dependency @rsdoctor/rspack-plugin to v1.1.10 (#26295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-27 07:49:07 +02:00
renovate[bot] 219679bce9 Update rspack monorepo to v1.4.9 (#26289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-25 14:43:41 +02:00
Chai aca4a1f86d Fix for integration 'Add entry' unnecessary dialogs (#26285) 2025-07-25 11:42:34 +00:00
Paulus Schoutsen f428d6b3f2 Add download device info button (#26278)
* Add download device info button

* Update src/panels/config/core/ha-config-section-analytics.ts

* Guard download support

* Update src/translations/en.json
2025-07-24 19:53:04 +00:00
renovate[bot] 109c3e86d9 Lock file maintenance (#26230)
* Lock file maintenance

* Remove duplicated packages

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-07-24 19:02:51 +00:00
karwosts e4b6c3fd4d Disallow special characters in view URL (#26280)
* Disallow special characters in view URL
2025-07-24 18:58:26 +00:00
renovate[bot] 43f1d9be44 Update dependency typescript-eslint to v8.38.0 (#26283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 20:05:15 +02:00
renovate[bot] 5c405201b2 Update dependency eslint-plugin-lit-a11y to v5.1.1 (#26279)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-24 19:25:39 +03:00
karwosts 9fc91fbbcc Fix spelling, remove errant apostrophe (#26277)
Update en.json
2025-07-24 17:06:57 +03:00
Norbert Rittel d9e3f2c15f Three smaller fixes in user-facing strings (#26276)
- change "eg." to "e.g." (four other occurrences are correct)
- add a comma after "Enter your email address, …" as the noun in the second part of the sentence changes to "we"
- sentence-case "Newest version"
2025-07-24 15:10:35 +03:00
Abílio Costa 3e2f5b0dd3 Handle visibility changes in camera players (#26235)
* Handle visibility changes in webrtc player

* Implement visibility handling for hls

* Remove console logs
2025-07-23 19:31:39 +02:00
dependabot[bot] aae1a3604c Bump axios from 1.10.0 to 1.11.0 (#26273)
Bumps [axios](https://github.com/axios/axios) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v1.10.0...v1.11.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.11.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-23 17:03:08 +00:00
Bram Kragten e31b9c4264 Update translations action with dispatch 2025-07-23 14:54:35 +02:00
Marcin 90a9dbafbf Fixed icon (#26249) 2025-07-23 14:52:07 +02:00
Marcin 7041557ee2 Changed area dashboard preview icon (#26269) 2025-07-23 14:50:51 +02:00
Joost Lekkerkerker 3d6e5ef1f0 Render AI task entities with formatted time (#26265) 2025-07-23 14:49:51 +02:00
Petar Petrov d9bf605c3f Improve ZHA routes vizualization (#26270) 2025-07-23 14:48:47 +02:00
Copilot 20dab92ad8 Sort devices and services alphabetically in integration pages (#26231)
Co-authored-by: balloob <1444314+balloob@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-07-23 14:41:34 +02:00
Petar Petrov 98ed3bdd4d Add handle to axis pointer in charts on mobile (#26088)
* Add handle to axis pointer in charts on mobile

* Ignore hidden xAxis

* simplify
2025-07-23 13:13:43 +02:00
Petar Petrov f5bc6309ae Add features to light & cover groups more-info (#26187)
* Add features to light & cover groups more-info

* 12 column tiles
2025-07-23 13:13:09 +02:00
Simon Lamon 620ebd8a61 Correct lokalise docker image (#26267)
Mistyped docker iamge
2025-07-23 13:11:57 +02:00
Norbert Rittel ca30af5c8a Various spelling fixes in user-facing strings (#26261)
* Various spelling fixes in user-facing strings

* Fix triple apostrophes
2025-07-23 13:23:17 +03:00
Simon Lamon 9d30ce348f Bump Lokalise docker image to latest v3.1.4 (#26226)
Bump lokalise to latest version v3.1.4
2025-07-23 11:44:36 +02:00
karwosts 07c7b07362 Stabilize step flow errors (#26258) 2025-07-23 08:33:48 +03:00
karwosts c13a80ce5e Hide hardware integrations in brand sub-menu (#26252)
* Hide hardware integrations in brand sub-menu

* Filter before sort
2025-07-22 16:16:03 +02:00
Wendelin 13868478f7 Download core logs via supervisor (#26251)
Use supervisor download dialog for core downloads
2025-07-22 14:55:11 +03:00
dependabot[bot] 77aca59dda Bump form-data from 4.0.3 to 4.0.4 (#26248)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 09:04:27 +02:00
renovate[bot] b86605949b Update dependency marked to v16.1.1 (#26247)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 09:08:42 +03:00
renovate[bot] cd19022e2e Update dependency eslint-config-prettier to v10.1.8 (#26246)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 09:08:17 +03:00
Petar Petrov 03368c1859 Improve Z-Wave firmware update dialog on device page (#26158)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-07-21 13:55:31 +00:00
Petar Petrov 8e0ed288e1 Tweak the color of sum/change lines in statistics chart (#26242) 2025-07-21 10:57:18 +02:00
Petar Petrov 879e0ed3d5 Show more details in statistics legend when only 1 entity (#26241) 2025-07-21 10:57:13 +02:00
renovate[bot] 657275fd17 Update dependency marked to v16.1.0 (#26238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 08:48:59 +03:00
Paul Bottein 3d1c908a01 Add support for multiple entities and hide_states option in state and attribute selectors (#26207)
* Add support for multiple entities and target for state selector

* Add support for multiple entities for attribute selector

* Improve context support

* Add combine mode and fix hidden and entity category for service control

* Don't use combine mode

* Refactor options
2025-07-21 08:48:25 +03:00
Norbert Rittel 713e8e7b71 Fix missing sentence-casing in Quickbar navigation items (#26224)
Fix missing sentence-casing in Quickbar navigation

Also replace one occurrence of "configuration" with "settings" as this is now it's menu title.
2025-07-20 10:17:48 +02:00
Petar Petrov 9e597d22a5 Handle predefined options in Z-Wave config panel (#26097)
* Handle predefined options in Z-Wave config panel

* use ha-combo-box

* lint

* display invalid status on the input

* show number and label

* compute items outside of render
2025-07-19 09:18:27 +03:00
Petar Petrov 259e8a14da Fix history for energy_storage device class (#26223) 2025-07-18 20:34:05 +02:00
renovate[bot] 4de4243b55 Update rspack monorepo to v1.4.8 (#26222)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 18:35:35 +02:00
Paul Bottein a667cb627b Add reorder option to entity selector (#26217) 2025-07-18 18:08:54 +02:00
Paul Bottein 9461634670 Fix interactions translation in area card editor (#26218) 2025-07-18 16:00:02 +02:00
Petar Petrov 51b79b33fb Disable network graph emphasis on mobile (#26106) 2025-07-18 14:04:22 +02:00
renovate[bot] 539884295b Update rspack monorepo to v1.4.7 (#26216)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 12:40:48 +02:00
Bram Kragten a885c7e358 Merge branch 'rc' 2025-07-18 10:32:20 +02:00
Bram Kragten fa968f49c1 Bumped version to 20250702.3 2025-07-18 10:32:06 +02:00
Petar Petrov cf3c40f5f7 Fix "Cancel exclusion" button for Z-Wave (#26188) 2025-07-18 10:31:56 +02:00
Petar Petrov 361474885f Fix entity renaming when adding a new device (#26177) 2025-07-18 10:31:55 +02:00
Petar Petrov 1e06046bd6 Fix number format in statistics charts (#26176)
fix number format in statistics charts
2025-07-18 10:31:54 +02:00
Petar Petrov 4c940e62f3 Fix entities link on integration page (#26167) 2025-07-18 10:31:53 +02:00
dcapslock 7631c409e1 Improve performance of Helpers config page (#26153) 2025-07-18 10:31:52 +02:00
Paul Bottein e1192403d9 Update card size icon for area strategy (#26213) 2025-07-18 10:22:37 +02:00
renovate[bot] f5c49c83a0 Update dependency @codemirror/view to v6.38.1 (#26214)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 10:22:16 +02:00
Petar Petrov faae7a2322 ZWaveJS network graph (#26112)
* ZwaveJS network visualization

* more progress

* working version

* lint

* remove unused code

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* remove "live" toggle and use deepEqual

* styling tweak

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-18 10:12:28 +02:00
Petar Petrov f6aa55ef74 Fix entities link on integration page (#26167) 2025-07-18 10:01:33 +02:00
Petar Petrov 1a0afc5079 Show more details on storage page (#26202) 2025-07-18 08:31:31 +02:00
Christoph 4a50ca4ea5 do not set "___ADD_NEW___" value in ha-area-picker (#26210) 2025-07-18 08:37:04 +03:00
Logan Rosen 6cb27ede09 Refresh store collection when adding or removing repository (#26174)
* Refresh store collection when adding new repository

* Remove store refresh from `hassio-addon-store`

* Only refresh store when adding/removing repositories
2025-07-18 08:35:41 +03:00
Petar Petrov 1b68c51a05 Add Sankey chart to the energy dashboard (#26192)
* Add Sankey chart to the energy dashboard

* hide floors & areas if there is an explicit hierarchy
2025-07-18 06:30:21 +02:00
renovate[bot] 5f2b11ca9f Update dependency typescript-eslint to v8.37.0 (#26211)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-18 06:08:59 +02:00
Tommy Goode ec6666a4ea Add 'state' option for secondary entity info on Entities card (#26201)
* add 'state' option for secondary entity info on Entities card

* Use formatEntityState instead of computeStateDisplay
2025-07-17 14:02:09 +00:00
Paul Bottein a10dbb64f0 Small improvements for area strategy editor (#26206) 2025-07-17 16:39:38 +03:00
Stefan Agner aa17be0e33 Add Supervisor unhealthy reason translations (#26190)
* Add Supervisor unhealthy reason translations

This adds translations for new Supervisor unhealthy reasons, including:
- `oserror_bad_message` (https://github.com/home-assistant/supervisor/pull/4750)
- `duplicate_os_installation` (https://github.com/home-assistant/supervisor/pull/6024)

While at it, sort the keys alphabetically for consistency.
2025-07-17 10:27:36 +02:00
Norbert Rittel a8919703ee Fix description of Picture elements card (#26203)
- change explanation from plural to singular to match first sentence
- remove the exclamation mark from the middle of the sentence and fix wrong capitalization
2025-07-17 11:01:36 +03:00
Norbert Rittel 1c66a5e437 Sentence-case "Enable state reporting" for Alexa (#26204)
Makes it consistent with identical `enable_state_reporting` string for `google`.
2025-07-17 11:00:33 +03:00
Paul Bottein 767d785d04 Increase area card default height when using camera and features (#26205) 2025-07-17 10:59:29 +03:00
Paul Bottein 0839528e22 Add option to change the area card size for area dashboard (#26199) 2025-07-17 09:07:24 +03:00
Norbert Rittel 1012245ef7 Different sentence-casing fixes in user-facing strings (#26200)
* Several casing fixes in en.json

* Include "Security Devices PIN"

* Include "Browser Media Player"
2025-07-17 09:03:00 +03:00
karwosts 0d6db8b834 Show picture-elements error messages for elements (#26196) 2025-07-17 09:01:42 +03:00
Petar Petrov adea2efb01 Fix "Cancel exclusion" button for Z-Wave (#26188) 2025-07-16 17:29:28 +02:00
dcapslock 818914b837 Include card error message in card error (#26184)
Pass card error message to createErrorCardElement
2025-07-16 17:28:42 +02:00
Paul Bottein b207528ecf Remove specific icons for area controls card features (#26195) 2025-07-16 17:27:05 +02:00
Norbert Rittel 039ef18d8c Fix spelling of "to log in to" (verb) and "login" (noun) (#26189)
Fix spelling of "to log in to" and "login"
2025-07-16 12:22:52 +03:00
Petar Petrov db387834f2 Fix entity renaming when adding a new device (#26177) 2025-07-16 11:00:49 +03:00
Petar Petrov 1b7d9f9e3b Remove vis-data dependency (#26186) 2025-07-16 08:42:37 +02:00
Paulus Schoutsen ed8c9f5ce5 AI Task automation save improvements (#26140)
* also assign category

* Extract Suggest AI button

* Add sick animation

* Show AI Task pref but disabled if not done loading

* Lint

* Update progress wording

* Define better interface

* Add My panel

* Adjust instructions to params.domain

* Mention sentence capitalization

* Update label when failure

* Keep width during suggestion
2025-07-16 08:20:37 +03:00
Norbert Rittel c3bf1d8770 Consistently capitalize "Companion" for the mobile apps (#26180) 2025-07-15 19:27:04 +02:00
Paul Bottein 7db4693082 Don't show members for legacy groups (#26179) 2025-07-15 17:05:38 +00:00
Petar Petrov 72a12a4ba4 Fix for charts with identically named entities (#26166)
* Fix for charts with identically named entities

* lint

* type fix
2025-07-15 19:01:58 +02:00
Paul Bottein aee9e4b0a5 Show group members in more info (#26178)
* Should group members in more info

* Fix flickering
2025-07-15 19:51:46 +03:00
Petar Petrov 55f6affc9e Fix number format in statistics charts (#26176)
fix number format in statistics charts
2025-07-15 18:40:23 +02:00
renovate[bot] 1e5f2f7215 Update dependency eslint to v9.31.0 (#26171)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-15 08:14:15 +03:00
renovate[bot] da864d5bb7 Update dependency lit-html to v3.3.1 (#26162)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 12:23:55 +02:00
Paul Bottein 8d60f39cf4 Improve aria support in control elements (#26107)
* Improve aria support in control elements

* Use radiogroup for control select

* Fix switch
2025-07-14 12:56:31 +03:00
renovate[bot] 2045519814 Update dependency @lit/reactive-element to v2.1.1 (#26159)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 08:35:27 +00:00
renovate[bot] 3f70e88a4f Update dependency lit to v3.3.1 (#26160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 11:27:40 +03:00
renovate[bot] 6ed5fbe102 Update dependency @lit-labs/observers to v2.0.6 (#26155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 11:26:43 +03:00
renovate[bot] 4e72d5083d Update dependency @lit/context to v1.1.6 (#26157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 11:25:55 +03:00
renovate[bot] f9e102e537 Update dependency @lit-labs/virtualizer to v2.1.1 (#26156)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 11:05:03 +03:00
renovate[bot] e54363875b Update dependency @lit-labs/motion to v1.0.9 (#26154)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-14 09:10:11 +03:00
dcapslock 1ce4e2a799 Improve performance of Helpers config page (#26153) 2025-07-14 08:42:37 +03:00
karwosts 80b86a89f0 Render energy-gas in the display unit of the sources (#26143) 2025-07-14 08:34:53 +03:00
renovate[bot] 1a316d251e Update rspack monorepo to v1.4.6 (#26148)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-13 09:00:49 +00:00
renovate[bot] a74f90b768 Update dependency luxon to v3.7.1 (#26147)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-13 10:51:09 +02:00
renovate[bot] fc6e457581 Update dependency @types/leaflet to v1.9.20 (#26142)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 23:25:08 +02:00
karwosts ad7b8b66f2 Render energy-water in the display unit of the sources (#26141)
Render energy-water in the display unit of the source
2025-07-11 19:31:27 +03:00
renovate[bot] 0714677a8a Update dependency hls.js to v1.6.7 (#26137)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 12:37:28 +02:00
renovate[bot] 0a946a5c43 Update rspack monorepo to v1.4.5 (#26138)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 12:37:04 +02:00
renovate[bot] 4930a8d88e Update dependency typescript-eslint to v8.36.0 (#26136)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-11 12:36:55 +02:00
Petar Petrov 8b781cec8e Handle disabled ZWave provisionning entries (#26132)
* Handle disabled ZWave provisionning entries

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-11 12:36:19 +02:00
Petar Petrov 065c98c5d7 "Add device" primary button on protocol integration pages (#26130) 2025-07-11 10:37:25 +03:00
Bram Kragten 6a3c58d20f Merge branch 'rc' 2025-07-10 21:35:08 +02:00
Bram Kragten a87afe9fb3 Bumped version to 20250702.2 2025-07-10 21:34:53 +02:00
Christoph 61fe8983f3 do not set "___ADD_NEW___" value in ha-floor-picker (#26102) 2025-07-10 21:34:33 +02:00
Ezra Freedman c10410ade3 Weather card smallest width is not set correctly (#26082)
set result.width, not result.height
2025-07-10 21:34:32 +02:00
Yosi Levy 761fded9e3 RTL fixes for 7-25 (#26074) 2025-07-10 21:34:32 +02:00
karwosts b87fbe7a1e Fix default range icon (#26069) 2025-07-10 21:34:31 +02:00
karwosts 7fdf824e97 Revert changes to persistent notification in sidebar (#25984) 2025-07-10 21:34:30 +02:00
karwosts 69d8eeb7db Revert changes to persistent notification in sidebar (#25984) 2025-07-10 21:33:33 +02:00
Norbert Rittel 3b7d2869e5 Fix sentence-casing of two "More Info" button labels (#26135)
Fix sentence-casing of two "More Info" buttons

- the one in the Dev tools opens the "More info" dialog for the entity, so it's changed to that dialog's name
- the one for Thread configuration opens href=${documentationUrl(this.hass, `/integrations/thread`)}
therefore it's changed to "More information"
2025-07-10 16:07:11 +00:00
renovate[bot] bcda5cd0cf Update dependency core-js to v3.44.0 (#26134)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 16:02:35 +00:00
renovate[bot] eeb64a25ff Update dependency @rsdoctor/rspack-plugin to v1.1.8 (#26133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-10 16:01:56 +00:00
Petar Petrov 9134132ba9 Only show loading for slow flow steps to avoid flickering (#26131) 2025-07-10 17:59:07 +02:00
karwosts 1ded254e5a Fix some weather-forecast card editor issues (#26125) 2025-07-10 11:27:37 +03:00
Christoph fc104a7992 add floor column to datatable in config devices page (#26103)
* add floor column to datatable in config devices page

* refactor conditions related to floor column in config devices page
2025-07-10 11:25:56 +03:00
karwosts e7e062a222 Pause map autofit when user initiates pan/zoom (#26114)
* Pause map autofit when user initiates pan/zoom

* not a state

* a different approach
2025-07-09 17:32:20 +03:00
Franck Nijhof 5233086efb Add Task issue form (#26121) 2025-07-09 14:14:37 +02:00
Christoph 8d95f0d95d add unit tests for common/url/search-params.ts (#26115) 2025-07-09 14:11:28 +03:00
karwosts 5cf8b39703 Coerce all energy distribution values to the same unit (#26117) 2025-07-09 14:06:47 +03:00
Franck Nijhof 15dabe372c Adjust feature request links in issue reporting (#26123) 2025-07-09 12:40:37 +02:00
renovate[bot] aab52a8bb2 Update dependency vis-data to v7.1.10 (#26122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-09 10:27:49 +00:00
Norbert Rittel aa52825b40 Capitalize "REST", remove excessive commas (#26109) 2025-07-08 12:57:30 +02:00
Christoph 2809a306e6 do not set "___ADD_NEW___" value in ha-floor-picker (#26102) 2025-07-08 12:40:24 +02:00
renovate[bot] a6304d6284 Update rspack monorepo to v1.4.4 (#26105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-08 08:50:51 +03:00
Paul Bottein 8e866e86d6 Use query params instead of path for media browser navigate ids (#26099) 2025-07-08 08:50:28 +03:00
Kevin Lakotko 2e8203f666 Sort groups if same as sort column (#26010)
* fix(grouping): if sorted by column sort group

* chore: use props to group for memoization
2025-07-07 19:23:27 +03:00
Paulus Schoutsen b60f2e3201 Add extra margin AI Task pref (#26096)
Add extra margin AI Task
2025-07-07 12:11:35 +03:00
renovate[bot] c5f57f436c Update rspack monorepo to v1.4.3 (#26093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-07 10:17:53 +03:00
steinmn 3bb930b906 Fix flickering Edit sidebar dialog by locking content padding (#26084)
Fix flickering Edit sidebar dialog
2025-07-07 05:29:25 +00:00
Ezra Freedman e75331e159 Weather card smallest width is not set correctly (#26082)
set result.width, not result.height
2025-07-06 10:12:59 +02:00
renovate[bot] d6b66a7145 Update dependency @rsdoctor/rspack-plugin to v1.1.7 (#26087)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-06 08:07:11 +00:00
Yosi Levy 5c346798c8 RTL fixes for 7-25 (#26074) 2025-07-06 10:04:09 +02:00
renovate[bot] 5ffe37407a Update dependency hls.js to v1.6.6 (#26085)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-06 09:58:49 +02:00
renovate[bot] 2b056c0434 Update dependency @lokalise/node-api to v14.9.1 (#26081)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-06 09:58:06 +02:00
Paulus Schoutsen 27b36707e5 Automation save dialog to suggest name, description and labels (#26071)
* AI Task structure

* Suggest description and labels too
2025-07-06 09:57:16 +02:00
renovate[bot] 5760614b65 Update babel monorepo to v7.28.0 (#26079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-05 12:17:24 +02:00
renovate[bot] 3835912b01 Update dependency @rsdoctor/rspack-plugin to v1.1.6 (#26078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-05 12:14:01 +02:00
Petar Petrov a385655c85 Remove deprecated dependency @types/glob (#26075) 2025-07-05 08:27:41 +02:00
karwosts e177012108 Fix default range icon (#26069) 2025-07-04 23:34:38 +02:00
renovate[bot] cc3234ad8f Update dependency eslint to v9.30.1 (#26072)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 22:47:44 +02:00
karwosts 4d932f0b4a Support translating number selector UoM (#26070) 2025-07-04 21:06:49 +03:00
renovate[bot] 257769cdc7 Update dependency globals to v16.3.0 (#26068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 18:42:09 +02:00
renovate[bot] 6619f064eb Update dependency @lokalise/node-api to v14.9.0 (#26067)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 15:12:03 +02:00
renovate[bot] 382a47a082 Update rspack monorepo to v1.4.2 (#26066)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 15:11:40 +02:00
Bram Kragten fe946eb75b Merge branch 'rc' 2025-07-04 13:53:23 +02:00
Bram Kragten 3bfbe4bde6 Bumped version to 20250702.1 2025-07-04 13:53:08 +02:00
c0ffeeca7 7963a97358 Terminology: change controller to adapter (#26051)
* Terminology: change controller to adapter

* Update src/translations/en.json

Co-authored-by: AlCalzone <d.griesel@gmx.net>

* Apply suggestions from code review

---------

Co-authored-by: AlCalzone <d.griesel@gmx.net>
2025-07-04 13:52:37 +02:00
Ezra Freedman 0ed2b5966e Prevent uncaught TypeError on HuiWeatherForecastCard render (#26038) 2025-07-04 13:52:37 +02:00
Paul Bottein 70c5f77aa7 Fix play media action (#26035) 2025-07-04 13:52:36 +02:00
Paul Bottein 1013647249 Fix zoom in statistic chart (#26034) 2025-07-04 13:52:35 +02:00
Paul Bottein 45e9c51525 Reduce media selector size (#26033) 2025-07-04 13:52:34 +02:00
renovate[bot] ad4be75fe1 Update dependency typescript-eslint to v8.35.1 (#26058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-04 10:16:33 +03:00
Ezra Freedman d605b67b41 Prevent uncaught TypeError on HuiWeatherForecastCard render (#26038) 2025-07-03 21:19:48 +02:00
renovate[bot] dba6a3c756 Update fullcalendar monorepo to v6.1.18 (#26047)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-03 17:14:49 +03:00
c0ffeeca7 002e9ad071 Terminology: change controller to adapter (#26051)
* Terminology: change controller to adapter

* Update src/translations/en.json

Co-authored-by: AlCalzone <d.griesel@gmx.net>

* Apply suggestions from code review

---------

Co-authored-by: AlCalzone <d.griesel@gmx.net>
2025-07-03 15:51:35 +02:00
Paul Bottein 6e7874c2c9 Fix play media action (#26035) 2025-07-02 19:30:06 +02:00
Paul Bottein 978f9b0f83 Reduce media selector size (#26033) 2025-07-02 18:08:31 +02:00
renovate[bot] 2b88669a72 Update dependency eslint-plugin-lit-a11y to v5.1.0 (#26020)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 17:20:13 +02:00
renovate[bot] 252fd2bb6c Update dependency @bundle-stats/plugin-webpack-filter to v4.21.0 (#26032)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-02 17:19:41 +02:00
Paul Bottein cc68a087a2 Fix zoom in statistic chart (#26034) 2025-07-02 17:18:39 +02:00
Bram Kragten bbe3a9e0c2 Merge branch 'rc' 2025-07-02 13:45:20 +02:00
Bram Kragten 33ea02208a Bumped version to 20250702.0 2025-07-02 13:44:53 +02:00
Bram Kragten cf531cd935 Disable fullscreen in trigger detail dialog (#26030) 2025-07-02 13:44:27 +02:00
Paul Bottein 232649c0cd Improve styling of the code editor in fullscreen mode (#26029) 2025-07-02 13:44:26 +02:00
Bram Kragten 1db8ef37a2 Dont fetch device actions on first updated (#26028) 2025-07-02 13:44:25 +02:00
Paul Bottein eecd765d09 Fix UI jump when using drag and drop in areas strategy editor (#26026) 2025-07-02 13:44:25 +02:00
Paul Bottein 3d75831623 Add missing domain icon import in area controls (#26023) 2025-07-02 13:44:24 +02:00
Paul Bottein c1934e0b9a Add missing area helper (#26022) 2025-07-02 13:44:23 +02:00
karwosts c0e9c3b9dc Fix glitchy 'show' checkboxes on integration page (#26021) 2025-07-02 13:44:22 +02:00
karwosts 3e1341a731 Fix glitchy 'show' checkboxes on integration page (#26021) 2025-07-02 13:43:06 +02:00
Bram Kragten 6be25270fd Dont fetch device actions on first updated (#26028) 2025-07-02 13:42:21 +02:00
Bram Kragten ce929aea46 Disable fullscreen in trigger detail dialog (#26030) 2025-07-02 13:41:52 +02:00
Paul Bottein 8853bf6ea2 Improve styling of the code editor in fullscreen mode (#26029) 2025-07-02 13:41:26 +02:00
Paul Bottein 2241807745 Fix UI jump when using drag and drop in areas strategy editor (#26026) 2025-07-02 09:03:21 +00:00
Paul Bottein 50d705c943 Add missing domain icon import in area controls (#26023) 2025-07-01 21:47:20 +02:00
Paul Bottein eb111d3c32 Add missing area helper (#26022) 2025-07-01 21:46:58 +02:00
Paul Bottein c3f0bba4a3 20250701.0 (#26019) 2025-07-01 15:04:35 +02:00
Paul Bottein 0026ee7563 Bumped version to 20250701.0 2025-07-01 15:02:51 +02:00
Paul Bottein 61f1c8cbd4 Force narrow style for action, condition and trigger in blueprint (#26018) 2025-07-01 15:02:17 +02:00
Paul Bottein e0b32ea789 Increase target area in tile card and area card (#26017) 2025-07-01 15:02:17 +02:00
Paul Bottein 96bbfe8a93 Add dashboard title to strategy editor (#26015) 2025-07-01 15:02:16 +02:00
Paul Bottein 93837f01f7 Avoid selector to take to much space in action calls (#26014) 2025-07-01 15:02:15 +02:00
Ezra Freedman d0737082a5 Fix translation in the integration page for entities (#26009)
add call to localize
2025-07-01 15:02:14 +02:00
Paul Bottein 57da4d3499 Fix object selector not displayed (#26007) 2025-07-01 15:02:13 +02:00
Paul Bottein 6e84fee791 Do not display quality scale for custom integrations (#26006) 2025-07-01 15:02:12 +02:00
Paul Bottein 2e223e637b Improve device row in integration page (#26005)
Improve device row in config entry page
2025-07-01 15:02:11 +02:00
Paul Bottein 3e45821fd0 Allow to re-order floors in areas dashboard (#26002)
* Allow to re-order floors in areas dashboard

* Move drag handle to right

* Improve typings

* Only show drag handle if there is at least 2 floors
2025-07-01 15:02:10 +02:00
Simon Lamon b16087d5b5 Fix fullscreen yaml editor (transparency background) (#25989)
Fix fullscreen editor (transparency background)
2025-07-01 15:02:10 +02:00
Norbert Rittel 6300bfb200 Fix grammar of Light, Sensor and Tile card descriptions (#25988)
* Fix grammar of Light, Sensor and Entity card descriptions

* Capitalize "Tile card" as a name

* Apply same change to Entity badge description
2025-07-01 15:02:09 +02:00
Simon Lamon 05a9f69c9e Pass area control service calls through hass (#25986)
Connection logging
2025-07-01 15:02:08 +02:00
Norbert Rittel e306e29d95 Fix sentence-casing, spelling and grammar issues (#25981)
* Fix sentence-casing, spelling and grammar issues

* Add "IP information" to the list

* More sentence-casing issues
2025-07-01 15:02:07 +02:00
Norbert Rittel 619974ffdb Dev Tools: Remove excessive space from "Input date times" (#25973)
Remove excessive space from "input date times"
2025-07-01 15:02:06 +02:00
Paul Bottein 6f753c4909 Use entity format state if only one entity for that domain in the area card (#25964)
Use entity format state if only one entity is area card
2025-07-01 15:02:05 +02:00
Paul Bottein 1e59f9f4be Increase target area in tile card and area card (#26017) 2025-07-01 14:34:19 +02:00
Paul Bottein 523eb9522f Add dashboard title to strategy editor (#26015) 2025-07-01 14:33:36 +02:00
Paul Bottein f6cb322819 Avoid selector to take to much space in action calls (#26014) 2025-07-01 14:32:54 +02:00
Paul Bottein 4f97756f4e Force narrow style for action, condition and trigger in blueprint (#26018) 2025-07-01 15:22:55 +03:00
Ezra Freedman 8644dd5271 Fix translation in the integration page for entities (#26009)
add call to localize
2025-07-01 06:48:13 +00:00
renovate[bot] 26d842f432 Update dependency @babel/helper-define-polyfill-provider to v0.6.5 (#26008)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 08:34:48 +02:00
renovate[bot] ad4f14ffaf Update dependency eslint to v9.30.0 (#26012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-01 08:31:30 +02:00
Paul Bottein 948c858e78 Fix object selector not displayed (#26007) 2025-06-30 16:15:37 +00:00
Paul Bottein 49099223d3 Do not display quality scale for custom integrations (#26006) 2025-06-30 16:10:08 +00:00
Paul Bottein 0fbd430594 Allow to re-order floors in areas dashboard (#26002)
* Allow to re-order floors in areas dashboard

* Move drag handle to right

* Improve typings

* Only show drag handle if there is at least 2 floors
2025-06-30 16:09:42 +00:00
Kevin Lakotko 8cc762d839 Fix use of numeric option for collator (#25917)
* fix(string): use numeric option for collator

* test: add natural sort comparison tests
2025-06-30 18:00:45 +02:00
Paul Bottein 89d9dd2893 Improve device row in integration page (#26005)
Improve device row in config entry page
2025-06-30 17:44:50 +02:00
renovate[bot] b7d1ce1c37 Update rspack monorepo to v1.4.1 (#26001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 17:22:39 +02:00
renovate[bot] 869d10ca3f Update CodeMirror (#26003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 17:22:09 +02:00
Simon Lamon f338089148 Pass area control service calls through hass (#25986)
Connection logging
2025-06-30 14:59:15 +02:00
renovate[bot] 06b0f9fcaf Update dependency @rsdoctor/rspack-plugin to v1.1.5 (#26000)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 13:49:05 +02:00
Simon Lamon 7ad07e4c55 Fix fullscreen yaml editor (transparency background) (#25989)
Fix fullscreen editor (transparency background)
2025-06-30 14:16:59 +03:00
renovate[bot] ad65600d11 Update dependency marked to v16 (#25997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-30 14:15:16 +03:00
renovate[bot] e91d907e56 Update dependency prettier to v3.6.2 (#25996) 2025-06-30 08:26:28 +02:00
renovate[bot] b35a1fc9e0 Update dependency @babel/core to v7.27.7 (#25992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-29 20:54:40 +03:00
renovate[bot] dd18ad96f3 Update dependency gulp-rename to v2.1.0 (#25985)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-29 17:16:40 +02:00
Norbert Rittel 62eec56e5f Fix grammar of Light, Sensor and Tile card descriptions (#25988)
* Fix grammar of Light, Sensor and Entity card descriptions

* Capitalize "Tile card" as a name

* Apply same change to Entity badge description
2025-06-29 17:16:09 +02:00
renovate[bot] 7187e25cad Update rspack monorepo to v1.4.0 (#25987)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-29 11:06:34 +02:00
Norbert Rittel 6d9e6a616d Fix sentence-casing, spelling and grammar issues (#25981)
* Fix sentence-casing, spelling and grammar issues

* Add "IP information" to the list

* More sentence-casing issues
2025-06-29 09:25:29 +02:00
renovate[bot] 44d87e3c66 Update dependency barcode-detector to v3.0.5 (#25980)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-28 17:41:15 +02:00
renovate[bot] 085e2460bc Update dependency prettier to v3.6.1 (#25978)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-28 17:40:47 +02:00
karwosts 1f8a9e4caf Improve settings page accessibility (No. 2) (#25965) 2025-06-27 19:38:11 +02:00
Franck Nijhof f08877437e Add initial instructions file for GitHub Copilot and Claude Code (#25967) 2025-06-27 18:06:23 +02:00
renovate[bot] 6690d1ef22 Update dependency @types/leaflet to v1.9.19 (#25974)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 17:54:52 +02:00
Paul Bottein 9d8a5b366e Use entity format state if only one entity for that domain in the area card (#25964)
Use entity format state if only one entity is area card
2025-06-27 17:41:58 +02:00
Franck Nijhof 22c798c9d6 Add Claude to gitignore (#25966) 2025-06-27 15:59:14 +02:00
Norbert Rittel 8aabb1f32f Dev Tools: Remove excessive space from "Input date times" (#25973)
Remove excessive space from "input date times"
2025-06-27 15:57:52 +02:00
renovate[bot] 33d5cecc85 Update dependency ua-parser-js to v2.0.4 (#25968)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-27 15:12:14 +03:00
Paul Bottein a0a2b5f065 20250627.0 (#25971) 2025-06-27 13:51:57 +02:00
Paul Bottein 5430325127 Bumped version to 20250627.0 2025-06-27 13:50:14 +02:00
Paul Bottein 56d3cf7f1e Use areas dashboard name in the top bar (#25969) 2025-06-27 13:49:10 +02:00
Paul Bottein b39e9c38b9 Bump vaadin to 24.7.9 (#25963) 2025-06-27 13:49:09 +02:00
Bram Kragten c065efc52f Disable fullscreen editor for editors that are already fullscreen (#25959)
* Disabled fullscreen editor for editors that are already fullscreen

* Update ha-code-editor.ts
2025-06-27 13:49:08 +02:00
Paul Bottein caaec7d34d Fix expand icon for entries and sub entries (#25955) 2025-06-27 13:49:07 +02:00
Paul Bottein 7693a4dc24 Use areas dashboard name in the top bar (#25969) 2025-06-27 10:40:15 +02:00
Paul Bottein 9ec38c7dd9 Bump vaadin to 24.7.9 (#25963) 2025-06-26 21:22:06 +00:00
Bram Kragten e8cb85f7ff Disable fullscreen editor for editors that are already fullscreen (#25959)
* Disabled fullscreen editor for editors that are already fullscreen

* Update ha-code-editor.ts
2025-06-26 23:17:30 +02:00
renovate[bot] ef964a2717 Update dependency typescript-eslint to v8.35.0 (#25956) 2025-06-26 19:32:39 +02:00
Paul Bottein 369881f8a6 Fix expand icon for entries and sub entries (#25955) 2025-06-26 19:21:15 +02:00
Bram Kragten 76509d8bd4 Bumped version to 20250626.0 2025-06-26 16:44:40 +02:00
Paul Bottein 11fcab87d4 Revert vaadin to 24.7.7 (#25953) 2025-06-26 16:44:05 +02:00
Paul Bottein bfa0b8c0fc Don't limit combo-box dropdown size (#25952) 2025-06-26 16:44:04 +02:00
Bram Kragten f54312a7bc Load title when fetching flow (#25951) 2025-06-26 16:44:03 +02:00
Bram Kragten 8ff3f7733f Fix filtering on device in entities config panel (#25948)
* Fix filtering on device in entities config panel

* fix

* set filters from url twice to catch race...
2025-06-26 16:44:02 +02:00
Paul Bottein def8e8a713 Disable escape key to close edit card dialog (#25947) 2025-06-26 16:44:01 +02:00
Bram Kragten e675283fcc Add label to version number (#25942)
Add label
2025-06-26 16:44:00 +02:00
Bram Kragten 1900cce7f9 make sure header is always shown in data entry flow (#25941) 2025-06-26 16:44:00 +02:00
Bram Kragten 8e2c943dff add version number to integration page (#25940)
* add version number to integration page

* Update ha-config-integration-page.ts
2025-06-26 16:43:59 +02:00
Bram Kragten 8c5beb724f Use different icon for services (#25939) 2025-06-26 16:43:58 +02:00
Paul Bottein b9fb981fb2 Remove alert classes and only use slot sensors for areas dashboard (#25937)
* Remove alert classes and only used slot sensors for areas dashboard

* Rename group to sensors

* Rename group to sensors
2025-06-26 16:43:57 +02:00
Paul Bottein 3456aa96e8 Better handle case when no floors in areas dashboard (#25933) 2025-06-26 16:43:56 +02:00
Eric Stern e88d9a1ffb Fix logbook stream subscription (#25927) 2025-06-26 16:43:56 +02:00
Paulus Schoutsen 0b488e1ffd Fix wrapping of add subentry buttons (#25925) 2025-06-26 16:43:55 +02:00
Paulus Schoutsen 47aea824aa Make the config entry row section wider on mobile (#25924) 2025-06-26 16:43:54 +02:00
Bram Kragten 570c63c50a Prevent overflow of ripple on device row on integration page (#25922) 2025-06-26 16:43:53 +02:00
Bram Kragten d9a3a27245 Dont show internal quality scale (#25921)
dont show internal quality scale
2025-06-26 16:43:52 +02:00
Bram Kragten 3d1a3e2335 Only show own devices when there are devices... (#25920)
only show own devices when there are devices...
2025-06-26 16:43:51 +02:00
Bram Kragten 42815c4d5e Update confirm disable messages (#25919) 2025-06-26 16:43:50 +02:00
Bram Kragten 68e22d23f1 Fix filtering on device in entities config panel (#25948)
* Fix filtering on device in entities config panel

* fix

* set filters from url twice to catch race...
2025-06-26 16:42:11 +02:00
Paul Bottein 696ba69a9e Revert vaadin to 24.7.7 (#25953) 2025-06-26 14:41:58 +00:00
Paul Bottein e2ab52e10e Don't limit combo-box dropdown size (#25952) 2025-06-26 14:12:07 +00:00
Bram Kragten b154bc1502 Load title when fetching flow (#25951) 2025-06-26 14:07:46 +00:00
Paul Bottein a952b880d8 Disable escape key to close edit card dialog (#25947) 2025-06-26 15:25:26 +02:00
Bram Kragten 018aceb542 Add label to version number (#25942)
Add label
2025-06-26 15:38:33 +03:00
Bram Kragten 2fb86f118e make sure header is always shown in data entry flow (#25941) 2025-06-26 11:07:08 +00:00
Bram Kragten 6c8caccfec Use different icon for services (#25939) 2025-06-26 13:05:28 +02:00
Paul Bottein 3dd3a80054 Remove alert classes and only use slot sensors for areas dashboard (#25937)
* Remove alert classes and only used slot sensors for areas dashboard

* Rename group to sensors

* Rename group to sensors
2025-06-26 13:05:05 +02:00
Bram Kragten 675310afdf add version number to integration page (#25940)
* add version number to integration page

* Update ha-config-integration-page.ts
2025-06-26 11:04:13 +00:00
Paul Bottein f5df91d4c7 Better handle case when no floors in areas dashboard (#25933) 2025-06-26 12:18:34 +02:00
Bram Kragten d8ab9b73ba Prevent overflow of ripple on device row on integration page (#25922) 2025-06-26 12:17:00 +02:00
renovate[bot] 89ab0b4a3d Update dependency prettier to v3.6.0 (#25930)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-26 10:18:03 +02:00
Eric Stern dd4cb1df72 Fix logbook stream subscription (#25927) 2025-06-26 09:42:43 +02:00
Paulus Schoutsen b81cd37776 Make the config entry row section wider on mobile (#25924) 2025-06-26 09:41:39 +02:00
Paulus Schoutsen 34112e7446 Fix wrapping of add subentry buttons (#25925) 2025-06-26 09:41:10 +02:00
Bram Kragten 2dee45b465 Update confirm disable messages (#25919) 2025-06-26 08:57:16 +03:00
Norbert Rittel 10eb0a8b87 Deduplicate weekdays in time conditions (#25915)
Replace weekdays conditions with references to common ui strings
2025-06-26 08:55:46 +03:00
Bram Kragten 551035238f Dont show internal quality scale (#25921)
dont show internal quality scale
2025-06-25 17:34:12 -04:00
Bram Kragten eb9359e9e1 Only show own devices when there are devices... (#25920)
only show own devices when there are devices...
2025-06-25 17:31:43 -04:00
Bram Kragten df2523a6a2 Merge branch 'rc' into dev 2025-06-25 17:25:23 +02:00
Bram Kragten edb1e1bba7 Bumped version to 20250625.0 2025-06-25 17:24:02 +02:00
Bram Kragten e5bc234ab3 make debug mode better visible, improve disabling device (#25910) 2025-06-25 17:23:22 +02:00
ildar170975 6006e926a7 fix hui-panel-view for a "warning_multiple_cards" (#25899) 2025-06-25 17:20:14 +02:00
Petar Petrov 93df473ad2 Translate select options in config flows (#25911) 2025-06-25 17:18:29 +02:00
Paul Bottein af149dcfab Move exclude entities config to area card (#25909) 2025-06-25 16:18:47 +02:00
karwosts 3ab6a02994 Improve settings page accessibility (#25885) 2025-06-25 13:35:14 +00:00
Leon e7a04eb3d2 Short-format negative and small numbers in energy-distribution-card (#25862) 2025-06-25 13:22:21 +00:00
karwosts 2dfe5f50a6 Support templates in action target (#25656) 2025-06-25 15:20:53 +02:00
Paul Bottein 174d54396f Add cover controls to area card and improve areas dashboard (#25892) 2025-06-25 13:14:41 +00:00
karwosts 5c1a8029bf Fix entity selector slicing value on load (#25854) 2025-06-25 15:11:23 +02:00
Franck Nijhof 884341656f Add full-screen button to code editors (#25903) 2025-06-25 13:07:31 +00:00
Bram Kragten fcbc8de95a Update device row in integration page (#25907)
* Update ha-config-entry-device-row.ts

* Update src/panels/config/integrations/ha-config-entry-device-row.ts

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-06-25 12:16:11 +00:00
Paul Bottein f90eb4fee0 Exclude entities in controls for areas dashboard (#25906) 2025-06-25 13:50:21 +03:00
Paulus Schoutsen 9afc4260c9 Move AI task prefs to system -> general (#25904)
Move AI task prefs
2025-06-25 08:27:09 +03:00
Franck Nijhof 3aafa47f6d Improve Entity ID auto-complete in YAML mode (#25901) 2025-06-24 16:22:31 -04:00
Paulus Schoutsen 35ba2fffda Also show sub entry services when sub entry expanded (#25900) 2025-06-24 19:46:47 +02:00
Paul Bottein 31bc708725 Improve alerts padding in area card (#25897) 2025-06-24 16:09:56 +00:00
Franck Nijhof caa60e4e8c Fix warnings raised when migrating incomplete automation configuration (#25898) 2025-06-24 18:02:45 +02:00
Paul Bottein edcca81acc Group area per floor in the areas strategy editor (#25895) 2025-06-24 15:28:46 +02:00
Stefan Agner 508e451f94 Add container arch to system health data (#25896) 2025-06-24 15:27:52 +02:00
Bram Kragten bfcc36bb40 Update integration page layout (#25880) 2025-06-24 15:27:07 +02:00
Petar Petrov 976bf7c512 Update buttons in Z-Wave firmware update dialog (#25894)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-06-24 15:20:30 +02:00
Petar Petrov fb28c8971b Update Z-Wave text (#25893) 2025-06-24 14:31:26 +02:00
Paul Bottein 641a2eb77c Use area card in area strategy (#25879)
* Bring area card to area strategy

* Add device classes

* Use subview
2025-06-24 14:46:12 +03:00
Bram Kragten 47b90feffa Bumped version to 20250531.4 2025-06-24 09:58:11 +02:00
Paul Bottein 45e66d8b6e Don't send double card updated event when rendering the card (#25883) 2025-06-24 09:56:53 +02:00
Petar Petrov 73cd1e8e9d Fix duplicated requests in statistics-graph (#25878) 2025-06-24 09:56:52 +02:00
Petar Petrov 1a8ff83e2d Another fix for history chart axis rounding (#25852) 2025-06-24 09:56:51 +02:00
Petar Petrov e6fbe0d538 Round chart limits with fit_y_data (#25851) 2025-06-24 09:56:51 +02:00
Paul Bottein 5ac6781f7d Remove debug type in secondary line in statistic picker (#25835) 2025-06-24 09:56:50 +02:00
Petar Petrov 7f7e693547 Fix bar chart data order when using the legend (#25832)
* Fix bar chart data order when using the legend

* type fix
2025-06-24 09:56:49 +02:00
Paul Bottein 51246f119c Fix disabled color in dark mode in production (#25818) 2025-06-24 09:56:48 +02:00
Anthony Relle d764187e8c Update ElectricityMaps URL in Energy Dashboard (#25816)
fix: update electricitymap domain
2025-06-24 09:56:47 +02:00
Petar Petrov 6738b7d708 Fix sankey total calculation to account for included_in_stat (#25805) 2025-06-24 09:56:47 +02:00
Petar Petrov 77c458a0e5 Reduce reset-zoom button size on timeline charts (#25796) 2025-06-24 09:56:46 +02:00
ildar170975 876e36b4e0 hui-graph-footer-editor: add margin to ha-switch to prevent a scrollbar (#25645)
* add padding-bottom to card-config to prevent a scrollbar

* revert padding for card-config

* add margin to ha-switch

* revert margin for ha-switch

* set margin for ha-switch
2025-06-24 08:27:16 +03:00
Paul Bottein dd64fa228c Add color options to area card (#25881)
* Add color options to area card

* Color all controls with the same color

* Clean area card
2025-06-24 08:23:58 +03:00
renovate[bot] b3f5eb256f Update dependency eslint-plugin-import to v2.32.0 (#25890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-24 06:25:30 +02:00
ildar170975 a5005c0840 Device page: sort related automations, scenes, scripts (#24742)
* sort related items

* use memoize for sorted _related

* fix for "_entities" & "_getEntitiesSorted"
2025-06-24 06:25:09 +02:00
Paul Bottein c73122d7ee Don't send double card updated event when rendering the card (#25883) 2025-06-23 14:10:27 +02:00
Petar Petrov 82da36825e Fix duplicated requests in statistics-graph (#25878) 2025-06-23 11:25:46 +02:00
Petar Petrov 3e2a5bff4d Zwave delete device button on device page (#25766)
* Handle ZWaveJS device delete in frontend according to status

* finishing touches

* Fix custom value selected when clicking item in combo box (#25734)

* Assist Chat: handle intent progress delta not always being there (#25730)

handle intent progress data type change

* More support for no-grid energy dashboard (#25644)

* More support for no-grid energy dashboard

* Update src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* lint

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Z-Wave: apply sentence-style capitalization (#25739)

* Display full error for card preview mode (#25747)

* Fix edit card not working in chrome after editing (#25751)

* Change backup type order (#25759)

* Fix alerts refresh on device page (#25748)

* Fix alerts refresh on device page

* don't reset actions periodically

* reset stuff only on deviceId change

* Ensure grid options always return an object (#25760)

Assist Chat: handle intent progress delta not always being there (#25730)

handle intent progress data type change

More support for no-grid energy dashboard (#25644)

* More support for no-grid energy dashboard

* Update src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* lint

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

Z-Wave: apply sentence-style capitalization (#25739)

Display full error for card preview mode (#25747)

Fix edit card not working in chrome after editing (#25751)

Change backup type order (#25759)

Fix alerts refresh on device page (#25748)

* Fix alerts refresh on device page

* don't reset actions periodically

* reset stuff only on deviceId change

Ensure grid options always return an object (#25760)

* fix merge issue

* lint

* Update text and buttons

* Update src/translations/en.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* update text

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com>
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-23 11:07:19 +03:00
Paulus Schoutsen 1349d9d8e3 Hide AI Task from default dashboard (#25877) 2025-06-23 09:40:16 +02:00
Petar Petrov f6f2cb0fce Round chart limits with fit_y_data (#25851) 2025-06-23 08:42:54 +03:00
Paulus Schoutsen 589fa75b17 Add support for accept keyword in media selector (#25808) 2025-06-22 14:02:39 -04:00
renovate[bot] fdd6ccf379 Update dependency @rsdoctor/rspack-plugin to v1.1.4 (#25868)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-22 18:48:32 +03:00
Petar Petrov f50d5d79a4 Another fix for history chart axis rounding (#25852) 2025-06-22 12:11:29 +02:00
iluvdata ad589b32c9 allow previews in config_subentries_flow (#25859) 2025-06-21 08:09:13 +00:00
renovate[bot] 1990472970 Lock file maintenance (#25838)
* Lock file maintenance
2025-06-20 20:43:30 +00:00
Norbert Rittel 299713fd5e Fix inconsistently spelled occurrences of "add-on" (#25858)
* Fix inconsistently spelled occurrences of "add-on"

- add the missing hyphen on three occurrences of "addon"
- change one occurrence of "Add-on" to lowercase

* Also capitalize one inconsistent occurrence of "Ingress"
2025-06-20 22:09:09 +02:00
renovate[bot] a13dae4745 Update vitest monorepo to v3.2.4 (#25857)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 18:30:39 +00:00
Paulus Schoutsen 8324c23618 Update people dashboard intro (#25856) 2025-06-20 20:30:25 +02:00
Norbert Rittel 9c8d6a939b Fix spelling of "to log in", "to set up" and more (#25855)
- add missing space to "log in" where it's the verb
- add missing space to "set up" where it's the verb
- fix sentence-casing of "Create area"
- fix spelling of "ID" as abbreviation
2025-06-20 20:20:00 +02:00
Paulus Schoutsen 1059b519af Add LLM Task to suggest automation name (#25778)
* Add AI Task to suggest automation name

* Use state and update styling
2025-06-20 12:07:47 -04:00
Paulus Schoutsen 52a02093e3 Allow changing LLM Task preferences (#25779)
* Allow changing LLM Task preferences

* value-changed
2025-06-20 12:07:29 -04:00
Paul Bottein b608bd949b Add fields and multiple support to object selector (#25843)
* Add schema and multiple for object selector

* Add selector to gallery

* Fix description

* Improve formatting

* Add ellipsis

* Update fields instead of schema

* Update gallery

* Update format

* Fix format value

* Fix dialog size
2025-06-20 15:48:59 +02:00
Paul Bottein f87e20cae9 Redesign area card (#25802)
* Use entity filter to get device classes in editor

* Add name and sensor states to area card

* Fix area type

* Add basic controls

* Fix editor

* Add image

* Add image type

* Add translation key for area controls

* Improve editor

* Fix unknown entity id in area

* Fix default feature position

* Add alert badge

* Add helper

* Display all alerts when using big card

* Disable covers and re-enable switches

* Filter compatible controls

* Use state icon for alerts

* Rename to display type

* Delete deprecated show camera

* Fix aspect ratio

* Improve helper

* Undo domain icon changes

* Undo domain icon changes

* Update types

* Fix translation cases

* Fix card size

* Feedback

* Don't fallback to compact

* Use plural form

* Refactor active color
2025-06-20 15:33:26 +02:00
renovate[bot] d58186fec9 Update dependency typescript-eslint to v8.34.1 (#25848)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-20 15:01:44 +03:00
Bastian f47336392c Fix/dhcp config network sort (#25799)
* Add ip sort method to compare helper

* Add ip sort functionality to dhcp config panel datatable

* Add type ip to DataTableColumnData

* Change ip sorting to padStart method for better readablity

* Rename ip compare method to clarify ipv4

* Enhance IP compare method to include ipv6

* Add compare IP test
2025-06-20 15:01:02 +03:00
karwosts e9272b9a27 Remove gray colors from chart color set (#25844) 2025-06-20 13:50:12 +02:00
Norbert Rittel b20d489bdd Fix sentence-casing of Z-Wave strings (#25846)
* Fix sentence-casing of Z-Wave strings

* Also fix casing of "Z-Wave JS Device Database"
2025-06-19 21:29:07 +02:00
Petar Petrov f7634c45c2 Fix bar chart data order when using the legend (#25832)
* Fix bar chart data order when using the legend

* type fix
2025-06-19 17:49:58 +02:00
renovate[bot] 8ee80586a8 Update vaadinWebComponents monorepo to v24.8.0 (#25842)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-19 16:12:02 +02:00
Bram Kragten 6aa8a24aad Fix for my links ending with a slash (#25841) 2025-06-19 15:51:11 +03:00
Norbert Rittel 65e78de41c Improve explanation of 'Ping a Matter device' dialog (#25839)
* Fix explanation of 'Ping a Matter device' dialog

- change to more descriptive wording using third-person singular
- replace first "on" with "of" to clarify (currently "on" contradicts "server-side")
- remove the wrong hyphen in "IP-addresses"
2025-06-19 11:00:22 +00:00
Norbert Rittel 573c1db081 Add hyphen to all compounds with "-powered" (#25840) 2025-06-19 12:49:07 +02:00
Paul Bottein cf03e041a8 Fix combobox helper (#25834)
* Fix combobox helper

* Pass disabled to all helpers
2025-06-18 17:57:11 +02:00
Paul Bottein b4dbfa6f70 Remove debug type in secondary line in statistic picker (#25835) 2025-06-18 15:44:27 +00:00
Bastian 723bb4dfeb Change duration input to ha-time-input component (#25800)
* Change duration input to ha-time-input component

* Change ha-time-input to duration-input component

* Add DurationDict to ForDict cast
2025-06-18 15:31:15 +00:00
renovate[bot] 98dcce6af1 Update dependency lint-staged to v16.1.2 (#25833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-18 17:24:40 +02:00
karwosts e3cdd69835 Display yaml errors in all ha-yaml-editor (#25819) 2025-06-18 09:32:06 +03:00
karwosts 0ddf3aa675 Uncap width of ha-statistics-picker (#25822) 2025-06-17 21:12:50 +02:00
renovate[bot] 9c9ce78ff9 Update dependency lint-staged to v16.1.1 (#25817)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 20:05:09 +02:00
Paulus Schoutsen 4f8c50aaa9 Show voice ID in Cloud Pref (#25809)
* Show voice ID in Cloud Pref

* Address style comments

* Update src/panels/config/cloud/account/cloud-tts-pref.ts

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-06-17 13:32:27 +00:00
Petar Petrov 3cfc6297b5 Fix sankey total calculation to account for included_in_stat (#25805) 2025-06-17 15:14:33 +02:00
Paul Bottein cc0586bf36 Fix disabled color in dark mode in production (#25818) 2025-06-17 15:14:07 +02:00
Petar Petrov bdf48140e4 Reduce reset-zoom button size on timeline charts (#25796) 2025-06-17 15:07:57 +02:00
Anthony Relle d7f4a7acb0 Update ElectricityMaps URL in Energy Dashboard (#25816)
fix: update electricitymap domain
2025-06-17 09:54:34 +00:00
renovate[bot] 154e85eb45 Update dependency eslint-plugin-lit-a11y to v5.0.1 (#25812)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-17 10:16:13 +03:00
renovate[bot] ea15e5a44e Update dependency eslint-plugin-lit-a11y to v5 (#25718)
* Update dependency eslint-plugin-lit-a11y to v5

* Update import

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-06-17 09:06:44 +03:00
renovate[bot] d581c4b0aa Update dependency eslint to v9.29.0 (#25810)
* Update dependency eslint to v9.29.0

* fix warning

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-06-17 05:55:13 +00:00
karwosts 5b7655cf72 Fix automation drag&drop loses item (#25811) 2025-06-17 08:42:20 +03:00
dependabot[bot] 634e1dbde8 Bump softprops/action-gh-release from 2.2.2 to 2.3.2 (#25795)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 2.2.2 to 2.3.2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v2.2.2...v2.3.2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 2.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-16 11:03:16 +03:00
renovate[bot] a255463a76 Update dependency sinon to v21 (#25794)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 08:53:23 +03:00
renovate[bot] 3c40b3112e Update dependency @codemirror/view to v6.37.2 (#25791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 08:24:44 +03:00
renovate[bot] 9f33ec55f5 Update dependency glob to v11.0.3 (#25792)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-16 08:24:01 +03:00
Simon Lamon c35c4d16f0 Remove Google Assistant link (#25780) 2025-06-15 17:17:38 +03:00
Simon Lamon 159c4d100a Add perform action with to translations (#25781) 2025-06-15 17:15:08 +03:00
quinnter 05035a281b Improved new dashboard dialog (#25676)
* tidied cards and more translations

* fix container heading padding

* updated filter to use fusejs, changes to how list is localized
2025-06-14 10:55:14 +02:00
renovate[bot] 67c7a3931f Update dependency typescript-eslint to v8.34.0 (#25770)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-13 10:18:48 +03:00
Paulus Schoutsen cf41a43070 Hide backup during onboarding (#25768) 2025-06-12 13:48:59 -04:00
renovate[bot] 5c385d5368 Update vitest monorepo to v3.2.3 (#25765)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-12 16:25:22 +03:00
renovate[bot] 0ae78300c9 Update dependency core-js to v3.43.0 (#25761)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-12 16:24:57 +03:00
Paul Bottein de42714505 20250531.3 (#25764) 2025-06-12 14:23:03 +02:00
Paul Bottein 359460b570 Bumped version to 20250531.3 2025-06-12 14:22:11 +02:00
Paul Bottein 38545a01dd Ensure grid options always return an object (#25760) 2025-06-12 14:21:51 +02:00
Paul Bottein 8cead75087 Change backup type order (#25759) 2025-06-12 14:21:50 +02:00
Petar Petrov 7f68447a4f Fix alerts refresh on device page (#25748)
* Fix alerts refresh on device page

* don't reset actions periodically

* reset stuff only on deviceId change
2025-06-12 14:21:49 +02:00
Paul Bottein 01d2ef13c6 Ensure grid options always return an object (#25760) 2025-06-12 10:44:20 +03:00
Petar Petrov af6911e848 Fix alerts refresh on device page (#25748)
* Fix alerts refresh on device page

* don't reset actions periodically

* reset stuff only on deviceId change
2025-06-12 09:40:36 +02:00
Paul Bottein 21af10fd28 Change backup type order (#25759) 2025-06-12 07:29:58 +00:00
Paul Bottein 380f760f79 20250531.2 (#25752) 2025-06-11 16:27:54 +02:00
Paul Bottein bffe38c827 Bumped version to 20250531.2 2025-06-11 16:27:06 +02:00
Paul Bottein 89d0746c7c Fix edit card not working in chrome after editing (#25751) 2025-06-11 16:25:20 +02:00
Paul Bottein 6d30d15638 Fix edit card not working in chrome after editing (#25751) 2025-06-11 14:15:50 +00:00
Paul Bottein 7e2059e836 20250531.1 (#25749) 2025-06-11 14:42:10 +02:00
Paul Bottein 0d97962578 Bumped version to 20250531.1 2025-06-11 14:30:59 +02:00
Paul Bottein 4c5015e178 Display full error for card preview mode (#25747) 2025-06-11 14:29:55 +02:00
Paul Bottein 28214aebc5 Reduce keypad gap and margin in alarm panel card (#25735) 2025-06-11 14:29:54 +02:00
Paul Bottein a26ca7d065 Fix custom value selected when clicking item in combo box (#25734) 2025-06-11 14:29:54 +02:00
Paul Bottein 2ab20aef69 Allow to open more info using query params (#25733) 2025-06-11 14:29:53 +02:00
Petar Petrov 8149ee60cb Fix period boundaries in Energy dashboard (#25728) 2025-06-11 14:29:52 +02:00
Petar Petrov 89ce6870f6 Handle tiny values in a log chart (#25727) 2025-06-11 14:29:51 +02:00
Mathieu 4307e2350f Adjust tooltip positioning in ha-sidebar for not first lis… (#25696)
fix(tooltip): fix tooltip positioning in ha-sidebar for not first listbox
2025-06-11 14:29:50 +02:00
karwosts 7dc4d555ae Hoist integration card tooltips (#25679) 2025-06-11 14:29:50 +02:00
Bram Kragten 1483e8e38f Set answers to yes and no for cloud pipeline confirm (#25674) 2025-06-11 14:29:49 +02:00
Simon Lamon 5daec6bbc5 Calendar add event button gap alignment (#25662)
Calendar gap alignment
2025-06-11 14:29:48 +02:00
Paul Bottein d542b52ebd Display full error for card preview mode (#25747) 2025-06-11 13:04:54 +03:00
c0ffeeca7 43cc49bb32 Z-Wave: apply sentence-style capitalization (#25739) 2025-06-11 09:13:32 +03:00
karwosts b3f0a6328e More support for no-grid energy dashboard (#25644)
* More support for no-grid energy dashboard

* Update src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* lint

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-06-11 09:11:46 +03:00
Paulus Schoutsen 9d6a7e7e6f Assist Chat: handle intent progress delta not always being there (#25730)
handle intent progress data type change
2025-06-10 10:59:10 -04:00
Paul Bottein 78d7da21aa Fix custom value selected when clicking item in combo box (#25734) 2025-06-10 16:46:09 +02:00
Paul Bottein 0474a24df6 Allow to open more info using query params (#25733) 2025-06-10 13:20:10 +03:00
Paul Bottein 6e7ac6fdf7 Reduce keypad gap and margin in alarm panel card (#25735) 2025-06-10 13:16:06 +03:00
Petar Petrov 7b9683df89 Fix period boundaries in Energy dashboard (#25728) 2025-06-10 10:28:51 +02:00
renovate[bot] 8523ddfd29 Update vaadinWebComponents monorepo to v24.7.8 (#25729)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 15:50:36 +03:00
Petar Petrov 2589e1a49f Handle tiny values in a log chart (#25727) 2025-06-09 14:45:23 +03:00
Paul Schreiber 5ce5f9a189 fix spelling of JavaScript in bug report template (#25726)
Correctly capitalize JavaScript in the bug report template.
2025-06-09 06:08:58 +00:00
renovate[bot] 6dd7217a20 Update dependency @babel/runtime to v7.27.6 (#25722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 09:01:08 +03:00
renovate[bot] 0d02d0d334 Update vitest monorepo to v3.2.2 (#25723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-09 09:00:45 +03:00
renovate[bot] fed0dfa091 Update vitest monorepo to v3.2.1 (#25715)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 09:09:17 +02:00
renovate[bot] 39de40dec9 Update Yarn to v4.9.2 (#25714)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-07 09:09:11 +02:00
renovate[bot] e1c42d9985 Update dependency typescript-eslint to v8.33.1 (#25712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 20:33:20 +02:00
renovate[bot] ad375c9b01 Update dependency hls.js to v1.6.5 (#25711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 20:33:01 +02:00
renovate[bot] 07230e5ef5 Update dependency @codemirror/language to v6.11.1 (#25708)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 19:59:35 +02:00
renovate[bot] 52f5af6090 Update dependency @rsdoctor/rspack-plugin to v1.1.3 (#25709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-06 19:59:08 +02:00
karwosts 3c07289077 Handle shorthand template conditions in trace (#25705) 2025-06-06 18:10:10 +02:00
Mathieu 8eb7fe8b0a Adjust tooltip positioning in ha-sidebar for not first lis… (#25696)
fix(tooltip): fix tooltip positioning in ha-sidebar for not first listbox
2025-06-05 04:35:32 +00:00
renovate[bot] c8c2966d34 Update dependency gulp to v5.0.1 (#25698)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 06:25:43 +02:00
renovate[bot] a8768a5d9d Update dependency @bundle-stats/plugin-webpack-filter to v4.20.2 (#25692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-05 06:25:20 +02:00
karwosts 02bb7086e7 Hoist integration card tooltips (#25679) 2025-06-03 21:41:27 +02:00
renovate[bot] 42d8b2ae19 Update dependency lint-staged to v16 (#25463)
* Update dependency lint-staged to v16

* Remove shell parameter

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-06-03 19:18:39 +00:00
renovate[bot] e08f4a6bba Update dependency @types/chromecast-caf-receiver to v6.0.22 (#25681)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 17:32:25 +02:00
renovate[bot] 2e6c35d977 Update dependency hls.js to v1.6.4 (#25682)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 17:32:08 +02:00
renovate[bot] 17305a818b Update dependency eslint to v9.28.0 (#25683)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-03 01:32:02 +02:00
renovate[bot] 08389dad04 Update babel monorepo to v7.27.4 (#25680)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 22:36:58 +03:00
Bram Kragten ab6ace46b5 Set answers to yes and no for cloud pipeline confirm (#25674) 2025-06-02 14:02:06 +00:00
renovate[bot] 535dedbbc4 Update dependency hls.js to v1.6.3 (#25669)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 16:01:37 +02:00
renovate[bot] 412eb0c647 Update dependency @codemirror/view to v6.37.1 (#25672)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-02 16:01:29 +02:00
renovate[bot] 87c8ebd493 Update dependency @codemirror/view to v6.37.0 (#25664)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-06-01 09:31:21 +02:00
Simon Lamon 6e49f89126 Calendar add event button gap alignment (#25662)
Calendar gap alignment
2025-06-01 09:39:10 +03:00
Bram Kragten 77eae6044d Bumped version to 20250531.0 2025-05-31 16:15:54 +02:00
Bram Kragten 84ac0cd41e Add css variables for start and end padding of tabs (#25654) 2025-05-31 16:15:28 +02:00
Bram Kragten 74f9c1551e Add label to collapse button in data table groups (#25653) 2025-05-31 16:15:27 +02:00
Bram Kragten aebd6350c0 fix line height entity card (#25652) 2025-05-31 16:15:27 +02:00
ildar170975 4c78eb4797 Add cyrilic letters to slugify() (#25647)
* add cyrilic

* Update src/common/string/slugify.ts

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-31 16:15:26 +02:00
ildar170975 560e3890b9 Revert #25027 "more-info-camera: disable download_snapshot if idle" (#25643)
remove a check for "idle"
2025-05-31 16:15:25 +02:00
Ville Skyttä e448268feb Spelling fixes (#25638) 2025-05-31 16:15:24 +02:00
Ville Skyttä 7ceba218fa Fix Zigbee capitalization in manage device button (#25637) 2025-05-31 16:15:24 +02:00
Petar Petrov cd61725cf5 Fix Z-WaveJS device count in dashboard (#25635) 2025-05-31 16:15:23 +02:00
Petar Petrov 228860a1ee Use theme variables for network graph labels (#25634) 2025-05-31 16:15:22 +02:00
karwosts 9f69347e1d Cleanup some styling on disabled entity picker (#25632) 2025-05-31 16:15:21 +02:00
ildar170975 a099e65a9d Fix "unavailable" state in Area card (#25063)
* fix "unavailable" state

* Show "-" for unavailable/undefined
2025-05-31 10:45:58 +03:00
renovate[bot] 11e4a9f056 Update dependency typescript-eslint to v8.33.0 (#25657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-30 17:52:29 +00:00
Bram Kragten b617299eee Add css variables for start and end padding of tabs (#25654) 2025-05-30 16:48:15 +02:00
Bram Kragten 768f27b1b9 Add label to collapse button in data table groups (#25653) 2025-05-30 16:47:54 +02:00
Bram Kragten 5ed816df6d fix line height entity card (#25652) 2025-05-30 15:34:03 +02:00
renovate[bot] 6692ac7517 Update dependency @lokalise/node-api to v14.8.0 (#25651)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-30 14:11:04 +02:00
renovate[bot] 65499db0cb Update babel monorepo to v7.27.3 (#25650)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-30 14:27:05 +03:00
renovate[bot] 11a1eabf61 Update rspack monorepo to v1.3.12 (#25649)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-30 14:26:40 +03:00
ildar170975 b30fa122ba Revert #25027 "more-info-camera: disable download_snapshot if idle" (#25643)
remove a check for "idle"
2025-05-30 10:59:03 +03:00
ildar170975 6730d08b85 Map card: add prefix & suffix for "label_mode: attribute" (#25033)
* added prefix & suffix

* added prefix & suffix

* added prefix & suffix

* added prefix & suffix

* added prefix & suffix

* remove prefix, rename suffix -> unit

* remove prefix, rename suffix -> unit

* remove prefix, rename suffix -> unit

* remove prefix, rename suffix -> unit

* remove prefix, rename suffix -> unit
2025-05-30 10:56:35 +03:00
ildar170975 67003d6fd1 Add cyrilic letters to slugify() (#25647)
* add cyrilic

* Update src/common/string/slugify.ts

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-30 05:38:45 +00:00
Petar Petrov 414d46be65 Add device button on the Z-Wave controller's device page (#25636) 2025-05-29 15:29:34 +03:00
Petar Petrov 1485d1a1de Fix Z-WaveJS device count in dashboard (#25635) 2025-05-29 15:29:24 +03:00
Ville Skyttä fd13e41524 Spelling fixes (#25638) 2025-05-29 10:48:50 +02:00
Petar Petrov 77f7ca0368 Use theme variables for network graph labels (#25634) 2025-05-29 10:05:26 +02:00
Ville Skyttä 7471250a07 Fix Zigbee capitalization in manage device button (#25637) 2025-05-29 07:59:58 +00:00
karwosts 8b0a63d791 Cleanup some styling on disabled entity picker (#25632) 2025-05-29 08:53:30 +03:00
renovate[bot] 57ffa814ed Update dependency @octokit/rest to v22 (#25633)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-29 08:51:54 +03:00
Bram Kragten 46e05f10d1 Bumped version to 20250528.0 2025-05-28 22:35:50 +02:00
Paul Bottein a1819d6189 Improve search in add automation element dialog (#25626)
* Improve search in add automation element dialog

* Remove unexpected import

* Take min character search into account
2025-05-28 22:35:43 +02:00
Paul Bottein 48a3e1fd63 Put item at the top of picker result if there is an exact match with entity id (#25625) 2025-05-28 22:35:43 +02:00
Paul Bottein 139c8b3702 Fix picker field height (#25623) 2025-05-28 22:35:42 +02:00
Paul Bottein 9458946dcc Fix missing helper for entity picker (#25622) 2025-05-28 22:35:41 +02:00
Paul Bottein b907dbefad Force narrow style for action, condition and trigger in flows (#25619) 2025-05-28 22:35:40 +02:00
Wendelin 5371fd649c Set markdown code line-height (#25618) 2025-05-28 22:35:40 +02:00
Paul Bottein 61d9b0d2a3 Improve action picker UI and search (#25525) 2025-05-28 22:35:39 +02:00
Paul Bottein 16e20456e2 Put item at the top of picker result if there is an exact match with entity id (#25625) 2025-05-28 22:33:42 +02:00
Paul Bottein 9c0ce41ebb Improve search in add automation element dialog (#25626)
* Improve search in add automation element dialog

* Remove unexpected import

* Take min character search into account
2025-05-28 19:38:33 +02:00
Paul Bottein b458a1d7c6 Improve action picker UI and search (#25525) 2025-05-28 15:03:17 +02:00
renovate[bot] 0eaeeb1141 Update dependency globals to v16.2.0 (#25624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-28 14:51:35 +03:00
Paul Bottein b7e63e697f Fix picker field height (#25623) 2025-05-28 14:07:22 +03:00
Paul Bottein 06db0f4b98 Fix missing helper for entity picker (#25622) 2025-05-28 14:06:45 +03:00
Paul Bottein d33636c6fb Force narrow style for action, condition and trigger in flows (#25619) 2025-05-28 12:04:54 +02:00
Wendelin bbb546159c Set markdown code line-height (#25618) 2025-05-28 10:04:54 +02:00
karwosts e8fc36026a More error handling for preview flow (#25611)
* More error handling for preview flow

* await unsub
2025-05-28 07:04:03 +03:00
Bram Kragten 06270c771f Bumped version to 20250527.0 2025-05-27 21:43:42 +02:00
Norbert Rittel ae49de8e71 Fix typo in restore_entity_id_selected::confirm_text (#25615) 2025-05-27 21:42:52 +02:00
Petar Petrov 6abdeeae20 Fix for history graph with tiny values (#25612) 2025-05-27 21:42:51 +02:00
Petar Petrov 116716c51d Fix duplicate legend items when comparing energy data (#25610) 2025-05-27 21:42:51 +02:00
Wendelin 77ee69b64d Fix font settings for button card (#25607) 2025-05-27 21:42:50 +02:00
Wendelin 1a57eeddde Fix sidebar loading and demo (#25606) 2025-05-27 21:42:49 +02:00
Petar Petrov 9131bf6dfd Fix double history graphs for a disabled entity (#25604) 2025-05-27 21:42:48 +02:00
Paul Bottein 1611423ca5 Fix duplicated items in strategy editor (#25600) 2025-05-27 21:42:48 +02:00
Petar Petrov 38f8c804af Fix for history graph with tiny values (#25612) 2025-05-27 20:46:03 +02:00
Petar Petrov 7c5bf26240 Fix duplicate legend items when comparing energy data (#25610) 2025-05-27 20:43:32 +02:00
Norbert Rittel 189067d14b Fix typo in restore_entity_id_selected::confirm_text (#25615) 2025-05-27 19:56:55 +02:00
Petar Petrov e79e0f77b8 Navigate to newly added device (#25608) 2025-05-27 16:19:53 +02:00
Wendelin b226e5c697 Fix font settings for button card (#25607) 2025-05-27 12:55:20 +02:00
Wendelin 52ad31601c Fix sidebar loading and demo (#25606) 2025-05-27 10:22:04 +02:00
Petar Petrov cba3e4df7f Fix double history graphs for a disabled entity (#25604) 2025-05-27 09:08:58 +02:00
Paul Bottein 3532cfa974 Fix duplicated items in strategy editor (#25600) 2025-05-26 19:21:44 +02:00
Bram Kragten de56c3376e Bumped version to 20250526.0 2025-05-26 18:32:32 +02:00
Bram Kragten 629eb29d42 Merge branch 'rc' into dev 2025-05-26 18:32:04 +02:00
Bram Kragten 61019447cf Update alarm card styling (#25598) 2025-05-26 18:31:27 +02:00
Bram Kragten cde2b436d1 Add restore entity id (#25592) 2025-05-26 16:23:23 +00:00
Alex Gustafsson 6c7d750734 Add support for grouping media players (#24736)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-26 14:35:09 +00:00
Paul Bottein fcf5ed7731 Use context instead of stateObj for card features (#25577)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-26 13:59:26 +00:00
Cretezy 3ce639946c Make weather-forecast card more responsive (#24900)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-26 13:26:32 +00:00
Wendelin bb5f01ac81 Use failed add-ons and folders of backup (#25548)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-26 13:25:57 +00:00
Wendelin 208e863327 Save sidebar in user data (#25555)
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-26 13:25:11 +00:00
karwosts 9f5f100e98 Tweak rules for entity-filter card (#25570)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-26 13:24:10 +00:00
renovate[bot] 114c1fb98b Update vaadinWebComponents monorepo to v24.7.7 (#25596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-26 15:20:08 +02:00
Bram Kragten 3e5bd64b83 Update ha-selector-action.ts 2025-05-26 15:14:59 +02:00
karwosts 02b4b8e334 Fix device actions in step-flow-form (#24539)
* Fix device actions in step-flow-form

* Move xlation fetch to device action

* also conditions & triggers

* move to firstUpdated
2025-05-26 14:19:09 +02:00
Petar Petrov da8d43f5d1 Allow href="data:..." in config flow step description (#25559)
* Allow href="data:..." in config flow step description

* Update src/dialogs/config-flow/show-dialog-config-flow.ts
2025-05-26 13:56:11 +02:00
Paul Bottein 18aaa44d2d Use constant for Home Assistant bluetooth node in graph (#25595) 2025-05-26 12:26:06 +02:00
Paul Bottein 7fa697a768 Add actions section and add domains to other section in area dashboard (#25558)
* Add actions section and add domains to other section in area dashboard

* Add timer and input button

* Better grouping
2025-05-26 10:50:42 +02:00
Jan-Philipp Benecke 28fe60f02b Improve broken cards on dashboards (#25557) 2025-05-26 08:45:22 +00:00
dependabot[bot] 549451eccb Bump relative-ci/agent-action from 2.2.0 to 3.0.0 (#25593)
Bumps [relative-ci/agent-action](https://github.com/relative-ci/agent-action) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/relative-ci/agent-action/releases)
- [Commits](https://github.com/relative-ci/agent-action/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: relative-ci/agent-action
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-26 08:26:06 +02:00
karwosts 113cc118cf Support for disabled selectors in config flow (#22592)
* Support for disabled selectors in config flow

* rename flag to readonly

* rename to read_only

* Merge branch 'dev' of https://github.com/home-assistant/frontend into disabled-fields-config-flow

* rework for new backend

* Fix disabled entity picker

* no longer used type

* Update src/dialogs/config-flow/step-flow-form.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-23 20:52:42 +03:00
Bram Kragten 7ffb0f1e3b rename android-safe-area-inset to app-safe-area-inset (#25575) 2025-05-23 18:34:53 +02:00
renovate[bot] 60ef43044b Update octokit monorepo to v8.0.1 (#25576)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 17:37:26 +02:00
renovate[bot] 4e4a82e023 Update rspack monorepo to v1.3.11 (#25574)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 17:36:56 +02:00
Paulus Schoutsen f563146165 Sort discoveries by title on integration page (#25578) 2025-05-23 17:33:47 +02:00
Petar Petrov 81ba2db93a Custom variable down sampling for line charts (#25561) 2025-05-23 15:20:41 +02:00
renovate[bot] 4d8176ad6e Update octokit monorepo to v8 (major) (#25573)
Update octokit monorepo to v8

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 14:13:11 +03:00
Petar Petrov 9b8be9f1af Fix chart labels for multi year periods (#25572) 2025-05-23 12:08:22 +02:00
Wendelin c11d2c10df Enable keyboard sorting for items-display-editor (#25546)
* Enable keyboard sorting for items-display-editor

* Add alt + arrow and fix bugs

* Fix alt bug

* Improve selected drag highlight
2025-05-23 10:42:27 +02:00
Paul Bottein 412a0e9f6a Improve area floor picker UI and search (#25540)
* Improve area floor picker UI and search

* Improve area floor picker UI and search

* Remove noResultSorting
2025-05-23 10:35:47 +02:00
renovate[bot] 67dc830bbf Update dependency marked to v15.0.12 (#25571)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-23 08:52:22 +03:00
renovate[bot] 5581c10139 Update vitest monorepo to v3.1.4 (#25569)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 16:36:02 +00:00
renovate[bot] ec26818c53 Update dependency @types/leaflet to v1.9.18 (#25568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-22 18:26:19 +02:00
Paul Bottein 399458f811 Improve category picker UI and search (#25560) 2025-05-22 18:14:26 +02:00
Paul Bottein 3355986585 Restore screen readers support on pickers (#25553) 2025-05-22 09:51:12 +00:00
Franck Nijhof 9b7db191a6 Add range support to icon translations (#25541)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-22 11:32:44 +02:00
Paulus Schoutsen 2d549ba22f Voice wizard: Wait 10s for update entity to change state (#25556) 2025-05-22 09:49:29 +02:00
Grzegorz Libiszewski c3e155a95c Unified safe area (insets) for Android and iOS (#24689)
* feat: Introduce new css variables for safe area

* feat: Replace all safe area env with variable
2025-05-22 08:11:04 +03:00
Petar Petrov 754829a836 Localize ZHA visualization text (#25543) 2025-05-21 12:54:38 +00:00
c0ffeeca7 87bd039239 Add comma (#25547) 2025-05-21 15:44:16 +03:00
Wendelin 32b3c83337 Edit sidebar in a dialog (#25532) 2025-05-21 13:42:43 +02:00
karwosts f0beef22d2 Add hint helpers to fields that support markdown (#25528)
* Add hint helpers to fields that support markdown

* reduce duplication
2025-05-21 08:13:28 +03:00
Petar Petrov 07e5f53469 Bluetooth network visualization (#25512)
* Bluetooth network visualization

* fix category symbol

* Add translations

* memoize bluetooth data

* throttle data updates to 10s

* handle proxies that appear as end devices too

* fix tab highlighting

* memoize fix
2025-05-21 07:59:44 +03:00
c0ffeeca7 97e0217906 Remote access strings: tiny typo fix (#25539) 2025-05-20 12:47:51 +00:00
Paul Bottein 006c7e1ea8 Improve floor picker UI and search (#25535)
* Improve floor picker UI and search

* sort by level
2025-05-20 14:45:40 +02:00
Andrej Shumkovski 9736d0cb55 Added Albanian (Shqip) Language (#25538)
Update translationMetadata.json

Added Shqip language following: 

https://developers.home-assistant.io/docs/translations/#maintainer-steps-to-add-a-new-language
2025-05-20 14:35:49 +02:00
Wendelin 9ec689382b Add has-fab to hass-tabs-subpage (#25536) 2025-05-20 14:00:27 +03:00
Paul Bottein 4de95f6710 Improve label picker UI and search (#25522) 2025-05-20 12:47:33 +02:00
Paul Bottein a55ef8ad47 Fix entity picker in footer graph and media card (#25531) 2025-05-20 11:32:37 +02:00
Paul Bottein 01b398c2a3 Fix clear area action in area-picker (#25511)
* Fix clear area action in area-picker

* Fix area not displayed after creation
2025-05-20 10:01:01 +02:00
Paulus Schoutsen 83df10ef29 Tweaks to Assist chat dialog (#25494) 2025-05-20 08:39:56 +02:00
renovate[bot] a026c72230 Update dependency eslint to v9.27.0 (#25529)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-20 07:44:11 +03:00
Petar Petrov c4e391c264 Echarts network graph for ZHA (#25457)
* Echarts network graph for ZHA

* improve layout

* better diff

* remove vis-network

* not bad layout

* fix LQI and clean up a bit

* Use ha-chart-base and remove header

* legend

* use color vars

* use colorVariables

* fix

* add physics toggle

* tweak lines

* remove vis-network

* minor tweaks

* dynamically load graph chart

* type fix

* fix height

* navigate to device page on label click

* PR comments

* aria tweak

* make extraComponents non reactive

* PR comments

* quick fix

* just make hass non reactive

* button tweak

* Update src/components/chart/ha-network-graph.ts

Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>

---------

Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-05-19 16:37:05 +03:00
karwosts 4b72a6029c Fix stack editor bugs (#25501)
* Fix stack editor bugs

* Update src/panels/lovelace/editor/config-elements/hui-stack-card-editor.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-19 16:36:46 +03:00
Timothy 8b87188075 Add navigate command to the external bus (#25516) 2025-05-19 13:22:19 +00:00
Paul Bottein 2a4c6c9af5 Improve user picker UI and search (#25514)
Improve user picker
2025-05-19 13:53:19 +03:00
Paul Bottein 5cbadaa5f9 Fix labels in duration input (#25510) 2025-05-19 11:26:25 +02:00
Paul Bottein 15fd4134d0 Improve device picker UI and search (#25401)
* Improve device picker

* Improve device search quick bar

* Fix types

* Fix selected device in the dropdown

* Move filter to picker

* Rename filters

* Use generic picker

* Update src/dialogs/quick-bar/ha-quick-bar.ts

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-19 09:24:54 +00:00
renovate[bot] eda9abc3c5 Lock file maintenance (#25508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-19 07:16:33 +03:00
karwosts 7e56d5f351 Fix loading behavior when manually typing card type (#25502) 2025-05-18 08:57:59 +03:00
renovate[bot] 5d4805cde6 Update dependency @codemirror/search to v6.5.11 (#25499)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-18 08:54:22 +03:00
karwosts c94326bc08 Fix duplicate_id in energy-usage-graph (#25503) 2025-05-18 08:53:37 +03:00
karwosts b61180baa6 Don't access hidden tabs via left/right arrow (#25495) 2025-05-17 12:43:12 +02:00
karwosts bc15d1474e Force wrap too long expansion panel headers (#25496) 2025-05-17 12:42:08 +02:00
Bram Kragten 95c3013497 Merge branch 'rc' 2025-05-16 18:57:16 +02:00
Bram Kragten 69a156f352 Bumped version to 20250516.0 2025-05-16 18:57:02 +02:00
Paul Bottein 67f3d31a4b Fix domain not translated in entity picker and quick bar (#25444)
* Fix domain not translated in entity picker

* Remove unused param
2025-05-16 18:56:16 +02:00
Bram Kragten 98a2966432 Render choose and if action correctly on mobile (#25411) 2025-05-16 18:56:14 +02:00
karwosts 75a2c061c2 Fix card editor help links (#25408) 2025-05-16 18:56:13 +02:00
karwosts 724df18175 Fix devices graph max_devices (#25406) 2025-05-16 18:56:12 +02:00
Paul Bottein c00b4120ab Fix selected entity in the entity picker dropdown (#25405) 2025-05-16 18:56:11 +02:00
Paul Bottein d392bb4c83 Fallback to preferred pipeline if the pipeline doesn't exist (#25404) 2025-05-16 18:56:11 +02:00
Paul Bottein 30d46f2f8a Fix domain max-width in entity picker (#25400) 2025-05-16 18:56:10 +02:00
Paulus Schoutsen 7c879cc291 Add installation method to the about page (#25378)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-16 18:56:08 +02:00
renovate[bot] 9a731880f3 Update rspack monorepo to v1.3.10 (#25493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-16 18:06:17 +02:00
Yosi Levy 77efaaf7de RTL base font fix (#25478)
* RTL base font fix

* Fix comments
2025-05-16 08:20:19 +03:00
Paulus Schoutsen da96266454 Update media content type for picked TTS (#25489) 2025-05-16 08:18:31 +03:00
renovate[bot] 036d739d6e Update dependency @codemirror/view to v6.36.8 (#25487) 2025-05-15 19:56:20 +02:00
renovate[bot] c274a94ee5 Update dependency typescript-eslint to v8.32.1 (#25488)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 19:53:57 +02:00
Paul Bottein da7d359696 Use generic picker for statistic picker (#25484) 2025-05-15 19:38:36 +02:00
Paul Bottein 20a7b3870c Improve area picker UI and search (#25472)
* Improve area picker UI and search

* Feedbacks
2025-05-15 15:53:22 +02:00
Wendelin 9749a64ae1 Preload Roboto for Chrome OS (#25480) 2025-05-15 14:48:09 +02:00
renovate[bot] 68741f6ba4 Update vaadinWebComponents monorepo to v24.7.6 (#25475)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-15 14:33:08 +03:00
AlCalzone e052ee04b4 Fix label for Thermostat Setback in Z-Wave JS installer panel (#25476) 2025-05-15 13:22:52 +02:00
Wendelin d2cc4a624e Use ha-line-height css tokens in codebase (#25468) 2025-05-15 11:57:17 +02:00
Paul Bottein 5bcbe98f8e Create generic picker component (#25464)
* Create generic combo-box

* Fix focus

* Delete entity combo-box

* Rename components

* Create generic picker

* Fix undefined and placeholder

* Fix labels

* Fix icon and search

* Add missing hideClearIcon property to entity picker

* Make search string optional
2025-05-15 09:55:32 +00:00
Petar Petrov beee76580d Keep screen on while adding new ZHA device (#25465) 2025-05-15 11:55:05 +02:00
karwosts 28e5a30772 Prioritize battery consumption before solar consumption (#25467) 2025-05-15 10:32:07 +03:00
David F. Mulcahey 785929b370 Add ZHA status details to configuration dashboard (#25425)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-05-14 11:57:30 +00:00
Petar Petrov 55cf7e635d Keep screen on while adding new ZwaveJS device (#25375)
* Keep screen on while adding new ZwaveJS device

* Add compatibility check

* Update src/mixins/wakelock-mixin.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* format

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-14 13:45:48 +03:00
Petar Petrov 4b270eb444 Periodically refresh alerts on the device page (#25385)
* Periodically refresh alerts on the device page

* Update src/panels/config/devices/ha-config-device-page.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* revert type change

* Apply suggestions from code review

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-14 11:28:56 +02:00
Jan-Philipp Benecke d0e55719d1 Make map card clustering configurable (#25429)
* Persistent map clustering

* Make config option instead
2025-05-14 11:27:42 +02:00
renovate[bot] 87f9397643 Update dependency @bundle-stats/plugin-webpack-filter to v4.20.1 (#25461)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-14 08:47:57 +02:00
Wendelin 910e7e10a7 Use ha-dialog-header for data-entry-flow (#25403)
* Use ha-dialog-header for data-entry-flow header

* Fix header wrap
2025-05-13 14:17:54 +03:00
Wendelin e1b9b47ac7 Hide map cluster toggle when there is just one entry (#25454) 2025-05-13 12:23:24 +03:00
Maciej Suchanecki 89e04fcc45 Allow for shift click in data table checkboxes (#25024)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-05-13 11:08:45 +02:00
David Rapan 93f2e75fc9 Update network_adapter_info translation as all core discovery integrations will now use network (#25452) 2025-05-13 09:27:54 +02:00
Wendelin 6c671d398f Fix zwave creating nvm backup translation (#25453) 2025-05-13 05:59:50 +00:00
Paul Bottein 2e5c6a4d3f Fix domain not translated in entity picker and quick bar (#25444)
* Fix domain not translated in entity picker

* Remove unused param
2025-05-13 08:54:31 +03:00
renovate[bot] 04e736a51e Update dependency @lokalise/node-api to v14.7.0 (#25450)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-13 08:53:25 +03:00
Wendelin ec3fdc0ea7 Subscribe to frontend user data (#25445) 2025-05-12 16:01:56 +02:00
Robert Resch a7a8c25d24 Remove getCandidatesUpfront (#25399) 2025-05-12 14:55:39 +02:00
c0ffeeca7 60d457c3d9 Register account: apply sentence-style capitalization (#25440) 2025-05-12 10:09:47 +02:00
renovate[bot] a58b1e636d Update dependency @rsdoctor/rspack-plugin to v1.1.2 (#25420)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 09:12:13 +02:00
renovate[bot] f67e7ae081 Update rspack monorepo to v1.3.9 (#25421)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 08:52:00 +02:00
renovate[bot] 0032c5508e Update dependency eslint-config-prettier to v10.1.5 (#25439)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-12 08:51:39 +02:00
renovate[bot] 036df78de8 Update dependency idb-keyval to v6.2.2 (#25432)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 21:02:47 +02:00
renovate[bot] 617a6ba938 Update dependency @lokalise/node-api to v14.6.0 (#25433)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-11 21:00:45 +02:00
Alex Gustafsson 76b9063aec Fix typo in lint config (#25419)
Fix a typo causing yaml and "aml" files to be formatted with prettier as
opposed to yaml and yml.
2025-05-10 13:22:25 +02:00
renovate[bot] 60c1d0a556 Update dependency globals to v16.1.0 (#25416)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-10 13:22:10 +02:00
Bram Kragten 193caec2df Render choose and if action correctly on mobile (#25411) 2025-05-10 09:03:53 +02:00
renovate[bot] 42c8d132bf Update dependency @babel/preset-env to v7.27.2 (#25409)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-10 09:03:37 +02:00
renovate[bot] 0311a7c976 Update dependency @rsdoctor/rspack-plugin to v1.1.1 (#25414)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-10 09:03:26 +02:00
renovate[bot] 40ffd50b8a Update dependency barcode-detector to v3.0.4 (#25412)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-10 09:03:22 +02:00
renovate[bot] 334991902a Update dependency eslint-config-prettier to v10.1.3 (#25415)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-10 09:03:14 +02:00
karwosts c968266065 Fix card editor help links (#25408) 2025-05-09 18:38:03 +02:00
Paul Bottein d4fc0318f7 Fix domain max-width in entity picker (#25400) 2025-05-09 18:37:14 +02:00
karwosts 8a0d3baf67 Fix devices graph max_devices (#25406) 2025-05-09 18:35:54 +02:00
Paul Bottein 8fc55cb6e2 Fix selected entity in the entity picker dropdown (#25405) 2025-05-09 18:35:38 +02:00
Paul Bottein d6ebd9bfc4 Fallback to preferred pipeline if the pipeline doesn't exist (#25404) 2025-05-09 16:01:03 +02:00
Bram Kragten 15ae37d077 Move vaadin typography vars to typography globals (#25398) 2025-05-09 12:08:12 +00:00
Bram Kragten 461d5eb687 Add device rename to voice wizard (#25187)
Co-authored-by: Wendelin <w@pe8.at>
2025-05-09 13:56:50 +02:00
Wendelin 3058fcad46 Use ha-font-size typography css tokens (#25361) 2025-05-09 13:47:25 +02:00
renovate[bot] 06bd1ae4cd Update dependency @rsdoctor/rspack-plugin to v1.1.0 (#25389)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-05-09 13:43:39 +02:00
renovate[bot] 00733357a1 Update dependency lint-staged to v15.5.2 (#25394)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 13:19:20 +02:00
Bram Kragten 7f6ce97199 Merge branch 'rc' 2025-05-09 12:11:58 +02:00
Bram Kragten 0742aed8e7 Bumped version to 20250509.0 2025-05-09 12:11:36 +02:00
Bram Kragten f675dd3388 Fix width of device in create entry step (#25392) 2025-05-09 12:11:08 +02:00
Bram Kragten 9751cb4e50 Fix bottom padding in service control when in narrow mode (#25390) 2025-05-09 12:11:07 +02:00
Bram Kragten 7919028780 Fix sidebar keyboard navigation in edit mode (#25376) 2025-05-09 12:11:07 +02:00
Wendelin 1508c7c905 Fix backup custom retention save issue (#25368) 2025-05-09 12:11:06 +02:00
Wendelin 3fe907f388 Fix backup settings undefined cloudStatus (#25366) 2025-05-09 12:11:05 +02:00
J. Nick Koston 5cc87661b9 Add a dialog to SSDP to show raw data (#25362)
* Add a dialog to SSDP to show raw data

* tweaks

* Add a dialog to SSDP to show raw data

* reduce

* tweaks

* Update src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-raw-data.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Update src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Update src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* add dump

* preen

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-09 12:11:04 +02:00
Wendelin fc372172a6 Fix ha-dialog actions padding to use safe-area-inset (#25359)
* Fix ha-dialog actions padding to use safe-area-inset

* Update src/components/ha-dialog.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-09 12:11:03 +02:00
Simon Lamon 7bd9a39bf5 Fix bluetooth device info is encoding data twice (#25353)
Data is already encoded
2025-05-09 12:11:02 +02:00
Bram Kragten 665c971822 Fix width of device in create entry step (#25392) 2025-05-09 12:00:06 +02:00
Bram Kragten eff5471dd1 Fix bottom padding in service control when in narrow mode (#25390) 2025-05-09 11:01:58 +02:00
Paulus Schoutsen 4fba9c3c0a Add installation method to the about page (#25378)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-09 10:23:52 +02:00
renovate[bot] 0b32b51e2f Update dependency @types/leaflet-draw to v1.0.12 (#25386)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-09 09:00:39 +02:00
Bram Kragten 6370b0b8e5 Fix sidebar keyboard navigation in edit mode (#25376) 2025-05-09 08:51:04 +02:00
renovate[bot] 681518f443 Update dependency typescript-eslint to v8.32.0 (#25383)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 23:51:36 +02:00
Simon Lamon 9f5b89978d Bump the hls patch (#25264) 2025-05-08 15:30:49 +00:00
Bram Kragten 130839ee7b Revert "Add left text alignment to call service button" (#25377) 2025-05-08 17:24:10 +02:00
Wendelin ba4ec960c8 Use ha-font-weight typography css tokens (#25374)
Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-08 15:11:53 +00:00
Petar Petrov 6692d9c6aa Use the new included_in_stat hierarchy in the Energy Sankey card (#25306) 2025-05-08 17:01:18 +02:00
renovate[bot] 4d2d94c54f Update dependency @lokalise/node-api to v14.5.2 (#25380)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 17:51:45 +03:00
Wendelin d59c6612c6 Fix backup custom retention save issue (#25368) 2025-05-08 16:50:31 +02:00
Wendelin 498f158253 Use ha-font-smoothing typography css tokens (#25364) 2025-05-08 17:32:48 +03:00
renovate[bot] b8026ccf46 Update vitest monorepo to v3.1.3 (#25379)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-08 17:29:57 +03:00
Wendelin 84def48222 Add tests for common name utils (#25373) 2025-05-08 16:59:28 +03:00
Wendelin cea0ac02fe Improve ha-spinner gallery docs (#25369) 2025-05-08 15:50:03 +03:00
Wendelin e1b099e88b Fix backup settings undefined cloudStatus (#25366) 2025-05-08 13:47:17 +02:00
Yosi Levy d571ef3f18 Font style in side bar (#25367) 2025-05-08 13:21:39 +02:00
Lucas c8cffef647 Add left text alignment to call service button (#24846) 2025-05-08 09:58:46 +02:00
Simon Lamon 6b568307a4 Fix bluetooth device info is encoding data twice (#25353)
Data is already encoded
2025-05-08 08:21:01 +03:00
J. Nick Koston 1b501907f1 Add a dialog to SSDP to show raw data (#25362)
* Add a dialog to SSDP to show raw data

* tweaks

* Add a dialog to SSDP to show raw data

* reduce

* tweaks

* Update src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-raw-data.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Update src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Update src/panels/config/integrations/integration-panels/ssdp/dialog-ssdp-discovery-info.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* add dump

* preen

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-08 08:18:26 +03:00
Wendelin c7e79998a4 Fix ha-dialog actions padding to use safe-area-inset (#25359)
* Fix ha-dialog actions padding to use safe-area-inset

* Update src/components/ha-dialog.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-05-07 18:04:43 +02:00
Wendelin 03ccf014d9 Use ha-font-family typography css token (#25355)
Use ha-font-family
2025-05-07 17:38:07 +03:00
renovate[bot] ab41bdb87d Update dependency @lokalise/node-api to v14.5.1 (#25360)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-07 17:35:54 +03:00
karwosts 821a0bc418 New solar-consumed-gauge algorithm (#25326)
* New solar-consumed-gauge algorithm

* update tests

* Apply suggestion

* reduce duplicate code
2025-05-07 17:35:24 +03:00
karwosts 6d931b9e37 Add UoM to location selector (#25358) 2025-05-07 16:13:29 +02:00
Bram Kragten f0341f28ab Merge branch 'rc' 2025-05-07 13:14:55 +02:00
Paul Bottein 603663e0cc Fix badge overlay in scrolling mode (#25352)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-07 13:14:21 +02:00
Bram Kragten 80dddc9eef Only enable drag scroll controller when needed (#25351) 2025-05-07 13:14:20 +02:00
Paul Bottein b823a3b139 Fix badge overlay in scrolling mode (#25352)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-07 10:39:25 +00:00
Bram Kragten 47c9a407e6 Only enable drag scroll controller when needed (#25351) 2025-05-07 12:30:26 +02:00
Bram Kragten 8494d0542e Bumped version to 20250507.0 2025-05-07 10:45:48 +02:00
Wendelin 467a5bef0b Fix data-table search clear button alignment (#25348) 2025-05-07 10:45:19 +02:00
Petar Petrov 24736e36ff Set <=0 chart values to null so they render as gaps on a log graph (#25347) 2025-05-07 10:45:18 +02:00
Paulus Schoutsen 604c00d772 Update network browser descriptions (#25345) 2025-05-07 10:45:17 +02:00
Bram Kragten 12bbba1bff fix height of stats graph card in section (#25344) 2025-05-07 10:45:16 +02:00
Petar Petrov c0ba48beb6 Set <=0 chart values to null so they render as gaps on a log graph (#25347) 2025-05-07 10:43:30 +02:00
Paulus Schoutsen 075e1df204 Update network browser descriptions (#25345) 2025-05-07 10:40:38 +02:00
Wendelin 22c57853b4 Fix data-table search clear button alignment (#25348) 2025-05-07 11:30:36 +03:00
Bram Kragten fe824062a5 fix height of stats graph card in section (#25344) 2025-05-07 08:11:34 +03:00
Bram Kragten e3221ad4ee Merge branch 'rc' 2025-05-06 20:46:09 +02:00
Bram Kragten 7d3a7fa1db Bumped version to 20250506.0 2025-05-06 20:45:47 +02:00
Paul Bottein 5e67bf1fa7 Fix outlined icon button style (#25340) 2025-05-06 20:45:16 +02:00
Paul Bottein 7147c7578d Use right theme variable for dashboard tab color in edit mode (#25339) 2025-05-06 20:45:16 +02:00
Paul Bottein 90710fedf2 Simplify entity combo-box code (#25338) 2025-05-06 20:45:15 +02:00
Paul Bottein 9629159ef1 Use middle dot 00B7 as separator (#25336) 2025-05-06 20:45:14 +02:00
Paul Bottein bfac6e1516 Add covers to overview view for area strategy (#25334) 2025-05-06 20:45:13 +02:00
Wendelin 7c288d1769 Fix sidebar item text width (#25332)
* Fix sidebar item text width to utilize full available space

* Update src/components/ha-sidebar.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-06 20:45:12 +02:00
Paul Bottein 39119eeb2a Align side bar title with items (#25330) 2025-05-06 20:45:11 +02:00
Wendelin 9c16ce3342 Fix flow form padding end (#25328)
* Fix flow form padding end

* Use more end padding if docs are present
2025-05-06 20:45:10 +02:00
Paulus Schoutsen 3595fab5cb Show voice ID in TTS media browser (#25324)
* Show voice ID in TTS media browser

* Apply suggestions from code review

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>

* Add copy button

* Now copy correct clipboard icon

* Improve styling

* GAP

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-05-06 20:45:09 +02:00
Wendelin 78b2d17f10 Add custom retention info to backup locations (#25318)
* Add retention messages to backup locations

* Fix mobile

* Use join
2025-05-06 20:45:09 +02:00
Paul Bottein 92bf9b4979 Simplify entity combo-box code (#25338) 2025-05-06 20:44:12 +02:00
Paul Bottein ac616a4d3d Use right theme variable for dashboard tab color in edit mode (#25339) 2025-05-06 17:05:44 +02:00
Paul Bottein 1aa1bfda2c Use middle dot 00B7 as separator (#25336) 2025-05-06 15:56:20 +02:00
Paul Bottein 38a5035d68 Fix outlined icon button style (#25340) 2025-05-06 15:30:04 +02:00
Wendelin 042cd0d3a3 Fix sidebar item text width (#25332)
* Fix sidebar item text width to utilize full available space

* Update src/components/ha-sidebar.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-05-06 11:52:28 +00:00
Wendelin 00d708fbd4 Fix flow form padding end (#25328)
* Fix flow form padding end

* Use more end padding if docs are present
2025-05-06 13:52:00 +02:00
Wendelin 852278e8aa Add custom retention info to backup locations (#25318)
* Add retention messages to backup locations

* Fix mobile

* Use join
2025-05-06 13:50:23 +02:00
Paul Bottein 15dcdffe55 Add covers to overview view for area strategy (#25334) 2025-05-06 13:38:38 +02:00
Wendelin 0729aaacb8 Revert "Keyboard accessible panel sorting" (#25331) 2025-05-06 11:00:37 +02:00
Paul Bottein 92b8cd8f45 Align side bar title with items (#25330) 2025-05-06 10:57:47 +02:00
Simon Lamon ad8d3dd598 Bump the sortable patch (#25262) 2025-05-06 09:52:04 +02:00
Paulus Schoutsen d618c25095 Show voice ID in TTS media browser (#25324)
* Show voice ID in TTS media browser

* Apply suggestions from code review

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>

* Add copy button

* Now copy correct clipboard icon

* Improve styling

* GAP

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2025-05-06 09:49:35 +02:00
renovate[bot] 83289bdd41 Update dependency eslint to v9.26.0 (#25327)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-06 09:43:21 +02:00
Paul Bottein 7b8b8f9d0b 20250502.1 (#25323) 2025-05-05 20:14:29 +02:00
Paul Bottein b7f866faff Bumped version to 20250502.1 2025-05-05 20:12:59 +02:00
Paulus Schoutsen 37671fd613 Populate integration domain My link (#25322)
* Populate integration domain My link

* break out of loop

* Actually just return from function

* Consolidate code
2025-05-05 20:12:06 +02:00
Paulus Schoutsen 92905c1433 Clean up network browser nav (#25321)
* Clean up network browser nav

* Add ha-md-list
2025-05-05 20:12:05 +02:00
Paulus Schoutsen cb7251cb5e Reorder my links (#25319) 2025-05-05 20:12:04 +02:00
Paul Bottein 44485c0de4 Do not display no areas in entity pickers (#25317) 2025-05-05 20:12:03 +02:00
Paul Bottein 1191a09576 Use new entity naming in card entity picker (#25316) 2025-05-05 20:12:03 +02:00
karwosts c178488aac Add energy hourly calculations to CSV report (#25315) 2025-05-05 20:12:02 +02:00
Wendelin 9f6463eec0 Fix zwave add device LR/mesh icons (#25313)
Fix zwave LR/mesh icons
2025-05-05 20:12:01 +02:00
Wendelin 70fef59401 Fix options and repair flow success (#25312) 2025-05-05 20:12:00 +02:00
Wendelin 3e053e07c6 Fix selected entity overflow (#25311) 2025-05-05 20:11:59 +02:00
Wendelin 376cac6002 Fix select entity change (#25310) 2025-05-05 20:11:58 +02:00
Paul Bottein 5cd68301ed Fix pasting yaml in automation code editor (#25309)
Fix pasting yaml in code editor
2025-05-05 20:11:57 +02:00
Wendelin 3121721ac7 Revert "Use md-select for entity-row and state-card" (#25308)
Revert "Use md-select for entity-row and state-card (#25307)"

This reverts commit 3c9dce20e2.
2025-05-05 20:11:56 +02:00
Wendelin 868daf692d Use md-select for entity-row and state-card (#25307) 2025-05-05 20:11:56 +02:00
Wendelin 75e9ac9e73 Fix flow-form header (#25305) 2025-05-05 20:11:55 +02:00
Paulus Schoutsen f6e36f2038 Add profile security link to My Home Assistant (#25303) 2025-05-05 20:11:54 +02:00
Bram Kragten 55770f3e02 Fix display of disabled items in traces (#25293) 2025-05-05 20:11:53 +02:00
Bram Kragten cfc7f91f03 Fix select entity row opening more info on select (#25292) 2025-05-05 20:11:52 +02:00
Jan-Philipp Benecke 74488c0b96 Use new entity picker style in quick bar (#25265)
* Use new entity picker style in quick bar

* Cleanup

* Add missing no area

* Process code review
2025-05-05 20:11:51 +02:00
Paulus Schoutsen c7882f3926 Populate integration domain My link (#25322)
* Populate integration domain My link

* break out of loop

* Actually just return from function

* Consolidate code
2025-05-05 17:48:29 +00:00
Paul Bottein 7434b12d9f Use new entity naming in card entity picker (#25316) 2025-05-05 20:37:47 +03:00
Paulus Schoutsen 9081441d95 Clean up network browser nav (#25321)
* Clean up network browser nav

* Add ha-md-list
2025-05-05 17:29:24 +00:00
Wendelin d63f610023 Fix options and repair flow success (#25312) 2025-05-05 19:20:22 +02:00
karwosts e069875432 Add energy hourly calculations to CSV report (#25315) 2025-05-05 13:09:16 -04:00
renovate[bot] 91026b0986 Update dependency @codemirror/view to v6.36.7 (#25320)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-05 17:06:05 +00:00
Paul Bottein 4ec5fbc9a4 Do not display no areas in entity pickers (#25317) 2025-05-05 18:56:16 +02:00
Paulus Schoutsen fb3a59272d Reorder my links (#25319) 2025-05-05 18:54:33 +02:00
Wendelin 9155c85509 Fix zwave add device LR/mesh icons (#25313)
Fix zwave LR/mesh icons
2025-05-05 09:05:35 -04:00
Wendelin 9d74cd7561 Fix selected entity overflow (#25311) 2025-05-05 13:11:42 +02:00
Paul Bottein 22ddcca954 Fix pasting yaml in automation code editor (#25309)
Fix pasting yaml in code editor
2025-05-05 11:42:21 +02:00
Wendelin 8f422357f1 Fix select entity change (#25310) 2025-05-05 09:13:50 +00:00
Jan-Philipp Benecke 44f5f7bdb5 Use new entity picker style in quick bar (#25265)
* Use new entity picker style in quick bar

* Cleanup

* Add missing no area

* Process code review
2025-05-05 11:12:43 +02:00
Wendelin 83819a9be0 Revert "Use md-select for entity-row and state-card" (#25308)
Revert "Use md-select for entity-row and state-card (#25307)"

This reverts commit 3c9dce20e2.
2025-05-05 08:57:50 +00:00
Wendelin 3c9dce20e2 Use md-select for entity-row and state-card (#25307) 2025-05-05 11:01:35 +03:00
Wendelin a19e7002ea Fix flow-form header (#25305) 2025-05-05 10:40:54 +03:00
Paulus Schoutsen 75608db9b8 Add profile security link to My Home Assistant (#25303) 2025-05-05 08:33:52 +03:00
karwosts 08f30b714b Keyboard accessible panel sorting (#25288) 2025-05-04 14:58:41 +03:00
Volodymyr Honchar 9983129e26 Add a feature to display any attribute of an entity in the Gauge Card (#25258)
* Add a feature to display any attribute of an entity in the Gauge Card

* Extract list of non numeric attributes into a constant and reuse it in number card as well as in numeric condition
2025-05-04 11:51:01 +00:00
Bram Kragten 40fe62c2ec Fix select entity row opening more info on select (#25292) 2025-05-04 14:41:01 +03:00
Bram Kragten d7660370ab Fix display of disabled items in traces (#25293) 2025-05-04 09:38:01 +02:00
renovate[bot] bdad76937e Update babel monorepo to v7.27.1 (#25289)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-04 09:25:12 +02:00
renovate[bot] d2822308ec Update dependency @lokalise/node-api to v14.5.0 (#25290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-04 09:24:51 +02:00
renovate[bot] 99b94e799d Update dependency @bundle-stats/plugin-webpack-filter to v4.20.0 (#25285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-03 08:53:39 +02:00
renovate[bot] 1fb28df1a6 Update dependency core-js to v3.42.0 (#25283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 21:28:27 +02:00
Bram Kragten 1154d1769d Bumped version to 20250502.0 2025-05-02 21:34:23 +03:00
Bram Kragten a820cd4576 Fix decorators with properties (#25282)
* Fix decorators with properties

* Green build

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-05-02 21:33:56 +03:00
Bram Kragten 678a8a85cb Fix alignment of ha-labeled-slider (#25279) 2025-05-02 21:33:55 +03:00
karwosts 358e450e60 Fix disabled language picker (#25278) 2025-05-02 21:33:54 +03:00
Jan-Philipp Benecke 32acef8fad Add save shortcut to shortcuts dialog (#25271) 2025-05-02 21:33:53 +03:00
J. Nick Koston fae619085c Add my links for the Bluetooth monitors (#25270)
The plan is to link these in the Bluetooth docs for help debugging
2025-05-02 21:33:52 +03:00
Paulus Schoutsen 5d89563aa5 Import missing components on init page (#25269) 2025-05-02 21:33:52 +03:00
Bram Kragten d7dd11ba7f Improve error handling in automation i18n (#25266) 2025-05-02 21:33:51 +03:00
Jan-Philipp Benecke 4624cc609f Always show backup location retention settings (#25261)
Always show backup location retention settings
2025-05-02 21:33:50 +03:00
karwosts f24b6a4cb1 Fix typo in energy calculation (#25259)
* New energy calculation

* more tests and stricter tests. change priority order

* more test and fix error
2025-05-02 21:33:49 +03:00
Jan-Philipp Benecke 2b06742bb9 Hide the tab when view is a subview (#25256) 2025-05-02 21:33:48 +03:00
Jan-Philipp Benecke 9e5b7462af Add ? as shortcut for shortcuts dialog (#25253)
Bind shortcuts dialog to `?` key
2025-05-02 21:33:47 +03:00
J. Nick Koston a544ff4c8a Improve message when no discovery data is found (#25252)
* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.

* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.

* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.

* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.
2025-05-02 21:33:46 +03:00
J. Nick Koston b81d2013dc Fix formatting of mac address fields in device info (#25251)
Previous change lost the `:` seperator, and unexpectedly MAC became
title case instead of MAC when dhcp is loaded.
2025-05-02 21:33:45 +03:00
J. Nick Koston 9b7e2886b6 Better explain when DHCP discovery data will be available (#25250)
It was pointed out that users likely may not know what DHCP is
and wonder why the data is not available yet.
2025-05-02 21:33:44 +03:00
karwosts 69eaf178ca New energy calculation formula (#25242)
* New energy calculation

* more tests and stricter tests. change priority order
2025-05-02 21:33:44 +03:00
Yosi Levy 1a14511fa6 Various RTL fixes (#25231) 2025-05-02 21:33:43 +03:00
Bram Kragten b4e8c56f58 Fix decorators with properties (#25282)
* Fix decorators with properties

* Green build

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-05-02 18:21:38 +02:00
Bram Kragten 17cc63deba Fix alignment of ha-labeled-slider (#25279) 2025-05-02 10:47:20 -04:00
karwosts b4f1c8755d Fix disabled language picker (#25278) 2025-05-02 16:19:12 +03:00
J. Nick Koston b0d4c699db Add my links for the Bluetooth monitors (#25270)
The plan is to link these in the Bluetooth docs for help debugging
2025-05-02 12:46:36 +02:00
renovate[bot] c07bf68161 Update dependency typescript-eslint to v8.31.1 (#25272)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-02 12:16:28 +02:00
Jan-Philipp Benecke d1a0eaece5 Add save shortcut to shortcuts dialog (#25271) 2025-05-02 12:16:04 +02:00
Bram Kragten f608783551 Improve error handling in automation i18n (#25266) 2025-05-01 19:06:42 +02:00
Jan-Philipp Benecke dddba58d38 Always show backup location retention settings (#25261)
Always show backup location retention settings
2025-05-01 19:02:55 +02:00
renovate[bot] ebc16d6520 Update rspack monorepo to v1.3.8 (#25267)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-01 19:01:39 +02:00
renovate[bot] 4ed8ecad01 Update vaadinWebComponents monorepo to v24.7.5 (#25268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-05-01 19:01:35 +02:00
Paulus Schoutsen c26fb1713d Import missing components on init page (#25269) 2025-05-01 15:57:56 +03:00
Jan-Philipp Benecke 2b7b17625e Hide the tab when view is a subview (#25256) 2025-05-01 09:25:18 +02:00
karwosts cd3e4f55e2 Fix typo in energy calculation (#25259)
* New energy calculation

* more tests and stricter tests. change priority order

* more test and fix error
2025-05-01 07:27:11 +03:00
Jan-Philipp Benecke 1c12aea8f6 Add ? as shortcut for shortcuts dialog (#25253)
Bind shortcuts dialog to `?` key
2025-04-30 22:23:45 +02:00
J. Nick Koston 3722f971ca Improve message when no discovery data is found (#25252)
* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.

* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.

* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.

* Improve message when no discovery data is found

It was pointed out its a bit confusing when a device has not been
discovered yet for the discovery/network browser panels as we
only said there was no data. Give the user a better hint
as to why there is no data.
2025-04-30 21:53:07 +02:00
J. Nick Koston 409f665641 Fix formatting of mac address fields in device info (#25251)
Previous change lost the `:` seperator, and unexpectedly MAC became
title case instead of MAC when dhcp is loaded.
2025-04-30 19:16:25 +00:00
J. Nick Koston 5b3b17ef6d Better explain when DHCP discovery data will be available (#25250)
It was pointed out that users likely may not know what DHCP is
and wonder why the data is not available yet.
2025-04-30 19:10:32 +00:00
Yosi Levy 05b49e8c80 Various RTL fixes (#25231) 2025-04-30 21:07:55 +02:00
renovate[bot] 2dbdbb4b64 Update dependency eslint-plugin-wc to v3.0.1 (#25249)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-30 20:50:34 +02:00
dependabot[bot] a825b632bf Bump vite from 6.3.2 to 6.3.4 (#25248)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.3.2 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-30 20:34:02 +02:00
karwosts f8d706277d New energy calculation formula (#25242)
* New energy calculation

* more tests and stricter tests. change priority order
2025-04-30 19:47:51 +03:00
Paul Bottein e517175f68 20250430.2 (#25246) 2025-04-30 17:52:11 +02:00
Paul Bottein ee9cbf7370 Bumped version to 20250430.2 2025-04-30 17:50:44 +02:00
Bram Kragten efd7b380a9 Handle errrors/wrong values on paste (#25245) 2025-04-30 17:49:56 +02:00
Paul Bottein 46cc254f77 Use code font family variable in combo-box (#25243) 2025-04-30 17:49:55 +02:00
Bram Kragten 221bc732fb Handle errrors/wrong values on paste (#25245) 2025-04-30 17:45:35 +02:00
Paul Bottein 055c18463c Use code font family variable in combo-box (#25243) 2025-04-30 17:17:01 +03:00
Paul Bottein d996ba818f 20250430.1 (#25244) 2025-04-30 16:10:12 +02:00
Paul Bottein e5f41ceb3e Bumped version to 20250430.1 2025-04-30 16:08:42 +02:00
Bram Kragten 2e4ce71d06 Improve trigger condition check on paste (#25241) 2025-04-30 16:08:03 +02:00
Bram Kragten 50e39de974 Allow pasting more script config (#25240)
* Allow pasting more script config

* Update manual-script-editor.ts
2025-04-30 16:08:02 +02:00
Bram Kragten 1ba941282c Allow pasting more automation config formats (#25239) 2025-04-30 16:08:01 +02:00
J. Nick Koston b656ddc1f0 Add DHCP Browser entry point to network (#25235)
* Add DHCP Browser entry point to network

* lint
2025-04-30 16:08:00 +02:00
Bram Kragten ddd51ff097 Improve trigger condition check on paste (#25241) 2025-04-30 16:02:53 +02:00
Bram Kragten 55c75096d0 Allow pasting more script config (#25240)
* Allow pasting more script config

* Update manual-script-editor.ts
2025-04-30 13:15:10 +00:00
Bram Kragten fd3502f3bc Allow pasting more automation config formats (#25239) 2025-04-30 14:57:16 +02:00
J. Nick Koston 7d6bec01ae Add DHCP Browser entry point to network (#25235)
* Add DHCP Browser entry point to network

* lint
2025-04-30 08:51:22 -04:00
Paul Bottein a699149388 20250430.0 (#25237) 2025-04-30 13:10:20 +02:00
Paul Bottein 0aeb8fa75c Merge branch 'rc' into dev 2025-04-30 12:53:10 +02:00
Paul Bottein 456a44fdfd Bumped version to 20250430.0 2025-04-30 12:35:26 +02:00
Paul Bottein 53a0b311de Use list item for statistic picker (#25228)
* Use list item for statistic picker

* Use item interface

* Fix icon
2025-04-30 11:40:56 +03:00
Petar Petrov ded5ade0f2 Grouping options for hui-energy-sankey-card (#25207)
* Grouping options for hui-energy-sankey-card

* use getEntityContext for area/floor

* Update rspack monorepo to v1.3.7 (#25206)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Update vaadinWebComponents monorepo to v24.7.4 (#25204)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Add typography styles (#25171)

* Add typoghrapy styles

* Split styles

* Fix duplicated html

* remove unused paper vars

* Fix vars

* Add vars autocompletion extension

* Fix css syntax highlighting

* History tooltip RTL fix (#24917)

* History tooltip RTL fix

* Fix background color

* Render todo items with no state, change look of read only items (#24529)

* Render todo items with no state, change look of read only items

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: Wendelin <w@pe8.at>

* Themeable badge icon size and badge font size (#25185)

Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>

* Add context to config update entries (#25208)

* Add context to config update entries

* Add no area

* import fix

* import fix

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: Yosi Levy <37745463+yosilevy@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Wendelin <w@pe8.at>
Co-authored-by: emufan <emufan@users.noreply.github.com>
2025-04-30 11:00:51 +03:00
J. Nick Koston 5d2d6dcd6c Make name a top level field for the SSDP panel (#25232)
* Make name a top level field for the SSDP panel

* Make name a top level field for the SSDP panel
2025-04-30 09:39:01 +02:00
karwosts 92353ebed5 Centralize energy usage calculations (#25197)
* Centralize energy usage calculations

* addl tests

* test organization

* Update src/data/energy.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

* Centralize more equations

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-04-30 06:57:26 +03:00
J. Nick Koston bc582db7fc Add initial SSDP discovery panel (#25217)
* Add initial SSDP discovery panel
2025-04-29 21:46:56 +02:00
Jan-Philipp Benecke ab415188ba Allow pasting YAML in automation/script editor directly (#24838)
* Allow pasting YAML in automation/script editor directly

* Highlight pasted items

* Change highlighting

* Also reset in script editor

* Show dialog when pasting to changed automation/script

* Add shortcuts to shortcuts dialog

* Use translated shortcut

* Change timeout and clear on save

* Fix imports

* Process code review

* Move paste logic to manual-*-editor
2025-04-29 18:28:07 +02:00
Wendelin 29c11978b3 Rename font-weight-semibold to medium (#25224) 2025-04-29 16:50:30 +02:00
Paul Bottein 574f9e8936 Add message when no entities found in the entity picker (#25222) 2025-04-29 12:34:09 +00:00
Wendelin fddc00bfab Change --ha-font-weight-bold (#25221)
* Use font-weight vars in roboto

* Revert roboto usage of vars
2025-04-29 14:24:06 +02:00
Paul Bottein ff5cbb0613 Revert "Add message in picker when no entities found"
This reverts commit 498d933c06.
2025-04-29 14:22:26 +02:00
Paul Bottein 498d933c06 Add message in picker when no entities found 2025-04-29 14:14:38 +02:00
Paul Bottein f9fbb254bf Use list item for entity picker (#25176)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: Wendelin <w@pe8.at>
2025-04-29 13:30:32 +02:00
Paul Bottein 536602580d Remove duplicated context files (#25212) 2025-04-29 11:51:05 +02:00
Wendelin c111bf1062 Add ha-badge docs to gallery (#25218) 2025-04-29 11:37:56 +02:00
Simon Lamon 0242fbc6f8 Guard against unknown entities in automation compare functions (#25213)
Guard against unknown entities
2025-04-29 08:24:49 +03:00
Wendelin f65a0ef4f7 Add context to config update entries (#25208)
* Add context to config update entries

* Add no area
2025-04-28 18:43:10 +02:00
emufan 92521d4565 Themeable badge icon size and badge font size (#25185)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-04-28 14:20:05 +00:00
Bram Kragten 66dbafb5f5 Render todo items with no state, change look of read only items (#24529)
* Render todo items with no state, change look of read only items

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
Co-authored-by: Wendelin <w@pe8.at>
2025-04-28 16:06:02 +02:00
Yosi Levy 7c46d2d2f4 History tooltip RTL fix (#24917)
* History tooltip RTL fix

* Fix background color
2025-04-28 16:30:26 +03:00
Wendelin ca642d46cc Add typography styles (#25171)
* Add typoghrapy styles

* Split styles

* Fix duplicated html

* remove unused paper vars

* Fix vars

* Add vars autocompletion extension

* Fix css syntax highlighting
2025-04-28 16:04:47 +03:00
renovate[bot] 9a52185e13 Update vaadinWebComponents monorepo to v24.7.4 (#25204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 14:54:24 +03:00
renovate[bot] 39a73774b0 Update rspack monorepo to v1.3.7 (#25206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 14:53:45 +03:00
Wendelin b25b170539 Update ha cloud backup info translation (#25203)
* Update ha cloud backup info translation

* Update src/translations/en.json
2025-04-28 12:15:18 +02:00
Bram Kragten 6442606fc5 Wait for backup integration when doing a restore (#25188)
Co-authored-by: Wendelin <w@pe8.at>
2025-04-28 07:51:58 +00:00
Wendelin 1b79869c87 Backup retention by location (#25144) 2025-04-28 09:24:34 +02:00
Bram Kragten 672fbc6007 Fix storage decorator timing (#25199) 2025-04-28 08:46:13 +03:00
renovate[bot] e1899836bf Update dependency marked to v15.0.11 (#25202)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 08:28:34 +03:00
Said Tahsin Dane e90967d200 Scripts - Fix the run button to check if the script has fields (#25156)
* Fix the run button to check if the script has fields

* Used a more straightforward function to check fields instead of an async call
2025-04-27 16:17:55 +00:00
renovate[bot] 631bfe46ba Update dependency @codemirror/view to v6.36.6 (#25194)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-27 19:06:56 +03:00
Bram Kragten a5762f07ac Rename entity ids when updating device name during config flow (#25186)
* Rename entity ids when updating device name during config flow

* simplify
2025-04-27 19:06:26 +03:00
renovate[bot] bf7422e4c5 Update rspack monorepo to v1.3.6 (#25193)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-27 08:26:19 +02:00
renovate[bot] 45994e7989 Update dependency marked to v15.0.10 (#25191)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-27 08:21:50 +02:00
Simon Lamon 995e3f10ad Replace remaining mwc-tabs (#25179)
* Remaining mwc-tabs

* Apply suggestions from code review

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-04-26 20:12:03 +00:00
karwosts 6464c2b602 Share energy sum calculation across all cards (#25184) 2025-04-26 20:58:33 +03:00
renovate[bot] 8901c1fb31 Update dependency glob to v11.0.2 (#25183)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-26 19:38:54 +03:00
Simon Lamon 1f5f18f7e7 Align add-view button in edit dashboard (#25181)
Align button
2025-04-26 19:29:02 +03:00
Simon Lamon 51ca3e277c Fix wrong label selected when filtering labels (#25180)
Fix filtered labels
2025-04-26 19:27:15 +03:00
J. Nick Koston ee495a432f Add initial zeroconf panel (#25151)
* Add initial zeroconf panel
2025-04-26 12:14:47 +02:00
Bram Kragten d75ea3bb8d Replace mwc-tab -> sl-tab (#25166)
* Replace mwc-tab -> sl-tab
2025-04-25 17:05:04 +00:00
Paulus Schoutsen 40fbeaae1c render voice names for Cloud voices (#25164) 2025-04-25 09:43:04 -04:00
renovate[bot] dc2c6cee21 Update dependency @codemirror/legacy-modes to v6.5.1 (#25177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 13:24:29 +00:00
Petar Petrov 3b0cd9e3ae Improve handling of batteries in sankey chart (#25175) 2025-04-25 14:18:40 +02:00
ildar170975 834ece8547 Fix height & scroll in hui-dialog-create-card (#25042)
* set min/max height & fix margin for "search" field

* remove restoring height & width

* added scrollTo(top)

* compare _filter with _prevFilter

* use changedProps
2025-04-25 14:24:27 +03:00
Bram Kragten b7aa296be7 remove wait for person in onboarding user (#25173) 2025-04-25 14:18:53 +03:00
Petar Petrov 0cab6c9e2e Use refactored Z-Wave reconfigure flow (#25174) 2025-04-25 11:18:22 +00:00
Bram Kragten 94c8665528 Improve sidebar styling (#25172) 2025-04-25 14:16:07 +03:00
Simon Lamon c7ca654926 Clean up polymer paper item CSS variables (#24896)
Co-authored-by: Wendelin <12148533+wendevlin@users.noreply.github.com>
2025-04-25 13:08:54 +02:00
Bram Kragten 488599905b Always use target ES2021 (#25170) 2025-04-25 09:04:05 +00:00
Bram Kragten 221e1d9ed8 Allow to change device names during config flow (#25142)
* Allow to change device names during config flow

* Update zha-device-card.ts

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-04-25 10:04:00 +03:00
Bram Kragten 0229f67751 Replace clickable list item (#25165) 2025-04-25 10:01:19 +03:00
Bram Kragten 3a0c367f76 Add a drag-scroll controller (#25159)
* Add a drag-scroll controller

* simplify and fix
2025-04-25 08:51:35 +03:00
renovate[bot] af0854e480 Update dependency marked to v15.0.9 (#25168)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-25 06:18:46 +02:00
Simon Lamon 14f4120926 Fix menu not opening options (#25162) 2025-04-24 20:20:11 +02:00
renovate[bot] e2bd464001 Update dependency typescript-eslint to v8.31.0 (#25161)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 20:09:48 +02:00
renovate[bot] eb9f81d9a1 Update dependency eslint to v9.25.1 (#25160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 19:32:07 +02:00
Johannes Hager 078209d154 Add Option to wrap or scroll section header badges (#24709) 2025-04-24 15:04:09 +00:00
Wendelin 7a617600ad Add unit tests and docs for common/context (#25158) 2025-04-24 16:57:29 +02:00
Wendelin ae74e3496c Add typography tokens (#25084) 2025-04-24 16:52:03 +02:00
Petar Petrov c0f304ad40 Use numeric prefix for IPv6 mask (#25130) 2025-04-24 16:45:37 +02:00
renovate[bot] c794a2734b Update dependency @lit/context to v1.1.5 (#25157)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 12:21:10 +00:00
Bram Kragten e156dd36f4 Use SWC for typescript, update to Lit 3, migrate decorators (#25150)
Co-authored-by: Wendelin <w@pe8.at>
2025-04-24 14:10:35 +02:00
Wendelin c40bf8f3cd Add prevent restart when backup is ongoing (#25010)
* Add prevent restart when backup is ongoing

* Fix types

* Add error handling

* Improve review issues
2025-04-24 13:45:42 +03:00
renovate[bot] 93485d8b57 Update vitest monorepo to v3.1.2 (#25155)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-24 13:10:44 +03:00
Paul Bottein ce5cdaa496 Add badges section on the areas strategy editor (#25154) 2025-04-24 12:36:54 +03:00
Wendelin dcbaa31c96 Add system-managed addon info (#25132)
* Add system managed addon info dialog

* Add system managed alert

* Fix translation

* Update hassio/src/addon-view/info/hassio-addon-info.ts

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>

---------

Co-authored-by: Petar Petrov <MindFreeze@users.noreply.github.com>
2025-04-24 11:12:34 +03:00
Wendelin 71b2e5f827 Improve onboarding styling (#25147) 2025-04-24 10:54:43 +03:00
Wendelin d58590b534 Add automation loading indicator (#25146) 2025-04-24 08:01:25 +02:00
Wendelin b2044e88b6 Improve landingpage translation loading (#25148) 2025-04-24 08:33:14 +03:00
Paul Bottein 94b5ed97c6 Refactor multi term fuse search to reuse it (#25143)
* Refactor multi term fuse search to re-use

* Do not create filter when not open

* Update fuse options

* Use fuse options
2025-04-24 08:31:02 +03:00
Zhephyr 11b8f6210f Extend usage of Data Entry Flow forms description_placeholders to field labels (#25115) 2025-04-23 12:46:15 +03:00
Paul Bottein 8e778cfc32 Use new entity naming in statistic picker (#25137) 2025-04-23 08:37:03 +03:00
karwosts 4c6a5ed2e3 convert-color: color names should be case insensitive (#25140)
convert-color: colornames should be case insensitive
2025-04-23 08:14:53 +03:00
Simon Lamon 48c90267df Fix stuck onboarding when no devices are discovered (#25106)
* Broken onboarding

* Introduce a boolean var and return previous code

* Remove import
2025-04-23 08:14:03 +03:00
Simon Lamon fcab356639 Change netlify actions (#24815)
* Netlify fix

* Fix missing \

* Prettier

* PR review

* npx

* npx
2025-04-22 13:22:03 +02:00
Paul Bottein a70a0d4b4a Fix event propagation in generic entity row (#25134) 2025-04-22 13:15:20 +02:00
Bram Kragten 6a333a4774 Bumped version to 20250411.0 2025-04-11 14:45:42 +02:00
Paul Bottein 7742ccf631 Only ask to refresh dashboard if necessary (#24993) 2025-04-11 14:45:07 +02:00
Paul Bottein 20f2a8d53e Fix refresh strategy config on HA start-up (#24984) 2025-04-11 14:45:07 +02:00
Bram Kragten ec9fbe7d77 fix dropdown behind datatable (#24981) 2025-04-11 14:45:06 +02:00
Wendelin 6fa226d30a Fix submit spinner in config-flow-form (#24969) 2025-04-11 14:45:04 +02:00
Bram Kragten b76a723fd9 fix voice wizard bugs (#24950) 2025-04-11 14:44:09 +02:00
Paul Bottein 5237cc72b7 Restore default hold action for some cards (#24947) 2025-04-11 14:42:20 +02:00
Jan-Philipp Benecke 63d2718f67 Import missing ha-tip in quick bar dialog (#24929) 2025-04-11 14:42:19 +02:00
Bram Kragten 1e26f155a7 Bumped version to 20250404.0 2025-04-04 15:10:56 +02:00
Simon Lamon 27e13017c3 Show the correct area icon in entity breadcrumb (#24913) 2025-04-04 15:10:37 +02:00
Paul Bottein 88f1dc9c16 Add missing translations for areas strategy (#24905) 2025-04-04 15:10:36 +02:00
Paul Bottein 825e707a80 Refresh dashboard strategy when registries changed (#24902)
* Refresh dashboard strategy when registries changed

* Display toast before refreshing dashboard

* Apply suggestions
2025-04-04 15:10:35 +02:00
Bram Kragten 0bcaa104e7 Bumped version to 20250401.0 2025-04-01 17:30:31 +02:00
Bram Kragten 6b3f807129 Developer tools action fixes (#24876) 2025-04-01 17:30:16 +02:00
Paul Bottein c464d344db Add ellipsis for more info breadcrumb (#24882) 2025-04-01 17:29:14 +02:00
karwosts 69f0a4a728 Fix condition rendering in trace choose node (#24878) 2025-04-01 17:29:13 +02:00
Bram Kragten 2ba8f9f99d Bumped version to 20250331.0 2025-03-31 20:43:31 +02:00
Bram Kragten 7e06bbc467 Fix add zwave device my link (#24871) 2025-03-31 20:42:38 +02:00
Paul Bottein 6017d82c21 Handle date range shift during daylight saving time days (#24868) 2025-03-31 20:42:37 +02:00
Bram Kragten 40c200a172 fix spinner in tts try dialog (#24867) 2025-03-31 20:42:36 +02:00
Bram Kragten a2f70f682f Take lang into account when search existing pipeline (#24866)
* Take lang into account when search existing pipeline

* Simplify logic
2025-03-31 20:42:36 +02:00
Paul Bottein c42a899b52 Force clock card to display time LTR (#24865) 2025-03-31 20:42:35 +02:00
Paul Bottein 706f43e99e Add interactions for weather card editor (#24864) 2025-03-31 20:42:34 +02:00
karwosts f5496c21e8 Bar charts start from 0 (#24854) 2025-03-31 20:42:33 +02:00
Paul Bottein 34dce5b279 Only use button for breadcrumb for admin users (#24836) 2025-03-31 20:42:32 +02:00
Bram Kragten a4f07423ec Name local pipeline based on local or full choice (#24835) 2025-03-31 20:42:31 +02:00
Bram Kragten 9e32c24f3c Update lang support text in voice wizard (#24834) 2025-03-31 20:42:30 +02:00
Paul Bottein b281d095cd Remove add-on word in satellite wizard translations for state (#24832) 2025-03-31 20:42:29 +02:00
Paul Bottein fe7e8e17ae More info breadcrumb clickable (#24830)
* Make more info breadcrum clickable

* css adjustements
2025-03-28 15:37:27 +01:00
Eloy Rodriguez 2161357226 Add title and time zone to clock card (#24818)
* Add title and time zone to clock card

* Small changes to the spacing and text sizing of the clock card

* Update translations to use dropdown labels from profile configuration

* Use similar approach as #24819 for setting automatic time zone

* Update hui-clock-card.ts

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-03-28 15:37:02 +01:00
Darren Griffin e8e65a4293 Fix default time_format option. Fixes #24798 (#24819)
* Fix default time_format option. Fixes #24798

* Update en.json

* Update src/translations/en.json

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-03-28 15:36:29 +01:00
Bram Kragten 724adab2d6 Bumped version to 20250328.0 2025-03-28 15:02:51 +01:00
Bram Kragten 345ad6c9c5 Update voice-assistant-setup-step-local.ts 2025-03-28 15:02:37 +01:00
Bram Kragten a88d066d7e Update text voice wizard install addons step (#24829) 2025-03-28 15:02:15 +01:00
Paulus Schoutsen a8e5c8482b Hide backup from default dashboard (#24828) 2025-03-28 15:02:14 +01:00
Paulus Schoutsen d5ff8ab1e1 Do not play pre-announce sound when testing voice on satellite (#24827) 2025-03-28 15:02:13 +01:00
Bram Kragten e765cc10fb Fix voice flow (#24825)
* Fix voice flow

* Apply suggestions from code review

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-03-28 15:02:12 +01:00
Paul Bottein 916dec101f Add hold and double tap action in the UI for every card that supports it. (#24824)
* Add double tap action to button card UI editor

* Add double tap action to light card UI editor

* Add hold action and double tap action to gauge card UI editor

* Add hold action and double tap action to picture glance card UI editor

* Add hold action and double tap action to picture card UI editor

* Add hold action and double tap action to entity card UI editor

* Add hold action and double tap action to elements
2025-03-28 15:02:11 +01:00
Paul Bottein 909fc119b7 Add scroll restoration when using back navigation in dashboard (#24822)
Add scroll restoration when using back navigation with subviews
2025-03-28 15:02:10 +01:00
puddly 8751dc46f4 Show hardware integrations in the integration list (#24820)
Show hardware integrations in the frontend
2025-03-28 15:02:09 +01:00
Paul Bottein 118c25d25f Bumped version to 20250327.1 2025-03-27 19:12:22 +01:00
Paul Bottein ae5427a75e Fix dashboard strategy (#24808) 2025-03-27 19:12:03 +01:00
Paul Bottein 3b6e267fb5 Fallback to state name when the entry doesn't have name (#24805) 2025-03-27 19:12:02 +01:00
Bram Kragten 1770a51303 Bumped version to 20250327.0 2025-03-27 16:46:17 +01:00
Paul Bottein 534df3d378 Add loading state to area strategy (#24803) 2025-03-27 16:44:15 +01:00
Paul Bottein 23229b3e3b Set the max number of columns to 3 for area dashboard (#24802)
* Set the max number of columns to 4 for area dashboard

* Set it to 3
2025-03-27 16:44:14 +01:00
karwosts 94ee99160b Energy device settings fixes (#24801) 2025-03-27 16:44:13 +01:00
Paul Bottein b009d71e8f Fix take control of the dashboard (#24800) 2025-03-27 16:44:12 +01:00
Bram Kragten 2ab8209622 Align behavior of template selector with text selector (#24796) 2025-03-27 16:44:11 +01:00
Paul Bottein ed2940edc3 Revert "Restore scroll position when using back navigation in dashboard" (#24795)
Revert "Restore scroll position when using back navigation in dashboard (#24777)"

This reverts commit 9cfcd21a93.
2025-03-27 16:44:11 +01:00
Paul Bottein e2b9a06242 Fix more info for disabled entities (#24789) 2025-03-27 16:44:10 +01:00
Paul Bottein a7acee0438 Remove fixed height in ha tile info (#24787)
Remove unused height in ha tile info
2025-03-27 16:44:09 +01:00
Bram Kragten 1208af510c Fix typo in Arithmetic (#24786)
Fix type in Arithmetic
2025-03-27 16:44:08 +01:00
1373 changed files with 67529 additions and 28769 deletions
+2 -1
View File
@@ -21,7 +21,8 @@
"esbenp.prettier-vscode",
"runem.lit-plugin",
"github.vscode-pull-request-github",
"eamodio.gitlens"
"eamodio.gitlens",
"yeion7.styled-global-variables-autocomplete"
],
"settings": {
"files.eol": "\n",
+3 -3
View File
@@ -11,7 +11,7 @@ body:
**Please do not report issues for custom cards.**
[fr]: https://github.com/home-assistant/frontend/discussions
[fr]: https://github.com/orgs/home-assistant/discussions
[releases]: https://github.com/home-assistant/home-assistant/releases
- type: checkboxes
attributes:
@@ -108,9 +108,9 @@ body:
render: yaml
- type: textarea
attributes:
label: Javascript errors shown in your browser console/inspector
label: JavaScript errors shown in your browser console/inspector
description: >
If you come across any Javascript or other error logs, e.g., in your
If you come across any JavaScript or other error logs, e.g., in your
browser console/inspector please provide them.
render: txt
- type: textarea
+1 -1
View File
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: Request a feature for the UI / Dashboards
url: https://github.com/home-assistant/frontend/discussions/category_choices
url: https://github.com/orgs/home-assistant/discussions
about: Request a new feature for the Home Assistant frontend.
- name: Report a bug that is NOT related to the UI / Dashboards
url: https://github.com/home-assistant/core/issues
+53
View File
@@ -0,0 +1,53 @@
name: Task
description: For staff only - Create a task
type: Task
body:
- type: markdown
attributes:
value: |
## ⚠️ RESTRICTED ACCESS
**This form is restricted to Open Home Foundation staff and authorized contributors only.**
If you are a community member wanting to contribute, please:
- For bug reports: Use the [bug report form](https://github.com/home-assistant/frontend/issues/new?template=bug_report.yml)
- For feature requests: Submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)
---
### For authorized contributors
Use this form to create tasks for development work, improvements, or other actionable items that need to be tracked.
- type: textarea
id: description
attributes:
label: Description
description: |
Provide a clear and detailed description of the task that needs to be accomplished.
Be specific about what needs to be done, why it's important, and any constraints or requirements.
placeholder: |
Describe the task, including:
- What needs to be done
- Why this task is needed
- Expected outcome
- Any constraints or requirements
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: Additional context
description: |
Any additional information, links, research, or context that would be helpful.
Include links to related issues, research, prototypes, roadmap opportunities etc.
placeholder: |
- Roadmap opportunity: [link]
- Epic: [link]
- Feature request: [link]
- Technical design documents: [link]
- Prototype/mockup: [link]
- Dependencies: [links]
validations:
required: false
+596
View File
@@ -0,0 +1,596 @@
# GitHub Copilot & Claude Code Instructions
You are an assistant helping with development of the Home Assistant frontend. The frontend is built using Lit-based Web Components and TypeScript, providing a responsive and performant interface for home automation control.
## Table of Contents
- [Quick Reference](#quick-reference)
- [Core Architecture](#core-architecture)
- [Development Standards](#development-standards)
- [Component Library](#component-library)
- [Common Patterns](#common-patterns)
- [Text and Copy Guidelines](#text-and-copy-guidelines)
- [Development Workflow](#development-workflow)
- [Review Guidelines](#review-guidelines)
## Quick Reference
### Essential Commands
```bash
yarn lint # ESLint + Prettier + TypeScript + Lit
yarn format # Auto-fix ESLint + Prettier
yarn lint:types # TypeScript compiler
yarn test # Vitest
script/develop # Development server
```
### Component Prefixes
- `ha-` - Home Assistant components
- `hui-` - Lovelace UI components
- `dialog-` - Dialog components
### Import Patterns
```typescript
import type { HomeAssistant } from "../types";
import { fireEvent } from "../common/dom/fire_event";
import { showAlertDialog } from "../dialogs/generic/show-alert-dialog";
```
## Core Architecture
The Home Assistant frontend is a modern web application that:
- Uses Web Components (custom elements) built with Lit framework
- Is written entirely in TypeScript with strict type checking
- Communicates with the backend via WebSocket API
- Provides comprehensive theming and internationalization
## Development Standards
### Code Quality Requirements
**Linting and Formatting (Enforced by Tools)**
- ESLint config extends Airbnb, TypeScript strict, Lit, Web Components, Accessibility
- Prettier with ES5 trailing commas enforced
- No console statements (`no-console: "error"`) - use proper logging
- Import organization: No unused imports, consistent type imports
**Naming Conventions**
- PascalCase for types and classes
- camelCase for variables, methods
- Private methods require leading underscore
- Public methods forbid leading underscore
### TypeScript Usage
- **Always use strict TypeScript**: Enable all strict flags, avoid `any` types
- **Proper type imports**: Use `import type` for type-only imports
- **Define interfaces**: Create proper interfaces for data structures
- **Type component properties**: All Lit properties must be properly typed
- **No unused variables**: Prefix with `_` if intentionally unused
- **Consistent imports**: Use `@typescript-eslint/consistent-type-imports`
```typescript
// Good
import type { HomeAssistant } from "../types";
interface EntityConfig {
entity: string;
name?: string;
}
@property({ type: Object })
hass!: HomeAssistant;
// Bad
@property()
hass: any;
```
### Web Components with Lit
- **Use Lit 3.x patterns**: Follow modern Lit practices
- **Extend appropriate base classes**: Use `LitElement`, `SubscribeMixin`, or other mixins as needed
- **Define custom element names**: Use `ha-` prefix for components
```typescript
@customElement("ha-my-component")
export class HaMyComponent extends LitElement {
@property({ attribute: false })
hass!: HomeAssistant;
@state()
private _config?: MyComponentConfig;
static get styles() {
return css`
:host {
display: block;
}
`;
}
render() {
return html`<div>Content</div>`;
}
}
```
### Component Guidelines
- **Use composition**: Prefer composition over inheritance
- **Lazy load panels**: Heavy panels should be dynamically imported
- **Optimize renders**: Use `@state()` for internal state, `@property()` for public API
- **Handle loading states**: Always show appropriate loading indicators
- **Support themes**: Use CSS custom properties from theme
### Data Management
- **Use WebSocket API**: All backend communication via home-assistant-js-websocket
- **Cache appropriately**: Use collections and caching for frequently accessed data
- **Handle errors gracefully**: All API calls should have error handling
- **Update real-time**: Subscribe to state changes for live updates
```typescript
// Good
try {
const result = await fetchEntityRegistry(this.hass.connection);
this._processResult(result);
} catch (err) {
showAlertDialog(this, {
text: `Failed to load: ${err.message}`,
});
}
```
### Styling Guidelines
- **Use CSS custom properties**: Leverage the theme system
- **Mobile-first responsive**: Design for mobile, enhance for desktop
- **Follow Material Design**: Use Material Web Components where appropriate
- **Support RTL**: Ensure all layouts work in RTL languages
```typescript
static get styles() {
return css`
:host {
--spacing: 16px;
padding: var(--spacing);
color: var(--primary-text-color);
background-color: var(--card-background-color);
}
@media (max-width: 600px) {
:host {
--spacing: 8px;
}
}
`;
}
```
### Performance Best Practices
- **Code split**: Split code at the panel/dialog level
- **Lazy load**: Use dynamic imports for heavy components
- **Optimize bundle**: Keep initial bundle size minimal
- **Use virtual scrolling**: For long lists, implement virtual scrolling
- **Memoize computations**: Cache expensive calculations
### Testing Requirements
- **Write tests**: Add tests for data processing and utilities
- **Test with Vitest**: Use the established test framework
- **Mock appropriately**: Mock WebSocket connections and API calls
- **Test accessibility**: Ensure components are accessible
## Component Library
### Dialog Components
**Available Dialog Types:**
- `ha-md-dialog` - Preferred for new code (Material Design 3)
- `ha-dialog` - Legacy component still widely used
**Opening Dialogs (Fire Event Pattern - Recommended):**
```typescript
fireEvent(this, "show-dialog", {
dialogTag: "dialog-example",
dialogImport: () => import("./dialog-example"),
dialogParams: { title: "Example", data: someData },
});
```
**Dialog Implementation Requirements:**
- Implement `HassDialog<T>` interface
- Use `createCloseHeading()` for standard headers
- Import `haStyleDialog` for consistent styling
- Return `nothing` when no params (loading state)
- Fire `dialog-closed` event when closing
- Add `dialogInitialFocus` for accessibility
````
### Form Component (ha-form)
- Schema-driven using `HaFormSchema[]`
- Supports entity, device, area, target, number, boolean, time, action, text, object, select, icon, media, location selectors
- Built-in validation with error display
- Use `dialogInitialFocus` in dialogs
- Use `computeLabel`, `computeError`, `computeHelper` for translations
```typescript
<ha-form
.hass=${this.hass}
.data=${this._data}
.schema=${this._schema}
.error=${this._errors}
.computeLabel=${(schema) => this.hass.localize(`ui.panel.${schema.name}`)}
@value-changed=${this._valueChanged}
></ha-form>
````
### Alert Component (ha-alert)
- Types: `error`, `warning`, `info`, `success`
- Properties: `title`, `alert-type`, `dismissable`, `icon`, `action`, `rtl`
- Content announced by screen readers when dynamically displayed
```html
<ha-alert alert-type="error">Error message</ha-alert>
<ha-alert alert-type="warning" title="Warning">Description</ha-alert>
<ha-alert alert-type="success" dismissable>Success message</ha-alert>
```
## Common Patterns
### Creating a Panel
```typescript
@customElement("ha-panel-myfeature")
export class HaPanelMyFeature extends SubscribeMixin(LitElement) {
@property({ attribute: false })
hass!: HomeAssistant;
@property({ type: Boolean, reflect: true })
narrow!: boolean;
@property()
route!: Route;
hassSubscribe() {
return [
subscribeEntityRegistry(this.hass.connection, (entities) => {
this._entities = entities;
}),
];
}
}
```
### Creating a Dialog
```typescript
@customElement("dialog-my-feature")
export class DialogMyFeature
extends LitElement
implements HassDialog<MyDialogParams>
{
@property({ attribute: false })
hass!: HomeAssistant;
@state()
private _params?: MyDialogParams;
public async showDialog(params: MyDialogParams): Promise<void> {
this._params = params;
}
public closeDialog(): void {
this._params = undefined;
fireEvent(this, "dialog-closed", { dialog: this.localName });
}
protected render() {
if (!this._params) {
return nothing;
}
return html`
<ha-dialog
open
@closed=${this.closeDialog}
.heading=${createCloseHeading(this.hass, this._params.title)}
>
<!-- Dialog content -->
<ha-button
appearance="plain"
@click=${this.closeDialog}
slot="secondaryAction"
>
${this.hass.localize("ui.common.cancel")}
</ha-button>
<ha-button @click=${this._submit} slot="primaryAction">
${this.hass.localize("ui.common.save")}
</ha-button>
</ha-dialog>
`;
}
static styles = [haStyleDialog, css``];
}
```
### Dialog Design Guidelines
- Max width: 560px (Alert/confirmation: 320px fixed width)
- Close X-icon on top left (all screen sizes)
- Submit button grouped with cancel at bottom right
- Keep button labels short: "Save", "Delete", "Enable"
- Destructive actions use red warning button
- Always use a title (best practice)
- Strive for minimalism
#### Creating a Lovelace Card
**Purpose**: Cards allow users to tell different stories about their house (based on gallery)
```typescript
@customElement("hui-my-card")
export class HuiMyCard extends LitElement implements LovelaceCard {
@property({ attribute: false })
hass!: HomeAssistant;
@state()
private _config?: MyCardConfig;
public setConfig(config: MyCardConfig): void {
if (!config.entity) {
throw new Error("Entity required");
}
this._config = config;
}
public getCardSize(): number {
return 3; // Height in grid units
}
// Optional: Editor for card configuration
public static getConfigElement(): LovelaceCardEditor {
return document.createElement("hui-my-card-editor");
}
// Optional: Stub config for card picker
public static getStubConfig(): object {
return { entity: "" };
}
}
```
**Card Guidelines:**
- Cards are highly customizable for different households
- Implement `LovelaceCard` interface with `setConfig()` and `getCardSize()`
- Use proper error handling in `setConfig()`
- Consider all possible states (loading, error, unavailable)
- Support different entity types and states
- Follow responsive design principles
- Add configuration editor when needed
### Internationalization
- **Use localize**: Always use the localization system
- **Add translation keys**: Add keys to src/translations/en.json
- **Support placeholders**: Use proper placeholder syntax
```typescript
this.hass.localize("ui.panel.config.updates.update_available", {
count: 5,
});
```
### Accessibility
- **ARIA labels**: Add appropriate ARIA labels
- **Keyboard navigation**: Ensure all interactions work with keyboard
- **Screen reader support**: Test with screen readers
- **Color contrast**: Meet WCAG AA standards
## Development Workflow
### Setup and Commands
1. **Setup**: `script/setup` - Install dependencies
2. **Develop**: `script/develop` - Development server
3. **Lint**: `yarn lint` - Run all linting before committing
4. **Test**: `yarn test` - Add and run tests
5. **Build**: `script/build_frontend` - Test production build
### Common Pitfalls to Avoid
- Don't use `querySelector` - Use refs or component properties
- Don't manipulate DOM directly - Let Lit handle rendering
- Don't use global styles - Scope styles to components
- Don't block the main thread - Use web workers for heavy computation
- Don't ignore TypeScript errors - Fix all type issues
### Security Best Practices
- Sanitize HTML - Never use `unsafeHTML` with user content
- Validate inputs - Always validate user inputs
- Use HTTPS - All external resources must use HTTPS
- CSP compliance - Ensure code works with Content Security Policy
### Text and Copy Guidelines
#### Terminology Standards
**Delete vs Remove** (Based on gallery/src/pages/Text/remove-delete-add-create.markdown)
- **Use "Remove"** for actions that can be restored or reapplied:
- Removing a user's permission
- Removing a user from a group
- Removing links between items
- Removing a widget from dashboard
- Removing an item from a cart
- **Use "Delete"** for permanent, non-recoverable actions:
- Deleting a field
- Deleting a value in a field
- Deleting a task
- Deleting a group
- Deleting a permission
- Deleting a calendar event
**Create vs Add** (Create pairs with Delete, Add pairs with Remove)
- **Use "Add"** for already-existing items:
- Adding a permission to a user
- Adding a user to a group
- Adding links between items
- Adding a widget to dashboard
- Adding an item to a cart
- **Use "Create"** for something made from scratch:
- Creating a new field
- Creating a new task
- Creating a new group
- Creating a new permission
- Creating a new calendar event
#### Writing Style (Consistent with Home Assistant Documentation)
- **Use American English**: Standard spelling and terminology
- **Friendly, informational tone**: Be inspiring, personal, comforting, engaging
- **Address users directly**: Use "you" and "your"
- **Be inclusive**: Objective, non-discriminatory language
- **Be concise**: Use clear, direct language
- **Be consistent**: Follow established terminology patterns
- **Use active voice**: "Delete the automation" not "The automation should be deleted"
- **Avoid jargon**: Use terms familiar to home automation users
#### Language Standards
- **Always use "Home Assistant"** in full, never "HA" or "HASS"
- **Avoid abbreviations**: Spell out terms when possible
- **Use sentence case everywhere**: Titles, headings, buttons, labels, UI elements
- ✅ "Create new automation"
- ❌ "Create New Automation"
- ✅ "Device settings"
- ❌ "Device Settings"
- **Oxford comma**: Use in lists (item 1, item 2, and item 3)
- **Replace Latin terms**: Use "like" instead of "e.g.", "for example" instead of "i.e."
- **Avoid CAPS for emphasis**: Use bold or italics instead
- **Write for all skill levels**: Both technical and non-technical users
#### Key Terminology
- **"add-on"** (hyphenated, not "addon")
- **"integration"** (preferred over "component")
- **Technical terms**: Use lowercase (automation, entity, device, service)
#### Translation Considerations
- **Add translation keys**: All user-facing text must be translatable
- **Use placeholders**: Support dynamic content in translations
- **Keep context**: Provide enough context for translators
```typescript
// Good
this.hass.localize("ui.panel.config.automation.delete_confirm", {
name: automation.alias,
});
// Bad - hardcoded text
("Are you sure you want to delete this automation?");
```
### Common Review Issues (From PR Analysis)
#### User Experience and Accessibility
- **Form validation**: Always provide proper field labels and validation feedback
- **Form accessibility**: Prevent password managers from incorrectly identifying fields
- **Loading states**: Show clear progress indicators during async operations
- **Error handling**: Display meaningful error messages when operations fail
- **Mobile responsiveness**: Ensure components work well on small screens
- **Hit targets**: Make clickable areas large enough for touch interaction
- **Visual feedback**: Provide clear indication of interactive states
#### Dialog and Modal Patterns
- **Dialog width constraints**: Respect minimum and maximum width requirements
- **Interview progress**: Show clear progress for multi-step operations
- **State persistence**: Handle dialog state properly during background operations
- **Cancel behavior**: Ensure cancel/close buttons work consistently
- **Form prefilling**: Use smart defaults but allow user override
#### Component Design Patterns
- **Terminology consistency**: Use "Join"/"Apply" instead of "Group" when appropriate
- **Visual hierarchy**: Ensure proper font sizes and spacing ratios
- **Grid alignment**: Components should align to the design grid system
- **Badge placement**: Position badges and indicators consistently
- **Color theming**: Respect theme variables and design system colors
#### Code Quality Issues
- **Null checking**: Always check if entities exist before accessing properties
- **TypeScript safety**: Handle potentially undefined array/object access
- **Import organization**: Remove unused imports and use proper type imports
- **Event handling**: Properly subscribe and unsubscribe from events
- **Memory leaks**: Clean up subscriptions and event listeners
#### Configuration and Props
- **Optional parameters**: Make configuration fields optional when sensible
- **Smart defaults**: Provide reasonable default values
- **Future extensibility**: Design APIs that can be extended later
- **Validation**: Validate configuration before applying changes
## Review Guidelines
### Core Requirements Checklist
- [ ] TypeScript strict mode passes (`yarn lint:types`)
- [ ] No ESLint errors or warnings (`yarn lint:eslint`)
- [ ] Prettier formatting applied (`yarn lint:prettier`)
- [ ] Lit analyzer passes (`yarn lint:lit`)
- [ ] Component follows Lit best practices
- [ ] Proper error handling implemented
- [ ] Loading states handled
- [ ] Mobile responsive
- [ ] Theme variables used
- [ ] Translations added
- [ ] Accessible to screen readers
- [ ] Tests added (where applicable)
- [ ] No console statements (use proper logging)
- [ ] Unused imports removed
- [ ] Proper naming conventions
### Text and Copy Checklist
- [ ] Follows terminology guidelines (Delete vs Remove, Create vs Add)
- [ ] Localization keys added for all user-facing text
- [ ] Uses "Home Assistant" (never "HA" or "HASS")
- [ ] Sentence case for ALL text (titles, headings, buttons, labels)
- [ ] American English spelling
- [ ] Friendly, informational tone
- [ ] Avoids abbreviations and jargon
- [ ] Correct terminology (add-on not addon, integration not component)
### Component-Specific Checks
- [ ] Dialogs implement HassDialog interface
- [ ] Dialog styling uses haStyleDialog
- [ ] Dialog accessibility includes dialogInitialFocus
- [ ] ha-alert used correctly for messages
- [ ] ha-form uses proper schema structure
- [ ] Components handle all states (loading, error, unavailable)
- [ ] Entity existence checked before property access
- [ ] Event subscriptions properly cleaned up
+8 -10
View File
@@ -21,12 +21,12 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: dev
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -41,9 +41,8 @@ jobs:
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=cast/dist --alias dev
run: |
npx -y netlify-cli@23.7.3 deploy --dir=cast/dist --alias dev
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}
@@ -57,12 +56,12 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: master
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -77,9 +76,8 @@ jobs:
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=cast/dist --prod
run: |
npx -y netlify-cli@23.7.3 deploy --dir=cast/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}
+11 -11
View File
@@ -24,9 +24,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -37,7 +37,7 @@ jobs:
- name: Build resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-pages
- name: Setup lint cache
uses: actions/cache@v4.2.3
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
with:
path: |
node_modules/.cache/prettier
@@ -58,9 +58,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -76,9 +76,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -89,7 +89,7 @@ jobs:
env:
IS_TEST: "true"
- name: Upload bundle stats
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: frontend-bundle-stats
path: build/stats/*.json
@@ -100,9 +100,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -113,7 +113,7 @@ jobs:
env:
IS_TEST: "true"
- name: Upload bundle stats
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: supervisor-bundle-stats
path: build/stats/*.json
+4 -4
View File
@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
@@ -36,14 +36,14 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
uses: github/codeql-action/init@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6
with:
languages: ${{ matrix.language }}
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v3
uses: github/codeql-action/autobuild@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -57,4 +57,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
uses: github/codeql-action/analyze@64d10c13136e1c5bce3e5fbde8d4906eeaafc885 # v3.30.6
+8 -10
View File
@@ -22,12 +22,12 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: dev
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -42,9 +42,8 @@ jobs:
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=demo/dist --prod
run: |
npx -y netlify-cli@23.7.3 deploy --dir=demo/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
@@ -58,12 +57,12 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: master
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -78,9 +77,8 @@ jobs:
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=demo/dist --prod
run: |
npx -y netlify-cli@23.7.3 deploy --dir=demo/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_SITE_ID }}
+4 -5
View File
@@ -16,10 +16,10 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -34,9 +34,8 @@ jobs:
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=gallery/dist --prod
run: |
npx -y netlify-cli@23.7.3 deploy --dir=gallery/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_GALLERY_SITE_ID }}
+7 -6
View File
@@ -21,10 +21,10 @@ jobs:
if: github.repository == 'home-assistant/frontend' && contains(github.event.pull_request.labels.*.name, 'needs design preview')
steps:
- name: Check out files from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -39,13 +39,14 @@ jobs:
- name: Deploy preview to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=gallery/dist --alias "deploy-preview-${{ github.event.number }}"
run: |
npx -y netlify-cli@23.7.3 deploy --dir=gallery/dist --alias "deploy-preview-${{ github.event.number }}" \
--json > deploy_output.json
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_GALLERY_SITE_ID }}
- name: Generate summary
run: |
echo "${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}" >> "$GITHUB_STEP_SUMMARY"
NETLIFY_LIVE_URL=$(jq -r '.deploy_url' deploy_output.json)
echo "$NETLIFY_LIVE_URL" >> "$GITHUB_STEP_SUMMARY"
+1 -1
View File
@@ -10,6 +10,6 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Apply labels
uses: actions/labeler@v5.0.0
uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1
with:
sync-labels: true
+1 -1
View File
@@ -9,7 +9,7 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v5.0.1
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1
with:
github-token: ${{ github.token }}
process-only: "issues, prs"
+5 -5
View File
@@ -20,15 +20,15 @@ jobs:
contents: write
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -57,14 +57,14 @@ jobs:
run: tar -czvf translations.tar.gz translations
- name: Upload build artifacts
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: wheels
path: dist/home_assistant_frontend*.whl
if-no-files-found: error
- name: Upload translations
uses: actions/upload-artifact@v4.6.2
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: translations
path: translations.tar.gz
+1 -1
View File
@@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Send bundle stats and build information to RelativeCI
uses: relative-ci/agent-action@v2.2.0
uses: relative-ci/agent-action@1707825cbfcc7452b2913d273414705415ae64d4 # v3.0.1
with:
key: ${{ secrets[format('RELATIVE_CI_KEY_{0}_{1}', matrix.bundle, matrix.build)] }}
token: ${{ github.token }}
+1 -1
View File
@@ -18,6 +18,6 @@ jobs:
pull-requests: read
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v6.1.0
- uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+12 -11
View File
@@ -23,10 +23,10 @@ jobs:
contents: write # Required to upload release assets
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v5
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ env.PYTHON_VERSION }}
@@ -34,7 +34,7 @@ jobs:
uses: home-assistant/actions/helpers/verify-version@master
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -55,7 +55,7 @@ jobs:
script/release
- name: Upload release assets
uses: softprops/action-gh-release@v2.2.2
uses: softprops/action-gh-release@62c96d0c4e8a889135c1f3a25910db8dbe0e85f7 # v2.3.4
with:
files: |
dist/*.whl
@@ -73,8 +73,9 @@ jobs:
version=$(echo "${{ github.ref }}" | awk -F"/" '{print $NF}' )
echo "home-assistant-frontend==$version" > ./requirements.txt
# home-assistant/wheels doesn't support SHA pinning
- name: Build wheels
uses: home-assistant/wheels@2025.03.0
uses: home-assistant/wheels@2025.09.1
with:
abi: cp313
tag: musllinux_1_2
@@ -90,9 +91,9 @@ jobs:
contents: write # Required to upload release assets
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -107,7 +108,7 @@ jobs:
- name: Tar folder
run: tar -czf landing-page/home_assistant_frontend_landingpage-${{ github.event.release.tag_name }}.tar.gz -C landing-page/dist .
- name: Upload release asset
uses: softprops/action-gh-release@v2.2.2
uses: softprops/action-gh-release@62c96d0c4e8a889135c1f3a25910db8dbe0e85f7 # v2.3.4
with:
files: landing-page/home_assistant_frontend_landingpage-${{ github.event.release.tag_name }}.tar.gz
@@ -119,9 +120,9 @@ jobs:
contents: write # Required to upload release assets
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node
uses: actions/setup-node@v4.4.0
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: ".nvmrc"
cache: yarn
@@ -136,6 +137,6 @@ jobs:
- name: Tar folder
run: tar -czf hassio/home_assistant_frontend_supervisor-${{ github.event.release.tag_name }}.tar.gz -C hassio/build .
- name: Upload release asset
uses: softprops/action-gh-release@v2.2.2
uses: softprops/action-gh-release@62c96d0c4e8a889135c1f3a25910db8dbe0e85f7 # v2.3.4
with:
files: hassio/home_assistant_frontend_supervisor-${{ github.event.release.tag_name }}.tar.gz
@@ -0,0 +1,58 @@
name: Restrict task creation
# yamllint disable-line rule:truthy
on:
issues:
types: [opened]
jobs:
check-authorization:
runs-on: ubuntu-latest
# Only run if this is a Task issue type (from the issue form)
if: github.event.issue.type.name == 'Task'
steps:
- name: Check if user is authorized
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8
with:
script: |
const issueAuthor = context.payload.issue.user.login;
// Check if user is an organization member
try {
await github.rest.orgs.checkMembershipForUser({
org: 'home-assistant',
username: issueAuthor
});
console.log(`✅ ${issueAuthor} is an organization member`);
return; // Authorized
} catch (error) {
console.log(`❌ ${issueAuthor} is not authorized to create Task issues`);
}
// Close the issue with a comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: `Hi @${issueAuthor}, thank you for your contribution!\n\n` +
`Task issues are restricted to Open Home Foundation staff and authorized contributors.\n\n` +
`If you would like to:\n` +
`- Report a bug: Please use the [bug report form](https://github.com/home-assistant/frontend/issues/new?template=bug_report.yml)\n` +
`- Request a feature: Please submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)\n\n` +
`If you believe you should have access to create Task issues, please contact the maintainers.`
});
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
state: 'closed'
});
// Add a label to indicate this was auto-closed
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['auto-closed']
});
+1 -1
View File
@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 90 days stale policy
uses: actions/stale@v9.1.0
uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10.1.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
+2 -1
View File
@@ -1,6 +1,7 @@
name: Translations
on:
workflow_dispatch:
push:
branches:
- dev
@@ -13,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Upload Translations
run: |
+4
View File
@@ -53,3 +53,7 @@ src/cast/dev_const.ts
# test coverage
test/coverage/
# AI tooling
.claude
+1 -1
View File
@@ -1 +1 @@
yarn run lint-staged --relative --shell "/bin/bash"
yarn run lint-staged --relative
+1 -1
View File
@@ -1 +1 @@
lts/iron
22.20.0
+2 -1
View File
@@ -5,6 +5,7 @@
"runem.lit-plugin",
"github.vscode-pull-request-github",
"eamodio.gitlens",
"vitest.explorer"
"vitest.explorer",
"yeion7.styled-global-variables-autocomplete"
]
}
@@ -0,0 +1,22 @@
diff --git a/mwc-formfield-base.js b/mwc-formfield-base.js
index 7b763326d7d51835ad52646bfbc80fe21989abd3..f2baa8224e6d03df1fdb0b9fd03f5c6d77fc8747 100644
--- a/mwc-formfield-base.js
+++ b/mwc-formfield-base.js
@@ -9,7 +9,7 @@ import { BaseElement } from '@material/mwc-base/base-element.js';
import { FormElement } from '@material/mwc-base/form-element.js';
import { observer } from '@material/mwc-base/observer.js';
import { html } from 'lit';
-import { property, query, queryAssignedNodes } from 'lit/decorators.js';
+import { property, query, queryAssignedElements } from 'lit/decorators.js';
import { classMap } from 'lit/directives/class-map.js';
export class FormfieldBase extends BaseElement {
constructor() {
@@ -96,7 +96,7 @@ __decorate([
query('.mdc-form-field')
], FormfieldBase.prototype, "mdcRoot", void 0);
__decorate([
- queryAssignedNodes('', true, '*')
+ queryAssignedElements({ slot: "", flatten: true, selector: "*" })
], FormfieldBase.prototype, "slottedInputs", void 0);
__decorate([
query('label')
@@ -0,0 +1,26 @@
diff --git a/mwc-list-base.js b/mwc-list-base.js
index 1ba95b6a01dcecea4d85b5cbbbcc3dfb04c40d5f..dced13fdb7929c490d6661b1bbe7e9f96dcd2285 100644
--- a/mwc-list-base.js
+++ b/mwc-list-base.js
@@ -11,7 +11,7 @@ import { BaseElement } from '@material/mwc-base/base-element.js';
import { observer } from '@material/mwc-base/observer.js';
import { deepActiveElementPath, doesElementContainFocus, isNodeElement } from '@material/mwc-base/utils.js';
import { html } from 'lit';
-import { property, query, queryAssignedNodes } from 'lit/decorators.js';
+import { property, query, queryAssignedElements } from 'lit/decorators.js';
import { ifDefined } from 'lit/directives/if-defined.js';
import MDCListFoundation, { isIndexSet } from './mwc-list-foundation.js';
export { createSetFromIndex, isEventMulti, isIndexSet } from './mwc-list-foundation.js';
@@ -425,10 +425,10 @@ __decorate([
query('.mdc-deprecated-list')
], ListBase.prototype, "mdcRoot", void 0);
__decorate([
- queryAssignedNodes('', true, '*')
+ queryAssignedElements({ flatten: true, selector: "*" })
], ListBase.prototype, "assignedElements", void 0);
__decorate([
- queryAssignedNodes('', true, '[tabindex="0"]')
+ queryAssignedElements({ flatten: true, selector: '[tabindex="0"]' })
], ListBase.prototype, "tabbableElements", void 0);
__decorate([
property({ type: Boolean }),
@@ -1,18 +0,0 @@
diff --git a/dist/hls.light.mjs b/dist/hls.light.mjs
index eed9d788fafdb159975e1a2eb08ac88ba9c9ac33..ace881935e6665946f1c8110ebd2f739cde4427e 100644
--- a/dist/hls.light.mjs
+++ b/dist/hls.light.mjs
@@ -20523,9 +20523,9 @@ class Hls {
}
Hls.defaultConfig = void 0;
-var KeySystemFormats = empty.KeySystemFormats;
-var KeySystems = empty.KeySystems;
-var SubtitleStreamController = empty.SubtitleStreamController;
-var TimelineController = empty.TimelineController;
+var KeySystemFormats = empty;
+var KeySystems = empty;
+var SubtitleStreamController = empty;
+var TimelineController = empty;
export { AbrController, AttrList, Cues as AudioStreamController, Cues as AudioTrackController, BasePlaylistController, BaseSegment, BaseStreamController, BufferController, Cues as CMCDController, CapLevelController, ChunkMetadata, ContentSteeringController, DateRange, Cues as EMEController, ErrorActionFlags, ErrorController, ErrorDetails, ErrorTypes, Events, FPSController, Fragment, Hls, HlsSkip, HlsUrlParameters, KeySystemFormats, KeySystems, Level, LevelDetails, LevelKey, LoadStats, MetadataSchema, NetworkErrorAction, Part, PlaylistLevelType, SubtitleStreamController, Cues as SubtitleTrackController, TimelineController, Hls as default, getMediaSource, isMSESupported, isSupported };
//# sourceMappingURL=hls.light.mjs.map
+942
View File
File diff suppressed because one or more lines are too long
-948
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -6,4 +6,4 @@ enableGlobalCache: false
nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-4.9.1.cjs
yarnPath: .yarn/releases/yarn-4.10.3.cjs
Symlink
+1
View File
@@ -0,0 +1 @@
.github/copilot-instructions.md
+8
View File
@@ -0,0 +1,8 @@
# People marked here will be automatically requested for a review
# when the code that they own is touched.
# https://github.com/blog/2392-introducing-code-owners
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# Part of the frontend that mobile developper should review
src/external_app/ @bgoncal @TimoPtr
test/external_app/ @bgoncal @TimoPtr
+13 -8
View File
@@ -73,6 +73,19 @@ module.exports.terserOptions = ({ latestBuild, isTestBuild }) => ({
sourceMap: !isTestBuild,
});
/** @type {import('@rspack/core').SwcLoaderOptions} */
module.exports.swcOptions = () => ({
jsc: {
loose: true,
externalHelpers: true,
target: "ES2021",
parser: {
syntax: "typescript",
decorators: true,
},
},
});
module.exports.babelOptions = ({
latestBuild,
isProdBuild,
@@ -97,7 +110,6 @@ module.exports.babelOptions = ({
shippedProposals: true,
},
],
"@babel/preset-typescript",
],
plugins: [
[
@@ -134,12 +146,6 @@ module.exports.babelOptions = ({
"@babel/plugin-transform-runtime",
{ version: dependencies["@babel/runtime"] },
],
// Transpile decorators (still in TC39 process)
// Modern browsers support class fields and private methods, but transform is required with the older decorator version dictated by Lit
[
"@babel/plugin-proposal-decorators",
{ version: "2018-09", decoratorsBeforeExport: true },
],
"@babel/plugin-transform-class-properties",
"@babel/plugin-transform-private-methods",
].filter(Boolean),
@@ -177,7 +183,6 @@ module.exports.babelOptions = ({
include: /\/node_modules\//,
exclude: [
"element-internals-polyfill",
"@shoelace-style",
"@?lit(?:-labs|-element|-html)?",
].map((p) => new RegExp(`/node_modules/${p}/`)),
},
@@ -16,6 +16,7 @@ const detailsClose = "</details>\n";
const dummyAPI = {
version: babelVersion,
// eslint-disable-next-line @typescript-eslint/no-empty-function
assertVersion: () => {},
caller: (callback) =>
callback({
+21 -13
View File
@@ -65,19 +65,26 @@ const createRspackConfig = ({
rules: [
{
test: /\.m?js$|\.ts$/,
use: (info) => ({
loader: "babel-loader",
options: {
...bundle.babelOptions({
latestBuild,
isProdBuild,
isTestBuild,
sw: info.issuerLayer === "sw",
}),
cacheDirectory: !isProdBuild,
cacheCompression: false,
exclude: /node_modules[\\/]core-js/,
use: (info) => [
{
loader: "babel-loader",
options: {
...bundle.babelOptions({
latestBuild,
isProdBuild,
isTestBuild,
sw: info.issuerLayer === "sw",
}),
cacheDirectory: !isProdBuild,
cacheCompression: false,
},
},
}),
{
loader: "builtin:swc-loader",
options: bundle.swcOptions(),
},
],
resolve: {
fullySpecified: false,
},
@@ -136,7 +143,8 @@ const createRspackConfig = ({
// calling define.amd will call require("!!webpack amd options")
resource.startsWith("!!webpack") ||
// loaded by webpack dev server but doesn't exist.
resource === "webpack/hot"
resource === "webpack/hot" ||
resource.startsWith("@swc/helpers")
) {
return false;
}
+1 -1
View File
@@ -14,5 +14,5 @@
"name": "Home Assistant Cast",
"short_name": "HA Cast",
"start_url": "/?homescreen=1",
"theme_color": "#03A9F4"
"theme_color": "#009ac7"
}
+1 -1
View File
@@ -1,3 +1,3 @@
import "./layout/hc-connect";
import("../../../src/resources/ha-style");
import("../../../src/resources/append-ha-style");
+33 -24
View File
@@ -1,5 +1,3 @@
import "@material/mwc-button/mwc-button";
import "@material/mwc-list/mwc-list";
import type { ActionDetail } from "@material/mwc-list/mwc-list";
import { mdiCast, mdiCastConnected, mdiViewDashboard } from "@mdi/js";
import type { Auth, Connection } from "home-assistant-js-websocket";
@@ -19,6 +17,9 @@ import {
import { atLeastVersion } from "../../../../src/common/config/version";
import { toggleAttribute } from "../../../../src/common/dom/toggle_attribute";
import "../../../../src/components/ha-icon";
import "../../../../src/components/ha-list";
import "../../../../src/components/ha-button";
import "../../../../src/components/ha-list-item";
import "../../../../src/components/ha-svg-icon";
import {
getLegacyLovelaceCollection,
@@ -29,7 +30,6 @@ import type { LovelaceViewConfig } from "../../../../src/data/lovelace/config/vi
import "../../../../src/layouts/hass-loading-screen";
import { generateDefaultViewConfig } from "../../../../src/panels/lovelace/common/generate-lovelace-config";
import "./hc-layout";
import "../../../../src/components/ha-list-item";
@customElement("hc-cast")
class HcCast extends LitElement {
@@ -62,12 +62,20 @@ class HcCast extends LitElement {
<p class="question action-item">
Stay logged in?
<span>
<mwc-button @click=${this._handleSaveTokens}>
<ha-button
appearance="plain"
size="small"
@click=${this._handleSaveTokens}
>
YES
</mwc-button>
<mwc-button @click=${this._handleSkipSaveTokens}>
</ha-button>
<ha-button
appearance="plain"
size="small"
@click=${this._handleSkipSaveTokens}
>
NO
</mwc-button>
</ha-button>
</span>
</p>
`
@@ -77,15 +85,15 @@ class HcCast extends LitElement {
: !this.castManager.status
? html`
<p class="center-item">
<mwc-button raised @click=${this._handleLaunch}>
<ha-svg-icon .path=${mdiCast}></ha-svg-icon>
<ha-button @click=${this._handleLaunch}>
<ha-svg-icon slot="start" .path=${mdiCast}></ha-svg-icon>
Start Casting
</mwc-button>
</ha-button>
</p>
`
: html`
<div class="section-header">PICK A VIEW</div>
<mwc-list @action=${this._handlePickView} activatable>
<ha-list @action=${this._handlePickView} activatable>
${(
this.lovelaceViews ?? [
generateDefaultViewConfig({}, {}, {}, {}, () => ""),
@@ -113,21 +121,29 @@ class HcCast extends LitElement {
></ha-svg-icon>`}
</ha-list-item>
`
)}</mwc-list
)}</ha-list
>
`}
<div class="card-actions">
${this.castManager.status
? html`
<mwc-button @click=${this._handleLaunch}>
<ha-svg-icon .path=${mdiCastConnected}></ha-svg-icon>
<ha-button appearance="plain" @click=${this._handleLaunch}>
<ha-svg-icon
slot="start"
.path=${mdiCastConnected}
></ha-svg-icon>
Manage
</mwc-button>
</ha-button>
`
: ""}
<div class="spacer"></div>
<mwc-button @click=${this._handleLogout}>Log out</mwc-button>
<ha-button
variant="danger"
appearance="plain"
@click=${this._handleLogout}
>Log out</ha-button
>
</div>
</hc-layout>
`;
@@ -226,7 +242,7 @@ class HcCast extends LitElement {
}
.question:before {
border-radius: 4px;
border-radius: var(--ha-border-radius-sm);
position: absolute;
top: 0;
right: 0;
@@ -244,13 +260,6 @@ class HcCast extends LitElement {
color: var(--secondary-text-color);
}
mwc-button ha-svg-icon {
margin-right: 8px;
margin-inline-end: 8px;
margin-inline-start: initial;
height: 18px;
}
ha-list-item ha-icon,
ha-list-item ha-svg-icon {
padding: 12px;
+15 -13
View File
@@ -1,4 +1,3 @@
import "@material/mwc-button";
import { mdiCastConnected, mdiCast } from "@mdi/js";
import type {
Auth,
@@ -28,6 +27,7 @@ import "../../../../src/layouts/hass-loading-screen";
import { registerServiceWorker } from "../../../../src/util/register-service-worker";
import "./hc-layout";
import "../../../../src/components/ha-textfield";
import "../../../../src/components/ha-button";
const seeFAQ = (qid) => html`
See <a href="./faq.html${qid ? `#${qid}` : ""}">the FAQ</a> for more
@@ -83,11 +83,14 @@ export class HcConnect extends LitElement {
Unable to connect to ${tokens!.hassUrl}.
</div>
<div class="card-actions">
<a href="/">
<mwc-button> Retry </mwc-button>
</a>
<ha-button appearance="plain" href="/">Retry</ha-button>
<div class="spacer"></div>
<mwc-button @click=${this._handleLogout}>Log out</mwc-button>
<ha-button
appearance="plain"
variant="danger"
@click=${this._handleLogout}
>Log out</ha-button
>
</div>
</hc-layout>
`;
@@ -128,16 +131,19 @@ export class HcConnect extends LitElement {
${this.error ? html` <p class="error">${this.error}</p> ` : ""}
</div>
<div class="card-actions">
<mwc-button @click=${this._handleDemo}>
<ha-button appearance="plain" @click=${this._handleDemo}>
Show Demo
<ha-svg-icon
slot="end"
.path=${this.castManager.castState === "CONNECTED"
? mdiCastConnected
: mdiCast}
></ha-svg-icon>
</mwc-button>
</ha-button>
<div class="spacer"></div>
<mwc-button @click=${this._handleConnect}>Authorize</mwc-button>
<ha-button appearance="plain" @click=${this._handleConnect}
>Authorize</ha-button
>
</div>
</hc-layout>
`;
@@ -302,17 +308,13 @@ export class HcConnect extends LitElement {
}
.error {
color: red;
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.error a {
color: darkred;
}
mwc-button ha-svg-icon {
margin-left: 8px;
}
.spacer {
flex: 1;
}
+7 -6
View File
@@ -86,19 +86,20 @@ class HcLayout extends LitElement {
.card-header {
color: var(--ha-card-header-color, var(--primary-text-color));
font-family: var(--ha-card-header-font-family, inherit);
font-size: var(--ha-card-header-font-size, 24px);
font-size: var(--ha-card-header-font-size, var(--ha-font-size-2xl));
letter-spacing: -0.012em;
line-height: 32px;
line-height: var(--ha-line-height-condensed);
padding: 24px 16px 16px;
display: block;
margin: 0;
}
.hero {
border-radius: 4px 4px 0 0;
border-radius: var(--ha-border-radius-sm) var(--ha-border-radius-sm)
var(--ha-border-radius-square) var(--ha-border-radius-square);
}
.subtitle {
font-size: 14px;
font-size: var(--ha-font-size-m);
color: var(--secondary-text-color);
line-height: initial;
}
@@ -113,7 +114,7 @@ class HcLayout extends LitElement {
}
:host ::slotted(.section-header) {
font-weight: 500;
font-weight: var(--ha-font-weight-medium);
padding: 4px 16px;
text-transform: uppercase;
}
@@ -135,7 +136,7 @@ class HcLayout extends LitElement {
.footer {
text-align: center;
font-size: 12px;
font-size: var(--ha-font-size-s);
padding: 8px 0 24px;
color: var(--secondary-text-color);
}
+2 -2
View File
@@ -75,7 +75,7 @@ export const castDemoEntities: () => Entity[] = () =>
longitude: 4.8903147,
radius: 100,
friendly_name: "Home",
icon: "hass:home",
icon: "mdi:home",
},
},
"input_number.harmonyvolume": {
@@ -88,7 +88,7 @@ export const castDemoEntities: () => Entity[] = () =>
step: 1,
mode: "slider",
friendly_name: "Volume",
icon: "hass:volume-high",
icon: "mdi:volume-high",
},
},
"climate.upstairs": {
+2 -2
View File
@@ -56,7 +56,7 @@ export const castDemoLovelace: () => LovelaceConfig = () => {
type: "weblink",
url: "/lovelace/climate",
name: "Climate controls",
icon: "hass:arrow-right",
icon: "mdi:arrow-right",
},
],
},
@@ -76,7 +76,7 @@ export const castDemoLovelace: () => LovelaceConfig = () => {
type: "weblink",
url: "/lovelace/overview",
name: "Back",
icon: "hass:arrow-left",
icon: "mdi:arrow-left",
},
],
},
+1 -1
View File
@@ -29,7 +29,7 @@ class HcLaunchScreen extends LitElement {
display: block;
height: 100vh;
background-color: #f2f4f9;
font-size: 24px;
font-size: var(--ha-font-size-2xl);
}
.container {
display: flex;
+1 -1
View File
@@ -109,7 +109,7 @@ export class HcMain extends HassElement {
protected firstUpdated(changedProps) {
super.firstUpdated(changedProps);
import("./hc-lovelace");
import("../../../../src/resources/ha-style");
import("../../../../src/resources/append-ha-style");
window.addEventListener("location-changed", () => {
const panelPath = `/${this._urlPath || "lovelace"}/`;
+1 -1
View File
@@ -75,5 +75,5 @@
"name": "Home Assistant Demo",
"short_name": "HA Demo",
"start_url": "/?homescreen=1",
"theme_color": "#03A9F4"
"theme_color": "#009ac7"
}
+1 -1
View File
@@ -143,7 +143,7 @@ export const demoEntitiesArsaboo: DemoConfig["entities"] = (localize) =>
state: "on",
attributes: {
friendly_name: "Home Automation",
icon: "hass:home-automation",
icon: "mdi:home-automation",
},
},
"input_boolean.tvtime": {
+1 -1
View File
@@ -4,7 +4,7 @@ export const demoLovelaceArsaboo: DemoConfig["lovelace"] = (localize) => ({
title: "Home Assistant",
views: [
{
icon: "hass:home-assistant",
icon: "mdi:home-assistant",
id: "home",
title: "Home",
cards: [
+1 -1
View File
@@ -1236,7 +1236,7 @@ export const demoLovelaceJimpower: DemoConfig["lovelace"] = () => ({
},
],
path: "security",
icon: "hass:shield-home",
icon: "mdi:shield-home",
name: "Security",
background:
'center / cover no-repeat url("/assets/jimpower/background-15.jpg") fixed',
+1 -9
View File
@@ -1,36 +1,28 @@
export const demoThemeJimpower = () => ({
"text-primary-color": "var(--primary-text-color)",
"paper-item-icon-color": "var(--primary-text-color)",
"primary-color": "#5294E2",
"label-badge-red": "var(--accent-color)",
"light-primary-color": "var(--accent-color)",
"primary-background-color": "#383C45",
"primary-text-color": "#FFFFFF",
"paper-item-selected_-_background-color": "#434954",
"secondary-background-color": "#383C45",
"disabled-text-color": "#7F848E",
"paper-item-icon_-_color": "green",
"paper-grey-200": "#414A59",
"label-badge-background-color": "#2E333A",
"paper-card-header-color": "var(--accent-color)",
"sidebar-icon-color": "var(--paper-item-icon-color)",
"paper-listbox-background-color": "#2E333A",
"sidebar-icon-color": "var(--state-icon-color)",
"table-row-background-color": "#353840",
"paper-grey-50": "var(--primary-text-color)",
"switch-checked-color": "var(--accent-color)",
"paper-dialog-background-color": "#434954",
"secondary-text-color": "#5294E2",
"error-color": "#E45E65",
"divider-color": "rgba(0, 0, 0, .12)",
"success-color": "#39E949",
"switch-unchecked-button-color": "var(--disabled-text-color)",
"label-badge-border-color": "green",
"paper-listbox-color": "var(--primary-color)",
"card-background-color": "#434954",
"label-badge-text-color": "var(--primary-text-color)",
"switch-unchecked-track-color": "var(--disabled-text-color)",
"dark-primary-color": "var(--accent-color)",
"paper-item-icon-active-color": "#F9C536",
"accent-color": "#E45E65",
"table-row-alternative-background-color": "#3E424B",
});
-8
View File
@@ -1,37 +1,29 @@
// https://community.home-assistant.io/t/slate-a-new-dark-theme/86410
export const demoThemeKernehed = () => ({
"text-primary-color": "var(--primary-text-color)",
"paper-item-icon-color": "var(--primary-text-color)",
"primary-color": "#2980b9",
"label-badge-red": "var(--accent-color)",
"primary-text-color": "#FFFFFF",
"light-primary-color": "var(--accent-color)",
"primary-background-color": "#222222",
"sidebar-icon-color": "#777777",
"paper-item-selected_-_background-color": "#292929",
"secondary-background-color": "#222222",
"disabled-text-color": "#777777",
"paper-item-icon_-_color": "green",
"paper-grey-200": "#222222",
"label-badge-background-color": "#222222",
"paper-card-header-color": "var(--accent-color)",
"paper-listbox-background-color": "#141414",
"table-row-background-color": "#292929",
"paper-grey-50": "var(--primary-text-color)",
"switch-checked-color": "var(--accent-color)",
"paper-dialog-background-color": "#292929",
"secondary-text-color": "#b58e31",
"error-color": "#b58e31",
"divider-color": "rgba(0, 0, 0, .12)",
"success-color": "#2980b9",
"switch-unchecked-button-color": "var(--disabled-text-color)",
"label-badge-border-color": "green",
"paper-listbox-color": "#777777",
"card-background-color": "#292929",
"label-badge-text-color": "var(--primary-text-color)",
"switch-unchecked-track-color": "var(--disabled-text-color)",
"dark-primary-color": "var(--accent-color)",
"paper-item-icon-active-color": "#b58e31",
"accent-color": "#2980b9",
"table-row-alternative-background-color": "#292929",
});
+1 -9
View File
@@ -1,26 +1,18 @@
export const demoThemeTeachingbirds = () => ({
"paper-card-header-color": "var(--paper-item-icon-color)",
"paper-listbox-background-color": "#202020",
"paper-grey-50": "var(--primary-text-color)",
"paper-item-icon-color": "#d3d3d3",
"divider-color": "rgba(255, 255, 255, 0.12)",
"primary-color": "#389638",
"light-primary-color": "#6f956f",
"label-badge-red": "var(--primary-color)",
"paper-listbox-color": "#FFFFFF",
"paper-toggle-button-checked-bar-color": "var(--light-primary-color)",
"switch-unchecked-track-color": "var(--primary-text-color)",
"card-background-color": "#4e4e4e",
"label-badge-text-color": "var(--text-primary-color)",
"primary-background-color": "#303030",
"sidebar-icon-color": "var(--paper-item-icon-color)",
"sidebar-icon-color": "#d3d3d3",
"secondary-background-color": "#2b2b2b",
"paper-item-icon-active-color": "#d8bf50",
"switch-checked-color": "var(--primary-color)",
"secondary-text-color": "#389638",
"disabled-text-color": "#545454",
"paper-item-icon_-_color": "var(--primary-text-color)",
"paper-grey-200": "#191919",
"primary-text-color": "#cfcfcf",
"label-badge-background-color": "var(--secondary-background-color)",
});
+1 -1
View File
@@ -73,7 +73,7 @@ class CastDemoRow extends LitElement implements LovelaceRow {
}
ha-svg-icon {
padding: 8px;
color: var(--paper-item-icon-color);
color: var(--state-icon-color);
}
.flex {
flex: 1;
+8 -5
View File
@@ -89,11 +89,14 @@ export class HADemoCard extends LitElement implements LovelaceCard {
)}
</div>
<div class="actions small-hidden">
<a href="https://www.home-assistant.io" target="_blank">
<ha-button>
${this.hass.localize("ui.panel.page-demo.cards.demo.learn_more")}
</ha-button>
</a>
<ha-button
appearance="plain"
size="small"
href="https://www.home-assistant.io"
target="_blank"
>
${this.hass.localize("ui.panel.page-demo.cards.demo.learn_more")}
</ha-button>
</div>
</ha-card>
`;
+1 -1
View File
@@ -1,4 +1,4 @@
import "./util/is_frontpage";
import "./ha-demo";
import("../../src/resources/ha-style");
import("../../src/resources/append-ha-style");
+2 -2
View File
@@ -68,7 +68,7 @@
}
#ha-launch-screen .ha-launch-screen-spacer-top {
flex: 1;
margin-top: calc( 2 * max(env(safe-area-inset-bottom), 48px) + 46px );
margin-top: calc( 2 * max(var(--safe-area-inset-top, 0px), 48px) + 46px );
padding-top: 48px;
}
#ha-launch-screen .ha-launch-screen-spacer-bottom {
@@ -76,7 +76,7 @@
padding-top: 48px;
}
.ohf-logo {
margin: max(env(safe-area-inset-bottom), 48px) 0;
margin: max(var(--safe-area-inset-bottom, 0px), 48px) 0;
display: flex;
flex-direction: column;
align-items: center;
+23
View File
@@ -1,7 +1,30 @@
import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
let changeFunction;
export const mockFrontend = (hass: MockHomeAssistant) => {
hass.mockWS("frontend/get_user_data", () => ({
value: null,
}));
hass.mockWS("frontend/set_user_data", ({ key, value }) => {
if (key === "sidebar") {
changeFunction?.({
value: {
panelOrder: value.panelOrder || [],
hiddenPanels: value.hiddenPanels || [],
},
});
}
});
hass.mockWS("frontend/subscribe_user_data", (_msg, _hass, onChange) => {
changeFunction = onChange;
onChange?.({
value: {
panelOrder: [],
hiddenPanels: [],
},
});
// eslint-disable-next-line @typescript-eslint/no-empty-function
return () => {};
});
};
+32 -22
View File
@@ -2,26 +2,36 @@ import type { TodoItem } from "../../../src/data/todo";
import { TodoItemStatus } from "../../../src/data/todo";
import type { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
export const mockTodo = (hass: MockHomeAssistant) => {
hass.mockWS("todo/item/list", () => ({
items: [
{
uid: "12",
summary: "Milk",
status: TodoItemStatus.NeedsAction,
},
{
uid: "13",
summary: "Eggs",
status: TodoItemStatus.NeedsAction,
},
{
uid: "14",
summary: "Oranges",
status: TodoItemStatus.Completed,
},
] as TodoItem[],
}));
// eslint-disable-next-line @typescript-eslint/no-empty-function
hass.mockWS("todo/item/subscribe", (_msg, _hass) => () => {});
const items = {
items: [
{
uid: "12",
summary: "Milk",
status: TodoItemStatus.NeedsAction,
},
{
uid: "13",
summary: "Eggs",
status: TodoItemStatus.NeedsAction,
},
{
uid: "14",
summary: "Oranges",
status: TodoItemStatus.Completed,
},
{
uid: "15",
summary: "Beer",
},
] as TodoItem[],
};
export const mockTodo = (hass: MockHomeAssistant) => {
hass.mockWS("todo/item/list", () => items);
hass.mockWS("todo/item/move", () => undefined);
hass.mockWS("todo/item/subscribe", (_msg, _hass, onChange) => {
onChange!(items);
// eslint-disable-next-line @typescript-eslint/no-empty-function
return () => {};
});
};
+3 -1
View File
@@ -11,6 +11,7 @@ import tseslint from "typescript-eslint";
import eslintConfigPrettier from "eslint-config-prettier";
import { configs as litConfigs } from "eslint-plugin-lit";
import { configs as wcConfigs } from "eslint-plugin-wc";
import { configs as a11yConfigs } from "eslint-plugin-lit-a11y";
const _filename = fileURLToPath(import.meta.url);
const _dirname = path.dirname(_filename);
@@ -21,13 +22,14 @@ const compat = new FlatCompat({
});
export default tseslint.config(
...compat.extends("airbnb-base", "plugin:lit-a11y/recommended"),
...compat.extends("airbnb-base"),
eslintConfigPrettier,
litConfigs["flat/all"],
tseslint.configs.recommended,
tseslint.configs.strict,
tseslint.configs.stylistic,
wcConfigs["flat/recommended"],
a11yConfigs.recommended,
{
plugins: {
"unused-imports": unusedImports,
+7 -13
View File
@@ -1,11 +1,11 @@
import "@material/mwc-button/mwc-button";
import type { Button } from "@material/mwc-button";
import type { TemplateResult } from "lit";
import { html, LitElement, css, nothing } from "lit";
import { customElement, property } from "lit/decorators";
import { applyThemesOnElement } from "../../../src/common/dom/apply_themes_on_element";
import { fireEvent } from "../../../src/common/dom/fire_event";
import "../../../src/components/ha-card";
import "../../../src/components/ha-button";
import type { HaButton } from "../../../src/components/ha-button";
@customElement("demo-black-white-row")
class DemoBlackWhiteRow extends LitElement {
@@ -25,12 +25,9 @@ class DemoBlackWhiteRow extends LitElement {
<slot name="light"></slot>
</div>
<div class="card-actions">
<mwc-button
.disabled=${this.disabled}
@click=${this.handleSubmit}
>
<ha-button .disabled=${this.disabled} @click=${this.handleSubmit}>
Submit
</mwc-button>
</ha-button>
</div>
</ha-card>
</div>
@@ -40,12 +37,9 @@ class DemoBlackWhiteRow extends LitElement {
<slot name="dark"></slot>
</div>
<div class="card-actions">
<mwc-button
.disabled=${this.disabled}
@click=${this.handleSubmit}
>
<ha-button .disabled=${this.disabled} @click=${this.handleSubmit}>
Submit
</mwc-button>
</ha-button>
</div>
</ha-card>
${this.value
@@ -74,7 +68,7 @@ class DemoBlackWhiteRow extends LitElement {
}
handleSubmit(ev) {
const content = (ev.target as Button).closest(".content")!;
const content = (ev.target as HaButton).closest(".content")!;
fireEvent(this, "submitted" as any, {
slot: content.classList.contains("light") ? "light" : "dark",
});
+9 -6
View File
@@ -1,10 +1,11 @@
import { LitElement, css, html } from "lit";
import { LitElement, css, html, nothing } from "lit";
import { customElement, property } from "lit/decorators";
import "../../../src/components/ha-card";
import "../../../src/dialogs/more-info/more-info-content";
import "../../../src/state-summary/state-card-content";
import "../ha-demo-options";
import type { HomeAssistant } from "../../../src/types";
import { computeShowNewMoreInfo } from "../../../src/dialogs/more-info/const";
@customElement("demo-more-info")
class DemoMoreInfo extends LitElement {
@@ -21,11 +22,13 @@ class DemoMoreInfo extends LitElement {
<div class="root">
<div id="card">
<ha-card>
<state-card-content
.stateObj=${state}
.hass=${this.hass}
in-dialog
></state-card-content>
${!computeShowNewMoreInfo(state)
? html`<state-card-content
.stateObj=${state}
.hass=${this.hass}
in-dialog
></state-card-content>`
: nothing}
<more-info-content
.hass=${this.hass}
+3 -3
View File
@@ -38,12 +38,12 @@ class PageDescription extends HaMarkdown {
}
.title {
font-size: 42px;
line-height: 56px;
line-height: var(--ha-line-height-condensed);
padding-bottom: 8px;
}
.subtitle {
font-size: 18px;
line-height: 24px;
font-size: var(--ha-font-size-l);
line-height: var(--ha-line-height-normal);
}
.root {
max-width: 800px;
+1 -1
View File
@@ -1106,7 +1106,7 @@ export default {
friendly_name: "Philips Hue",
entity_picture: null,
description:
"Press the button on the bridge to register Philips Hue with Home Assistant.\n\n![Description image](/static/images/config_philips_hue.jpg)",
"Press the button on the bridge to register Philips Hue with Home Assistant.",
submit_caption: "I have pressed the button",
},
last_changed: "2018-07-19T10:44:46.515160+00:00",
+12 -2
View File
@@ -17,6 +17,10 @@ export const createMediaPlayerEntities = () => [
new Date().getTime() - 23000
).toISOString(),
volume_level: 0.5,
source_list: ["AirPlay", "Blu-Ray", "TV", "USB", "iPod (USB)"],
source: "AirPlay",
sound_mode_list: ["Movie", "Music", "Game", "Pure Audio"],
sound_mode: "Music",
}),
getEntity("media_player", "music_playing", "playing", {
friendly_name: "Playing The Music",
@@ -24,8 +28,8 @@ export const createMediaPlayerEntities = () => [
media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)",
media_artist: "Technohead",
// Pause + Seek + Volume Set + Volume Mute + Previous Track + Next Track + Play Media +
// Select Source + Stop + Clear + Play + Shuffle Set + Browse Media
supported_features: 195135,
// Select Source + Stop + Clear + Play + Shuffle Set + Browse Media + Grouping
supported_features: 784959,
entity_picture: "/images/album_cover.jpg",
media_duration: 300,
media_position: 0,
@@ -34,6 +38,9 @@ export const createMediaPlayerEntities = () => [
new Date().getTime() - 23000
).toISOString(),
volume_level: 0.5,
sound_mode_list: ["Movie", "Music", "Game", "Pure Audio"],
sound_mode: "Music",
group_members: ["media_player.playing", "media_player.stream_playing"],
}),
getEntity("media_player", "stream_playing", "playing", {
friendly_name: "Playing the Stream",
@@ -149,15 +156,18 @@ export const createMediaPlayerEntities = () => [
}),
getEntity("media_player", "receiver_on", "on", {
source_list: ["AirPlay", "Blu-Ray", "TV", "USB", "iPod (USB)"],
sound_mode_list: ["Movie", "Music", "Game", "Pure Audio"],
volume_level: 0.63,
is_volume_muted: false,
source: "TV",
sound_mode: "Movie",
friendly_name: "Receiver (selectable sources)",
// Volume Set + Volume Mute + On + Off + Select Source + Play + Sound Mode
supported_features: 84364,
}),
getEntity("media_player", "receiver_off", "off", {
source_list: ["AirPlay", "Blu-Ray", "TV", "USB", "iPod (USB)"],
sound_mode_list: ["Movie", "Music", "Game", "Pure Audio"],
friendly_name: "Receiver (selectable sources)",
// Volume Set + Volume Mute + On + Off + Select Source + Play + Sound Mode
supported_features: 84364,
+1 -1
View File
@@ -1,5 +1,5 @@
import "./ha-gallery";
import("../../src/resources/ha-style");
import("../../src/resources/append-ha-style");
document.body.appendChild(document.createElement("ha-gallery"));
+1 -1
View File
@@ -34,7 +34,7 @@ class HaDemoOptions extends LitElement {
height: 64px;
padding: 0 16px;
pointer-events: none;
font-size: 20px;
font-size: var(--ha-font-size-xl);
}
`,
];
+6 -6
View File
@@ -208,7 +208,7 @@ class HaGallery extends LitElement {
}
.sidebar a[active]::before {
border-radius: 12px;
border-radius: var(--ha-border-radius-lg);
position: absolute;
top: 0;
right: 2px;
@@ -241,7 +241,7 @@ class HaGallery extends LitElement {
text-align: center;
margin: 16px;
padding: 16px;
border-radius: 12px;
border-radius: var(--ha-border-radius-lg);
background-color: var(--primary-background-color);
}
@@ -250,14 +250,14 @@ class HaGallery extends LitElement {
}
.page-footer .header {
font-size: 16px;
font-weight: 500;
line-height: 28px;
font-size: var(--ha-font-size-l);
font-weight: var(--ha-font-weight-medium);
line-height: var(--ha-line-height-normal);
text-align: center;
}
.page-footer .secondary {
line-height: 23px;
line-height: var(--ha-line-height-normal);
text-align: center;
}
+10 -11
View File
@@ -1,29 +1,29 @@
import type { TemplateResult } from "lit";
import { LitElement, html, css } from "lit";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import "../../../../src/components/ha-formfield";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import type { HomeAssistant } from "../../../../src/types";
import "../../components/demo-black-white-row";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor";
import type { Action } from "../../../../src/data/script";
import "../../../../src/panels/config/automation/action/ha-automation-action";
import { HaChooseAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-choose";
import { HaConditionAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-condition";
import { HaDelayAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-delay";
import { HaDeviceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-device_id";
import { HaEventAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-event";
import { HaIfAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-if";
import { HaParallelAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-parallel";
import { HaRepeatAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-repeat";
import { HaSequenceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-sequence";
import { HaServiceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-service";
import { HaStopAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-stop";
import { HaWaitForTriggerAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-wait_for_trigger";
import { HaWaitAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-wait_template";
import type { Action } from "../../../../src/data/script";
import { HaConditionAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-condition";
import { HaSequenceAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-sequence";
import { HaParallelAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-parallel";
import { HaIfAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-if";
import { HaStopAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-stop";
import { HaPlayMediaAction } from "../../../../src/panels/config/automation/action/types/ha-automation-action-play_media";
const SCHEMAS: { name: string; actions: Action[] }[] = [
{ name: "Event", actions: [HaEventAction.defaultConfig] },
@@ -31,7 +31,6 @@ const SCHEMAS: { name: string; actions: Action[] }[] = [
{ name: "Service", actions: [HaServiceAction.defaultConfig] },
{ name: "Condition", actions: [HaConditionAction.defaultConfig] },
{ name: "Delay", actions: [HaDelayAction.defaultConfig] },
{ name: "Play media", actions: [HaPlayMediaAction.defaultConfig] },
{ name: "Wait", actions: [HaWaitAction.defaultConfig] },
{ name: "WaitForTrigger", actions: [HaWaitForTriggerAction.defaultConfig] },
{ name: "Repeat", actions: [HaRepeatAction.defaultConfig] },
@@ -1,26 +1,27 @@
import type { TemplateResult } from "lit";
import { LitElement, html, css } from "lit";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import type { HomeAssistant } from "../../../../src/types";
import "../../components/demo-black-white-row";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor";
import "../../../../src/components/ha-formfield";
import type { ConditionWithShorthand } from "../../../../src/data/automation";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import "../../../../src/panels/config/automation/condition/ha-automation-condition";
import { HaAndCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-and";
import { HaDeviceCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-device";
import { HaNotCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-not";
import HaNumericStateCondition from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-numeric_state";
import { HaOrCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-or";
import { HaStateCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-state";
import { HaSunCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-sun";
import { HaTemplateCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-template";
import { HaTimeCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-time";
import { HaTriggerCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-trigger";
import { HaZoneCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-zone";
import { HaAndCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-and";
import { HaOrCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-or";
import { HaNotCondition } from "../../../../src/panels/config/automation/condition/types/ha-automation-condition-not";
import type { HomeAssistant } from "../../../../src/types";
import "../../components/demo-black-white-row";
const SCHEMAS: { name: string; conditions: ConditionWithShorthand[] }[] = [
{
+18 -17
View File
@@ -1,35 +1,36 @@
import type { TemplateResult } from "lit";
import { LitElement, html, css } from "lit";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import type { HomeAssistant } from "../../../../src/types";
import "../../components/demo-black-white-row";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry";
import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor";
import { mockConfig } from "../../../../demo/src/stubs/config";
import { mockTags } from "../../../../demo/src/stubs/tags";
import { mockAuth } from "../../../../demo/src/stubs/auth";
import { mockConfig } from "../../../../demo/src/stubs/config";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor";
import { mockTags } from "../../../../demo/src/stubs/tags";
import "../../../../src/components/ha-formfield";
import type { Trigger } from "../../../../src/data/automation";
import { HaGeolocationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import "../../../../src/panels/config/automation/trigger/ha-automation-trigger";
import { HaConversationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-conversation";
import { HaDeviceTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-device";
import { HaEventTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-event";
import { HaGeolocationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-geo_location";
import { HaHassTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-homeassistant";
import { HaTriggerList } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-list";
import { HaMQTTTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt";
import { HaNumericStateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-numeric_state";
import { HaPersistentNotificationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification";
import { HaStateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-state";
import { HaSunTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-sun";
import { HaTagTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-tag";
import { HaTemplateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-template";
import { HaTimeTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-time";
import { HaTimePatternTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-time_pattern";
import { HaWebhookTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-webhook";
import { HaPersistentNotificationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-persistent_notification";
import { HaZoneTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-zone";
import { HaDeviceTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-device";
import { HaStateTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-state";
import { HaMQTTTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-mqtt";
import "../../../../src/panels/config/automation/trigger/ha-automation-trigger";
import { HaConversationTrigger } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-conversation";
import { HaTriggerList } from "../../../../src/panels/config/automation/trigger/types/ha-automation-trigger-list";
import type { HomeAssistant } from "../../../../src/types";
import "../../components/demo-black-white-row";
const SCHEMAS: { name: string; triggers: Trigger[] }[] = [
{
@@ -147,13 +147,13 @@ The `title ` option should not be used without a description.
<ha-alert alert-type="success">
This is a success alert — check it out!
<mwc-button slot="action" label="Undo"></mwc-button>
<ha-button slot="action">Undo</ha-button>
</ha-alert>
```html
<ha-alert alert-type="success">
This is a success alert — check it out!
<mwc-button slot="action" label="Undo"></mwc-button>
<ha-button slot="action">Undo</ha-button>
</ha-alert>
```
+6 -6
View File
@@ -1,10 +1,10 @@
import "@material/mwc-button/mwc-button";
import type { TemplateResult } from "lit";
import { css, html, LitElement } from "lit";
import { customElement } from "lit/decorators";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import "../../../../src/components/ha-alert";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-button";
import "../../../../src/components/ha-logo-svg";
const alerts: {
@@ -78,13 +78,13 @@ const alerts: {
title: "Error with action",
description: "This is a test error alert with action",
type: "error",
actionSlot: html`<mwc-button slot="action" label="restart"></mwc-button>`,
actionSlot: html`<ha-button size="small" slot="action">restart</ha-button>`,
},
{
title: "Unsaved data",
description: "You have unsaved data",
type: "warning",
actionSlot: html`<mwc-button slot="action" label="save"></mwc-button>`,
actionSlot: html`<ha-button size="small" slot="action">save</ha-button>`,
},
{
title: "Slotted icon",
@@ -108,7 +108,7 @@ const alerts: {
title: "Slotted action",
description: "Alert with slotted action",
type: "info",
actionSlot: html`<mwc-button slot="action" label="action"></mwc-button>`,
actionSlot: html`<ha-button slot="action">action</ha-button>`,
},
{
description: "Dismissable information (RTL)",
@@ -120,7 +120,7 @@ const alerts: {
title: "Error with action",
description: "This is a test error alert with action (RTL)",
type: "error",
actionSlot: html`<mwc-button slot="action" label="restart"></mwc-button>`,
actionSlot: html`<ha-button slot="action">restart</ha-button>`,
rtl: true,
},
{
@@ -211,7 +211,7 @@ export class DemoHaAlert extends LitElement {
max-height: 24px;
width: 24px;
}
mwc-button {
ha-button {
--mdc-theme-primary: var(--primary-text-color);
}
`;
@@ -0,0 +1,65 @@
---
title: Badge
subtitle: Lovelace dashboard badge
---
<style>
.wrapper {
display: flex;
gap: 24px;
}
</style>
# Badge `<ha-badge>`
The badge component is a small component that displays a number or status information. It is used in the lovelace dashboard on the top.
## Implementation
### Example Usage
<div class="wrapper">
<ha-badge>
simple badge
</ha-badge>
<ha-badge label="Info">
With a label
</ha-badge>
<ha-badge type="button">
Type button
</ha-badge>
</div>
```html
<ha-badge> simple badge </ha-badge>
<ha-badge label="Info"> With a label </ha-badge>
<ha-badge type="button"> Type button </ha-badge>
```
### API
**Slots**
- default slot is the content of the badge
- no default
- `icon` set the icon of the badge
- no default
**Properties/Attributes**
| Name | Type | Default | Description |
| -------- | ----------------------- | ----------- | ------------------------------------------------------------ |
| type | `"badge"` or `"button"` | `"badge"` | If it's button it shows a ripple effect |
| label | string | `undefined` | Text label for the badge, only visible if `iconOnly = false` |
| iconOnly | boolean | `false` | Only show label |
**CSS Custom Properties**
- `--ha-badge-size` (default `36px`)
- `--ha-badge-border-radius` (default `calc(var(--ha-badge-size, 36px) / 2)`)
- `--ha-badge-font-size` (default `var(--ha-font-size-s)`)
- `--ha-badge-icon-size` (default `18px`)
+129
View File
@@ -0,0 +1,129 @@
import { mdiButtonCursor, mdiHome } from "@mdi/js";
import type { TemplateResult } from "lit";
import { css, html, LitElement } from "lit";
import { customElement } from "lit/decorators";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import "../../../../src/components/ha-badge";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-svg-icon";
import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg";
const badges: {
type?: "badge" | "button";
label?: string;
iconOnly?: boolean;
slot?: TemplateResult;
iconSlot?: TemplateResult;
}[] = [
{
slot: html`<span>Badge</span>`,
},
{
type: "badge",
label: "Badge",
iconSlot: html`<ha-svg-icon slot="icon" .path=${mdiHome}></ha-svg-icon>`,
slot: html`<span>Badge</span>`,
},
{
type: "button",
label: "Button",
iconSlot: html`<ha-svg-icon
slot="icon"
.path=${mdiButtonCursor}
></ha-svg-icon>`,
slot: html`<span>Button</span>`,
},
{
type: "button",
label: "Label only",
iconSlot: html`<ha-svg-icon
slot="icon"
.path=${mdiButtonCursor}
></ha-svg-icon>`,
},
{
type: "button",
label: "Label",
slot: html`<span>Button no label</span>`,
},
{
label: "Icon only",
iconOnly: true,
iconSlot: html`<ha-svg-icon
slot="icon"
.path=${mdiHomeAssistant}
></ha-svg-icon>`,
},
];
@customElement("demo-components-ha-badge")
export class DemoHaBadge extends LitElement {
protected render(): TemplateResult {
return html`
${["light", "dark"].map(
(mode) => html`
<div class=${mode}>
<ha-card header="ha-badge ${mode} demo">
<div class="card-content">
${badges.map(
(badge) => html`
<ha-badge
.type=${badge.type || undefined}
.label=${badge.label}
.iconOnly=${badge.iconOnly || false}
>
${badge.iconSlot} ${badge.slot}
</ha-badge>
`
)}
</div>
</ha-card>
</div>
`
)}
`;
}
firstUpdated(changedProps) {
super.firstUpdated(changedProps);
applyThemesOnElement(
this.shadowRoot!.querySelector(".dark"),
{
default_theme: "default",
default_dark_theme: "default",
themes: {},
darkMode: true,
theme: "default",
},
undefined,
undefined,
true
);
}
static styles = css`
:host {
display: flex;
justify-content: center;
}
.dark,
.light {
display: block;
background-color: var(--primary-background-color);
padding: 0 50px;
}
ha-card {
margin: 24px auto;
}
.card-content {
display: flex;
gap: var(--ha-space-6);
}
`;
}
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-badge": DemoHaBadge;
}
}
@@ -0,0 +1,67 @@
---
title: Button
---
<style>
.wrapper {
display: flex;
gap: 24px;
}
</style>
# Button `<ha-button>`
## Implementation
### Example Usage
<div class="wrapper">
<ha-button>
simple button
</ha-button>
<ha-button appearance="plain">
plain button
</ha-button>
<ha-button appearance="filled">
filled button
</ha-button>
<ha-button size="small">
small
</ha-button>
</div>
```html
<ha-button> simple button </ha-button>
<ha-button size="small"> small </ha-button>
```
### API
This component is based on the webawesome button component.
Check the [webawesome documentation](https://webawesome.com/docs/components/button/) for more details.
**Slots**
- default slot: Label of the button
` - no default
- `start`: The prefix container (usually for icons).
` - no default
- `end`: The suffix container (usually for icons).
` - no default
**Properties/Attributes**
| Name | Type | Default | Description |
| ---------- | ---------------------------------------------- | -------- | --------------------------------------------------------------------------------- |
| appearance | "accent"/"filled"/"plain" | "accent" | Sets the button appearance. |
| variants | "brand"/"danger"/"neutral"/"warning"/"success" | "brand" | Sets the button color variant. "brand" is default. |
| size | "small"/"medium" | "medium" | Sets the button size. |
| loading | Boolean | false | Shows a loading indicator instead of the buttons label and disable buttons click. |
| disabled | Boolean | false | Disables the button and prevents user interaction. |
**CSS Custom Properties**
- `--ha-button-height` - Height of the button.
- `--ha-button-border-radius` - Border radius of the button. Defaults to `var(--ha-border-radius-pill)`.
+171
View File
@@ -0,0 +1,171 @@
import { mdiHome } from "@mdi/js";
import type { TemplateResult } from "lit";
import { css, html, LitElement } from "lit";
import { customElement } from "lit/decorators";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import { titleCase } from "../../../../src/common/string/title-case";
import "../../../../src/components/ha-button";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-svg-icon";
import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg";
const appearances = ["accent", "filled", "plain"];
const variants = ["brand", "danger", "neutral", "warning", "success"];
@customElement("demo-components-ha-button")
export class DemoHaButton extends LitElement {
protected render(): TemplateResult {
return html`
${["light", "dark"].map(
(mode) => html`
<div class=${mode}>
<ha-card header="ha-button in ${mode}">
<div class="card-content">
${variants.map(
(variant) => html`
<div>
${appearances.map(
(appearance) => html`
<ha-button
.appearance=${appearance}
.variant=${variant}
>
<ha-svg-icon
.path=${mdiHomeAssistant}
slot="start"
></ha-svg-icon>
${titleCase(`${variant} ${appearance}`)}
<ha-svg-icon
.path=${mdiHome}
slot="end"
></ha-svg-icon>
</ha-button>
`
)}
</div>
<div>
${appearances.map(
(appearance) => html`
<ha-button
.appearance=${appearance}
.variant=${variant}
size="small"
>
${titleCase(`${variant} ${appearance}`)}
</ha-button>
`
)}
</div>
<div>
${appearances.map(
(appearance) => html`
<ha-button
.appearance=${appearance}
.variant=${variant}
loading
>
<ha-svg-icon
.path=${mdiHomeAssistant}
slot="start"
></ha-svg-icon>
${titleCase(`${variant} ${appearance}`)}
<ha-svg-icon
.path=${mdiHome}
slot="end"
></ha-svg-icon>
</ha-button>
`
)}
</div>
`
)}
${variants.map(
(variant) => html`
<div>
${appearances.map(
(appearance) => html`
<ha-button
.variant=${variant}
.appearance=${appearance}
disabled
>
${titleCase(`${appearance}`)}
</ha-button>
`
)}
</div>
<div>
${appearances.map(
(appearance) => html`
<ha-button
.variant=${variant}
.appearance=${appearance}
size="small"
disabled
>
${titleCase(`${appearance}`)}
</ha-button>
`
)}
</div>
`
)}
</div>
</ha-card>
</div>
`
)}
`;
}
firstUpdated(changedProps) {
super.firstUpdated(changedProps);
applyThemesOnElement(
this.shadowRoot!.querySelector(".dark"),
{
default_theme: "default",
default_dark_theme: "default",
themes: {},
darkMode: true,
theme: "default",
},
undefined,
undefined,
true
);
}
static styles = css`
:host {
display: flex;
justify-content: center;
}
.dark,
.light {
display: block;
background-color: var(--primary-background-color);
padding: 0 50px;
}
.button {
padding: unset;
}
ha-card {
margin: 24px auto;
}
.card-content {
display: flex;
flex-direction: column;
gap: var(--ha-space-6);
}
.card-content div {
display: flex;
gap: var(--ha-space-2);
}
`;
}
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-button": DemoHaButton;
}
}
@@ -9,10 +9,10 @@ import { css, html, LitElement } from "lit";
import { customElement } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import { repeat } from "lit/directives/repeat";
import "../../../../src/components/ha-control-button";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-svg-icon";
import "../../../../src/components/ha-control-button";
import "../../../../src/components/ha-control-button-group";
import "../../../../src/components/ha-svg-icon";
interface Button {
label: string;
@@ -150,23 +150,23 @@ export class DemoHaBarButton extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
}
.custom {
--control-button-icon-color: var(--primary-color);
--control-button-background-color: var(--primary-color);
--control-button-background-opacity: 0.2;
--control-button-border-radius: 18px;
--control-button-border-radius: var(--ha-border-radius-xl);
height: 100px;
width: 100px;
}
.custom-group {
--control-button-group-thickness: 100px;
--control-button-group-border-radius: 36px;
--control-button-group-border-radius: var(--ha-border-radius-6xl);
--control-button-group-spacing: 20px;
}
.custom-group ha-control-button {
--control-button-border-radius: 18px;
--control-button-border-radius: var(--ha-border-radius-xl);
--mdc-icon-size: 32px;
}
.vertical-buttons {
@@ -1,10 +1,10 @@
import type { TemplateResult } from "lit";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import { repeat } from "lit/directives/repeat";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-number-buttons";
import { repeat } from "lit/directives/repeat";
import { ifDefined } from "lit/directives/if-defined";
const buttons: {
id: string;
@@ -86,7 +86,7 @@ export class DemoHarControlNumberButtons extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
}
.custom {
color: #2196f3;
@@ -94,7 +94,7 @@ export class DemoHarControlNumberButtons extends LitElement {
--control-number-buttons-background-color: #2196f3;
--control-number-buttons-background-opacity: 0.1;
--control-number-buttons-thickness: 100px;
--control-number-buttons-border-radius: 36px;
--control-number-buttons-border-radius: var(--ha-border-radius-6xl);
}
`;
}
@@ -125,13 +125,13 @@ export class DemoHaControlSelectMenu extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
}
.custom {
--control-button-icon-color: var(--primary-color);
--control-button-background-color: var(--primary-color);
--control-button-background-opacity: 0.2;
--control-button-border-radius: 18px;
--control-button-border-radius: var(--ha-border-radius-xl);
height: 100px;
width: 100px;
}
@@ -135,7 +135,7 @@ export class DemoHaControlSelect extends LitElement {
.options=${options}
class=${ifDefined(config.class)}
@value-changed=${this.handleValueChanged}
aria-labelledby=${id}
.label=${label}
?disabled=${config.disabled}
>
</ha-control-select>
@@ -156,7 +156,7 @@ export class DemoHaControlSelect extends LitElement {
vertical
class=${ifDefined(config.class)}
@value-changed=${this.handleValueChanged}
aria-labelledby=${id}
.label=${label}
?disabled=${config.disabled}
>
</ha-control-select>
@@ -181,13 +181,13 @@ export class DemoHaControlSelect extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
}
.custom {
--mdc-icon-size: 24px;
--control-select-color: var(--state-fan-active-color);
--control-select-thickness: 130px;
--control-select-border-radius: 36px;
--control-select-border-radius: var(--ha-border-radius-6xl);
}
.vertical-selects {
height: 300px;
@@ -3,8 +3,8 @@ import { css, html, LitElement } from "lit";
import { customElement, state } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import { repeat } from "lit/directives/repeat";
import "../../../../src/components/ha-control-slider";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-slider";
const sliders: {
id: string;
@@ -97,7 +97,7 @@ export class DemoHaBarSlider extends LitElement {
class=${ifDefined(config.class)}
@value-changed=${this.handleValueChanged}
@slider-moved=${this.handleSliderMoved}
aria-labelledby=${id}
.label=${label}
.unit=${config.unit}
>
</ha-control-slider>
@@ -119,7 +119,7 @@ export class DemoHaBarSlider extends LitElement {
class=${ifDefined(config.class)}
@value-changed=${this.handleValueChanged}
@slider-moved=${this.handleSliderMoved}
aria-label=${label}
.label=${label}
.unit=${config.unit}
>
</ha-control-slider>
@@ -144,14 +144,14 @@ export class DemoHaBarSlider extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
}
.custom {
--control-slider-color: #ffcf4c;
--control-slider-background: #ffcf4c;
--control-slider-background-opacity: 0.2;
--control-slider-thickness: 130px;
--control-slider-border-radius: 36px;
--control-slider-border-radius: var(--ha-border-radius-6xl);
}
.vertical-sliders {
height: 300px;
@@ -9,8 +9,8 @@ import { css, html, LitElement } from "lit";
import { customElement, state } from "lit/decorators";
import { ifDefined } from "lit/directives/if-defined";
import { repeat } from "lit/directives/repeat";
import "../../../../src/components/ha-control-switch";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-switch";
const switches: {
id: string;
@@ -63,7 +63,7 @@ export class DemoHaControlSwitch extends LitElement {
@change=${this.handleValueChanged}
.pathOn=${mdiLightbulb}
.pathOff=${mdiLightbulbOff}
aria-labelledby=${id}
.label=${label}
?disabled=${config.disabled}
?reversed=${config.reversed}
>
@@ -84,7 +84,7 @@ export class DemoHaControlSwitch extends LitElement {
vertical
class=${ifDefined(config.class)}
@change=${this.handleValueChanged}
aria-label=${label}
.label=${label}
.pathOn=${mdiGarageOpen}
.pathOff=${mdiGarage}
?disabled=${config.disabled}
@@ -112,13 +112,13 @@ export class DemoHaControlSwitch extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
}
.custom {
--control-switch-on-color: var(--green-color);
--control-switch-off-color: var(--red-color);
--control-switch-thickness: 130px;
--control-switch-border-radius: 36px;
--control-switch-border-radius: var(--ha-border-radius-6xl);
--control-switch-padding: 6px;
--mdc-icon-size: 24px;
}
-1
View File
@@ -1,5 +1,4 @@
/* eslint-disable lit/no-template-arrow */
import "@material/mwc-button";
import type { TemplateResult } from "lit";
import { html, LitElement } from "lit";
import { customElement, state } from "lit/decorators";
@@ -105,8 +105,8 @@ export class DemoHaHsColorPicker extends LitElement {
width: 400px;
}
.value {
font-size: 22px;
font-weight: bold;
font-size: var(--ha-font-size-xl);
font-weight: var(--ha-font-weight-bold);
margin: 0 0 12px 0;
}
`;
@@ -0,0 +1,37 @@
---
title: Marquee Text
---
# Marquee Text `<ha-marquee-text>`
Marquee text component scrolls text horizontally if it overflows its container. It supports pausing on hover and customizable speed and pause duration.
## Implementation
### Example Usage
<ha-marquee-text style="width: 200px;">
This is a long text that will scroll horizontally if it overflows the container.
</ha-marquee-text>
```html
<ha-marquee-text style="width: 200px;">
This is a long text that will scroll horizontally if it overflows the
container.
</ha-marquee-text>
```
### API
**Slots**
- default slot: The text content to be displayed and scrolled.
- no default
**Properties/Attributes**
| Name | Type | Default | Description |
| -------------- | ------- | ------- | ---------------------------------------------------------------------------- |
| speed | number | `15` | The speed of the scrolling animation. Higher values result in faster scroll. |
| pause-on-hover | boolean | `true` | Whether to pause the scrolling animation when |
| pause-duration | number | `1000` | The delay in milliseconds before the scrolling animation starts/restarts. |
@@ -0,0 +1,25 @@
import { css, LitElement } from "lit";
import { customElement } from "lit/decorators";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-marquee-text";
@customElement("demo-components-ha-marquee-text")
export class DemoHaMarqueeText extends LitElement {
static styles = css`
ha-card {
max-width: 600px;
margin: 24px auto;
}
.card-content {
display: flex;
flex-direction: column;
align-items: flex-start;
}
`;
}
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-marquee-text": DemoHaMarqueeText;
}
}
@@ -0,0 +1,32 @@
---
title: Progress Button
---
<style>
.wrapper {
display: flex;
gap: 24px;
}
</style>
# Progress Button `<ha-progress-button>`
### API
This component is a wrapper around `<ha-button>` that adds support for showing progress
**Slots**
- default slot: Label of the button
` - no default
**Properties/Attributes**
| Name | Type | Default | Description |
| ---------- | ---------------------------------------------- | --------- | -------------------------------------------------- |
| label | string | "accent" | Sets the button label. |
| disabled | Boolean | false | Disables the button if true. |
| progress | Boolean | false | Shows a progress indicator on the button. |
| appearance | "accent"/"filled"/"plain" | "accent" | Sets the button appearance. |
| variants | "brand"/"danger"/"neutral"/"warning"/"success" | "brand" | Sets the button color variant. "brand" is default. |
| iconPath | string | undefined | Sets the icon path for the button. |
@@ -0,0 +1,139 @@
import type { TemplateResult } from "lit";
import { css, html, LitElement } from "lit";
import { customElement } from "lit/decorators";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import "../../../../src/components/buttons/ha-progress-button";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-svg-icon";
import { mdiHomeAssistant } from "../../../../src/resources/home-assistant-logo-svg";
@customElement("demo-components-ha-progress-button")
export class DemoHaProgressButton extends LitElement {
protected render(): TemplateResult {
return html`
${["light", "dark"].map(
(mode) => html`
<div class=${mode}>
<ha-card header="ha-progress-button in ${mode}">
<div class="card-content">
<ha-progress-button @click=${this._clickedSuccess}>
Success
</ha-progress-button>
<ha-progress-button @click=${this._clickedFail}>
Fail
</ha-progress-button>
<ha-progress-button size="small" @click=${this._clickedSuccess}>
small
</ha-progress-button>
<ha-progress-button
appearance="filled"
@click=${this._clickedSuccess}
>
filled
</ha-progress-button>
<ha-progress-button
appearance="plain"
@click=${this._clickedSuccess}
>
plain
</ha-progress-button>
<ha-progress-button
variant="warning"
@click=${this._clickedSuccess}
>
warning
</ha-progress-button>
<ha-progress-button
variant="neutral"
@click=${this._clickedSuccess}
label="with icon"
.iconPath=${mdiHomeAssistant}
>
With Icon
</ha-progress-button>
<ha-progress-button progress @click=${this._clickedSuccess}>
progress
</ha-progress-button>
<ha-progress-button disabled @click=${this._clickedSuccess}>
disabled
</ha-progress-button>
</div>
</ha-card>
</div>
`
)}
`;
}
firstUpdated(changedProps) {
super.firstUpdated(changedProps);
applyThemesOnElement(
this.shadowRoot!.querySelector(".dark"),
{
default_theme: "default",
default_dark_theme: "default",
themes: {},
darkMode: true,
theme: "default",
},
undefined,
undefined,
true
);
}
private async _clickedSuccess(ev: CustomEvent): Promise<void> {
console.log("Clicked success");
const button = ev.currentTarget as any;
button.progress = true;
setTimeout(() => {
button.actionSuccess();
button.progress = false;
}, 1000);
}
private async _clickedFail(ev: CustomEvent): Promise<void> {
const button = ev.currentTarget as any;
button.progress = true;
setTimeout(() => {
button.actionError();
button.progress = false;
}, 1000);
}
static styles = css`
:host {
display: flex;
justify-content: center;
}
.dark,
.light {
display: block;
background-color: var(--primary-background-color);
padding: 0 50px;
}
.button {
padding: unset;
}
ha-card {
margin: 24px auto;
}
.card-content {
display: flex;
flex-direction: column;
gap: var(--ha-space-6);
}
.card-content div {
display: flex;
gap: var(--ha-space-2);
}
`;
}
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-progress-button": DemoHaProgressButton;
}
}
@@ -123,7 +123,7 @@ export class DemoHaSelectBox extends LitElement {
margin: 0;
}
label {
font-weight: 600;
font-weight: var(--ha-font-weight-bold);
margin-bottom: 8px;
display: block;
}
@@ -131,7 +131,7 @@ export class DemoHaSelectBox extends LitElement {
--mdc-icon-size: 24px;
--control-select-color: var(--state-fan-active-color);
--control-select-thickness: 130px;
--control-select-border-radius: 36px;
--control-select-border-radius: var(--ha-border-radius-6xl);
}
p.title {
+34 -9
View File
@@ -1,4 +1,3 @@
import "@material/mwc-button";
import type { TemplateResult } from "lit";
import { css, html, LitElement } from "lit";
import { customElement, state } from "lit/decorators";
@@ -6,22 +5,23 @@ import { mockAreaRegistry } from "../../../../demo/src/stubs/area_registry";
import { mockConfigEntries } from "../../../../demo/src/stubs/config_entries";
import { mockDeviceRegistry } from "../../../../demo/src/stubs/device_registry";
import { mockEntityRegistry } from "../../../../demo/src/stubs/entity_registry";
import { mockFloorRegistry } from "../../../../demo/src/stubs/floor_registry";
import { mockHassioSupervisor } from "../../../../demo/src/stubs/hassio_supervisor";
import { mockLabelRegistry } from "../../../../demo/src/stubs/label_registry";
import "../../../../src/components/ha-formfield";
import "../../../../src/components/ha-selector/ha-selector";
import "../../../../src/components/ha-settings-row";
import type { AreaRegistryEntry } from "../../../../src/data/area_registry";
import type { BlueprintInput } from "../../../../src/data/blueprint";
import type { DeviceRegistryEntry } from "../../../../src/data/device_registry";
import type { FloorRegistryEntry } from "../../../../src/data/floor_registry";
import type { LabelRegistryEntry } from "../../../../src/data/label_registry";
import { showDialog } from "../../../../src/dialogs/make-dialog-manager";
import { getEntity } from "../../../../src/fake_data/entity";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import type { ProvideHassElement } from "../../../../src/mixins/provide-hass-lit-mixin";
import type { HomeAssistant } from "../../../../src/types";
import "../../components/demo-black-white-row";
import type { FloorRegistryEntry } from "../../../../src/data/floor_registry";
import type { LabelRegistryEntry } from "../../../../src/data/label_registry";
import { mockFloorRegistry } from "../../../../demo/src/stubs/floor_registry";
import { mockLabelRegistry } from "../../../../demo/src/stubs/label_registry";
import type { DeviceRegistryEntry } from "../../../../src/data/device_registry";
const ENTITIES = [
getEntity("alarm_control_panel", "alarm", "disarmed", {
@@ -415,6 +415,34 @@ const SCHEMAS: {
},
},
},
items: {
name: "Items",
selector: {
object: {
label_field: "name",
description_field: "value",
multiple: true,
fields: {
name: {
label: "Name",
selector: { text: {} },
required: true,
},
value: {
label: "Value",
selector: {
number: {
mode: "slider",
min: 0,
max: 100,
unit_of_measurement: "%",
},
},
},
},
},
},
},
},
},
];
@@ -643,9 +671,6 @@ class DemoHaSelector extends LitElement implements ProvideHassElement {
}
static styles = css`
ha-settings-row {
--paper-item-body-two-line-min-height: 0;
}
.options {
max-width: 800px;
margin: 16px auto;
@@ -0,0 +1,38 @@
---
title: Slider
subtitle: A slider component for selecting a value from a range.
---
<style>
.wrapper {
display: flex;
gap: 24px;
}
</style>
# Slider `<ha-slider>`
## Implementation
### Example Usage
<div class="wrapper">
<ha-slider size="small" with-markers min="0" max="8" value="4"></ha-slider>
<ha-slider size="medium"></ha-slider>
</div>
```html
<ha-slider size="small" with-markers min="0" max="8" value="4"></ha-slider>
<ha-slider size="medium"></ha-slider>
```
### API
This component is based on the webawesome slider component.
Check the [webawesome documentation](https://webawesome.com/docs/components/slider/) for more details.
**CSS Custom Properties**
- `--ha-slider-track-size` - Height of the slider track. Defaults to `4px`.
- `--ha-slider-thumb-color` - Color of the slider thumb. Defaults to `var(--primary-color)`.
- `--ha-slider-indicator-color` - Color of the filled portion of the slider track. Defaults to `var(--primary-color)`.
+100
View File
@@ -0,0 +1,100 @@
import type { TemplateResult } from "lit";
import { css, html, LitElement } from "lit";
import { customElement, property } from "lit/decorators";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import "../../../../src/components/ha-bar";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-spinner";
import "../../../../src/components/ha-slider";
import type { HomeAssistant } from "../../../../src/types";
@customElement("demo-components-ha-slider")
export class DemoHaSlider extends LitElement {
@property({ attribute: false }) hass!: HomeAssistant;
protected render(): TemplateResult {
return html`
${["light", "dark"].map(
(mode) => html`
<div class=${mode}>
<ha-card header="ha-slider ${mode} demo">
<div class="card-content">
<span>Default (disabled)</span>
<ha-slider
disabled
min="0"
max="8"
value="4"
with-markers
></ha-slider>
<span>Small</span>
<ha-slider
size="small"
min="0"
max="8"
value="4"
with-markers
></ha-slider>
<span>Medium</span>
<ha-slider
size="medium"
min="0"
max="8"
value="4"
with-markers
></ha-slider>
</div>
</ha-card>
</div>
`
)}
`;
}
firstUpdated(changedProps) {
super.firstUpdated(changedProps);
applyThemesOnElement(
this.shadowRoot!.querySelector(".dark"),
{
default_theme: "default",
default_dark_theme: "default",
themes: {},
darkMode: true,
theme: "default",
},
undefined,
undefined,
true
);
}
static styles = css`
:host {
display: flex;
justify-content: center;
}
.dark,
.light {
display: block;
background-color: var(--primary-background-color);
padding: 0 50px;
margin: 16px;
border-radius: var(--ha-border-radius-md);
}
ha-card {
margin: 24px auto;
}
.card-content {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--ha-space-6);
}
`;
}
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-slider": DemoHaSlider;
}
}
+56 -18
View File
@@ -1,6 +1,7 @@
import type { TemplateResult } from "lit";
import { html, css, LitElement } from "lit";
import { css, html, LitElement } from "lit";
import { customElement, property } from "lit/decorators";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import "../../../../src/components/ha-bar";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-spinner";
@@ -11,29 +12,66 @@ export class DemoHaSpinner extends LitElement {
@property({ attribute: false }) hass!: HomeAssistant;
protected render(): TemplateResult {
return html`<ha-card header="Basic spinner">
<div class="card-content">
<ha-spinner></ha-spinner></div
></ha-card>
<ha-card header="Different spinner sizes">
<div class="card-content">
<ha-spinner size="tiny"></ha-spinner>
<ha-spinner size="small"></ha-spinner>
<ha-spinner size="medium"></ha-spinner>
<ha-spinner size="large"></ha-spinner></div
></ha-card>
<ha-card header="Spinner with an aria-label">
<div class="card-content">
<ha-spinner aria-label="Doing something..."></ha-spinner>
<ha-spinner .ariaLabel=${"Doing something..."}></ha-spinner></div
></ha-card>`;
return html`
${["light", "dark"].map(
(mode) => html`
<div class=${mode}>
<ha-card header="ha-badge ${mode} demo">
<div class="card-content">
<ha-spinner></ha-spinner>
<ha-spinner size="tiny"></ha-spinner>
<ha-spinner size="small"></ha-spinner>
<ha-spinner size="medium"></ha-spinner>
<ha-spinner size="large"></ha-spinner>
<ha-spinner aria-label="Doing something..."></ha-spinner>
<ha-spinner .ariaLabel=${"Doing something..."}></ha-spinner>
</div>
</ha-card>
</div>
`
)}
`;
}
firstUpdated(changedProps) {
super.firstUpdated(changedProps);
applyThemesOnElement(
this.shadowRoot!.querySelector(".dark"),
{
default_theme: "default",
default_dark_theme: "default",
themes: {},
darkMode: true,
theme: "default",
},
undefined,
undefined,
true
);
}
static styles = css`
:host {
display: flex;
justify-content: center;
}
.dark,
.light {
display: block;
background-color: var(--primary-background-color);
padding: 0 50px;
margin: 16px;
border-radius: var(--ha-border-radius-md);
}
ha-card {
max-width: 600px;
margin: 24px auto;
}
.card-content {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--ha-space-6);
}
`;
}
@@ -6,21 +6,23 @@ A tooltip's target is its _first child element_, so you should only wrap one ele
Tooltips use `display: contents` so they won't interfere with how elements are positioned in a flex or grid layout.
<ha-tooltip content="This is a tooltip">
<ha-button>Hover Me</ha-button>
<ha-button id="hover">Hover Me</ha-button>
<ha-tooltip for="hover">
This is a tooltip
</ha-tooltip>
```
<ha-tooltip content="This is a tooltip">
<ha-button>Hover Me</ha-button>
<ha-button id="hover">Hover Me</ha-button>
<ha-tooltip for="hover">
This is a tooltip
</ha-tooltip>
```
## Documentation
This element is based on sholace `sl-tooltip` it only sets some css tokens and has a custom show/hide animation.
This element is based on webawesome `wa-tooltip` it only sets some css tokens and has a custom show/hide animation.
<a href="https://shoelace.style/components/tooltip" target="_blank" rel="noopener noreferrer">Shoelace documentation</a>
<a href="https://webawesome.com/docs/components/tooltip/" target="_blank" rel="noopener noreferrer">Webawesome documentation</a>
### HA style tokens
@@ -28,3 +30,7 @@ In your theme settings use this without the prefixed `--`.
- `--ha-tooltip-border-radius` (Default: 4px)
- `--ha-tooltip-arrow-size` (Default: 8px)
- `--wa-tooltip-font-family` (Default: `var(--ha-font-family-body)`)
- `--ha-tooltip-font-size` (Default: `var(--ha-font-size-s)`)
- `--wa-tooltip-font-weight` (Default: `var(--ha-font-weight-normal)`)
- `--wa-tooltip-line-height` (Default: `var(--ha-line-height-condensed)`)
@@ -1,9 +1,9 @@
import "@material/mwc-list/mwc-list";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { formatDateTimeNumeric } from "../../../../src/common/datetime/format_date_time";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-select";
import "../../../../src/components/ha-list";
import type { FrontendLocaleData } from "../../../../src/data/translation";
import {
DateFormat,
@@ -49,7 +49,7 @@ export class DemoDateTimeDateTimeNumeric extends LitElement {
@value-changed=${this.handleValueChanged}
>
</ha-control-select>
<mwc-list>
<ha-list>
<div class="container header">
<div>Language</div>
<div class="center">Default (lang)</div>
@@ -96,7 +96,7 @@ export class DemoDateTimeDateTimeNumeric extends LitElement {
</div>
`
)}
</mwc-list>
</ha-list>
`;
}
@@ -106,7 +106,7 @@ export class DemoDateTimeDateTimeNumeric extends LitElement {
margin: 12px auto;
}
.header {
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.center {
text-align: center;
@@ -1,9 +1,9 @@
import "@material/mwc-list/mwc-list";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { formatDateTimeWithSeconds } from "../../../../src/common/datetime/format_date_time";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-select";
import "../../../../src/components/ha-list";
import type { FrontendLocaleData } from "../../../../src/data/translation";
import {
DateFormat,
@@ -49,7 +49,7 @@ export class DemoDateTimeDateTimeSeconds extends LitElement {
@value-changed=${this.handleValueChanged}
>
</ha-control-select>
<mwc-list>
<ha-list>
<div class="container header">
<div>Language</div>
<div class="center">Default (lang)</div>
@@ -96,7 +96,7 @@ export class DemoDateTimeDateTimeSeconds extends LitElement {
</div>
`
)}
</mwc-list>
</ha-list>
`;
}
@@ -106,7 +106,7 @@ export class DemoDateTimeDateTimeSeconds extends LitElement {
margin: 12px auto;
}
.header {
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.center {
text-align: center;
@@ -1,9 +1,9 @@
import "@material/mwc-list/mwc-list";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { formatShortDateTimeWithYear } from "../../../../src/common/datetime/format_date_time";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-select";
import "../../../../src/components/ha-list";
import type { FrontendLocaleData } from "../../../../src/data/translation";
import {
DateFormat,
@@ -49,7 +49,7 @@ export class DemoDateTimeDateTimeShortYear extends LitElement {
@value-changed=${this.handleValueChanged}
>
</ha-control-select>
<mwc-list>
<ha-list>
<div class="container header">
<div>Language</div>
<div class="center">Default (lang)</div>
@@ -96,7 +96,7 @@ export class DemoDateTimeDateTimeShortYear extends LitElement {
</div>
`
)}
</mwc-list>
</ha-list>
`;
}
@@ -106,7 +106,7 @@ export class DemoDateTimeDateTimeShortYear extends LitElement {
margin: 12px auto;
}
.header {
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.center {
text-align: center;
@@ -1,9 +1,9 @@
import "@material/mwc-list/mwc-list";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { formatShortDateTime } from "../../../../src/common/datetime/format_date_time";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-select";
import "../../../../src/components/ha-list";
import type { FrontendLocaleData } from "../../../../src/data/translation";
import {
DateFormat,
@@ -49,7 +49,7 @@ export class DemoDateTimeDateTimeShort extends LitElement {
@value-changed=${this.handleValueChanged}
>
</ha-control-select>
<mwc-list>
<ha-list>
<div class="container header">
<div>Language</div>
<div class="center">Default (lang)</div>
@@ -96,7 +96,7 @@ export class DemoDateTimeDateTimeShort extends LitElement {
</div>
`
)}
</mwc-list>
</ha-list>
`;
}
@@ -106,7 +106,7 @@ export class DemoDateTimeDateTimeShort extends LitElement {
margin: 12px auto;
}
.header {
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.center {
text-align: center;
+4 -4
View File
@@ -1,9 +1,9 @@
import "@material/mwc-list/mwc-list";
import { LitElement, css, html } from "lit";
import { customElement, state } from "lit/decorators";
import { formatDateTime } from "../../../../src/common/datetime/format_date_time";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-control-select";
import "../../../../src/components/ha-list";
import type { FrontendLocaleData } from "../../../../src/data/translation";
import {
DateFormat,
@@ -49,7 +49,7 @@ export class DemoDateTimeDateTime extends LitElement {
@value-changed=${this.handleValueChanged}
>
</ha-control-select>
<mwc-list>
<ha-list>
<div class="container header">
<div>Language</div>
<div class="center">Default (lang)</div>
@@ -96,7 +96,7 @@ export class DemoDateTimeDateTime extends LitElement {
</div>
`
)}
</mwc-list>
</ha-list>
`;
}
@@ -106,7 +106,7 @@ export class DemoDateTimeDateTime extends LitElement {
margin: 12px auto;
}
.header {
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.center {
text-align: center;
+4 -4
View File
@@ -1,8 +1,8 @@
import "@material/mwc-list/mwc-list";
import { css, html, LitElement } from "lit";
import { customElement } from "lit/decorators";
import { formatDateNumeric } from "../../../../src/common/datetime/format_date";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-list";
import type { FrontendLocaleData } from "../../../../src/data/translation";
import {
DateFormat,
@@ -27,7 +27,7 @@ export class DemoDateTimeDate extends LitElement {
};
const date = new Date();
return html`
<mwc-list>
<ha-list>
<div class="container header">
<div>Language</div>
<div class="center">Default (lang)</div>
@@ -86,13 +86,13 @@ export class DemoDateTimeDate extends LitElement {
</div>
`
)}
</mwc-list>
</ha-list>
`;
}
static styles = css`
.header {
font-weight: bold;
font-weight: var(--ha-font-weight-bold);
}
.center {
text-align: center;

Some files were not shown because too many files have changed in this diff Show More