Compare commits

..

1491 Commits

Author SHA1 Message Date
Bram Kragten
d0c7f65256 20230501.0 (#16364) 2023-05-01 19:55:38 +02:00
Bram Kragten
f99f554f19 Bumped version to 20230501.0 2023-05-01 19:54:40 +02:00
Bram Kragten
e069b5eed1 Update en.json 2023-05-01 17:15:26 +02:00
Allen Porter
3a481ebb1a Fix edits for single instance of all day recurring event (#16354) 2023-05-01 14:48:57 +02:00
Steve Repsher
a209fadf18 List Core JS polyfills for browserslist environments (#16356) 2023-05-01 14:47:57 +02:00
Bram Kragten
9f1bd1e085 Fix unused entities (#16359) 2023-05-01 14:46:54 +02:00
Bram Kragten
edc6da04f7 Make sure stt_binary_handler_id is reset (#16360) 2023-05-01 14:46:44 +02:00
Bram Kragten
2fb1dd0ec1 Add icon at unsupported message in voice settings (#16358) 2023-05-01 14:28:26 +02:00
Paul Bottein
3f2aac0842 Fix cloud subscription message in pipeline creation (#16348) 2023-04-28 17:03:34 -04:00
Paul Bottein
71dd822978 20230428.0 (#16347) 2023-04-28 17:40:58 +02:00
Paul Bottein
d1877595a5 Bumped version to 20230428.0 2023-04-28 17:19:43 +02:00
Paul Bottein
6379713f57 Fix drag and drop with sortablejs (#16343) 2023-04-28 14:40:01 +02:00
Paul Bottein
3b33195ff6 Add camera view support to image element (#16346) 2023-04-28 14:17:33 +02:00
c0ffeeca7
c7f1f1bcd1 Fix typo (#16341)
* Fix typo

* Fix typo
2023-04-28 08:01:24 +00:00
Paul Bottein
c50aad8403 20230427.0 (#16338) 2023-04-27 17:31:29 +02:00
Paul Bottein
fac4795f14 Bumped version to 20230427.0 2023-04-27 17:16:04 +02:00
Bram Kragten
062e402ef1 Show if entity is supported in expose list (#16335)
* Show if entity is supported in expose list

* Add translations and refactor code

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-04-27 17:12:12 +02:00
Bram Kragten
29be64a858 Add not supported warning in entity voice settings (#16336)
* Add not supported warning in entity voice settings

* Add alexa support and improve style

* Only toggle supported

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-04-27 17:11:49 +02:00
Paul Bottein
b3b74b8328 Move debug and preferred button to top (#16337) 2023-04-27 15:02:57 +02:00
Paul Bottein
37ba34cb0d Virtualize the add exposed entity list (#16333) 2023-04-27 13:22:37 +02:00
dependabot[bot]
8ecdde3507 Bump yaml from 2.2.1 to 2.2.2 (#16310) 2023-04-27 10:12:03 +02:00
Paul Bottein
04d34aa80c Improve search and filtering in expose entity page (#16330) 2023-04-27 09:50:19 +02:00
J. Nick Koston
26bb1ba146 Revert "Avoid fetching unused stats state column for more info" (#16328)
Revert "Avoid fetching unused stats state column for more info (#16141)"

This reverts commit 49a14a7265.
2023-04-27 09:31:06 +02:00
Bram Kragten
b7667d2cbf 20230426.0 (#16327) 2023-04-26 18:31:51 +02:00
Bram Kragten
0c36600a81 Merge branch 'master' into dev 2023-04-26 18:17:33 +02:00
Bram Kragten
feaf61a0ae Bumped version to 20230426.0 2023-04-26 18:15:53 +02:00
Bram Kragten
3e2844a65a Only show assistants that are active (#16325)
* Only show assistants that are active

* also use in texts

* Add entity id

* Update ha-config-voice-assistants-expose.ts

* remove voiceAssistantKeys

* Update entity-voice-settings.ts

* update styling

* search case
2023-04-26 18:15:10 +02:00
Paul Bottein
3a2d7baa25 Fix empty translation (#16326) 2023-04-26 18:14:57 +02:00
Paul Bottein
349cca5ff2 Update icons to expose/unexpose entity (#16323) 2023-04-26 17:08:15 +02:00
Paul Bottein
5cd3ce66f6 Keep area field next to use device area field (#16324) 2023-04-26 14:54:59 +00:00
Bram Kragten
8cf8c41698 Show number of exposed entities (#16321) 2023-04-26 14:23:23 +00:00
Bram Kragten
ff4c01e15c Replace paper-item in integration card (#16317) 2023-04-26 16:11:54 +02:00
Paul Bottein
addb66f21d Inform user that subscription is needed for cloud services (#16318) 2023-04-26 13:42:44 +00:00
Bram Kragten
a5759e36b2 Fix helper entity settings (removing) (#16320) 2023-04-26 15:29:59 +02:00
Bram Kragten
9852186ff7 Update my link for voice assistants (#16319
Making it consistant with others and match

https://github.com/home-assistant/my.home-assistant.io/pull/353
2023-04-26 14:51:31 +02:00
Bram Kragten
19c9486351 Update entity settings, combine basic editor with normal editor (#16297) 2023-04-26 12:23:53 +02:00
Bram Kragten
8c06712ab7 Allow to select a pipeline in voice command dialog (#16291) 2023-04-26 12:10:17 +02:00
Bram Kragten
63de324224 Fix my link add integration: search for discovered items (#16315)
* fix my link add integration

* add confirm back

* Update dialog-add-integration.ts
2023-04-26 12:02:50 +02:00
Bram Kragten
10d476195d Ask to use cloud pipeline as preferred (#16286)
* Ask to use cloud pipeline as preferred

* Update
2023-04-26 00:36:51 -04:00
Johan Frick
e0c4b85ef1 Fix options typo for ha-form in gallery (#16305) 2023-04-25 19:59:58 +00:00
Bram Kragten
3441a86613 Update general step description of pipeline dialog (#16307)
update general step description of pipeline dialog
2023-04-25 21:44:51 +02:00
Paul Bottein
643b168c69 Add icon and state formatting for tts and stt domain (#16304) 2023-04-25 21:40:22 +02:00
Paul Bottein
db0e5a8a41 Add translations to pipeline UI (#16303) 2023-04-25 20:01:48 +02:00
Ben Randall
64a693332b Fix height of main automation trace element (#16283)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-04-25 13:46:15 +00:00
Bram Kragten
327927baa7 Update expose mobile view (#16302) 2023-04-25 13:33:21 +00:00
karwosts
ce8fc17ef8 Markdown feature parity for blueprint scripts vs automations (#16250) 2023-04-25 15:31:52 +02:00
Paul Bottein
62ed1d54b0 Voice assistant cloud upsell (#16299) 2023-04-25 12:41:53 +02:00
Bram Kragten
2498f1db41 Fix tts in voice command for iOS (#16300) 2023-04-25 10:02:31 +00:00
Bram Kragten
8a50bb058d Fix audio playing on iOS (#16298) 2023-04-25 09:38:14 +00:00
Bram Kragten
e793675c47 Fix dialog text colors theme (#16296)
* Fix dialog text colors theme

* fix drawer border
2023-04-25 00:23:08 +02:00
Paul Bottein
07cef18918 Try TTS in pipeline form (#16292) 2023-04-24 19:39:16 +02:00
Bram Kragten
a0263f25c4 Improve tts playback in voice command dialog (#16288) 2023-04-24 18:45:00 +02:00
Paul Bottein
52546ab567 Fix media browser bar position (#16293)
Fixes media browser bar position
2023-04-24 18:09:21 +02:00
Bram Kragten
c0ec7e4f09 Remove wrong language from stt event (#16285) 2023-04-24 18:08:36 +02:00
renovate[bot]
8b61390e19 Update vaadinWebComponents monorepo to v23.3.11 (#16289) 2023-04-24 11:55:11 +00:00
Steve Repsher
9ba114777e Add browserslist config and use for Babel preset environment (#16267) 2023-04-24 11:28:27 +02:00
Steve Repsher
4e1e76ccc2 Add module preload to demo page (#16274) 2023-04-24 11:27:40 +02:00
dependabot[bot]
609300f40b Bump home-assistant/wheels from 2022.10.1 to 2023.04.0 (#16284)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-24 11:10:41 +02:00
renovate[bot]
eac9ac4757 Update dependency google-timezones-json to v1.1.0 (#16282) 2023-04-23 19:37:23 -04:00
Bram Kragten
708d1b81da Mark lang and country required in onboarding (#16277) 2023-04-23 19:33:44 -04:00
Bram Kragten
35baf4c779 Fix audio recorder (#16280)
FIx audio recorder
2023-04-23 13:48:46 -04:00
renovate[bot]
8d1ae71741 Update dependency sinon to v15.0.4 (#16278)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-23 13:20:24 -04:00
Bram Kragten
9b32c9c6b4 Voice picker: Guard for select undefined, update debug pipelines (#16279)
* Voice picker: Guard for select undefined

* Update types, make debug a little nicer

* Add type to stt-start event

* Add language to STT data in render pipeline

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-04-23 17:04:43 +00:00
renovate[bot]
439f34f724 Update dependency @codemirror/commands to v6.2.3 (#16276) 2023-04-22 16:50:59 +00:00
Bram Kragten
cef3b99e16 fix add assist dialog (#16275) 2023-04-22 12:43:04 -04:00
renovate[bot]
9dbdf611c5 Update formatjs monorepo (#16273) 2023-04-22 12:31:03 -04:00
Bram Kragten
86f8d2d737 remove underline, format language 2023-04-22 15:42:46 +02:00
Bram Kragten
1ded47d368 Use assist_pipeline in voice command dialog (#16257)
* Remove speech recognition, add basic pipeline support

* Add basic voice support

* cleanup

* only use tts if pipeline supports it

* Update ha-voice-command-dialog.ts

* Fix types

* handle stop during stt

* Revert "Fix types"

This reverts commit 741781e392.

* active read only

* Update ha-voice-command-dialog.ts

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-04-21 21:50:30 -04:00
Bram Kragten
85a27e8bb1 Update add assistant dialog (#16266)
* Update add assistant dialog

* fix default agent to ha when no supported

* Update ha-tts-voice-picker.ts

* Update assist-pipeline-detail-conversation.ts

* Update ha-dialog.ts

* dont override config

* Update ha-language-picker.ts
2023-04-21 20:41:30 -04:00
renovate[bot]
878f3b8df4 Update typescript-eslint monorepo to v5.59.0 (#16271)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-21 23:26:24 +00:00
renovate[bot]
50c25a8276 Update dependency glob to v10.2.1 (#16268)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-21 19:07:25 -04:00
renovate[bot]
c0de3b8269 Update formatjs monorepo (#16254)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-21 13:15:18 -04:00
Bram Kragten
09f4e19d4c Pipelines: Add voice selector, implement supported languages (#16261) 2023-04-20 22:53:05 +02:00
Bram Kragten
6e91ac2a34 fix css selector 2023-04-20 18:53:28 +02:00
Paul Bottein
49b0c7c3d1 Move error outside ha form for assist pipeline form (#16258) 2023-04-20 18:49:27 +02:00
Paul Bottein
be1867900e Use supported_languages for stt, tts and conversation (#16256)
* Use supported_languages for stt, tts and conversation

* Fix disabled condition
2023-04-20 18:01:42 +02:00
Yosi Levy
a43f49f4af Fix some RTL aligments (#16252) 2023-04-20 17:05:24 +02:00
Paul Bottein
ea0f29782d Assist pipeline language voice (#16255)
* Update types

* Split form into multiple components

* Improve design

* Send all data

* Update wording
2023-04-20 11:02:48 -04:00
Paul Bottein
65161ce581 Language selector (#16253)
* Add language selector

* Use intl display names

* Use language picker in general settings and profile

* Add nativeName option

* Add format language util

* Add display-name polyfill

* Add native name to selector

* Rename variable
2023-04-20 10:12:49 -04:00
Bram Kragten
088cc69083 Add pipeline picker/selector (#16224)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-04-20 09:41:47 +00:00
Bram Kragten
be005b4c88 Add language to conversation agent picker (#16244) 2023-04-20 11:26:42 +02:00
Steve Repsher
aac28efd32 Streamline HTML generation and consolidate templates (#16117) 2023-04-20 11:10:12 +02:00
Bram Kragten
0d020e0300 Fix stt/tts pickers (#16241) 2023-04-20 11:03:47 +02:00
Steve Repsher
eeb84f65b9 Remove unnecessary Babel plugins from dependencies (#16251) 2023-04-20 11:00:04 +02:00
Steve Repsher
22f5d6cacb Migrate Babel loose options to assumptions (#16245) 2023-04-20 10:59:08 +02:00
renovate[bot]
52a7b41096 Lock file maintenance (#16248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-20 03:18:13 +00:00
renovate[bot]
f9f87d1147 Lock file maintenance (#16246) 2023-04-19 19:00:16 -04:00
Paul Bottein
0b3dff00df Revert "Add language selector" (#16247)
Revert "Add language selector (#16242)"

This reverts commit d89ac0f30d.
2023-04-19 23:58:58 +02:00
renovate[bot]
d48a4ab00a Lock file maintenance (#16231)
* Lock file maintenance

* bump @codemirror/view and eslint-plugin-lit to remove duplicates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-04-19 21:08:48 +00:00
Paul Bottein
d89ac0f30d Add language selector (#16242) 2023-04-19 21:21:27 +02:00
Paul Bottein
3cb3f8d352 Add aliases description in voice dialog (#16233)
* Add aliases description in voice dialog

* Update style

* Remove duplicate margin
2023-04-19 13:52:55 +00:00
Bram Kragten
f507a7b8b3 Use yaml to show raw pipeline debug data (#16234) 2023-04-19 15:27:01 +02:00
Paul Bottein
910244f751 Fix sidebar tooltip (#16238) 2023-04-19 14:23:04 +02:00
Bram Kragten
0ce3757b80 Remove default options from tts/stt/conversation agent (#16236) 2023-04-19 14:05:25 +02:00
Paul Bottein
c470ced308 Use right naming convention for ui_action and ui_color selector (#16235) 2023-04-19 12:13:19 +02:00
Bram Kragten
d8cb5a6a42 Prevent delete pipeline if preferred (#16237) 2023-04-19 12:12:47 +02:00
karwosts
afa071465c ha-selector-select fires spurious valueChanged on initialization (#16216) 2023-04-19 08:58:18 +02:00
renovate[bot]
4ff450c5c3 Update dependency webpack-dev-server to v4.13.3 (#16228) 2023-04-18 20:22:42 -04:00
Bram Kragten
790faa9c31 Display historic pipeline events in assist-render-pipeline-run (#16225)
* Display historic pipeline events in `assist-render-pipeline-run`

* Add debug pipeline page

* Update assist-pipeline-run-debug.ts

* dont show alert

* Update assist-pipeline-debug.ts

* simplify

* link to run debug pipeline
2023-04-18 10:45:33 -04:00
Stefan Agner
52f609f742 Write data disk with space everywhere (#16223) 2023-04-18 10:45:23 +02:00
renovate[bot]
51157caf22 Update dependency glob to v10.1.0 (#16221)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 22:35:22 -04:00
Bram Kragten
8edb48eedc Fetch latest pipeline run (#16220)
* Fetch latest pipeline run

very basic debug, showing raw event data

* Update dialog-voice-assistant-pipeline-detail.ts

* last one, not first
2023-04-17 19:13:05 -04:00
Bram Kragten
e32771fb14 Add tts selector (#16213
* Add tts selector

* Update selector.ts

* Update ha-selector-tts.ts

* Add default

* Update ha-tts-picker.ts

* Update ha-tts-picker.ts

* Not required
2023-04-17 22:52:35 +02:00
Bram Kragten
b2f66aa51c Add stt selector (#16215
* Add stt selector

* Update ha-stt-picker.ts

* Add default

* Update ha-stt-picker.ts

* Update ha-stt-picker.ts
2023-04-17 22:09:46 +02:00
Bram Kragten
bf70427760 Add conversation agent selector (#16212
* Add conversation agent selector

* Add default option

* Update ha-conversation-agent-picker.ts

* Update ha-conversation-agent-picker.ts
2023-04-17 20:54:30 +02:00
Stefan Agner
ac1e6b87ae Change dhcp to auto in network config (#16185) 2023-04-17 18:04:09 +02:00
Bram Kragten
7fa4a75009 Pipeline debug, set pipeline instead of lang (#16217) 2023-04-17 11:35:51 -04:00
Bram Kragten
0f622589a3 Allow to set a default pipeline (#16209) 2023-04-17 10:51:17 -04:00
karwosts
dae107d3e3 Fix ha-selector-select filter for multiple values case (#16093) 2023-04-17 11:16:16 +02:00
dependabot[bot]
09ff5cdb58 Bump actions/checkout from 3.5.0 to 3.5.2 (#16208)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 09:23:16 +02:00
renovate[bot]
1d42821ff5 Update dependency core-js to v3.30.1 (#16206) 2023-04-17 01:13:53 +00:00
renovate[bot]
6d0a468e09 Update dependency @codemirror/autocomplete to v6.5.1 (#16200) 2023-04-16 20:54:52 -04:00
renovate[bot]
6df02130d9 Update dependency @rollup/plugin-commonjs to v24.1.0 (#16189) 2023-04-15 16:31:40 -04:00
renovate[bot]
f9c790e0bb Update dependency html-minifier-terser to v7.2.0 (#16181)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 18:13:39 -04:00
renovate[bot]
9d46f0cecd Update dependency @codemirror/view to v6.9.4 (#16183)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-14 17:58:37 -04:00
Bram Kragten
e4302a0bb5 Fix onboarding add integration (#16163) 2023-04-14 14:38:34 -04:00
Eric Severance
b1f9469002 Add webhook trigger allowed_methods/local_only options (#11680)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-04-14 16:33:21 +02:00
Joakim Sørensen
0478aed28c Remove ha-call-api-button (#16182) 2023-04-14 14:35:25 +02:00
Joakim Sørensen
3a1fff81b8 Move add-on rebuild over to WS for newer core versions (#16180) 2023-04-14 07:33:03 -04:00
renovate[bot]
fa4550a848 Update typescript-eslint monorepo to v5.58.0 (#16176)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-13 23:49:20 -04:00
Bram Kragten
689bc48f31 Rename voice_assistant to assist_pipeline (#16177) 2023-04-13 17:25:32 -04:00
Bram Kragten
a998465600 Fix demo deployment (#16178
Update demo_deployment.yaml
2023-04-13 21:37:03 +02:00
Bram Kragten
b21605e260 Fix demo deployment (#16178
Update demo_deployment.yaml
2023-04-13 21:34:06 +02:00
Paul Bottein
178ad2dffa Fix back button when directly opening subview (#16145) 2023-04-13 21:16:59 +02:00
Paul Bottein
2e7d973597 Use body scroll with ha-drawer (#16137) 2023-04-13 21:15:01 +02:00
Bram Kragten
a741faced1 Update assist config layout a bit (#16170
* Update assist config a bit

* update images

* Update assist-pref.ts
2023-04-13 15:27:17 +02:00
Paul Bottein
5e352f6194 Voice assistants pipeline UI (#16167) 2023-04-13 12:52:10 +00:00
renovate[bot]
639c120b56 Update dependency instant-mocha to v1.5.1 (#16160)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-13 08:42:24 -04:00
J. Nick Koston
7f4dadfc20 Fix energy panel fetching all stats instead of only sum (#16161) 2023-04-13 11:48:14 +02:00
Joakim Sørensen
ddb523c133 Use certificate status for better feedback when initialising remote (#16147) 2023-04-13 11:11:47 +02:00
Bram Kragten
21645c2361 Bumped version to 20230411.1 2023-04-13 11:01:42 +02:00
Bram Kragten
e781be885d Fix context provider not updated on initializing of hass object (#16159) 2023-04-13 11:01:37 +02:00
akston
b15b0e25d6 Fix cropped person image transparency (#16112) 2023-04-13 11:01:18 +02:00
Paul Bottein
2d74873db0 Prevent edit and move view button triggered in the same time (#16143) 2023-04-13 11:00:57 +02:00
Bram Kragten
fbb59b1459 Fix context provider not updated on initializing of hass object (#16159) 2023-04-13 08:56:52 +00:00
renovate[bot]
1a9b99dd72 Update dependency glob to v10 (#16153)
* Update dependency glob to v10

* Use named export in gallery pages task

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-04-13 03:50:02 +00:00
Bram Kragten
442f73b8c5 Add initial expose UI (#16138)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-04-12 18:33:40 +02:00
Paul Bottein
a5edb4caaf Prevent edit and move view button triggered in the same time (#16143) 2023-04-12 14:07:54 +02:00
J. Nick Koston
49a14a7265 Avoid fetching unused stats state column for more info (#16141) 2023-04-12 10:00:03 +02:00
Bram Kragten
6a5568ad4f Optimize app entrypoint (#16048)
* Optimize app entrypoint

* review

* remove legacy support
2023-04-11 13:16:47 +00:00
akston
deb53eb180 Fix cropped person image transparency (#16112) 2023-04-11 15:08:29 +02:00
Paul Bottein
b076301513 Add sample rate to assist pipeline debug (#16135) 2023-04-11 08:32:18 -04:00
Bram Kragten
d50f2bf38c 20230411.0 (#16136) 2023-04-11 10:53:02 +02:00
Bram Kragten
a1180b7118 Merge branch 'master' into dev 2023-04-11 10:34:52 +02:00
Bram Kragten
0f45d2e842 Bumped version to 20230411.0 2023-04-11 10:32:24 +02:00
Bram Kragten
770675ab27 Fix button card not updating enough (#16102) 2023-04-11 10:25:54 +02:00
renovate[bot]
8a8da45761 Update dependency eslint to v8.38.0 (#16134) 2023-04-11 01:08:50 +00:00
Paul Bottein
97f983e34a Fix iOS dashboard scroll issue (#16129) 2023-04-10 22:17:37 +02:00
renovate[bot]
45d9b33c75 Update dependency lit to v2.7.2 (#16133)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 15:30:38 -04:00
renovate[bot]
f3a1b6763f Update dependency eslint-plugin-lit-a11y to v2.4.1 (#16132)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 15:28:38 -04:00
renovate[bot]
8c6d84e6b0 Update dependency lint-staged to v13.2.1 (#16127)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 09:39:07 -04:00
renovate[bot]
2774db1b93 Update dependency @web/dev-server-rollup to v0.4.1 (#16126)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 13:34:31 +00:00
renovate[bot]
da58aed64c Update dependency core-js to v3.30.0 (#16105)
* Update dependency core-js to v3.30.0

* Update babel preset

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-04-10 13:21:35 +00:00
renovate[bot]
88951a0a70 Update dependency @web/dev-server to v0.1.38 (#16124)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 09:13:42 -04:00
renovate[bot]
54b4efee45 Update dependency @rollup/plugin-node-resolve to v15.0.2 (#16109)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-10 08:53:07 -04:00
renovate[bot]
43bfe76f63 Update typescript-eslint monorepo to v5.57.1 (#16104) 2023-04-07 12:17:53 -04:00
renovate[bot]
657ae1a7fa Update dependency lit to v2.7.1 (#16103) 2023-04-07 03:05:15 +00:00
renovate[bot]
ac95820350 Update dependency glob to v9.3.4 (#16065) 2023-04-06 22:47:04 -04:00
renovate[bot]
bd45aa38b4 Update vaadinWebComponents monorepo to v23.3.10 (#16097) 2023-04-06 22:43:36 -04:00
Bram Kragten
494a9f8475 20230406.1 2023-04-06 18:28:17 +02:00
Bram Kragten
067cf19889 Bumped version to 20230406.1 2023-04-06 18:26:01 +02:00
Paul Bottein
cc4e815a58 Fix background and padding on dashboard views (#16098)Co-authored-by: Bram Kragten <mail@bramkragten.nl>
* Fix background and padding on dashboard views

* Clean code

* update fab position clean

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-04-06 18:25:23 +02:00
Paul Bottein
de00842f22 Revert "Fix background and padding on dashboard views"
This reverts commit 3d200da438.
2023-04-06 17:40:48 +02:00
Paul Bottein
3d200da438 Fix background and padding on dashboard views 2023-04-06 17:39:21 +02:00
Bram Kragten
0364c5e493 Revert "Fix theme background of view" (#16094
Revert "Fix theme background of view (#16083)"

This reverts commit 723b3844ac.
2023-04-06 17:19:12 +02:00
Bram Kragten
2750837d1e 20230406.0 (#16090) 2023-04-06 15:50:53 +02:00
Bram Kragten
d1ad72c6ff Bumped version to 20230406.0 2023-04-06 15:36:29 +02:00
Bram Kragten
723b3844ac Fix theme background of view (#16083) 2023-04-06 15:34:49 +02:00
Bram Kragten
54f8d33b1f Dont show options button for helpers that dont support it (#16089) 2023-04-06 15:32:16 +02:00
Bram Kragten
4c702ac7c2 fix analytics translations in onboarding (#16086) 2023-04-06 12:41:38 +00:00
Bram Kragten
c7b3c4df27 fix integration filter menu disappearing (#16088) 2023-04-06 14:40:02 +02:00
Bram Kragten
56cc4e8d4d Fix tooltip being cutoff in history panel (#16087) 2023-04-06 14:39:53 +02:00
Paul Bottein
0e8c280763 Change graph zone unit (#16082) 2023-04-06 14:14:24 +02:00
Paul Bottein
ff715c6cb7 Don't check for entity id format for card editors (#16081)
Don't check for entity id format for cards
2023-04-06 14:14:13 +02:00
Bram Kragten
d41cf17932 20230405.0 (#16067) 2023-04-05 12:53:45 +02:00
Bram Kragten
81ebdf1448 Bumped version to 20230405.0 2023-04-05 12:29:59 +02:00
Bram Kragten
c640d9edf2 update url of pipline-debug (#16066) 2023-04-05 12:29:13 +02:00
Bram Kragten
6d29b1cfb8 Fix chart mouse over in more info dialog (#16060) 2023-04-05 11:35:14 +02:00
Bram Kragten
e784205e1e fix panel card height (#16059) 2023-04-05 11:35:06 +02:00
Bram Kragten
1596578f96 Fix automation editor (#16057) 2023-04-05 10:20:21 +02:00
Bram Kragten
28304bb1dc Make deprecation warning instead of error (#16055) 2023-04-04 15:01:33 +02:00
Paul Bottein
32bbc9421b Translate theme settings (#16053) 2023-04-04 14:04:05 +02:00
Paul Bottein
6e35f841cc Fix more info vacuum status (#16051) 2023-04-04 13:36:45 +02:00
Paul Bottein
99e6547807 Fix fan speed for new more info and tile feature (#16050) 2023-04-04 13:36:33 +02:00
renovate[bot]
9764a0f23f Update dependency @webcomponents/webcomponentsjs to v2.8.0 (#16026)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-04 00:35:27 -04:00
renovate[bot]
12918580ac Update dependency webpack-dev-server to v4.13.2 (#16049)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-04 03:48:54 +00:00
renovate[bot]
61a7652ae1 Update dependency @webcomponents/scoped-custom-element-registry to v0.0.9 (#16025)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 23:29:49 -04:00
Paulus Schoutsen
c885d08a32 Merge runPipeline code and allow picking language (#16018)
* Merge runPipeline code and allow picking language

* Add download button

* Allow to continue audio conversations once stopped
2023-04-03 16:43:59 -04:00
Bram Kragten
322cc26ecc 20230403.0 (#16046) 2023-04-03 21:01:15 +02:00
Paul Bottein
6068d5e5cd Use state as mode for alarm mode tile feature (#16045
* Use state as mode for alarm mode tile feature

* reorder modes
2023-04-03 20:56:54 +02:00
Bram Kragten
890be2c177 Fix drawer in RTL (#16039
* Fix drawer in RTL

* format

* make it update when lang changes

* Update ha-drawer.ts

* Update ha-drawer.ts
2023-04-03 20:55:38 +02:00
Bram Kragten
423709dd23 Add deprecation warning Polymer (#16044) 2023-04-03 20:37:49 +02:00
Bram Kragten
4b73baa098 Bumped version to 20230403.0 2023-04-03 20:18:25 +02:00
Bram Kragten
dba16edabc make supported feature selector any instead of all (#16040)
make filterSupportedFeature any instead of all
2023-04-03 13:53:37 -04:00
Bram Kragten
975f371ba8 Add channel to thread network info (#16041) 2023-04-03 13:53:12 -04:00
Bram Kragten
36b2a1bca3 Add swipe to close action to drawer in modal mode (#16042) 2023-04-03 13:52:54 -04:00
Bram Kragten
fdf36adc3c Fix elements below scrollbar in Safari (#16037) 2023-04-03 19:44:40 +02:00
Paul Bottein
b506791535 Fix history scrollbar (#16036) 2023-04-03 18:41:51 +02:00
renovate[bot]
206574eb9f Update babel monorepo to v7.21.4 (#16029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 12:10:23 -04:00
Bram Kragten
19ab29d130 Handle safe areas (#16032) 2023-04-03 15:52:02 +02:00
Paul Bottein
f61f0e4e52 Fix for long translation in alarm more info in ios (#16034) 2023-04-03 13:11:57 +00:00
Bram Kragten
a32e6a9ac9 Don't open sidebar when a dialog is open (#16030) 2023-04-03 14:59:42 +02:00
Bram Kragten
d7b8823234 Prevent document scroll when modal drawer is open (#16033) 2023-04-03 14:59:31 +02:00
Steve Repsher
d9b0d5765a Add automatic retries to translation fetches (#16020) 2023-04-02 21:03:18 +02:00
Joakim Sørensen
6eb3fb1076 Use the name and size from the new disks property (#15954)
* Use the name and size from the new disks property

* Move SN down to secondary
2023-04-02 08:07:08 -04:00
Bram Kragten
8e7fc7b9c5 20230401.0 (#16015) 2023-04-01 18:47:28 +02:00
Bram Kragten
ddfe02eb70 Bumped version to 20230401.0 2023-04-01 18:20:48 +02:00
Bram Kragten
acaaf25500 Use ha-drawer instead of mwc-drawer (#16013) 2023-04-01 16:18:52 +00:00
renovate[bot]
c6c3e63101 Update dependency @web/dev-server to v0.1.37 (#16008) 2023-04-01 10:31:47 -04:00
renovate[bot]
e0fe4631f9 Update dependency eslint to v8.37.0 (#16007)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-01 01:56:46 -04:00
Paulus Schoutsen
232f70d44c Allow having conversations (#15961)
* Allow having conversations

* Add timeout to run-start data

* willUpdate
2023-03-31 15:44:32 -04:00
Bram Kragten
273904a6eb Add support for supported_features for entity selector (#16003) 2023-03-31 15:07:41 -04:00
Steve Repsher
91caffc4e1 Improve bundle chunk hashes and names (#15991) 2023-03-31 12:49:25 -04:00
Bram Kragten
e302c6c408 20230331.0 (#16001) 2023-03-31 17:16:48 +02:00
Bram Kragten
abcb904def Bumped version to 20230331.0 2023-03-31 16:37:33 +02:00
Bram Kragten
36c5d70597 Add sidebar actions to external bus (#15999) 2023-03-31 16:36:11 +02:00
Paul Bottein
b0b7998757 Fix for long translation in alarm more info (#16000) 2023-03-31 14:24:03 +00:00
Paul Bottein
33ec1e15a9 Fix labels on new more info (#15983) 2023-03-31 15:57:35 +02:00
Paul Bottein
d97ddcd31a Catch alarm control panel errors (#15998) 2023-03-31 15:51:44 +02:00
Paul Bottein
73c286a493 Fix ha header bar height (#15996)
* Fix ha header bar height in more info

* Fix ha header bar height in more places
2023-03-31 15:44:22 +02:00
Franck Nijhof
3e954eef02 Extend get_states (#15985) 2023-03-31 15:29:24 +02:00
Paul Bottein
a94b211d3e Fix ha-settings-row overflow (#15993) 2023-03-31 13:02:36 +02:00
renovate[bot]
1293e5f61f Update typescript-eslint monorepo to v5.57.0 (#15986)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-30 15:35:02 -04:00
Bram Kragten
4483a8b9a2 20230330.0 (#15982) 2023-03-30 17:08:04 +02:00
Bram Kragten
287b0b9235 Bumped version to 20230330.0 2023-03-30 16:58:32 +02:00
Bram Kragten
3d6743ae3e Align header paddings (#15981) 2023-03-30 16:57:25 +02:00
Bram Kragten
5193f2c6a4 Fix header when sidebar always hidden (#15980) 2023-03-30 16:46:31 +02:00
Paul Bottein
e6772e8b89 Fix fan more info state display (#15979) 2023-03-30 16:20:30 +02:00
Bram Kragten
dcac853b71 Improve graph tooltips (#15887
* Improve graph tooltips

* Use xy for state charts

* intersect, bigger hitRadius

* improve energy

* fix position tooltips
2023-03-30 16:12:26 +02:00
Bram Kragten
0df096d68b Fix overflow, change position of action-handler (#15978) 2023-03-30 16:10:54 +02:00
Bram Kragten
ef10cc77f7 Fix lovelace background, tweak headers (#15977) 2023-03-30 16:10:43 +02:00
Paul Bottein
e52b2c49a6 Fix mouse event for remove icon in ha file upload (#15976) 2023-03-30 11:59:50 +00:00
Paul Bottein
78cc75c57c Fix cover more info state display (#15974) 2023-03-30 09:55:13 +00:00
Bram Kragten
2b38a1ce33 Fix dialogs under sidebar, headers (#15973) 2023-03-30 11:46:34 +02:00
Steve Repsher
1f1898fa46 Make module types explicit and convert some to ESM (#15964) 2023-03-30 11:23:43 +02:00
renovate[bot]
fcc95825e3 Update dependency sinon to v15.0.3 (#15972) 2023-03-29 21:03:33 -04:00
Bram Kragten
a4e36d6145 20230329.0 (#15971) 2023-03-29 18:09:10 +02:00
Bram Kragten
bdfdab439a Merge branch 'master' into dev 2023-03-29 17:54:53 +02:00
Bram Kragten
8c59537032 Bumped version to 20230329.0 2023-03-29 17:48:14 +02:00
Bram Kragten
f5a4affdec Use mwc-drawer (#10335
* Use mwc-drawer

* Update home-assistant-main.ts

* Implement top-app-bar

* Update home-assistant-main.ts

* update hui-root

* WIP

tabs don't work yet

* migrate most panels

* fixed

* notifications-drawer

* developer tools

* lovelace

* Update hui-root.ts

* Update hui-root.ts

* Update notification-drawer.ts

* fix dev tools

* Update ha-panel-developer-tools.ts
2023-03-29 17:46:34 +02:00
Bram Kragten
f19fdeacba bump @lit-labs/context, fix bug in button card + optimise (#15968) 2023-03-29 12:45:52 +00:00
Paul Bottein
e0f7544d2f Alarm mode tile feature (#15967) 2023-03-29 12:27:39 +02:00
Paul Bottein
4d2d7cd125 Use nothing in more lit template (#15966)
* Use nothing in more lit template

* Use nothing in more lit template
2023-03-29 12:20:25 +02:00
Bram Kragten
0f5320c6fb Drop polymer from authorize and onboarding entrypoint (#15760)
* Drop polymer from authorize and onboarding entrypoint

* Update ha-icon.ts

* dedupe
2023-03-29 12:17:42 +02:00
karwosts
4d52913a01 Add missing import for duration selector (#15960) 2023-03-28 20:25:06 -04:00
karwosts
0f97a76428 Fix map card error rendering (#15910) 2023-03-28 16:15:56 +00:00
Paul Bottein
f2cf598f98 Fan speed tile feature (#15958)
* Move fan speed rules outside fan more info

* Add fan speed tile feature

* Improve select style
2023-03-28 17:59:07 +02:00
Franck Nijhof
a6f9482bf6 Improve/extend description of conditions (#15943) 2023-03-28 16:43:00 +02:00
Paul Bottein
48c74c8660 Add more info alarm control panel (#15893)
* Add more info alarm control panel

* Improve buttons sizes

* Add triggered, arming and pending state

* Add keypad

* Improve alarm code dialog

* Fix code condition

* Clean code

* Fix mode selection with code

* Use nothing
2023-03-28 16:31:25 +02:00
Paul Bottein
3a700aebcc Improve padding to avoid input number overflow (#15888) 2023-03-28 14:40:02 +02:00
Paul Bottein
cd6aac85d2 Update oscillating icon (#15948) 2023-03-28 13:28:52 +02:00
renovate[bot]
77b227a7d1 Update vaadinWebComponents monorepo to v23.3.9 (#15951) 2023-03-27 21:11:59 -04:00
Stefan Agner
b785fedef2 Add-on store: Use more formal wording (#15952)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-27 22:18:18 +02:00
renovate[bot]
66a202be7e Update dependency @lezer/highlight to v1.1.4 (#15949) 2023-03-27 09:31:45 -04:00
renovate[bot]
0ad02013ba Update dependency prettier to v2.8.7 (#15950) 2023-03-27 09:30:40 -04:00
Paul Bottein
1b2eaedba0 Don't wait for slider release to update color temp (#15914) 2023-03-27 10:34:05 +02:00
Paul Bottein
8ea350a488 Add cover new more info (#15694)
* Add cover new  more info

* Improve tilt cover control

* Improve controls

* Better handle group

* Refactor toggle component

* Use deep purple for cover and adjust deep purple color

* Update purple color

* Feedbacks

* Change color

* Improve tilt backgroud constrast
2023-03-27 10:11:28 +02:00
dependabot[bot]
8ff56bd8f5 Bump actions/stale from 7.0.0 to 8.0.0 (#15945)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 09:41:03 +02:00
dependabot[bot]
dd7ec07f29 Bump actions/checkout from 3.4.0 to 3.5.0 (#15946)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-27 09:29:50 +02:00
Paulus Schoutsen
520f489830 Pipeline updates (#15926)
* Allow using TTS

* Allow streaming audio from frontens to STT

* Improve stop recording

* Even better stop
2023-03-26 22:42:08 -04:00
renovate[bot]
395358b192 Update dependency vis-network to v9.1.6 (#15944)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-26 21:42:10 -04:00
Raman Gupta
a19ff5aef5 Add milliseconds support for duration sensors (#15895) 2023-03-26 23:52:18 +02:00
renovate[bot]
34f8b48fbe Update dependency glob to v9.3.2 (#15938) 2023-03-25 19:18:59 +00:00
renovate[bot]
01f8b4e1c4 Update dependency marked to v4.3.0 (#15935) 2023-03-25 19:02:09 +00:00
renovate[bot]
9e1cdf8215 Update dependency vis-data to v7.1.6 (#15929) 2023-03-25 14:41:15 -04:00
renovate[bot]
551127b844 Update dependency vis-network to v9.1.5 (#15925)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 14:34:05 -04:00
renovate[bot]
afe42629b2 Update dependency systemjs to v6.14.1 (#15924)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-24 14:32:17 -04:00
renovate[bot]
848d12e6fe Update dependency intl-messageformat to v10.3.3 (#15920) 2023-03-24 08:38:44 -04:00
renovate[bot]
65bd373af4 Update dependency glob to v9.3.1 (#15919) 2023-03-24 08:37:01 -04:00
renovate[bot]
91c099632d Update dependency prettier to v2.8.6 (#15921) 2023-03-24 08:35:01 -04:00
Sven Serlier
9053bc7b78 Update URLs (#15915)
* Update URL

* Update URL
2023-03-24 11:27:45 +01:00
renovate[bot]
9c4b0259a8 Update typescript-eslint monorepo to v5.56.0 (#15917) 2023-03-23 19:14:28 -04:00
renovate[bot]
7930f3879d Update dependency eslint-config-prettier to v8.8.0 (#15916) 2023-03-23 19:09:19 -04:00
Paulus Schoutsen
d9dbb69e62 Update voice debug for new API (#15913)
* Update voice debug for new API

* Update imports

* Remove wrong key

* Some HTML formatting
2023-03-23 14:44:23 -04:00
Bram Kragten
74cfccaac7 Add context providers and transform decorator (#15902) 2023-03-23 18:31:01 +01:00
Bram Kragten
4ba7e5cf0f Fix css minifying (#15912) 2023-03-23 18:28:23 +01:00
renovate[bot]
fc76d8f1cf Update dependency @polymer/polymer to v3.5.1 (#15720)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 16:18:31 +00:00
renovate[bot]
3eb07e9bc3 Update dependency fs-extra to v11.1.1 (#15911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 16:58:04 +01:00
karwosts
4e6ed61e2b Add default placeholders for various number fields in cards (#15903) 2023-03-23 15:15:38 +01:00
renovate[bot]
ca6d1544d1 Update dependency @mdi/js to v7.2.96 (#15904)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 13:00:01 +00:00
renovate[bot]
81e9bc894b Update CodeMirror (#15908)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 12:55:38 +00:00
renovate[bot]
173d13ae66 Update dependency @mdi/svg to v7.2.96 (#15905)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 08:42:32 -04:00
renovate[bot]
886ae791bc Update dependency prettier to v2.8.5 (#15907)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-23 08:38:30 -04:00
renovate[bot]
50b7e72688 Lock file maintenance (#15865)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-03-22 17:24:36 +00:00
karwosts
d07ae1cf48 Fix statistics graph days_to_show can't be erased (#15892) 2023-03-22 17:56:04 +01:00
karwosts
da2de3c7d2 Fix problems in map card when hours_to_show is 0 (#15900) 2023-03-22 17:55:30 +01:00
karwosts
7c62b08fdd Allow map card to render passive zones (#15901) 2023-03-22 17:51:47 +01:00
renovate[bot]
4f5fca7c60 Update dependency intl-messageformat to v10.3.2 (#15899)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-22 10:03:42 -04:00
Paul Bottein
45c153d374 Add fan new more info (#15843)
* Add more info fan

* Change icon

* Use backend translations

* Fix computeAttributeValueDisplay

* Clean code

* Clean code

* Fix some styles

* Improve ha-select rounded style

* Use button instead of select

* Show fan speed percentage
2023-03-22 13:20:14 +01:00
Franck Nijhof
cd2996734c Compute (attribute) states in automation trigger descriptions (#15848) 2023-03-22 11:44:43 +01:00
Steve Repsher
4abc2a65cb Migrate to html-minifier-terser and improve some minification (#15864) 2023-03-22 11:42:16 +01:00
karwosts
89decd2f31 Force app-datepicker calendar to render in ltr (#15894) 2023-03-22 11:24:16 +01:00
renovate[bot]
04a16812d3 Update dependency webpack-dev-server to v4.13.1 (#15896) 2023-03-21 19:16:59 -04:00
renovate[bot]
cadbc501e2 Update dependency webpack-dev-server to v4.13.0 (#15891)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 22:27:15 +00:00
renovate[bot]
0d95d856c1 Update dependency hls.js to v1.3.5 (#15890)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-20 18:11:37 -04:00
Paul Bottein
d272783258 Mock history stream for demo (#15886)
* Mock history stream for demo

* Fix type error
2023-03-20 20:39:01 +01:00
Paul Bottein
65d3af6fd6 Add white mode to more info light (#15774) 2023-03-20 20:38:48 +01:00
Bram Kragten
24c3ddb96b Allow reset of otbr network, thread panel fixes (#15815) 2023-03-20 20:06:40 +01:00
dependabot[bot]
c9d709152a Bump actions/checkout from 3.3.0 to 3.4.0 (#15883)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-20 09:07:14 +01:00
renovate[bot]
d5bc892bae Update Yarn to v3.5.0 (#15879) 2023-03-19 21:40:00 +00:00
Paulus Schoutsen
a5ea7b33b0 Add duration for stage (#15857)
* Add duration for stage

* formatNumber
2023-03-19 05:16:31 -04:00
renovate[bot]
c29568d164 Update dependency @open-wc/dev-server-hmr to v0.1.4 (#15859)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 19:53:39 +00:00
renovate[bot]
57e1769c06 Update dependency @web/dev-server-rollup to v0.4.0 (#15852)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 19:39:16 +00:00
renovate[bot]
abd2070011 Update dependency eslint-plugin-lit-a11y to v2.4.0 (#15862)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 19:34:56 +00:00
renovate[bot]
840450d9e5 Update dependency @web/dev-server to v0.1.36 (#15851)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 15:22:27 -04:00
renovate[bot]
178163cbc7 Update dependency @types/sortablejs to v1.15.1 (#15858)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-18 15:19:17 -04:00
renovate[bot]
dcca02477a Update dependency webpack-dev-server to v4.12.0 (#15855) 2023-03-17 19:46:43 -04:00
renovate[bot]
c06990f309 Update dependency @types/leaflet to v1.9.3 (#15854) 2023-03-17 19:42:41 -04:00
Paulus Schoutsen
1c9e3915e8 Improve pipeline debug styling (#15849) 2023-03-17 13:04:14 -04:00
renovate[bot]
30b8dc258a Update dependency glob to v9.3.0 (#15847)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:35:09 -04:00
renovate[bot]
f31043cfdc Update dependency @babel/core to v7.21.3 (#15850)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-17 12:34:21 -04:00
Paul Bottein
c0c83d3721 Add analytics translations (#15821)
* Add analytics translations

* Move translations to panels

* Fix learn more link
2023-03-17 16:26:53 +01:00
Franck Nijhof
dd08909fef Show unknown attribute state as Unknown instead of a dash (#15846) 2023-03-17 16:21:23 +01:00
karwosts
952028a7be Only pick entities with location in map card editor (#15839) 2023-03-17 16:19:43 +01:00
Jesse Moody
b0f3006c4b Update rollup links (#15835) 2023-03-17 16:17:55 +01:00
Paul Bottein
27098c5f3f Create control select component (#15819) 2023-03-17 16:16:51 +01:00
Franck Nijhof
fec061f5d1 Extend attribute to hide from (numeric) state triggers (#15836) 2023-03-17 16:15:34 +01:00
Paulus Schoutsen
db08c5029b Voice assistant (#15841)
* Add basic debug panel for voice assistant pipelines

* Add more info to start event

* Copy on change

* Use latest data model

* Apply suggestions from code review

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

* Fix CSS

* Also use ha-button

---------

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2023-03-17 10:38:08 -04:00
renovate[bot]
c5be2acd46 Update dependency glob to v9 (#15726)
* Update dependency glob to v9

* Adjust to new API

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-03-17 13:28:51 +00:00
Franck Nijhof
0232c11bc2 Translate entity attribute names & attribute states (#15822) 2023-03-17 11:43:59 +01:00
renovate[bot]
dfd7acd713 Update typescript-eslint monorepo to v5.55.0 (#15837) 2023-03-17 00:35:13 -04:00
Jesse Moody
24f1677809 Fix can not typo (#15830) 2023-03-16 16:18:31 +01:00
Bram Kragten
7b2afa3df9 Bumped version to 20230309.1 2023-03-16 14:41:03 +01:00
Bram Kragten
13a3db4141 Bump style-mod (#15805) 2023-03-16 14:39:42 +01:00
Steve Repsher
aeb7f8ff36 Fix webpack source maps (#15663) 2023-03-16 14:38:55 +01:00
Paul Bottein
db62e9f922 Add constant selector (#15783) 2023-03-16 14:22:19 +01:00
renovate[bot]
1861547d9b Update dependency core-js to v3.29.1 (#15833)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-16 13:54:45 +01:00
renovate[bot]
43684795a4 Update dependency @types/leaflet to v1.9.2 (#15831)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-16 13:52:23 +01:00
Franck Nijhof
0158d7e3e5 Adjust backend translations for entity components (#15820)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-03-16 13:51:38 +01:00
Erik Montnemery
77dcace95e Drop unused Google entity settings from cloud (#15832) 2023-03-16 11:08:57 +01:00
renovate[bot]
60d106d9c3 Update dependency sinon to v15.0.2 (#15829) 2023-03-15 20:24:42 -04:00
karwosts
020aab0584 Align charts when show_names: false (#15782)
* Align charts when show_names: false

* fixes per code review
2023-03-15 12:29:45 +01:00
renovate[bot]
27808c9853 Update dependency eslint to v8.36.0 (#15816)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-14 09:02:43 -04:00
renovate[bot]
1a9b9da0db Update dependency @codemirror/commands to v6.2.2 (#15814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 21:23:13 +01:00
renovate[bot]
fe19963ea9 Update dependency lint-staged to v13.2.0 (#15810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 20:47:02 +01:00
Paul Bottein
3afe1f83c7 Add back button to history and logbook when coming from more info dialog (#15811) 2023-03-13 20:13:22 +01:00
Paul Bottein
6cb4b5f429 Fix displayed month when opening date range picker (#15808) 2023-03-13 20:12:28 +01:00
Paul Bottein
7b676cbd91 Display cover position in tile card when opening and closing (#15809) 2023-03-13 17:33:14 +01:00
Paul Bottein
bf1cabca6e Fix discover blueprint tips not displayed in automation editor (#15812) 2023-03-13 17:19:21 +01:00
Paul Bottein
effb4b9f7a Force using history for all entity domains on map card (#15804) 2023-03-13 11:52:27 +01:00
Bram Kragten
1bc7bb0169 Fix suffix in zwave config panel, send config on change instead of input (#15779) 2023-03-13 11:47:44 +01:00
karwosts
3abc5c42d0 Fix long entity names overflowing energy panel settings (#15786) 2023-03-13 11:06:30 +01:00
Bram Kragten
cc011a4d47 Bump style-mod (#15805) 2023-03-13 11:05:08 +01:00
renovate[bot]
ca0338436c Update dependency @material/web to v1.0.0-pre.4 (#15796)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-13 11:03:45 +01:00
renovate[bot]
84d31cb9d5 Update dependency terser-webpack-plugin to v5.3.7 (#15797)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-12 14:33:54 -04:00
renovate[bot]
69264b3448 Update dependency @codemirror/view to v6.9.2 (#15793)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-11 15:24:17 -05:00
renovate[bot]
01a098e5aa Update dependency lint-staged to v13.1.4 (#15790)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-10 13:47:32 -05:00
renovate[bot]
11b1e056dc Update dependency rollup-plugin-terser to v7 (#15767)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 16:17:29 -05:00
renovate[bot]
4e99e32ca2 Update typescript-eslint monorepo to v5.54.1 (#15789)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 16:03:43 -05:00
Paul Bottein
a8d7f8a7fe 20230309.0 (#15784) 2023-03-09 16:32:36 +01:00
Paul Bottein
9602c68640 Bumped version to 20230309.0 2023-03-09 16:22:14 +01:00
renovate[bot]
9a0699ba84 Update dependency eslint-config-prettier to v8.7.0 (#15777) 2023-03-09 09:00:40 -05:00
Joakim Sørensen
47cfc3d27c Move deleting backups to WS (#15773) 2023-03-09 11:32:52 +01:00
renovate[bot]
77d395b0c9 Update dependency @rollup/plugin-node-resolve to v15 (#15722)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-09 00:32:57 -05:00
renovate[bot]
baee563bdd Update dependency @rollup/plugin-replace to v5 (#15723)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-08 16:37:10 -05:00
renovate[bot]
bc5345af95 Update dependency @rollup/plugin-commonjs to v24 (#15717)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-08 16:05:48 -05:00
renovate[bot]
52e2033f52 Update dependency @rollup/plugin-json to v6 (#15721)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-08 13:34:15 -05:00
renovate[bot]
dfa26ee7a1 Update dependency @rollup/plugin-babel to v6 (#15716)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-08 13:23:18 -05:00
Bram Kragten
0cde0fc9a9 Remove deprecated and removed icons (#15762) 2023-03-08 12:28:34 +01:00
Paul Bottein
4ab1723c99 Don't assume that effect list is not null (#15764)
* Don't assume that effect list is not null

* Don't assume that rgb, rgbw and rgbww are defined
2023-03-08 10:24:28 +01:00
Yosi Levy
4f1c4bdcb9 Fix RTL & missing translation & misalign hostnam (#15758) 2023-03-07 22:10:21 +01:00
karwosts
55edeb474e Preserve custom names in statistics graph when modifying entity list (#15695) 2023-03-06 17:10:08 +01:00
karwosts
4d19e3ad63 Fix overzealous loading of ha-service-control default values (#15741) 2023-03-06 17:06:38 +01:00
Bram Kragten
0b3e954752 20230306.0 (#15749) 2023-03-06 12:06:01 +01:00
karwosts
f193563649 Disable attribute validation on initial load of ha-selector-attribute (#15697)Co-authored-by: Bram Kragten <mail@bramkragten.nl>
* Disable attribute validation on initial load of ha-selector-attribute

* Update src/components/ha-selector/ha-selector-attribute.ts

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-03-06 11:47:09 +01:00
Bram Kragten
77c3b5b5a5 Bumped version to 20230306.0 2023-03-06 11:46:32 +01:00
Paul Bottein
9bb36e38e6 Fix number format for monetary device class (#15693) 2023-03-06 09:53:53 +01:00
karwosts
1741b051fc Fix statistics-picker filter when no entity selected (#15659)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-03-06 09:52:16 +01:00
karwosts
98e21370fd Fix yaml editor behavior of statistics graph card (#15742) 2023-03-06 09:49:42 +01:00
Erik Montnemery
40b9e62a87 Pass placeholders to config and option flow title (#15746) 2023-03-06 09:49:01 +01:00
Steve Repsher
8e8fb4ea13 Reconfigure Renovate (#15743) 2023-03-05 21:23:13 +01:00
Franck Nijhof
6dc7508460 Revert "Configure Renovate" (#15729)
Revert "Configure Renovate (#15618)"

This reverts commit be909d0a9c.
2023-03-05 11:11:06 +01:00
renovate[bot]
9055099a18 Update dependency @web/dev-server-rollup to v0.3.21 (#15713)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-05 00:50:22 -05:00
renovate[bot]
6b4e8c1e06 Update dependency rollup-plugin-terser to v5.3.1 (#15718)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-04 23:18:29 -05:00
renovate[bot]
cbeee01d75 Update dependency @rollup/plugin-babel to v5.3.1 (#15709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-04 23:12:12 -05:00
renovate[bot]
76bdf96c6d Update dependency @rollup/plugin-json to v4.1.0 (#15712)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-04 23:07:01 -05:00
renovate[bot]
645eea0bd4 Update vaadinWebComponents monorepo to v23.3.8 (#15719)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-03-05 04:06:07 +00:00
renovate[bot]
7453ea1e40 Pin dependencies (#15708)
* Pin dependencies

* Only pin polymer

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2023-03-05 03:48:37 +00:00
renovate[bot]
b64fc8ec3b Pin dependencies (#15705) 2023-03-05 02:58:29 +00:00
renovate[bot]
3c73fcb0bf Update Yarn to v3.4.1 (#15711) 2023-03-04 21:41:02 -05:00
renovate[bot]
c5c668bd7b Pin dependencies (#15707) 2023-03-04 21:35:04 -05:00
renovate[bot]
be909d0a9c Configure Renovate (#15618) 2023-03-04 20:52:55 -05:00
Paul Bottein
19efe9dcdd Only show more info settings button for admin users (#15689)
Only show settings button for admin users
2023-03-03 12:24:01 +01:00
Paul Bottein
a57609380a 20230302.0 (#15678) 2023-03-02 14:45:40 +01:00
Paul Bottein
84affcce33 Bumped version to 20230302.0 2023-03-02 14:41:47 +01:00
Paul Bottein
d113d44d5a Use state color for on and off in more info (#15677) 2023-03-02 14:37:26 +01:00
Paul Bottein
afe1b7ef59 Use display precision for number format none (#15674)
* Use display precision for number format none

* Update src/common/number/format_number.ts

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

* prettier

* Fix 0 value

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-03-02 10:19:27 +00:00
Paul Bottein
000e2ef7fc Add input boolean more info (#15675)
* Add input boolean more info

* Fix typings
2023-03-02 10:11:43 +00:00
dependabot[bot]
15394516af Bump bl from 1.2.2 to 1.2.3 (#15668)
Bumps [bl](https://github.com/rvagg/bl) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/rvagg/bl/releases)
- [Changelog](https://github.com/rvagg/bl/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rvagg/bl/compare/v1.2.2...v1.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-02 00:01:48 -05:00
Steve Repsher
a0033d9112 Fix minification of SVG template literals (#15670) 2023-03-01 23:57:11 -05:00
dependabot[bot]
895ebcdb2d Bump yargs-parser from 5.0.0 to 5.0.1 (#15660) 2023-03-01 19:56:08 -05:00
dependabot[bot]
e7044ce40c Bump copy-props from 2.0.4 to 2.0.5 (#15656)
Bumps [copy-props](https://github.com/gulpjs/copy-prop) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/gulpjs/copy-prop/releases)
- [Commits](https://github.com/gulpjs/copy-prop/commits)

---
updated-dependencies:
- dependency-name: copy-props
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-01 14:38:33 -05:00
Brandon Rothweiler
a0e71b9478 Change "shutdown" to "shut down" when used as a verb (#15658) 2023-03-01 16:51:09 +01:00
Bram Kragten
db1f81e0ef 20230301.0 (#15657) 2023-03-01 16:36:00 +01:00
Bram Kragten
657a74e8ad Bumped version to 20230301.0 2023-03-01 15:32:57 +01:00
Bram Kragten
f803bbadc9 Set css optimise level to 0 (#15652) 2023-03-01 14:24:00 +00:00
Paul Bottein
2ab8bba4b0 Sort null and undefined at the bottom in data-table (#15651)
Sort null and undefined at the bottom in datatable
2023-03-01 14:22:57 +00:00
Philip Allgaier
1a1c00ba62 Add loading info text to hardware config page (#15616)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-03-01 15:10:14 +01:00
Bram Kragten
7b4850b5d6 Bump core js, replace serve with serve-handler (#15637)
* Bump core js, remove serve from deps

* resplace serve with serve-handler
2023-03-01 09:08:56 -05:00
dependabot[bot]
42688e100c Bump hls.js from 1.3.3 to 1.3.4 (#15644)
Bumps [hls.js](https://github.com/video-dev/hls.js) from 1.3.3 to 1.3.4.
- [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.3.3...v1.3.4)

---
updated-dependencies:
- dependency-name: hls.js
  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-03-01 09:04:48 -05:00
Bram Kragten
d32cde3cf8 Fix more info position (#15650) 2023-03-01 13:42:42 +00:00
Paul Bottein
34c15d96c1 Reduce more-info dialog margin (#15649)
Reduce more-info margin
2023-03-01 13:28:35 +00:00
Paul Bottein
0d869d53e3 Adapt more info control height for small screen (#15647)
* Adapt more info control height for small screen

* Fix light picker sliders
2023-03-01 12:15:12 +01:00
Paul Bottein
ccf670465b Fix statistics name sorting in developer tools (#15646) 2023-03-01 10:30:11 +00:00
Erik Montnemery
4a9ec7233d Fetch weather units from core (#15212) 2023-03-01 11:24:48 +01:00
Paul Bottein
c747ab7605 Add on/off icon for some domains (#15640) 2023-03-01 11:24:35 +01:00
Paul Bottein
9c703ab469 Add color temperature value to light more info (#15639) 2023-03-01 11:24:01 +01:00
Paul Bottein
e3b797e85c Fix more info for disabled entity (#15641) 2023-03-01 10:29:19 +01:00
Bram Kragten
a5541996d7 Prevent config menu jump when cloud info loads (#15638)
Prevent config menu jump
2023-02-28 17:21:52 +01:00
Paul Bottein
ea95fb98aa Fix lock more info with attributes (#15622)
* Fix lock more info with attributes

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

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

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-28 10:34:35 +00:00
karwosts
4b428a60cd Fix a hang in history graph card editor (#15623) 2023-02-28 11:06:51 +01:00
Steve Repsher
9ce4563dd4 Prefer nothing over empty templates (#15633) 2023-02-28 11:02:47 +01:00
J. Nick Koston
4031d9cc78 Avoid loading the whole entity registry for more info (#15627) 2023-02-28 10:58:45 +01:00
J. Nick Koston
20f2f5b317 Avoid fetching all stats metadata when there are no entities on the energy panel (#15591)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2023-02-28 10:57:04 +01:00
Paulus Schoutsen
6af57fa2cd Temp patch to fix Rollup build (#15631) 2023-02-28 10:54:27 +01:00
Steve Repsher
17e6e132d1 Minify HTML and CSS template literals (#15624) 2023-02-28 00:02:04 -05:00
dependabot[bot]
67d064db28 Bump @typescript-eslint/eslint-plugin from 5.53.0 to 5.54.0 (#15629)
Bumps [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) from 5.53.0 to 5.54.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.54.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-28 04:37:18 +00:00
dependabot[bot]
e0df5e4631 Bump @typescript-eslint/parser from 5.53.0 to 5.54.0 (#15628)
Bumps [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) from 5.53.0 to 5.54.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.54.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>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-28 04:20:49 +00:00
Paul Bottein
a8a85a2af6 20230227.0 (#15625) 2023-02-27 21:10:57 +01:00
Paul Bottein
702c24d908 Bumped version to 20230227.0 2023-02-27 21:02:33 +01: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
Bram Kragten
df8f46388f 20230224.0 (#15588) 2023-02-24 21:06:33 +01: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
dd6437376d 20230223.0 (#15575) 2023-02-23 19:01:26 +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
Bram Kragten
971d2ff1c2 20230222.0 (#15551)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: Bram Kragten <mail@bramkragten.nl> Co-authored-by: Paul Bottein <paul.bottein@gmail.com> Co-authored-by: Flavien Charlon <Flavien@users.noreply.github.com> Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com> Co-authored-by: karwosts <32912880+karwosts@users.noreply.github.com> Co-authored-by: Erik Montnemery <erik@montnemery.com> Co-authored-by: J. Nick Koston <nick@koston.org> Co-authored-by: Yosi Levy <37745463+yosilevy@users.noreply.github.com> Co-authored-by: lunmay <28674102+lunmay@users.noreply.github.com> Co-authored-by: Jc2k <john.carr@unrouted.co.uk> Co-authored-by: chiahsing <chiahsing@gmail.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> Fix a coloring issue with climate states (#15325) resolver-webpack from 0.13.1 to 0.13.2 (#15355) resolver-webpack](https://github.com/import-js/eslint-plugin-import) from 0.13.1 to 0.13.2. fix some errors (#15334) Fix stats data being fetched for all entities when there are no energy/water stat ids (#15428) Fix custom card documentation url (#15439) fixes (#15446) fix dedupe precommit (#15399) Fix typo from restart dialog (whitch -> which) (#15458) Fix typo in water consumption description (#15464) Fix initial scroll inside more info dialog (#15473) Fix alert padding inside more info dialog (#15477) Fix area name in target picker (#15511) fix history crash) (#15509) Fix promise constructors with returns (#15486) fixes feb23 (#15487) Fix errors in duration data processing in Automation UI Editor (#15422) Fix map sizing in grids and h-stacks (#15290) Fix a typo: Add OpenTread Border Router (#15528) Fix tile card typings (#15529) fix more info history tooltips (#15533) Fix double defined cloud-account (#15537) Fix more info control assumed state color (#15548) Fix a bug in cast launcher that hassURL and path are incorrectly passed (#15546) 2023-02-22 18:16:25 +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
e6de8ec94d 20230202.0 (#15323) 2023-02-02 20:45:17 +01: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
0e06267055 20230201.0 (#15307) 2023-02-01 17:17:12 +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
63a35c9d68 20230130.0 (#15278) 2023-01-30 22:03:34 +01: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
Bram Kragten
9f8aa0b4bf 20221212.0 (#14722) 2022-12-12 16:08:35 +01:00
Bram Kragten
149fa5fca6 Bumped version to 20221212.0 2022-12-12 15:53:20 +01:00
Paul Bottein
0fb35fd0d0 Transparent unavailable state in history (#14710)
* Use transparent color for unavailable state for history

* Remove inactive color

* Only color active state for badge icon

* Simplify condition

* Update src/components/chart/timeline-chart/textbar-element.ts

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

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-12 15:52:33 +01:00
Paul Bottein
544272b4df Improve entity not found tile card (#14711) 2022-12-12 15:49:31 +01:00
Philip Allgaier
b939978de1 Enable full day event mode in calendar card day grid (#14716) 2022-12-12 15:48:26 +01:00
Bram Kragten
d74fb8717c Fix sorting auto generated dashboard (#14707) 2022-12-12 15:47:05 +01:00
Philip Allgaier
f204a163d4 Show pointer cursor when hovering calender event or day number (#14712) 2022-12-12 15:21:28 +01:00
Philip Allgaier
bc9fb9a472 Fix event alignment for current day (#14717) 2022-12-12 15:21:01 +01:00
karwosts
1e654d9661 Fix gauge-editor loading of severity values. (#14700)
fixes undefined
2022-12-12 15:20:29 +01:00
Paul Bottein
03d33759b8 Use light blue for media player to improve contrast (#14713) 2022-12-12 14:09:55 +01:00
Joakim Sørensen
ef7d696f9d Adjust cast deployment (#14651)
* Adjust cast deployment

* Handle dev/master builds

* Consistant
2022-12-12 13:46:03 +01:00
Bram Kragten
545141da92 Align dev container settings with core (#14709) 2022-12-12 11:58:45 +01:00
Bram Kragten
467957005d Fix pick dashboard row (#14708) 2022-12-12 11:58:30 +01:00
Steve Repsher
348c3c9787 Revise vscode extensions (#14679) 2022-12-12 10:51:25 +01:00
Philip Allgaier
fe0492c2e0 Enable all-day / multi-day rendering for calendar (#14660) 2022-12-12 10:44:29 +01:00
Philip Allgaier
0b377c060c Only reset primary/accent color if theme actually changes (#14659)
fixes undefined
2022-12-12 10:43:20 +01:00
Jan Bouwhuis
0f971e5868 Add QoS parameter for MQTT Publish (#14559)
* Add QoS parameter for MQTT Publish

* Follow up comment
2022-12-12 09:42:37 +01:00
Philip Allgaier
1dbe8c9b64 Ensure consistent "blank before percent" handling (#14638) 2022-12-09 21:47:57 -05:00
Paul Bottein
6e4a6cb0db Improve person/alarm/lock state (#14633)
* Opening device_class as alerting

* Don't use blue color for default active color

* Improve lock colors

* Green color for disarmed alarm

* Revert "Opening device_class as alerting"

This reverts commit b78342678d430eb3967f82e759342955b44417ad.

* Don't use active color

* Revert amber color because fixed in another PR

* Improve person, lock and alarm color state

* Sort variables

* Use alarm color in alarm card
2022-12-09 21:38:59 -05:00
epenet
3f1903bd87 Add new irradiance device class (#14593) 2022-12-09 21:57:28 +01:00
epenet
9643e0268f Add new atmospheric pressure device class (#14596) 2022-12-09 21:56:57 +01:00
Paul Bottein
23573d8c26 Theme color fixes (#14672)
* Split off and unavailable colors

* off and unvailable in history panel

* Refactor tile card color code

* Use new color in state badge

* Use new colors in button and entity card

* Rename off to inactive

* Add inactive color to color picker

* Use amber instead of blue
2022-12-09 10:04:14 -05:00
Paul Bottein
3c8c1260b1 Show start pause button on tile card if vacuum support pause (#14646) 2022-12-08 19:23:43 +01:00
Joakim Sørensen
b84de87688 Adjust design deployment (#14650) 2022-12-08 17:17:56 +01:00
Joakim Sørensen
2d30994e56 Adjust demo deployment (#14649) 2022-12-08 17:17:28 +01:00
Bram Kragten
4ea19a6041 Add daily gallery build action (#14640)
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2022-12-08 14:41:51 +00:00
Bram Kragten
af82c0d0c4 20221208.0 (#14644) 2022-12-08 15:17:56 +01:00
Bram Kragten
2b5ef1207c Bumped version to 20221208.0 2022-12-08 15:07:10 +01:00
Philip Allgaier
feddbdba96 More "state_color" variants for gallery + wording tweaks (#14641) 2022-12-08 14:05:09 +00:00
Bram Kragten
b581b95d9d Use correct close dialog function for dialog event editor` (#14604)
* Use correct close dialog function for `dialog event editor``

* Update dialog-calendar-event-editor.ts
2022-12-08 08:42:22 -05:00
Bram Kragten
8c69c772d1 Fix statistics graph card (#14631) 2022-12-08 13:20:01 +01:00
Paul Bottein
ba09120ff3 Add open label if cover is open on tile card (#14632) 2022-12-08 13:19:49 +01:00
Philip Allgaier
a8d242719f Fix disabled button state for vacuum in tile card (#14624)
fixes undefined
2022-12-08 13:19:18 +01:00
Paul Bottein
0d0028fced Fixes state history colors edge cases (#14626) 2022-12-08 12:01:18 +01:00
Erik Montnemery
d1b1eecd92 Fix showing a statistics graph with type 'change' (#14622) 2022-12-08 11:37:57 +01:00
Philip Allgaier
3b51050b52 Fix hidden/broken input_datetime date selector (#14623)
fixes undefined
2022-12-08 11:36:53 +01:00
Philip Allgaier
34e1d745be Restore correct default legend behavior for history graph card (#14612)
fixes undefined
2022-12-08 11:34:13 +01:00
Allen Porter
efda2ab626 Fix calendar event creation error handling (#14603) 2022-12-07 17:39:22 +01:00
Bram Kragten
ae354fa8da 20221207.0 (#14602) 2022-12-07 16:42:43 +01:00
Bram Kragten
ef130be352 Bumped version to 20221207.0 2022-12-07 16:41:44 +01:00
Paul Bottein
f1393e5f00 Clean up colors code and add all missing domains (#14597) 2022-12-07 14:47:54 +01:00
Bram Kragten
dac784553e Fix unresponsive date picker (#14600) 2022-12-07 10:42:40 +00:00
Philip Allgaier
d2ad67384f Consider ignored repairs for the "no repairs available" note (#14598) 2022-12-07 11:38:27 +01:00
Philip Allgaier
69d16ab9b4 Various minor tweaks (#14588) 2022-12-07 10:05:24 +01:00
Allen Porter
a941ed4f90 Fix off by one day in date input (in calendar) (#14590)
fixes undefined
2022-12-07 10:04:45 +01:00
Philip Allgaier
774259224b Fix accidental date cross-overs in local cal event creation (#14587) 2022-12-07 09:56:21 +01:00
dependabot[bot]
8a5f781ca2 Bump express from 4.17.1 to 4.18.2 (#14586)
* Bump express from 4.17.1 to 4.18.2

Bumps [express](https://github.com/expressjs/express) from 4.17.1 to 4.18.2.
- [Release notes](https://github.com/expressjs/express/releases)
- [Changelog](https://github.com/expressjs/express/blob/master/History.md)
- [Commits](https://github.com/expressjs/express/compare/4.17.1...4.18.2)

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

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>
2022-12-07 05:12:42 +00:00
Bram Kragten
dacef605c7 20221206.0 (#14585) 2022-12-06 18:35:05 +01:00
Bram Kragten
2c279e2dec Bumped version to 20221206.0 2022-12-06 18:30:55 +01:00
Bram Kragten
06ee08db36 Sort generated dashboard (#14577) 2022-12-06 18:30:23 +01:00
Philip Allgaier
34dfaa5a0f Fix week start on Saturday for scheduler (#14566) 2022-12-06 18:29:49 +01:00
Philip Allgaier
b06db26540 Filter out unavailable calendars in calendar panel (#14584) 2022-12-06 18:28:29 +01:00
Philip Allgaier
076a6c4459 Catch calender events fetch errors and keep UI working (#14517)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-06 17:28:16 +00:00
Paul Bottein
0001cad423 Better colors in timeline chart in more info (#14581) 2022-12-06 17:15:59 +00:00
Paul Bottein
d622d9d420 Add unavailable badge for tile card (#14582)
add unavailable badge for tile card
2022-12-06 17:14:18 +00:00
Paul Bottein
228fd4b7fe Fix camera and timer active state (#14578) 2022-12-06 17:46:07 +01:00
Paul Bottein
e6f2e8058b Color adjustments for entity state (#14557) 2022-12-06 17:45:24 +01:00
Philip Allgaier
83ba594cc4 Visual fixes and resize observer for scheduler form (#14527) 2022-12-06 13:29:14 +01:00
Philip Allgaier
ff64dc2631 Prevent invalid event durations in calendar (#14545)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-06 12:23:04 +00:00
Steve Repsher
745753c526 Make corrections to .gitignore for directories (#14567) 2022-12-06 13:04:18 +01:00
Bram Kragten
f5385ba277 Check if cast message came from logged in instance (#12354) 2022-12-06 12:47:17 +01:00
epenet
1a69503eab Allow cm in precipitation units (#14568) 2022-12-06 11:16:33 +01:00
Philip Allgaier
8ba46f7f57 Add "show_names" option to history graphs (#14546) 2022-12-06 01:41:08 +01:00
Bram Kragten
bbdb84482a 20221205.0 (#14562) 2022-12-05 22:49:02 +01:00
Bram Kragten
08ffe375b9 Bumped version to 20221205.0 2022-12-05 22:48:02 +01:00
Philip Allgaier
8699f3e3a8 Use rounded corners for calendar (#14525)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-05 19:59:09 +00:00
Philip Allgaier
ecdd07ff4d Add calendar event recurrence rule translations (#14544)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-12-05 18:28:48 +01:00
Philip Allgaier
f0f699a37e Auto remove empty items from shopping list (#14487) 2022-12-05 16:33:47 +01:00
Paul Bottein
75b1b1c9a0 Fix media browser gender translations (#14551) 2022-12-05 15:13:22 +00:00
Philip Allgaier
0ae8246d8a Simplify calendar "listWeek" and enable for "initial_view" (#9993)
fixes undefined
2022-12-05 16:11:12 +01:00
Philip Allgaier
b644407260 Consistent table style for calendar and scheduler (#14528) 2022-12-05 16:08:00 +01:00
Philip Allgaier
b389127f78 Prevent "ha-chip" focus outline frame (#14535) 2022-12-05 15:55:23 +01:00
Philip Allgaier
20dff9d25d Fix YAML validation for automation action service call enabling/disabling (#14536)
fixes undefined
2022-12-05 15:33:41 +01:00
Philip Allgaier
076ddb71b6 Show proper media title in media bar (split URI) (#14464) 2022-12-05 15:32:24 +01:00
Franck Nijhof
f0127511b0 Handle optional state enum from sensor entities (#14428) 2022-12-05 15:01:18 +01:00
Philip Allgaier
07ad429f8c Fix first day of the week locale issue with scheduler (#14529)
fixes undefined
2022-12-05 14:54:38 +01:00
Jan Bouwhuis
ef3caf91f1 Fix retreiving topic value when using MQTT publish (#14554)
fixes undefined
2022-12-05 14:33:50 +01:00
Bram Kragten
4fcfcbeefb Simplify 2022-12-05 14:31:44 +01:00
Philip Allgaier
f18997c7c3 Prevent identical double debug log downloads for integration (#14537)
fixes undefined
2022-12-05 14:31:19 +01:00
Bram Kragten
2ed8a4053b set backpath for supervisor addons panel (#14555) 2022-12-05 13:30:28 +00:00
Philip Allgaier
1105c92569 Add support for calendar event description (#14522) 2022-12-05 14:28:43 +01:00
Philip Allgaier
76a682fa28 Ensure calendar event texts are aligned (#14521) 2022-12-05 14:26:11 +01:00
Philip Allgaier
d059b97a2f Prevent issues in "ha-form" with undefined "disabled" state (#14518)
fixes undefined
2022-12-05 14:25:30 +01:00
Philip Allgaier
96080f3c78 Set initial calendar event date based on active calendar view (#14516) 2022-12-05 14:24:31 +01:00
Steve Repsher
00274ebf66 Fix localize key errors for helpers (#14496) 2022-12-05 14:22:17 +01:00
Philip Allgaier
7e58bd59c3 Fix rounded corners for expansion panel (#14531)
fixes undefined
2022-12-05 14:21:13 +01:00
Paul Bottein
04ef783f5b Fix adjust statistic parameter name (#14552) 2022-12-05 12:49:21 +01:00
dependabot[bot]
340449d064 Bump dessant/lock-threads from 3.0.0 to 4.0.0 (#14550)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-05 09:25:02 +01:00
dependabot[bot]
24f2ad8be9 Bump @braintree/sanitize-url from 5.0.2 to 6.0.0 (#14549)
Bumps [@braintree/sanitize-url](https://github.com/braintree/sanitize-url) from 5.0.2 to 6.0.0.
- [Release notes](https://github.com/braintree/sanitize-url/releases)
- [Changelog](https://github.com/braintree/sanitize-url/blob/main/CHANGELOG.md)
- [Commits](https://github.com/braintree/sanitize-url/compare/v5.0.2...v6.0.0)

---
updated-dependencies:
- dependency-name: "@braintree/sanitize-url"
  dependency-type: direct:production
...

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>
2022-12-05 00:22:55 -05:00
dependabot[bot]
3eac53e209 Bump async from 2.6.2 to 2.6.4 (#14548)
Bumps [async](https://github.com/caolan/async) from 2.6.2 to 2.6.4.
- [Release notes](https://github.com/caolan/async/releases)
- [Changelog](https://github.com/caolan/async/blob/v2.6.4/CHANGELOG.md)
- [Commits](https://github.com/caolan/async/compare/v2.6.2...v2.6.4)

---
updated-dependencies:
- dependency-name: async
  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>
2022-12-04 23:54:32 -05:00
Philip Allgaier
65cef9d996 Prevent negative media player progress (#14547) 2022-12-04 21:11:53 -05:00
dependabot[bot]
4c5f4508b2 Bump decode-uri-component from 0.2.0 to 0.2.2 (#14543) 2022-12-04 17:48:40 -05:00
Allen Porter
1aa6bd5577 Fix recurrence rule generation for UNTIL rules (#14541) 2022-12-04 14:38:43 +01:00
Bram Kragten
3dfd401036 20221201.1 (#14506) 2022-12-01 17:38:27 +01:00
Bram Kragten
71a5d8c6f9 Bumped version to 20221201.1 2022-12-01 17:37:08 +01:00
Bram Kragten
a0bf582cc9 dont force update translations 2022-12-01 17:35:47 +01:00
Bram Kragten
77a53ffc6c 20221201.0 (#14505) 2022-12-01 17:13:52 +01:00
Bram Kragten
b6f1d78b7f Merge branch 'master' into dev 2022-12-01 17:11:26 +01:00
Bram Kragten
1fda303b23 Bumped version to 20221201.0 2022-12-01 17:05:23 +01:00
Bram Kragten
241645fe8d Fix timezone issues calendar (#14501) 2022-12-01 17:04:45 +01:00
Steve Repsher
faa57e4c02 Improve filtering and performance for icon picker (#14401)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2022-12-01 16:59:45 +01:00
Paul Bottein
915563ce6c Improve constrast for tile card state (#14504) 2022-12-01 16:54:35 +01:00
J. Nick Koston
44502d2c8d Add the ability to enable debug logs in the config entry overflow (#14319) 2022-12-01 16:53:41 +01:00
Paul Bottein
b97a9ef311 Consider moisture as alerting binary sensor (#14503) 2022-12-01 14:48:27 +00:00
Bram Kragten
1a66b8a374 Add script to setup translation fetching (#14481)
* Add script to setup translation fetching

* Update bootstrap
2022-12-01 09:00:29 -05:00
Bram Kragten
4190ff5a2b Sort language, country, currency (#14500) 2022-12-01 13:38:50 +01:00
Paul Bottein
dfc461ce05 Add support for entity translation key (#14482) 2022-12-01 12:53:44 +01:00
Steve Repsher
dff7f653b1 Fix checking existence of downloaded translations (#14493) 2022-11-30 16:53:26 -05:00
Bram Kragten
eccc6a8cdb 20221130.0 (#14492)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Bagira <bagdi.istvan@gmail.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
Co-authored-by: uvjustin <46082645+uvjustin@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Chris <31055115+darthsebulba04@users.noreply.github.com>
Co-authored-by: Aaron Carson <aaron@aaroncarson.co.uk>
Co-authored-by: David F. Mulcahey <david.mulcahey@me.com>
Co-authored-by: Yosi Levy <37745463+yosilevy@users.noreply.github.com>
Co-authored-by: Alex van den Hoogen <alex3305@gmail.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Jani Lahti <jani.lahti@iki.fi>
Co-authored-by: RoboMagus <68224306+RoboMagus@users.noreply.github.com>
Co-authored-by: Brynley McDonald <brynley+github@zephire.nz>
Co-authored-by: Denis Shulyaka <Shulyaka@gmail.com>
Co-authored-by: KablammoNick <nick@kablammo.net>
Co-authored-by: Allen Porter <allen@thebends.org>
Co-authored-by: Philip Allgaier <mail@spacegaier.de>
2022-11-30 22:43:19 +01:00
dependabot[bot]
52235c6187 Bump ejs from 3.1.6 to 3.1.8 (#14491)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-30 21:35:39 +00:00
Bram Kragten
594b402bd5 Bumped version to 20221130.0 2022-11-30 22:26:07 +01:00
Philip Allgaier
684f6db4df Gallery: Added switch and gauge component pages + CSS vars (#14479) 2022-11-30 22:22:02 +01:00
dependabot[bot]
883e5e3a6c Bump minimist from 1.2.5 to 1.2.7 (#14490)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-30 22:15:56 +01:00
Bram Kragten
29452841c2 Add basic matter config panel (#14489)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-11-30 21:12:46 +00:00
Allen Porter
9b6e33cfec Add Calendar Event creation and deletion dialogs (#14036)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-30 21:20:41 +01:00
Paul Bottein
e43f3b193e Rename indicator property and add show-handle property for ha bar slider (#14466) 2022-11-30 21:18:27 +01:00
Paul Bottein
40d0455936 Fix common tests (#14485) 2022-11-30 19:50:53 +01:00
Paul Bottein
90a7c2d2ff Set border radius to 10px for tile slider and buttons (#14488) 2022-11-30 19:50:26 +01:00
Paul Bottein
d4cda0c106 Rename tile extras to tile features (#14483) 2022-11-30 18:35:13 +01:00
Bram Kragten
92d022747b Add core country and language settings (#14478) 2022-11-29 20:54:18 +01:00
Steve Repsher
ee6f97b802 Fetch nightly translations during build (#13724)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-29 19:33:43 +01:00
Paul Bottein
cb97918005 Show percentage for light, cover and fan for tile card (#14475) 2022-11-29 15:06:36 +00:00
J. Nick Koston
f1f0baf787 Add buttons to download logs (#14404)
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2022-11-29 15:56:28 +01:00
Paul Bottein
c0240eed67 Show icon preview when changing device class (#14472)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-29 15:27:10 +01:00
Paul Bottein
aeeacc6cad Use new colors for state icon (#14358)
* Use new colors for state icon

* feedbacks

* Remove arming case
2022-11-29 15:22:50 +01:00
Paul Bottein
fcfdad3d94 And vacuum commands extra for tile card (#14434) 2022-11-29 15:15:47 +01:00
Paul Bottein
566b93ec1f Fixes area creation in area picker (#14452) 2022-11-29 15:15:12 +01:00
KablammoNick
5c452cb9e0 Update icons for shade device class (#14455)
* Update icons for shade device class

MDI v6.7.96 added icons for roller-shade and roller-shade-closed - this changes shade device class to match, rather than blinds/blinds-open.

* Split blind/shade device classes and update blind icons
2022-11-29 11:15:51 +01:00
Paul Bottein
06c1d9f6ef Replace gas by water in translation (#14473) 2022-11-29 09:39:22 +00:00
Paul Bottein
bfd96944f9 Add switch bar (#14429)
* Add basic swich support

* Add color and reversed state

* Fix slotted icon

* Update gallery/src/pages/components/ha-bar-switch.ts

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

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-28 16:58:18 +01:00
Bram Kragten
c119163422 Add grouping by device to generated dashboard config (#14398) 2022-11-28 15:56:35 +00:00
Paul Bottein
4846fa1a74 Improve combobox overlay observer (#14463) 2022-11-28 16:53:35 +01:00
Paul Bottein
aec0eb3c78 Improve state colors and add documentation for entity state (#14437)
* Add documentation for entity icons and colors

* Add domains

* Add domains

* improve colors

* Add fan color

* Change fan to cyan

* color rules adjustments
2022-11-28 14:37:07 +01:00
Denis Shulyaka
92e7254c54 humidifier card: add on-off button (#13443)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-28 13:42:41 +01:00
Paul Bottein
bafe581562 Add light brightness extra for tile (#14446) 2022-11-28 12:51:21 +01:00
Brynley McDonald
e6a153a802 Add margin to the device automation form (#14418) 2022-11-28 12:48:08 +01:00
Bram Kragten
fce87ff0fe Add support for hardware option flows (#14364) 2022-11-28 12:47:27 +01:00
Joakim Sørensen
e6b3475b5b Allow homeassistant URL in repair issues (#14456)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-28 12:47:12 +01:00
RoboMagus
f969299567 Fix water comparison in EnergyDashboard (#14460)
fixes undefined
2022-11-28 12:46:42 +01:00
Paul Bottein
7a87dc4d8a Add ui-color selector (#14348) 2022-11-28 12:45:53 +01:00
Paul Bottein
d6fa1427f1 Use toggle as default icon_tap_action for scenes and buttons in tile card (#14386) 2022-11-28 12:37:27 +01:00
Bram Kragten
aa1e9cedca Fix add integration discovery (#14432)
* Fix add integration discovery

* Update show-dialog-config-flow.ts

* Update src/panels/config/integrations/dialog-add-integration.ts

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2022-11-28 11:32:59 +00:00
Bram Kragten
147b1f34ac Fixes for disabled/unavailable entities (#14451) 2022-11-28 12:13:54 +01:00
dependabot[bot]
0cfba81eae Bump softprops/action-gh-release from 0.1.14 to 0.1.15 (#14461)
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 0.1.14 to 0.1.15.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v0.1.14...v0.1.15)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  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>
2022-11-28 11:38:11 +01:00
Franck Nijhof
a9d44fcb61 Add Text entity (#14447) 2022-11-24 21:23:50 +01:00
Bram Kragten
0aa2c9044a Fix picking energy sensors for gas (#14448) 2022-11-24 14:12:20 +00:00
Jani Lahti
9bae4a646d Fixed spelling of _(un)subscribeBootstrapIntegrations() (#14439)
Fixed spelling of (un)subscribeBootstrapIntegrations()
2022-11-24 10:28:24 +00:00
Bram Kragten
15a0847db8 Fix energy usage graph (#14438) 2022-11-24 10:59:55 +01:00
Bram Kragten
8b817b35b0 Improvements to stat charts (#14427) 2022-11-24 10:54:01 +01:00
Joakim Sørensen
f95a3c75f6 Use issue scoped translation for repair abort reason (#14445) 2022-11-24 10:30:57 +01:00
epenet
2223ffd7ee Add precipitation device class (#14232) 2022-11-21 21:25:09 +01:00
Alex van den Hoogen
590ad5b8a0 Only show hover on clickable rows in data table (#14326)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-21 21:24:28 +01:00
Yosi Levy
2bb9961fc2 Update popup align markdown LTR (#14372) 2022-11-21 21:22:55 +01:00
David F. Mulcahey
3e2fb09251 Clean up the ZHA pairing UI (#14287) 2022-11-21 21:20:58 +01:00
Bram Kragten
fc80daa3e0 Bump typescript to 4.9.3 (#14430) 2022-11-21 20:27:47 +01:00
Paulus Schoutsen
2aa7b95a5a Device info: Show connected devices (#14421) 2022-11-21 12:39:22 -05:00
Aaron Carson
c2436fb157 Update incorrect copy (#14415) 2022-11-21 16:21:20 +00:00
Paul Bottein
a958c6296b Add cover and light controls to tile card (#14244) 2022-11-21 17:13:15 +01:00
dependabot[bot]
fe4191aea9 Bump loader-utils from 1.4.0 to 1.4.2 (#14425)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-21 16:42:48 +01:00
Paul Bottein
49d9cf41fe fix closed cover state (#14424) 2022-11-21 16:34:17 +01:00
Erik Montnemery
0bfb2b4a56 Don't fetch unneeded statistics from core (#14423) 2022-11-21 16:24:57 +01:00
dependabot[bot]
1a68a2f4d7 Bump terser from 4.8.0 to 4.8.1 (#14426)
Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1.
- [Release notes](https://github.com/terser/terser/releases)
- [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/terser/terser/compare/v4.8.0...v4.8.1)

---
updated-dependencies:
- dependency-name: terser
  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>
2022-11-21 14:40:07 +01:00
Steve Repsher
1197e5a35b Bump @vaadin to 23.2.9 (#14408) 2022-11-21 11:34:37 +01:00
Paul Bottein
c6386284d1 Fix entity active states (#14341)
* fix media player state

* Fix active states

* Consider idle media player as active

* improve custom cases
2022-11-17 15:49:33 +01:00
Bram Kragten
185d2f1d52 Add change option to statistics chart (#14396) 2022-11-16 17:09:54 +00:00
Bram Kragten
c5ec1797f6 Dont use lovelace in new dashboard urls (#14395) 2022-11-16 17:53:46 +01:00
Paul Bottein
048b345c75 Use relative time display for timestamp sensor, buttons and scene in tile card (#14385)
Use relative time display for timestamp sensor, buttons and scene
2022-11-16 17:47:25 +01:00
J. Nick Koston
70868da305 Fix selecting YAML only integrations in submenus (#14377) 2022-11-16 17:15:49 +01:00
Chris
cef3dbfdf0 Capatalize Earth (#14382)
* Capatalize Earth

* Modify correct en file.

Captalize Earth.

* Undo change to wrong file

* Remove final line feed

* Try again to remove lf...

* Actually remove lf this time

Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2022-11-15 20:37:43 +00:00
Paul Bottein
bda5b97c91 Select suggested area for device during config flow (#14383) 2022-11-15 15:09:27 +01:00
J. Nick Koston
ae15dd678b Fix logbook reporting unknown states as unavailable (#14359)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2022-11-15 08:07:50 -06:00
J. Nick Koston
681c745e84 Add locking, unlocking, and jammed states to logbook (#14360) 2022-11-15 08:07:28 -06:00
uvjustin
23b59978ab Bump hls.js to v1.2.5 (#14342) 2022-11-14 19:36:35 -05:00
Ben Randall
90b9eaeb19 fix: don't render extra fields when there are none (#14374) 2022-11-14 16:30:51 +00:00
Bagira
65426bd2d0 Fix color_rgb and color_temp selector import (#14369) 2022-11-12 02:09:49 +00:00
Erik Montnemery
1cb44ce857 Convert units in statistics graph card (#13970)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-11-11 13:21:53 +00:00
Paul Bottein
1c03dc9b77 Use entity based color for state history (#14330) 2022-11-10 09:51:13 +01:00
Paul Bottein
238e844068 Use light color for tile card (#14321) 2022-11-10 09:49:25 +01:00
puddly
ec6a4b4e7a Add hardware as a config flow discovery source (#14281)
Add `hardware` as a discovery source
2022-11-10 09:22:01 +01:00
Paul Bottein
ac65882fdd Fix config entry selector import (#14334) 2022-11-08 21:10:19 -05:00
Bram Kragten
c92e6423e8 20221108.0 (#14332) 2022-11-08 14:19:23 +01:00
Bram Kragten
db0d24c807 Merge branch 'master' into dev 2022-11-08 14:18:46 +01:00
Bram Kragten
9e56ddcc69 Bumped version to 20221108.0 2022-11-08 14:16:42 +01:00
Alex van den Hoogen
dd4c3c28ee Fix expansion of all tabs in more info dialogs (#14283) 2022-11-07 20:30:06 +01:00
puddly
245202c125 Search for boards explicitly in the return value of hardware/info (#14320) 2022-11-07 20:28:01 +01:00
puddly
8b8a85b4b8 Make borders for discovery card header seamless (#14322) 2022-11-07 20:24:09 +01:00
Bram Kragten
0aae285236 Rename disabled attribute on integration card (#14268) 2022-11-07 14:45:02 +01:00
Sven Serlier
31ac274a51 Lovelace to dashboard (#14267) 2022-11-07 14:44:34 +01:00
Bram Kragten
6f07e7ca59 Hide legend for stats chart in more info, only shade area for min and… (#14273) 2022-11-05 18:33:43 +01:00
Bram Kragten
fa506202ac Bumped version to 20221102.1 2022-11-02 19:19:35 +01:00
Bram Kragten
c810c67a53 Bumped version to 20221102.1 2022-11-02 19:18:25 +01:00
Bram Kragten
663c58512d 20221102.1 (#14264) 2022-11-02 19:15:35 +01:00
Bram Kragten
3cd64675df Fix water costs (#14263) 2022-11-02 17:59:00 +00:00
Bram Kragten
79c8b7dc27 Fix statistic card default config (#14262) 2022-11-02 17:26:09 +00:00
Steve Repsher
98a32041d4 Add name attribute to autocomplete fields (#14258) 2022-11-02 18:22:02 +01:00
Paul Bottein
ffbcb0a343 Fix iOS safe padding (#14261) 2022-11-02 18:19:53 +01:00
Bram Kragten
ab4dd47e51 20221102.0 (#14259) 2022-11-02 11:06:39 +01:00
Bram Kragten
c7cb8cf762 Merge branch 'master' into dev 2022-11-02 10:35:59 +01:00
Bram Kragten
a5ab4eaf0e Bumped version to 20221102.0 2022-11-02 10:33:32 +01:00
NobleKangaroo
d52dbde909 Fix dialog resizing (#14256) 2022-11-02 10:16:05 +01:00
Yosi Levy
1cde9e882e Audio message trash fix (#14250) 2022-11-02 10:14:50 +01:00
Bram Kragten
8cb0d38d78 Fix back button on subview (#14251) 2022-11-02 10:11:50 +01:00
Paulus Schoutsen
9cb168c439 Set default unit for US unit system to gl instead of ft3 (#14257)
Mention gl instead of ft3
2022-11-02 10:10:23 +01:00
Bram Kragten
2add29c4eb 20221031.0 (#14248) 2022-10-31 18:51:59 +01:00
Bram Kragten
e2104c1591 Bumped version to 20221031.0 2022-10-31 17:25:39 +01:00
Bram Kragten
17ac81a708 Fix video size more info (#14246)
* Fix video size more info

* add comment
2022-10-31 17:24:20 +01:00
David F. Mulcahey
42386c7dee Fix ZHA neighbor table in the manage device dialog (#14236)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-31 15:20:49 +00:00
Bram Kragten
2e988bf5c3 Default size of hui-image to 16:9 during loading (#14245) 2022-10-31 16:06:33 +01:00
Paul Bottein
3356d559c9 Activate all entities config filters when clicking clear filter (#14225) 2022-10-31 15:44:08 +01:00
Paul Bottein
43755deb39 Consider standby media player as inactive for tile card (#14226) 2022-10-31 15:43:16 +01:00
Paul Bottein
9778c0731c Add badges for tile card (#14231) 2022-10-31 15:42:44 +01:00
Paul Bottein
ebc0edac10 fix margin with ha form grid (#14240) 2022-10-31 15:40:58 +01:00
Paul Bottein
effc9467c2 Entity picture option was not in the right section (#14243) 2022-10-31 15:40:26 +01:00
Paul Bottein
68e94d7222 Add type expandable for ha-form (#14197)
* Add type group for ha-form

* rename to expandable

* Add aria level

* apply suggestions
2022-10-28 17:49:59 +02:00
Jaroslav Hanslík
c4992c477b Fixed typo in water consumption text (#14229) 2022-10-28 11:34:54 -04:00
Bram Kragten
449c1f2469 Change water units to L/gal (#14223) 2022-10-27 17:10:35 -04:00
Bram Kragten
d52e521ef8 20221027.0 (#14222) 2022-10-27 22:03:05 +02:00
Bram Kragten
03d03f9903 5 minute more info stats (#14221) 2022-10-27 22:02:28 +02:00
Bram Kragten
1122698351 Bumped version to 20221027.0 2022-10-27 22:01:13 +02:00
Bram Kragten
9d730919d5 Add statistic card (#14198)
* Add statistic card

* Update selector.ts

* Update translations

* review
2022-10-27 21:59:55 +02:00
Paul Bottein
6326bb010f Only show existing weekdays (#14219) 2022-10-27 20:55:40 +02:00
Paul Bottein
2ab5da6d84 Allow null selector (#14212) 2022-10-27 13:17:42 -04:00
Steve Repsher
a56b2e3270 Rename autofill to autocomplete for text selector (#14202) 2022-10-27 15:30:08 +02:00
Paul Bottein
523d936010 Fix min height on lovelace panel for ios (#14207) 2022-10-27 15:29:47 +02:00
Bram Kragten
b3e2beac5a don't use entity name as label in more info stats (#14213) 2022-10-27 15:29:22 +02:00
Paul Bottein
4c8e863c0e Use firstday of the week for range shortcuts in date pickers (#14210) 2022-10-27 14:24:24 +02:00
Paulus Schoutsen
69074df1ab 20221026.0 (#14203) 2022-10-26 14:52:03 -04:00
Paulus Schoutsen
16848d03ae Bumped version to 20221026.0 2022-10-26 14:48:30 -04:00
Bram Kragten
dd9683674d Add my link to add zwave and zigbee devices (#14126) 2022-10-26 14:47:43 -04:00
Bram Kragten
822917d060 Add water to energy dashboard (#14194) 2022-10-26 14:44:07 -04:00
Bram Kragten
7cc6809f53 Use statistics for sensors in more info history (#14199)
* Use statistics for sensors in more info history

* use state instead of sum

* Update ha-more-info-history.ts

* change to hour
2022-10-26 19:29:12 +02:00
Paul Bottein
57291183ca update border radius to 12px (#14201) 2022-10-26 16:54:05 +00:00
Paul Bottein
504e8dd946 Add option to show entity picture in tile card (#14196)
Add option to show entity picture
2022-10-26 18:31:10 +02:00
Bram Kragten
5c4517517d Fix enlarging more info dialog (#14200) 2022-10-26 16:25:13 +00:00
Steve Repsher
1b917a5b04 Add autocomplete to login and MFA setup (#14065) 2022-10-26 16:10:19 +02:00
Bram Kragten
527c4f71c2 Add icons to device config dashboard (#14184)
* Add icons to device config dashboard

* Add `alt=""`
2022-10-26 15:19:56 +02:00
Paul Bottein
3ac6e6f307 Group fields in tile editor (#14175)
* group form into multiple groups

* display appearence form as grid

* Add translations
2022-10-26 13:51:58 +02:00
Rob Jackson
9e955dbaaa Remove conditional element from DOM when hidden (#13955) 2022-10-26 13:27:56 +02:00
epenet
e0a56956e0 Add wind_speed sensor device class (#14030) 2022-10-26 13:27:39 +02:00
Josh McCarty
66ed1b18be Format numeric entities with integer value and step as integer instead of float (#14112) 2022-10-26 13:27:14 +02:00
Paul Bottein
d445bf2505 Move re-order button at triggers/conditions/actions level. (#14185) 2022-10-26 13:21:36 +02:00
David F. Mulcahey
16bd1f5883 Update ZHA manage device dialog to use a form for cluster command arguments (#14052) 2022-10-26 13:19:48 +02:00
Michael
c12e6662dd Add week period to statistics card (#14162) 2022-10-25 22:36:20 +02:00
Bram Kragten
0b18875d70 remove hardware from integration descriptions (#14189) 2022-10-25 19:21:00 +00:00
Erik Montnemery
57fb8f9f01 Adapt to energy sensors supporting GJ (#14181) 2022-10-25 16:48:32 +02:00
Bram Kragten
f1139e09f9 Fix back handling of add integration dialog (#14187) 2022-10-25 15:15:18 +02:00
Joakim Sørensen
51febc2218 Use warning in ha-alert for breaks_in_ha_version (#14186) 2022-10-25 12:25:16 +00:00
Paul Bottein
c8d16af1b5 Add state color to tile card (#14128)
* remove unused imports

* fix white color

* Introduce state color

* add color to css

* add battery colors

* Improve sensor color

* add binary sensor color

* add person color

* improve on/off state color

* add climate color

* only apply color when entity is activet push -f
2022-10-25 14:02:09 +02:00
NobleKangaroo
66a75c4714 Fix camera dialog (#14179) 2022-10-25 10:46:57 +00:00
Paul Bottein
cb8e602340 Refactor ha-form margins (#14176) 2022-10-25 12:29:59 +02:00
epenet
de008f65a3 Allow gas units to be overriden (#14173) 2022-10-25 12:29:28 +02:00
Steve Repsher
ab1b778439 Pass helper to ha-form subtypes (#14165) 2022-10-25 12:29:05 +02:00
Franck Nijhof
62ac9155fc Add icons to automations dashboard (#14182)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-25 12:26:41 +02:00
Paul Bottein
68302d0896 Fix more info dialog edit button for script (#14180) 2022-10-25 12:24:08 +02:00
Franck Nijhof
a76f456ebc Remove default sequence from new scripts (#14183) 2022-10-25 12:03:56 +02:00
epenet
9d3eaba46b All new water device class (#14174) 2022-10-24 21:06:51 +02:00
Michel van de Wetering
5bb9538861 Add icon for receiver deviceclass (#14158) 2022-10-24 14:37:46 +02:00
dependabot[bot]
fe1beb0d59 Bump home-assistant/wheels from 2022.06.7 to 2022.10.1 (#14171)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-24 14:30:02 +02:00
Piero
153161d2cb Disable sidebar edit mode on drawer close (#14169) 2022-10-24 11:06:58 +02:00
Bram Kragten
370864e0ed fix back button in hassio addons (#14161) 2022-10-24 11:03:32 +02:00
Tomasz
9b6fca2c0e Fix back button in ha-card (add border-radius) (#14172) 2022-10-24 11:03:09 +02:00
Paul Bottein
55467666f7 Add slider bar (#14094)
* Add slider bar

* a11y feedbacks

* allow undefined values

* rename variable

* Add end style

* Add vertical slider

* Allow theming

* Improve theming

* Improve colors

* fix properties

* stepped value for aria value

* use vertical instead of orientation

* Improve a11y

* force role slider
2022-10-24 09:25:26 +02:00
Steve Repsher
928f20ada5 Revert "Fix typo when deleting an integration. Fixes #14135" (#14149)
Revert "Fix typo when deleting an integration. Fixes #14135 (#14137)"

This reverts commit 1f9763d6c8.
2022-10-22 15:30:31 +02:00
Bram Kragten
b53e86ad03 Bumped version to 20221021.0 2022-10-21 21:16:10 +02:00
Bram Kragten
112ec10b30 Add support for virtual integrations (#14138) 2022-10-20 23:08:55 -04:00
Kris Noble
1b4989a7dc Fix typo when deleting an integration (#14145)
Fixes #14135, resubmitted modifying the correct file
2022-10-20 21:27:00 +00:00
Kris Noble
1f9763d6c8 Fix typo when deleting an integration. Fixes #14135 (#14137) 2022-10-20 17:55:21 +00:00
Yosi Levy
b495667e8d Various dev tools RTL fixes (#14118) 2022-10-20 11:22:56 +02:00
Brandon Rothweiler
a46e72ffbd Fix duplicate trigger IDs showing in the Triggered By condition (#14122) 2022-10-20 11:20:46 +02:00
Bram Kragten
0a2eb05062 Only change dialog for camera in info tab (#14130) 2022-10-20 11:19:35 +02:00
Bram Kragten
c9b5fe9a85 Bumped version to 20221020.0 2022-10-20 10:15:36 +02:00
Igor Santos
58d5a07a43 Allow negative values in gauge severity config GUI (#14123) 2022-10-19 20:20:18 +00:00
Josh McCarty
c44de09a7c Add any step for input number settings to match server-side validation (#14121) 2022-10-19 22:07:01 +02:00
epenet
a0b645d1b9 Add precipitation_intensity sensor device class (#14027) 2022-10-19 22:02:01 +02:00
epenet
0b6c6b2b98 Rename imperial unit system to us_customary (#14092) 2022-10-19 22:00:11 +02:00
krazos
bad3edc340 Fix translation of Duplicate label in automation and script editors (#14131) 2022-10-19 21:59:49 +02:00
epenet
d3015c362d Add support for mm/h on generic speed (#14031) 2022-10-19 15:02:39 +02:00
Franck Nijhof
fbb8ff4362 Integrations v2.1: compatibility with hubs, devices and services (#14114) 2022-10-19 12:41:57 +02:00
Bram Kragten
6393d59035 make open in new icon a bit smaller (#14125) 2022-10-19 10:49:56 +02:00
Bram Kragten
62de708b2b Align border radius (#14124) 2022-10-19 10:49:47 +02:00
Alex van den Hoogen
6c4c65730c Set more-info dialog max-width to fit all languages (#14110) 2022-10-17 16:15:01 +00:00
Travis Collins
23f8373b16 fix history graph configuration timeline update (#14101) 2022-10-17 18:02:11 +02:00
Paul Bottein
dec8883f2a Introduce tile card (#14085) 2022-10-17 11:43:49 +02:00
Josh McCarty
a475b06d49 Format entity & sensor card with manual units; fix param comment typo (#14090) 2022-10-17 11:15:37 +02:00
Travis Collins
0972cb4583 Fix pickers not getting focus (#14068)
* fix focus pickers

* await nextRender instead of setTimeout

* use bram's code

* Update src/components/ha-target-picker.ts

Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>

Co-authored-by: Steve Repsher <steverep@users.noreply.github.com>
2022-10-17 11:01:17 +02:00
Yosi Levy
dad7c43fd2 Fix min width so entire date/time will be presented (#14105) 2022-10-17 10:53:06 +02:00
Paul Bottein
7e6a9f1653 Remove box shadow for ha-card (#14063)
* Remove box shadow for ha-card

* add raised style in case of raised card needed

* add box-sizing: border-box

* Allow box-shadow theming

* Restore box-shadow theme in date range picker

* Restore hui unused entities card box shadow none

* Apply suggestions from code review

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

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-17 10:20:11 +02:00
Brandon Rothweiler
f627e98902 Improve pluralization in automation descriptions (#14080)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-17 09:50:11 +02:00
Travis Collins
0d623794ed Mark attribute as optional (#14067)
* Mark attribute as optional

* move optional to a separate translation

* indicate required fields, not optional fields
2022-10-17 09:45:28 +02:00
Paul Bottein
0a3fa3e218 Ha selector UI action (#14082)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-13 12:43:24 +00:00
Paul Bottein
19887fbd54 Remove undefined key in lovelace card config (#14081) 2022-10-13 14:31:55 +02:00
Bram Kragten
fe9967550b Load selector elements dynamic (#14084)
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2022-10-13 14:28:49 +02:00
Matthias de Baat
9b19b6f203 Remove confusing header image (#14070)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-13 09:30:37 +00:00
Yosi Levy
797718f478 Fix automation trace RTL (#14079) 2022-10-13 11:26:19 +02:00
Paul Bottein
9ea0e3a75f Fix keyboard keys for tap action (#14071) 2022-10-13 11:17:04 +02:00
Josh McCarty
0b76b60f6e Format input_number field consistently (#14076) 2022-10-13 11:14:43 +02:00
karliemeads
d8be662bd6 Fix timezone problem for "Today" in the Date Picker. (#14043) 2022-10-13 11:04:28 +02:00
jrobles98
c478a15846 Fix Map Card styling boundaries (#14050) 2022-10-13 11:04:04 +02:00
Paul Bottein
811208363b Bigger pin for ha-slider to support 4 digits numbers (#14072) 2022-10-12 22:45:08 +02:00
Steve Repsher
969772663b Fix localize key errors in options flow, repairs flow, and integrations (#14060) 2022-10-11 15:47:41 +02:00
Patrick ZAJDA
c3b9438b3b Also handle enter key on ignore menu for discovered integrations (#14061) 2022-10-11 15:46:11 +02:00
pataar
9b51df02d6 Update yarn to version 3.2.3 (#13992) 2022-10-11 15:45:34 +02:00
Pierre
8a4b0b081a fix(mobile): add safe-area-inset on app layout and specific views (#14032) 2022-10-11 15:45:15 +02:00
Bram Kragten
1ecc88291d Handle multiple times in time trigger (#14006) 2022-10-11 15:41:21 +02:00
Erik Montnemery
fb80da013e Use color temperatures in Kelvin in more_info_light (#14016) 2022-10-10 20:12:36 +02:00
Steve Repsher
a4fcb743fa Add autocomplete to onboarding, cloud, and password change (#14040) 2022-10-10 19:54:16 +02:00
Steve Repsher
8444fe0a07 Include backend translations in Lokalise download (#13981) 2022-10-10 17:12:25 +02:00
Steve Repsher
1442f6d546 Fix localize key error in developer tools & remove exception (#14045) 2022-10-10 17:05:34 +02:00
Sven Serlier
c468fba36f Fix demo leak sensor (#14046) 2022-10-10 17:04:49 +02:00
karliemeads
2afbfb01bd Fix zero for a slider in a blueprint (#14053)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-10 15:00:10 +00:00
Paul Bottein
907466d060 Add first weekday option in profile (#13991) 2022-10-10 16:58:27 +02:00
jrobles98
4deee46864 Refactor css variable because of a typo in dialogs, no change in any behaviour (#14056) 2022-10-10 14:53:52 +00:00
Brandon Rothweiler
391cc95883 Automation description small fixes (#14055) 2022-10-10 16:43:32 +02:00
Michael Varrieur
0c800344d2 Add custom selectUnit, use in relativeTime function (#14008) 2022-10-10 14:26:02 +00:00
Joakim Sørensen
08279f35cf Ignore progress if no progress (#14024) 2022-10-10 16:21:46 +02:00
Paul Bottein
05f2ef8a37 Some fixes for low carbon display (#14020) 2022-10-10 16:21:02 +02:00
Travis Collins
3a41b4e65b Fix calendar card list view (#14013) 2022-10-10 14:16:49 +00:00
karliemeads
e08c12c4dd Validate hours after tabbing out of field during time input (#13949) 2022-10-10 15:56:43 +02:00
dependabot[bot]
bb0884c4bb Bump actions/stale from 6.0.0 to 6.0.1 (#14058)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-10 13:27:57 +02:00
Bram Kragten
45646eaf0b 20221010.0 (#14059) 2022-10-10 09:23:02 +02:00
Bram Kragten
d735b2b722 Update pyproject.toml 2022-10-10 09:22:06 +02:00
Paulus Schoutsen
310b110b8b Fix Google Cloud enable/disable toggle (#14035) 2022-10-07 14:20:39 +00:00
Bram Kragten
06557709ae 20221006.0 (#14023) 2022-10-06 17:36:53 +02:00
Bram Kragten
1b5571557c Bumped version to 20221006.0 2022-10-06 16:51:53 +02:00
Erik Montnemery
712ecbd13c Adjust statistics issues (#14022)
* Adjust statistics issues

* Fix lint error

* Quote units

* prettier

* screw lit/quoted-expressions

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-06 16:51:00 +02:00
Bram Kragten
ea286b6fac Update translations 2022-10-06 16:31:50 +02:00
karliemeads
a2953138f4 Fix onboarding create new user password checks (#14010) 2022-10-06 16:07:16 +02:00
Bram Kragten
b327d6e0bc 20221005.0 (#14007) 2022-10-05 16:42:29 +02:00
Bram Kragten
88983806ae Bumped version to 20221005.0 2022-10-05 16:38:36 +02:00
Bram Kragten
1ac701d1c8 change yaml integration dialog (#14003)
* change yaml integration dialog

* Update dialog-yaml-integration.ts

* Update src/panels/config/integrations/dialog-yaml-integration.ts

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

Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2022-10-05 16:26:06 +02:00
karliemeads
aaeca323d4 Highlight focus on show/hide password toggle (#13997) 2022-10-05 15:01:43 +02:00
Erik Montnemery
83a4fd6c1b Improve explanation of configuration validation (#14000) 2022-10-05 12:12:28 +02:00
Bram Kragten
ef9643ddaf Fix energy demo (#14002) 2022-10-05 11:03:49 +02:00
Bram Kragten
af93ec1b92 Fix zwave config flow (#14001) 2022-10-05 10:45:39 +02:00
Bram Kragten
4dce9404a4 20221004.0 (#13987) 2022-10-04 17:09:56 +02:00
Raman Gupta
ed54c70e75 Update zwave_js firmware update event interfaces (#13982) 2022-10-04 16:43:05 +02:00
Bram Kragten
114507b5cb Bumped version to 20221004.0 2022-10-04 16:42:19 +02:00
Bram Kragten
8eddaa1914 Filter out homekit and matter iot standards (#13985)
* Filter out homekit and matter iot standards

* add divider between discovered

* Update dialog-add-integration.ts

* Update ha-domain-integrations.ts

* Update en.json

* Change headers

* update styling

* translation
2022-10-04 16:25:30 +02:00
krazos
37394f7bc5 Update script picker to use relative time for last_triggered (#13973) 2022-10-04 11:40:12 +02:00
krazos
d5cdd53fab Update scene dashboard to use relative time for last_activated (#13974) 2022-10-04 11:39:55 +02:00
krazos
0ac2393ecb Update automation picker to use differenceInDays from date-fns (#13980) 2022-10-04 10:45:15 +02:00
Arun S. Sekher
c38892a162 Add Malayalam language. (#13854)
* Add Malayalam language.

Update translationMetadata.json to add the language Malayalam.

* Apply suggestions from code review

Remove two extra spaces on line 121.

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

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-04 08:33:08 +02:00
Allen Porter
c77e5dee84 Allow remote WebRTC playback using STUN server from RTSPtoWeb integration (#13942)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-10-03 21:10:57 -04:00
Bram Kragten
3752336a9a 20221003.0 (#13979) 2022-10-03 20:02:17 +02:00
Bram Kragten
70d4fe1285 main col device data table none narrow (#13977) 2022-10-03 20:02:00 +02:00
Bram Kragten
d3738adf11 Bumped version to 20221003.0 2022-10-03 19:41:15 +02:00
Bram Kragten
7ededd2766 Disable trigger id for read only automation (#13976) 2022-10-03 17:40:22 +00:00
Franck Nijhof
ed8b07b7e2 Render automation description as Markdown (#13975) 2022-10-03 19:29:55 +02:00
Erik Montnemery
c12189b27f Add isExternalStatistic helper (#13969) 2022-10-03 19:11:03 +02:00
Allen Porter
9c923e45c5 Improve video user experience by loading camera thumbnail as initial video background image (#13943) 2022-10-03 18:38:25 +02:00
Paul Bottein
66bfdb6d12 Fix empty value combobox (#13971) 2022-10-03 17:42:30 +02:00
Erik Montnemery
aa673774a8 Correct filtering of statistics when adding gas energy source (#13968) 2022-10-03 13:38:22 +02:00
mbo18
8c7974e466 Add icon to device class duration (#13961)
* Add icon to device class duration

* Change to mdiProgressClock
2022-10-03 13:37:37 +02:00
Bram Kragten
a70e2342a2 Add main column to data table (#13966) 2022-10-03 13:37:00 +02:00
Paul Bottein
b5c9aae1aa Update delete area dialog (#13967) 2022-10-03 10:39:54 +00:00
Bram Kragten
93893d0237 Don't include all homekit discovery items for integrations that suppo… (#13960) 2022-10-03 11:43:17 +02:00
Bram Kragten
ad3dcb355f Use formatDateNumeric in repair dialog (#13964) 2022-10-03 11:43:06 +02:00
Kyle Niewiada
952b433b2c Support typing negative values for ha-form-float (#13940) 2022-10-03 11:02:00 +02:00
Yosi Levy
200fff506c Fix alignment of float label (#13958) 2022-10-03 10:22:01 +02:00
Bram Kragten
e84b9b7c6f 20221002.0 (#13953) 2022-10-02 20:43:53 +02:00
Bram Kragten
e2a89b1157 Bumped version to 20221002.0 2022-10-02 20:19:51 +02:00
Bram Kragten
cb0310593c Change add application credential flow (#13951)
* Change add application credential flow

* Update step-flow-abort.ts

* import

* Add missing credential docs link

* Load description, show only that if available

* Update dialog-add-application-credential.ts

* pass along manifest

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-02 20:19:32 +02:00
Bram Kragten
c14d9ab957 Link discovered homekit devices to domain (#13950) 2022-10-02 13:10:41 -04:00
Bram Kragten
dd695545d3 Make duplicate script/automation work in picker for yaml (#13952)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-02 13:10:15 -04:00
Franck Nijhof
176d8567f4 Add condition description for trigger condition (#13941) 2022-10-02 17:39:15 +02:00
Bram Kragten
4f4a95c04e Normalize automation config (#13938)
* Normalize automation config

* gen

* Update ha-automation-action-choose.ts
2022-10-01 18:02:24 -04:00
Erik Montnemery
6393944a1b Adapt to removal of statistics state_unit_of_measurement (#13935)
* Adapt to removal of statistics state_unit_of_measurement

* Tweak
2022-10-01 18:55:05 +02:00
Paul Bottein
f768c5ef7f Remove back path from UI (#13936)
Remove back path from UI as it can be edited with yaml editor
2022-09-30 22:23:55 +02:00
Bram Kragten
650d579d05 Link google assistant, alexa and cloud to cloud config (#13933) 2022-09-30 14:52:20 -04:00
Bram Kragten
9811f2681c Add add device fab to devices page (#13931) 2022-09-30 17:37:09 +02:00
Paul Bottein
6a3ac9116e Add yaml mode to view editor (#13926) 2022-09-30 17:29:29 +02:00
amitfin
2a6ef9b955 Read correctly the minutes of a schedule (#13929) 2022-09-30 17:21:54 +02:00
Bram Kragten
b9395e1c97 Add support for brand images (#13930) 2022-09-30 14:50:01 +02:00
Paul Bottein
cd8c1f42ca Remove inert property on combobox overlay when items change (#13928) 2022-09-30 14:41:09 +02:00
Joakim Sørensen
0ec887ad50 Remove test devices from move datadisk dialog (#13927) 2022-09-30 11:27:59 +02:00
Erik Montnemery
f8a7737eb9 Align with backend statistics WS API changes (#13913)
Align with backend statists WS API changes
2022-09-30 08:38:56 +02:00
Bram Kragten
3e01597a38 20220929.0 (#13920) 2022-09-29 18:23:01 +02:00
Bram Kragten
6d230ebd65 Bumped version to 20220929.0 2022-09-29 18:17:14 +02:00
Bram Kragten
9035e8e9dc Add back loading manifests of loaded integrations (#13919) 2022-09-29 18:14:34 +02:00
Bram Kragten
7ff138534f Show non-editable scripts in UI (#13917) 2022-09-29 12:11:48 -04:00
Bram Kragten
0b76183acd Show non-editable automations in UI (#13900) 2022-09-29 12:11:29 -04:00
Paul Bottein
9f658c10c3 Hide restored scripts from scripts list (#13916) 2022-09-29 15:48:26 +02:00
Bram Kragten
72ed6fdd6b fix brand discovery 2022-09-29 14:51:56 +02:00
Bram Kragten
3bdc5ad420 optimize 2022-09-29 14:41:25 +02:00
Bram Kragten
8d2f7d99af Fixes for add integration (#13914) 2022-09-29 14:32:24 +02:00
Bram Kragten
b88317f1d3 change values when unsupported_unit_metadata_can_convert (#13903) 2022-09-28 22:52:40 -04:00
Bram Kragten
8ccd0426dd Add my support for brands (#13909) 2022-09-28 20:34:11 -04:00
Bram Kragten
c17e8ba65a hide none config flow integrations from brand (#13907)
* hide none config flow integrations from brand

* filter

* Add support for not config flow domain integrations
2022-09-28 22:42:23 +02:00
Bram Kragten
d9f1540115 add support for stats units_changed_can_convert issues (#13902) 2022-09-28 12:46:07 -04:00
Bram Kragten
1b480248d1 Update translations 2022-09-28 18:31:40 +02:00
Bram Kragten
e88bb1114b 20220928.0 (#13904) 2022-09-28 18:14:25 +02:00
Bram Kragten
80e868e281 Merge branch 'master' into dev 2022-09-28 17:51:19 +02:00
Bram Kragten
d8a49c6eec Bumped version to 20220928.0 2022-09-28 17:43:09 +02:00
uvjustin
594ee85bbe Add stream orientation to camera entity registry settings (#13512) 2022-09-28 17:41:32 +02:00
Mark Parker
182b8f809c Prevent service call error if preset_mode is null (#13825) 2022-09-28 17:40:08 +02:00
Bram Kragten
8e4bebb694 Integrations v2 (#13887)
* WIP: Integrations v2

* update

* manifests

* update wording

* show yaml only

* Show spinner

* Update

* Use virtulizer

* Update

* change interval if 5 min stats

* remove yaml

* fix application credentials

* Add zwave and zigbee device support

* make back button bigger

* margin
2022-09-28 17:39:40 +02:00
Paul Bottein
dddb922593 Add Learn how it works link to cloud account (#13693) 2022-09-28 13:05:50 +00:00
Bram Kragten
da38cbccf1 change interval if 5 min stats 2022-09-28 15:03:01 +02:00
Erik Montnemery
71c43058ea Support displaying relative change in statistics graph cards (#13837)
* Support displaying relative change in statistics graph cards

* Address review comments

* Add option to display state

* Drop absolute sum option

* Drop period if invalid

* prevent fetching stats twice

* Change stat_types to supported ones for statistics

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-09-28 12:51:41 +00:00
Erik Montnemery
f9d119d33d Add icons for new sensor device classes (#13895) 2022-09-28 14:00:47 +02:00
Erik Montnemery
d3b97ae91c Add support for overriding sensor weight unit (#13897) 2022-09-28 12:15:23 +02:00
Paul Bottein
5146fa1d9e Update join beta dialog (#13847) 2022-09-28 09:27:34 +00:00
Paul Bottein
fc86a66c33 Use unique id for script (#13817)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-09-28 09:27:09 +00:00
Ignacio Hernandez-Ros
3959a7475c Bug Fix, can't create schedule on Sunday (#13876) 2022-09-28 09:08:30 +00:00
Paul Bottein
61d09072a7 Update Uninstall add-on dialog (#13898) 2022-09-28 11:02:09 +02:00
Paul Bottein
4a07d3d39b Update Restart add-on dialog (#13896) 2022-09-28 11:01:12 +02:00
Paul Bottein
be30cdb51f Update change password dialog (#13888)
* Update change password dialog

* Improve wording

* Update modal for people page

* Remove useless async
2022-09-28 11:00:36 +02:00
Meow
894258d7b8 fixed duplicate unit_of_measurement (#13884) 2022-09-28 10:53:25 +02:00
Erik Montnemery
296d5f8ffe Add support for overriding sensor distance unit (#13831) 2022-09-28 09:11:34 +02:00
Erik Montnemery
d1c2020ee4 Add support for overriding sensor speed unit (#13832) 2022-09-28 08:49:42 +02:00
Erik Montnemery
3c1b2aa4f3 Add support for overriding sensor volume unit (#13833) 2022-09-28 08:22:16 +02:00
Bram Kragten
17a11809de Prevent re-creation of custom panel when content was not changed (#13747) 2022-09-27 13:39:05 -04:00
David F. Mulcahey
3083d5b04c Clean up ZHA configuration UI (#13610) 2022-09-27 16:02:45 +02:00
Paul Bottein
0848c096b9 Fix script config form (#13878) 2022-09-27 15:40:38 +02:00
Paul Bottein
8d5c36a96a Fix more info with unnamed entity (#13859) 2022-09-27 15:39:49 +02:00
Paul Bottein
cc76a6c5ed Add unique_id to entity registry (#13886) 2022-09-27 15:39:14 +02:00
Paul Bottein
01fd2787be Update add application credentials dialog (#13879) 2022-09-27 15:38:29 +02:00
Paul Bottein
c79955e76a Add subview option to dashboard views (#13822) 2022-09-27 15:37:48 +02:00
dependabot[bot]
51874329d1 Bump actions/stale from 5.2.0 to 6.0.0 (#13874)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-26 14:15:58 +02:00
Erik Montnemery
6252955bb5 Simplify energy settings (#13846) 2022-09-23 09:03:17 +02:00
Paul Bottein
5422fda990 Update import blueprint dialog (#13840) 2022-09-22 15:24:15 +02:00
Paul Bottein
db8bc9d34a Update delete automation dialog (#13765) 2022-09-22 15:22:20 +02:00
Paul Bottein
9f19bdde65 Allow proxy in codespaces env for core (#13842) 2022-09-22 15:21:42 +02:00
Bram Kragten
7336c1280f Fix select issues (#13839) 2022-09-22 15:19:59 +02:00
Bram Kragten
8e245c8a83 Fix move data disk dialog (#13845) 2022-09-22 15:19:34 +02:00
Allen Porter
5a150ac80d Prompt user to remove application credentials when deleting the integration configuration (#13159)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-09-22 10:47:08 +02:00
Paul Bottein
eac13980ff Add navigation picker for dashboards (#13826)
* Add navigation picker for dashboards

* Rename to navigation

* Fix empty title and path

* Use hass panels instead of fetching dashboards

* Apply suggestions
2022-09-21 14:42:51 +02:00
Erik Montnemery
977fdd9fbb Add missing translations to statistics graph card editor (#13836) 2022-09-21 09:30:58 +00:00
Paul Bottein
cedde3d6a2 Avoid overflow with combobox (#13835) 2022-09-21 11:23:22 +02:00
Bram Kragten
56c78ae108 Fix price units for gas (#13824) 2022-09-21 11:16:19 +02:00
Erik Montnemery
82a641a200 Fix unit columns for statistics developer tool (#13830) 2022-09-21 11:15:57 +02:00
Erik Montnemery
04181e9c28 Adapt energy to core changes (#13779) 2022-09-20 17:44:03 -04:00
Paul Bottein
4b8960c236 Update Move datadisk (not found) dialog (#13812) 2022-09-19 12:39:05 +00:00
Paul Bottein
fc104e7280 Fix name in confirmation delete dialog (#13815) 2022-09-19 12:34:06 +02:00
Paul Bottein
8c125f4dee Update Delete automation trigger/condition/action dialog (#13813) 2022-09-19 12:33:27 +02:00
Paul Bottein
b93f457d53 Add destructive style to scene delete button (#13814) 2022-09-19 12:32:17 +02:00
Paul Bottein
e8ce6ad919 Improve confirm unsaved dialog (#13807) 2022-09-19 11:35:33 +02:00
Salamandar
0ce695577c Fix shortcuts for non-qwerty keyboard layouts (revert #12892) (#13190) 2022-09-19 08:21:45 +00:00
Franck Nijhof
50b67751d9 Fix time trigger description pointing to entity (#13786) 2022-09-19 10:11:56 +02:00
Franck Nijhof
05515f21c3 Add timer states to state selector (#13788) 2022-09-19 10:11:10 +02:00
Paul Bottein
063c377797 Fix back button on automation editor on Safari (#13806) 2022-09-19 10:10:50 +02:00
dependabot[bot]
aee11da671 Bump actions/stale from 5.1.1 to 5.2.0 (#13805)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-19 09:22:59 +02:00
Paul Bottein
5fcb219fcd Update delete script dialog (#13768) 2022-09-16 16:40:41 +02:00
Paul Bottein
a97dfbb51f Update delete blueprint dialog (#13770) 2022-09-16 16:40:25 +02:00
Paul Bottein
c5f4e8ffdd Update certificate information dialog (#13773) 2022-09-16 16:40:10 +02:00
Paul Bottein
7ffd30643a Update delete person dialog (#13763) 2022-09-16 16:39:51 +02:00
Paul Bottein
dcfcd54f10 Update delete scene dialog (#13767) 2022-09-16 16:39:29 +02:00
Paul Bottein
3b103619ec Update delete resource dialog (#13764) 2022-09-16 16:38:29 +02:00
Paulus Schoutsen
614c1574ca Type outgoing messages on EM and add matter (#13775) 2022-09-16 08:33:21 -04:00
Paul Bottein
e1e3f9d925 Update delete and disable integration dialog (#13772) 2022-09-16 13:52:26 +02:00
Paul Bottein
0ba4a07b92 Update webhook dialog (#13774) 2022-09-16 13:50:44 +02:00
Paul Bottein
5a5f31b32c Update restart Home Assistant dialog (#13776) 2022-09-16 13:49:15 +02:00
Paul Bottein
ff92768973 Update reboot shutdown host dialog (#13777) 2022-09-16 13:48:55 +02:00
Erik Montnemery
bb0529ecd2 Improve statistics graph editor (#13630) 2022-09-16 13:48:10 +02:00
Paul Bottein
bc62e9372b Update delete dashboard dialog (#13762) 2022-09-16 13:40:41 +02:00
Erik Montnemery
087a897cbe Add comment about input number not supporting initial (#13758) 2022-09-16 13:40:08 +02:00
Franck Nijhof
589efa8cc5 Exclude scenes, schedules & updates from scenes (#13759) 2022-09-16 13:39:38 +02:00
Bram Kragten
c93179c307 Use primary color for active tabs in traces (#13760) 2022-09-16 13:38:45 +02:00
Paul Bottein
9e416e829c Do not recreate entities list at each re-order (#13751) 2022-09-16 13:38:31 +02:00
Paul Bottein
e13c632afa Update delete user dialog (#13761)
* Add destructive confirmation style

* Update delete user dialog
2022-09-15 16:21:25 +02:00
Erik Montnemery
544c8fe3bb Improve StatisticsChart to only fetch needed metadata (#13617) 2022-09-15 11:58:26 +00:00
Paul Bottein
81b21f874b Improve cover entity definition (#13750) 2022-09-15 12:31:36 +02:00
Bram Kragten
ea319d55ef Allow to disable a select option (#13618) 2022-09-15 12:00:00 +02:00
Paul Bottein
8c03bbdccc Improve light entity definition (#13744) 2022-09-15 11:58:36 +02:00
Paul Bottein
321914d53a Fix empty hardware when fetching hardware info (#13738) 2022-09-14 09:13:32 +00:00
Paul Bottein
fe46f759c9 Fix system blank page (#13731) 2022-09-14 09:09:05 +02:00
Paul Bottein
490d46396e Fix system blank page (#13731) 2022-09-14 09:08:37 +02:00
Bram Kragten
7ec28c4314 Bumped version to 20220907.2 2022-09-14 09:03:46 +02:00
Bram Kragten
e9f4307d15 Fix hass subpage (#13730) 2022-09-14 09:03:39 +02:00
Bram Kragten
3c62bc9b18 Fix hass subpage (#13730) 2022-09-14 09:02:51 +02:00
Erik Montnemery
28bae5071c Revert "Add initial field to the helper input_number in UI" (#13713) 2022-09-13 21:01:03 +02:00
Bram Kragten
e9281ad9f1 Bumped version to 20220907.1 2022-09-13 20:58:07 +02:00
Bram Kragten
78187c5b0b improve duration rendering for state trigger (#13723) 2022-09-13 20:57:54 +02:00
Bram Kragten
f164ad0b89 use the correct inputmode (#13722) 2022-09-13 20:57:18 +02:00
Erik Montnemery
48b10005e3 Revert "Add initial field to the helper input_number in UI" (#13713) 2022-09-13 14:53:55 -04:00
Bram Kragten
b3d64fc52a use the correct inputmode (#13722) 2022-09-13 18:53:19 +00:00
Bram Kragten
23e5a47b3b improve duration rendering for state trigger (#13723) 2022-09-13 20:49:39 +02:00
Pierre
55d84973c6 fix: add previous repeat action configuration on change (#13717) 2022-09-13 20:31:40 +02:00
Paul Bottein
de90a62de7 Show confirm dialog when clicking traces (#13716) 2022-09-13 20:31:17 +02:00
Joakim Sørensen
3a17f2d73e Fix open config flow when coming from a my link (#13720) 2022-09-13 20:30:52 +02:00
Paul Bottein
8f6a09f44c Don't use selector inside choose action (#13705) 2022-09-13 20:30:35 +02:00
Paul Bottein
d78191efa6 Fix rtl support for hass subpage layout (#13702) 2022-09-13 20:30:17 +02:00
Joakim Sørensen
749d869e03 Guard repairs subscription (#13708) 2022-09-13 20:30:02 +02:00
Erik Montnemery
5d6f446c30 Fix customizing sensor unit (#13710) 2022-09-13 20:29:47 +02:00
Joakim Plate
3cf14bb2e1 Revert "Either show range or fix target temperature... #13638 (#13706) 2022-09-13 20:29:29 +02:00
Paul Bottein
f7253a73a5 Fix script config editor (#13703) 2022-09-13 20:27:10 +02:00
Joakim Plate
cfabaa8716 Display entity friendly name for disabled entities (#13696) 2022-09-13 20:26:49 +02:00
Paul Bottein
032f497687 Fix empty value for state picker (#13699) 2022-09-13 20:26:29 +02:00
Felipe Santos
432483b3d2 Use newspaper icon for change log button (#13668) 2022-09-13 20:26:08 +02:00
krazos
e95d5b1afb Eliminate redundant "for" in trigger description (#13669) 2022-09-13 20:21:24 +02:00
Bram Kragten
330f3e5ce4 use input instead of change (#13660) 2022-09-13 20:20:54 +02:00
Paul Bottein
fee6ae3045 Move automation trace actions to overflow menu (#13656) 2022-09-13 20:20:38 +02:00
Joakim Sørensen
5e431a07ad Guard more of the hardware panel (#13650) 2022-09-13 20:20:20 +02:00
uvjustin
5d4c090b26 Bump hls.js to v1.2.3 (#13718) 2022-09-13 20:15:01 +02:00
Pierre
b84240edbc fix: add previous repeat action configuration on change (#13717) 2022-09-13 20:00:20 +02:00
Paul Bottein
f4dc74b2e8 Show confirm dialog when clicking traces (#13716) 2022-09-13 19:59:35 +02:00
Joakim Sørensen
c95d19299b Fix open config flow when coming from a my link (#13720) 2022-09-13 19:58:32 +02:00
Paul Bottein
7696df56ac Don't use selector inside choose action (#13705) 2022-09-13 10:43:38 +02:00
Paul Bottein
771733d326 Fix rtl support for hass subpage layout (#13702) 2022-09-13 10:42:15 +02:00
Joakim Sørensen
4f3c708109 Guard repairs subscription (#13708) 2022-09-13 10:41:19 +02:00
Erik Montnemery
d2078a7e50 Fix customizing sensor unit (#13710) 2022-09-13 10:40:48 +02:00
Joakim Plate
d70cb24722 Revert "Either show range or fix target temperature... #13638 (#13706) 2022-09-13 10:40:18 +02:00
Paul Bottein
6902537666 Fix script config editor (#13703) 2022-09-12 11:04:07 -05:00
Joakim Plate
9ea1f61971 Display entity friendly name for disabled entities (#13696) 2022-09-12 15:55:03 +02:00
Paul Bottein
782c95cf04 Fix empty value for state picker (#13699) 2022-09-12 15:53:18 +02:00
Erik Montnemery
d5d6216cfe Move recorder statistics API to data/recorder.ts (#13672)
* Move recorder statistics API to data/recorder.ts

* Fix import

* prettier
2022-09-12 13:23:02 +02:00
Felipe Santos
1086c85964 Use newspaper icon for change log button (#13668) 2022-09-12 12:22:49 +02:00
krazos
47c0901df2 Eliminate redundant "for" in trigger description (#13669) 2022-09-12 11:57:53 +02:00
J. Nick Koston
d323ab6726 Add support for subscribing to config entry changes (#13585) 2022-09-11 10:22:26 -05:00
Erik Montnemery
07b5856190 Don't call deprecated history/* statistics API (#13658) 2022-09-08 16:03:35 -04:00
Bram Kragten
462dee0351 use input instead of change (#13660) 2022-09-08 17:43:36 +02:00
Paul Bottein
f181a085de Move automation trace actions to overflow menu (#13656) 2022-09-08 12:00:52 +02:00
Joakim Sørensen
bf5589b88d Guard more of the hardware panel (#13650) 2022-09-07 19:59:08 -05:00
Bram Kragten
c5428d8581 20220907.0 (#13646) 2022-09-07 16:54:32 +02:00
Bram Kragten
fd431f36f7 Fix state picker (#13644) 2022-09-07 16:43:04 +02:00
Bram Kragten
7acf3a049e Bumped version to 20220907.0 2022-09-07 16:33:01 +02:00
Bram Kragten
cfb0e8b39e cleanup script editor (#13639) 2022-09-07 16:26:32 +02:00
Bram Kragten
a3abbf3812 remove tabs from trace pages (#13640) 2022-09-07 16:26:22 +02:00
Philip Allgaier
980156d23a Add separator option to overflow icon menu (#13627) 2022-09-07 13:56:18 +00:00
Paul Bottein
37c2a3636e Improve scene layout (#13641) 2022-09-07 15:33:17 +02:00
Raman Gupta
b682d13486 Change typing of zwave_js API return based on lib version bump (#13393) 2022-09-07 08:13:13 -05:00
Philip Allgaier
7f82b90c25 Either show range or fix target temperature control in climate more-info (#13638) 2022-09-07 14:27:54 +02:00
Paul Bottein
3e9d6ea2c5 Bring reorder mode to script sequence (#13636) 2022-09-07 14:25:06 +02:00
Paul Bottein
57c5c1c191 Remove re order mode for blueprint automation editor (#13637) 2022-09-07 14:23:42 +02:00
Paul Bottein
b553a3fd92 Some fixes for automation picker and editor (#13634) 2022-09-07 07:47:56 -04:00
Paul Bottein
d1964e92ea Some fixes for script picker and editor (#13635)
* Show error when user try to delete or duplicate yaml only script

* Use same layout as automation
2022-09-07 07:47:24 -04:00
Zack Barett
a889969bb8 Fix Back button on Safari and disable information menu item until saved (#13633) 2022-09-07 01:53:09 +00:00
Paul Bottein
f80b2c578b Fix run script translation (#13626)
fix translation
2022-09-06 17:42:15 +00:00
Paulus Schoutsen
579f73e08f 20220906.0 (#13623) 2022-09-06 11:53:07 -04:00
Bram Kragten
d13c6d3e7b Bumped version to 20220906.0 2022-09-06 17:38:39 +02:00
Bram Kragten
e78c875e8e Add last activated column to scenes data table (#13622) 2022-09-06 17:34:49 +02:00
Bram Kragten
5e8c54b00f Update ha-config-helpers.ts 2022-09-06 16:50:02 +02:00
Paul Bottein
71bc74893f Add overflow menu for script picker (#13620) 2022-09-06 16:48:22 +02:00
Paul Bottein
df72e5099e Add overflow menu for scene picker (#13621) 2022-09-06 16:48:09 +02:00
Paulus Schoutsen
e6862daa38 Avoid script editor dirty on load (#13619) 2022-09-06 15:33:53 +02:00
Paul Bottein
66db8c999f Open external device configuration url to a new tab/window (#13613)
* Open external device configuration url to a new tab/window

* Remove rel in action options
2022-09-06 10:24:03 +00:00
Joakim Sørensen
00bc315fc1 Fetch OS info from Supervisor if we do not return anything for hardware (#13614)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-09-06 09:48:41 +00:00
Paul Bottein
f461825a59 Fix icon picker in dialog (#13616) 2022-09-06 09:48:13 +00:00
Bram Kragten
8c98326e31 Fix netlify demo deploy (#13611) 2022-09-05 20:24:09 -04:00
Bram Kragten
7bb619b0c3 Update translations 2022-09-06 01:26:34 +02:00
Bram Kragten
07bc9081b8 dont remove id from automation config (#13609) 2022-09-05 22:46:30 +00:00
Philip Allgaier
91fa5972d1 Prevent combo box issues with duplicate labels (#13608) 2022-09-06 00:33:39 +02:00
Bram Kragten
abbfde19a2 20220905.0 (#13604) 2022-09-05 19:54:14 +02:00
Bram Kragten
ccd617d68e Bumped version to 20220905.0 2022-09-05 19:39:30 +02:00
Bram Kragten
8a7f35cee6 Improve rename automation dialog (#13601) 2022-09-05 19:38:51 +02:00
Bram Kragten
e510e5b371 Link logbook row to trace if available (#13599)
* Link logbook row to trace if available

* Update ha-logbook-renderer.ts
2022-09-05 19:36:09 +02:00
Paul Bottein
aa6ee0f6d2 Fix icon picker reset by hass update (#13587)
* Fix icon picker reset by hass update

* Update src/components/ha-icon-picker.ts

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

* Only update when not opened

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-09-05 19:01:20 +02:00
Bram Kragten
f3449c4d9b Add description to automation editor (#13603) 2022-09-05 19:00:54 +02:00
Matthias de Baat
3c289deb21 Add remove, delete, add and create guidelines (#13593)
Co-authored-by: Philip Allgaier <philip.allgaier@gmx.de>
2022-09-05 18:28:54 +02:00
Paul Bottein
847d163cc8 Disable close on outside click for rename + mode dialogs (#13602) 2022-09-05 16:26:32 +00:00
Paul Bottein
28d11703fc Reorder overflow menu (#13596) 2022-09-05 18:18:58 +02:00
Bram Kragten
1f003ae3be Remove tabs from area and device pages (#13600) 2022-09-05 18:18:32 +02:00
chpego
a57d7813e7 typo dialogs (#13598) 2022-09-05 15:55:48 +00:00
J. Nick Koston
5842b10a10 Handle logbook updates where the new records are in the middle of the old records (#13595) 2022-09-05 17:47:48 +02:00
Paul Bottein
8ee9655bd5 On larger screens, move traces button out of the overflow menu (#13597) 2022-09-05 17:44:10 +02:00
Paul Bottein
3ef567dcd5 Automation change mode dialog (#13591) 2022-09-05 17:43:34 +02:00
Joakim Sørensen
37f6b4f6be Show hardware if hassio or hardware (#13594) 2022-09-05 16:47:28 +02:00
Philip Allgaier
a817faae54 Add back blank before percent sign ("%") based on language (#13590)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-05 12:49:21 +00:00
Paul Bottein
ab745f6e8e Reorder automation elements (#13548) 2022-09-05 08:19:38 -04:00
Bram Kragten
02d608b704 only show cpu and mem when available (#13589) 2022-09-05 08:12:04 -04:00
Bram Kragten
310df387e7 Fix tag trigger (#13588) 2022-09-05 08:08:52 -04:00
Bram Kragten
fe8e79a67f Remove tabs from scene and script edit page (#13592) 2022-09-05 08:03:00 -04:00
Paulus Schoutsen
8ffe676827 Move edit description into rename dialog (#13580) 2022-09-05 10:49:07 +02:00
David F. Mulcahey
f032d0dbcf Fix ZHA visualization page (#13584) 2022-09-04 22:25:03 -04:00
Philip Allgaier
81cc745c0a Align wording in automation and script editor overflow menus (#13575) 2022-09-03 13:22:42 -04:00
Michel van de Wetering
43f9c9ebc9 Add mediadescription for channel media type (#13434) 2022-09-03 11:44:02 +02:00
Michel van de Wetering
a9d1feb196 Hide soundmode when mediaplayer is off or unavailable (#13347) 2022-09-03 11:41:24 +02:00
Paulus Schoutsen
8ec2c38f72 20220902.0 (#13571) 2022-09-02 16:15:38 -04:00
Paulus Schoutsen
72aea57105 Bumped version to 20220902.0 2022-09-02 16:14:53 -04:00
Philip Allgaier
031ecf5be8 Align visuals of automation and script editor after redesign (#13567) 2022-09-02 13:03:53 -04:00
Paul Bottein
93e7927686 Fix automation trace link (#13563) 2022-09-02 13:02:50 -04:00
Paul Bottein
320d8e6190 Improve blueprint editor layout (#13564) 2022-09-02 13:02:36 -04:00
Paul Bottein
efa4f65686 Add information in overflow menu (#13570) 2022-09-02 13:02:01 -04:00
Paul Bottein
ec257710ff Add overflow menu to automation picker (#13569) 2022-09-02 13:01:05 -04:00
Paulus Schoutsen
ffad6f340f Fix some descriptions (#13562) 2022-09-01 21:43:30 -05:00
Paulus Schoutsen
0b637fc9bd Dev -> Master 20220901.0 (#13561) 2022-09-01 16:42:16 -04:00
Zack Barett
9f9b0b6457 Bumped version to 20220901.0 (#13560) 2022-09-01 20:11:10 +00:00
Zack Barett
a4227680de Fix Unable to select last slot (#13559) 2022-09-01 19:54:32 +00:00
Zack Barett
5cfd263617 Fix Sunday issue and add minutes to events (#13556) 2022-09-01 16:06:51 +00:00
Bram Kragten
430e671901 unique-id -> id (#13552) 2022-09-01 11:51:38 -04:00
Ernst Klamer
8fcd396445 Add icon for device class moisture (#13553) 2022-09-01 11:48:04 -04:00
Erik Montnemery
e273b6b659 Improve delete device button and confirmation dialog (#13500) 2022-09-01 10:38:56 -05:00
Bram Kragten
2751adf440 remove duplicate controls blueprint automation (#13554) 2022-09-01 10:37:22 -05:00
Matthias de Baat
d661450121 Typo on dialogs page (#13555) 2022-09-01 10:36:56 -05:00
Steve Repsher
4511ded205 Add semantic heading to script editor (#13546) 2022-09-01 16:19:08 +02:00
Erik Montnemery
2bf0c5d72d Only update device class if changed by user (#13551) 2022-09-01 12:25:32 +00:00
Steve Repsher
604e5d5e09 Add semantic headings to automation editor (#13542)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2022-08-31 14:15:14 -05:00
Paulus Schoutsen
5466705d97 20220831.0 (#13541) 2022-08-31 12:45:33 -04:00
Bram Kragten
774aee406c Fix tag trigger (#13540)
* Fix tag trigger

* Fix
2022-08-31 12:28:50 -04:00
Zack Barett
775837b60f Bumped version to 20220831.0 (#13539) 2022-08-31 18:28:31 +02:00
Bram Kragten
030b2b921a Format duration object (#13538) 2022-08-31 16:24:24 +00:00
Bram Kragten
229bc26327 Don't fire change on tag picker when not changed (#13537) 2022-08-31 16:08:35 +00:00
Bram Kragten
99e85173eb Change padding buttons entity settings (#13536) 2022-08-31 15:48:54 +00:00
Bram Kragten
be0c22d7ae Fix header mobile automation editor (#13534) 2022-08-31 15:42:00 +00:00
Zack Barett
fee1092a08 Fix Selection on IOS (#13533) 2022-08-31 15:40:03 +00:00
Bram Kragten
d041bd9fd3 use device and area names in service call description (#13532) 2022-08-31 15:30:44 +00:00
Zack Barett
df4b83349e Merge pull request #13329 from home-assistant/dev 2022-08-02 10:20:21 -05:00
Zack Barett
61b42249ec Merge pull request #13302 from home-assistant/dev
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-07-28 10:31:47 -05:00
Bram Kragten
40616b6af2 Merge pull request #13286 from home-assistant/dev 2022-07-27 12:41:33 +02:00
1267 changed files with 63365 additions and 227204 deletions

21
.browserslistrc Normal file
View File

@@ -0,0 +1,21 @@
[modern]
# Support for dynamic import is the main litmus test for serving modern builds.
# Although officially a ES2020 feature, browsers implemented it early, so this
# enables all of ES2017 and some features in ES2018.
supports es6-module-dynamic-import
# Exclude Safari 11-12 because of a bug in tagged template literals
# https://bugs.webkit.org/show_bug.cgi?id=190756
# Note: Dropping version 11 also enables several more ES2018 features
not Safari < 13
not iOS < 13
# Exclude unsupported browsers
not dead
[legacy]
# Legacy builds are transpiled to ES5 (strict mode) but also must support some features that cannot be polyfilled:
# - web sockets to communicate with backend
# - inline SVG used widely in buttons, widgets, etc.
# - custom events used for most user interactions
supports use-strict and supports websockets and supports svg-html5 and supports customevent

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,33 +5,39 @@
"context": ".."
},
"appPort": "8124:8123",
"context": "..",
"postCreateCommand": "script/bootstrap",
"extensions": [
"github.vscode-pull-request-github",
"dbaeumer.vscode-eslint",
"ms-vscode.vscode-typescript-tslint-plugin",
"esbenp.prettier-vscode",
"bierner.lit-html",
"runem.lit-plugin",
"ms-python.vscode-pylance"
],
"containerEnv": {
"WORKSPACE_DIRECTORY": "${containerWorkspaceFolder}"
},
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
"files.eol": "\n",
"editor.tabSize": 2,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.trimTrailingWhitespace": true
"customizations": {
"vscode": {
"extensions": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"runem.lit-plugin",
"github.vscode-pull-request-github",
"eamodio.gitlens"
],
"settings": {
"files.eol": "\n",
"editor.tabSize": 2,
"editor.formatOnPaste": false,
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.renderWhitespace": "boundary",
"editor.rulers": [80],
"[typescript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.trimTrailingWhitespace": true,
"terminal.integrated.shell.linux": "/usr/bin/zsh",
"gitlens.showWelcomeOnInstall": false,
"gitlens.showWhatsNewAfterUpgrades": false,
"workbench.startupEditor": "none"
}
}
}
}

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",
@@ -19,7 +20,7 @@
"settings": {
"import/resolver": {
"webpack": {
"config": "./webpack.config.js"
"config": "./webpack.config.cjs"
}
}
},
@@ -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,14 @@
],
"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-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"

86
.github/workflows/cast_deployment.yaml vendored Normal file
View File

@@ -0,0 +1,86 @@
name: Cast deployment
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- master
env:
NODE_VERSION: 16
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy_dev:
runs-on: ubuntu-latest
name: Deploy Development
if: github.event_name != 'push'
environment:
name: Cast Development
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3.5.2
with:
ref: dev
- 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 Cast
run: ./node_modules/.bin/gulp build-cast
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=cast/dist --alias dev
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}
deploy_master:
runs-on: ubuntu-latest
name: Deploy Production
if: github.event_name == 'push'
environment:
name: Cast Production
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3.5.2
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 Cast
run: ./node_modules/.bin/gulp build-cast
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Deploy to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=cast/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_CAST_SITE_ID }}

View File

@@ -13,84 +13,85 @@ on:
env:
NODE_VERSION: 16
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.5.2
- 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.5.2
- 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.5.2
- 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.5.2
- 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.5.2
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

@@ -1,35 +0,0 @@
name: Demo
on:
push:
branches:
- dev
env:
NODE_VERSION: 16
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3
- name: Set up Node ${{ env.NODE_VERSION }}
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: yarn
- name: Install dependencies
run: yarn install
env:
CI: true
- name: Build Demo
run: ./node_modules/.bin/gulp build-demo
- name: Deploy to Netlify
uses: netlify/actions/cli@master
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_DEMO_DEV_SITE_ID }}
with:
args: deploy --dir=demo/dist --prod

87
.github/workflows/demo_deployment.yaml vendored Normal file
View File

@@ -0,0 +1,87 @@
name: Demo deployment
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- dev
- master
env:
NODE_VERSION: 16
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy_dev:
runs-on: ubuntu-latest
name: Demo Development
if: github.event_name != 'push' || github.ref_name != 'master'
environment:
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.5.2
with:
ref: dev
- 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_DEV_SITE_ID }}
deploy_master:
runs-on: ubuntu-latest
name: Demo Production
if: github.event_name == 'push' && github.ref_name == '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.5.2
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

@@ -0,0 +1,43 @@
name: Design deployment
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
env:
NODE_VERSION: 16
NODE_OPTIONS: --max_old_space_size=6144
jobs:
deploy:
runs-on: ubuntu-latest
environment:
name: Design
url: ${{ steps.deploy.outputs.NETLIFY_LIVE_URL || steps.deploy.outputs.NETLIFY_URL }}
steps:
- name: Check out files from GitHub
uses: actions/checkout@v3.5.2
- 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 to Netlify
id: deploy
uses: netlify/actions/cli@master
with:
args: deploy --dir=gallery/dist --prod
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_GALLERY_SITE_ID }}

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.5.2
- 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

@@ -9,7 +9,7 @@ jobs:
lock:
runs-on: ubuntu-latest
steps:
- uses: dessant/lock-threads@v3.0.0
- uses: dessant/lock-threads@v4.0.0
with:
github-token: ${{ github.token }}
issue-lock-inactive-days: "30"

View File

@@ -1,19 +0,0 @@
name: Netlify
on:
schedule:
- cron: "0 0 * * *"
jobs:
trigger_builds:
name: Trigger netlify build preview
runs-on: "ubuntu-latest"
steps:
- name: Trigger Cast build
run: curl -X POST -d {} https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_CAST_DEV_BUILD_HOOK }}
- name: Trigger Demo build
run: curl -X POST -d {} https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_DEMO_DEV_BUILD_HOOK }}
- name: Trigger Design build
run: curl -X POST -d "NIGHTLY" https://api.netlify.com/build_hooks/${{ secrets.NETLIFY_GALLERY_DEV_BUILD_HOOK }}

View File

@@ -21,7 +21,7 @@ jobs:
contents: write
steps:
- name: Checkout the repository
uses: actions/checkout@v3
uses: actions/checkout@v3.5.2
- 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
@@ -43,15 +43,14 @@ jobs:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Bump version
run: script/version_bump.js nightly
run: script/version_bump.cjs nightly
- name: Build nightly Python wheels
run: |
pip install build
yarn install
export SKIP_FETCH_NIGHTLY_TRANSLATIONS=1
script/build_frontend
rm -rf dist home_assistant_frontend.egg-info
python3 -m build

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.5.2
- 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
@@ -52,11 +52,11 @@ jobs:
python3 -m pip install twine build
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="${{ secrets.TWINE_TOKEN }}"
export SKIP_FETCH_NIGHTLY_TRANSLATIONS=1
script/release
- name: Upload release assets
uses: softprops/action-gh-release@v0.1.14
uses: softprops/action-gh-release@v0.1.15
with:
files: |
dist/*.whl
@@ -75,7 +75,7 @@ jobs:
echo "home-assistant-frontend==$version" > ./requirements.txt
- name: Build wheels
uses: home-assistant/wheels@2022.06.7
uses: home-assistant/wheels@2023.04.0
with:
abi: cp310
tag: musllinux_1_2

View File

@@ -10,7 +10,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: 90 days stale policy
uses: actions/stale@v5.1.1
uses: actions/stale@v8.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.5.2
- name: Upload Translations
run: |

13
.gitignore vendored
View File

@@ -2,9 +2,10 @@
.reify-cache
# build
build
hass_frontend/*
dist
build/
dist/
/hass_frontend/
/translations/
# yarn
.yarn/*
@@ -14,7 +15,7 @@ dist
!.yarn/sdks
!.yarn/versions
.pnp.*
node_modules/*
/node_modules/
yarn-error.log
npm-debug.log
@@ -26,7 +27,7 @@ npm-debug.log
# venv stuff
pyvenv.cfg
pip-selfcheck.json
venv/*
/venv/
.venv
# vscode
@@ -45,4 +46,4 @@ src/cast/dev_const.ts
.tool-versions
# Home Assistant config
/config
/config/

View File

@@ -2,7 +2,8 @@
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"bierner.lit-html",
"runem.lit-plugin"
"runem.lit-plugin",
"github.vscode-pull-request-github",
"eamodio.gitlens"
]
}

8
.vscode/tasks.json vendored
View File

@@ -191,7 +191,13 @@
"runOptions": {
"instanceLimit": 1
}
}
},
{
"label": "Setup and fetch nightly translations",
"type": "gulp",
"task": "setup-and-fetch-nightly-translations",
"problemMatcher": []
}
],
"inputs": [
{

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

873
.yarn/releases/yarn-3.5.0.cjs vendored Executable file

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,5 @@
defaultSemverRangePrefix: ""
nodeLinker: node-modules
plugins:
@@ -6,4 +8,4 @@ plugins:
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
spec: "@yarnpkg/plugin-interactive-tools"
yarnPath: .yarn/releases/yarn-3.2.0.cjs
yarnPath: .yarn/releases/yarn-3.5.0.cjs

View File

@@ -1,7 +0,0 @@
{
"rules": {
"import/no-extraneous-dependencies": 0,
"no-restricted-syntax": 0,
"no-console": 0
}
}

View File

@@ -1,7 +1,12 @@
{
"extends": "../.eslintrc.json",
"rules": {
"import/no-extraneous-dependencies": 0,
"global-require": 0
"no-console": "off",
"import/no-extraneous-dependencies": "off",
"import/extensions": "off",
"import/no-dynamic-require": "off",
"global-require": "off",
"@typescript-eslint/no-var-requires": "off",
"prefer-arrow-callback": "off"
}
}

View File

@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
// Currently only supports CommonJS modules, as require is synchronous. `import` would need babel running asynchronous.
@@ -29,7 +28,6 @@ module.exports = function inlineConstants(babel, options, cwd) {
const absolute = module.startsWith(".")
? require.resolve(module, { paths: [cwd] })
: module;
// eslint-disable-next-line import/no-dynamic-require
return [absolute, require(absolute)];
})
);

View File

@@ -1,9 +1,18 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
const env = require("./env.js");
const paths = require("./paths.js");
const env = require("./env.cjs");
const paths = require("./paths.cjs");
// GitHub base URL to use for production source maps
// Nightly builds use the commit SHA, otherwise assumes there is a tag that matches the version
module.exports.sourceMapURL = () => {
const ref = env.version().endsWith("dev")
? process.env.GITHUB_SHA || "dev"
: env.version();
return `https://raw.githubusercontent.com/home-assistant/frontend/${ref}`;
};
// Files from NPM Packages that should not be imported
// eslint-disable-next-line unused-imports/no-unused-vars
module.exports.ignorePackages = ({ latestBuild }) => [
// Part of yaml.js and only used for !!js functions that we don't use
require.resolve("esprima"),
@@ -53,60 +62,86 @@ module.exports.definedVars = ({ isProdBuild, latestBuild, defineOverlay }) => ({
...defineOverlay,
});
module.exports.terserOptions = (latestBuild) => ({
module.exports.htmlMinifierOptions = {
caseSensitive: true,
collapseWhitespace: true,
conservativeCollapse: true,
decodeEntities: true,
removeComments: true,
removeRedundantAttributes: true,
minifyCSS: {
compatibility: "*,-properties.zeroUnits",
},
};
module.exports.terserOptions = ({ latestBuild, isTestBuild }) => ({
safari10: !latestBuild,
ecma: latestBuild ? undefined : 5,
output: { comments: false },
format: { comments: false },
sourceMap: !isTestBuild,
});
module.exports.babelOptions = ({ latestBuild }) => ({
module.exports.babelOptions = ({ latestBuild, isProdBuild, isTestBuild }) => ({
babelrc: false,
compact: false,
assumptions: {
privateFieldsAsProperties: true,
setPublicClassFields: true,
setSpreadProperties: true,
},
browserslistEnv: latestBuild ? "modern" : "legacy",
presets: [
!latestBuild && [
[
"@babel/preset-env",
{
useBuiltIns: "entry",
corejs: "3.15",
useBuiltIns: latestBuild ? false : "entry",
corejs: latestBuild ? false : { version: "3.30", proposals: true },
bugfixes: true,
},
],
"@babel/preset-typescript",
].filter(Boolean),
],
plugins: [
[
path.resolve(
paths.polymer_dir,
"build-scripts/babel-plugins/inline-constants-plugin.js"
"build-scripts/babel-plugins/inline-constants-plugin.cjs"
),
{
modules: ["@mdi/js"],
ignoreModuleNotFound: true,
},
],
// Part of ES2018. Converts {...a, b: 2} to Object.assign({}, a, {b: 2})
!latestBuild && [
"@babel/plugin-proposal-object-rest-spread",
{ loose: true, useBuiltIns: true },
],
// Only support the syntax, Webpack will handle it.
"@babel/plugin-syntax-import-meta",
"@babel/plugin-syntax-dynamic-import",
"@babel/plugin-syntax-top-level-await",
"@babel/plugin-proposal-optional-chaining",
"@babel/plugin-proposal-nullish-coalescing-operator",
// Support some proposals still in TC39 process
["@babel/plugin-proposal-decorators", { decoratorsBeforeExport: true }],
["@babel/plugin-proposal-private-methods", { loose: true }],
["@babel/plugin-proposal-private-property-in-object", { loose: true }],
["@babel/plugin-proposal-class-properties", { loose: true }],
// Minify template literals for production
isProdBuild && [
"template-html-minifier",
{
modules: {
lit: [
"html",
{ name: "svg", encapsulation: "svg" },
{ name: "css", encapsulation: "style" },
],
"@polymer/polymer/lib/utils/html-tag": ["html"],
},
strictCSS: true,
htmlMinifier: module.exports.htmlMinifierOptions,
failOnError: true, // we can turn this off in case of false positives
},
],
].filter(Boolean),
exclude: [
// \\ for Windows, / for Mac OS and Linux
/node_modules[\\/]core-js/,
/node_modules[\\/]webpack[\\/]buildin/,
],
sourceMaps: !isTestBuild,
});
const nameSuffix = (latestBuild) => (latestBuild ? "-latest" : "-es5");
const outputPath = (outputRoot, latestBuild) =>
path.resolve(outputRoot, latestBuild ? "frontend_latest" : "frontend_es5");
@@ -129,14 +164,17 @@ BundleConfig {
latestBuild: boolean,
// If we're doing a stats build (create nice chunk names)
isStatsBuild: boolean,
// If it's just a test build in CI, skip time on source map generation
isTestBuild: boolean,
// Names of entrypoints that should not be hashed
dontHash: Set<string>
}
*/
module.exports.config = {
app({ isProdBuild, latestBuild, isStatsBuild, isWDS }) {
app({ isProdBuild, latestBuild, isStatsBuild, isTestBuild, isWDS }) {
return {
name: "app" + nameSuffix(latestBuild),
entry: {
service_worker: "./src/entrypoints/service_worker.ts",
app: "./src/entrypoints/app.ts",
@@ -150,12 +188,14 @@ module.exports.config = {
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
isWDS,
};
},
demo({ isProdBuild, latestBuild, isStatsBuild }) {
return {
name: "demo" + nameSuffix(latestBuild),
entry: {
main: path.resolve(paths.demo_dir, "src/entrypoint.ts"),
},
@@ -185,6 +225,7 @@ module.exports.config = {
}
return {
name: "cast" + nameSuffix(latestBuild),
entry,
outputPath: outputPath(paths.cast_output_root, latestBuild),
publicPath: publicPath(latestBuild),
@@ -196,8 +237,9 @@ module.exports.config = {
};
},
hassio({ isProdBuild, latestBuild }) {
hassio({ isProdBuild, latestBuild, isStatsBuild, isTestBuild }) {
return {
name: "supervisor" + nameSuffix(latestBuild),
entry: {
entrypoint: path.resolve(paths.hassio_dir, "src/entrypoint.ts"),
},
@@ -205,6 +247,8 @@ module.exports.config = {
publicPath: publicPath(latestBuild, paths.hassio_publicPath),
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
isHassioBuild: true,
defineOverlay: {
__SUPERVISOR__: true,
@@ -214,6 +258,7 @@ module.exports.config = {
gallery({ isProdBuild, latestBuild }) {
return {
name: "gallery" + nameSuffix(latestBuild),
entry: {
entrypoint: path.resolve(paths.gallery_dir, "src/entrypoint.js"),
},

View File

@@ -1,7 +1,6 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const fs = require("fs");
const path = require("path");
const paths = require("./paths.js");
const paths = require("./paths.cjs");
module.exports = {
useRollup() {
@@ -18,7 +17,7 @@ module.exports = {
isStatsBuild() {
return process.env.STATS === "1";
},
isTest() {
isTestBuild() {
return process.env.IS_TEST === "true";
},
isNetlify() {

View File

@@ -1,19 +1,18 @@
// Run HA develop mode
const gulp = require("gulp");
const env = require("../env");
require("./clean.js");
require("./translations.js");
require("./locale-data.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./compress.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
require("./wds.js");
const env = require("../env.cjs");
require("./clean.cjs");
require("./translations.cjs");
require("./locale-data.cjs");
require("./gen-icons-json.cjs");
require("./gather-static.cjs");
require("./compress.cjs");
require("./webpack.cjs");
require("./service-worker.cjs");
require("./entry-html.cjs");
require("./rollup.cjs");
require("./wds.cjs");
gulp.task(
"develop-app",
@@ -25,8 +24,7 @@ gulp.task(
gulp.parallel(
"gen-service-worker-app-dev",
"gen-icons-json",
"gen-pages-dev",
"gen-index-app-dev",
"gen-pages-app-dev",
"build-translations",
"build-locale-data"
),
@@ -50,11 +48,7 @@ gulp.task(
"copy-static-app",
env.useRollup() ? "rollup-prod-app" : "webpack-prod-app",
// Don't compress running tests
...(env.isTest() ? [] : ["compress-app"]),
gulp.parallel(
"gen-pages-prod",
"gen-index-app-prod",
"gen-service-worker-app-prod"
)
...(env.isTestBuild() ? [] : ["compress-app"]),
gulp.parallel("gen-pages-app-prod", "gen-service-worker-app-prod")
)
);

View File

@@ -1,14 +1,13 @@
const gulp = require("gulp");
const env = require("../env.cjs");
const env = require("../env");
require("./clean.js");
require("./translations.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
require("./clean.cjs");
require("./translations.cjs");
require("./gather-static.cjs");
require("./webpack.cjs");
require("./service-worker.cjs");
require("./entry-html.cjs");
require("./rollup.cjs");
gulp.task(
"develop-cast",
@@ -20,7 +19,7 @@ gulp.task(
"translations-enable-merge-backend",
gulp.parallel("gen-icons-json", "build-translations", "build-locale-data"),
"copy-static-cast",
"gen-index-cast-dev",
"gen-pages-cast-dev",
env.useRollup() ? "rollup-dev-server-cast" : "webpack-dev-server-cast"
)
);
@@ -36,6 +35,6 @@ gulp.task(
gulp.parallel("gen-icons-json", "build-translations", "build-locale-data"),
"copy-static-cast",
env.useRollup() ? "rollup-prod-cast" : "webpack-prod-cast",
"gen-index-cast-prod"
"gen-pages-cast-prod"
)
);

View File

@@ -0,0 +1,40 @@
const del = import("del");
const gulp = require("gulp");
const paths = require("../paths.cjs");
require("./translations.cjs");
gulp.task(
"clean",
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([paths.app_output_root, paths.build_dir])
)
);
gulp.task(
"clean-demo",
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([paths.demo_output_root, paths.build_dir])
)
);
gulp.task(
"clean-cast",
gulp.parallel("clean-translations", async () =>
(await del).deleteSync([paths.cast_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", async () =>
(await del).deleteSync([
paths.gallery_output_root,
paths.gallery_build,
paths.build_dir,
])
)
);

View File

@@ -1,36 +0,0 @@
const del = require("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.task(
"clean-demo",
gulp.parallel("clean-translations", () =>
del([paths.demo_output_root, paths.build_dir])
)
);
gulp.task(
"clean-cast",
gulp.parallel("clean-translations", () =>
del([paths.cast_output_root, paths.build_dir])
)
);
gulp.task("clean-hassio", () =>
del([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])
)
);

View File

@@ -4,7 +4,7 @@ const gulp = require("gulp");
const zopfli = require("gulp-zopfli-green");
const merge = require("merge-stream");
const path = require("path");
const paths = require("../paths");
const paths = require("../paths.cjs");
const zopfliOptions = { threshold: 150 };

View File

@@ -1,16 +1,15 @@
// Run demo develop mode
const gulp = require("gulp");
const env = require("../env.cjs");
const env = require("../env");
require("./clean.js");
require("./translations.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
require("./clean.cjs");
require("./translations.cjs");
require("./gen-icons-json.cjs");
require("./gather-static.cjs");
require("./webpack.cjs");
require("./service-worker.cjs");
require("./entry-html.cjs");
require("./rollup.cjs");
gulp.task(
"develop-demo",
@@ -22,7 +21,7 @@ gulp.task(
"translations-enable-merge-backend",
gulp.parallel(
"gen-icons-json",
"gen-index-demo-dev",
"gen-pages-demo-dev",
"build-translations",
"build-locale-data"
),
@@ -43,6 +42,6 @@ gulp.task(
gulp.parallel("gen-icons-json", "build-translations", "build-locale-data"),
"copy-static-demo",
env.useRollup() ? "rollup-prod-demo" : "webpack-prod-demo",
"gen-index-demo-prod"
"gen-pages-demo-prod"
)
);

View File

@@ -0,0 +1,69 @@
const gulp = require("gulp");
const fs = require("fs/promises");
const mapStream = require("map-stream");
const inDirFrontend = "translations/frontend";
const inDirBackend = "translations/backend";
const srcMeta = "src/translations/translationMetadata.json";
const encoding = "utf8";
function hasHtml(data) {
return /<[a-z][\s\S]*>/i.test(data);
}
function recursiveCheckHasHtml(file, data, errors, recKey) {
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
const nextRecKey = recKey ? `${recKey}.${key}` : key;
recursiveCheckHasHtml(file, data[key], errors, nextRecKey);
} else if (hasHtml(data[key])) {
errors.push(`HTML found in ${file.path} at key ${recKey}.${key}`);
}
});
}
function checkHtml() {
const errors = [];
return mapStream(function (file, cb) {
const content = file.contents;
let error;
if (content) {
if (hasHtml(String(content))) {
const data = JSON.parse(String(content));
recursiveCheckHasHtml(file, data, errors);
if (errors.length > 0) {
error = errors.join("\r\n");
}
}
}
cb(error, file);
});
}
// Backend translations do not currently pass HTML check so are excluded here for now
gulp.task("check-translations-html", function () {
return gulp.src([`${inDirFrontend}/*.json`]).pipe(checkHtml());
});
gulp.task("check-all-files-exist", async function () {
const file = await fs.readFile(srcMeta, { encoding });
const meta = JSON.parse(file);
const writings = [];
Object.keys(meta).forEach((lang) => {
writings.push(
fs.writeFile(`${inDirFrontend}/${lang}.json`, JSON.stringify({}), {
flag: "wx",
}),
fs.writeFile(`${inDirBackend}/${lang}.json`, JSON.stringify({}), {
flag: "wx",
})
);
});
await Promise.allSettled(writings);
});
gulp.task(
"check-downloaded-translations",
gulp.series("check-translations-html", "check-all-files-exist")
);

View File

@@ -1,95 +0,0 @@
const del = require("del");
const gulp = require("gulp");
const fs = require("fs");
const mapStream = require("map-stream");
const inDirFrontend = "translations/frontend";
const inDirBackend = "translations/backend";
const downloadDir = "translations/downloads";
const srcMeta = "src/translations/translationMetadata.json";
const encoding = "utf8";
const tasks = [];
function hasHtml(data) {
return /<[a-z][\s\S]*>/i.test(data);
}
function recursiveCheckHasHtml(file, data, errors, recKey) {
Object.keys(data).forEach(function (key) {
if (typeof data[key] === "object") {
const nextRecKey = recKey ? `${recKey}.${key}` : key;
recursiveCheckHasHtml(file, data[key], errors, nextRecKey);
} else if (hasHtml(data[key])) {
errors.push(`HTML found in ${file.path} at key ${recKey}.${key}`);
}
});
}
function checkHtml() {
const errors = [];
return mapStream(function (file, cb) {
const content = file.contents;
let error;
if (content) {
if (hasHtml(String(content))) {
const data = JSON.parse(String(content));
recursiveCheckHasHtml(file, data, errors);
if (errors.length > 0) {
error = errors.join("\r\n");
}
}
}
cb(error, file);
});
}
let taskName = "clean-downloaded-translations";
gulp.task(taskName, function () {
return del([`${downloadDir}/**`]);
});
tasks.push(taskName);
taskName = "check-translations-html";
gulp.task(taskName, function () {
return gulp.src(`${downloadDir}/*.json`).pipe(checkHtml());
});
tasks.push(taskName);
taskName = "check-all-files-exist";
gulp.task(taskName, function () {
const file = fs.readFileSync(srcMeta, { encoding });
const meta = JSON.parse(file);
Object.keys(meta).forEach((lang) => {
if (!fs.existsSync(`${inDirFrontend}/${lang}.json`)) {
fs.writeFileSync(`${inDirFrontend}/${lang}.json`, JSON.stringify({}));
}
if (!fs.existsSync(`${inDirBackend}/${lang}.json`)) {
fs.writeFileSync(`${inDirBackend}/${lang}.json`, JSON.stringify({}));
}
});
return Promise.resolve();
});
tasks.push(taskName);
taskName = "move-downloaded-translations";
gulp.task(taskName, function () {
return gulp.src(`${downloadDir}/*.json`).pipe(gulp.dest(inDirFrontend));
});
tasks.push(taskName);
taskName = "check-downloaded-translations";
gulp.task(
taskName,
gulp.series(
"check-translations-html",
"move-downloaded-translations",
"check-all-files-exist",
"clean-downloaded-translations"
)
);
tasks.push(taskName);
module.exports = tasks;

View File

@@ -0,0 +1,230 @@
// Tasks to generate entry HTML
const gulp = require("gulp");
const fs = require("fs-extra");
const path = require("path");
const template = require("lodash.template");
const { minify } = require("html-minifier-terser");
const paths = require("../paths.cjs");
const env = require("../env.cjs");
const { htmlMinifierOptions, terserOptions } = require("../bundle.cjs");
const renderTemplate = (templateFile, data = {}) => {
const compiled = template(
fs.readFileSync(templateFile, { encoding: "utf-8" })
);
return compiled({
...data,
useRollup: env.useRollup(),
useWDS: env.useWDS(),
// Resolve any child/nested templates relative to the parent and pass the same data
renderTemplate: (childTemplate) =>
renderTemplate(
path.resolve(path.dirname(templateFile), childTemplate),
data
),
});
};
const WRAP_TAGS = { ".js": "script", ".css": "style" };
const minifyHtml = (content, ext) => {
const wrapTag = WRAP_TAGS[ext] || "";
const begTag = wrapTag && `<${wrapTag}>`;
const endTag = wrapTag && `</${wrapTag}>`;
return minify(begTag + content + endTag, {
...htmlMinifierOptions,
conservativeCollapse: false,
minifyJS: terserOptions({
latestBuild: false, // Shared scripts should be ES5
isTestBuild: true, // Don't need source maps
}),
}).then((wrapped) =>
wrapTag ? wrapped.slice(begTag.length, -endTag.length) : wrapped
);
};
// Function to generate a dev task for each project's configuration
// Note Currently WDS paths are hard-coded to only work for app
const genPagesDevTask =
(
pageEntries,
inputRoot,
outputRoot,
useWDS = false,
inputSub = "src/html",
publicRoot = ""
) =>
async () => {
for (const [page, entries] of Object.entries(pageEntries)) {
const content = renderTemplate(
path.resolve(inputRoot, inputSub, `${page}.template`),
{
latestEntryJS: entries.map((entry) =>
useWDS
? `http://localhost:8000/src/entrypoints/${entry}.ts`
: `${publicRoot}/frontend_latest/${entry}.js`
),
es5EntryJS: entries.map(
(entry) => `${publicRoot}/frontend_es5/${entry}.js`
),
latestCustomPanelJS: useWDS
? "http://localhost:8000/src/entrypoints/custom-panel.ts"
: `${publicRoot}/frontend_latest/custom-panel.js`,
es5CustomPanelJS: `${publicRoot}/frontend_es5/custom-panel.js`,
}
);
fs.outputFileSync(path.resolve(outputRoot, page), content);
}
};
// Same as previous but for production builds
// (includes minification and hashed file names from manifest)
const genPagesProdTask =
(
pageEntries,
inputRoot,
outputRoot,
outputLatest,
outputES5,
inputSub = "src/html"
) =>
async () => {
const latestManifest = require(path.resolve(outputLatest, "manifest.json"));
const es5Manifest = outputES5
? require(path.resolve(outputES5, "manifest.json"))
: {};
const minifiedHTML = [];
for (const [page, entries] of Object.entries(pageEntries)) {
const content = renderTemplate(
path.resolve(inputRoot, inputSub, `${page}.template`),
{
latestEntryJS: entries.map((entry) => latestManifest[`${entry}.js`]),
es5EntryJS: entries.map((entry) => es5Manifest[`${entry}.js`]),
latestCustomPanelJS: latestManifest["custom-panel.js"],
es5CustomPanelJS: es5Manifest["custom-panel.js"],
}
);
minifiedHTML.push(
minifyHtml(content, path.extname(page)).then((minified) =>
fs.outputFileSync(path.resolve(outputRoot, page), minified)
)
);
}
await Promise.all(minifiedHTML);
};
// Map HTML pages to their required entrypoints
const APP_PAGE_ENTRIES = {
"authorize.html": ["authorize"],
"onboarding.html": ["onboarding"],
"index.html": ["core", "app"],
};
gulp.task(
"gen-pages-app-dev",
genPagesDevTask(
APP_PAGE_ENTRIES,
paths.polymer_dir,
paths.app_output_root,
env.useWDS()
)
);
gulp.task(
"gen-pages-app-prod",
genPagesProdTask(
APP_PAGE_ENTRIES,
paths.polymer_dir,
paths.app_output_root,
paths.app_output_latest,
paths.app_output_es5
)
);
const CAST_PAGE_ENTRIES = {
"faq.html": ["launcher"],
"index.html": ["launcher"],
"media.html": ["media"],
"receiver.html": ["receiver"],
};
gulp.task(
"gen-pages-cast-dev",
genPagesDevTask(CAST_PAGE_ENTRIES, paths.cast_dir, paths.cast_output_root)
);
gulp.task(
"gen-pages-cast-prod",
genPagesProdTask(
CAST_PAGE_ENTRIES,
paths.cast_dir,
paths.cast_output_root,
paths.cast_output_latest,
paths.cast_output_es5
)
);
const DEMO_PAGE_ENTRIES = { "index.html": ["main"] };
gulp.task(
"gen-pages-demo-dev",
genPagesDevTask(DEMO_PAGE_ENTRIES, paths.demo_dir, paths.demo_output_root)
);
gulp.task(
"gen-pages-demo-prod",
genPagesProdTask(
DEMO_PAGE_ENTRIES,
paths.demo_dir,
paths.demo_output_root,
paths.demo_output_latest,
paths.demo_output_es5
)
);
const GALLERY_PAGE_ENTRIES = { "index.html": ["entrypoint"] };
gulp.task(
"gen-pages-gallery-dev",
genPagesDevTask(
GALLERY_PAGE_ENTRIES,
paths.gallery_dir,
paths.gallery_output_root
)
);
gulp.task(
"gen-pages-gallery-prod",
genPagesProdTask(
GALLERY_PAGE_ENTRIES,
paths.gallery_dir,
paths.gallery_output_root,
paths.gallery_output_latest
)
);
const HASSIO_PAGE_ENTRIES = { "entrypoint.js": ["entrypoint"] };
gulp.task(
"gen-pages-hassio-dev",
genPagesDevTask(
HASSIO_PAGE_ENTRIES,
paths.hassio_dir,
paths.hassio_output_root,
undefined,
"src",
paths.hassio_publicPath
)
);
gulp.task(
"gen-pages-hassio-prod",
genPagesProdTask(
HASSIO_PAGE_ENTRIES,
paths.hassio_dir,
paths.hassio_output_root,
paths.hassio_output_latest,
paths.hassio_output_es5,
"src"
)
);

View File

@@ -1,344 +0,0 @@
// Tasks to generate entry HTML
/* eslint-disable import/no-dynamic-require */
/* eslint-disable global-require */
const gulp = require("gulp");
const fs = require("fs-extra");
const path = require("path");
const template = require("lodash.template");
const minify = require("html-minifier").minify;
const paths = require("../paths.js");
const env = require("../env.js");
const templatePath = (tpl) =>
path.resolve(paths.polymer_dir, "src/html/", `${tpl}.html.template`);
const readFile = (pth) => fs.readFileSync(pth).toString();
const renderTemplate = (pth, data = {}, pathFunc = templatePath) => {
const compiled = template(readFile(pathFunc(pth)));
return compiled({
...data,
useRollup: env.useRollup(),
useWDS: env.useWDS(),
renderTemplate,
});
};
const renderDemoTemplate = (pth, data = {}) =>
renderTemplate(pth, data, (tpl) =>
path.resolve(paths.demo_dir, "src/html/", `${tpl}.html.template`)
);
const renderCastTemplate = (pth, data = {}) =>
renderTemplate(pth, data, (tpl) =>
path.resolve(paths.cast_dir, "src/html/", `${tpl}.html.template`)
);
const renderGalleryTemplate = (pth, data = {}) =>
renderTemplate(pth, data, (tpl) =>
path.resolve(paths.gallery_dir, "src/html/", `${tpl}.html.template`)
);
const minifyHtml = (content) =>
minify(content, {
collapseWhitespace: true,
minifyJS: true,
minifyCSS: true,
removeComments: true,
});
const PAGES = ["onboarding", "authorize"];
gulp.task("gen-pages-dev", (done) => {
for (const page of PAGES) {
const content = renderTemplate(page, {
latestPageJS: `/frontend_latest/${page}.js`,
es5PageJS: `/frontend_es5/${page}.js`,
});
fs.outputFileSync(
path.resolve(paths.app_output_root, `${page}.html`),
content
);
}
done();
});
gulp.task("gen-pages-prod", (done) => {
const latestManifest = require(path.resolve(
paths.app_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.app_output_es5,
"manifest.json"
));
for (const page of PAGES) {
const content = renderTemplate(page, {
latestPageJS: latestManifest[`${page}.js`],
es5PageJS: es5Manifest[`${page}.js`],
});
fs.outputFileSync(
path.resolve(paths.app_output_root, `${page}.html`),
minifyHtml(content)
);
}
done();
});
gulp.task("gen-index-app-dev", (done) => {
let latestAppJS, latestCoreJS, latestCustomPanelJS;
if (env.useWDS()) {
latestAppJS = "http://localhost:8000/src/entrypoints/app.ts";
latestCoreJS = "http://localhost:8000/src/entrypoints/core.ts";
latestCustomPanelJS =
"http://localhost:8000/src/entrypoints/custom-panel.ts";
} else {
latestAppJS = "/frontend_latest/app.js";
latestCoreJS = "/frontend_latest/core.js";
latestCustomPanelJS = "/frontend_latest/custom-panel.js";
}
const content = renderTemplate("index", {
latestAppJS,
latestCoreJS,
latestCustomPanelJS,
es5AppJS: "/frontend_es5/app.js",
es5CoreJS: "/frontend_es5/core.js",
es5CustomPanelJS: "/frontend_es5/custom-panel.js",
}).replace(/#THEMEC/g, "{{ theme_color }}");
fs.outputFileSync(path.resolve(paths.app_output_root, "index.html"), content);
done();
});
gulp.task("gen-index-app-prod", (done) => {
const latestManifest = require(path.resolve(
paths.app_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.app_output_es5,
"manifest.json"
));
const content = renderTemplate("index", {
latestAppJS: latestManifest["app.js"],
latestCoreJS: latestManifest["core.js"],
latestCustomPanelJS: latestManifest["custom-panel.js"],
es5AppJS: es5Manifest["app.js"],
es5CoreJS: es5Manifest["core.js"],
es5CustomPanelJS: es5Manifest["custom-panel.js"],
});
const minified = minifyHtml(content).replace(/#THEMEC/g, "{{ theme_color }}");
fs.outputFileSync(
path.resolve(paths.app_output_root, "index.html"),
minified
);
done();
});
gulp.task("gen-index-cast-dev", (done) => {
const contentReceiver = renderCastTemplate("receiver", {
latestReceiverJS: "/frontend_latest/receiver.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "receiver.html"),
contentReceiver
);
const contentMedia = renderCastTemplate("media", {
latestMediaJS: "/frontend_latest/media.js",
es5MediaJS: "/frontend_es5/media.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "media.html"),
contentMedia
);
const contentFAQ = renderCastTemplate("launcher-faq", {
latestLauncherJS: "/frontend_latest/launcher.js",
es5LauncherJS: "/frontend_es5/launcher.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "faq.html"),
contentFAQ
);
const contentLauncher = renderCastTemplate("launcher", {
latestLauncherJS: "/frontend_latest/launcher.js",
es5LauncherJS: "/frontend_es5/launcher.js",
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "index.html"),
contentLauncher
);
done();
});
gulp.task("gen-index-cast-prod", (done) => {
const latestManifest = require(path.resolve(
paths.cast_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.cast_output_es5,
"manifest.json"
));
const contentReceiver = renderCastTemplate("receiver", {
latestReceiverJS: latestManifest["receiver.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "receiver.html"),
contentReceiver
);
const contentMedia = renderCastTemplate("media", {
latestMediaJS: latestManifest["media.js"],
es5MediaJS: es5Manifest["media.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "media.html"),
contentMedia
);
const contentFAQ = renderCastTemplate("launcher-faq", {
latestLauncherJS: latestManifest["launcher.js"],
es5LauncherJS: es5Manifest["launcher.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "faq.html"),
contentFAQ
);
const contentLauncher = renderCastTemplate("launcher", {
latestLauncherJS: latestManifest["launcher.js"],
es5LauncherJS: es5Manifest["launcher.js"],
});
fs.outputFileSync(
path.resolve(paths.cast_output_root, "index.html"),
contentLauncher
);
done();
});
gulp.task("gen-index-demo-dev", (done) => {
const content = renderDemoTemplate("index", {
latestDemoJS: "/frontend_latest/main.js",
es5DemoJS: "/frontend_es5/main.js",
});
fs.outputFileSync(
path.resolve(paths.demo_output_root, "index.html"),
content
);
done();
});
gulp.task("gen-index-demo-prod", (done) => {
const latestManifest = require(path.resolve(
paths.demo_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.demo_output_es5,
"manifest.json"
));
const content = renderDemoTemplate("index", {
latestDemoJS: latestManifest["main.js"],
es5DemoJS: es5Manifest["main.js"],
});
const minified = minifyHtml(content);
fs.outputFileSync(
path.resolve(paths.demo_output_root, "index.html"),
minified
);
done();
});
gulp.task("gen-index-gallery-dev", (done) => {
const content = renderGalleryTemplate("index", {
latestGalleryJS: "./frontend_latest/entrypoint.js",
});
fs.outputFileSync(
path.resolve(paths.gallery_output_root, "index.html"),
content
);
done();
});
gulp.task("gen-index-gallery-prod", (done) => {
const latestManifest = require(path.resolve(
paths.gallery_output_latest,
"manifest.json"
));
const content = renderGalleryTemplate("index", {
latestGalleryJS: latestManifest["entrypoint.js"],
});
const minified = minifyHtml(content);
fs.outputFileSync(
path.resolve(paths.gallery_output_root, "index.html"),
minified
);
done();
});
gulp.task("gen-index-hassio-dev", async () => {
writeHassioEntrypoint(
`${paths.hassio_publicPath}/frontend_latest/entrypoint.js`,
`${paths.hassio_publicPath}/frontend_es5/entrypoint.js`
);
});
gulp.task("gen-index-hassio-prod", async () => {
const latestManifest = require(path.resolve(
paths.hassio_output_latest,
"manifest.json"
));
const es5Manifest = require(path.resolve(
paths.hassio_output_es5,
"manifest.json"
));
writeHassioEntrypoint(
latestManifest["entrypoint.js"],
es5Manifest["entrypoint.js"]
);
});
function writeHassioEntrypoint(latestEntrypoint, es5Entrypoint) {
fs.mkdirSync(paths.hassio_output_root, { recursive: true });
// Safari 12 and below does not have a compliant ES2015 implementation of template literals, so we ship ES5
fs.writeFileSync(
path.resolve(paths.hassio_output_root, "entrypoint.js"),
`
function loadES5() {
var el = document.createElement('script');
el.src = '${es5Entrypoint}';
document.body.appendChild(el);
}
if (/.*Version\\/(?:11|12)(?:\\.\\d+)*.*Safari\\//.test(navigator.userAgent)) {
loadES5();
} else {
try {
new Function("import('${latestEntrypoint}')")();
} catch (err) {
loadES5();
}
}
`,
{ encoding: "utf-8" }
);
}

View File

@@ -0,0 +1,175 @@
// 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 gulp = require("gulp");
const jszip = require("jszip");
const tar = require("tar");
const { Octokit } = require("@octokit/rest");
const { retry } = require("@octokit/plugin-retry");
const { createOAuthDeviceAuth } = require("@octokit/auth-oauth-device");
const MAX_AGE = 24; // hours
const OWNER = "home-assistant";
const REPO = "frontend";
const WORKFLOW_NAME = "nightly.yaml";
const ARTIFACT_NAME = "translations";
const CLIENT_ID = "Iv1.3914e28cb27834d1";
const EXTRACT_DIR = "translations";
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) => {
allowTokenSetup = true;
done();
});
gulp.task("fetch-nightly-translations", async function () {
// Skip all when environment flag is set (assumes translations are already in place)
if (process.env?.SKIP_FETCH_NIGHTLY_TRANSLATIONS) {
console.log("Skipping fetch due to environment signal");
return;
}
// Read current translations artifact info if it exists,
// and stop if they are not old enough
let currentArtifact;
try {
currentArtifact = JSON.parse(await fs.readFile(ARTIFACT_FILE, "utf-8"));
const currentAge =
(Date.now() - Date.parse(currentArtifact.created_at)) / 3600000;
if (currentAge < MAX_AGE) {
console.log(
"Keeping current translations (only %s hours old)",
currentAge.toFixed(1)
);
return;
}
} catch {
currentArtifact = null;
}
// To store file writing promises
const createExtractDir = fs.mkdir(EXTRACT_DIR, { recursive: true });
const writings = [];
// Authenticate to GitHub using GitHub action token if it exists,
// otherwise look for a saved user token or generate a new one if none
let tokenAuth;
if (process.env.GITHUB_TOKEN) {
tokenAuth = { token: process.env.GITHUB_TOKEN };
} else {
try {
tokenAuth = JSON.parse(await fs.readFile(TOKEN_FILE, "utf-8"));
} catch {
if (!allowTokenSetup) {
console.log("No token found so build wil continue with English only");
return;
}
const auth = createOAuthDeviceAuth({
clientType: "github-app",
clientId: CLIENT_ID,
onVerification: (verification) => {
console.log(
"Task needs to authenticate to GitHub to fetch the translations from nightly workflow\n" +
"Please go to %s to authorize this task\n" +
"\nEnter user code: %s\n\n" +
"This code will expire in %s minutes\n" +
"Task will automatically continue after authorization and token will be saved for future use",
verification.verification_uri,
verification.user_code,
(verification.expires_in / 60).toFixed(0)
);
},
});
tokenAuth = await auth({ type: "oauth" });
writings.push(
createExtractDir.then(
fs.writeFile(TOKEN_FILE, JSON.stringify(tokenAuth, null, 2))
)
);
}
}
// Authenticate with token and request workflow runs from GitHub
console.log("Fetching new translations...");
const octokit = new (Octokit.plugin(retry))({
userAgent: "Fetch Nightly Translations",
auth: tokenAuth.token,
});
const workflowRunsResponse = await octokit.rest.actions.listWorkflowRuns({
owner: OWNER,
repo: REPO,
workflow_id: WORKFLOW_NAME,
status: "success",
event: "schedule",
per_page: 1,
exclude_pull_requests: true,
});
if (workflowRunsResponse.data.total_count === 0) {
throw Error("No successful nightly workflow runs found");
}
const latestNightlyRun = workflowRunsResponse.data.workflow_runs[0];
// Stop if current is already the latest, otherwise Find the translations artifact
if (currentArtifact?.workflow_run.id === latestNightlyRun.id) {
console.log("Stopping because current translations are still the latest");
return;
}
const latestArtifact = (
await octokit.actions.listWorkflowRunArtifacts({
owner: OWNER,
repo: REPO,
run_id: latestNightlyRun.id,
})
).data.artifacts.find((artifact) => artifact.name === ARTIFACT_NAME);
if (!latestArtifact) {
throw Error("Latest nightly workflow run has no translations artifact");
}
writings.push(
createExtractDir.then(
fs.writeFile(ARTIFACT_FILE, JSON.stringify(latestArtifact, null, 2))
)
);
// Remove the current translations
const deleteCurrent = Promise.all(writings).then(
(await del).deleteAsync([
`${EXTRACT_DIR}/*`,
`!${ARTIFACT_FILE}`,
`!${TOKEN_FILE}`,
])
);
// Get the download URL and follow the redirect to download (stored as ArrayBuffer)
const downloadResponse = await octokit.actions.downloadArtifact({
owner: OWNER,
repo: REPO,
artifact_id: latestArtifact.id,
archive_format: "zip",
});
if (downloadResponse.status !== 200) {
throw Error("Failure downloading translations artifact");
}
// Artifact is a tarball, but GitHub adds it to a zip file
console.log("Unpacking downloaded translations...");
const zip = await jszip.loadAsync(downloadResponse.data);
await deleteCurrent;
const extractStream = zip.file(/.*/)[0].nodeStream().pipe(tar.extract());
await new Promise((resolve, reject) => {
extractStream.on("close", resolve).on("error", reject);
});
});
gulp.task(
"setup-and-fetch-nightly-translations",
gulp.series(
"allow-setup-fetch-nightly-translations",
"fetch-nightly-translations"
)
);

View File

@@ -1,27 +1,26 @@
/* eslint-disable */
// Run demo develop mode
const gulp = require("gulp");
const fs = require("fs");
const path = require("path");
const { marked } = require("marked");
const glob = require("glob");
const { glob } = require("glob");
const yaml = require("js-yaml");
const env = require("../env");
const paths = require("../paths");
const env = require("../env.cjs");
const paths = require("../paths.cjs");
require("./clean.js");
require("./translations.js");
require("./gen-icons-json.js");
require("./gather-static.js");
require("./webpack.js");
require("./service-worker.js");
require("./entry-html.js");
require("./rollup.js");
require("./clean.cjs");
require("./translations.cjs");
require("./gen-icons-json.cjs");
require("./gather-static.cjs");
require("./webpack.cjs");
require("./service-worker.cjs");
require("./entry-html.cjs");
require("./rollup.cjs");
gulp.task("gather-gallery-pages", async function gatherPages() {
const pageDir = path.resolve(paths.gallery_dir, "src/pages");
const files = glob.sync(path.resolve(pageDir, "**/*"));
const files = await glob(path.resolve(pageDir, "**/*"));
const galleryBuild = path.resolve(paths.gallery_dir, "build");
fs.mkdirSync(galleryBuild, { recursive: true });
@@ -41,7 +40,7 @@ gulp.task("gather-gallery-pages", async function gatherPages() {
}
processed.add(pageId);
const [category, name] = pageId.split("/", 2);
const [category] = pageId.split("/", 2);
const demoFile = path.resolve(pageDir, `${pageId}.ts`);
const descriptionFile = path.resolve(pageDir, `${pageId}.markdown`);
@@ -90,9 +89,7 @@ gulp.task("gather-gallery-pages", async function gatherPages() {
// Generate sidebar
const sidebarPath = path.resolve(paths.gallery_dir, "sidebar.js");
// To make watch work during development
delete require.cache[sidebarPath];
const sidebar = require(sidebarPath);
const sidebar = (await import(sidebarPath)).default;
const pagesToProcess = {};
for (const key of processed) {
@@ -162,7 +159,7 @@ gulp.task(
"gather-gallery-pages"
),
"copy-static-gallery",
"gen-index-gallery-dev",
"gen-pages-gallery-dev",
gulp.parallel(
env.useRollup()
? "rollup-dev-server-gallery"
@@ -196,6 +193,6 @@ gulp.task(
),
"copy-static-gallery",
env.useRollup() ? "rollup-prod-gallery" : "webpack-prod-gallery",
"gen-index-gallery-prod"
"gen-pages-gallery-prod"
)
);

View File

@@ -3,7 +3,7 @@
const gulp = require("gulp");
const path = require("path");
const fs = require("fs-extra");
const paths = require("../paths");
const paths = require("../paths.cjs");
const npmPath = (...parts) =>
path.resolve(paths.polymer_dir, "node_modules", ...parts);

View File

@@ -134,11 +134,11 @@ gulp.task("gen-icons-json", (done) => {
});
const file = fs.readFileSync(PACKAGE_PATH, { encoding });
const package = JSON.parse(file);
const packageMeta = JSON.parse(file);
fs.writeFileSync(
path.resolve(OUTPUT_DIR, "iconMetadata.json"),
JSON.stringify({ version: package.version, parts })
JSON.stringify({ version: packageMeta.version, parts })
);
fs.writeFileSync(

View File

@@ -1,15 +1,13 @@
const gulp = require("gulp");
const env = require("../env");
require("./clean.js");
require("./gen-icons-json.js");
require("./webpack.js");
require("./compress.js");
require("./rollup.js");
require("./gather-static.js");
require("./translations.js");
require("./gen-icons-json.js");
const env = require("../env.cjs");
require("./clean.cjs");
require("./compress.cjs");
require("./entry-html.cjs");
require("./gather-static.cjs");
require("./gen-icons-json.cjs");
require("./rollup.cjs");
require("./translations.cjs");
require("./webpack.cjs");
gulp.task(
"develop-hassio",
@@ -19,7 +17,7 @@ gulp.task(
},
"clean-hassio",
"gen-dummy-icons-json",
"gen-index-hassio-dev",
"gen-pages-hassio-dev",
"build-supervisor-translations",
"copy-translations-supervisor",
"build-locale-data",
@@ -41,8 +39,8 @@ gulp.task(
"build-locale-data",
"copy-locale-data-supervisor",
env.useRollup() ? "rollup-prod-hassio" : "webpack-prod-hassio",
"gen-index-hassio-prod",
"gen-pages-hassio-prod",
...// Don't compress running tests
(env.isTest() ? [] : ["compress-hassio"])
(env.isTestBuild() ? [] : ["compress-hassio"])
)
);

View File

@@ -1,14 +1,12 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const del = require("del");
const del = import("del");
const path = require("path");
const gulp = require("gulp");
const fs = require("fs");
const paths = require("../paths");
const paths = require("../paths.cjs");
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)) {
@@ -21,6 +19,7 @@ const modules = {
"intl-relativetimeformat": "RelativeTimeFormat",
"intl-datetimeformat": "DateTimeFormat",
"intl-numberformat": "NumberFormat",
"intl-displaynames": "DisplayNames",
};
gulp.task("create-locale-data", (done) => {

View File

@@ -5,9 +5,9 @@ const rollup = require("rollup");
const handler = require("serve-handler");
const http = require("http");
const log = require("fancy-log");
const rollupConfig = require("../rollup");
const paths = require("../paths");
const open = require("open");
const rollupConfig = require("../rollup.cjs");
const paths = require("../paths.cjs");
const bothBuilds = (createConfigFunc, params) =>
gulp.series(
@@ -30,11 +30,11 @@ const bothBuilds = (createConfigFunc, params) =>
);
function createServer(serveOptions) {
const server = http.createServer((request, response) => {
return handler(request, response, {
const server = http.createServer((request, response) =>
handler(request, response, {
public: serveOptions.root,
});
});
})
);
server.listen(
serveOptions.port,
@@ -46,7 +46,7 @@ function createServer(serveOptions) {
);
}
function watchRollup(createConfig, extraWatchSrc = [], serveOptions) {
function watchRollup(createConfig, extraWatchSrc = [], serveOptions = null) {
const { inputOptions, outputOptions } = createConfig({
isProdBuild: false,
latestBuild: true,

View File

@@ -1,13 +1,11 @@
// Generate service worker.
// Based on manifest, create a file with the content as service_worker.js
/* eslint-disable import/no-dynamic-require */
/* eslint-disable global-require */
const gulp = require("gulp");
const path = require("path");
const fs = require("fs-extra");
const workboxBuild = require("workbox-build");
const sourceMapUrl = require("source-map-url");
const paths = require("../paths.js");
const paths = require("../paths.cjs");
const swDest = path.resolve(paths.app_output_root, "service_worker.js");

View File

@@ -1,7 +1,5 @@
/* eslint-disable @typescript-eslint/no-var-requires */
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");
@@ -11,9 +9,11 @@ const flatmap = require("gulp-flatmap");
const merge = require("gulp-merge-json");
const rename = require("gulp-rename");
const transform = require("gulp-json-transform");
const { mapFiles } = require("../util");
const env = require("../env");
const paths = require("../paths");
const { mapFiles } = require("../util.cjs");
const env = require("../env.cjs");
const paths = require("../paths.cjs");
require("./fetch-nightly-translations.cjs");
const inFrontendDir = "translations/frontend";
const inBackendDir = "translations/backend";
@@ -23,10 +23,13 @@ const coreDir = workDir + "/core";
const outDir = workDir + "/output";
let mergeBackend = false;
gulp.task("translations-enable-merge-backend", (done) => {
mergeBackend = true;
done();
});
gulp.task(
"translations-enable-merge-backend",
gulp.parallel((done) => {
mergeBackend = true;
done();
}, "allow-setup-fetch-nightly-translations")
);
// Panel translations which should be split from the core translations.
const TRANSLATION_FRAGMENTS = Object.keys(
@@ -117,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)) {
@@ -170,17 +173,24 @@ gulp.task("build-master-translation", () => {
.pipe(transform((data, file) => lokaliseTransform(data, data, file)))
.pipe(
merge({
fileName: "translationMaster.json",
fileName: "en.json",
})
)
.pipe(gulp.dest(workDir));
.pipe(gulp.dest(fullDir));
});
gulp.task("build-merged-translations", () =>
gulp
.src([inFrontendDir + "/*.json", workDir + "/test.json"], {
allowEmpty: true,
})
.src(
[
inFrontendDir + "/*.json",
"!" + inFrontendDir + "/en.json",
workDir + "/test.json",
],
{
allowEmpty: true,
}
)
.pipe(transform((data, file) => lokaliseTransform(data, data, file)))
.pipe(
flatmap((stream, file) => {
@@ -193,7 +203,7 @@ gulp.task("build-merged-translations", () =>
// than a base translation + region.
const tr = path.basename(file.history[0], ".json");
const subtags = tr.split("-");
const src = [workDir + "/translationMaster.json"];
const src = [fullDir + "/en.json"];
for (let i = 1; i <= subtags.length; i++) {
const lang = subtags.slice(0, i).join("-");
if (lang === "test") {
@@ -378,7 +388,6 @@ gulp.task("build-translation-write-metadata", () =>
if (value.nativeName) {
newData[key] = value;
} else {
// eslint-disable-next-line no-console
console.warn(
`Skipping language ${key}. Native name was not translated.`
);
@@ -411,8 +420,10 @@ gulp.task(
gulp.task(
"build-translations",
gulp.series(
"clean-translations",
"ensure-translations-build-dir",
gulp.parallel(
"fetch-nightly-translations",
gulp.series("clean-translations", "ensure-translations-build-dir")
),
"create-translations",
"build-translation-fingerprints",
"build-translation-write-metadata"
@@ -422,8 +433,10 @@ gulp.task(
gulp.task(
"build-supervisor-translations",
gulp.series(
"clean-translations",
"ensure-translations-build-dir",
gulp.parallel(
"fetch-nightly-translations",
gulp.series("clean-translations", "ensure-translations-build-dir")
),
"build-master-translation",
"build-merged-translations",
"build-translation-fragment-supervisor",

View File

@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-var-requires */
// Tasks to run webpack.
const fs = require("fs");
const gulp = require("gulp");
@@ -6,14 +5,15 @@ const webpack = require("webpack");
const WebpackDevServer = require("webpack-dev-server");
const log = require("fancy-log");
const path = require("path");
const paths = require("../paths");
const env = require("../env.cjs");
const paths = require("../paths.cjs");
const {
createAppConfig,
createDemoConfig,
createCastConfig,
createHassioConfig,
createGalleryConfig,
} = require("../webpack");
} = require("../webpack.cjs");
const bothBuilds = (createConfigFunc, params) => [
createConfigFunc({ ...params, latestBuild: true }),
@@ -69,7 +69,6 @@ const doneHandler = (done) => (err, stats) => {
}
if (stats.hasErrors() || stats.hasWarnings()) {
// eslint-disable-next-line no-console
console.log(stats.toString("minimal"));
}
@@ -106,6 +105,8 @@ gulp.task("webpack-prod-app", () =>
prodBuild(
bothBuilds(createAppConfig, {
isProdBuild: true,
isStatsBuild: env.isStatsBuild(),
isTestBuild: env.isTestBuild(),
})
)
);
@@ -163,6 +164,8 @@ gulp.task("webpack-prod-hassio", () =>
prodBuild(
bothBuilds(createHassioConfig, {
isProdBuild: true,
isStatsBuild: env.isStatsBuild(),
isTestBuild: env.isTestBuild(),
})
)
);

View File

@@ -0,0 +1,59 @@
#!/usr/bin/env node
// Script to print Babel plugins and Core JS polyfills that will be used by browserslist environments
import { version as babelVersion } from "@babel/core";
import presetEnv from "@babel/preset-env";
import compilationTargets from "@babel/helper-compilation-targets";
import coreJSCompat from "core-js-compat";
import { logPlugin } from "@babel/preset-env/lib/debug.js";
import { babelOptions } from "./bundle.cjs";
const detailsOpen = (heading) =>
`<details>\n<summary><h4>${heading}</h4></summary>\n`;
const detailsClose = "</details>\n";
const dummyAPI = {
version: babelVersion,
assertVersion: () => {},
caller: (callback) =>
callback({
name: "Dummy Bundler",
supportsStaticESM: true,
supportsDynamicImport: true,
supportsTopLevelAwait: true,
supportsExportNamespaceFrom: true,
}),
targets: () => ({}),
};
for (const buildType of ["Modern", "Legacy"]) {
const browserslistEnv = buildType.toLowerCase();
const babelOpts = babelOptions({ latestBuild: browserslistEnv === "modern" });
const presetEnvOpts = babelOpts.presets[0][1];
// Invoking preset-env in debug mode will log the included plugins
console.log(detailsOpen(`${buildType} Build Babel Plugins`));
presetEnv.default(dummyAPI, {
...presetEnvOpts,
browserslistEnv,
debug: true,
});
console.log(detailsClose);
// Manually log the Core-JS polyfills using the same technique
if (presetEnvOpts.useBuiltIns) {
console.log(detailsOpen(`${buildType} Build Core-JS Polyfills`));
const targets = compilationTargets.default(babelOpts?.targets, {
browserslistEnv,
});
const polyfillList = coreJSCompat({ targets }).list;
console.log(
"The following %i polyfills may be injected by Babel:\n",
polyfillList.length
);
for (const polyfill of polyfillList) {
logPlugin(polyfill, targets, coreJSCompat.data);
}
console.log(detailsClose);
}
}

View File

@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
module.exports = {

View File

@@ -1,30 +1 @@
[
{
"path": "M20,20H7A2,2 0 0,1 5,18V8.94L2.23,5.64C2.09,5.47 2,5.24 2,5A1,1 0 0,1 3,4H20A2,2 0 0,1 22,6V18A2,2 0 0,1 20,20M8.5,7A0.5,0.5 0 0,0 8,7.5V8.5A0.5,0.5 0 0,0 8.5,9H18.5A0.5,0.5 0 0,0 19,8.5V7.5A0.5,0.5 0 0,0 18.5,7H8.5M8.5,11A0.5,0.5 0 0,0 8,11.5V12.5A0.5,0.5 0 0,0 8.5,13H18.5A0.5,0.5 0 0,0 19,12.5V11.5A0.5,0.5 0 0,0 18.5,11H8.5M8.5,15A0.5,0.5 0 0,0 8,15.5V16.5A0.5,0.5 0 0,0 8.5,17H13.5A0.5,0.5 0 0,0 14,16.5V15.5A0.5,0.5 0 0,0 13.5,15H8.5Z",
"name": "android-messages"
},
{
"path": "M4,6H2V20A2,2 0 0,0 4,22H18V20H4V6M20,2H8A2,2 0 0,0 6,4V16A2,2 0 0,0 8,18H20A2,2 0 0,0 22,16V4A2,2 0 0,0 20,2M20,12L17.5,10.5L15,12V4H20V12Z",
"name": "book-variant-multiple"
},
{
"path": "M21,14H3V4H21M21,2H3C1.89,2 1,2.89 1,4V16A2,2 0 0,0 3,18H10L8,21V22H16V21L14,18H21A2,2 0 0,0 23,16V4C23,2.89 22.1,2 21,2Z",
"name": "desktop-mac"
},
{
"path": "M21,14V4H3V14H21M21,2A2,2 0 0,1 23,4V16A2,2 0 0,1 21,18H14L16,21V22H8V21L10,18H3C1.89,18 1,17.1 1,16V4C1,2.89 1.89,2 3,2H21M4,5H15V10H4V5M16,5H20V7H16V5M20,8V13H16V8H20M4,11H9V13H4V11M10,11H15V13H10V11Z",
"name": "desktop-mac-dashboard"
},
{
"path": "M22,24L16.75,19L17.38,21H4.5A2.5,2.5 0 0,1 2,18.5V3.5A2.5,2.5 0 0,1 4.5,1H19.5A2.5,2.5 0 0,1 22,3.5V24M12,6.8C9.32,6.8 7.44,7.95 7.44,7.95C8.47,7.03 10.27,6.5 10.27,6.5L10.1,6.33C8.41,6.36 6.88,7.53 6.88,7.53C5.16,11.12 5.27,14.22 5.27,14.22C6.67,16.03 8.75,15.9 8.75,15.9L9.46,15C8.21,14.73 7.42,13.62 7.42,13.62C7.42,13.62 9.3,14.9 12,14.9C14.7,14.9 16.58,13.62 16.58,13.62C16.58,13.62 15.79,14.73 14.54,15L15.25,15.9C15.25,15.9 17.33,16.03 18.73,14.22C18.73,14.22 18.84,11.12 17.12,7.53C17.12,7.53 15.59,6.36 13.9,6.33L13.73,6.5C13.73,6.5 15.53,7.03 16.56,7.95C16.56,7.95 14.68,6.8 12,6.8M9.93,10.59C10.58,10.59 11.11,11.16 11.1,11.86C11.1,12.55 10.58,13.13 9.93,13.13C9.29,13.13 8.77,12.55 8.77,11.86C8.77,11.16 9.28,10.59 9.93,10.59M14.1,10.59C14.75,10.59 15.27,11.16 15.27,11.86C15.27,12.55 14.75,13.13 14.1,13.13C13.46,13.13 12.94,12.55 12.94,11.86C12.94,11.16 13.45,10.59 14.1,10.59Z",
"name": "discord"
},
{
"path": "M8.06,7.78C7.5,7.78 7.17,7.73 7.08,7.64L6.66,13.73C7.19,14.05 7.88,14.3 8.72,14.5C9.56,14.71 10.78,14.77 12.38,14.67C13.97,14.58 15.63,14.23 17.34,13.64L16.55,4.22C15.67,5.09 14.38,5.91 12.66,6.66C11.13,7.31 9.81,7.69 8.72,7.78H8.06M7.97,5.34C7.28,5.94 7,6.34 7.13,6.56C7.22,6.78 7.7,6.84 8.58,6.75C9.67,6.66 10.91,6.31 12.28,5.72C13.22,5.31 14.03,4.88 14.72,4.41C15.41,3.94 15.88,3.55 16.13,3.23C16.38,2.92 16.47,2.7 16.41,2.58C16.34,2.42 16.03,2.34 15.47,2.34C14.34,2.34 12.94,2.7 11.25,3.42C9.81,4.05 8.72,4.69 7.97,5.34M17.34,2.2C17.41,2.33 17.44,2.47 17.44,2.63L18.61,17C18.61,18.73 18,20.09 16.83,21.07C15.64,22.05 14.03,22.55 12,22.55C10,22.55 8.4,22.04 7.2,21C6,20 5.39,18.64 5.39,16.92L6.09,6.47C6.09,6.22 6.2,5.94 6.42,5.63C6.64,5.31 6.84,5.06 7.03,4.88L7.36,4.59C8.33,3.78 9.5,3.08 10.88,2.5C11.81,2.08 12.73,1.77 13.62,1.57C14.5,1.37 15.3,1.3 16,1.38C16.71,1.46 17.16,1.73 17.34,2.2Z",
"name": "google-home"
},
{
"path": "M19.25,19H4.75V3H19.25M14,22H10V21H14M18,0H6A3,3 0 0,0 3,3V21A3,3 0 0,0 6,24H18A3,3 0 0,0 21,21V3A3,3 0 0,0 18,0Z",
"name": "tablet-android"
}
]
[]

View File

@@ -81,13 +81,13 @@ module.exports = function (opts = {}) {
opts.workerRegexp.flags
);
if (!workerRegexp.test(code)) {
return;
return undefined;
}
const ms = new MagicString(code);
// Reset the regexp
workerRegexp.lastIndex = 0;
while (true) {
for (;;) {
const match = workerRegexp.exec(code);
if (!match) {
break;
@@ -98,11 +98,12 @@ module.exports = function (opts = {}) {
// Parse the optional options object
if (match[3] && match[3].length > 0) {
// FIXME: ooooof!
// eslint-disable-next-line @typescript-eslint/no-implied-eval
optionsObject = new Function(`return ${match[3].slice(1)};`)();
}
delete optionsObject.type;
if (!new RegExp("^.*/").test(workerFile)) {
if (!/^.*\//.test(workerFile)) {
this.warn(
`Paths passed to the Worker constructor must be relative or absolute, i.e. start with /, ./ or ../ (just like dynamic import!). Ignoring "${workerFile}".`
);
@@ -110,12 +111,14 @@ module.exports = function (opts = {}) {
}
// Find worker file and store it as a chunk with ID prefixed for our loader
// eslint-disable-next-line no-await-in-loop
const resolvedWorkerFile = (await this.resolve(workerFile, id)).id;
let chunkRefId;
if (resolvedWorkerFile in refIds) {
chunkRefId = refIds[resolvedWorkerFile];
} else {
this.addWatchFile(resolvedWorkerFile);
// eslint-disable-next-line no-await-in-loop
const source = await getBundledWorker(
resolvedWorkerFile,
rollupOptions

View File

@@ -1,21 +1,20 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
const commonjs = require("@rollup/plugin-commonjs");
const resolve = require("@rollup/plugin-node-resolve");
const json = require("@rollup/plugin-json");
const babel = require("@rollup/plugin-babel").babel;
const { babel } = require("@rollup/plugin-babel");
const replace = require("@rollup/plugin-replace");
const visualizer = require("rollup-plugin-visualizer");
const { string } = require("rollup-plugin-string");
const { terser } = require("rollup-plugin-terser");
const manifest = require("./rollup-plugins/manifest-plugin");
const worker = require("./rollup-plugins/worker-plugin");
const dontHashPlugin = require("./rollup-plugins/dont-hash-plugin");
const ignore = require("./rollup-plugins/ignore-plugin");
const manifest = require("./rollup-plugins/manifest-plugin.cjs");
const worker = require("./rollup-plugins/worker-plugin.cjs");
const dontHashPlugin = require("./rollup-plugins/dont-hash-plugin.cjs");
const ignore = require("./rollup-plugins/ignore-plugin.cjs");
const bundle = require("./bundle");
const paths = require("./paths");
const bundle = require("./bundle.cjs");
const paths = require("./paths.cjs");
const extensions = [".js", ".ts"];
@@ -40,11 +39,18 @@ const createRollupConfig = ({
inputOptions: {
input: entry,
// Some entry points contain no JavaScript. This setting silences a warning about that.
// https://rollupjs.org/guide/en/#preserveentrysignatures
// https://rollupjs.org/configuration-options/#preserveentrysignatures
preserveEntrySignatures: false,
plugins: [
ignore({
files: bundle.emptyPackages({ latestBuild }),
files: bundle
.emptyPackages({ latestBuild })
// TEMP HACK: Makes Rollup build work again
.concat(
require.resolve(
"@webcomponents/scoped-custom-element-registry/scoped-custom-element-registry.min"
)
),
}),
resolve({
extensions,
@@ -55,7 +61,7 @@ const createRollupConfig = ({
commonjs(),
json(),
babel({
...bundle.babelOptions({ latestBuild }),
...bundle.babelOptions({ latestBuild, isProdBuild }),
extensions,
babelHelpers: isWDS ? "inline" : "bundled",
}),
@@ -70,7 +76,7 @@ const createRollupConfig = ({
}),
!isWDS && worker(),
!isWDS && dontHashPlugin({ dontHash }),
!isWDS && isProdBuild && terser(bundle.terserOptions(latestBuild)),
!isWDS && isProdBuild && terser(bundle.terserOptions({ latestBuild })),
!isWDS &&
isStatsBuild &&
visualizer({
@@ -84,20 +90,20 @@ const createRollupConfig = ({
* @type { import("rollup").OutputOptions }
*/
outputOptions: {
// https://rollupjs.org/guide/en/#outputdir
// https://rollupjs.org/configuration-options/#output-dir
dir: outputPath,
// https://rollupjs.org/guide/en/#outputformat
// https://rollupjs.org/configuration-options/#output-format
format: latestBuild ? "es" : "systemjs",
// https://rollupjs.org/guide/en/#outputexternallivebindings
// https://rollupjs.org/configuration-options/#output-externallivebindings
externalLiveBindings: false,
// https://rollupjs.org/guide/en/#outputentryfilenames
// https://rollupjs.org/guide/en/#outputchunkfilenames
// https://rollupjs.org/guide/en/#outputassetfilenames
// https://rollupjs.org/configuration-options/#output-entryfilenames
// https://rollupjs.org/configuration-options/#output-chunkfilenames
// https://rollupjs.org/configuration-options/#output-assetfilenames
entryFileNames:
isProdBuild && !isStatsBuild ? "[name]-[hash].js" : "[name].js",
chunkFileNames: isProdBuild && !isStatsBuild ? "c.[hash].js" : "[name].js",
assetFileNames: isProdBuild && !isStatsBuild ? "a.[hash].js" : "[name].js",
// https://rollupjs.org/guide/en/#outputsourcemap
// https://rollupjs.org/configuration-options/#output-sourcemap
sourcemap: isProdBuild ? true : "inline",
},
});

View File

@@ -1,4 +1,3 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const path = require("path");
const fs = require("fs");

View File

@@ -1,12 +1,11 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const webpack = require("webpack");
const path = require("path");
const TerserPlugin = require("terser-webpack-plugin");
const { WebpackManifestPlugin } = require("webpack-manifest-plugin");
const log = require("fancy-log");
const WebpackBar = require("webpackbar");
const paths = require("./paths.js");
const bundle = require("./bundle.js");
const paths = require("./paths.cjs");
const bundle = require("./bundle.cjs");
class LogStartCompilePlugin {
ignoredFirst = false;
@@ -23,6 +22,7 @@ class LogStartCompilePlugin {
}
const createWebpackConfig = ({
name,
entry,
outputPath,
publicPath,
@@ -30,6 +30,7 @@ const createWebpackConfig = ({
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
isHassioBuild,
dontHash,
}) => {
@@ -38,10 +39,16 @@ const createWebpackConfig = ({
}
const ignorePackages = bundle.ignorePackages({ latestBuild });
return {
name,
mode: isProdBuild ? "production" : "development",
target: ["web", latestBuild ? "es2017" : "es5"],
devtool: isProdBuild
? "cheap-module-source-map"
// For tests/CI, source maps are skipped to gain build speed
// For production, generate source maps for accurate stack traces without source code
// For development, generate "cheap" versions that can map to original line numbers
devtool: isTestBuild
? false
: isProdBuild
? "nosources-source-map"
: "eval-cheap-module-source-map",
entry,
node: false,
@@ -52,11 +59,14 @@ const createWebpackConfig = ({
use: {
loader: "babel-loader",
options: {
...bundle.babelOptions({ latestBuild }),
...bundle.babelOptions({ latestBuild, isProdBuild, isTestBuild }),
cacheDirectory: !isProdBuild,
cacheCompression: false,
},
},
resolve: {
fullySpecified: false,
},
},
{
test: /\.css$/,
@@ -69,7 +79,7 @@ const createWebpackConfig = ({
new TerserPlugin({
parallel: true,
extractComments: true,
terserOptions: bundle.terserOptions(latestBuild),
terserOptions: bundle.terserOptions({ latestBuild, isTestBuild }),
}),
],
moduleIds: isProdBuild && !isStatsBuild ? "deterministic" : "named",
@@ -103,7 +113,6 @@ const createWebpackConfig = ({
? path.resolve(context, resource)
: require.resolve(resource);
} catch (err) {
// eslint-disable-next-line no-console
console.error(
"Error in Home Assistant ignore plugin",
resource,
@@ -143,18 +152,37 @@ const createWebpackConfig = ({
},
},
output: {
filename: ({ chunk }) => {
if (!isProdBuild || isStatsBuild || dontHash.has(chunk.name)) {
return `${chunk.name}.js`;
}
return `${chunk.name}.${chunk.hash.substr(0, 8)}.js`;
},
filename: ({ chunk }) =>
!isProdBuild || isStatsBuild || dontHash.has(chunk.name)
? "[name].js"
: "[name]-[contenthash].js",
chunkFilename:
isProdBuild && !isStatsBuild ? "[chunkhash:8].js" : "[id].chunk.js",
isProdBuild && !isStatsBuild ? "[id]-[contenthash].js" : "[name].js",
assetModuleFilename:
isProdBuild && !isStatsBuild ? "[id]-[contenthash][ext]" : "[id][ext]",
hashFunction: "xxhash64",
hashDigest: "base64url",
hashDigestLength: 11, // full length of 64 bit base64url
path: outputPath,
publicPath,
// To silence warning in worker plugin
globalObject: "self",
// Since production source maps don't include sources, we need to point to them elsewhere
// For dependencies, just provide the path (no source in browser)
// Otherwise, point to the raw code on GitHub for browser to load
devtoolModuleFilenameTemplate:
!isTestBuild && isProdBuild
? (info) => {
const sourcePath = info.resourcePath.replace(/^\.\//, "");
if (
sourcePath.startsWith("node_modules") ||
sourcePath.startsWith("webpack")
) {
return `no-source/${sourcePath}`;
}
return `${bundle.sourceMapURL()}/${sourcePath}`;
}
: undefined,
},
experiments: {
topLevelAwait: true,
@@ -162,9 +190,14 @@ const createWebpackConfig = ({
};
};
const createAppConfig = ({ isProdBuild, latestBuild, isStatsBuild }) =>
const createAppConfig = ({
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
}) =>
createWebpackConfig(
bundle.config.app({ isProdBuild, latestBuild, isStatsBuild })
bundle.config.app({ isProdBuild, latestBuild, isStatsBuild, isTestBuild })
);
const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) =>
@@ -175,8 +208,20 @@ const createDemoConfig = ({ isProdBuild, latestBuild, isStatsBuild }) =>
const createCastConfig = ({ isProdBuild, latestBuild }) =>
createWebpackConfig(bundle.config.cast({ isProdBuild, latestBuild }));
const createHassioConfig = ({ isProdBuild, latestBuild }) =>
createWebpackConfig(bundle.config.hassio({ isProdBuild, latestBuild }));
const createHassioConfig = ({
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
}) =>
createWebpackConfig(
bundle.config.hassio({
isProdBuild,
latestBuild,
isStatsBuild,
isTestBuild,
})
);
const createGalleryConfig = ({ isProdBuild, latestBuild }) =>
createWebpackConfig(bundle.config.gallery({ isProdBuild, latestBuild }));

View File

@@ -1,5 +1,5 @@
const rollup = require("../build-scripts/rollup.js");
const env = require("../build-scripts/env.js");
import rollup from "../build-scripts/rollup.cjs";
import env from "../build-scripts/env.cjs";
const config = rollup.createCastConfig({
isProdBuild: env.isProdBuild(),
@@ -7,4 +7,4 @@ const config = rollup.createCastConfig({
isStatsBuild: env.isStatsBuild(),
});
module.exports = { ...config.inputOptions, output: config.outputOptions };
export default { ...config.inputOptions, output: config.outputOptions };

View File

@@ -0,0 +1,24 @@
<meta property="fb:app_id" content="338291289691179" />
<meta property="og:title" content="Home Assistant Cast" />
<meta property="og:site_name" content="Home Assistant Cast" />
<meta property="og:url" content="https://cast.home-assistant.io/" />
<meta property="og:type" content="website" />
<meta
property="og:description"
content="Show Home Assistant on your Chromecast or Google Assistant devices with a screen."
/>
<meta
property="og:image"
content="https://cast.home-assistant.io/images/google-nest-hub.png"
/>
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@home_assistant" />
<meta name="twitter:title" content="Home Assistant Cast" />
<meta
name="twitter:description"
content="Show Home Assistant on your Chromecast or Google Assistant devices with a screen."
/>
<meta
name="twitter:image"
content="https://cast.home-assistant.io/images/google-nest-hub.png"
/>

View File

@@ -3,7 +3,7 @@
<head>
<title>Home Assistant Cast - FAQ</title>
<link rel="icon" href="/images/ha-cast-icon.png" type="image/png" />
<%= renderTemplate('_style_base') %>
<%= renderTemplate("../../../src/html/_style_base.html.template") %>
<style>
body {
background-color: #e5e5e5;
@@ -35,25 +35,14 @@
/>
</head>
<body>
<%= renderTemplate('_js_base') %>
<%= renderTemplate("../../../src/html/_js_base.html.template") %>
<script>
import("<%= latestLauncherJS %>");
<% for (const entry of latestEntryJS) { %>
import("<%= entry %>");
<% } %>
window.latestJS = true;
</script>
<script>
if (!window.latestJS) {
<% if (useRollup) { %>
_ls("/static/js/s.min.js").onload = function() {
System.import("<%= es5LauncherJS %>");
};
<% } else { %>
_ls("<%= es5LauncherJS %>");
<% } %>
}
</script>
<%= renderTemplate("../../../src/html/_script_load_es5.html.template") %>
<hc-layout subtitle="FAQ">
<style>
a {
@@ -213,7 +202,7 @@
</p>
<ul>
<li>Google Chrome (all platforms except iOS)</li>
<li>Microsoft Edge (all platforms)</li>
<li>Microsoft Edge (all platforms except iOS)</li>
</ul>
</div>

View File

@@ -0,0 +1,35 @@
<!DOCTYPE html>
<html>
<head>
<title>Home Assistant Cast</title>
<link rel="manifest" href="/manifest.json" />
<link rel="icon" href="/images/ha-cast-icon.png" type="image/png" />
<%= renderTemplate("../../../src/html/_style_base.html.template") %>
<style>
body {
background-color: #e5e5e5;
}
</style>
<%= renderTemplate("_social_meta.html.template") %>
</head>
<body>
<%= renderTemplate("../../../src/html/_js_base.html.template") %>
<hc-connect></hc-connect>
<script>
<% for (const entry of latestEntryJS) { %>
import("<%= entry %>");
<% } %>
window.latestJS = true;
</script>
<%= renderTemplate("../../../src/html/_script_load_es5.html.template") %>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-57927901-9', 'auto');
ga('send', 'pageview', location.pathname.includes("auth_callback") === -1 ? location.pathname : "/");
</script>
</body>
</html>

View File

@@ -1,57 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Home Assistant Cast</title>
<link rel="manifest" href="/manifest.json" />
<link rel="icon" href="/images/ha-cast-icon.png" type="image/png" />
<%= renderTemplate('_style_base') %>
<style>
body {
background-color: #e5e5e5;
}
</style>
<meta property="fb:app_id" content="338291289691179">
<meta property="og:title" content="Home Assistant Cast">
<meta property="og:site_name" content="Home Assistant Cast">
<meta property="og:url" content="https://cast.home-assistant.io/">
<meta property="og:type" content="website">
<meta property="og:description" content="Show Home Assistant on your Chromecast or Google Assistant devices with a screen.">
<meta property="og:image" content="https://cast.home-assistant.io/images/google-nest-hub.png">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@home_assistant">
<meta name="twitter:title" content="Home Assistant Cast">
<meta name="twitter:description" content="Show Home Assistant on your Chromecast or Google Assistant devices with a screen.">
<meta name="twitter:image" content="https://cast.home-assistant.io/images/google-nest-hub.png">
</head>
<body>
<%= renderTemplate('_js_base') %>
<hc-connect></hc-connect>
<script>
import("<%= latestLauncherJS %>");
window.latestJS = true;
</script>
<script>
if (!window.latestJS) {
<% if (useRollup) { %>
_ls("/static/js/s.min.js").onload = function() {
System.import("<%= es5LauncherJS %>");
};
<% } else { %>
_ls("<%= es5LauncherJS %>");
<% } %>
}
</script>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-57927901-9', 'auto');
ga('send', 'pageview', location.pathname.includes("auth_callback") === -1 ? location.pathname : "/");
</script>
</body>
</html>

View File

@@ -22,25 +22,14 @@
</script>
</head>
<body>
<%= renderTemplate('_js_base') %>
<%= renderTemplate("../../../src/html/_js_base.html.template") %>
<cast-media-player></cast-media-player>
<script>
import("<%= latestMediaJS %>");
<% for (const entry of latestEntryJS) { %>
import("<%= entry %>");
<% } %>
window.latestJS = true;
</script>
<script>
if (!window.latestJS) {
<% if (useRollup) { %>
_ls("/static/js/s.min.js").onload = function() {
System.import("<%= es5MediaJS %>");
};
<% } else { %>
_ls("<%= es5MediaJS %>");
<% } %>
}
</script>
<%= renderTemplate("../../../src/html/_script_load_es5.html.template") %>
</body>
</html>

View File

@@ -1,8 +1,10 @@
<!DOCTYPE html>
<html>
<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>
<script type="module" src="<%= latestReceiverJS %>"></script>
<%= renderTemplate('_style_base') %>
<% for (const entry of latestEntryJS) { %>
<script type="module" src="<%= entry %>"></script>
<% } %>
<%= renderTemplate("../../../src/html/_style_base.html.template") %>
<style>
body {
background-color: white;

View File

@@ -88,7 +88,7 @@ class HcCast extends LitElement {
>
${(this.lovelaceConfig
? this.lovelaceConfig.views
: [generateDefaultViewConfig([], [], [], {}, () => "")]
: [generateDefaultViewConfig({}, {}, {}, {}, () => "")]
).map(
(view, idx) => html`
<paper-icon-item
@@ -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);
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
@@ -44,7 +48,7 @@ class HcLayout extends LitElement {
<div class="footer">
<a href="./faq.html">Frequently Asked Questions</a> Found a bug?
<a
href="https://github.com/home-assistant/home-assistant-polymer/issues"
href="https://github.com/home-assistant/frontend/issues"
target="_blank"
>Let us know!</a
>

View File

@@ -1,4 +1,4 @@
import { html, TemplateResult } from "lit";
import { html, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import { mockHistory } from "../../../../demo/src/stubs/history";
import { LovelaceConfig } from "../../../../src/data/lovelace";
@@ -18,9 +18,9 @@ class HcDemo extends HassElement {
@state() private _lovelaceConfig?: LovelaceConfig;
protected render(): TemplateResult {
protected render() {
if (!this._lovelaceConfig) {
return html``;
return nothing;
}
return html`
<hc-lovelace

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

@@ -33,7 +33,6 @@ import { castContext } from "../cast_context";
import "./hc-launch-screen";
let resourcesLoaded = false;
@customElement("hc-main")
export class HcMain extends HassElement {
@state() private _showDemo = false;
@@ -46,6 +45,8 @@ export class HcMain extends HassElement {
@state() private _urlPath?: string | null;
private _hassUUID?: string;
private _unsubLovelace?: UnsubscribeFunc;
public processIncomingMessage(msg: HassMessage) {
@@ -125,6 +126,7 @@ export class HcMain extends HassElement {
if (this.hass) {
status.hassUrl = this.hass.auth.data.hassUrl;
status.hassUUID = this._hassUUID;
status.lovelacePath = this._lovelacePath;
status.urlPath = this._urlPath;
}
@@ -163,6 +165,18 @@ export class HcMain extends HassElement {
};
private async _handleGetStatusMessage(msg: GetStatusMessage) {
if (
(this.hass && msg.hassUUID && msg.hassUUID !== this._hassUUID) ||
(this.hass && msg.hassUrl && msg.hassUrl !== this.hass.auth.data.hassUrl)
) {
this._error = "Not connected to the same Home Assistant instance.";
this._sendError(
ReceiverErrorCode.WRONG_INSTANCE,
this._error,
msg.senderId!
);
}
this._sendStatus(msg.senderId!);
}
@@ -179,6 +193,7 @@ export class HcMain extends HassElement {
expires_in: 0,
}),
});
this._hassUUID = msg.hassUUID;
} catch (err: any) {
const errorMessage = this._getErrorMessage(err);
this._error = errorMessage;
@@ -209,14 +224,50 @@ export class HcMain extends HassElement {
if (!this.hass) {
this._sendStatus(msg.senderId!);
this._error = "Cannot show Lovelace because we're not connected.";
this._sendError(ReceiverErrorCode.NOT_CONNECTED, this._error);
this._sendError(
ReceiverErrorCode.NOT_CONNECTED,
this._error,
msg.senderId!
);
return;
}
if (
(msg.hassUUID && msg.hassUUID !== this._hassUUID) ||
(msg.hassUrl && msg.hassUrl !== this.hass.auth.data.hassUrl)
) {
this._sendStatus(msg.senderId!);
this._error =
"Cannot show Lovelace because we're not connected to the same Home Assistant instance.";
this._sendError(
ReceiverErrorCode.WRONG_INSTANCE,
this._error,
msg.senderId!
);
return;
}
this._error = undefined;
if (msg.urlPath === "lovelace") {
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

@@ -1,8 +1,8 @@
const { createCastConfig } = require("../build-scripts/webpack.js");
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
import webpack from "../build-scripts/webpack.cjs";
import env from "../build-scripts/env.cjs";
module.exports = createCastConfig({
isProdBuild: isProdBuild(),
isStatsBuild: isStatsBuild(),
export default webpack.createCastConfig({
isProdBuild: env.isProdBuild(),
isStatsBuild: env.isStatsBuild(),
latestBuild: true,
});

View File

@@ -1,5 +1,5 @@
const rollup = require("../build-scripts/rollup.js");
const env = require("../build-scripts/env.js");
import rollup from "../build-scripts/rollup.cjs";
import env from "../build-scripts/env.cjs";
const config = rollup.createDemoConfig({
isProdBuild: env.isProdBuild(),
@@ -7,4 +7,4 @@ const config = rollup.createDemoConfig({
isStatsBuild: env.isStatsBuild(),
});
module.exports = { ...config.inputOptions, output: config.outputOptions };
export default { ...config.inputOptions, output: config.outputOptions };

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

@@ -508,7 +508,7 @@ export const demoEntitiesArsaboo: DemoConfig["entities"] = (localize) =>
origin_addresses: ["XYZ"],
status: "OK",
mode: "driving",
units: "imperial",
units: "us_customary",
duration_in_traffic: "41 mins",
duration: "44 mins",
distance: "34.3 mi",
@@ -527,7 +527,7 @@ export const demoEntitiesArsaboo: DemoConfig["entities"] = (localize) =>
origin_addresses: ["XYZ"],
status: "OK",
mode: "driving",
units: "imperial",
units: "us_customary",
duration_in_traffic: "37 mins",
duration: "37 mins",
distance: "30.2 mi",

View File

@@ -1196,7 +1196,7 @@ export const demoLovelaceJimpower: DemoConfig["lovelace"] = () => ({
left: "15%",
},
type: "state-icon",
entity: "binary_sensor.water_leak_sensor_158d0002338651",
entity: "binary_sensor.water_leak_sensor_158d00026e26dc",
},
{
prefix: "Kitchen: ",
@@ -1206,7 +1206,7 @@ export const demoLovelaceJimpower: DemoConfig["lovelace"] = () => ({
top: "89%",
left: "32%",
},
entity: "binary_sensor.water_leak_sensor_158d0002338651",
entity: "binary_sensor.water_leak_sensor_158d00026e26dc",
},
{
style: {
@@ -1215,7 +1215,7 @@ export const demoLovelaceJimpower: DemoConfig["lovelace"] = () => ({
left: "60%",
},
type: "state-icon",
entity: "binary_sensor.water_leak_sensor_158d00026e26dc",
entity: "binary_sensor.water_leak_sensor_158d0002338651",
},
{
prefix: "Bathroom: ",
@@ -1225,7 +1225,7 @@ export const demoLovelaceJimpower: DemoConfig["lovelace"] = () => ({
top: "89%",
left: "77%",
},
entity: "binary_sensor.water_leak_sensor_158d00026e26dc",
entity: "binary_sensor.water_leak_sensor_158d0002338651",
},
],
type: "picture-elements",

View File

@@ -138,7 +138,7 @@ if (!window.cardTools) {
return cardTools.createThing("row", config);
const domain = config.entity.split(".", 1)[0];
Object.assign(config, { type: DEFAULT_ROWS[domain] || "text" });
Object.assign(config, { type: DEFAULT_ROWS[domain] || "simple" });
return cardTools.createThing("entity-row", config);
};

View File

@@ -1,5 +1,5 @@
import { mdiTelevision } from "@mdi/js";
import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit";
import { css, CSSResultGroup, html, LitElement, nothing } from "lit";
import { customElement, state } from "lit/decorators";
import { CastManager } from "../../../src/cast/cast_manager";
import { castSendShowDemo } from "../../../src/cast/receiver_messages";
@@ -20,12 +20,12 @@ class CastDemoRow extends LitElement implements LovelaceRow {
// No config possible.
}
protected render(): TemplateResult {
protected render() {
if (
!this._castManager ||
this._castManager.castState === "NO_DEVICES_AVAILABLE"
) {
return html``;
return nothing;
}
return html`
<ha-svg-icon .path=${mdiTelevision}></ha-svg-icon>

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 { css, CSSResultGroup, html, LitElement, nothing } from "lit";
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;
@@ -29,9 +30,9 @@ export class HADemoCard extends LitElement implements LovelaceCard {
public setConfig(_config: LovelaceCardConfig) {}
protected render(): TemplateResult {
protected render() {
if (this._hidden) {
return html``;
return nothing;
}
return html`
<ha-card>
@@ -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";
@@ -20,12 +21,14 @@ import { mockHistory } from "./stubs/history";
import { mockLovelace } from "./stubs/lovelace";
import { mockMediaPlayer } from "./stubs/media_player";
import { mockPersistentNotification } from "./stubs/persistent_notification";
import { mockRecorder } from "./stubs/recorder";
import { mockShoppingList } from "./stubs/shopping_list";
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,
@@ -45,6 +48,7 @@ class HaDemo extends HomeAssistantAppEl {
mockAuth(hass);
mockTranslations(hass);
mockHistory(hass);
mockRecorder(hass);
mockShoppingList(hass);
mockSystemLog(hass);
mockTemplate(hass);
@@ -61,12 +65,15 @@ class HaDemo extends HomeAssistantAppEl {
area_id: null,
disabled_by: null,
entity_id: "sensor.co2_intensity",
id: "sensor.co2_intensity",
name: null,
icon: null,
platform: "co2signal",
hidden_by: null,
entity_category: null,
has_entity_name: false,
unique_id: "co2_intensity",
options: null,
},
{
config_entry_id: "co2signal",
@@ -74,12 +81,15 @@ class HaDemo extends HomeAssistantAppEl {
area_id: null,
disabled_by: null,
entity_id: "sensor.grid_fossil_fuel_percentage",
id: "sensor.co2_intensity",
name: null,
icon: null,
platform: "co2signal",
hidden_by: null,
entity_category: null,
has_entity_name: false,
unique_id: "grid_fossil_fuel_percentage",
options: null,
},
]);
@@ -115,4 +125,8 @@ class HaDemo extends HomeAssistantAppEl {
}
}
customElements.define("ha-demo", HaDemo);
declare global {
interface HTMLElementTagNameMap {
"ha-demo": HaDemo;
}
}

View File

@@ -0,0 +1,26 @@
<meta property="fb:app_id" content="338291289691179" />
<meta property="og:title" content="Home Assistant Demo" />
<meta property="og:site_name" content="Home Assistant" />
<meta property="og:url" content="https://demo.home-assistant.io/" />
<meta property="og:type" content="website" />
<meta
property="og:description"
content="Open source home automation that puts local control and privacy first."
/>
<meta
property="og:image"
content="https://www.home-assistant.io/images/default-social.png"
/>
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@home_assistant" />
<meta name="twitter:title" content="Home Assistant" />
<meta
name="twitter:description"
content="Open source home automation that puts local control and privacy first."
/>
<meta
name="twitter:image"
content="https://www.home-assistant.io/images/default-social.png"
/>

View File

@@ -1,9 +1,8 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="manifest" href="/manifest.json" crossorigin="use-credentials" />
<link rel="icon" href="/static/icons/favicon.ico" />
<title>Home Assistant Demo</title>
<%= renderTemplate("../../../src/html/_header.html.template") %>
<link rel="mask-icon" href="/static/icons/mask-icon.svg" color="#03a9f4" />
<link
rel="apple-touch-icon"
@@ -35,33 +34,7 @@
content="width=device-width, initial-scale=1, shrink-to-fit=no"
/>
<meta name="theme-color" content="#03a9f4" />
<meta property="fb:app_id" content="338291289691179" />
<meta property="og:title" content="Home Assistant Demo" />
<meta property="og:site_name" content="Home Assistant" />
<meta property="og:url" content="https://demo.home-assistant.io/" />
<meta property="og:type" content="website" />
<meta
property="og:description"
content="Open source home automation that puts local control and privacy first."
/>
<meta
property="og:image"
content="https://www.home-assistant.io/images/default-social.png"
/>
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@home_assistant" />
<meta name="twitter:title" content="Home Assistant" />
<meta
name="twitter:description"
content="Open source home automation that puts local control and privacy first."
/>
<meta
name="twitter:image"
content="https://www.home-assistant.io/images/default-social.png"
/>
<title>Home Assistant Demo</title>
<%= renderTemplate("_social_meta.html.template") %>
<style>
html {
background-color: var(--primary-background-color, #fafafa);
@@ -107,29 +80,22 @@
</svg>
<div id="ha-launch-screen-info-box" class="ha-launch-screen-spacer"></div>
</div>
<ha-demo></ha-demo>
<%= renderTemplate('_js_base') %>
<%= renderTemplate('_preload_roboto') %>
<%= renderTemplate("../../../src/html/_js_base.html.template") %>
<%= renderTemplate("../../../src/html/_preload_roboto.html.template") %>
<script>
import("<%= latestDemoJS %>");
window.latestJS = true;
</script>
<script>
if (!window.latestJS) {
<% if (useRollup) { %>
_ls("/static/js/s.min.js").onload = function() {
System.import("<%= es5DemoJS %>");
};
<% } else { %>
_ls("<%= es5DemoJS %>");
if (!window.globalThis) {
window.globalThis = window;
}
// Safari 12 and below does not have a compliant ES2015 implementation of template literals, so we ship ES5
if (!isS11_12) {
<% for (const entry of latestEntryJS) { %>
import("<%= entry %>");
<% } %>
window.latestJS = true;
}
</script>
<%= renderTemplate("../../../src/html/_script_load_es5.html.template") %>
<script>
var _gaq = [["_setAccount", "UA-57927901-5"], ["_trackPageview"]];
(function (d, t) {

View File

@@ -1,90 +1,101 @@
import { format, startOfToday, startOfTomorrow } from "date-fns/esm";
import { EnergySolarForecasts } from "../../../src/data/energy";
import {
EnergyInfo,
EnergyPreferences,
EnergySolarForecasts,
FossilEnergyConsumption,
} from "../../../src/data/energy";
import { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
export const mockEnergy = (hass: MockHomeAssistant) => {
hass.mockWS("energy/get_prefs", () => ({
energy_sources: [
{
type: "grid",
flow_from: [
{
stat_energy_from: "sensor.energy_consumption_tarif_1",
stat_cost: "sensor.energy_consumption_tarif_1_cost",
entity_energy_from: "sensor.energy_consumption_tarif_1",
entity_energy_price: null,
number_energy_price: null,
},
{
stat_energy_from: "sensor.energy_consumption_tarif_2",
stat_cost: "sensor.energy_consumption_tarif_2_cost",
entity_energy_from: "sensor.energy_consumption_tarif_2",
entity_energy_price: null,
number_energy_price: null,
},
],
flow_to: [
{
stat_energy_to: "sensor.energy_production_tarif_1",
stat_compensation: "sensor.energy_production_tarif_1_compensation",
entity_energy_to: "sensor.energy_production_tarif_1",
entity_energy_price: null,
number_energy_price: null,
},
{
stat_energy_to: "sensor.energy_production_tarif_2",
stat_compensation: "sensor.energy_production_tarif_2_compensation",
entity_energy_to: "sensor.energy_production_tarif_2",
entity_energy_price: null,
number_energy_price: null,
},
],
cost_adjustment_day: 0,
},
{
type: "solar",
stat_energy_from: "sensor.solar_production",
config_entry_solar_forecast: ["solar_forecast"],
},
/* {
type: "battery",
stat_energy_from: "sensor.battery_output",
stat_energy_to: "sensor.battery_input",
}, */
{
type: "gas",
stat_energy_from: "sensor.energy_gas",
stat_cost: "sensor.energy_gas_cost",
entity_energy_from: "sensor.energy_gas",
entity_energy_price: null,
number_energy_price: null,
},
],
device_consumption: [
{
stat_consumption: "sensor.energy_car",
},
{
stat_consumption: "sensor.energy_ac",
},
{
stat_consumption: "sensor.energy_washing_machine",
},
{
stat_consumption: "sensor.energy_dryer",
},
{
stat_consumption: "sensor.energy_heat_pump",
},
{
stat_consumption: "sensor.energy_boiler",
},
],
}));
hass.mockWS("energy/info", () => ({ cost_sensors: [] }));
hass.mockWS("energy/fossil_energy_consumption", ({ period }) => ({
start: period === "month" ? 250 : period === "day" ? 10 : 2,
}));
hass.mockWS(
"energy/get_prefs",
(): EnergyPreferences => ({
energy_sources: [
{
type: "grid",
flow_from: [
{
stat_energy_from: "sensor.energy_consumption_tarif_1",
stat_cost: "sensor.energy_consumption_tarif_1_cost",
entity_energy_price: null,
number_energy_price: null,
},
{
stat_energy_from: "sensor.energy_consumption_tarif_2",
stat_cost: "sensor.energy_consumption_tarif_2_cost",
entity_energy_price: null,
number_energy_price: null,
},
],
flow_to: [
{
stat_energy_to: "sensor.energy_production_tarif_1",
stat_compensation:
"sensor.energy_production_tarif_1_compensation",
entity_energy_price: null,
number_energy_price: null,
},
{
stat_energy_to: "sensor.energy_production_tarif_2",
stat_compensation:
"sensor.energy_production_tarif_2_compensation",
entity_energy_price: null,
number_energy_price: null,
},
],
cost_adjustment_day: 0,
},
{
type: "solar",
stat_energy_from: "sensor.solar_production",
config_entry_solar_forecast: ["solar_forecast"],
},
/* {
type: "battery",
stat_energy_from: "sensor.battery_output",
stat_energy_to: "sensor.battery_input",
}, */
{
type: "gas",
stat_energy_from: "sensor.energy_gas",
stat_cost: "sensor.energy_gas_cost",
entity_energy_price: null,
number_energy_price: null,
},
],
device_consumption: [
{
stat_consumption: "sensor.energy_car",
},
{
stat_consumption: "sensor.energy_ac",
},
{
stat_consumption: "sensor.energy_washing_machine",
},
{
stat_consumption: "sensor.energy_dryer",
},
{
stat_consumption: "sensor.energy_heat_pump",
},
{
stat_consumption: "sensor.energy_boiler",
},
],
})
);
hass.mockWS(
"energy/info",
(): EnergyInfo => ({ cost_sensors: {}, solar_forecast_domains: [] })
);
hass.mockWS(
"energy/fossil_energy_consumption",
({ period }): FossilEnergyConsumption => ({
start: period === "month" ? 250 : period === "day" ? 10 : 2,
})
);
const todayString = format(startOfToday(), "yyyy-MM-dd");
const tomorrowString = format(startOfTomorrow(), "yyyy-MM-dd");
hass.mockWS(

View File

@@ -1,47 +1,19 @@
import {
addDays,
addHours,
addMonths,
differenceInHours,
endOfDay,
} from "date-fns/esm";
import { HassEntity } from "home-assistant-js-websocket";
import { StatisticValue } from "../../../src/data/history";
import { HistoryStates } from "../../../src/data/history";
import { MockHomeAssistant } from "../../../src/fake_data/provide_hass";
interface HistoryQueryParams {
filter_entity_id: string;
end_time: string;
}
const parseQuery = <T>(queryString: string) => {
const query: any = {};
const items = queryString.split("&");
for (const item of items) {
const parts = item.split("=");
const key = decodeURIComponent(parts[0]);
const value = parts.length > 1 ? decodeURIComponent(parts[1]) : undefined;
query[key] = value;
}
return query as T;
};
const getTime = (minutesAgo) => {
const ts = new Date(Date.now() - minutesAgo * 60 * 1000);
return ts.toISOString();
};
const randomTimeAdjustment = (diff) => Math.random() * diff - diff / 2;
const maxTime = 1440;
const generateHistory = (state, deltas) => {
const generateStateHistory = (
state: HassEntity,
deltas,
start_date: Date,
end_date: Date
) => {
const changes =
typeof deltas[0] === "object"
? deltas
: deltas.map((st) => ({ state: st }));
const timeDiff = 900 / changes.length;
const timeDiff = (end_date.getTime() - start_date.getTime()) / changes.length;
return changes.map((change, index) => {
let attributes;
@@ -55,358 +27,43 @@ const generateHistory = (state, deltas) => {
attributes = { ...state.attributes, ...change.attributes };
}
const time =
index === 0
? getTime(maxTime)
: getTime(maxTime - index * timeDiff + randomTimeAdjustment(timeDiff));
const time = start_date.getTime() + timeDiff * index;
return {
attributes,
entity_id: state.entity_id,
state: change.state || state.state,
last_changed: time,
last_updated: time,
a: attributes,
s: change.state || state.state,
lc: time / 1000,
lu: time / 1000,
};
});
};
const incrementalUnits = ["clients", "queries", "ads"];
const generateMeanStatistics = (
id: string,
start: Date,
end: Date,
period: "5minute" | "hour" | "day" | "month" = "hour",
initValue: number,
maxDiff: number
) => {
const statistics: StatisticValue[] = [];
let currentDate = new Date(start);
currentDate.setMinutes(0, 0, 0);
let lastVal = initValue;
const now = new Date();
while (end > currentDate && currentDate < now) {
const delta = Math.random() * maxDiff;
const mean = lastVal + delta;
statistics.push({
statistic_id: id,
start: currentDate.toISOString(),
end: currentDate.toISOString(),
mean,
min: mean - Math.random() * maxDiff,
max: mean + Math.random() * maxDiff,
last_reset: "1970-01-01T00:00:00+00:00",
state: mean,
sum: null,
});
lastVal = mean;
currentDate =
period === "day"
? addDays(currentDate, 1)
: period === "month"
? addMonths(currentDate, 1)
: addHours(currentDate, 1);
}
return statistics;
};
const generateSumStatistics = (
id: string,
start: Date,
end: Date,
period: "5minute" | "hour" | "day" | "month" = "hour",
initValue: number,
maxDiff: number
) => {
const statistics: StatisticValue[] = [];
let currentDate = new Date(start);
currentDate.setMinutes(0, 0, 0);
let sum = initValue;
const now = new Date();
while (end > currentDate && currentDate < now) {
const add = Math.random() * maxDiff;
sum += add;
statistics.push({
statistic_id: id,
start: currentDate.toISOString(),
end: currentDate.toISOString(),
mean: null,
min: null,
max: null,
last_reset: "1970-01-01T00:00:00+00:00",
state: initValue + sum,
sum,
});
currentDate =
period === "day"
? addDays(currentDate, 1)
: period === "month"
? addMonths(currentDate, 1)
: addHours(currentDate, 1);
}
return statistics;
};
const generateCurvedStatistics = (
id: string,
start: Date,
end: Date,
_period: "5minute" | "hour" | "day" | "month" = "hour",
initValue: number,
maxDiff: number,
metered: boolean
) => {
const statistics: StatisticValue[] = [];
let currentDate = new Date(start);
currentDate.setMinutes(0, 0, 0);
let sum = initValue;
const hours = differenceInHours(end, start) - 1;
let i = 0;
let half = false;
const now = new Date();
while (end > currentDate && currentDate < now) {
const add = Math.random() * maxDiff;
sum += i * add;
statistics.push({
statistic_id: id,
start: currentDate.toISOString(),
end: currentDate.toISOString(),
mean: null,
min: null,
max: null,
last_reset: "1970-01-01T00:00:00+00:00",
state: initValue + sum,
sum: metered ? sum : null,
});
currentDate = addHours(currentDate, 1);
if (!half && i > hours / 2) {
half = true;
}
i += half ? -1 : 1;
}
return statistics;
};
const statisticsFunctions: Record<
string,
(
id: string,
start: Date,
end: Date,
period: "5minute" | "hour" | "day" | "month"
) => StatisticValue[]
> = {
"sensor.energy_consumption_tarif_1": (
id: string,
start: Date,
end: Date,
period = "hour"
) => {
if (period !== "hour") {
return generateSumStatistics(
id,
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const morningEnd = new Date(start.getTime() + 10 * 60 * 60 * 1000);
const morningLow = generateSumStatistics(
id,
start,
morningEnd,
period,
0,
0.7
);
const eveningStart = new Date(start.getTime() + 20 * 60 * 60 * 1000);
const morningFinalVal = morningLow.length
? morningLow[morningLow.length - 1].sum!
: 0;
const empty = generateSumStatistics(
id,
morningEnd,
eveningStart,
period,
morningFinalVal,
0
);
const eveningLow = generateSumStatistics(
id,
eveningStart,
end,
period,
morningFinalVal,
0.7
);
return [...morningLow, ...empty, ...eveningLow];
},
"sensor.energy_consumption_tarif_2": (
id: string,
start: Date,
end: Date,
period = "hour"
) => {
if (period !== "hour") {
return generateSumStatistics(
id,
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const morningEnd = new Date(start.getTime() + 9 * 60 * 60 * 1000);
const eveningStart = new Date(start.getTime() + 20 * 60 * 60 * 1000);
const highTarif = generateSumStatistics(
id,
morningEnd,
eveningStart,
period,
0,
0.3
);
const highTarifFinalVal = highTarif.length
? highTarif[highTarif.length - 1].sum!
: 0;
const morning = generateSumStatistics(id, start, morningEnd, period, 0, 0);
const evening = generateSumStatistics(
id,
eveningStart,
end,
period,
highTarifFinalVal,
0
);
return [...morning, ...highTarif, ...evening];
},
"sensor.energy_production_tarif_1": (id, start, end, period = "hour") =>
generateSumStatistics(id, start, end, period, 0, 0),
"sensor.energy_production_tarif_1_compensation": (
id,
start,
end,
period = "hour"
) => generateSumStatistics(id, start, end, period, 0, 0),
"sensor.energy_production_tarif_2": (id, start, end, period = "hour") => {
if (period !== "hour") {
return generateSumStatistics(
id,
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const productionStart = new Date(start.getTime() + 9 * 60 * 60 * 1000);
const productionEnd = new Date(start.getTime() + 21 * 60 * 60 * 1000);
const dayEnd = new Date(endOfDay(productionEnd));
const production = generateCurvedStatistics(
id,
productionStart,
productionEnd,
period,
0,
0.15,
true
);
const productionFinalVal = production.length
? production[production.length - 1].sum!
: 0;
const morning = generateSumStatistics(
id,
start,
productionStart,
period,
0,
0
);
const evening = generateSumStatistics(
id,
productionEnd,
dayEnd,
period,
productionFinalVal,
0
);
const rest = generateSumStatistics(
id,
dayEnd,
end,
period,
productionFinalVal,
1
);
return [...morning, ...production, ...evening, ...rest];
},
"sensor.solar_production": (id, start, end, period = "hour") => {
if (period !== "hour") {
return generateSumStatistics(
id,
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const productionStart = new Date(start.getTime() + 7 * 60 * 60 * 1000);
const productionEnd = new Date(start.getTime() + 23 * 60 * 60 * 1000);
const dayEnd = new Date(endOfDay(productionEnd));
const production = generateCurvedStatistics(
id,
productionStart,
productionEnd,
period,
0,
0.3,
true
);
const productionFinalVal = production.length
? production[production.length - 1].sum!
: 0;
const morning = generateSumStatistics(
id,
start,
productionStart,
period,
0,
0
);
const evening = generateSumStatistics(
id,
productionEnd,
dayEnd,
period,
productionFinalVal,
0
);
const rest = generateSumStatistics(
id,
dayEnd,
end,
period,
productionFinalVal,
2
);
return [...morning, ...production, ...evening, ...rest];
},
};
export const mockHistory = (mockHass: MockHomeAssistant) => {
mockHass.mockAPI(
new RegExp("history/period/.+"),
(hass, _method, path, _parameters) => {
const params = parseQuery<HistoryQueryParams>(path.split("?")[1]);
const entities = params.filter_entity_id.split(",");
mockHass.mockWS(
"history/stream",
(
{
entity_ids,
start_time,
end_time,
}: {
entity_ids: string[];
start_time: string;
end_time?: string;
},
hass,
onChange
) => {
const states: HistoryStates = {};
const results: HassEntity[][] = [];
const start = new Date(start_time);
const end = end_time ? new Date(end_time) : new Date();
for (const entityId of entity_ids) {
states[entityId] = [];
for (const entityId of entities) {
const state = hass.states[entityId];
if (!state) {
@@ -414,7 +71,12 @@ export const mockHistory = (mockHass: MockHomeAssistant) => {
}
if (!state.attributes.unit_of_measurement) {
results.push(generateHistory(state, [state.state]));
states[entityId] = generateStateHistory(
state,
[state.state],
start,
end
);
continue;
}
@@ -453,56 +115,23 @@ export const mockHistory = (mockHass: MockHomeAssistant) => {
numberState - diff + Math.floor(Math.random() * 2 * diff);
}
results.push(
generateHistory(
{
entity_id: state.entity_id,
attributes: state.attributes,
},
Array.from({ length: statesToGenerate }, genFunc)
)
states[entityId] = generateStateHistory(
state,
Array.from({ length: statesToGenerate }, genFunc),
start,
end
);
}
return results;
}
);
mockHass.mockWS("recorder/get_statistics_metadata", () => []);
mockHass.mockWS("history/list_statistic_ids", () => []);
mockHass.mockWS(
"history/statistics_during_period",
({ statistic_ids, start_time, end_time, period }, hass) => {
const start = new Date(start_time);
const end = end_time ? new Date(end_time) : new Date();
const statistics: Record<string, StatisticValue[]> = {};
setTimeout(() => {
onChange?.({
states,
start_time: start,
end_time: end,
});
}, 1);
statistic_ids.forEach((id: string) => {
if (id in statisticsFunctions) {
statistics[id] = statisticsFunctions[id](id, start, end, period);
} else {
const entityState = hass.states[id];
const state = entityState ? Number(entityState.state) : 1;
statistics[id] =
entityState && "last_reset" in entityState.attributes
? generateSumStatistics(
id,
start,
end,
period,
state,
state * (state > 80 ? 0.01 : 0.05)
)
: generateMeanStatistics(
id,
start,
end,
period,
state,
state * (state > 80 ? 0.05 : 0.1)
);
}
});
return statistics;
return () => {};
}
);
};

345
demo/src/stubs/recorder.ts Normal file
View File

@@ -0,0 +1,345 @@
import {
addDays,
addHours,
addMonths,
differenceInHours,
endOfDay,
} from "date-fns";
import {
Statistics,
StatisticsMetaData,
StatisticValue,
} from "../../../src/data/recorder";
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
): StatisticValue[] => {
const statistics: StatisticValue[] = [];
let currentDate = new Date(start);
currentDate.setMinutes(0, 0, 0);
let lastVal = initValue;
const now = new Date();
while (end > currentDate && currentDate < now) {
const delta = Math.random() * maxDiff;
const mean = lastVal + delta;
statistics.push({
start: currentDate.getTime(),
end: currentDate.getTime(),
mean,
min: mean - Math.random() * maxDiff,
max: mean + Math.random() * maxDiff,
last_reset: 0,
state: mean,
sum: null,
});
lastVal = mean;
currentDate =
period === "day"
? addDays(currentDate, 1)
: period === "month"
? addMonths(currentDate, 1)
: addHours(currentDate, 1);
}
return statistics;
};
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
): StatisticValue[] => {
const statistics: StatisticValue[] = [];
let currentDate = new Date(start);
currentDate.setMinutes(0, 0, 0);
let sum = initValue;
const now = new Date();
while (end > currentDate && currentDate < now) {
const add = Math.random() * maxDiff;
sum += add;
statistics.push({
start: currentDate.getTime(),
end: currentDate.getTime(),
mean: null,
min: null,
max: null,
last_reset: 0,
state: initValue + sum,
sum,
});
currentDate =
period === "day"
? addDays(currentDate, 1)
: period === "month"
? addMonths(currentDate, 1)
: addHours(currentDate, 1);
}
return statistics;
};
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,
metered: boolean
): StatisticValue[] => {
const statistics: StatisticValue[] = [];
let currentDate = new Date(start);
currentDate.setMinutes(0, 0, 0);
let sum = initValue;
const hours = differenceInHours(end, start) - 1;
let i = 0;
let half = false;
const now = new Date();
while (end > currentDate && currentDate < now) {
const add = Math.random() * maxDiff;
sum += i * add;
statistics.push({
start: currentDate.getTime(),
end: currentDate.getTime(),
mean: null,
min: null,
max: null,
last_reset: 0,
state: initValue + sum,
sum: metered ? sum : null,
});
currentDate = addHours(currentDate, 1);
if (!half && i > hours / 2) {
half = true;
}
i += half ? -1 : 1;
}
return statistics;
};
const statisticsFunctions: Record<
string,
(
id: string,
start: Date,
end: Date,
period: "5minute" | "hour" | "day" | "month"
) => StatisticValue[]
> = {
"sensor.energy_consumption_tarif_1": (
_id: string,
start: Date,
end: Date,
period = "hour"
) => {
if (period !== "hour") {
return generateSumStatistics(
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const morningEnd = new Date(start.getTime() + 10 * 60 * 60 * 1000);
const morningLow = generateSumStatistics(start, morningEnd, period, 0, 0.7);
const eveningStart = new Date(start.getTime() + 20 * 60 * 60 * 1000);
const morningFinalVal = morningLow.length
? morningLow[morningLow.length - 1].sum!
: 0;
const empty = generateSumStatistics(
morningEnd,
eveningStart,
period,
morningFinalVal,
0
);
const eveningLow = generateSumStatistics(
eveningStart,
end,
period,
morningFinalVal,
0.7
);
return [...morningLow, ...empty, ...eveningLow];
},
"sensor.energy_consumption_tarif_2": (
_id: string,
start: Date,
end: Date,
period = "hour"
) => {
if (period !== "hour") {
return generateSumStatistics(
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const morningEnd = new Date(start.getTime() + 9 * 60 * 60 * 1000);
const eveningStart = new Date(start.getTime() + 20 * 60 * 60 * 1000);
const highTarif = generateSumStatistics(
morningEnd,
eveningStart,
period,
0,
0.3
);
const highTarifFinalVal = highTarif.length
? highTarif[highTarif.length - 1].sum!
: 0;
const morning = generateSumStatistics(start, morningEnd, period, 0, 0);
const evening = generateSumStatistics(
eveningStart,
end,
period,
highTarifFinalVal,
0
);
return [...morning, ...highTarif, ...evening];
},
"sensor.energy_production_tarif_1": (_id, start, end, period = "hour") =>
generateSumStatistics(start, end, period, 0, 0),
"sensor.energy_production_tarif_1_compensation": (
_id,
start,
end,
period = "hour"
) => generateSumStatistics(start, end, period, 0, 0),
"sensor.energy_production_tarif_2": (_id, start, end, period = "hour") => {
if (period !== "hour") {
return generateSumStatistics(
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const productionStart = new Date(start.getTime() + 9 * 60 * 60 * 1000);
const productionEnd = new Date(start.getTime() + 21 * 60 * 60 * 1000);
const dayEnd = new Date(endOfDay(productionEnd));
const production = generateCurvedStatistics(
productionStart,
productionEnd,
period,
0,
0.15,
true
);
const productionFinalVal = production.length
? production[production.length - 1].sum!
: 0;
const morning = generateSumStatistics(start, productionStart, period, 0, 0);
const evening = generateSumStatistics(
productionEnd,
dayEnd,
period,
productionFinalVal,
0
);
const rest = generateSumStatistics(
dayEnd,
end,
period,
productionFinalVal,
1
);
return [...morning, ...production, ...evening, ...rest];
},
"sensor.solar_production": (_id, start, end, period = "hour") => {
if (period !== "hour") {
return generateSumStatistics(
start,
end,
period,
0,
period === "day" ? 17 : 504
);
}
const productionStart = new Date(start.getTime() + 7 * 60 * 60 * 1000);
const productionEnd = new Date(start.getTime() + 23 * 60 * 60 * 1000);
const dayEnd = new Date(endOfDay(productionEnd));
const production = generateCurvedStatistics(
productionStart,
productionEnd,
period,
0,
0.3,
true
);
const productionFinalVal = production.length
? production[production.length - 1].sum!
: 0;
const morning = generateSumStatistics(start, productionStart, period, 0, 0);
const evening = generateSumStatistics(
productionEnd,
dayEnd,
period,
productionFinalVal,
0
);
const rest = generateSumStatistics(
dayEnd,
end,
period,
productionFinalVal,
2
);
return [...morning, ...production, ...evening, ...rest];
},
};
export const mockRecorder = (mockHass: MockHomeAssistant) => {
mockHass.mockWS(
"recorder/get_statistics_metadata",
(): StatisticsMetaData[] => []
);
mockHass.mockWS(
"recorder/list_statistic_ids",
(): StatisticsMetaData[] => []
);
mockHass.mockWS(
"recorder/statistics_during_period",
({ statistic_ids, start_time, end_time, period }, hass): Statistics => {
const start = new Date(start_time);
const end = end_time ? new Date(end_time) : new Date();
const statistics: Record<string, StatisticValue[]> = {};
statistic_ids.forEach((id: string) => {
if (id in statisticsFunctions) {
statistics[id] = statisticsFunctions[id](id, start, end, period);
} else {
const entityState = hass.states[id];
const state = entityState ? Number(entityState.state) : 1;
statistics[id] =
entityState && "last_reset" in entityState.attributes
? generateSumStatistics(
start,
end,
period,
state,
state * (state > 80 ? 0.01 : 0.05)
)
: generateMeanStatistics(
start,
end,
period,
state,
state * (state > 80 ? 0.05 : 0.1)
);
}
});
return statistics;
}
);
};

View File

@@ -1,12 +1,11 @@
const { createDemoConfig } = require("../build-scripts/webpack.js");
const { isProdBuild, isStatsBuild } = require("../build-scripts/env.js");
import webpack from "../build-scripts/webpack.cjs";
import env from "../build-scripts/env.cjs";
// File just used for stats builds
const latestBuild = true;
module.exports = createDemoConfig({
isProdBuild: isProdBuild(),
isStatsBuild: isStatsBuild(),
export default webpack.createDemoConfig({
isProdBuild: env.isProdBuild(),
isStatsBuild: env.isStatsBuild(),
latestBuild,
});

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -1,5 +1,5 @@
const rollup = require("../build-scripts/rollup.js");
const env = require("../build-scripts/env.js");
import rollup from "../build-scripts/rollup.cjs";
import env from "../build-scripts/env.cjs";
const config = rollup.createGalleryConfig({
isProdBuild: env.isProdBuild(),
@@ -7,4 +7,4 @@ const config = rollup.createGalleryConfig({
isStatsBuild: env.isStatsBuild(),
});
module.exports = { ...config.inputOptions, output: config.outputOptions };
export default { ...config.inputOptions, output: config.outputOptions };

View File

@@ -1,35 +0,0 @@
#!/bin/bash
TARGET_LABEL="needs design preview"
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
elif [[ "$INCOMING_HOOK_BODY" == "NIGHTLY" ]]; then
gulp build-gallery
fi

View File

@@ -1,4 +1,4 @@
module.exports = [
export default [
{
// This section has no header and so all page links are shown directly in the sidebar
category: "concepts",

View File

@@ -1,4 +1,4 @@
import { html, css } from "lit";
import { css, html, nothing } from "lit";
import { customElement, property } from "lit/decorators";
import { until } from "lit/directives/until";
import { HaMarkdown } from "../../../src/components/ha-markdown";
@@ -10,7 +10,7 @@ class PageDescription extends HaMarkdown {
render() {
if (!PAGES[this.page].description) {
return html``;
return nothing;
}
return html`

View File

@@ -8,8 +8,9 @@
/>
<meta name="theme-color" content="#2157BC" />
<title>Home Assistant Design</title>
<script type="module" src="<%= latestGalleryJS %>"></script>
<% for (const entry of latestEntryJS) { %>
<script type="module" src="<%= entry %>"></script>
<% } %>
<style>
body {
font-family: Roboto, Noto, sans-serif;

View File

@@ -0,0 +1,56 @@
---
title: When to use remove, delete, add and create
subtitle: The difference between remove/delete and add/create.
---
# Remove vs Delete
Remove and Delete are quite similar, but can be frustrating if used inconsistently.
## Remove
Take away and set aside, but kept in existence.
For example:
* Removing a user's permission
* Removing a user from a group
* Removing links between items
* Removing a widget
* Removing a link
* Removing an item from a cart
## Delete
Erase, rendered nonexistent or nonrecoverable.
For example:
* Deleting a field
* Deleting a value in a field
* Deleting a task
* Deleting a group
* Deleting a permission
* Deleting a calendar event
# Add vs Create
In most cases, Create can be paired with Delete, and Add can be paired with Remove.
## Add
An already-exisiting item.
For example:
* Adding a permission to a user
* Adding a user to a group
* Adding links between items
* Adding a widget
* Adding a link
* Adding an item to a cart
## Create
Something made from scratch.
For example:
* Creating a new field
* Creating a new value in a field
* Creating a new task
* Creating a new group
* Creating a new permission
* Creating a new calendar event
Based on this is [UX magazine article](https://uxmag.com/articles/ui-copy-remove-vs-delete2-banner).

View File

@@ -1,5 +1,5 @@
import { dump } from "js-yaml";
import { html, css, LitElement, TemplateResult } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-yaml-editor";
@@ -127,16 +127,16 @@ export class DemoAutomationDescribeAction extends LitElement {
@state() _action = initialAction;
protected render(): TemplateResult {
protected render() {
if (!this.hass) {
return html``;
return nothing;
}
return html`
<ha-card header="Actions">
<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

@@ -1,5 +1,5 @@
import { dump } from "js-yaml";
import { css, html, LitElement, TemplateResult } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-yaml-editor";
@@ -36,6 +36,7 @@ const conditions = [
{ condition: "sun", after: "sunset" },
{ condition: "sun", after: "sunrise", offset: "-01:00" },
{ condition: "zone", entity_id: "device_tracker.person", zone: "zone.home" },
{ condition: "trigger", id: "motion" },
{ condition: "time" },
{ condition: "template" },
];
@@ -52,9 +53,9 @@ export class DemoAutomationDescribeCondition extends LitElement {
@state() _condition = initialCondition;
protected render(): TemplateResult {
protected render() {
if (!this.hass) {
return html``;
return nothing;
}
return html`

View File

@@ -1,5 +1,5 @@
import { dump } from "js-yaml";
import { css, html, LitElement, TemplateResult } from "lit";
import { css, html, LitElement, nothing } from "lit";
import { customElement, property, state } from "lit/decorators";
import "../../../../src/components/ha-card";
import "../../../../src/components/ha-yaml-editor";
@@ -64,9 +64,9 @@ export class DemoAutomationDescribeTrigger extends LitElement {
@state() _trigger = initialTrigger;
protected render(): TemplateResult {
protected render() {
if (!this.hass) {
return html``;
return nothing;
}
return html`

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