Compare commits

..

492 Commits

Author SHA1 Message Date
J. Nick Koston
7128872bcc Enable compression for development 2023-02-27 16:10:08 -06:00
J. Nick Koston
60f3fc85ae Enable compression on the dev server 2023-02-27 15:49:01 -06:00
J. Nick Koston
3f9df79849 wip 2023-02-27 15:04:46 -06:00
J. Nick Koston
3ce4e67083 wip 2023-02-27 15:04:28 -06:00
J. Nick Koston
77e05af465 wip 2023-02-27 15:04:16 -06:00
J. Nick Koston
97b6fc03b3 wip 2023-02-27 15:00:09 -06:00
J. Nick Koston
cf142cee83 wip 2023-02-27 14:58:01 -06:00
J. Nick Koston
6347889fcb wip 2023-02-27 14:54:37 -06:00
J. Nick Koston
7f216699ac wip 2023-02-27 14:30:27 -06:00
J. Nick Koston
2639cae21e typing 2023-02-27 13:00:07 -06:00
J. Nick Koston
e6f33fb62f typing 2023-02-27 12:51:48 -06:00
J. Nick Koston
38cab70e8b Merge branch 'dev' into energy_no_ids 2023-02-27 12:49:54 -06:00
J. Nick Koston
09d10230a7 Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:42 -06:00
J. Nick Koston
8174fbbc3e Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:36 -06:00
J. Nick Koston
84b4daf4bf Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:30 -06:00
J. Nick Koston
2d699c8f3f Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:25 -06:00
J. Nick Koston
50e6a18eee Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:20 -06:00
J. Nick Koston
58ecabd351 Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:13 -06:00
J. Nick Koston
23e9f265ee Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:46:04 -06:00
J. Nick Koston
4c9fc516ce Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:45:58 -06:00
J. Nick Koston
d369ad0a37 Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:45:54 -06:00
J. Nick Koston
f323c93a96 Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:45:48 -06:00
J. Nick Koston
3ae49bb336 Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:45:39 -06:00
J. Nick Koston
1ae950d17a Update src/data/energy.ts
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-27 12:45:31 -06:00
Marius
5eafecf95d add domain icons for fan (#15613) 2023-02-27 16:30:14 +00:00
Bram Kragten
7f644530e4 Add delete and add thread dataset (#15619) 2023-02-27 17:27:58 +01:00
wizmo2
3aea416175 Add --ha-label-badge-border-radius (#15597)
allows button shape to be customized in themes.
2023-02-27 16:48:38 +01:00
Paul Bottein
868c414759 Show all hardware button for supervised installs (#15617) 2023-02-27 15:03:34 +00:00
Paul Bottein
f4848964c3 Restart dialog improvements (#15611) 2023-02-27 12:00:02 +01:00
dependabot[bot]
b10c95e803 Bump weekstart from 1.1.0 to 2.0.0 (#15608)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 10:38:15 +01:00
J. Nick Koston
25cf879793 Fix duplicate fetch of stats metadata in more info (#15590) 2023-02-27 10:27:26 +01:00
Steve Repsher
ba3b265b9a Fix invalid style in password manager polyfill and ha-bar (#15603) 2023-02-27 10:22:55 +01:00
Steve Repsher
7568ae5964 Fix unsafe optional chaining (#15604) 2023-02-27 10:11:44 +01:00
Paul Bottein
d4ace99de3 Fix display precision label when unknown or unavailable (#15610) 2023-02-27 10:10:35 +01:00
dependabot[bot]
087bda22d4 Bump systemjs from 6.13.0 to 6.14.0 (#15606) 2023-02-27 00:59:24 -05:00
dependabot[bot]
83ffc754c9 Bump vis-network from 9.1.2 to 9.1.4 (#15609) 2023-02-27 00:56:22 -05:00
dependabot[bot]
7a8ea4a9f9 Bump eslint from 8.34.0 to 8.35.0 (#15607) 2023-02-27 00:55:11 -05:00
J. Nick Koston
fa7f5eccdb avoid downloading the whole entity registry again as well 2023-02-24 18:30:45 -06:00
J. Nick Koston
f75d17e10c Avoid fetching all stats metadata when there are no entities
Fetch all the data at once since it is not dependant
2023-02-24 17:26:29 -06:00
Bram Kragten
650f32ba6d Bumped version to 20230224.0 2023-02-24 21:05:47 +01:00
Bram Kragten
01ec9aaf96 Get all entity reg categories (#15581) 2023-02-24 14:33:31 +01:00
Bram Kragten
682f383c9e Fix entity settings for entity with no entity reg (#15577) 2023-02-24 09:29:20 +01:00
Paul Bottein
7724fa02d7 Fix all hardware button (#15579) 2023-02-24 09:27:53 +01:00
dependabot[bot]
0a49bf2d4c Bump @types/glob from 8.0.1 to 8.1.0 (#15558)
Bumps [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob) from 8.0.1 to 8.1.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/glob)

---
updated-dependencies:
- dependency-name: "@types/glob"
  dependency-type: direct:development
  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>
2023-02-23 20:15:11 +01:00
Bram Kragten
12478a2177 Fix dialog stopping scrolling (#15574) 2023-02-23 17:18:36 +00:00
Paul Bottein
96a261d831 Add swipe gesture to control switch (#15567)
* Add swipe gesture to control switch

* Update src/components/ha-control-switch.ts

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

* Only add necessary listener

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-23 17:13:03 +00:00
Bram Kragten
1095088d42 Bumped version to 20230223.0 2023-02-23 17:42:15 +01:00
Bram Kragten
43541f9754 Fix area picker (#15566) 2023-02-23 16:35:25 +01:00
Bram Kragten
f69ae84cc6 Use entity registry display api (#15549) 2023-02-23 16:30:13 +01:00
Paul Bottein
7173b30716 Add margin between logbook and history (#15571) 2023-02-23 15:23:24 +00:00
Paul Bottein
f92deb3225 Add haptic support to light toggle button (#15569) 2023-02-23 16:20:22 +01:00
dependabot[bot]
2e86d739fc Bump @material/web from 1.0.0-pre.2 to 1.0.0-pre.3 (#15556)
Bumps [@material/web](https://github.com/material-components/material-web) from 1.0.0-pre.2 to 1.0.0-pre.3.
- [Release notes](https://github.com/material-components/material-web/releases)
- [Changelog](https://github.com/material-components/material-web/blob/master/CHANGELOG.md)
- [Commits](https://github.com/material-components/material-web/compare/v1.0.0-pre.2...v1.0.0-pre.3)

---
updated-dependencies:
- dependency-name: "@material/web"
  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>
2023-02-23 15:49:16 +01:00
Bram Kragten
7e0c80ae24 Use correct number format options in hui-gauge (#15565) 2023-02-23 15:41:27 +01:00
Paul Bottein
3b5fe7fd9f Center new more info controls (#15564)
* Center new more info controls

* Center change color view
2023-02-23 15:10:05 +01:00
Steve Repsher
03e3f161f7 Prefer regex literals over constructors (#15553) 2023-02-23 14:06:35 +01:00
dependabot[bot]
ab231eec4f Bump magic-string from 0.29.0 to 0.30.0 (#15557)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-23 10:42:30 +01:00
Bram Kragten
7041d322d6 Allow energy dashboard to be cast (#15397) 2023-02-23 10:38:44 +01:00
Raman Gupta
f786539f15 Re-add target option to zwave-js firmware upload (#15517) 2023-02-23 10:29:30 +01:00
Raman Gupta
19d721f193 Add support for zwave_js controller firmware updates (#15515) 2023-02-22 17:54:53 +01:00
Bram Kragten
5629346fc3 Add support for Z-Wave DSK QR codes (#15542
Add support for zwave dsk qr codes
2023-02-22 17:53:58 +01:00
Bram Kragten
ca6ade4858 Bumped version to 20230222.0 2023-02-22 17:34:02 +01:00
Paulus Schoutsen
6b9e0405d0 Add download diagnostics to Thread panel (#15550) 2023-02-22 16:29:58 +00:00
Paul Bottein
e46803cb4e Add more info for switch and siren (#15547)
* Add more info for switch and siren

* Fix attributes
2023-02-22 17:24:26 +01:00
Paul Bottein
e697a09e53 Only show heading divider on more info dialog scroll (#15545) 2023-02-22 17:17:39 +01:00
chiahsing
3158e6043d Fix a bug in cast launcher that hassURL and path are incorrectly passed (#15546) 2023-02-22 16:15:16 +00:00
Paul Bottein
2c61c960bc Add restart action to config dashboard overflow menu (#15544) 2023-02-22 17:00:02 +01:00
Paul Bottein
91493e109e Fix more info control assumed state color (#15548) 2023-02-22 16:59:01 +01:00
Paul Bottein
2bd6d9d202 Add group support to new more info light (#15543) 2023-02-22 12:20:45 +01:00
Bram Kragten
dfb74fd576 Center icon in md-icon-button (#15541) 2023-02-22 11:27:57 +01:00
dependabot[bot]
fef74b0b8a Bump @web/dev-server from 0.0.24 to 0.1.35 (#15280)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-22 10:26:06 +01:00
Paul Bottein
0fc36823da More info light redesign (#15482)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-21 20:01:24 +00:00
Bram Kragten
25d8550dd7 Fix double defined cloud-account (#15537) 2023-02-21 19:28:21 +00:00
Bram Kragten
e44ccb0574 bump eslint (#15535) 2023-02-21 19:02:30 +01:00
karwosts
d00467a39c Add for to UI for template trigger (#15534) 2023-02-21 17:27:56 +01:00
Bram Kragten
4e841c4a06 fix more info history tooltips (#15533) 2023-02-21 14:07:53 +00:00
Bram Kragten
cf304d91c7 Use @egjs/hammerjs (#15532) 2023-02-21 14:51:34 +01:00
Paul Bottein
3066a9d10d Use new restart dialog in dev tools (#15530) 2023-02-21 12:49:13 +01:00
Paul Bottein
3e72b1cb5d Fix tile card typings (#15529) 2023-02-21 11:11:44 +00:00
Bram Kragten
a03c335331 Bump formatjs intl polyfills (#15527) 2023-02-21 12:03:07 +01:00
Jc2k
6e153cb307 Fix a typo: Add OpenTread Border Router (#15528) 2023-02-21 11:58:40 +01:00
Paul Bottein
8ed4914232 Add support for custom tile features (#15411
* Move isSupported to class

* Use getConfigElement to display edit button

* Remove custom element for test

* Don't use class static functions

* Refactor render

* Add support for custom tile features in editor

* Add missing relative position

* Rename custom tile features options

* PR feedbacks + split offical and custom types

* Merge is custom type function
2023-02-21 11:10:44 +01:00
Bram Kragten
88205a94d6 Bump babel (#15526
* Bump babel

* fix lint

* Restore src/cast/dev_const.ts
2023-02-21 11:08:19 +01:00
Raman Gupta
0b54e60b91 Update ZWaveJSController interface (#15230) 2023-02-21 09:51:06 +01:00
Steve Repsher
a469a92601 Bump webpack to v5.72.1 and tweak stats scripts (#15516) 2023-02-21 09:50:28 +01:00
dependabot[bot]
77f7a5647d Bump @formatjs/intl-getcanonicallocales from 2.0.5 to 2.1.0 (#15521)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-21 09:46:30 +01:00
karwosts
850609b1d0 Resync thermostat card setpoint values if service call fails (#15497) 2023-02-21 09:36:18 +01:00
dependabot[bot]
c95a600fbb Bump @formatjs/intl-relativetimeformat from 11.1.8 to 11.1.10 (#15523) 2023-02-21 00:08:37 -05:00
dependabot[bot]
1cffe4f9bf Bump intl-messageformat from 10.3.0 to 10.3.1 (#15520) 2023-02-21 00:06:56 -05:00
dependabot[bot]
2cae0cd54f Bump @formatjs/intl-datetimeformat from 6.4.3 to 6.5.1 (#15522) 2023-02-21 00:05:14 -05:00
dependabot[bot]
d56f35e6fd Bump @types/leaflet from 1.9.0 to 1.9.1 (#15519) 2023-02-21 00:02:30 -05:00
dependabot[bot]
be8cb8fb3f Bump @codemirror/view from 6.9.0 to 6.9.1 (#15502)
* Bump @codemirror/view from 6.9.0 to 6.9.1

Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.9.0 to 6.9.1.
- [Release notes](https://github.com/codemirror/view/releases)
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.9.0...6.9.1)

---
updated-dependencies:
- dependency-name: "@codemirror/view"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-20 21:01:10 +00:00
Bram Kragten
74bc6eeda8 Add message when no preferred network (#15514) 2023-02-20 20:45:02 +01:00
karwosts
fbf084bf00 Fix map sizing in grids and h-stacks (#15290)
* Fix map sizing in grids and h-stacks

* ha-card as a flexbox
2023-02-20 20:41:26 +01:00
karwosts
76f90e1449 Fix errors in duration data processing in Automation UI Editor (#15422)
Fix errors in duration data processing
2023-02-20 20:40:34 +01:00
Raman Gupta
404199bb19 Update ZWaveJSNodeStatus interface and firmware logic (#15338) 2023-02-20 20:32:31 +01:00
Paul Bottein
dfbe32018a Add reload all service to quick bar and dev tools (#15512) 2023-02-20 19:32:13 +00:00
Bram Kragten
48dcd98634 Allow for custom submit button text in data flows (#15383) 2023-02-20 19:56:06 +01:00
Yosi Levy
658ce80801 Rtl fixes feb23 (#15487) 2023-02-20 18:16:03 +01:00
Steve Repsher
7adb49c772 Fix promise constructors with returns (#15486) 2023-02-20 18:14:54 +01:00
karwosts
05f2fb896c Block target picker from adding badly formatted entity (fix history crash) (#15509) 2023-02-20 18:14:04 +01:00
Paul Bottein
e21816be52 Fix area name in target picker (#15511) 2023-02-20 16:36:46 +00:00
Paul Bottein
bef586efb3 Rename bar components to control components (#15508)
* Rename ha-bar-slider to ha-control-slider

* Rename ha-bar-switch to ha-control-switch

* Rename ha-bar-button to ha-control-button

* Update tile features
2023-02-20 17:34:37 +01:00
Bram Kragten
5f9f51f92d Render target picker combo-box in overlaying menu surface (#14970) 2023-02-20 17:32:52 +01:00
Paul Bottein
cabbbcf9f3 Convert tile button into more generic button (#15485)
* Add button group component

* Add focus style

* Use new component in tile card
2023-02-20 16:25:53 +01:00
karwosts
d5fb924cb4 Support for timestamp sensors in time trigger automation UI (#15292)
* Support for timestamp sensors in time trigger automation UI

* rename var

* simply filter function

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

* rename var

* use new entity filter options

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-02-20 14:30:40 +00:00
Paul Bottein
8754947133 Compact more info header (#15448) 2023-02-20 13:58:10 +00:00
Paul Bottein
9c42eb5130 Add better focus style for tile card when theme use box-shadow (#15476) 2023-02-20 14:41:58 +01:00
Paul Bottein
1ab1cf0fab Add support for buffering state in media browser (#15459) 2023-02-20 14:32:13 +01:00
Paul Bottein
e91a477b8b Fix alert padding inside more info dialog (#15477) 2023-02-20 14:30:38 +01:00
Paul Bottein
c4160e8368 Add filter options to entity and device selectors (#15302) 2023-02-20 14:30:05 +01:00
Paul Bottein
cf377558ae Use filter_entity and filter_attribute context (#15395) 2023-02-20 14:21:02 +01:00
Paul Bottein
6986c1c8b7 Add option to hide legend on statistic graph card (#15506) 2023-02-20 07:31:14 -05:00
dependabot[bot]
6c9d6755f1 Bump @codemirror/autocomplete from 6.4.1 to 6.4.2 (#15501) 2023-02-19 23:53:35 -05:00
dependabot[bot]
747b9e2ae1 Bump eslint-config-airbnb-base from 14.2.1 to 15.0.0 (#15480)
* Bump eslint-config-airbnb-base from 14.2.1 to 15.0.0

Bumps [eslint-config-airbnb-base](https://github.com/airbnb/javascript) from 14.2.1 to 15.0.0.
- [Release notes](https://github.com/airbnb/javascript/releases)
- [Commits](https://github.com/airbnb/javascript/compare/eslint-config-airbnb-base-v14.2.1...eslint-config-airbnb-base-v15.0.0)

---
updated-dependencies:
- dependency-name: eslint-config-airbnb-base
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Set new rules to warn for now

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-17 18:29:57 +00:00
dependabot[bot]
8f22b3c1fa Bump lint-staged from 13.1.1 to 13.1.2 (#15481) 2023-02-17 00:01:56 -05:00
dependabot[bot]
054e4165f8 Bump @types/tar from 6.1.3 to 6.1.4 (#15479) 2023-02-17 00:00:30 -05:00
dependabot[bot]
82b2c6aa06 Bump @codemirror/view from 6.8.1 to 6.9.0 (#15472)
* Bump @codemirror/view from 6.8.1 to 6.9.0

Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.8.1 to 6.9.0.
- [Release notes](https://github.com/codemirror/view/releases)
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.8.1...6.9.0)

---
updated-dependencies:
- dependency-name: "@codemirror/view"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-16 16:34:48 +00:00
dependabot[bot]
07d84a32fd Bump @codemirror/language from 6.4.0 to 6.6.0 (#15467)
* Bump @codemirror/language from 6.4.0 to 6.6.0

Bumps [@codemirror/language](https://github.com/codemirror/language) from 6.4.0 to 6.6.0.
- [Release notes](https://github.com/codemirror/language/releases)
- [Changelog](https://github.com/codemirror/language/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/language/compare/6.4.0...6.6.0)

---
updated-dependencies:
- dependency-name: "@codemirror/language"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-16 16:09:23 +00:00
dependabot[bot]
d37e53b4a5 Bump magic-string from 0.25.7 to 0.29.0 (#15469)
Bumps [magic-string](https://github.com/rich-harris/magic-string) from 0.25.7 to 0.29.0.
- [Release notes](https://github.com/rich-harris/magic-string/releases)
- [Changelog](https://github.com/Rich-Harris/magic-string/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rich-harris/magic-string/compare/v0.25.7...v0.29.0)

---
updated-dependencies:
- dependency-name: magic-string
  dependency-type: direct:development
  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>
2023-02-16 11:07:56 -05:00
Bram Kragten
252e58d63b Add basic Thread network overview page (#15474) 2023-02-16 16:29:56 +01:00
dependabot[bot]
d98a26146b Bump @vaadin/combo-box from 23.3.6 to 23.3.7 (#15468)
* Bump @vaadin/combo-box from 23.3.6 to 23.3.7

Bumps [@vaadin/combo-box](https://github.com/vaadin/web-components/tree/HEAD/packages/combo-box) from 23.3.6 to 23.3.7.
- [Release notes](https://github.com/vaadin/web-components/releases)
- [Commits](https://github.com/vaadin/web-components/commits/v23.3.7/packages/combo-box)

---
updated-dependencies:
- dependency-name: "@vaadin/combo-box"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Update theme mixin too

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-02-16 13:15:58 +01:00
Paul Bottein
8631139133 Fix initial scroll inside more info dialog (#15473) 2023-02-16 12:54:17 +01:00
karwosts
d5578c236f Fix typo in water consumption description (#15464) 2023-02-16 11:39:31 +01:00
dependabot[bot]
de5199e34c Bump @codemirror/commands from 6.2.0 to 6.2.1 (#15471) 2023-02-16 05:34:04 +00:00
dependabot[bot]
980758528a Bump @codemirror/autocomplete from 6.4.0 to 6.4.1 (#15470) 2023-02-16 00:14:37 -05:00
dependabot[bot]
0fdb012e24 Bump @typescript-eslint/eslint-plugin from 5.51.0 to 5.52.0 (#15466) 2023-02-16 00:13:03 -05:00
karwosts
3b1bc37f53 More alarm arming options in more-info dialog (#15452)
* More alarm arming options in more-info dialog

* minor change to null handling

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

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

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

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

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-02-15 22:18:52 +01:00
dependabot[bot]
cb85bc054a Bump vue from 2.6.12 to 2.7.14 (#15443)
* Bump vue from 2.6.12 to 2.7.14

Bumps [vue](https://github.com/vuejs/core) from 2.6.12 to 2.7.14.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/commits)

---
updated-dependencies:
- dependency-name: vue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-15 18:43:45 +00:00
dependabot[bot]
94dd3c95ff Bump core-js from 3.27.2 to 3.28.0 (#15441)
* Bump core-js from 3.27.2 to 3.28.0

Bumps [core-js](https://github.com/zloirock/core-js/tree/HEAD/packages/core-js) from 3.27.2 to 3.28.0.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/commits/v3.28.0/packages/core-js)

---
updated-dependencies:
- dependency-name: core-js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Update core-js version in babel preset

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-15 18:41:34 +00:00
dependabot[bot]
6e55077cd3 Bump vue2-daterange-picker from 0.5.1 to 0.6.8 (#15403)
Bumps [vue2-daterange-picker](https://github.com/Innologica/vue2-daterange-picker) from 0.5.1 to 0.6.8.
- [Release notes](https://github.com/Innologica/vue2-daterange-picker/releases)
- [Commits](https://github.com/Innologica/vue2-daterange-picker/commits)

---
updated-dependencies:
- dependency-name: vue2-daterange-picker
  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>
2023-02-15 13:07:14 -05:00
dependabot[bot]
ff47d7d408 Bump vis-network from 8.5.4 to 9.1.2 (#15251)
Bumps [vis-network](https://github.com/visjs/vis-network) from 8.5.4 to 9.1.2.
- [Release notes](https://github.com/visjs/vis-network/releases)
- [Changelog](https://github.com/visjs/vis-network/blob/master/HISTORY.md)
- [Commits](https://github.com/visjs/vis-network/compare/v8.5.4...v9.1.2)

---
updated-dependencies:
- dependency-name: vis-network
  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>
2023-02-15 10:37:02 -05:00
dependabot[bot]
a9180e062c Bump mocha and @types/mocha (#15453)
Bumps [mocha](https://github.com/mochajs/mocha) and [@types/mocha](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/mocha). These dependencies needed to be updated together.

Updates `mocha` from 8.4.0 to 10.2.0
- [Release notes](https://github.com/mochajs/mocha/releases)
- [Changelog](https://github.com/mochajs/mocha/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mochajs/mocha/compare/v8.4.0...v10.2.0)

Updates `@types/mocha` from 8.2.3 to 10.0.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/mocha)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/mocha"
  dependency-type: direct:development
  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>
2023-02-15 15:23:43 +00:00
dependabot[bot]
9d918b727c Bump tsparticles-preset-links from 2.8.0 to 2.9.3 (#15454)
Bumps [tsparticles-preset-links](https://github.com/matteobruni/tsparticles/tree/HEAD/presets/links) from 2.8.0 to 2.9.3.
- [Release notes](https://github.com/matteobruni/tsparticles/releases)
- [Changelog](https://github.com/matteobruni/tsparticles/blob/main/presets/links/CHANGELOG.md)
- [Commits](https://github.com/matteobruni/tsparticles/commits/tsparticles-preset-links@2.9.3/presets/links)

---
updated-dependencies:
- dependency-name: tsparticles-preset-links
  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>
2023-02-15 10:02:39 -05:00
dependabot[bot]
7c65bb9791 Bump open from 8.4.0 to 8.4.1 (#15442)
* Bump open from 8.4.0 to 8.4.1

Bumps [open](https://github.com/sindresorhus/open) from 8.4.0 to 8.4.1.
- [Release notes](https://github.com/sindresorhus/open/releases)
- [Commits](https://github.com/sindresorhus/open/compare/v8.4.0...v8.4.1)

---
updated-dependencies:
- dependency-name: open
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-15 16:00:22 +01:00
lunmay
1e2c21d49e Fix typo from restart dialog (whitch -> which) (#15458)
Typo fix:
whitch - >which
2023-02-15 15:02:08 +01:00
Paul Bottein
e81f596d76 Add restart dialog (#15337) 2023-02-14 13:04:18 +01:00
Steve Repsher
ec66e8331e Make minor workflow revisions and fix dedupe precommit (#15399) 2023-02-14 13:03:16 +01:00
Yosi Levy
a13e2af17a Various RTL fixes (#15446) 2023-02-14 13:02:45 +01:00
karwosts
1e7fe59519 Add slight hysteresis to chart height to prevent scrollbar juddering (#15321) 2023-02-14 13:01:01 +01:00
dependabot[bot]
d8fe7d9a01 Bump @typescript-eslint/parser from 5.49.0 to 5.52.0 (#15445) 2023-02-14 04:29:53 +00:00
dependabot[bot]
1a335a18a4 Bump @types/tar from 6.1.2 to 6.1.3 (#15444) 2023-02-14 04:25:46 +00:00
dependabot[bot]
00a40a5c51 Bump tsparticles-engine from 2.8.0 to 2.9.3 (#15434)
* Bump tsparticles-engine from 2.8.0 to 2.9.3

Bumps [tsparticles-engine](https://github.com/matteobruni/tsparticles/tree/HEAD/engine) from 2.8.0 to 2.9.3.
- [Release notes](https://github.com/matteobruni/tsparticles/releases)
- [Changelog](https://github.com/matteobruni/tsparticles/blob/main/engine/CHANGELOG.md)
- [Commits](https://github.com/matteobruni/tsparticles/commits/tsparticles-engine@2.9.3/engine)

---
updated-dependencies:
- dependency-name: tsparticles-engine
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-13 17:01:11 +00:00
Paul Bottein
74512298d2 Use enum for media player features (#15410) 2023-02-13 17:48:18 +01:00
Raman Gupta
bf5eeba0a5 Remove firmware target from zwave_js firmware upload UI (#15425) 2023-02-13 17:47:10 +01:00
dependabot[bot]
859e69d373 Bump terser-webpack-plugin from 5.2.4 to 5.3.6 (#15435)
* Bump terser-webpack-plugin from 5.2.4 to 5.3.6

Bumps [terser-webpack-plugin](https://github.com/webpack-contrib/terser-webpack-plugin) from 5.2.4 to 5.3.6.
- [Release notes](https://github.com/webpack-contrib/terser-webpack-plugin/releases)
- [Changelog](https://github.com/webpack-contrib/terser-webpack-plugin/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/terser-webpack-plugin/compare/v5.2.4...v5.3.6)

---
updated-dependencies:
- dependency-name: terser-webpack-plugin
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies [dependabot skip]

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-13 16:32:42 +00:00
Paul Bottein
1c5b476bda Fix custom card documentation url (#15439)
Fix custom card documentation
2023-02-13 11:28:45 -05:00
dependabot[bot]
714c6aab98 Bump prettier from 2.8.3 to 2.8.4 (#15436) 2023-02-13 04:43:36 +00:00
dependabot[bot]
b409d0ff88 Bump rrule from 2.7.1 to 2.7.2 (#15432) 2023-02-13 04:42:12 +00:00
dependabot[bot]
f74aa7c7e6 Bump @types/marked from 4.0.2 to 4.0.8 (#15433) 2023-02-13 04:39:54 +00:00
J. Nick Koston
a325d32d09 Fix stats data being fetched for all entities when there are no energy/water stat ids (#15428)
* Fix stats data being fetched for all entities when there are no energy/water stat ids

I noticed the following query was being sent
to the stats api since there were no water
stat ids. Since it sent an empty list it
enumerated everything

```
{
type: "recorder/statistics_during_period",
start_time: "2023-02-05T05:00:00.000Z",
end_time: "2023-02-12T05:59:59.999Z"
....
statistic_ids: [],
type: "recorder/statistics_during_period"
types: ["sum"]
units: {volume: "gal"}
}
```

* not python
2023-02-11 17:43:20 -05:00
dependabot[bot]
4a10c722ab Bump gulp-zopfli-green from 3.0.1 to 6.0.1 (#15414)
Bumps [gulp-zopfli-green](https://github.com/gekorm/gulp-zopfli-green) from 3.0.1 to 6.0.1.
- [Release notes](https://github.com/gekorm/gulp-zopfli-green/releases)
- [Commits](https://github.com/gekorm/gulp-zopfli-green/compare/v3.0.1...v6.0.1)

---
updated-dependencies:
- dependency-name: gulp-zopfli-green
  dependency-type: direct:development
  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>
2023-02-10 16:21:49 -05:00
dependabot[bot]
d1b95ba36b Bump eslint-config-airbnb-typescript from 14.0.0 to 17.0.0 (#15373)
* Bump eslint-config-airbnb-typescript from 14.0.0 to 17.0.0

Bumps [eslint-config-airbnb-typescript](https://github.com/iamturns/eslint-config-airbnb-typescript) from 14.0.0 to 17.0.0.
- [Release notes](https://github.com/iamturns/eslint-config-airbnb-typescript/releases)
- [Changelog](https://github.com/iamturns/eslint-config-airbnb-typescript/blob/master/CHANGELOG.md)
- [Commits](https://github.com/iamturns/eslint-config-airbnb-typescript/compare/v14.0.0...v17.0.0)

---
updated-dependencies:
- dependency-name: eslint-config-airbnb-typescript
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependencies [dependabot skip]

* Disable default params last rule for current offenders

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-10 18:38:48 +00:00
dependabot[bot]
e2bfaf2448 Bump marked from 4.0.12 to 4.2.12 (#15413)
Bumps [marked](https://github.com/markedjs/marked) from 4.0.12 to 4.2.12.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/.releaserc.json)
- [Commits](https://github.com/markedjs/marked/compare/v4.0.12...v4.2.12)

---
updated-dependencies:
- dependency-name: marked
  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>
2023-02-10 11:15:49 -05:00
dependabot[bot]
4e74a652b3 Bump tinykeys from 1.1.3 to 1.4.0 (#15406)
Bumps [tinykeys](https://github.com/jamiebuilds/tinykeys) from 1.1.3 to 1.4.0.
- [Release notes](https://github.com/jamiebuilds/tinykeys/releases)
- [Commits](https://github.com/jamiebuilds/tinykeys/compare/v1.1.3...v1.4.0)

---
updated-dependencies:
- dependency-name: tinykeys
  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>
2023-02-10 10:57:59 -05:00
dependabot[bot]
24f6bb5c93 Bump hls.js from 1.3.1 to 1.3.3 (#15412) 2023-02-10 08:50:19 -05:00
dependabot[bot]
eec4760593 Bump @codemirror/view from 6.7.3 to 6.8.1 (#15405)
* Bump @codemirror/view from 6.7.3 to 6.8.1

Bumps [@codemirror/view](https://github.com/codemirror/view) from 6.7.3 to 6.8.1.
- [Release notes](https://github.com/codemirror/view/releases)
- [Changelog](https://github.com/codemirror/view/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/view/compare/6.7.3...6.8.1)

---
updated-dependencies:
- dependency-name: "@codemirror/view"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-09 17:42:45 +00:00
dependabot[bot]
bc572a5749 Bump @webcomponents/scoped-custom-element-registry from 0.0.5 to 0.0.8 (#15407)
Bumps [@webcomponents/scoped-custom-element-registry](https://github.com/webcomponents/polyfills/tree/HEAD/packages/scoped-custom-element-registry) from 0.0.5 to 0.0.8.
- [Release notes](https://github.com/webcomponents/polyfills/releases)
- [Changelog](https://github.com/webcomponents/polyfills/blob/master/packages/scoped-custom-element-registry/CHANGELOG.md)
- [Commits](https://github.com/webcomponents/polyfills/commits/@webcomponents/scoped-custom-element-registry@0.0.8/packages/scoped-custom-element-registry)

---
updated-dependencies:
- dependency-name: "@webcomponents/scoped-custom-element-registry"
  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>
2023-02-09 12:10:01 -05:00
dependabot[bot]
15cf003b46 Bump comlink from 4.3.1 to 4.4.1 (#15404) 2023-02-09 11:14:19 -05:00
Erik Montnemery
050ed145bf Allow overriding a sensor's display precision (#15363)
* Allow overriding a sensor's display precision

* Update demo + gallery

* Lint

* Fix state not updated in the UI

* Use formatNumber for options

* Feedbacks

* Add default precision and minimumFractionDigits

* Remove useless undefined

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-02-08 18:20:58 +01:00
Bram Kragten
1550895d86 Move refresh logs button to top (#15382) 2023-02-08 11:53:19 +01:00
Paul Bottein
7e92d62936 Add tile card to gallery (#15394) 2023-02-08 11:29:16 +01:00
dependabot[bot]
6c2a767896 Bump vis-data from 7.1.2 to 7.1.4 (#15389)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-08 11:19:30 +01:00
dependabot[bot]
f19c50a002 Bump date-fns-tz from 1.3.7 to 2.0.0 (#15388)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-08 11:18:47 +01:00
dependabot[bot]
222a01d86f Bump gulp-json-transform from 0.4.6 to 0.4.8 (#15391)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-08 11:17:32 +01:00
dependabot[bot]
5f6d0bc846 Bump @fullcalendar from 6.1.1 to 6.1.4 (#15390)
* Bump @fullcalendar/core from 6.1.1 to 6.1.4

Bumps [@fullcalendar/core](https://github.com/fullcalendar/fullcalendar/tree/HEAD/packages/core) from 6.1.1 to 6.1.4.
- [Release notes](https://github.com/fullcalendar/fullcalendar/releases)
- [Changelog](https://github.com/fullcalendar/fullcalendar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fullcalendar/fullcalendar/commits/v6.1.4/packages/core)

---
updated-dependencies:
- dependency-name: "@fullcalendar/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Bump the rest of the fullcalendar packages

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-08 05:08:10 +00:00
dependabot[bot]
74b12b8092 Bump lint-staged from 13.1.0 to 13.1.1 (#15392)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.1.0 to 13.1.1.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.1.0...v13.1.1)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  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>
2023-02-07 23:44:24 -05:00
dependabot[bot]
1beeb0e5e8 Bump eslint-plugin-import from 2.24.2 to 2.27.5 (#15371)
* Bump eslint-plugin-import from 2.24.2 to 2.27.5

Bumps [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) from 2.24.2 to 2.27.5.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/v2.24.2...v2.27.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-import
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-07 13:37:38 -05:00
Paul Bottein
b2bfb1fdcb Update create automation dialog (#15286) 2023-02-07 14:18:00 +00:00
dependabot[bot]
c19cba85ec Bump path-parse from 1.0.6 to 1.0.7 (#15381)
Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 13:35:58 +01:00
Bram Kragten
09f0899fe4 Bump babel (#15380
bump babel
2023-02-07 10:58:57 +01:00
Paul Bottein
d1294edf34 Use right variable name for light card (#15379) 2023-02-07 09:28:56 +00:00
dependabot[bot]
47fcd253b1 Bump unfetch from 4.1.0 to 5.0.0 (#15376)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-07 10:14:49 +01:00
karwosts
a74c05a004 Rerun layoutOptions when input_select options change (#15274)
fixes undefined
2023-02-07 10:10:15 +01:00
dependabot[bot]
251b2540c7 Bump @typescript-eslint/eslint-plugin from 5.50.0 to 5.51.0 (#15375) 2023-02-07 00:18:38 -05:00
Bram Kragten
3298bdd5a3 Add my support for matter (#15372)
* Add my support for matter

* Update ha-panel-config.ts
2023-02-06 23:55:47 -05:00
Erik Montnemery
d570d063c7 Optionally update sensor units when unit system changes (#15287)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-06 22:37:05 +01:00
Paul Bottein
c6eee9bf74 Update create helper dialog (#15288) 2023-02-06 22:06:25 +01:00
karwosts
84902bd01f Missing parenthesis breaks map tooltip format (#15326) 2023-02-06 18:45:23 +01:00
Steve Repsher
5548436678 Add eslint-plugin-lit-a11y and fix some errors (#15334) 2023-02-06 18:41:59 +01:00
dependabot[bot]
e6dc475310 Bump @codemirror/view from 6.7.1 to 6.7.3 (#15366)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-06 17:36:54 +00:00
dependabot[bot]
9f6d9d8b0b Bump tsparticles from 1.34.0 to 2.8.0 (#15367)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-06 17:34:17 +00:00
dependabot[bot]
68d1ef56db Bump @webcomponents/webcomponentsjs from 2.2.10 to 2.7.0 (#15262)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-06 18:26:11 +01:00
dependabot[bot]
57f7dfb648 Bump idb-keyval from 5.1.3 to 6.2.0 (#15310)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-06 18:23:56 +01:00
Bram Kragten
5b504bf9ce Add "add matter device" link to add integration dialog (#15365) 2023-02-06 18:18:30 +01:00
dependabot[bot]
e47b59f826 Bump @typescript-eslint/eslint-plugin from 5.46.1 to 5.50.0 (#15370)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.46.1 to 5.50.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.50.0/packages/eslint-plugin)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-type: direct:development
  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>
2023-02-06 16:49:19 +00:00
dependabot[bot]
cfbab03f76 Bump leaflet from 1.7.1 to 1.9.3 (#15357)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-06 16:30:39 +00:00
Steve Repsher
791fd102c6 Bump @fullcalendar to version 6.1.1 (#14947) 2023-02-06 16:51:35 +01:00
dependabot[bot]
dded380076 Bump eslint-import-resolver-webpack from 0.13.1 to 0.13.2 (#15355)
* Bump eslint-import-resolver-webpack from 0.13.1 to 0.13.2

Bumps [eslint-import-resolver-webpack](https://github.com/import-js/eslint-plugin-import) from 0.13.1 to 0.13.2.
- [Release notes](https://github.com/import-js/eslint-plugin-import/releases)
- [Changelog](https://github.com/import-js/eslint-plugin-import/blob/main/CHANGELOG.md)
- [Commits](https://github.com/import-js/eslint-plugin-import/compare/resolvers/webpack/v0.13.1...resolvers/webpack/v0.13.2)

---
updated-dependencies:
- dependency-name: eslint-import-resolver-webpack
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-06 04:06:15 +00:00
dependabot[bot]
2c064c53cd Bump @types/sortablejs from 1.10.7 to 1.15.0 (#15358)
Bumps [@types/sortablejs](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/sortablejs) from 1.10.7 to 1.15.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/sortablejs)

---
updated-dependencies:
- dependency-name: "@types/sortablejs"
  dependency-type: direct:development
  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>
2023-02-06 04:03:22 +00:00
dependabot[bot]
2511bad902 Bump tar from 6.1.11 to 6.1.13 (#15354)
* Bump tar from 6.1.11 to 6.1.13

Bumps [tar](https://github.com/npm/node-tar) from 6.1.11 to 6.1.13.
- [Release notes](https://github.com/npm/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-tar/compare/v6.1.11...v6.1.13)

---
updated-dependencies:
- dependency-name: tar
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-06 04:01:13 +00:00
dependabot[bot]
095040af45 Bump @babel/plugin-proposal-decorators from 7.20.7 to 7.20.13 (#15356)
Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.20.7 to 7.20.13.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.13/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  dependency-type: direct:development
  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>
2023-02-06 03:47:49 +00:00
Raman Gupta
b277e946c3 Rename zwave_js ws API command (#15339) 2023-02-03 15:26:17 -05:00
dependabot[bot]
1cf140c16c Bump sortablejs from 1.14.0 to 1.15.0 (#15328)
Bumps [sortablejs](https://github.com/SortableJS/Sortable) from 1.14.0 to 1.15.0.
- [Release notes](https://github.com/SortableJS/Sortable/releases)
- [Commits](https://github.com/SortableJS/Sortable/compare/1.14.0...1.15.0)

---
updated-dependencies:
- dependency-name: sortablejs
  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>
2023-02-03 16:16:37 +01:00
Flavien Charlon
adb65176f0 Fix a coloring issue with climate states (#15325) 2023-02-03 09:00:54 +00:00
dependabot[bot]
52d869f5b8 Bump chai from 4.3.4 to 4.3.7 (#15330)
Bumps [chai](https://github.com/chaijs/chai) from 4.3.4 to 4.3.7.
- [Release notes](https://github.com/chaijs/chai/releases)
- [Changelog](https://github.com/chaijs/chai/blob/4.x.x/History.md)
- [Commits](https://github.com/chaijs/chai/compare/v4.3.4...v4.3.7)

---
updated-dependencies:
- dependency-name: chai
  dependency-type: direct:development
  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>
2023-02-02 23:45:05 -05:00
dependabot[bot]
c7e7e14f32 Bump eslint-plugin-lit from 1.6.1 to 1.8.2 (#15268)
* Bump eslint-plugin-lit from 1.6.1 to 1.8.2

Bumps [eslint-plugin-lit](https://github.com/43081j/eslint-plugin-lit) from 1.6.1 to 1.8.2.
- [Release notes](https://github.com/43081j/eslint-plugin-lit/releases)
- [Commits](https://github.com/43081j/eslint-plugin-lit/compare/v1.6.1...v1.8.2)

---
updated-dependencies:
- dependency-name: eslint-plugin-lit
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Set new rules to warn for now

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-03 04:29:33 +00:00
Bram Kragten
51de22daa1 Bumped version to 20230202.0 2023-02-02 20:25:28 +01:00
Bram Kragten
f0d53aab7b Fix ES5 build and fix polyfill of Intl.Locale (#15322) 2023-02-02 20:20:23 +01:00
dependabot[bot]
47b5ff7839 Bump source-map-url from 0.4.0 to 0.4.1 (#15312)
* Bump source-map-url from 0.4.0 to 0.4.1

Bumps [source-map-url](https://github.com/lydell/source-map-url) from 0.4.0 to 0.4.1.
- [Release notes](https://github.com/lydell/source-map-url/releases)
- [Changelog](https://github.com/lydell/source-map-url/blob/master/changelog.md)
- [Commits](https://github.com/lydell/source-map-url/commits/v0.4.1)

---
updated-dependencies:
- dependency-name: source-map-url
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-02 14:25:02 +00:00
dependabot[bot]
6af3361c55 Bump http-cache-semantics from 4.1.0 to 4.1.1 (#15313) 2023-02-02 07:43:44 -05:00
Paul Bottein
3427595747 Icon entity context icon selector (#15306)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-02 10:26:34 +01:00
dependabot[bot]
9f3e2920f3 Bump typescript from 4.9.4 to 4.9.5 (#15311) 2023-02-01 23:06:43 -05:00
dependabot[bot]
46e152dc53 Bump qr-scanner from 1.3.0 to 1.4.2 (#15284)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-01 17:17:46 +01:00
Bram Kragten
ec3a779a82 Bumped version to 20230201.0 2023-02-01 17:10:21 +01:00
Marcel van der Veldt
7e7c6aa053 Remove default commission buttons on Matter config panel (#15304)Co-authored-by: Bram Kragten <mail@bramkragten.nl>
* remove default commission buttons

* Update matter-config-panel.ts

* only show for dev versions

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-01 17:09:33 +01:00
Bram Kragten
4bce4152d3 Add streaming to history panel (#15301) 2023-02-01 16:04:35 +00:00
Bram Kragten
57289b0bbe Revert "Allow overriding a sensor's precision" (#15305) 2023-02-01 16:02:48 +00:00
Yosi Levy
5aeaa65a89 Fix RTL icon placement (#14019)
* Fix RTL icon placement

* Fix combo box icons

* Removed duplicate after merge

* Refactor ha-button

* Refactor fix 2
2023-02-01 09:45:03 +01:00
dependabot[bot]
596d371781 Bump @open-wc/dev-server-hmr from 0.0.2 to 0.1.3 (#15298)
* Bump @open-wc/dev-server-hmr from 0.0.2 to 0.1.3

Bumps [@open-wc/dev-server-hmr](https://github.com/open-wc/open-wc/tree/HEAD/packages/dev-server-hmr) from 0.0.2 to 0.1.3.
- [Release notes](https://github.com/open-wc/open-wc/releases)
- [Changelog](https://github.com/open-wc/open-wc/blob/master/packages/dev-server-hmr/CHANGELOG.md)
- [Commits](https://github.com/open-wc/open-wc/commits/@open-wc/dev-server-hmr@0.1.3/packages/dev-server-hmr)

---
updated-dependencies:
- dependency-name: "@open-wc/dev-server-hmr"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-01 04:50:09 +00:00
dependabot[bot]
7348bbbbe5 Bump instant-mocha from 1.3.1 to 1.5.0 (#15294)
* Bump instant-mocha from 1.3.1 to 1.5.0

Bumps [instant-mocha](https://github.com/privatenumber/instant-mocha) from 1.3.1 to 1.5.0.
- [Release notes](https://github.com/privatenumber/instant-mocha/releases)
- [Commits](https://github.com/privatenumber/instant-mocha/compare/v1.3.1...v1.5.0)

---
updated-dependencies:
- dependency-name: instant-mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-01 04:00:14 +00:00
dependabot[bot]
383b18b2af Bump @babel/plugin-proposal-optional-chaining from 7.18.9 to 7.20.7 (#15297)
* Bump @babel/plugin-proposal-optional-chaining from 7.18.9 to 7.20.7

Bumps [@babel/plugin-proposal-optional-chaining](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-optional-chaining) from 7.18.9 to 7.20.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.7/packages/babel-plugin-proposal-optional-chaining)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-optional-chaining"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-02-01 03:54:43 +00:00
dependabot[bot]
b38ae0f754 Bump @formatjs/intl-pluralrules from 4.1.5 to 5.1.8 (#15293)
Bumps [@formatjs/intl-pluralrules](https://github.com/formatjs/formatjs) from 4.1.5 to 5.1.8.
- [Release notes](https://github.com/formatjs/formatjs/releases)
- [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/intl-pluralrules@4.1.5...@formatjs/intl-pluralrules@5.1.8)

---
updated-dependencies:
- dependency-name: "@formatjs/intl-pluralrules"
  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>
2023-02-01 03:31:00 +00:00
dependabot[bot]
7ff681d43e Bump @koa/cors from 3.1.0 to 4.0.0 (#15282) 2023-01-31 19:32:32 -05:00
dependabot[bot]
2663be188e Bump systemjs from 6.3.2 to 6.13.0 (#15285)
Bumps [systemjs](https://github.com/systemjs/systemjs) from 6.3.2 to 6.13.0.
- [Release notes](https://github.com/systemjs/systemjs/releases)
- [Changelog](https://github.com/systemjs/systemjs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/systemjs/systemjs/compare/6.3.2...6.13.0)

---
updated-dependencies:
- dependency-name: systemjs
  dependency-type: direct:development
  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>
2023-01-31 00:44:53 -05:00
dependabot[bot]
6f68134da3 Bump @codemirror/commands from 6.1.3 to 6.2.0 (#15281)
Bumps [@codemirror/commands](https://github.com/codemirror/commands) from 6.1.3 to 6.2.0.
- [Release notes](https://github.com/codemirror/commands/releases)
- [Changelog](https://github.com/codemirror/commands/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/commands/compare/6.1.3...6.2.0)

---
updated-dependencies:
- dependency-name: "@codemirror/commands"
  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>
2023-01-30 23:57:14 -05:00
dependabot[bot]
3d1151df4d Bump eslint-plugin-disable from 2.0.1 to 2.0.3 (#15283) 2023-01-30 22:50:51 -05:00
Bram Kragten
1838f6184b Merge branch 'master' into dev 2023-01-30 21:59:20 +01:00
Bram Kragten
ca20a251b5 Bumped version to 20230130.0 2023-01-30 21:56:34 +01:00
Erik Montnemery
8212a5a48c Improve energy settings dialog (#15205)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-01-30 21:55:26 +01:00
Philip Allgaier
cb00535683 Add missing translations to Supervisor Wi-Fi network section (#14606)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-01-30 21:50:20 +01:00
Yosi Levy
549d893407 RTL fixes (#15233) 2023-01-30 20:51:37 +01:00
Bram Kragten
c1ed00a3f1 Only use tagname for shortcut filter (#15273) 2023-01-30 20:50:57 +01:00
J. Nick Koston
41420c3af3 Restore default hours to show on map card to 0 (#15220)
* Restore default hours to show on map card to 0

fixes #15216

* tweak

* always clear this._subscribed right away on unsub

* adjust

* merge from #15217

* merge from #15217
2023-01-30 20:34:35 +01:00
Paul Bottein
9220d65f78 Fixes history unsubcription (#15271)
* Fixes history unsubcriptions

* Remove async
2023-01-30 13:08:33 -06:00
dependabot[bot]
acf9bca038 Bump merge-stream from 1.0.1 to 2.0.0 (#15265)
Bumps [merge-stream](https://github.com/grncdr/merge-stream) from 1.0.1 to 2.0.0.
- [Release notes](https://github.com/grncdr/merge-stream/releases)
- [Commits](https://github.com/grncdr/merge-stream/compare/v1.0.1...v2.0.0)

---
updated-dependencies:
- dependency-name: merge-stream
  dependency-type: direct:development
  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>
2023-01-30 13:41:28 -05:00
dependabot[bot]
a57c15c6f0 Bump webpack-manifest-plugin from 4.0.2 to 5.0.0 (#15252)
Bumps [webpack-manifest-plugin](https://github.com/shellscape/webpack-manifest-plugin) from 4.0.2 to 5.0.0.
- [Release notes](https://github.com/shellscape/webpack-manifest-plugin/releases)
- [Commits](https://github.com/shellscape/webpack-manifest-plugin/compare/v4.0.2...v5.0.0)

---
updated-dependencies:
- dependency-name: webpack-manifest-plugin
  dependency-type: direct:development
  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>
2023-01-30 12:25:53 -05:00
Bram Kragten
8642478e8a Fix shortcuts in supervisor search (#15269) 2023-01-30 16:36:50 +01:00
dependabot[bot]
3af808ffa9 Bump @formatjs/intl-relativetimeformat from 9.3.2 to 11.1.8 (#15250)
Bumps [@formatjs/intl-relativetimeformat](https://github.com/formatjs/formatjs) from 9.3.2 to 11.1.8.
- [Release notes](https://github.com/formatjs/formatjs/releases)
- [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/intl-relativetimeformat@9.3.2...@formatjs/intl-relativetimeformat@11.1.8)

---
updated-dependencies:
- dependency-name: "@formatjs/intl-relativetimeformat"
  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>
2023-01-30 10:24:40 -05:00
dependabot[bot]
ac17d0293e Bump @vaadin/vaadin-themable-mixin from 23.3.5 to 23.3.6 (#15260)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-30 15:08:18 +00:00
Paul Bottein
7e441b5ade Fix entity list not updated when using graph card editor (#15217)
* Fix entity list not updated when using graph card editor

* Do not use async updated

* Fix names type

* Better error handling

* Feedbacks
2023-01-30 16:07:43 +01:00
dependabot[bot]
82ed14e705 Bump @octokit/auth-oauth-device from 4.0.2 to 4.0.4 (#15263) 2023-01-30 07:28:41 -05:00
dependabot[bot]
169d8ac75c Bump intl-messageformat from 10.2.5 to 10.3.0 (#15266)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-30 12:10:14 +00:00
Paul Bottein
6226a7f28d Fixes empty hardware page when no config entries (#15267) 2023-01-30 12:08:31 +00:00
dependabot[bot]
30e6a1a57e Bump babel-loader from 9.1.0 to 9.1.2 (#15264)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-30 11:51:30 +00:00
Paul Bottein
f332edc87d Fixes select input in statistic card editor (#15254) 2023-01-30 12:33:45 +01:00
Paul Bottein
eb49785557 Use right name pattern for active binary sensor color (#15255) 2023-01-30 12:29:47 +01:00
Paul Bottein
0af92b9bd1 Use new variable name for light toggle icon in area card (#15259) 2023-01-30 12:29:25 +01:00
Steve Repsher
6945f99a34 Bump fullcalendar to 5.11.4 (#15223) 2023-01-30 12:28:53 +01:00
dependabot[bot]
bbb9cfb2c2 Bump @types/chromecast-caf-sender from 1.0.3 to 1.0.5 (#15249)
Bumps [@types/chromecast-caf-sender](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chromecast-caf-sender) from 1.0.3 to 1.0.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chromecast-caf-sender)

---
updated-dependencies:
- dependency-name: "@types/chromecast-caf-sender"
  dependency-type: direct:development
  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>
2023-01-30 01:40:55 -05:00
dependabot[bot]
d96bb9cf20 Bump webpack-cli from 4.8.0 to 5.0.1 (#15181)
Bumps [webpack-cli](https://github.com/webpack/webpack-cli) from 4.8.0 to 5.0.1.
- [Release notes](https://github.com/webpack/webpack-cli/releases)
- [Changelog](https://github.com/webpack/webpack-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-cli/compare/webpack-cli@4.8.0...webpack-cli@5.0.1)

---
updated-dependencies:
- dependency-name: webpack-cli
  dependency-type: direct:development
  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>
2023-01-29 02:01:07 -05:00
Paul Bottein
819366243f 20230128.0 (#15242)
* Bump superstruct from 0.15.2 to 1.0.3 (#15190)

Bumps [superstruct](https://github.com/ianstormtaylor/superstruct) from 0.15.2 to 1.0.3.
- [Release notes](https://github.com/ianstormtaylor/superstruct/releases)
- [Changelog](https://github.com/ianstormtaylor/superstruct/blob/main/Changelog.md)
- [Commits](https://github.com/ianstormtaylor/superstruct/compare/v0.15.2...v1.0.3)

---
updated-dependencies:
- dependency-name: superstruct
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

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

* Bump gulp-merge-json from 1.3.1 to 2.1.2 (#15173)

* Bump gulp-merge-json from 1.3.1 to 2.1.2

Bumps [gulp-merge-json](https://github.com/joshswan/gulp-merge-json) from 1.3.1 to 2.1.2.
- [Release notes](https://github.com/joshswan/gulp-merge-json/releases)
- [Commits](https://github.com/joshswan/gulp-merge-json/compare/1.3.1...v2.1.2)

---
updated-dependencies:
- dependency-name: gulp-merge-json
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependencies

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

* Bump @typescript-eslint/parser from 5.44.0 to 5.49.0 (#15210)

Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.44.0 to 5.49.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.49.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

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

* Add link to docs in voice dialog (#15206)

* Bump intl-messageformat from 9.9.1 to 10.2.5 (#15213)

Bumps [intl-messageformat](https://github.com/formatjs/formatjs) from 9.9.1 to 10.2.5.
- [Release notes](https://github.com/formatjs/formatjs/releases)
- [Commits](https://github.com/formatjs/formatjs/compare/intl-messageformat@9.9.1...intl-messageformat@10.2.5)

---
updated-dependencies:
- dependency-name: intl-messageformat
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

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

* Add missing hass to chart base (#15218)

* Bump qrcode and @types/qrcode (#15207)

* Bump qrcode and @types/qrcode

Bumps [qrcode](https://github.com/soldair/node-qrcode) and [@types/qrcode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/qrcode). These dependencies needed to be updated together.

Updates `qrcode` from 1.4.4 to 1.5.1
- [Release notes](https://github.com/soldair/node-qrcode/releases)
- [Changelog](https://github.com/soldair/node-qrcode/blob/master/CHANGELOG.md)
- [Commits](https://github.com/soldair/node-qrcode/compare/v1.4.4...v1.5.1)

Updates `@types/qrcode` from 1.4.2 to 1.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/qrcode)

---
updated-dependencies:
- dependency-name: qrcode
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/qrcode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Fix possible null canvas context

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

* Fix margin and title on assist dialog (#15219)

* Bump fuse.js from 6.0.0 to 6.6.2 (#15209)

Bumps [fuse.js](https://github.com/krisk/Fuse) from 6.0.0 to 6.6.2.
- [Release notes](https://github.com/krisk/Fuse/releases)
- [Changelog](https://github.com/krisk/Fuse/blob/master/CHANGELOG.md)
- [Commits](https://github.com/krisk/Fuse/compare/v6.0.0...v6.6.2)

---
updated-dependencies:
- dependency-name: fuse.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

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

* Bump eslint-config-prettier from 8.5.0 to 8.6.0 (#15226)

Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v8.5.0...v8.6.0)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

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

* Bump @octokit/rest from 19.0.5 to 19.0.7 (#15228)

Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 19.0.5 to 19.0.7.
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v19.0.5...v19.0.7)

---
updated-dependencies:
- dependency-name: "@octokit/rest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

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

* Bump @codemirror/language from 6.3.2 to 6.4.0 (#15229)

* Bump @codemirror/language from 6.3.2 to 6.4.0

Bumps [@codemirror/language](https://github.com/codemirror/language) from 6.3.2 to 6.4.0.
- [Release notes](https://github.com/codemirror/language/releases)
- [Changelog](https://github.com/codemirror/language/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/language/compare/6.3.2...6.4.0)

---
updated-dependencies:
- dependency-name: "@codemirror/language"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

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

* Bump webpackbar from 5.0.0-3 to 5.0.2 (#15225)

Bumps [webpackbar](https://github.com/unjs/webpackbar) from 5.0.0-3 to 5.0.2.
- [Release notes](https://github.com/unjs/webpackbar/releases)
- [Changelog](https://github.com/unjs/webpackbar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/unjs/webpackbar/compare/v5.0.0-3...v5.0.2)

---
updated-dependencies:
- dependency-name: webpackbar
  dependency-type: direct:development
  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>

* Bumped version to 20230128.0

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-28 13:53:28 +01:00
Paul Bottein
ec2d498334 Bumped version to 20230128.0 2023-01-28 13:42:07 +01:00
dependabot[bot]
c9b1b92e70 Bump webpackbar from 5.0.0-3 to 5.0.2 (#15225)
Bumps [webpackbar](https://github.com/unjs/webpackbar) from 5.0.0-3 to 5.0.2.
- [Release notes](https://github.com/unjs/webpackbar/releases)
- [Changelog](https://github.com/unjs/webpackbar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/unjs/webpackbar/compare/v5.0.0-3...v5.0.2)

---
updated-dependencies:
- dependency-name: webpackbar
  dependency-type: direct:development
  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>
2023-01-27 10:02:58 -05:00
dependabot[bot]
a4a2e1b99e Bump @codemirror/language from 6.3.2 to 6.4.0 (#15229)
* Bump @codemirror/language from 6.3.2 to 6.4.0

Bumps [@codemirror/language](https://github.com/codemirror/language) from 6.3.2 to 6.4.0.
- [Release notes](https://github.com/codemirror/language/releases)
- [Changelog](https://github.com/codemirror/language/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codemirror/language/compare/6.3.2...6.4.0)

---
updated-dependencies:
- dependency-name: "@codemirror/language"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-27 14:11:08 +00:00
dependabot[bot]
b31af60397 Bump @octokit/rest from 19.0.5 to 19.0.7 (#15228)
Bumps [@octokit/rest](https://github.com/octokit/rest.js) from 19.0.5 to 19.0.7.
- [Release notes](https://github.com/octokit/rest.js/releases)
- [Commits](https://github.com/octokit/rest.js/compare/v19.0.5...v19.0.7)

---
updated-dependencies:
- dependency-name: "@octokit/rest"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-27 06:35:13 +00:00
dependabot[bot]
01facc2254 Bump eslint-config-prettier from 8.5.0 to 8.6.0 (#15226)
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 8.5.0 to 8.6.0.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v8.5.0...v8.6.0)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-27 06:31:28 +00:00
dependabot[bot]
8b4587785c Bump fuse.js from 6.0.0 to 6.6.2 (#15209)
Bumps [fuse.js](https://github.com/krisk/Fuse) from 6.0.0 to 6.6.2.
- [Release notes](https://github.com/krisk/Fuse/releases)
- [Changelog](https://github.com/krisk/Fuse/blob/master/CHANGELOG.md)
- [Commits](https://github.com/krisk/Fuse/compare/v6.0.0...v6.6.2)

---
updated-dependencies:
- dependency-name: fuse.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-26 23:22:08 -05:00
Paul Bottein
89623aa7ec Fix margin and title on assist dialog (#15219) 2023-01-26 21:48:28 +01:00
dependabot[bot]
afb9e826ef Bump qrcode and @types/qrcode (#15207)
* Bump qrcode and @types/qrcode

Bumps [qrcode](https://github.com/soldair/node-qrcode) and [@types/qrcode](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/qrcode). These dependencies needed to be updated together.

Updates `qrcode` from 1.4.4 to 1.5.1
- [Release notes](https://github.com/soldair/node-qrcode/releases)
- [Changelog](https://github.com/soldair/node-qrcode/blob/master/CHANGELOG.md)
- [Commits](https://github.com/soldair/node-qrcode/compare/v1.4.4...v1.5.1)

Updates `@types/qrcode` from 1.4.2 to 1.5.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/qrcode)

---
updated-dependencies:
- dependency-name: qrcode
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/qrcode"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Fix possible null canvas context

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-26 17:47:44 +00:00
Paul Bottein
ac075e44cc Add missing hass to chart base (#15218) 2023-01-26 15:37:51 +00:00
dependabot[bot]
fcf6bfc457 Bump intl-messageformat from 9.9.1 to 10.2.5 (#15213)
Bumps [intl-messageformat](https://github.com/formatjs/formatjs) from 9.9.1 to 10.2.5.
- [Release notes](https://github.com/formatjs/formatjs/releases)
- [Commits](https://github.com/formatjs/formatjs/compare/intl-messageformat@9.9.1...intl-messageformat@10.2.5)

---
updated-dependencies:
- dependency-name: intl-messageformat
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-26 10:17:44 -05:00
Paulus Schoutsen
3951646c7f Add link to docs in voice dialog (#15206) 2023-01-26 14:38:42 +01:00
dependabot[bot]
be6aabe23e Bump @typescript-eslint/parser from 5.44.0 to 5.49.0 (#15210)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.44.0 to 5.49.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v5.49.0/packages/parser)

---
updated-dependencies:
- dependency-name: "@typescript-eslint/parser"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-26 02:05:46 -05:00
dependabot[bot]
25f7a0602a Bump gulp-merge-json from 1.3.1 to 2.1.2 (#15173)
* Bump gulp-merge-json from 1.3.1 to 2.1.2

Bumps [gulp-merge-json](https://github.com/joshswan/gulp-merge-json) from 1.3.1 to 2.1.2.
- [Release notes](https://github.com/joshswan/gulp-merge-json/releases)
- [Commits](https://github.com/joshswan/gulp-merge-json/compare/1.3.1...v2.1.2)

---
updated-dependencies:
- dependency-name: gulp-merge-json
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-26 05:52:16 +00:00
dependabot[bot]
34ed446cd2 Bump superstruct from 0.15.2 to 1.0.3 (#15190)
Bumps [superstruct](https://github.com/ianstormtaylor/superstruct) from 0.15.2 to 1.0.3.
- [Release notes](https://github.com/ianstormtaylor/superstruct/releases)
- [Changelog](https://github.com/ianstormtaylor/superstruct/blob/main/Changelog.md)
- [Commits](https://github.com/ianstormtaylor/superstruct/compare/v0.15.2...v1.0.3)

---
updated-dependencies:
- dependency-name: superstruct
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-25 11:40:00 -05:00
Bram Kragten
51a45dd3cf 20230125.0 (#15200) 2023-01-25 17:19:42 +01:00
Paul Bottein
ffd7a0c153 Revert "New more info light" (#15203)
Revert "New more info light (#14453)"

This reverts commit 7c4a421e74.
2023-01-25 17:16:01 +01:00
Paul Bottein
b591c75377 Tile card fixes with vertical layout (#15202) 2023-01-25 17:15:12 +01:00
Bram Kragten
d2886b1ea7 Add aliases to areas (#15198)
* Add aliases to areas

* rename

* Update dialog-aliases.ts
2023-01-25 16:55:58 +01:00
Bram Kragten
a3ba8210cf Merge branch 'master' into dev 2023-01-25 16:49:25 +01:00
Bram Kragten
d1a04349a4 Bumped version to 20230125.0 2023-01-25 16:47:04 +01:00
Bram Kragten
bb273b2b54 Localize fixes (#15199) 2023-01-25 15:44:59 +00:00
karwosts
00667f1296 Vertically align history charts on left axis (#14919)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2023-01-25 15:42:20 +00:00
Florian Gareis
06368a6f0e Add vertical option for tile card (#14743) 2023-01-25 16:28:22 +01:00
Paul Bottein
7c4a421e74 New more info light (#14453) 2023-01-25 11:24:16 +01:00
karwosts
3675a2b013 Fix ha-selector-object not updating in the ui when new value is pushed from the parent (#15022)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2023-01-25 11:09:58 +01:00
Steve Repsher
0bbe6151ed Bump vaadin to 23.3.5 (#15185) 2023-01-25 11:06:28 +01:00
Paul Bottein
dace00ebf8 Fixes voice dialog border radius on safari (#15193) 2023-01-25 11:05:59 +01:00
Paul Bottein
a433ac48e9 Use device class icon for number domain (#15194) 2023-01-25 11:05:35 +01:00
Erik Montnemery
ddfaa67456 Allow overriding a sensor's precision (#15176)
* Allow overriding a sensor's precision

* use a dropdown for choosing precision

* Address review comments

* Handle undefined state

* Loose equality FTW

* Apply suggestions from code review
2023-01-25 11:04:03 +01:00
Paulus Schoutsen
8b4b19cc96 Remove onboarding support for conversation agent (#15187) 2023-01-25 10:28:43 +01:00
dependabot[bot]
c4183a9edb Bump @formatjs/intl-getcanonicallocales from 1.8.0 to 2.0.5 (#15174)
Bumps [@formatjs/intl-getcanonicallocales](https://github.com/formatjs/formatjs) from 1.8.0 to 2.0.5.
- [Release notes](https://github.com/formatjs/formatjs/releases)
- [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/intl-getcanonicallocales@1.8.0...@formatjs/intl-getcanonicallocales@2.0.5)

---
updated-dependencies:
- dependency-name: "@formatjs/intl-getcanonicallocales"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 14:55:36 -05:00
Jan Bouwhuis
363ad369fc Fix current_humidity no shown on climate state card if also current_temperature is set (#14993)
* Also show current_humidity on climate

* Use one line

* Update src/components/ha-climate-state.ts

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

* Another blank and add import

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-01-24 16:55:13 +00:00
karwosts
711286f7c0 Round battery values in device table to whole numbers (to fit in the column width) (#14927)
* Increase battery column width to fit 100.0%

* drop trailing 0s from battery decimals

* round values to whole numbers
2023-01-24 17:16:03 +01:00
holnburger
78857357f3 Add dark_mode options for image elements in picture-element-card (#15045) 2023-01-24 14:31:25 +00:00
karwosts
3c23e6a1c3 Add UI support for entities in numeric_state above/below conditions &… (#14966)
fixes undefined
2023-01-24 14:45:56 +01:00
karwosts
10369ff952 Delete weekdays key from time condition when emptied from the UI (#14992)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
fixes undefined
2023-01-24 14:30:29 +01:00
Steve Repsher
134670604b Tell dependabot to ignore rollup (#15169) 2023-01-24 14:29:14 +01:00
cnico
8935dbac20 Allow iframe links to open on android through a parameter (#15063) 2023-01-24 13:24:11 +00:00
Adam Kapos
ccf15c7fb0 Fix button card font size on mobile (#14698) 2023-01-24 12:59:33 +00:00
Adam Kapos
5e4b673751 Fix relative time above 22 hours (#15072)
fixes https://github.com/home-assistant/frontend/issues/14815
fixes undefined
2023-01-24 12:53:57 +00:00
Paul Bottein
98e799eda0 Allow coloring inactive states in dashboard cards (#15177) 2023-01-24 13:45:47 +01:00
Erik Montnemery
5e9ae36577 Fetch number units from core (#15175) 2023-01-24 12:14:21 +01:00
karwosts
624bfbbaf1 Fix add/remove entities from map card editor (#15087) 2023-01-24 07:54:27 +01:00
dependabot[bot]
0e71eec937 Bump husky from 8.0.1 to 8.0.3 (#15171)
Bumps [husky](https://github.com/typicode/husky) from 8.0.1 to 8.0.3.
- [Release notes](https://github.com/typicode/husky/releases)
- [Commits](https://github.com/typicode/husky/compare/v8.0.1...v8.0.3)

---
updated-dependencies:
- dependency-name: husky
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-24 01:34:37 -05:00
Artem Draft
38562a42d6 Fix volume slider of assumed_state media player in entity row (#14931) 2023-01-23 20:19:11 +00:00
karwosts
e242fbe148 Sort battery level column using numeric sort (#14926)
fixes undefined
2023-01-23 21:10:01 +01:00
Karlie Meads
81e4f083f9 Fix disabling a state condition in the visual automation editor (#15027) 2023-01-23 21:08:10 +01:00
Yosi Levy
533b4ec0b4 Fix humidifier and log drop down (#14999) 2023-01-23 21:01:02 +01:00
karwosts
50a4c0f7ce Load script field default values into ha-service-control (#14949)
fixes undefined
2023-01-23 20:56:48 +01:00
karwosts
dfee6c9b5b Remove gauge card transparency on focus (#14789)
fixes undefined
2023-01-23 20:43:51 +01:00
Steve Repsher
fe2b4d9598 Remove aria-label and blur from list items (#15073) 2023-01-23 20:39:50 +01:00
Jan Bouwhuis
e6dbb1da7e Add backend translation support for selector select (#15064)
* Base for selector translations

* Allow translations for ha-selector-select

* Fetch translation for config flow and onboarding

* Get translation_key from step handler

* Add domain property to DataEntry flow

* Revert fetching translation for onboarding flow

* Leave domain for repair flows

* Use localizeValue function

* Change type

* Import selector translations in issue flow

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-01-23 20:32:30 +01:00
karwosts
095ebbc903 Allow empty string as a valid conditional statement (#14918)
* Fix days missing from ha-base-time-input _valueChanged

* style change

* Allow empty string as a valid conditional check
2023-01-23 20:27:02 +01:00
Steve Repsher
9dcdf46316 Bump yarn to 3.3.1 (#15166) 2023-01-23 19:25:04 +00:00
Paul Bottein
d6e0d57744 Improve HA form default support (#14570)
* use default as placeholder if not required

* Do not force number selector to 0 or min when empty

* use undefined instead of empty string
2023-01-23 20:09:13 +01:00
karwosts
38c1112308 Prevent optional time fields in ha-service-control from auto-enabling (#15124)
* Fix select box overflowing entities-row

* Revert "Fix select box overflowing entities-row"

This reverts commit b4e668dd06.

* Fix optional time fields in service control from auto-enabling
2023-01-23 19:59:50 +01:00
Steve Repsher
88ee409987 Bump lit and lit-labs to latest (#15127)
* Bump lit and lit-labs to latest

* Resolve to same @lit/reactive-element for app-datepicker
2023-01-23 19:56:56 +01:00
Paulus Schoutsen
8073555bf9 Show Thread panel on thread config entry (#15150)
* Show Thread panel on thread config entry

* Rename data file to use right domain

* Make panel a bit more pleasant
2023-01-23 19:55:31 +01:00
dependabot[bot]
b4cd4975c1 Bump punycode from 2.1.1 to 2.3.0 (#15162)
* Bump punycode from 2.1.1 to 2.3.0

Bumps [punycode](https://github.com/mathiasbynens/punycode.js) from 2.1.1 to 2.3.0.
- [Release notes](https://github.com/mathiasbynens/punycode.js/releases)
- [Commits](https://github.com/mathiasbynens/punycode.js/commits)

---
updated-dependencies:
- dependency-name: punycode
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-23 16:51:11 +00:00
dependabot[bot]
518d4f9c5b Bump date-fns from 2.23.0 to 2.29.3 (#15159)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 08:01:40 -05:00
J. Nick Koston
f991a1b819 Remove refresh interval configuration option from history graph card (#15154) 2023-01-23 09:40:59 +01:00
dependabot[bot]
6fc5fd9cc4 Bump cropperjs from 1.5.12 to 1.5.13 (#15161)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-23 09:34:21 +01:00
Paul Bottein
d15d339782 Entity state colors theming (#14831)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-01-23 09:28:38 +01:00
Steve Repsher
1b922e0065 Add more alternative text to various images (#14932)
* Add alt text for cast launcher images

* Hide icon with supervisor form field label

* Use attribute for iframe title for ingress view

* Hide some decorative ZWave/ZHA icons

* Hide image preload in state card configurator

* Use title for alt text  on image media

* Hide media art as decorative

* Do not allow empty string for image media
2023-01-22 22:47:12 -05:00
Steve Repsher
c8883a6a8a Bump devContainer image to python 3.10 (#15158) 2023-01-22 21:40:37 -05:00
J. Nick Koston
e14e27c01a Remove unused fetchRecent/fetchRecentWS/fetchDate history data functions (#15146)
* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* fixes

* cleanup

* redraw

* naming is hard

* drop cached history

* backport

* Convert history header/footer to use streaming history

needs #15112

* Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

* Remove unused fetchRecent/fetchRecentWS/fetchDate history data functions

These call are no longer needed after

* Update src/data/history.ts

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

* Update src/data/history.ts

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

* review

* review

* review

* review

* review

* review

* review

* review

* adjust

* Revert "adjust"

This reverts commit 6ba31da4a5.

* move setInterval

* Object.keys to for

* refactor

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-22 04:36:47 +00:00
Steve Repsher
f101bd1a54 Fix localize key errors for URL error and system log (#14909)
* Use literal type for system log level

* Fix typo in URL error title key

* Remove localize key exceptions
2023-01-21 23:29:17 -05:00
J. Nick Koston
3e14d825e3 Optimize purge of old live history data in the time window (#15153)
from https://github.com/home-assistant/frontend/pull/15112#discussion_r1083382923
2023-01-22 04:16:52 +00:00
J. Nick Koston
f34d9c3d75 Update map card to use streaming history (#15145)
* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* fixes

* cleanup

* redraw

* naming is hard

* drop cached history

* backport

* Convert history header/footer to use streaming history

needs #15112

* Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

Update map card to use streaming history

* Update src/data/history.ts

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

* Update src/data/history.ts

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

* review

* review

* review

* review

* review

* review

* review

* review

* adjust

* Revert "adjust"

This reverts commit 6ba31da4a5.

* move setInterval

* Object.keys to for

* refactor

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-22 04:12:58 +00:00
J. Nick Koston
2b2dd74672 Convert history header/footer to use streaming history (#15136)
* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* fixes

* cleanup

* redraw

* naming is hard

* drop cached history

* backport

* Convert history header/footer to use streaming history

needs #15112

* Update src/data/history.ts

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

* Update src/data/history.ts

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

* review

* review

* review

* review

* review

* review

* review

* review

* adjust

* Revert "adjust"

This reverts commit 6ba31da4a5.

* move setInterval

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-22 03:58:12 +00:00
J. Nick Koston
815d4c165d Add support for streaming history (#15112)
* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* Add support for streaming history

* fixes

* cleanup

* redraw

* naming is hard

* drop cached history

* backport

* Update src/data/history.ts

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

* Update src/data/history.ts

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

* review

* review

* review

* review

* review

* review

* review

* review

* adjust

* Revert "adjust"

This reverts commit 6ba31da4a5.

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-21 22:41:41 -05:00
Steve Repsher
fd22afedd0 Fix uncaught exception in quick-bar mixin (#15061) 2023-01-21 22:23:14 -05:00
dependabot[bot]
522c7c08a9 Bump hls.js from 1.2.5 to 1.3.1 (#15128)
Bumps [hls.js](https://github.com/video-dev/hls.js) from 1.2.5 to 1.3.1.
- [Release notes](https://github.com/video-dev/hls.js/releases)
- [Changelog](https://github.com/video-dev/hls.js/blob/master/docs/release-process.md)
- [Commits](https://github.com/video-dev/hls.js/compare/v1.2.5...v1.3.1)

---
updated-dependencies:
- dependency-name: hls.js
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-21 01:48:22 -05:00
dependabot[bot]
dc140f132d Bump @types/js-yaml from 4.0.3 to 4.0.5 (#15140)
Bumps [@types/js-yaml](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/js-yaml) from 4.0.3 to 4.0.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/js-yaml)

---
updated-dependencies:
- dependency-name: "@types/js-yaml"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-20 10:08:16 -05:00
dependabot[bot]
4c76a2549b Bump glob and @types/glob (#15138)
Bumps [glob](https://github.com/isaacs/node-glob) and [@types/glob](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/glob). These dependencies needed to be updated together.

Updates `glob` from 7.2.0 to 8.1.0
- [Release notes](https://github.com/isaacs/node-glob/releases)
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v7.2.0...v8.1.0)

Updates `@types/glob` from 7.2.0 to 8.0.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/glob)

---
updated-dependencies:
- dependency-name: glob
  dependency-type: direct:development
  update-type: version-update:semver-major
- dependency-name: "@types/glob"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-20 14:39:06 +00:00
dependabot[bot]
a5c77928d2 Bump eslint-plugin-wc from 1.3.2 to 1.4.0 (#15139)
Bumps [eslint-plugin-wc](https://github.com/43081j/eslint-plugin-wc) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/43081j/eslint-plugin-wc/releases)
- [Changelog](https://github.com/43081j/eslint-plugin-wc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/43081j/eslint-plugin-wc/commits)

---
updated-dependencies:
- dependency-name: eslint-plugin-wc
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-20 09:17:34 -05:00
Paulus Schoutsen
d3e20429a4 Prepare conversation agent (#15135) 2023-01-19 16:28:03 +01:00
Paul Bottein
2f1d783d22 Revert "Bump webpack from 5.55.1 to 5.75.0" (#15142)
Revert "Bump webpack from 5.55.1 to 5.75.0 (#15080)"

This reverts commit c7f4693f0a.
2023-01-19 09:48:34 +01:00
Paulus Schoutsen
558f523207 Add initial Thread panel (#15126)
* Add initial Thread panel

* Add link to Matter panel
2023-01-19 09:35:33 +01:00
dependabot[bot]
c7f4693f0a Bump webpack from 5.55.1 to 5.75.0 (#15080)
* Bump webpack from 5.55.1 to 5.75.0

Bumps [webpack](https://github.com/webpack/webpack) from 5.55.1 to 5.75.0.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.55.1...v5.75.0)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-18 15:27:38 -05:00
dependabot[bot]
282823ee83 Bump prettier from 2.8.1 to 2.8.3 (#15129)
* Bump prettier from 2.8.1 to 2.8.3

Bumps [prettier](https://github.com/prettier/prettier) from 2.8.1 to 2.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.8.1...2.8.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

* apply rules

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-01-18 14:16:42 -05:00
dependabot[bot]
014ae06e85 Bump del from 4.1.1 to 7.0.0 (#15120)
* Bump del from 4.1.1 to 7.0.0

Bumps [del](https://github.com/sindresorhus/del) from 4.1.1 to 7.0.0.
- [Release notes](https://github.com/sindresorhus/del/releases)
- [Commits](https://github.com/sindresorhus/del/compare/v4.1.1...v7.0.0)

---
updated-dependencies:
- dependency-name: del
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependencies

* Adjust to ESM-only and API changes

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-18 18:21:41 +00:00
Paul Bottein
9e5442db18 Use ripple effect for tile card (#15007)
* Use ripple effect for tile card

* Use border for focus
2023-01-18 11:35:54 +01:00
Paul Bottein
789a69fea5 Improve slider/switch bar focus style (#15009)
Improve bar input focus style
2023-01-18 11:34:57 +01:00
Paul Bottein
c7da1a95da Exclude selected items for entities picker (#15057) 2023-01-18 11:34:23 +01:00
Paul Bottein
6d527d5ebe Add required style to required select selector (#15082) 2023-01-18 11:33:05 +01:00
dependabot[bot]
9d529d8f13 Bump sinon from 11.0.0 to 15.0.1 (#15121)
* Bump sinon from 11.0.0 to 15.0.1

Bumps [sinon](https://github.com/sinonjs/sinon) from 11.0.0 to 15.0.1.
- [Release notes](https://github.com/sinonjs/sinon/releases)
- [Changelog](https://github.com/sinonjs/sinon/blob/main/docs/changelog.md)
- [Commits](https://github.com/sinonjs/sinon/compare/v11.0.0...v15.0.1)

---
updated-dependencies:
- dependency-name: sinon
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-18 06:11:05 +00:00
Steve Repsher
468aeda74a Bump @material components to 0.27 (#15000) 2023-01-17 15:25:43 +01:00
dependabot[bot]
f6a508683c Bump memoize-one from 5.2.1 to 6.0.0 (#15122)
Bumps [memoize-one](https://github.com/alexreardon/memoize-one) from 5.2.1 to 6.0.0.
- [Release notes](https://github.com/alexreardon/memoize-one/releases)
- [Commits](https://github.com/alexreardon/memoize-one/compare/v5.2.1...v6.0.0)

---
updated-dependencies:
- dependency-name: memoize-one
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 08:56:39 -05:00
dependabot[bot]
64fabbbf05 Bump follow-redirects from 1.13.0 to 1.15.2 (#15119)
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.0 to 1.15.2.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.0...v1.15.2)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-17 06:03:39 +00:00
dependabot[bot]
9b95814f1b Bump webpack-dev-server from 4.3.0 to 4.11.1 (#15081)
* Bump webpack-dev-server from 4.3.0 to 4.11.1

Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.3.0 to 4.11.1.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.3.0...v4.11.1)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-17 00:45:58 -05:00
Paulus Schoutsen
2f2cde328c How can I assist (#15118) 2023-01-16 22:57:32 -05:00
dependabot[bot]
8294e0e271 Bump object-hash from 2.0.3 to 3.0.0 (#15114)
Bumps [object-hash](https://github.com/puleos/object-hash) from 2.0.3 to 3.0.0.
- [Release notes](https://github.com/puleos/object-hash/releases)
- [Commits](https://github.com/puleos/object-hash/compare/v2.0.3...v3.0.0)

---
updated-dependencies:
- dependency-name: object-hash
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-16 18:51:18 -05:00
karwosts
f09859ab40 Fix select box overflowing entities-row (#15105) 2023-01-16 10:35:38 +01:00
dependabot[bot]
e206e86fb3 Bump xss from 1.0.9 to 1.0.14 (#15115)
* Bump xss from 1.0.9 to 1.0.14

Bumps [xss](https://github.com/leizongmin/js-xss) from 1.0.9 to 1.0.14.
- [Release notes](https://github.com/leizongmin/js-xss/releases)
- [Changelog](https://github.com/leizongmin/js-xss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/leizongmin/js-xss/compare/v1.0.9...v1.0.14)

---
updated-dependencies:
- dependency-name: xss
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Use whitelist type from package

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-16 07:24:21 +00:00
Bram Kragten
21f3eb9103 filter disabled hardware integrations (#14964) 2023-01-16 01:10:36 -05:00
dependabot[bot]
932614e31a Bump @babel/plugin-proposal-decorators from 7.20.2 to 7.20.7 (#15053)
* Bump @babel/plugin-proposal-decorators from 7.20.2 to 7.20.7

Bumps [@babel/plugin-proposal-decorators](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-proposal-decorators) from 7.20.2 to 7.20.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.20.7/packages/babel-plugin-proposal-decorators)

---
updated-dependencies:
- dependency-name: "@babel/plugin-proposal-decorators"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-16 06:05:38 +00:00
Paul Bottein
1d20d6979e Improve voice dialog (#15084)
* Improve voice dialog

* Improve scrolling and dialog size

* Align messages to bottom for better keyboard support

* Add send button

* Simplify label
2023-01-13 16:20:29 -05:00
dependabot[bot]
207380d0da Bump @octokit/rest from 19.0.4 to 19.0.5 (#15100) 2023-01-13 06:50:47 -05:00
dependabot[bot]
d2c091536e Bump rollup-plugin-visualizer from 4.0.4 to 5.9.0 (#14983)
* Bump rollup-plugin-visualizer from 4.0.4 to 5.9.0

Bumps [rollup-plugin-visualizer](https://github.com/btd/rollup-plugin-visualizer) from 4.0.4 to 5.9.0.
- [Release notes](https://github.com/btd/rollup-plugin-visualizer/releases)
- [Changelog](https://github.com/btd/rollup-plugin-visualizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/btd/rollup-plugin-visualizer/commits/v5.9.0)

---
updated-dependencies:
- dependency-name: rollup-plugin-visualizer
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependenciesWIP: 663b6e068 Bump @formatjs/intl-locale from 2.4.40 to 3.0.11 (#15077)

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-12 22:21:47 +00:00
Paul Bottein
2eb5335a68 Uses websocket to get sensor device class units (#15014)
* Uses websocket to get sensor device class units

* Only show convertible units

* Update endpoint
2023-01-12 09:49:11 -05:00
Paul Bottein
1aa23d75b0 Use backend translations for energy validation (#15069) 2023-01-12 13:01:43 +01:00
dependabot[bot]
663b6e0682 Bump @formatjs/intl-locale from 2.4.40 to 3.0.11 (#15077)
Bumps [@formatjs/intl-locale](https://github.com/formatjs/formatjs) from 2.4.40 to 3.0.11.
- [Release notes](https://github.com/formatjs/formatjs/releases)
- [Commits](https://github.com/formatjs/formatjs/compare/@formatjs/intl-locale@2.4.40...@formatjs/intl-locale@3.0.11)

---
updated-dependencies:
- dependency-name: "@formatjs/intl-locale"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 10:57:43 -05:00
Paul Bottein
c7f3293c1d Add close button to fullscreen conversation dialog (on mobile) (#15058)
* Add close button to fullscreen conversation dialog (on mobile)

* Remove hardcoded heading
2023-01-11 14:18:55 +01:00
Paul Bottein
c63b64cff5 Reduce label length for regex pattern input text helper (#15016)
* Reduce label length for regex pattern input text helper

* Rename key
2023-01-11 09:54:11 +01:00
Paul Bottein
7136142437 Add state color for schedule and plant domains (#15020)
* Add state color for schedule domain

* Add state color for plant domain
2023-01-11 09:53:36 +01:00
Paul Bottein
af9a8fa3e7 Fixes humidifier off icon (#15021) 2023-01-11 09:53:20 +01:00
dependabot[bot]
b74a2fd277 Bump lint-staged from 13.0.3 to 13.1.0 (#15079)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.0.3 to 13.1.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.0.3...v13.1.0)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-11 06:37:00 +00:00
dependabot[bot]
e5350a4246 Bump regenerator-runtime from 0.13.8 to 0.13.11 (#15013)
* Bump regenerator-runtime from 0.13.8 to 0.13.11

Bumps [regenerator-runtime](https://github.com/facebook/regenerator) from 0.13.8 to 0.13.11.
- [Release notes](https://github.com/facebook/regenerator/releases)
- [Commits](https://github.com/facebook/regenerator/compare/regenerator-runtime@0.13.8...regenerator-runtime@0.13.11)

---
updated-dependencies:
- dependency-name: regenerator-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-11 06:32:40 +00:00
dependabot[bot]
9e5a59fbc4 Bump @thomasloven/round-slider from 0.5.4 to 0.6.0 (#15051)
Bumps [@thomasloven/round-slider](https://github.com/thomasloven/round-slider) from 0.5.4 to 0.6.0.
- [Release notes](https://github.com/thomasloven/round-slider/releases)
- [Commits](https://github.com/thomasloven/round-slider/commits)

---
updated-dependencies:
- dependency-name: "@thomasloven/round-slider"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 18:04:47 -05:00
Paul Bottein
24e6b8483e 20230110.0 (#15070) 2023-01-10 19:24:17 +01:00
Paul Bottein
604c452ff4 Bumped version to 20230110.0 2023-01-10 19:04:27 +01:00
Paul Bottein
ba9551b61e Fixes weekday calendar chips toggle (#14990) 2023-01-10 18:33:29 +01:00
Paul Bottein
135af5bcaa Remove aliases configuration from alexa cloud page (#15003) 2023-01-10 18:33:16 +01:00
Allen Porter
747f47524e Fix UNTIL values to be inclusive of last event and bug in populating recurrence rules when editing calendar events (#15024)
* Fix bug in populating recurrence rules when editing calendar events

* Set UNTIL value to be inclusive of the last instance

* Fix lint errors
2023-01-10 18:32:18 +01:00
Paul Bottein
36b959dbc4 Fixes multiple domains target selector in blueprint (#15054)
* Fixes multiple domains target selector in blueprint

* Fixes lint
2023-01-10 18:31:22 +01:00
Paul Bottein
1d15f81b6c Fixes moon badge icon (#15015) 2023-01-10 18:30:21 +01:00
Paul Bottein
45e7f8ae06 Fixes multiple domains target selector in blueprint (#15054)
* Fixes multiple domains target selector in blueprint

* Fixes lint
2023-01-10 18:28:34 +01:00
Paul Bottein
dcedafaef4 Fixes moon badge icon (#15015) 2023-01-10 18:28:07 +01:00
Allen Porter
8fac5f6d75 Fix UNTIL values to be inclusive of last event and bug in populating recurrence rules when editing calendar events (#15024)
* Fix bug in populating recurrence rules when editing calendar events

* Set UNTIL value to be inclusive of the last instance

* Fix lint errors
2023-01-09 12:28:31 +01:00
dependabot[bot]
5094e8f428 Bump typescript from 4.9.3 to 4.9.4 (#15052)
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 4.9.3 to 4.9.4.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](https://github.com/Microsoft/TypeScript/compare/v4.9.3...v4.9.4)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 12:18:45 +01:00
dependabot[bot]
74fb8b0427 Bump actions/setup-node from 3.5.1 to 3.6.0 (#15049)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 11:33:34 +01:00
dependabot[bot]
78768b1e2f Bump actions/checkout from 3.2.0 to 3.3.0 (#15050)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-09 10:39:28 +01:00
dependabot[bot]
d55307098a Bump @vue/web-component-wrapper from 1.2.0 to 1.3.0 (#14782)
* Bump @vue/web-component-wrapper from 1.2.0 to 1.3.0

Bumps [@vue/web-component-wrapper](https://github.com/vuejs/web-component-wrapper) from 1.2.0 to 1.3.0.
- [Release notes](https://github.com/vuejs/web-component-wrapper/releases)
- [Commits](https://github.com/vuejs/web-component-wrapper/commits)

---
updated-dependencies:
- dependency-name: "@vue/web-component-wrapper"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Correct wrap type and remove unnecessary TS ignores

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-09 06:45:49 +00:00
dependabot[bot]
7286aa7dc4 bump open from 7.3.0 to 8.4.0 (#14776)
* dev(deps-dev): bump open from 7.3.0 to 8.4.0

Bumps [open](https://github.com/sindresorhus/open) from 7.3.0 to 8.4.0.
- [Release notes](https://github.com/sindresorhus/open/releases)
- [Commits](https://github.com/sindresorhus/open/compare/v7.3.0...v8.4.0)

---
updated-dependencies:
- dependency-name: open
  dependency-type: direct:development
  update-type: version-update:semver-major
...

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

* Deduplicate dependencies

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-08 06:05:16 +00:00
dependabot[bot]
b44b22c723 Bump fs-extra from 7.0.1 to 11.1.0 (#15012)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-06 12:29:40 +01:00
Paul Bottein
dcee89caeb Display aliases in cloud page (#14989)
* Display aliases in cloud page

* Fixes ellipsis

* Improve sort

* Separate alias list and button

* Remove alexa changes

* Apply suggestions
2023-01-06 12:27:36 +01:00
Paul Bottein
d1caeed05e Remove aliases configuration from alexa cloud page (#15003) 2023-01-06 12:15:45 +01:00
Franck Nijhof
f2a67a5fa9 Add calendar domain to sensors (#15002) 2023-01-06 09:43:57 +01:00
Paul Bottein
b2d5304488 Fixes weekday calendar chips toggle (#14990) 2023-01-06 08:04:45 +01:00
Philip Allgaier
e9aded77da Bump mdi/js and mdi/svg to 7.1.96 (#15006) 2023-01-05 17:25:55 -05:00
dependabot[bot]
e1a94c679f bump workbox from 6.4.2 to 6.5.4 (#14775)
* prod(deps): bump workbox-cacheable-response from 6.4.2 to 6.5.4

Bumps [workbox-cacheable-response](https://github.com/googlechrome/workbox) from 6.4.2 to 6.5.4.
- [Release notes](https://github.com/googlechrome/workbox/releases)
- [Commits](https://github.com/googlechrome/workbox/compare/v6.4.2...v6.5.4)

---
updated-dependencies:
- dependency-name: workbox-cacheable-response
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* Bump the rest of the workbox packages

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-01-05 22:22:41 +00:00
Steve Repsher
616bced37c Bump @codemirror packages to version 6.x (#14969) 2023-01-04 17:19:00 -05:00
dependabot[bot]
1585c6bf52 Bump json5 from 1.0.1 to 1.0.2 (#14986)
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-04 14:55:09 -05:00
Bram Kragten
caa852559f 20230104.0 (#14985) 2023-01-04 11:43:34 +01:00
Bram Kragten
f2fa433326 Bumped version to 20230104.0 2023-01-04 11:35:18 +01:00
Jan Bouwhuis
dd109b0054 Fix lokalization of MQTT config entry panel re-configure button and title (#14915) 2023-01-04 11:30:15 +01:00
puddly
9750e0e0b5 Ensure Lovelace deviceEntries lookup handles missing keys (#14980)
fixes undefined
2023-01-04 11:29:47 +01:00
Philip Allgaier
b36eba0916 Ensure calender event description can be edited (#14979) 2023-01-04 10:44:39 +01:00
Paul Bottein
18a69d633f Add padding to device action form (#14976) 2023-01-03 14:02:16 +00:00
Paul Bottein
bf6ad3d0a5 Replace ZMK by ZMW currency (#14975) 2023-01-03 14:02:10 +00:00
Paul Bottein
9836912efa Display zone name in state badge (#14974) 2023-01-03 14:58:30 +01:00
Felipe Santos
f31a7c3af0 Fix issue with reload not working sometimes (#14939)
fixes undefined
2023-01-03 11:09:18 +01:00
Bram Kragten
ebb19e4ed5 20230102.0 (#14963) 2023-01-02 21:42:03 +01:00
Bram Kragten
44d91eaa4f Bumped version to 20230102.0 2023-01-02 21:28:30 +01:00
Allen Porter
3cc1cb7893 Rollback calendar trigger day offset support (#14933) 2023-01-02 21:27:50 +01:00
Paul Bottein
e7354ed5a2 Do not close aliases dialog on enter (#14952)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-01-02 21:27:30 +01:00
Allen Porter
e3ac2c149d Use translations for all fields in recurrence rule editor (#14940)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-01-02 20:19:36 +00:00
epenet
afcd45a780 Enable unit conversion for DATA_SIZE (#14903)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-01-02 20:17:14 +00:00
Bram Kragten
fe87466351 Add link to aliases in cloud config entity settings (#14959) 2023-01-02 20:42:31 +01:00
epenet
bdef924426 Enable unit conversion for DATA_RATE (#14902)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-01-02 17:50:12 +00:00
Paul Bottein
86ea3082f7 Add aliases editor for helpers (#14951) 2023-01-02 12:10:52 +01:00
930913
0374330676 Add helper text to select slider (#14884)
* Add helper text to select slider

* Make helper text conditional

Only show if set.

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

* Lint changes

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-31 15:38:21 -05:00
Bram Kragten
7cde3b66dd 20221230.0 (#14925) 2022-12-30 13:39:58 +01:00
Bram Kragten
d8a68326fb Bumped version to 20221230.0 2022-12-30 13:21:47 +01:00
Allen Porter
4901d50918 Fix All Day recurring events that end on a specific date (#14905) 2022-12-30 13:15:07 +01:00
SukramJ
a16e41a7ac Add support for unit conversion of electric current (#14916) 2022-12-30 13:06:11 +01:00
Jan Bouwhuis
f1d644ac51 Add mV as unit for sensor device_class voltage (#14921) 2022-12-30 13:05:44 +01:00
karwosts
a9378abe31 Fix days missing from ha-base-time-input _valueChanged (#14910)
* Fix days missing from ha-base-time-input _valueChanged

* style change
2022-12-29 00:06:48 -05:00
Gia Ferrari
5c2fcd7f9b Add alt attribute to various images (#14405)
* ha-config-area-page: Add alt tag for area-picture

* dialog-tag-detail: Add alt tag for generated QR code image.

* ha-config-hardware: Blank alt tag for hardware pic, info already elsewhere

* dialog-energy-solar-settings: Blank alt tag for brand icon.

* ha-energy-grid-settings: Blank alt tag for co2signal brand icon.

* Add a few more appropriately-blank alt texts.

* ha-config-device-page: Logo alt text set to name of device domain.

* ha-config-repairs: Logo alt text set to name of issue domain.

* hui-picture-card(-editor): Alternate Text via config (blank default)

* hui-picture-entity-card(-editor): Alternate Text via config (blank default)

* ha-long-lived-access-token-dialog: Alt text for QR code.

* hui-picture-header-footer: Support alt text via optional property.

* A few more blank alt attributes.

* ha-tile-image: Support alt tag (but it is blank in current usage).

* prod cla-bot

* Lint. Fix whitespace.

* Add missing alt text properties to TS types.

* Fix my silly typo in picture-entity-card-editor's SCHEMA (+ minor reformat)

* Add alt_text to Picture(Entity)CardConfig TypeScript types.

* Format with prettier.

* Revise alt text for tag QR

* Revise alt text for token QR

* Revise alternate to alternative

* Add alt to logo in gallery

* Add alt text to crop image

* Use ifDefined for tile image alt

* Change area picture alt to area name

* Remove entry from entities config struct

* Revert altText changes for Picture Entity Card (to revisit in future PR)

See:
https://github.com/home-assistant/frontend/pull/14405#discussion_r1032735871

* Revert changes to hui-image and picture entity editor

Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2022-12-29 01:16:05 +00:00
Bram Kragten
2b8f7c46ff 20221228.0 (#14901) 2022-12-28 15:04:30 +01:00
Bram Kragten
0015559e24 Merge branch 'master' into dev 2022-12-28 14:42:47 +01:00
Bram Kragten
2fbe6809c1 Bumped version to 20221228.0 2022-12-28 14:40:38 +01:00
Jaroslav Hanslík
e926091e54 Sort strings by locale language (#14533) 2022-12-28 14:25:45 +01:00
karwosts
1198f983aa Prevent duplicate entities from being chosen in the target picker (#14882)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2022-12-28 13:24:32 +00:00
Allen Porter
6a15216104 Add monthly variations for recurrence rules (#14849)
* Add variations on monthly recurrence rules

* Recurrence rule code simplificiation

* Invalidate when the interval changes

* update

* Update ha-recurrence-rule-editor.ts

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-28 14:07:17 +01:00
Bram Kragten
b99a139f51 Fix target selector (#14895) 2022-12-28 14:02:46 +01:00
Paulus Schoutsen
0e9a013549 Conversation dialog tweaks (#14869) 2022-12-28 13:50:38 +01:00
Jan Bouwhuis
1d1ff410b2 Make using template rendering optional when using MQTT publish from the config entry page (#14828) 2022-12-28 12:12:30 +01:00
Jan Bouwhuis
d4d3a1cb65 Use _ prefix for local vars on MQTT config entry page (#14898) 2022-12-28 11:22:40 +01:00
Jan Bouwhuis
81e3652446 Make JSON formatting optional when using MQTT subscribe from config entry page (#14830) 2022-12-27 22:03:14 +01:00
Philip Allgaier
adb61ab99b Enforce valid entity ID in card config YAML (#14792) 2022-12-27 22:00:37 +01:00
karwosts
1c139d0bc7 Fix map card not loading in sidebar view (#14872)
fixes undefined
2022-12-27 22:00:19 +01:00
karwosts
419f23879a Fix broken numeric text entry in state-card-input_number (#14812)
fixes undefined
2022-12-27 21:57:47 +01:00
Allen Porter
e175c7ba3c Add edit/update support for calendar events (#14814)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-27 21:47:42 +01:00
Paul Bottein
2575d35f2c Add aliases dialog to entity registry settings (#14860) 2022-12-27 21:36:08 +01:00
Steve Repsher
5eb45209e8 Pin action versions to minor and patch (#14894) 2022-12-27 21:20:47 +01:00
Paul Bottein
0e70b866ae Uses backend translation for climate attributes (#14827)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-27 20:08:47 +00:00
albatorsk
c6aa2886ed Change Z-Wave to Zigbee in help setup dialog (#14892) 2022-12-27 12:55:16 +00:00
dependabot[bot]
77e01812d1 Bump actions/stale from 6.0.1 to 7.0.0 (#14886)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-27 08:25:47 +01:00
Paulus Schoutsen
a5863a9a67 Redirect to new Matter device (#14867)
* Redirect to new Matter device

* Use hass.devices
2022-12-23 20:49:07 -05:00
Paulus Schoutsen
526c34993c Allow opening conversation dialog via URL (#14868)
* Allow opening conversation dialog via URL

* Update URL
2022-12-23 20:37:58 -05:00
Bram Kragten
3199319830 Fix water compare (#14864) 2022-12-22 11:20:40 -05:00
Allen Porter
6bb350b5ec Fix bug in non-recurring calendar event creation (#14854)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2022-12-22 16:14:30 +00:00
Jan Bouwhuis
f41330a29b Allign MQTT config panel controls (#14818)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-22 15:43:55 +01:00
Paul Bottein
7780ae8f76 Fixes select selector filter (#14850) 2022-12-22 13:03:14 +01:00
Paul Bottein
40cf15c1f3 Fix history type device class (#14851) 2022-12-22 12:59:00 +01:00
smonesi
9be6a47d88 Attempt to fix picture-elements functionality broken in 2022.11 (#14813)
fixes undefined
2022-12-22 12:52:15 +01:00
Franck Nijhof
5933c2eb8e Add Calendar redirect support for My (#14859) 2022-12-22 12:51:36 +01:00
karwosts
a8b7937d75 Fix zwave automations not handling 0 values in the visual editor (#14835)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2022-12-22 12:48:48 +01:00
Jan Bouwhuis
4919341871 Fix localization Solar total in Enery dashboard (#14841)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2022-12-22 12:47:33 +01:00
Allen Porter
36e99c3c0f Fix calendar date display and parsing issues (#14817)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2022-12-21 17:07:31 +01:00
Jan Bouwhuis
825008e24a Use a capitol for Topic in MQTT config panel. (#14843) 2022-12-21 17:06:40 +01:00
Paul Bottein
ae04a5457e Allow custom value for multiple select (#14839) 2022-12-21 10:51:35 +00:00
Paul Bottein
a7c3774c29 Fixes alarm triggered color in alarm card (#14840) 2022-12-21 11:22:48 +01:00
Paul Bottein
9c24dbe333 Enforces disabled to false for ha-form (#14842) 2022-12-21 11:22:09 +01:00
epenet
50f089fd4f Add CCF (centum cubic feet) to volume units (#14796) 2022-12-19 17:27:36 +01:00
Joost Lekkerkerker
019ef4ba8f Fix suffix not showing up (#14816) 2022-12-19 13:24:57 +00:00
Bram Kragten
b31a9d590e Change layout of Zwave JS device config page (#14788) 2022-12-15 17:41:38 +01:00
Bram Kragten
43ea175a1a Bumped version to 20221213.1 2022-12-15 16:13:20 +01:00
Bram Kragten
b2f0b6a814 Check if area exists during default dashboard generation (#14767) 2022-12-15 16:10:26 +01:00
Paul Bottein
614496d65c Add pulse animation for jammed state for lock (#14766) 2022-12-15 16:09:57 +01:00
Philip Allgaier
d121c1cd18 Classify binary sensor locks active state as alert (= red) (#14761)
fixes undefined
2022-12-15 16:09:15 +01:00
Paul Bottein
b18160d987 Use CSS colors for tile components (#14770)
* Do not use rgb colors for tile components

* Fixes gallery

* Change tile color

* Do not use rgb colors in tile button
2022-12-15 11:27:45 +01:00
Bram Kragten
5b17c59a56 Check if area exists during default dashboard generation (#14767) 2022-12-15 11:09:49 +01:00
Philip Allgaier
139cbb363c Cover in state "closing" should be in "active" color (#14785) 2022-12-15 11:02:47 +01:00
Steve Repsher
e8e4733fc9 Fix localize key type errors for states (#14691)
* Replace unavailable state checks with type predicate

* Remove localize exceptions related to state

* Use literal types for climate attributes

* Add fan action to climate tile badge

* Use literal types for truncated states in badges

* Use literal type for humidifier state

* Replace unavailable state checks in calendar and tile card

* Avoid string split for truncated key
2022-12-14 19:39:10 +01:00
Philip Allgaier
b4d6fc3c20 Handle "idle" state of alert entity (#14779) 2022-12-14 19:08:08 +01:00
karwosts
25a5bd568a Fix entity-filter handling of numeric states for == and != operators. (#14726)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fixes undefined
2022-12-14 17:51:33 +00:00
karwosts
77b8152c55 Make map card trails clickable, provide time context. (#14515)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-14 18:39:38 +01:00
Steve Repsher
ebcbfda92d Remove prefixes from dependabot commit messages (#14778) 2022-12-14 16:42:36 +00:00
Bram Kragten
01a4b55ed8 Use entity picker in calendar event editor (#14772) 2022-12-14 16:27:05 +00:00
Steve Repsher
311d11f2da Add title attributes to iframes for accessibility (#14760)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-14 16:50:14 +01:00
dependabot[bot]
c400e771cb dev(deps-dev): bump fancy-log from 1.3.3 to 2.0.0 (#14773)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-14 16:49:35 +01:00
dependabot[bot]
7611a99f55 dev(deps-dev): bump @typescript-eslint/eslint-plugin from 5.44.0 to 5.46.1 (#14774)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-14 16:47:24 +01:00
Jan Bouwhuis
1044b3c399 Add retain switch for MQTT publish (#14714) 2022-12-14 16:42:44 +01:00
Jan Bouwhuis
239d3ca00c Add QoS option for MQTT subscribe (#14565)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-14 16:42:11 +01:00
Steve Repsher
00c2cb731b Remove unnecessary labels from dashboard menu (#14605) 2022-12-14 12:16:45 +01:00
Philip Allgaier
ef7d839c0f Use the calendar color for state icon in event details (#14670)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-14 12:15:36 +01:00
Steve Repsher
66a22ae102 Enable dependabot for yarn packages (#14607) 2022-12-14 12:13:56 +01:00
Steve Repsher
d48853fcdd Add precommit hook to deduplicate dependencies (#14609) 2022-12-14 12:11:58 +01:00
Philip Allgaier
175a388822 Add sun domain to gallery entity states (#14742) 2022-12-14 11:43:49 +01:00
uvjustin
872395bec5 Enable http cache for local media-player-browse thumbnails (#13339) 2022-12-14 11:38:20 +01:00
Paul Bottein
5faf7cf0af Add pulse animation for jammed state for lock (#14766) 2022-12-14 11:35:41 +01:00
Philip Allgaier
e768c78dce Enable weather entity row to show secondary info (#14639) 2022-12-14 11:35:25 +01:00
Denis Shulyaka
50cc8594be humidifier card: fix humidity not visible (#14575) 2022-12-14 11:34:10 +01:00
karwosts
363092ff03 Remove min/max >=1 requirement from gauge-card-editor (#14682)
fixes undefined
2022-12-14 11:25:24 +01:00
epenet
1bce5efc9e Add new sound pressure device class (#14592)
* Add sound pressure device class

* Update const.ts

* sort

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-14 10:20:27 +01:00
epenet
14513e5905 Add new data rate device class (#14594)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-14 10:18:55 +01:00
epenet
b168f8d027 Add new data size device class (#14595) 2022-12-14 10:18:11 +01:00
epenet
e151520d74 Add stones to weight units (#14749) 2022-12-14 10:17:55 +01:00
Philip Allgaier
02b763e8f3 Add snow weather icon SVG class (#14655)
fixes undefined
2022-12-14 10:17:34 +01:00
Philip Allgaier
498102ddd9 Classify binary sensor locks active state as alert (= red) (#14761)
fixes undefined
2022-12-14 09:44:43 +01:00
Joakim Sørensen
6aba5c1017 Add action to publish demo when pushing to master (#14723) 2022-12-14 09:37:16 +01:00
Bram Kragten
2176d4dcea Make editing home location more clear (#14636) 2022-12-14 09:13:31 +01:00
Paulus Schoutsen
9fdef3df6d Update conversation API (#14763)
* Update conversation API

* Update action done

* Add query done data

* Update conversation_id type
2022-12-13 23:10:57 -05:00
Bram Kragten
d8b4611c24 20221213.0 (#14757) 2022-12-13 17:30:15 +01:00
Philip Allgaier
9c27bb37a0 Ensure consistent light state icon brightness (#14740)
* Ensure consistent light state icon brightness

* Update hui-entity-card.ts

* Update hui-entity-card.ts

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2022-12-13 17:23:49 +01:00
Bram Kragten
f2b7288e92 Bumped version to 20221213.0 2022-12-13 17:22:37 +01:00
Bram Kragten
f7aecb0d6d Move groups up, after areas, move devices down (#14741) 2022-12-13 17:01:59 +01:00
Joakim Sørensen
1da8a974f8 Do not try design preview on non-forks (#14753) 2022-12-13 16:53:01 +01:00
Paul Bottein
b82d6fd35f Fix climate hvac action color (#14747) 2022-12-13 16:49:12 +01:00
Paul Bottein
62bc171b8c Only use custom color when active on tile card (#14744) 2022-12-13 14:17:13 +01:00
Paul Bottein
2d7973af79 Fix brightness on button card (#14724) 2022-12-13 14:02:48 +01:00
Paul Bottein
d64bb98bb4 Fix binary sensor color when off (#14735) 2022-12-13 12:11:09 +01:00
Paul Bottein
5cabf1d041 Use compute state display for select (#14736) 2022-12-13 11:07:57 +01:00
Philip Allgaier
180357e0db Align domain icon for person and device_tracker when away (#14652) 2022-12-13 09:59:26 +01:00
Bram Kragten
c1dba217da Make error on general config better + default timezone (#14635) 2022-12-12 20:20:56 +01:00
Steve Repsher
8d1ecdb27e Bump prettier to 2.8.1 (#14694)
* Bump prettier to 2.8.1

* Reformat ha-data-table
2022-12-12 11:45:06 -05:00
Joakim Sørensen
f83544dd38 Add action for design preview (#14721)
* Add action for design preview

* Remove netlify_build_gallery
2022-12-12 16:23:11 +01:00
Joakim Sørensen
2ae137bbc2 Add fallback URLs (#14720) 2022-12-12 16:22:34 +01:00
515 changed files with 18584 additions and 10933 deletions

View File

@@ -1,5 +1,5 @@
# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.148.1/containers/python-3/.devcontainer/base.Dockerfile
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.9
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.10
ENV \
DEBIAN_FRONTEND=noninteractive \

View File

@@ -5,6 +5,7 @@
"plugin:@typescript-eslint/recommended",
"plugin:wc/recommended",
"plugin:lit/all",
"plugin:lit-a11y/recommended",
"prettier"
],
"parser": "@typescript-eslint/parser",
@@ -65,7 +66,10 @@
"import/extensions": [
"error",
"ignorePackages",
{ "ts": "never", "js": "never" }
{
"ts": "never",
"js": "never"
}
],
"no-restricted-syntax": ["error", "LabeledStatement", "WithStatement"],
"object-curly-newline": "off",
@@ -112,7 +116,15 @@
],
"unused-imports/no-unused-imports": "error",
"lit/attribute-value-entities": "off",
"lit/no-template-map": "off"
"lit/no-template-map": "off",
"lit/no-native-attributes": "warn",
"lit/no-this-assign-in-render": "warn",
"lit/prefer-nothing": "warn",
"lit-a11y/click-events-have-key-events": ["off"],
"lit-a11y/no-autofocus": "off",
"lit-a11y/alt-text": "warn",
"lit-a11y/anchor-is-valid": "warn",
"lit-a11y/role-has-required-aria-attrs": "warn"
},
"plugins": ["disable", "unused-imports"],
"processor": "disable/disable"

View File

@@ -6,3 +6,16 @@ updates:
interval: weekly
time: "06:00"
open-pull-requests-limit: 10
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
time: "03:00"
open-pull-requests-limit: 10
labels:
- "dependencies"
ignore:
# Ignore rollup and plugins until everything else is updated
- dependency-name: "*rollup*"
- dependency-name: "@rollup/*"
- dependency-name: "serve"

View File

@@ -22,20 +22,18 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
with:
ref: dev
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build Cast
run: ./node_modules/.bin/gulp build-cast
@@ -60,20 +58,18 @@ jobs:
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
with:
ref: master
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build Cast
run: ./node_modules/.bin/gulp build-cast
@@ -87,4 +83,4 @@ jobs:
args: deploy --dir=cast/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}

View File

@@ -15,83 +15,83 @@ env:
NODE_OPTIONS: --max_old_space_size=6144
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
lint:
name: Lint and check format
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Check for duplicate dependencies
run: yarn dedupe --check
- name: Build resources
run: ./node_modules/.bin/gulp gen-icons-json build-translations build-locale-data gather-gallery-pages
- name: Run eslint
run: yarn run lint:eslint
run: yarn run lint:eslint --quiet
- name: Run tsc
run: yarn run lint:types
- name: Run prettier
run: yarn run lint:prettier
- name: Check for duplicate dependencies
run: yarn dedupe --check
test:
name: Run tests
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build resources
run: ./node_modules/.bin/gulp build-translations build-locale-data
- name: Run Tests
run: yarn run test
build:
runs-on: ubuntu-latest
name: Build frontend
needs: [lint, test]
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build Application
run: ./node_modules/.bin/gulp build-app
env:
IS_TEST: "true"
supervisor:
runs-on: ubuntu-latest
name: Build supervisor
needs: [lint, test]
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build Application
run: ./node_modules/.bin/gulp build-hassio
env:

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.

View File

@@ -7,31 +7,34 @@ on:
push:
branches:
- dev
- master
env:
NODE_VERSION: 16
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy:
deploy_dev:
runs-on: ubuntu-latest
name: Demo Development
if: github.event_name != 'push' || github.ref != 'master'
environment:
name: Demo
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL }}
name: Demo Development
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
with:
ref: dev
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build Demo
run: ./node_modules/.bin/gulp build-demo
@@ -46,3 +49,39 @@ jobs:
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
deploy_master:
runs-on: ubuntu-latest
name: Demo Production
if: github.event_name == 'push' && github.ref == 'master'
environment:
name: Demo Production
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3.3.0
with:
ref: master
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install --immutable
- name: Build Demo
run: ./node_modules/.bin/gulp build-demo
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=demo/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_SITE_ID }}

View File

@@ -14,21 +14,19 @@ jobs:
runs-on: ubuntu-latest
environment:
name: Design
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL }}
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
run: yarn install --immutable
- name: Build Gallery
run: ./node_modules/.bin/gulp build-gallery

52
.github/workflows/design_preview.yaml vendored Normal file
View File

@@ -0,0 +1,52 @@
name: Design preview
on:
pull_request:
types:
- opened
- synchronize
- reopened
- labeled
branches:
- dev
env:
NODE_VERSION: 16
NODE_OPTIONS: --max_old_space_size=6144
jobs:
preview:
runs-on: ubuntu-latest
# Skip running on forks since it won't have access to secrets
# Skip running PRs without 'needs design preview' label
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@v3.3.0
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install --immutable
- name: Build Gallery
run: ./node_modules/.bin/gulp build-gallery
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy preview to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=gallery/dist --alias "deploy-preview-${{ github.event.number }}"
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"

View File

@@ -21,7 +21,7 @@ jobs:
contents: write
steps:
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v4
@@ -29,7 +29,7 @@ jobs:
python-version: ${{ env.PYTHON_VERSION }}
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn

View File

@@ -24,7 +24,7 @@ jobs:
contents: write # Required to upload release assets
steps:
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Verify version
uses: home-assistant/actions/helpers/verify-version@master
@@ -35,7 +35,7 @@ jobs:
python-version: ${{ env.PYTHON_VERSION }}
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
uses: actions/setup-node@v3.6.0
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 90 days stale policy
uses: actions/stale@v6.0.1
uses: actions/stale@v7.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90

View File

@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v3.3.0
- name: Upload Translations
run: |

4
.gitignore vendored
View File

@@ -8,7 +8,7 @@ dist/
/translations/
# yarn
.yarn/**
.yarn/*
!.yarn/patches
!.yarn/releases
!.yarn/plugins
@@ -31,7 +31,7 @@ pip-selfcheck.json
.venv
# vscode
.vscode/**
.vscode/*
!.vscode/extensions.json
!.vscode/launch.json
!.vscode/tasks.json

View File

@@ -1,29 +0,0 @@
diff --git a/polyfillLoaders/EventTarget.js b/polyfillLoaders/EventTarget.js
index 4e18ade7ba485849f17f28c94c42f0e0e01ac387..8f34f4f646c7f7becc208fb5a546c96034fc74dc 100644
--- a/polyfillLoaders/EventTarget.js
+++ b/polyfillLoaders/EventTarget.js
@@ -6,16 +6,15 @@
let _ET;
let ET;
export default async function EventTarget() {
- return ET || init();
+ return ET || init();
}
async function init() {
- _ET = window.EventTarget;
- try {
- new _ET();
- }
- catch (_a) {
- _ET = (await import('event-target-shim')).EventTarget;
- }
- return (ET = _ET);
+ _ET = window.EventTarget;
+ try {
+ new _ET();
+ } catch (_a) {
+ _ET = (await import("event-target-shim")).default.EventTarget;
+ }
+ return (ET = _ET);
}
//# sourceMappingURL=EventTarget.js.map

View File

@@ -1,12 +0,0 @@
diff --git a/mwc-icon-button-base.js b/mwc-icon-button-base.js
index 45cdaab93ccc0a6daaaaabc01266dcdc32e46bfd..b3ea5b541597308d85f86ce6c23fd00785fda835 100644
--- a/mwc-icon-button-base.js
+++ b/mwc-icon-button-base.js
@@ -63,7 +63,6 @@ export class IconButtonBase extends LitElement {
@touchend="${this.handleRippleDeactivate}"
@touchcancel="${this.handleRippleDeactivate}"
>${this.renderRipple()}
- <i class="material-icons">${this.icon}</i>
<span
><slot></slot
></span>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

823
.yarn/releases/yarn-3.3.1.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -6,4 +6,4 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-3.2.3.cjs
yarnPath: .yarn/releases/yarn-3.3.1.cjs

View File

@@ -67,7 +67,7 @@ module.exports.babelOptions = ({ latestBuild }) => ({
"@babel/preset-env",
{
useBuiltIns: "entry",
corejs: "3.15",
corejs: { version: "3.28", proposals: true },
bugfixes: true,
},
],

View File

@@ -1,36 +1,40 @@
const del = require("del");
const del = import("del");
const gulp = require("gulp");
const paths = require("../paths");
require("./translations");
gulp.task(
"clean",
gulp.parallel("clean-translations", () =>
del([paths.app_output_root, paths.build_dir])
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([paths.app_output_root, paths.build_dir])
)
);
gulp.task(
"clean-demo",
gulp.parallel("clean-translations", () =>
del([paths.demo_output_root, paths.build_dir])
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([paths.demo_output_root, paths.build_dir])
)
);
gulp.task(
"clean-cast",
gulp.parallel("clean-translations", () =>
del([paths.cast_output_root, paths.build_dir])
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([paths.cast_output_root, paths.build_dir])
)
);
gulp.task("clean-hassio", () =>
del([paths.hassio_output_root, paths.build_dir])
gulp.task("clean-hassio", async () =>
(await del).deleteSync([paths.hassio_output_root, paths.build_dir])
);
gulp.task(
"clean-gallery",
gulp.parallel("clean-translations", () =>
del([paths.gallery_output_root, paths.gallery_build, paths.build_dir])
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([
paths.gallery_output_root,
paths.gallery_build,
paths.build_dir,
])
)
);

View File

@@ -1,9 +1,9 @@
// Task to download the latest Lokalise translations from the nightly workflow artifacts
const del = import("del");
const fs = require("fs/promises");
const path = require("path");
const process = require("process");
const del = require("del");
const gulp = require("gulp");
const jszip = require("jszip");
const tar = require("tar");
@@ -17,8 +17,8 @@ const WORKFLOW_NAME = "nightly.yaml";
const ARTIFACT_NAME = "translations";
const CLIENT_ID = "Iv1.3914e28cb27834d1";
const EXTRACT_DIR = "translations";
const TOKEN_FILE = path.join(EXTRACT_DIR, "token.json");
const ARTIFACT_FILE = path.join(EXTRACT_DIR, "artifact.json");
const TOKEN_FILE = path.posix.join(EXTRACT_DIR, "token.json");
const ARTIFACT_FILE = path.posix.join(EXTRACT_DIR, "artifact.json");
let allowTokenSetup = false;
gulp.task("allow-setup-fetch-nightly-translations", (done) => {
@@ -137,7 +137,11 @@ gulp.task("fetch-nightly-translations", async function () {
// Remove the current translations
const deleteCurrent = Promise.all(writings).then(
del([`${EXTRACT_DIR}/*`, `!${ARTIFACT_FILE}`, `!${TOKEN_FILE}`])
(await del).deleteAsync([
`${EXTRACT_DIR}/*`,
`!${ARTIFACT_FILE}`,
`!${TOKEN_FILE}`,
])
);
// Get the download URL and follow the redirect to download (stored as ArrayBuffer)

View File

@@ -1,4 +1,4 @@
const del = require("del");
const del = import("del");
const path = require("path");
const gulp = require("gulp");
const fs = require("fs");
@@ -6,7 +6,7 @@ const paths = require("../paths");
const outDir = "build/locale-data";
gulp.task("clean-locale-data", () => del([outDir]));
gulp.task("clean-locale-data", async () => (await del).deleteSync([outDir]));
gulp.task("ensure-locale-data-build-dir", (done) => {
if (!fs.existsSync(outDir)) {

View File

@@ -1,5 +1,5 @@
const del = import("del");
const crypto = require("crypto");
const del = require("del");
const path = require("path");
const source = require("vinyl-source-stream");
const vinylBuffer = require("vinyl-buffer");
@@ -13,7 +13,7 @@ const { mapFiles } = require("../util");
const env = require("../env");
const paths = require("../paths");
require("./fetch-nightly_translations");
require("./fetch-nightly-translations");
const inFrontendDir = "translations/frontend";
const inBackendDir = "translations/backend";
@@ -120,7 +120,7 @@ function lokaliseTransform(data, original, file) {
return output;
}
gulp.task("clean-translations", () => del([workDir]));
gulp.task("clean-translations", async () => (await del).deleteSync([workDir]));
gulp.task("ensure-translations-build-dir", (done) => {
if (!fs.existsSync(workDir)) {

View File

@@ -2,6 +2,7 @@ const webpack = require("webpack");
const path = require("path");
const TerserPlugin = require("terser-webpack-plugin");
const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
const CompressionWebpackPlugin = require("compression-webpack-plugin");
const log = require("fancy-log");
const WebpackBar = require("webpackbar");
const paths = require("./paths.js");
@@ -75,6 +76,7 @@ const createWebpackConfig = ({
chunkIds: isProdBuild && !isStatsBuild ? "deterministic" : "named",
},
plugins: [
new CompressionWebpackPlugin(),
!isStatsBuild && new WebpackBar({ fancy: !isProdBuild }),
new WebpackManifestPlugin({
// Only include the JS of entrypoints

View File

@@ -181,7 +181,7 @@ class HcCast extends LitElement {
private async _handlePickView(ev: Event) {
const path = (ev.currentTarget as any).getAttribute("data-path");
await ensureConnectedCastSession(this.castManager!, this.auth!);
castSendShowLovelaceView(this.castManager, path, this.auth.data.hassUrl);
castSendShowLovelaceView(this.castManager, this.auth.data.hassUrl, path);
}
private async _handleLogout() {

View File

@@ -22,7 +22,11 @@ class HcLayout extends LitElement {
return html`
<ha-card>
<div class="layout">
<img class="hero" src="/images/google-nest-hub.png" />
<img
class="hero"
alt="A Google Nest Hub with a Home Assistant dashboard on its screen"
src="/images/google-nest-hub.png"
/>
<h1 class="card-header">
Home Assistant Cast${this.subtitle ? ` ${this.subtitle}` : ""}
${this.auth

View File

@@ -12,6 +12,7 @@ class HcLaunchScreen extends LitElement {
return html`
<div class="container">
<img
alt="Home Assistant logo on left, Nabu Casa logo on right, and red heart in center"
src="https://www.home-assistant.io/images/blog/2018-09-thinking-big/social.png"
/>
<div class="status">

View File

@@ -252,6 +252,22 @@ export class HcMain extends HassElement {
msg.urlPath = null;
}
this._lovelacePath = msg.viewPath;
if (msg.urlPath === "energy") {
this._lovelaceConfig = {
views: [
{
strategy: {
type: "energy",
options: { show_date_selection: true },
},
},
],
};
this._urlPath = "energy";
this._lovelacePath = 0;
this._sendStatus();
return;
}
if (!this._unsubLovelace || this._urlPath !== msg.urlPath) {
this._urlPath = msg.urlPath;
this._lovelaceConfig = undefined;

View File

@@ -6,6 +6,9 @@ set -e
cd "$(dirname "$0")/.."
STATS=1 NODE_ENV=production ../node_modules/.bin/webpack --profile --json > compilation-stats.json
npx webpack-bundle-analyzer compilation-stats.json dist/frontend_latest
rm compilation-stats.json
export STATS=1
statsfile="compilation-stats-demo.json"
./node_modules/.bin/webpack-cli --profile --node-env=production --json=$statsfile
npx webpack-bundle-analyzer $statsfile dist/frontend_latest
rm -f $statsfile

View File

@@ -1,6 +1,6 @@
import "@material/mwc-button";
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
import { property, state } from "lit/decorators";
import { customElement, property, state } from "lit/decorators";
import { until } from "lit/directives/until";
import "../../../src/components/ha-card";
import "../../../src/components/ha-circular-progress";
@@ -14,6 +14,7 @@ import {
setDemoConfig,
} from "../configs/demo-configs";
@customElement("ha-demo-card")
export class HADemoCard extends LitElement implements LovelaceCard {
@property({ attribute: false }) public lovelace?: Lovelace;
@@ -154,5 +155,3 @@ declare global {
"ha-demo-card": HADemoCard;
}
}
customElements.define("ha-demo-card", HADemoCard);

View File

@@ -1,4 +1,6 @@
// Compat needs to be first import
import "../../src/resources/compatibility";
import { customElement } from "lit/decorators";
import { isNavigationClick } from "../../src/common/dom/is-navigation-click";
import { navigate } from "../../src/common/navigate";
import {
@@ -6,7 +8,6 @@ import {
provideHass,
} from "../../src/fake_data/provide_hass";
import { HomeAssistantAppEl } from "../../src/layouts/home-assistant";
import "../../src/resources/compatibility";
import { HomeAssistant } from "../../src/types";
import { selectedDemoConfig } from "./configs/demo-configs";
import { mockAuth } from "./stubs/auth";
@@ -26,7 +27,8 @@ import { mockSystemLog } from "./stubs/system_log";
import { mockTemplate } from "./stubs/template";
import { mockTranslations } from "./stubs/translations";
class HaDemo extends HomeAssistantAppEl {
@customElement("ha-demo")
export class HaDemo extends HomeAssistantAppEl {
protected async _initializeHass() {
const initial: Partial<MockHomeAssistant> = {
panelUrl: (this as any)._panelUrl,
@@ -71,6 +73,7 @@ class HaDemo extends HomeAssistantAppEl {
entity_category: null,
has_entity_name: false,
unique_id: "co2_intensity",
options: null,
},
{
config_entry_id: "co2signal",
@@ -86,6 +89,7 @@ class HaDemo extends HomeAssistantAppEl {
entity_category: null,
has_entity_name: false,
unique_id: "grid_fossil_fuel_percentage",
options: null,
},
]);
@@ -121,8 +125,6 @@ class HaDemo extends HomeAssistantAppEl {
}
}
customElements.define("ha-demo", HaDemo);
declare global {
interface HTMLElementTagNameMap {
"ha-demo": HaDemo;

View File

@@ -66,7 +66,7 @@ const incrementalUnits = ["clients", "queries", "ads"];
export const mockHistory = (mockHass: MockHomeAssistant) => {
mockHass.mockAPI(
new RegExp("history/period/.+"),
/history\/period\/.+/,
(hass, _method, path, _parameters) => {
const params = parseQuery<HistoryQueryParams>(path.split("?")[1]);
const entities = params.filter_entity_id.split(",");

View File

@@ -15,6 +15,7 @@ import { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
const generateMeanStatistics = (
start: Date,
end: Date,
// eslint-disable-next-line @typescript-eslint/default-param-last
period: "5minute" | "hour" | "day" | "month" = "hour",
initValue: number,
maxDiff: number
@@ -51,6 +52,7 @@ const generateMeanStatistics = (
const generateSumStatistics = (
start: Date,
end: Date,
// eslint-disable-next-line @typescript-eslint/default-param-last
period: "5minute" | "hour" | "day" | "month" = "hour",
initValue: number,
maxDiff: number
@@ -86,6 +88,7 @@ const generateSumStatistics = (
const generateCurvedStatistics = (
start: Date,
end: Date,
// eslint-disable-next-line @typescript-eslint/default-param-last
_period: "5minute" | "hour" | "day" | "month" = "hour",
initValue: number,
maxDiff: number,

View File

@@ -1,34 +0,0 @@
#!/bin/bash
TARGET_LABEL="needs design preview"
export SKIP_FETCH_NIGHTLY_TRANSLATIONS="true"
if [[ "$NETLIFY" != "true" ]]; then
echo "This script can only be run on Netlify"
exit 1
fi
function createStatus() {
state="$1"
description="$2"
target_url="$3"
curl -X POST -H "Accept: application/vnd.github.v3+json" -H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/repos/home-assistant/frontend/statuses/$COMMIT_REF" \
-d '{"state": "'"${state}"'", "context": "Netlify/Design Preview Build", "description": "'"$description"'", "target_url": "'"$target_url"'"}'
}
if [[ "${PULL_REQUEST}" == "true" ]]; then
if [[ "$(curl -sSLf -H "Accept: application/vnd.github.v3+json" -H "Authorization: token $GITHUB_TOKEN" \
"https://api.github.com/repos/home-assistant/frontend/pulls/${REVIEW_ID}" | jq '.labels[].name' -r)" =~ "$TARGET_LABEL" ]]; then
createStatus "pending" "Building design preview" "https://app.netlify.com/sites/home-assistant-gallery/deploys/$BUILD_ID"
gulp build-gallery
if [ $? -eq 0 ]; then
createStatus "success" "Build complete" "$DEPLOY_PRIME_URL"
else
createStatus "error" "Build failed" "https://app.netlify.com/sites/home-assistant-gallery/deploys/$BUILD_ID"
fi
else
createStatus "success" "Build was not requested by PR label"
fi
fi

View File

@@ -136,7 +136,7 @@ export class DemoAutomationDescribeAction extends LitElement {
<div class="action">
<span>
${this._action
? describeAction(this.hass, this._action)
? describeAction(this.hass, [], this._action)
: "<invalid YAML>"}
</span>
<ha-yaml-editor
@@ -149,7 +149,7 @@ export class DemoAutomationDescribeAction extends LitElement {
${ACTIONS.map(
(conf) => html`
<div class="action">
<span>${describeAction(this.hass, conf as any)}</span>
<span>${describeAction(this.hass, [], conf as any)}</span>
<pre>${dump(conf)}</pre>
</div>
`

View File

@@ -156,18 +156,6 @@ The `title ` option should not be used without a description.
*Documentation coming soon*
**Right to left**
<ha-alert alert-type="success" rtl>
This is an info alert — check it out!
</ha-alert>
```html
<ha-alert alert-type="success" rtl>
This is an info alert — check it out!
</ha-alert>
```
### API
**Properties/Attributes**

View File

@@ -98,7 +98,9 @@ const alerts: {
description: "Alert with slotted image",
type: "warning",
iconSlot: html`<span slot="icon" class="image"
><img src="https://www.home-assistant.io/images/home-assistant-logo.svg"
><img
alt="Home Assistant logo"
src="https://www.home-assistant.io/images/home-assistant-logo.svg"
/></span>`,
},
{

View File

@@ -1,3 +0,0 @@
---
title: Bar Slider
---

View File

@@ -1,3 +0,0 @@
---
title: Bar Switch
---

View File

@@ -0,0 +1,3 @@
---
title: Control Button
---

View File

@@ -0,0 +1,192 @@
import {
mdiFanSpeed1,
mdiFanSpeed2,
mdiFanSpeed3,
mdiLightbulb,
} from "@mdi/js";
import { css, html, LitElement, TemplateResult } 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-group";
type Button = {
label: string;
icon?: string;
class?: string;
disabled?: boolean;
};
const buttons: Button[] = [
{
label: "Button",
},
{
label: "Button and custom style",
class: "custom",
},
{
label: "Disabled Button",
disabled: true,
},
];
type ButtonGroup = {
vertical?: boolean;
class?: string;
};
const buttonGroups: ButtonGroup[] = [
{},
{
class: "custom-group",
},
];
@customElement("demo-components-ha-control-button")
export class DemoHaBarButton extends LitElement {
protected render(): TemplateResult {
return html`
<ha-card>
${repeat(
buttons,
(btn) => html`
<div class="card-content">
<pre>Config: ${JSON.stringify(btn)}</pre>
<ha-control-button
class=${ifDefined(btn.class)}
label=${ifDefined(btn.label)}
disabled=${ifDefined(btn.disabled)}
>
<ha-svg-icon .path=${btn.icon || mdiLightbulb}></ha-svg-icon>
</ha-control-button>
</div>
`
)}
</ha-card>
<ha-card>
${repeat(
buttonGroups,
(group) => html`
<div class="card-content">
<pre>Config: ${JSON.stringify(group)}</pre>
<ha-control-button-group class=${ifDefined(group.class)}>
<ha-control-button>
<ha-svg-icon
.path=${mdiFanSpeed1}
label="Speed 1"
></ha-svg-icon>
</ha-control-button>
<ha-control-button>
<ha-svg-icon
.path=${mdiFanSpeed2}
label="Speed 2"
></ha-svg-icon>
</ha-control-button>
<ha-control-button>
<ha-svg-icon
.path=${mdiFanSpeed3}
label="Speed 3"
></ha-svg-icon>
</ha-control-button>
</ha-control-button-group>
</div>
`
)}
</ha-card>
<ha-card>
<div class="card-content">
<p class="title"><b>Vertical</b></p>
<div class="vertical-buttons">
${repeat(
buttonGroups,
(group) => html`
<ha-control-button-group
vertical
class=${ifDefined(group.class)}
>
<ha-control-button>
<ha-svg-icon
.path=${mdiFanSpeed1}
label="Speed 1"
></ha-svg-icon>
</ha-control-button>
<ha-control-button>
<ha-svg-icon
.path=${mdiFanSpeed2}
label="Speed 2"
></ha-svg-icon>
</ha-control-button>
<ha-control-button>
<ha-svg-icon
.path=${mdiFanSpeed3}
label="Speed 3"
></ha-svg-icon>
</ha-control-button>
</ha-control-button-group>
`
)}
</div>
</div>
</ha-card>
`;
}
static get styles() {
return css`
ha-card {
max-width: 600px;
margin: 24px auto;
}
pre {
margin-top: 0;
margin-bottom: 8px;
}
p {
margin: 0;
}
label {
font-weight: 600;
}
.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;
height: 100px;
width: 100px;
}
.custom-group {
--control-button-group-thickness: 100px;
--control-button-group-border-radius: 18px;
--control-button-group-spacing: 20px;
}
.custom-group ha-control-button {
--control-button-border-radius: 18px;
--mdc-icon-size: 32px;
}
.vertical-buttons {
height: 300px;
display: flex;
flex-direction: row;
justify-content: space-between;
}
p.title {
margin-bottom: 12px;
}
.vertical-switches > *:not(:last-child) {
margin-right: 4px;
}
`;
}
}
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-control-button": DemoHaBarButton;
}
}

View File

@@ -0,0 +1,3 @@
---
title: Control Slider
---

View File

@@ -2,7 +2,7 @@ import { css, html, LitElement, TemplateResult } 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-bar-slider";
import "../../../../src/components/ha-control-slider";
import "../../../../src/components/ha-card";
const sliders: {
@@ -46,7 +46,7 @@ const sliders: {
},
];
@customElement("demo-components-ha-bar-slider")
@customElement("demo-components-ha-control-slider")
export class DemoHaBarSlider extends LitElement {
@state() private value = 50;
@@ -86,7 +86,7 @@ export class DemoHaBarSlider extends LitElement {
<div class="card-content">
<label id=${id}>${label}</label>
<pre>Config: ${JSON.stringify(config)}</pre>
<ha-bar-slider
<ha-control-slider
.value=${this.value}
.mode=${config.mode}
class=${ifDefined(config.class)}
@@ -94,7 +94,7 @@ export class DemoHaBarSlider extends LitElement {
@slider-moved=${this.handleSliderMoved}
aria-labelledby=${id}
>
</ha-bar-slider>
</ha-control-slider>
</div>
</ha-card>
`;
@@ -106,7 +106,7 @@ export class DemoHaBarSlider extends LitElement {
${repeat(sliders, (slider) => {
const { id, label, ...config } = slider;
return html`
<ha-bar-slider
<ha-control-slider
.value=${this.value}
.mode=${config.mode}
vertical
@@ -115,7 +115,7 @@ export class DemoHaBarSlider extends LitElement {
@slider-moved=${this.handleSliderMoved}
aria-label=${label}
>
</ha-bar-slider>
</ha-control-slider>
`;
})}
</div>
@@ -141,10 +141,11 @@ export class DemoHaBarSlider extends LitElement {
font-weight: 600;
}
.custom {
--slider-bar-color: #ffcf4c;
--slider-bar-background: #ffcf4c64;
--slider-bar-thickness: 100px;
--slider-bar-border-radius: 24px;
--control-slider-color: #ffcf4c;
--control-slider-background: #ffcf4c;
--control-slider-background-opacity: 0.2;
--control-slider-thickness: 100px;
--control-slider-border-radius: 24px;
}
.vertical-sliders {
height: 300px;
@@ -164,6 +165,6 @@ export class DemoHaBarSlider extends LitElement {
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-bar-slider": DemoHaBarSlider;
"demo-components-ha-control-slider": DemoHaBarSlider;
}
}

View File

@@ -0,0 +1,3 @@
---
title: Control Switch
---

View File

@@ -8,7 +8,7 @@ import { css, html, LitElement, TemplateResult } 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-bar-switch";
import "../../../../src/components/ha-control-switch";
import "../../../../src/components/ha-card";
const switches: {
@@ -39,8 +39,8 @@ const switches: {
},
];
@customElement("demo-components-ha-bar-switch")
export class DemoHaBarSwitch extends LitElement {
@customElement("demo-components-ha-control-switch")
export class DemoHaControlSwitch extends LitElement {
@state() private checked = false;
handleValueChanged(e: any) {
@@ -56,7 +56,7 @@ export class DemoHaBarSwitch extends LitElement {
<div class="card-content">
<label id=${id}>${label}</label>
<pre>Config: ${JSON.stringify(config)}</pre>
<ha-bar-switch
<ha-control-switch
.checked=${this.checked}
class=${ifDefined(config.class)}
@change=${this.handleValueChanged}
@@ -66,7 +66,7 @@ export class DemoHaBarSwitch extends LitElement {
disabled=${ifDefined(config.disabled)}
reversed=${ifDefined(config.reversed)}
>
</ha-bar-switch>
</ha-control-switch>
</div>
</ha-card>
`;
@@ -78,7 +78,7 @@ export class DemoHaBarSwitch extends LitElement {
${repeat(switches, (sw) => {
const { id, label, ...config } = sw;
return html`
<ha-bar-switch
<ha-control-switch
.checked=${this.checked}
vertical
class=${ifDefined(config.class)}
@@ -89,7 +89,7 @@ export class DemoHaBarSwitch extends LitElement {
disabled=${ifDefined(config.disabled)}
reversed=${ifDefined(config.reversed)}
>
</ha-bar-switch>
</ha-control-switch>
`;
})}
</div>
@@ -115,11 +115,11 @@ export class DemoHaBarSwitch extends LitElement {
font-weight: 600;
}
.custom {
--switch-bar-color-on: var(--rgb-green-color);
--switch-bar-color-off: var(--rgb-red-color);
--switch-bar-thickness: 100px;
--switch-bar-border-radius: 24px;
--switch-bar-padding: 6px;
--control-switch-on-color: var(--green-color);
--control-switch-off-color: var(--red-color);
--control-switch-thickness: 100px;
--control-switch-border-radius: 24px;
--control-switch-padding: 6px;
--mdc-icon-size: 24px;
}
.vertical-switches {
@@ -140,6 +140,6 @@ export class DemoHaBarSwitch extends LitElement {
declare global {
interface HTMLElementTagNameMap {
"demo-components-ha-bar-switch": DemoHaBarSwitch;
"demo-components-ha-control-switch": DemoHaControlSwitch;
}
}

View File

@@ -99,16 +99,19 @@ const AREAS = [
area_id: "backyard",
name: "Backyard",
picture: null,
aliases: [],
},
{
area_id: "bedroom",
name: "Bedroom",
picture: null,
aliases: [],
},
{
area_id: "livingroom",
name: "Livingroom",
picture: null,
aliases: [],
},
];

View File

@@ -95,16 +95,19 @@ const AREAS = [
area_id: "backyard",
name: "Backyard",
picture: null,
aliases: [],
},
{
area_id: "bedroom",
name: "Bedroom",
picture: null,
aliases: [],
},
{
area_id: "livingroom",
name: "Livingroom",
picture: null,
aliases: [],
},
];

View File

@@ -3,6 +3,7 @@ import { customElement } from "lit/decorators";
import "../../../../src/components/ha-tip";
import "../../../../src/components/ha-card";
import { applyThemesOnElement } from "../../../../src/common/dom/apply_themes_on_element";
import { provideHass } from "../../../../src/fake_data/provide_hass";
const tips: (string | TemplateResult)[] = [
"Test tip",
@@ -18,7 +19,11 @@ export class DemoHaTip extends LitElement {
<div class=${mode}>
<ha-card header="ha-tip ${mode} demo">
<div class="card-content">
${tips.map((tip) => html`<ha-tip>${tip}</ha-tip>`)}
${tips.map(
(tip) => html`<ha-tip .hass=${provideHass(this)}
>${tip}</ha-tip
>`
)}
</div>
</ha-card>
</div>

View File

@@ -0,0 +1,3 @@
---
title: Tile Card
---

View File

@@ -0,0 +1,173 @@
import { html, LitElement, PropertyValues, TemplateResult } from "lit";
import { customElement, query } from "lit/decorators";
import { CoverEntityFeature } from "../../../../src/data/cover";
import { LightColorMode } from "../../../../src/data/light";
import { VacuumEntityFeature } from "../../../../src/data/vacuum";
import { getEntity } from "../../../../src/fake_data/entity";
import { provideHass } from "../../../../src/fake_data/provide_hass";
import "../../components/demo-cards";
const ENTITIES = [
getEntity("switch", "tv_outlet", "on", {
friendly_name: "TV outlet",
device_class: "outlet",
}),
getEntity("light", "bed_light", "on", {
friendly_name: "Bed Light",
supported_color_modes: [LightColorMode.HS],
}),
getEntity("light", "unavailable", "unavailable", {
friendly_name: "Unavailable entity",
}),
getEntity("climate", "thermostat", "heat", {
current_temperature: 73,
min_temp: 45,
max_temp: 95,
temperature: 80,
hvac_modes: ["heat", "cool", "auto", "off"],
friendly_name: "Thermostat",
hvac_action: "heating",
}),
getEntity("person", "paulus", "home", {
friendly_name: "Paulus",
}),
getEntity("vacuum", "first_floor_vacuum", "docked", {
friendly_name: "First floor vacuum",
supported_features:
VacuumEntityFeature.START +
VacuumEntityFeature.STOP +
VacuumEntityFeature.RETURN_HOME,
}),
getEntity("cover", "kitchen_shutter", "open", {
friendly_name: "Kitchen shutter",
device_class: "shutter",
supported_features:
CoverEntityFeature.CLOSE +
CoverEntityFeature.OPEN +
CoverEntityFeature.STOP,
}),
getEntity("cover", "pergola_roof", "open", {
friendly_name: "Pergola Roof",
supported_features:
CoverEntityFeature.CLOSE_TILT +
CoverEntityFeature.OPEN_TILT +
CoverEntityFeature.STOP_TILT,
}),
];
const CONFIGS = [
{
heading: "Basic example",
config: `
- type: tile
entity: switch.tv_outlet
`,
},
{
heading: "Vertical example",
config: `
- type: tile
entity: switch.tv_outlet
vertical: true
`,
},
{
heading: "Custom color",
config: `
- type: tile
entity: switch.tv_outlet
color: pink
`,
},
{
heading: "Unknown entity",
config: `
- type: tile
entity: light.unknown
`,
},
{
heading: "Unavailable entity",
config: `
- type: tile
entity: light.unavailable
`,
},
{
heading: "Climate",
config: `
- type: tile
entity: climate.thermostat
`,
},
{
heading: "Person",
config: `
- type: tile
entity: person.paulus
`,
},
{
heading: "Light brightness feature",
config: `
- type: tile
entity: light.bed_light
features:
- type: "light-brightness"
`,
},
{
heading: "Vacuum commands feature",
config: `
- type: tile
entity: vacuum.first_floor_vacuum
features:
- type: "vacuum-commands"
commands:
- start_pause
- stop
- return_home
`,
},
{
heading: "Cover open close feature",
config: `
- type: tile
entity: cover.kitchen_shutter
features:
- type: "cover-open-close"
`,
},
{
heading: "Cover tilt feature",
config: `
- type: tile
entity: cover.pergola_roof
features:
- type: "cover-tilt"
`,
},
];
@customElement("demo-lovelace-tile-card")
class DemoTile extends LitElement {
@query("#demos") private _demoRoot!: HTMLElement;
protected render(): TemplateResult {
return html`<demo-cards id="demos" .configs=${CONFIGS}></demo-cards>`;
}
protected firstUpdated(changedProperties: PropertyValues) {
super.firstUpdated(changedProperties);
const hass = provideHass(this._demoRoot);
hass.updateTranslations(null, "en");
hass.updateTranslations("lovelace", "en");
hass.addEntities(ENTITIES);
}
}
declare global {
interface HTMLElementTagNameMap {
"demo-lovelace-tile-card": DemoTile;
}
}

View File

@@ -104,15 +104,17 @@ const ENTITIES: HassEntity[] = [
createEntity("alarm_control_panel.disarming", "disarming"),
createEntity("alarm_control_panel.triggered", "triggered"),
// Alert
createEntity("alert.idle", "idle"),
createEntity("alert.off", "off"),
createEntity("alert.on", "on"),
// Automation
createEntity("automation.off", "off"),
createEntity("automation.on", "on"),
// Binary Sensor
...BINARY_SENSOR_DEVICE_CLASSES.map((dc) =>
createEntity(`binary_sensor.${dc}`, "on", dc)
),
...BINARY_SENSOR_DEVICE_CLASSES.map((dc) => [
createEntity(`binary_sensor.${dc}`, "off", dc),
createEntity(`binary_sensor.${dc}`, "on", dc),
]).reduce((arr, item) => [...arr, ...item], []),
// Button
createEntity("button.restart", "unknown", "restart"),
createEntity("button.update", "unknown", "update"),
@@ -130,6 +132,20 @@ const ENTITIES: HassEntity[] = [
createEntity("climate.auto", "auto"),
createEntity("climate.dry", "dry"),
createEntity("climate.fan_only", "fan_only"),
createEntity("climate.auto_idle", "auto", undefined, { hvac_action: "idle" }),
createEntity("climate.auto_off", "auto", undefined, { hvac_action: "off" }),
createEntity("climate.auto_heating", "auto", undefined, {
hvac_action: "heating",
}),
createEntity("climate.auto_cooling", "auto", undefined, {
hvac_action: "cooling",
}),
createEntity("climate.auto_dry", "auto", undefined, {
hvac_action: "drying",
}),
createEntity("climate.auto_fan", "auto", undefined, {
hvac_action: "fan",
}),
// Cover
createEntity("cover.closing", "closing"),
createEntity("cover.closed", "closed"),
@@ -168,8 +184,8 @@ const ENTITIES: HassEntity[] = [
createEntity("light.off", "off"),
createEntity("light.on", "on"),
// Locks
createEntity("lock.unlocked", "unlocked"),
createEntity("lock.locked", "locked"),
createEntity("lock.unlocked", "unlocked"),
createEntity("lock.locking", "locking"),
createEntity("lock.unlocking", "unlocking"),
createEntity("lock.jammed", "jammed"),
@@ -193,21 +209,33 @@ const ENTITIES: HassEntity[] = [
createEntity("media_player.speaker_playing", "playing", "speaker"),
createEntity("media_player.speaker_paused", "paused", "speaker"),
createEntity("media_player.speaker_standby", "standby", "speaker"),
// Plant
createEntity("plant.ok", "ok"),
createEntity("plant.problem", "problem"),
// Remote
createEntity("remote.off", "off"),
createEntity("remote.on", "on"),
// Schedule
createEntity("schedule.off", "off"),
createEntity("schedule.on", "on"),
// Script
createEntity("script.off", "off"),
createEntity("script.on", "on"),
// Sensor
...SENSOR_DEVICE_CLASSES.map((dc) => createEntity(`sensor.${dc}`, "10", dc)),
// Battery sensor
...[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100].map((value) =>
createEntity(`sensor.battery_${value}`, value.toString(), "battery")
...[0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, "unknown", "not_valid"].map(
(value) =>
createEntity(`sensor.battery_${value}`, value.toString(), "battery")
),
// Siren
createEntity("siren.off", "off"),
createEntity("siren.on", "on"),
// Sun
createEntity("sun.below", "below_horizon"),
createEntity("sun.above", "above_horizon"),
createEntity("sun.unknown", "unknown"),
createEntity("sun.unavailable", "unavailable"),
// Switch
createEntity("switch.off", "off"),
createEntity("switch.on", "on"),
@@ -311,7 +339,7 @@ export class DemoEntityState extends LitElement {
`,
},
entity_id: {
title: "Entity id",
title: "Entity ID",
width: "30%",
filterable: true,
sortable: true,

View File

@@ -197,6 +197,7 @@ const createEntityRegistryEntries = (
platform: "updater",
has_entity_name: false,
unique_id: "updater",
options: null,
},
];

View File

@@ -1,6 +1,6 @@
import { mdiArrowUpBoldCircle, mdiPuzzle } from "@mdi/js";
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
import { property } from "lit/decorators";
import { customElement, property } from "lit/decorators";
import memoizeOne from "memoize-one";
import { atLeastVersion } from "../../../src/common/config/version";
import { navigate } from "../../../src/common/navigate";
@@ -14,7 +14,8 @@ import "../components/hassio-card-content";
import { filterAndSort } from "../components/hassio-filter-addons";
import { hassioStyle } from "../resources/hassio-style";
class HassioAddonRepositoryEl extends LitElement {
@customElement("hassio-addon-repository")
export class HassioAddonRepositoryEl extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public supervisor!: Supervisor;
@@ -29,7 +30,9 @@ class HassioAddonRepositoryEl extends LitElement {
if (filter) {
return filterAndSort(addons, filter);
}
return addons.sort((a, b) => caseInsensitiveStringCompare(a.name, b.name));
return addons.sort((a, b) =>
caseInsensitiveStringCompare(a.name, b.name, this.hass.locale.language)
);
});
protected render(): TemplateResult {
@@ -138,5 +141,3 @@ class HassioAddonRepositoryEl extends LitElement {
];
}
}
customElements.define("hassio-addon-repository", HassioAddonRepositoryEl);

View File

@@ -9,7 +9,7 @@ import {
PropertyValues,
TemplateResult,
} from "lit";
import { property, state } from "lit/decorators";
import { customElement, property, state } from "lit/decorators";
import memoizeOne from "memoize-one";
import { atLeastVersion } from "../../../src/common/config/version";
import { fireEvent } from "../../../src/common/dom/fire_event";
@@ -49,7 +49,8 @@ const sortRepos = (a: HassioAddonRepository, b: HassioAddonRepository) => {
return a.name.toUpperCase() < b.name.toUpperCase() ? -1 : 1;
};
class HassioAddonStore extends LitElement {
@customElement("hassio-addon-store")
export class HassioAddonStore extends LitElement {
@property({ attribute: false }) public hass!: HomeAssistant;
@property({ attribute: false }) public supervisor!: Supervisor;
@@ -250,5 +251,3 @@ class HassioAddonStore extends LitElement {
`;
}
}
customElements.define("hassio-addon-store", HassioAddonStore);

View File

@@ -404,6 +404,7 @@ class HassioAddonInfo extends LitElement {
? html`
<img
class="logo"
alt=""
src="/api/hassio/addons/${this.addon.slug}/logo"
/>
`

View File

@@ -15,7 +15,7 @@ class SupervisorFormfieldLabel extends LitElement {
protected render(): TemplateResult {
return html`
${this.imageUrl
? html`<img loading="lazy" .src=${this.imageUrl} class="icon" />`
? html`<img loading="lazy" alt="" src=${this.imageUrl} class="icon" />`
: this.iconPath
? html`<ha-svg-icon .path=${this.iconPath} class="icon"></ha-svg-icon>`
: ""}

View File

@@ -35,7 +35,13 @@ class HassioAddons extends LitElement {
</ha-card>
`
: this.supervisor.addon.addons
.sort((a, b) => caseInsensitiveStringCompare(a.name, b.name))
.sort((a, b) =>
caseInsensitiveStringCompare(
a.name,
b.name,
this.hass.locale.language
)
)
.map(
(addon) => html`
<ha-card

View File

@@ -15,7 +15,12 @@ import { HomeAssistant } from "../../../../src/types";
import { HassioHardwareDialogParams } from "./show-dialog-hassio-hardware";
const _filterDevices = memoizeOne(
(showAdvanced: boolean, hardware: HassioHardwareInfo, filter: string) =>
(
showAdvanced: boolean,
hardware: HassioHardwareInfo,
filter: string,
language: string
) =>
hardware.devices
.filter(
(device) =>
@@ -28,7 +33,7 @@ const _filterDevices = memoizeOne(
.toLocaleLowerCase()
.includes(filter))
)
.sort((a, b) => stringCompare(a.name, b.name))
.sort((a, b) => stringCompare(a.name, b.name, language))
);
@customElement("dialog-hassio-hardware")
@@ -56,7 +61,8 @@ class HassioHardwareDialog extends LitElement {
const devices = _filterDevices(
this.hass.userData?.showAdvanced || false,
this._dialogParams.hardware,
(this._filter || "").toLowerCase()
(this._filter || "").toLowerCase(),
this.hass.locale.language
);
return html`

View File

@@ -17,7 +17,6 @@ import "../../../../src/components/ha-formfield";
import "../../../../src/components/ha-header-bar";
import "../../../../src/components/ha-icon-button";
import "../../../../src/components/ha-radio";
import "../../../../src/components/ha-related-items";
import { extractApiErrorMessage } from "../../../../src/data/hassio/common";
import {
AccessPoints,
@@ -138,7 +137,10 @@ export class DialogHassioNetwork
)}
${this._interface?.type === "wireless"
? html`
<ha-expansion-panel header="Wi-Fi" outlined>
<ha-expansion-panel
.header=${this.supervisor.localize("dialog.network.wifi")}
outlined
>
${this._interface?.wifi?.ssid
? html`<p>
${this.supervisor.localize(
@@ -177,7 +179,11 @@ export class DialogHassioNetwork
>
<span>${ap.ssid}</span>
<span slot="secondary">
${ap.mac} - Strength: ${ap.signal}
${ap.mac} -
${this.supervisor.localize(
"dialog.network.signal_strength"
)}:
${ap.signal}
</span>
</mwc-list-item>
`
@@ -241,7 +247,9 @@ export class DialogHassioNetwork
class="flex-auto"
type="password"
id="psk"
label="Password"
.label=${this.supervisor.localize(
"dialog.network.wifi_password"
)}
version="wifi"
@value-changed=${this
._handleInputValueChangedWifi}

View File

@@ -68,7 +68,9 @@ class HassioRepositoriesDialog extends LitElement {
repo.slug !== "a0d7b954" && // Home Assistant Community Add-ons
repo.slug !== "5c53de3b" // The ESPHome repository
)
.sort((a, b) => caseInsensitiveStringCompare(a.name, b.name))
.sort((a, b) =>
caseInsensitiveStringCompare(a.name, b.name, this.hass.locale.language)
)
);
private _filteredUsedRepositories = memoizeOne(

View File

@@ -59,7 +59,11 @@ class HassioIngressView extends LitElement {
return html` <hass-loading-screen></hass-loading-screen> `;
}
const iframe = html`<iframe src=${this._addon.ingress_url!}></iframe>`;
const iframe = html`<iframe
title=${this._addon.name}
src=${this._addon.ingress_url!}
>
</iframe>`;
if (!this.ingressPanel) {
return html`<hass-subpage

View File

@@ -5,4 +5,5 @@ module.exports = {
'printf "%s\n" "Translation files should not be added or modified here. Instead, make the necessary modifications in src/translations/en.json. Other languages are managed externally. Please see https://developers.home-assistant.io/docs/translations/ for details." ' +
files.join(" ") +
" >&2 && exit 1",
"yarn.lock": () => "yarn dedupe",
};

View File

@@ -24,59 +24,56 @@
"author": "Paulus Schoutsen <Paulus@PaulusSchoutsen.nl> (http://paulusschoutsen.nl)",
"license": "Apache-2.0",
"dependencies": {
"@braintree/sanitize-url": "^6.0.0",
"@codemirror/autocomplete": "^0.19.12",
"@codemirror/commands": "^0.19.8",
"@codemirror/gutter": "^0.19.9",
"@codemirror/highlight": "^0.19.7",
"@codemirror/history": "^0.19.2",
"@codemirror/legacy-modes": "^0.19.0",
"@codemirror/rectangular-selection": "^0.19.1",
"@codemirror/search": "^0.19.6",
"@codemirror/state": "^0.19.6",
"@codemirror/stream-parser": "^0.19.5",
"@codemirror/text": "^0.19.6",
"@codemirror/view": "^0.19.40",
"@formatjs/intl-datetimeformat": "^4.2.5",
"@formatjs/intl-getcanonicallocales": "^1.8.0",
"@formatjs/intl-locale": "^2.4.40",
"@formatjs/intl-numberformat": "^7.2.5",
"@formatjs/intl-pluralrules": "^4.1.5",
"@formatjs/intl-relativetimeformat": "^9.3.2",
"@fullcalendar/common": "5.9.0",
"@fullcalendar/core": "5.9.0",
"@fullcalendar/daygrid": "5.9.0",
"@fullcalendar/interaction": "5.9.0",
"@fullcalendar/list": "5.9.0",
"@fullcalendar/timegrid": "5.9.0",
"@lit-labs/motion": "^1.0.2",
"@lit-labs/virtualizer": "patch:@lit-labs/virtualizer@0.7.0-pre.2#./.yarn/patches/@lit-labs/virtualizer/event-target-shim.patch",
"@material/chips": "14.0.0-canary.261f2db59.0",
"@material/data-table": "14.0.0-canary.261f2db59.0",
"@material/mwc-button": "0.25.3",
"@material/mwc-checkbox": "0.25.3",
"@material/mwc-circular-progress": "0.25.3",
"@material/mwc-dialog": "0.25.3",
"@material/mwc-drawer": "^0.25.3",
"@material/mwc-fab": "0.25.3",
"@material/mwc-formfield": "0.25.3",
"@material/mwc-icon-button": "patch:@material/mwc-icon-button@0.25.3#./.yarn/patches/@material/mwc-icon-button/remove-icon.patch",
"@material/mwc-linear-progress": "0.25.3",
"@material/mwc-list": "^0.25.3",
"@material/mwc-menu": "0.25.3",
"@material/mwc-radio": "0.25.3",
"@material/mwc-ripple": "0.25.3",
"@material/mwc-select": "0.25.3",
"@material/mwc-slider": "0.25.3",
"@material/mwc-switch": "0.25.3",
"@material/mwc-tab": "0.25.3",
"@material/mwc-tab-bar": "0.25.3",
"@material/mwc-textarea": "^0.25.3",
"@material/mwc-textfield": "0.25.3",
"@material/mwc-top-app-bar-fixed": "^0.25.3",
"@material/top-app-bar": "14.0.0-canary.261f2db59.0",
"@mdi/js": "7.0.96",
"@mdi/svg": "7.0.96",
"@braintree/sanitize-url": "^6.0.2",
"@codemirror/autocomplete": "^6.4.2",
"@codemirror/commands": "^6.2.1",
"@codemirror/language": "^6.6.0",
"@codemirror/legacy-modes": "^6.3.1",
"@codemirror/search": "^6.2.3",
"@codemirror/state": "^6.2.0",
"@codemirror/view": "^6.9.1",
"@egjs/hammerjs": "^2.0.17",
"@formatjs/intl-datetimeformat": "^6.5.1",
"@formatjs/intl-getcanonicallocales": "^2.1.0",
"@formatjs/intl-locale": "^3.1.1",
"@formatjs/intl-numberformat": "^8.3.5",
"@formatjs/intl-pluralrules": "^5.1.10",
"@formatjs/intl-relativetimeformat": "^11.1.10",
"@fullcalendar/core": "^6.1.4",
"@fullcalendar/daygrid": "^6.1.4",
"@fullcalendar/interaction": "^6.1.4",
"@fullcalendar/list": "^6.1.4",
"@fullcalendar/timegrid": "^6.1.4",
"@lezer/highlight": "^1.1.3",
"@lit-labs/motion": "^1.0.3",
"@lit-labs/virtualizer": "^1.0.1",
"@material/chips": "=14.0.0-canary.53b3cad2f.0",
"@material/data-table": "=14.0.0-canary.53b3cad2f.0",
"@material/mwc-button": "^0.27.0",
"@material/mwc-checkbox": "^0.27.0",
"@material/mwc-circular-progress": "^0.27.0",
"@material/mwc-dialog": "^0.27.0",
"@material/mwc-drawer": "^0.27.0",
"@material/mwc-fab": "^0.27.0",
"@material/mwc-formfield": "^0.27.0",
"@material/mwc-icon-button": "^0.27.0",
"@material/mwc-linear-progress": "^0.27.0",
"@material/mwc-list": "^0.27.0",
"@material/mwc-menu": "^0.27.0",
"@material/mwc-radio": "^0.27.0",
"@material/mwc-ripple": "^0.27.0",
"@material/mwc-select": "^0.27.0",
"@material/mwc-slider": "^0.27.0",
"@material/mwc-switch": "^0.27.0",
"@material/mwc-tab": "^0.27.0",
"@material/mwc-tab-bar": "^0.27.0",
"@material/mwc-textarea": "^0.27.0",
"@material/mwc-textfield": "^0.27.0",
"@material/mwc-top-app-bar-fixed": "^0.27.0",
"@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0",
"@material/web": "=1.0.0-pre.3",
"@mdi/js": "7.1.96",
"@mdi/svg": "7.1.96",
"@polymer/app-layout": "^3.1.0",
"@polymer/iron-flex-layout": "^3.0.1",
"@polymer/iron-icon": "^3.0.1",
@@ -91,175 +88,173 @@
"@polymer/paper-toast": "^3.0.1",
"@polymer/paper-tooltip": "^3.0.1",
"@polymer/polymer": "3.4.1",
"@thomasloven/round-slider": "0.5.4",
"@vaadin/combo-box": "^23.2.9",
"@vaadin/vaadin-themable-mixin": "^23.2.9",
"@thomasloven/round-slider": "0.6.0",
"@vaadin/combo-box": "^23.3.7",
"@vaadin/vaadin-themable-mixin": "^23.3.7",
"@vibrant/color": "^3.2.1-alpha.1",
"@vibrant/core": "^3.2.1-alpha.1",
"@vibrant/quantizer-mmcq": "^3.2.1-alpha.1",
"@vue/web-component-wrapper": "^1.2.0",
"@webcomponents/scoped-custom-element-registry": "^0.0.5",
"@webcomponents/webcomponentsjs": "^2.2.10",
"@vue/web-component-wrapper": "^1.3.0",
"@webcomponents/scoped-custom-element-registry": "^0.0.8",
"@webcomponents/webcomponentsjs": "^2.7.0",
"app-datepicker": "^5.1.0",
"chart.js": "^3.3.2",
"comlink": "^4.3.1",
"core-js": "^3.15.2",
"cropperjs": "^1.5.12",
"date-fns": "^2.23.0",
"comlink": "^4.4.1",
"compression-webpack-plugin": "^10.0.0",
"core-js": "^3.28.0",
"cropperjs": "^1.5.13",
"date-fns": "^2.29.3",
"date-fns-tz": "^2.0.0",
"deep-clone-simple": "^1.1.1",
"deep-freeze": "^0.0.1",
"fuse.js": "^6.0.0",
"fuse.js": "^6.6.2",
"google-timezones-json": "^1.0.2",
"hammerjs": "^2.0.8",
"hls.js": "^1.2.5",
"hls.js": "^1.3.3",
"home-assistant-js-websocket": "^8.0.1",
"idb-keyval": "^5.1.3",
"intl-messageformat": "^9.9.1",
"idb-keyval": "^6.2.0",
"intl-messageformat": "^10.3.1",
"js-yaml": "^4.1.0",
"leaflet": "^1.7.1",
"leaflet": "^1.9.3",
"leaflet-draw": "^1.0.4",
"lit": "^2.1.2",
"marked": "^4.0.12",
"memoize-one": "^5.2.1",
"lit": "^2.6.1",
"marked": "^4.2.12",
"memoize-one": "^6.0.0",
"node-vibrant": "3.2.1-alpha.1",
"proxy-polyfill": "^0.3.2",
"punycode": "^2.1.1",
"qr-scanner": "^1.3.0",
"qrcode": "^1.4.4",
"regenerator-runtime": "^0.13.8",
"punycode": "^2.3.0",
"qr-scanner": "^1.4.2",
"qrcode": "^1.5.1",
"regenerator-runtime": "^0.13.11",
"resize-observer-polyfill": "^1.5.1",
"roboto-fontface": "^0.10.0",
"rrule": "^2.7.1",
"sortablejs": "^1.14.0",
"superstruct": "^0.15.2",
"tinykeys": "^1.1.3",
"tsparticles": "^1.34.0",
"unfetch": "^4.1.0",
"vis-data": "^7.1.2",
"vis-network": "^8.5.4",
"vue": "^2.6.12",
"vue2-daterange-picker": "^0.5.1",
"weekstart": "^1.1.0",
"workbox-cacheable-response": "^6.4.2",
"workbox-core": "^6.4.2",
"workbox-expiration": "^6.4.2",
"workbox-precaching": "^6.4.2",
"workbox-routing": "^6.4.2",
"workbox-strategies": "^6.4.2",
"xss": "^1.0.9"
"rrule": "^2.7.2",
"sortablejs": "^1.15.0",
"superstruct": "^1.0.3",
"tinykeys": "^1.4.0",
"tsparticles-engine": "^2.9.3",
"tsparticles-preset-links": "^2.9.3",
"unfetch": "^5.0.0",
"vis-data": "^7.1.4",
"vis-network": "^9.1.4",
"vue": "^2.7.14",
"vue2-daterange-picker": "^0.6.8",
"weekstart": "^2.0.0",
"workbox-cacheable-response": "^6.5.4",
"workbox-core": "^6.5.4",
"workbox-expiration": "^6.5.4",
"workbox-precaching": "^6.5.4",
"workbox-routing": "^6.5.4",
"workbox-strategies": "^6.5.4",
"xss": "^1.0.14"
},
"devDependencies": {
"@babel/core": "^7.20.2",
"@babel/core": "^7.21.0",
"@babel/plugin-external-helpers": "^7.18.6",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-decorators": "^7.20.2",
"@babel/plugin-proposal-decorators": "^7.21.0",
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
"@babel/plugin-proposal-object-rest-spread": "^7.20.2",
"@babel/plugin-proposal-optional-chaining": "^7.18.9",
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
"@babel/plugin-syntax-import-meta": "^7.10.4",
"@babel/plugin-syntax-top-level-await": "^7.14.5",
"@babel/preset-env": "^7.20.2",
"@babel/preset-typescript": "^7.18.6",
"@koa/cors": "^3.1.0",
"@octokit/auth-oauth-device": "^4.0.2",
"@octokit/rest": "^19.0.4",
"@open-wc/dev-server-hmr": "^0.0.2",
"@babel/preset-typescript": "^7.21.0",
"@koa/cors": "^4.0.0",
"@octokit/auth-oauth-device": "^4.0.4",
"@octokit/rest": "^19.0.7",
"@open-wc/dev-server-hmr": "^0.1.3",
"@rollup/plugin-babel": "^5.2.1",
"@rollup/plugin-commonjs": "^11.1.0",
"@rollup/plugin-json": "^4.0.3",
"@rollup/plugin-node-resolve": "^7.1.3",
"@rollup/plugin-replace": "^2.3.2",
"@types/chromecast-caf-receiver": "5.0.12",
"@types/chromecast-caf-sender": "^1.0.3",
"@types/glob": "^7",
"@types/hammerjs": "^2.0.41",
"@types/chromecast-caf-sender": "^1.0.5",
"@types/esprima": "^4",
"@types/glob": "^8",
"@types/js-yaml": "^4",
"@types/leaflet": "^1",
"@types/leaflet-draw": "^1",
"@types/marked": "^4",
"@types/mocha": "^8",
"@types/qrcode": "^1.4.2",
"@types/mocha": "^10",
"@types/qrcode": "^1.5.0",
"@types/sortablejs": "^1",
"@types/tar": "^6",
"@types/webspeechapi": "^0.0.29",
"@typescript-eslint/eslint-plugin": "^5.44.0",
"@typescript-eslint/parser": "^5.44.0",
"@web/dev-server": "^0.0.24",
"@typescript-eslint/eslint-plugin": "^5.53.0",
"@typescript-eslint/parser": "^5.53.0",
"@web/dev-server": "^0.1.35",
"@web/dev-server-rollup": "^0.2.11",
"babel-loader": "^9.1.0",
"chai": "^4.3.4",
"del": "^4.0.0",
"eslint": "^7.32.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint-config-airbnb-typescript": "^14.0.0",
"eslint-config-prettier": "^8.3.0",
"eslint-import-resolver-webpack": "^0.13.1",
"eslint-plugin-disable": "^2.0.1",
"eslint-plugin-import": "^2.24.2",
"eslint-plugin-lit": "^1.6.1",
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-unused-imports": "^1.1.5",
"eslint-plugin-wc": "^1.3.2",
"fancy-log": "^1.3.3",
"fs-extra": "^7.0.1",
"glob": "^7.2.0",
"babel-loader": "^9.1.2",
"chai": "^4.3.7",
"del": "^7.0.0",
"eslint": "^8.35.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-airbnb-typescript": "^17.0.0",
"eslint-config-prettier": "^8.6.0",
"eslint-import-resolver-webpack": "^0.13.2",
"eslint-plugin-disable": "^2.0.3",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-lit": "^1.8.2",
"eslint-plugin-lit-a11y": "^2.3.0",
"eslint-plugin-unused-imports": "^2.0.0",
"eslint-plugin-wc": "^1.4.0",
"esprima": "^4.0.1",
"fancy-log": "^2.0.0",
"fs-extra": "^11.1.0",
"glob": "^8.1.0",
"gulp": "^4.0.2",
"gulp-flatmap": "^1.0.2",
"gulp-json-transform": "^0.4.6",
"gulp-merge-json": "^1.3.1",
"gulp-json-transform": "^0.4.8",
"gulp-merge-json": "^2.1.2",
"gulp-rename": "^2.0.0",
"gulp-zopfli-green": "^3.0.1",
"gulp-zopfli-green": "^6.0.1",
"html-minifier": "^4.0.0",
"husky": "^8.0.1",
"instant-mocha": "^1.3.1",
"husky": "^8.0.3",
"instant-mocha": "^1.5.0",
"jszip": "^3.10.1",
"lint-staged": "^13.0.3",
"lint-staged": "^13.1.2",
"lit-analyzer": "^1.2.1",
"lodash.template": "^4.5.0",
"magic-string": "^0.25.7",
"magic-string": "^0.30.0",
"map-stream": "^0.0.7",
"merge-stream": "^1.0.1",
"mocha": "^8.4.0",
"object-hash": "^2.0.3",
"open": "^7.0.4",
"merge-stream": "^2.0.0",
"mocha": "^10.2.0",
"object-hash": "^3.0.0",
"open": "^8.4.1",
"pinst": "^3.0.0",
"prettier": "^2.4.1",
"prettier": "^2.8.4",
"require-dir": "^1.2.0",
"rollup": "^2.8.2",
"rollup-plugin-string": "^3.0.0",
"rollup-plugin-terser": "^5.3.0",
"rollup-plugin-visualizer": "^4.0.4",
"rollup-plugin-visualizer": "^5.9.0",
"serve": "^11.3.2",
"sinon": "^11.0.0",
"source-map-url": "^0.4.0",
"systemjs": "^6.3.2",
"tar": "^6.1.11",
"terser-webpack-plugin": "^5.2.4",
"sinon": "^15.0.1",
"source-map-url": "^0.4.1",
"systemjs": "^6.14.0",
"tar": "^6.1.13",
"terser-webpack-plugin": "^5.3.6",
"ts-lit-plugin": "^1.2.1",
"typescript": "^4.9.3",
"typescript": "^4.9.5",
"vinyl-buffer": "^1.0.1",
"vinyl-source-stream": "^2.0.0",
"webpack": "^5.55.1",
"webpack-cli": "^4.8.0",
"webpack-dev-server": "^4.3.0",
"webpack-manifest-plugin": "^4.0.2",
"webpackbar": "^5.0.0-3",
"workbox-build": "^6.4.2"
"webpack": "=5.72.1",
"webpack-cli": "^5.0.1",
"webpack-dev-server": "^4.11.1",
"webpack-manifest-plugin": "^5.0.0",
"webpackbar": "^5.0.2",
"workbox-build": "^6.5.4"
},
"_comment": "Polymer 3.2 contained a bug, fixed in https://github.com/Polymer/polymer/pull/5569, add as patch",
"resolutions": {
"@polymer/polymer": "patch:@polymer/polymer@3.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch",
"@webcomponents/webcomponentsjs": "^2.2.10",
"lit": "^2.1.2",
"lit-html": "2.1.2",
"lit-element": "3.1.2",
"@lit/reactive-element": "1.2.1"
"@polymer/polymer": "patch:@polymer/polymer@3.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch"
},
"main": "src/home-assistant.js",
"prettier": {
"trailingComma": "es5",
"arrowParens": "always"
},
"packageManager": "yarn@3.2.3"
"packageManager": "yarn@3.3.1"
}

View File

@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "home-assistant-frontend"
version = "20221212.0"
version = "20230224.0"
license = {text = "Apache-2.0"}
description = "The Home Assistant frontend"
readme = "README.md"

View File

@@ -6,6 +6,9 @@ set -e
cd "$(dirname "$0")/.."
STATS=1 NODE_ENV=production ./node_modules/.bin/webpack --profile --json > compilation-stats.json
npx webpack-bundle-analyzer compilation-stats.json hass_frontend/frontend_latest
rm compilation-stats.json
export STATS=1
statsfile="compilation-stats.json"
./node_modules/.bin/webpack-cli --profile --node-env=production --json=$statsfile
npx webpack-bundle-analyzer $statsfile hass_frontend/frontend_latest
rm -f $statsfile

View File

@@ -8,7 +8,7 @@ import {
PropertyValues,
TemplateResult,
} from "lit";
import { property, state } from "lit/decorators";
import { customElement, property, state } from "lit/decorators";
import "../components/ha-alert";
import "../components/ha-checkbox";
import { computeInitialHaFormData } from "../components/ha-form/compute-initial-ha-form-data";
@@ -25,7 +25,8 @@ import "./ha-password-manager-polyfill";
type State = "loading" | "error" | "step";
class HaAuthFlow extends litLocalizeLiteMixin(LitElement) {
@customElement("ha-auth-flow")
export class HaAuthFlow extends litLocalizeLiteMixin(LitElement) {
@property({ attribute: false }) public authProvider?: AuthProvider;
@property() public clientId?: string;
@@ -407,7 +408,6 @@ class HaAuthFlow extends litLocalizeLiteMixin(LitElement) {
`;
}
}
customElements.define("ha-auth-flow", HaAuthFlow);
declare global {
interface HTMLElementTagNameMap {

View File

@@ -1,5 +1,5 @@
import { css, CSSResultGroup, html, LitElement, PropertyValues } from "lit";
import { property, state } from "lit/decorators";
import { customElement, property, state } from "lit/decorators";
import punycode from "punycode";
import { applyThemesOnElement } from "../common/dom/apply_themes_on_element";
import { extractSearchParamsObject } from "../common/url/search-params";
@@ -14,7 +14,8 @@ import "./ha-auth-flow";
import("./ha-pick-auth-provider");
class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
@customElement("ha-authorize")
export class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
@property() public clientId?: string;
@property() public redirectUri?: string;
@@ -183,4 +184,3 @@ class HaAuthorize extends litLocalizeLiteMixin(LitElement) {
`;
}
}
customElements.define("ha-authorize", HaAuthorize);

View File

@@ -1,6 +1,6 @@
/* eslint-disable lit/prefer-static-styles */
import { html, LitElement, TemplateResult } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property } from "lit/decorators";
import { styleMap } from "lit/directives/style-map";
import { fireEvent } from "../common/dom/fire_event";
import type { HaFormSchema } from "../components/ha-form/types";
import { autocompleteLoginFields } from "../data/auth";
@@ -29,35 +29,43 @@ export class HaPasswordManagerPolyfill extends LitElement {
@property({ attribute: false }) public boundingRect?: DOMRect;
private _styleElement?: HTMLStyleElement;
public connectedCallback() {
super.connectedCallback();
this._styleElement = document.createElement("style");
this._styleElement.textContent = css`
.password-manager-polyfill {
position: absolute;
opacity: 0;
z-index: -1;
}
.password-manager-polyfill input {
width: 100%;
height: 62px;
padding: 0;
border: 0;
}
.password-manager-polyfill input[type="submit"] {
width: 0;
height: 0;
}
`.toString();
document.head.append(this._styleElement);
}
public disconnectedCallback() {
super.disconnectedCallback();
this._styleElement?.remove();
delete this._styleElement;
}
protected createRenderRoot() {
// Add under document body so the element isn't placed inside any shadow roots
return document.body;
}
private get styles() {
return `
.password-manager-polyfill {
position: absolute;
top: ${this.boundingRect?.y || 148}px;
left: calc(50% - ${(this.boundingRect?.width || 360) / 2}px);
width: ${this.boundingRect?.width || 360}px;
opacity: 0;
z-index: -1;
}
.password-manager-polyfill input {
width: 100%;
height: 62px;
padding: 0;
border: 0;
}
.password-manager-polyfill input[type="submit"] {
width: 0;
height: 0;
}
`;
}
protected render(): TemplateResult {
protected render() {
if (
this.step &&
this.step.type === "form" &&
@@ -67,6 +75,11 @@ export class HaPasswordManagerPolyfill extends LitElement {
return html`
<form
class="password-manager-polyfill"
style=${styleMap({
top: `${this.boundingRect?.y || 148}px`,
left: `calc(50% - ${(this.boundingRect?.width || 360) / 2}px)`,
width: `${this.boundingRect?.width || 360}px`,
})}
aria-hidden="true"
@submit=${this._handleSubmit}
>
@@ -74,16 +87,13 @@ export class HaPasswordManagerPolyfill extends LitElement {
this.render_input(input)
)}
<input type="submit" />
<style>
${this.styles}
</style>
</form>
`;
}
return html``;
return nothing;
}
private render_input(schema: HaFormSchema): TemplateResult | string {
private render_input(schema: HaFormSchema) {
const inputType = schema.name.includes("password") ? "password" : "text";
if (schema.type !== "string") {
return "";

View File

@@ -1,7 +1,7 @@
import "@polymer/paper-item/paper-item";
import "@polymer/paper-item/paper-item-body";
import { css, html, LitElement } from "lit";
import { property } from "lit/decorators";
import { customElement, property } from "lit/decorators";
import { fireEvent } from "../common/dom/fire_event";
import "../components/ha-icon-next";
import { AuthProvider } from "../data/auth";
@@ -13,7 +13,8 @@ declare global {
}
}
class HaPickAuthProvider extends litLocalizeLiteMixin(LitElement) {
@customElement("ha-pick-auth-provider")
export class HaPickAuthProvider extends litLocalizeLiteMixin(LitElement) {
@property() public authProviders: AuthProvider[] = [];
protected render() {
@@ -47,4 +48,3 @@ class HaPickAuthProvider extends litLocalizeLiteMixin(LitElement) {
}
`;
}
customElements.define("ha-pick-auth-provider", HaPickAuthProvider);

View File

@@ -2,6 +2,7 @@ type NonUndefined<T> = T extends undefined ? never : T;
export function ensureArray(value: undefined): undefined;
export function ensureArray<T>(value: T | T[]): NonUndefined<T>[];
export function ensureArray<T>(value: T | readonly T[]): NonUndefined<T>[];
export function ensureArray(value) {
if (value === undefined || Array.isArray(value)) {
return value;

View File

@@ -1,5 +1,3 @@
import { hex2rgb } from "./convert-color";
export const THEME_COLORS = new Set([
"primary",
"accent",
@@ -21,22 +19,17 @@ export const THEME_COLORS = new Set([
"orange",
"deep-orange",
"brown",
"light-grey",
"grey",
"dark-grey",
"blue-grey",
"black",
"white",
]);
export function computeRgbColor(color: string): string {
export function computeCssColor(color: string): string {
if (THEME_COLORS.has(color)) {
return `var(--rgb-${color}-color)`;
}
if (color.startsWith("#")) {
try {
return hex2rgb(color).join(", ");
} catch (err) {
return "";
}
return `var(--${color}-color)`;
}
return color;
}

View File

@@ -22,3 +22,11 @@ export const atLeastVersion = (
Number(haPatch) >= patch)
);
};
export const isDevVersion = (version: string): boolean => {
if (__DEMO__) {
return false;
}
return version.includes("dev");
};

View File

@@ -21,8 +21,9 @@ import {
mdiCommentAlert,
mdiCounter,
mdiCurrentAc,
mdiDatabase,
mdiEarHearing,
mdiEye,
mdiFan,
mdiFlash,
mdiFlower,
mdiFormatListBulleted,
@@ -57,6 +58,7 @@ import {
mdiThermometerLines,
mdiThermostat,
mdiTimerOutline,
mdiTransmissionTower,
mdiVideo,
mdiWater,
mdiWaterPercent,
@@ -88,7 +90,6 @@ export const FIXED_DOMAIN_ICONS = {
conversation: mdiMicrophoneMessage,
counter: mdiCounter,
demo: mdiHomeAssistant,
fan: mdiFan,
google_assistant: mdiGoogleAssistant,
group: mdiGoogleCirclesCommunities,
homeassistant: mdiHomeAssistant,
@@ -133,6 +134,8 @@ export const FIXED_DEVICE_CLASS_ICONS = {
carbon_dioxide: mdiMoleculeCo2,
carbon_monoxide: mdiMoleculeCo,
current: mdiCurrentAc,
data_rate: mdiTransmissionTower,
data_size: mdiDatabase,
date: mdiCalendar,
distance: mdiArrowLeftRight,
duration: mdiProgressClock,
@@ -158,6 +161,7 @@ export const FIXED_DEVICE_CLASS_ICONS = {
pressure: mdiGauge,
reactive_power: mdiFlash,
signal_strength: mdiWifi,
sound_pressure: mdiEarHearing,
speed: mdiSpeedometer,
sulphur_dioxide: mdiMolecule,
temperature: mdiThermometer,
@@ -195,6 +199,7 @@ export const DOMAINS_WITH_CARD = [
export const SENSOR_ENTITIES = [
"sensor",
"binary_sensor",
"calendar",
"camera",
"device_tracker",
"weather",

View File

@@ -10,11 +10,19 @@ export const createDurationData = (
if (typeof duration !== "object") {
if (typeof duration === "string" || isNaN(duration)) {
const parts = duration?.toString().split(":") || [];
if (parts.length === 1) {
return { seconds: Number(parts[0]) };
}
if (parts.length > 3) {
return undefined;
}
const seconds = Number(parts[2]) || 0;
const seconds_whole = Math.floor(seconds);
return {
hours: Number(parts[0]) || 0,
minutes: Number(parts[1]) || 0,
seconds: Number(parts[2]) || 0,
milliseconds: Number(parts[3]) || 0,
seconds: seconds_whole,
milliseconds: Math.floor((seconds - seconds_whole) * 1000),
};
}
return { seconds: duration };

View File

@@ -1,6 +1,12 @@
import { getWeekStartByLocale } from "weekstart";
import { FrontendLocaleData, FirstWeekday } from "../../data/translation";
import { polyfillsLoaded } from "../translations/localize";
if (__BUILD__ === "latest" && polyfillsLoaded) {
await polyfillsLoaded;
}
export const weekdays = [
"sunday",
"monday",

View File

@@ -18,7 +18,7 @@ export const relativeTime = (
to?: Date,
includeTense = true
): string => {
const diff = selectUnit(from, to);
const diff = selectUnit(from, to, locale);
if (includeTense) {
return formatRelTimeMem(locale).format(diff.value, diff.unit);
}

View File

@@ -39,5 +39,5 @@ export default function scrollToTarget(element, target) {
);
requestAnimationFrame(updateFrame.bind(element));
}
}.call(element));
}).call(element);
}

View File

@@ -11,8 +11,7 @@ export const setupLeafletMap = async (
throw new Error("Cannot setup Leaflet map on disconnected element");
}
// eslint-disable-next-line
const Leaflet = ((await import("leaflet")) as any)
.default as LeafletModuleType;
const Leaflet = (await import("leaflet")).default as LeafletModuleType;
Leaflet.Icon.Default.imagePath = "/static/images/leaflet/images/";
const map = Leaflet.map(mapElement);

View File

@@ -1,21 +0,0 @@
export const alarmControlPanelColor = (state?: string): string | undefined => {
switch (state) {
case "armed_away":
case "armed_vacation":
case "armed_home":
case "armed_night":
case "armed_custom_bypass":
return "alarm-armed";
case "pending":
return "alarm-pending";
case "arming":
case "disarming":
return "alarm-arming";
case "triggered":
return "alarm-triggered";
case "disarmed":
return "alarm-disarmed";
default:
return undefined;
}
};

View File

@@ -1,13 +1,15 @@
export const batteryStateColor = (state: string) => {
export const batteryStateColorProperty = (
state: string
): string | undefined => {
const value = Number(state);
if (isNaN(value)) {
return "sensor-battery-unknown";
return undefined;
}
if (value >= 70) {
return "sensor-battery-high";
return "--state-sensor-battery-high-color";
}
if (value >= 30) {
return "sensor-battery-medium";
return "--state-sensor-battery-medium-color";
}
return "sensor-battery-low";
return "--state-sensor-battery-low-color";
};

View File

@@ -1,21 +0,0 @@
import { HassEntity } from "home-assistant-js-websocket";
const ALERTING_DEVICE_CLASSES = new Set([
"battery",
"carbon_monoxide",
"gas",
"heat",
"moisture",
"problem",
"safety",
"smoke",
"tamper",
]);
export const binarySensorColor = (stateObj: HassEntity): string | undefined => {
const deviceClass = stateObj?.attributes.device_class;
return deviceClass && ALERTING_DEVICE_CLASSES.has(deviceClass)
? "binary-sensor-alerting"
: "binary-sensor";
};

View File

@@ -1,18 +0,0 @@
export const climateColor = (state: string): string | undefined => {
switch (state) {
case "auto":
return "climate-auto";
case "cool":
return "climate-cool";
case "dry":
return "climate-dry";
case "fan_only":
return "climate-fan-only";
case "heat":
return "climate-heat";
case "heat_cool":
return "climate-heat-cool";
default:
return undefined;
}
};

View File

@@ -1,15 +0,0 @@
export const lockColor = (state?: string): string | undefined => {
switch (state) {
case "unlocked":
return "lock-unlocked";
case "locked":
return "lock-locked";
case "jammed":
return "lock-jammed";
case "locking":
case "unlocking":
return "lock-pending";
default:
return undefined;
}
};

View File

@@ -1,10 +0,0 @@
export const personColor = (state: string): string | undefined => {
switch (state) {
case "home":
return "person-home";
case "not_home":
return "person-not-home";
default:
return "person-zone";
}
};

View File

@@ -1,15 +0,0 @@
import { HassEntity } from "home-assistant-js-websocket";
import { batteryStateColor } from "./battery_color";
export const sensorColor = (
stateObj: HassEntity,
state: string
): string | undefined => {
const deviceClass = stateObj?.attributes.device_class;
if (deviceClass === "battery") {
return batteryStateColor(state);
}
return undefined;
};

View File

@@ -0,0 +1,52 @@
import { HassEntity } from "home-assistant-js-websocket";
import { EntityRegistryDisplayEntry } from "../../data/entity_registry";
import { HomeAssistant } from "../../types";
import { LocalizeFunc } from "../translations/localize";
import { computeDomain } from "./compute_domain";
export const computeAttributeValueDisplay = (
localize: LocalizeFunc,
stateObj: HassEntity,
entities: HomeAssistant["entities"],
attribute: string,
value?: any
): string => {
const entityId = stateObj.entity_id;
const attributeValue =
value !== undefined ? value : stateObj.attributes[attribute];
const domain = computeDomain(entityId);
const entity = entities[entityId] as EntityRegistryDisplayEntry | undefined;
const translationKey = entity?.translation_key;
return (
(translationKey &&
localize(
`component.${entity.platform}.entity.${domain}.${translationKey}.state_attributes.${attribute}.state.${attributeValue}`
)) ||
localize(
`component.${domain}.state_attributes._.${attribute}.state.${attributeValue}`
) ||
attributeValue
);
};
export const computeAttributeNameDisplay = (
localize: LocalizeFunc,
stateObj: HassEntity,
entities: HomeAssistant["entities"],
attribute: string
): string => {
const entityId = stateObj.entity_id;
const domain = computeDomain(entityId);
const entity = entities[entityId] as EntityRegistryDisplayEntry | undefined;
const translationKey = entity?.translation_key;
return (
(translationKey &&
localize(
`component.${entity.platform}.entity.${domain}.${translationKey}.state_attributes.${attribute}.name`
)) ||
localize(`component.${domain}.state_attributes._.${attribute}.name`) ||
attribute
);
};

View File

@@ -1,6 +1,6 @@
import { HassEntity } from "home-assistant-js-websocket";
import { UNAVAILABLE, UNKNOWN } from "../../data/entity";
import { EntityRegistryEntry } from "../../data/entity_registry";
import { EntityRegistryDisplayEntry } from "../../data/entity_registry";
import { FrontendLocaleData } from "../../data/translation";
import {
updateIsInstallingFromAttributes,
@@ -49,6 +49,8 @@ export const computeStateDisplayFromEntityAttributes = (
return localize(`state.default.${state}`);
}
const entity = entities[entityId] as EntityRegistryDisplayEntry | undefined;
// Entities with a `unit_of_measurement` or `state_class` are numeric values and should use `formatNumber`
if (isNumericFromAttributes(attributes)) {
// state is duration
@@ -82,7 +84,7 @@ export const computeStateDisplayFromEntityAttributes = (
return `${formatNumber(
state,
locale,
getNumberFormatOptions({ state, attributes } as HassEntity)
getNumberFormatOptions({ state, attributes } as HassEntity, entity)
)}${unit}`;
}
@@ -160,7 +162,7 @@ export const computeStateDisplayFromEntityAttributes = (
return formatNumber(
state,
locale,
getNumberFormatOptions({ state, attributes } as HassEntity)
getNumberFormatOptions({ state, attributes } as HassEntity, entity)
);
}
@@ -199,8 +201,6 @@ export const computeStateDisplayFromEntityAttributes = (
: localize("ui.card.update.up_to_date");
}
const entity = entities[entityId] as EntityRegistryEntry | undefined;
return (
(entity?.translation_key &&
localize(

View File

@@ -3,6 +3,8 @@ import {
mdiAccountArrowRight,
mdiAirHumidifier,
mdiAirHumidifierOff,
mdiAudioVideo,
mdiAudioVideoOff,
mdiBluetooth,
mdiBluetoothConnect,
mdiCalendar,
@@ -13,6 +15,8 @@ import {
mdiCheckCircleOutline,
mdiClock,
mdiCloseCircleOutline,
mdiFan,
mdiFanOff,
mdiGestureTapButton,
mdiLanConnect,
mdiLanDisconnect,
@@ -25,8 +29,6 @@ import {
mdiPackageUp,
mdiPowerPlug,
mdiPowerPlugOff,
mdiAudioVideo,
mdiAudioVideoOff,
mdiRestart,
mdiSpeaker,
mdiSpeakerOff,
@@ -53,6 +55,7 @@ import { DEFAULT_DOMAIN_ICON, FIXED_DOMAIN_ICONS } from "../const";
import { alarmPanelIcon } from "./alarm_panel_icon";
import { binarySensorIcon } from "./binary_sensor_icon";
import { coverIcon } from "./cover_icon";
import { numberIcon } from "./number_icon";
import { sensorIcon } from "./sensor_icon";
export const domainIcon = (
@@ -107,8 +110,11 @@ export const domainIconWithoutDefault = (
}
return compareState === "not_home" ? mdiAccountArrowRight : mdiAccount;
case "fan":
return compareState === "off" ? mdiFanOff : mdiFan;
case "humidifier":
return state && state === "off" ? mdiAirHumidifierOff : mdiAirHumidifier;
return compareState === "off" ? mdiAirHumidifierOff : mdiAirHumidifier;
case "input_boolean":
return compareState === "on"
@@ -180,6 +186,18 @@ export const domainIconWithoutDefault = (
}
}
case "number": {
const icon = numberIcon(stateObj);
if (icon) {
return icon;
}
break;
}
case "person":
return compareState === "not_home" ? mdiAccountArrowRight : mdiAccount;
case "switch":
switch (stateObj?.attributes.device_class) {
case "outlet":

View File

@@ -2,7 +2,7 @@ import { HassEntity } from "home-assistant-js-websocket";
import { computeStateDomain } from "./compute_state_domain";
import { UNAVAILABLE_STATES } from "../../data/entity";
const FIXED_DOMAIN_STATES = {
export const FIXED_DOMAIN_STATES = {
alarm_control_panel: [
"armed_away",
"armed_custom_bypass",
@@ -57,7 +57,7 @@ const FIXED_DOMAIN_STATES = {
"windy-variant",
"windy",
],
};
} as const;
const FIXED_DOMAIN_ATTRIBUTE_STATES = {
alarm_control_panel: {

View File

@@ -0,0 +1,13 @@
/** Return an icon representing a number state. */
import { HassEntity } from "home-assistant-js-websocket";
import { FIXED_DEVICE_CLASS_ICONS } from "../const";
export const numberIcon = (stateObj?: HassEntity): string | undefined => {
const dclass = stateObj?.attributes.device_class;
if (dclass && dclass in FIXED_DEVICE_CLASS_ICONS) {
return FIXED_DEVICE_CLASS_ICONS[dclass];
}
return undefined;
};

View File

@@ -1,5 +1,5 @@
import { HassEntity } from "home-assistant-js-websocket";
import { OFF_STATES, UNAVAILABLE } from "../../data/entity";
import { isUnavailableState, OFF, UNAVAILABLE } from "../../data/entity";
import { computeDomain } from "./compute_domain";
export function stateActive(stateObj: HassEntity, state?: string): boolean {
@@ -10,7 +10,15 @@ export function stateActive(stateObj: HassEntity, state?: string): boolean {
return compareState !== UNAVAILABLE;
}
if (OFF_STATES.includes(compareState)) {
if (isUnavailableState(compareState)) {
return false;
}
// The "off" check is relevant for most domains, but there are exceptions
// such as "alert" where "off" is still a somewhat active state and
// therefore gets a custom color and "idle" is instead the state that
// matches what most other domains consider inactive.
if (compareState === OFF && domain !== "alert") {
return false;
}
@@ -18,8 +26,11 @@ export function stateActive(stateObj: HassEntity, state?: string): boolean {
switch (domain) {
case "alarm_control_panel":
return compareState !== "disarmed";
case "alert":
// "on" and "off" are active, as "off" just means alert was acknowledged but is still active
return compareState !== "idle";
case "cover":
return !["closed", "closing"].includes(compareState);
return compareState !== "closed";
case "device_tracker":
case "person":
return compareState !== "not_home";
@@ -37,7 +48,7 @@ export function stateActive(stateObj: HassEntity, state?: string): boolean {
return compareState === "active";
case "camera":
return compareState === "streaming";
default:
return true;
}
return true;
}

View File

@@ -1,93 +1,102 @@
/** Return an color representing a state. */
import { HassEntity } from "home-assistant-js-websocket";
import { UNAVAILABLE } from "../../data/entity";
import { UpdateEntity, updateIsInstalling } from "../../data/update";
import { alarmControlPanelColor } from "./color/alarm_control_panel_color";
import { binarySensorColor } from "./color/binary_sensor_color";
import { climateColor } from "./color/climate_color";
import { lockColor } from "./color/lock_color";
import { personColor } from "./color/person_color";
import { sensorColor } from "./color/sensor_color";
import { computeCssVariable } from "../../resources/css-variables";
import { slugify } from "../string/slugify";
import { batteryStateColorProperty } from "./color/battery_color";
import { computeDomain } from "./compute_domain";
import { stateActive } from "./state_active";
const STATIC_ACTIVE_COLORED_DOMAIN = new Set([
const STATE_COLORED_DOMAIN = new Set([
"alarm_control_panel",
"alert",
"automation",
"binary_sensor",
"calendar",
"camera",
"climate",
"cover",
"device_tracker",
"fan",
"group",
"humidifier",
"input_boolean",
"light",
"lock",
"media_player",
"person",
"plant",
"remote",
"schedule",
"script",
"siren",
"sun",
"switch",
"timer",
"update",
"vacuum",
]);
export const stateColorCss = (stateObj: HassEntity, state?: string) => {
const compareState = state !== undefined ? state : stateObj?.state;
if (compareState === UNAVAILABLE) {
return `var(--rgb-state-unavailable-color)`;
return `var(--state-unavailable-color)`;
}
const domainColor = stateColor(stateObj, state);
if (domainColor) {
return `var(--rgb-state-${domainColor}-color)`;
}
if (!stateActive(stateObj, state)) {
return `var(--rgb-state-inactive-color)`;
const properties = stateColorProperties(stateObj, state);
if (properties) {
return computeCssVariable(properties);
}
return undefined;
};
export const stateColor = (stateObj: HassEntity, state?: string) => {
export const domainStateColorProperties = (
stateObj: HassEntity,
state?: string
): string[] => {
const compareState = state !== undefined ? state : stateObj.state;
const domain = computeDomain(stateObj.entity_id);
const active = stateActive(stateObj, state);
const properties: string[] = [];
const stateKey = slugify(compareState, "_");
const activeKey = active ? "active" : "inactive";
const dc = stateObj.attributes.device_class;
if (dc) {
properties.push(`--state-${domain}-${dc}-${stateKey}-color`);
}
properties.push(
`--state-${domain}-${stateKey}-color`,
`--state-${domain}-${activeKey}-color`,
`--state-${activeKey}-color`
);
return properties;
};
export const stateColorProperties = (
stateObj: HassEntity,
state?: string
): string[] | undefined => {
const compareState = state !== undefined ? state : stateObj?.state;
const domain = computeDomain(stateObj.entity_id);
const dc = stateObj.attributes.device_class;
if (
STATIC_ACTIVE_COLORED_DOMAIN.has(domain) &&
stateActive(stateObj, state)
) {
return domain.replace("_", "-");
// Special rules for battery coloring
if (domain === "sensor" && dc === "battery") {
const property = batteryStateColorProperty(compareState);
if (property) {
return [property];
}
}
switch (domain) {
case "alarm_control_panel":
return alarmControlPanelColor(compareState);
case "binary_sensor":
return binarySensorColor(stateObj);
case "climate":
return climateColor(compareState);
case "lock":
return lockColor(compareState);
case "person":
case "device_tracker":
return personColor(compareState);
case "sensor":
return sensorColor(stateObj, compareState);
case "sun":
return compareState === "above_horizon" ? "sun-day" : "sun-night";
case "update":
return updateIsInstalling(stateObj as UpdateEntity)
? "update-installing"
: "update";
if (STATE_COLORED_DOMAIN.has(domain)) {
return domainStateColorProperties(stateObj, state);
}
return undefined;

View File

@@ -4,12 +4,15 @@ import { domainToName } from "../../data/integration";
import { getIntegrationDescriptions } from "../../data/integrations";
import { showConfigFlowDialog } from "../../dialogs/config-flow/show-dialog-config-flow";
import { showConfirmationDialog } from "../../dialogs/generic/show-dialog-box";
import { showMatterAddDeviceDialog } from "../../panels/config/integrations/integration-panels/matter/show-dialog-add-matter-device";
import { showZWaveJSAddNodeDialog } from "../../panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-add-node";
import type { HomeAssistant } from "../../types";
import { documentationUrl } from "../../util/documentation-url";
import { isComponentLoaded } from "../config/is_component_loaded";
import { navigate } from "../navigate";
export const PROTOCOL_INTEGRATIONS = ["zha", "zwave_js", "matter"] as const;
export const protocolIntegrationPicked = async (
element: HTMLElement,
hass: HomeAssistant,
@@ -86,7 +89,7 @@ export const protocolIntegrationPicked = async (
"ui.panel.config.integrations.config_flow.missing_zwave_zigbee",
{
integration: "Zigbee",
brand: options?.brand || options?.domain || "Z-Wave",
brand: options?.brand || options?.domain || "Zigbee",
supported_hardware_link: html`<a
href=${documentationUrl(
hass,
@@ -113,5 +116,43 @@ export const protocolIntegrationPicked = async (
}
navigate("/config/zha/add");
} else if (domain === "matter") {
const entries = await getConfigEntries(hass, {
domain,
});
if (!isComponentLoaded(hass, domain) || !entries.length) {
// If the component isn't loaded, ask them to load the integration first
showConfirmationDialog(element, {
title: hass.localize(
"ui.panel.config.integrations.config_flow.missing_zwave_zigbee_title",
{ integration: "Matter" }
),
text: hass.localize(
"ui.panel.config.integrations.config_flow.missing_matter",
{
integration: "Matter",
brand: options?.brand || options?.domain || "Matter",
supported_hardware_link: html`<a
href=${documentationUrl(hass, "/integrations/matter")}
target="_blank"
rel="noreferrer"
>${hass.localize(
"ui.panel.config.integrations.config_flow.supported_hardware"
)}</a
>`,
}
),
confirmText: hass.localize(
"ui.panel.config.integrations.config_flow.proceed"
),
confirm: () => {
showConfigFlowDialog(element, {
startFlowHandler: "matter",
});
},
});
return;
}
showMatterAddDeviceDialog(element);
}
};

View File

@@ -2,6 +2,7 @@ import {
HassEntity,
HassEntityAttributeBase,
} from "home-assistant-js-websocket";
import { EntityRegistryDisplayEntry } from "../../data/entity_registry";
import { FrontendLocaleData, NumberFormat } from "../../data/translation";
import { round } from "./round";
@@ -90,8 +91,16 @@ export const formatNumber = (
* @returns An `Intl.NumberFormatOptions` object with `maximumFractionDigits` set to 0, or `undefined`
*/
export const getNumberFormatOptions = (
entityState: HassEntity
entityState: HassEntity,
entity?: EntityRegistryDisplayEntry
): Intl.NumberFormatOptions | undefined => {
const precision = entity?.display_precision;
if (precision != null) {
return {
maximumFractionDigits: precision,
minimumFractionDigits: precision,
};
}
if (
Number.isInteger(Number(entityState.attributes?.step)) &&
Number.isInteger(Number(entityState.state))

View File

@@ -1,4 +1,15 @@
export const stringCompare = (a: string, b: string) => {
import memoizeOne from "memoize-one";
const collator = memoizeOne(
(language: string | undefined) => new Intl.Collator(language)
);
const caseInsensitiveCollator = memoizeOne(
(language: string | undefined) =>
new Intl.Collator(language, { sensitivity: "accent" })
);
const fallbackStringCompare = (a: string, b: string) => {
if (a < b) {
return -1;
}
@@ -9,5 +20,28 @@ export const stringCompare = (a: string, b: string) => {
return 0;
};
export const caseInsensitiveStringCompare = (a: string, b: string) =>
stringCompare(a.toLowerCase(), b.toLowerCase());
export const stringCompare = (
a: string,
b: string,
language: string | undefined = undefined
) => {
// @ts-ignore
if (Intl?.Collator) {
return collator(language).compare(a, b);
}
return fallbackStringCompare(a, b);
};
export const caseInsensitiveStringCompare = (
a: string,
b: string,
language: string | undefined = undefined
) => {
// @ts-ignore
if (Intl?.Collator) {
return caseInsensitiveCollator(language).compare(a, b);
}
return fallbackStringCompare(a.toLowerCase(), b.toLowerCase());
};

View File

@@ -1,4 +1,4 @@
const isTemplateRegex = new RegExp("{%|{{");
const isTemplateRegex = /{%|{{/;
export const isTemplate = (value: string): boolean =>
isTemplateRegex.test(value);

View File

@@ -1,6 +1,5 @@
import { refine, string } from "superstruct";
export const isCustomType = (value: string) => value.startsWith("custom:");
import { isCustomType } from "../../data/lovelace_custom_cards";
export const customType = () =>
refine(string(), "custom element type", isCustomType);

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