From 56eacf573354076bd1023ddc8fb8e4c3fd19189b Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Wed, 29 Jun 2022 18:22:17 +0200 Subject: [PATCH 1/4] 20220629.0 (#13030) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Paulus Schoutsen Co-authored-by: Bram Kragten Co-authored-by: Paulus Schoutsen Co-authored-by: ImgBotApp Co-authored-by: foreign-sub <51928805+foreign-sub@users.noreply.github.com> Co-authored-by: Martin Hjelmare Co-authored-by: Philip Allgaier Co-authored-by: Philip Allgaier Co-authored-by: Zack Barett Co-authored-by: J. Nick Koston Co-authored-by: Raman Gupta <7243222+raman325@users.noreply.github.com> Co-authored-by: wizmo2 Co-authored-by: Yosi Levy <37745463+yosilevy@users.noreply.github.com> Co-authored-by: RoboMagus <68224306+RoboMagus@users.noreply.github.com> Co-authored-by: loeffelpan <34661317+loeffelpan@users.noreply.github.com> Co-authored-by: Steve Repsher Co-authored-by: Joakim Sørensen Co-authored-by: Allen Porter Co-authored-by: Erik Montnemery Co-authored-by: Josh McCarty Co-authored-by: imgbot[bot] <31301654+imgbot[bot]@users.noreply.github.com> Co-authored-by: Brandon Rothweiler Co-authored-by: James Baker Co-authored-by: Sven Serlier <85389871+wrt54g@users.noreply.github.com> Co-authored-by: Alessandro Ghedini Co-authored-by: Emanuele <55278049+elax46@users.noreply.github.com> Co-authored-by: Pascal Vizeli Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com> Co-authored-by: Kristján Bjarni Co-authored-by: D3v01dZA --- .github/workflows/release.yaml | 30 +- build-scripts/gulp/gen-icons-json.js | 9 + build-scripts/gulp/hassio.js | 3 + demo/src/configs/kernehed/entities.ts | 16 +- demo/src/stubs/config.ts | 2 +- demo/src/stubs/history.ts | 1 + gallery/public/images/clearspace.png | Bin 44504 -> 32761 bytes gallery/public/images/logo-variants.png | Bin 35697 -> 27422 bytes gallery/public/images/logo-with-text.png | Bin 68244 -> 47232 bytes gallery/public/images/logo.png | Bin 27959 -> 22017 bytes gallery/public/images/sunflowers.jpg | Bin 95785 -> 92211 bytes gallery/public/images/using-our-logo.png | Bin 33246 -> 25519 bytes .../addon-store/hassio-addon-repository.ts | 22 +- hassio/src/addon-store/hassio-addon-store.ts | 12 +- .../src/addon-view/hassio-addon-dashboard.ts | 30 +- hassio/src/addon-view/hassio-addon-router.ts | 5 +- .../src/addon-view/info/hassio-addon-info.ts | 42 +- hassio/src/backups/hassio-backups.ts | 5 +- hassio/src/components/hassio-filter-addons.ts | 6 +- .../components/supervisor-backup-content.ts | 2 +- hassio/src/dashboard/hassio-addons.ts | 4 +- .../dialog-hassio-repositories.ts | 41 +- pyproject.toml | 2 +- setup.cfg | 2 + src/common/entity/domain_icon.ts | 8 + src/common/number/clamp.ts | 2 +- src/components/chart/ha-chart-base.ts | 8 + .../chart/state-history-chart-line.ts | 13 +- .../chart/state-history-chart-timeline.ts | 13 +- src/components/entity/state-badge.ts | 5 + src/components/ha-addon-picker.ts | 11 +- src/components/ha-chip.ts | 3 +- src/components/ha-clickable-list-item.ts | 35 +- src/components/ha-code-editor.ts | 55 +- src/components/ha-dialog.ts | 1 + src/components/ha-fab.ts | 8 + .../ha-form/ha-form-multi_select.ts | 6 + src/components/ha-gauge.ts | 32 +- src/components/ha-list-item.ts | 42 ++ src/components/ha-target-picker.ts | 102 ++-- src/components/ha-textfield.ts | 29 ++ .../media-player/ha-browse-media-tts.ts | 2 +- .../media-player/ha-media-player-browse.ts | 11 +- src/components/user/ha-user-picker.ts | 5 +- src/data/application_credential.ts | 6 +- src/data/cached-history.ts | 12 +- src/data/camera.ts | 8 +- src/data/config_entries.ts | 14 +- src/data/entity_registry.ts | 16 +- src/data/hassio/addon.ts | 16 +- src/data/hassio/supervisor.ts | 3 +- src/data/history.ts | 20 +- src/data/logbook.ts | 15 +- src/data/media-player.ts | 27 + src/data/supervisor/common.ts | 34 ++ src/data/supervisor/store.ts | 63 ++- src/data/translation.ts | 3 +- src/data/weather.ts | 66 ++- src/data/zwave_js.ts | 234 +++++++-- .../domain-toggler/dialog-domain-toggler.ts | 13 +- .../show-dialog-domain-toggler.ts | 2 + src/dialogs/generic/dialog-box.ts | 57 +-- .../controls/more-info-alarm_control_panel.ts | 2 +- .../controls/more-info-media_player.ts | 23 +- .../more-info/controls/more-info-weather.ts | 65 ++- src/dialogs/quick-bar/ha-quick-bar.ts | 9 +- src/fake_data/provide_hass.ts | 1 + .../dialog-add-application-credential.ts | 32 +- src/panels/config/cloud/alexa/cloud-alexa.ts | 6 +- .../cloud-google-assistant.ts | 8 +- .../config/core/ha-config-section-general.ts | 10 + .../core/ha-config-system-navigation.ts | 6 - .../config/dashboard/ha-config-updates.ts | 8 +- .../zwave_js/device-actions.ts | 70 ++- .../zwave_js/ha-device-info-zwave_js.ts | 20 +- .../dialog-device-registry-detail.ts | 3 + .../config/devices/ha-config-device-page.ts | 6 + .../entities/entity-registry-settings.ts | 157 +++++- .../config/helpers/dialog-helper-detail.ts | 96 ++-- src/panels/config/info/ha-config-info.ts | 323 +++++++----- .../dialog-zwave_js-node-statistics.ts | 477 ++++++++++++++++++ .../dialog-zwave_js-update-firmware-node.ts | 461 +++++++++++++++++ .../show-dialog-zwave_js-node-statistics.ts | 20 + ...ow-dialog-zwave_js-update-firmware-node.ts | 22 + src/panels/config/logs/ha-config-logs.ts | 14 +- src/panels/history/ha-panel-history.ts | 198 ++++++-- src/panels/logbook/ha-logbook-renderer.ts | 47 +- src/panels/logbook/ha-logbook.ts | 99 +++- src/panels/logbook/ha-panel-logbook.ts | 28 +- .../cards/energy/hui-energy-compare-card.ts | 32 +- .../energy/hui-energy-distribution-card.ts | 4 +- .../energy/hui-energy-sources-table-card.ts | 10 +- .../lovelace/cards/hui-alarm-panel-card.ts | 3 +- src/panels/lovelace/cards/hui-area-card.ts | 12 +- src/panels/lovelace/cards/hui-gauge-card.ts | 1 + src/panels/lovelace/cards/hui-light-card.ts | 3 + .../lovelace/cards/hui-media-control-card.ts | 28 +- .../lovelace/cards/hui-thermostat-card.ts | 4 + .../cards/hui-weather-forecast-card.ts | 23 +- src/panels/lovelace/cards/types.ts | 1 + .../components/hui-energy-period-selector.ts | 8 +- .../hui-conditional-card-editor.ts | 3 + .../config-elements/hui-gauge-card-editor.ts | 1 + .../hui-logbook-card-editor.ts | 2 + .../hui-input-datetime-entity-row.ts | 3 + .../entity-rows/hui-weather-entity-row.ts | 6 +- .../media-browser/ha-panel-media-browser.ts | 12 +- src/state/quick-bar-mixin.ts | 6 +- src/translations/en.json | 162 +++++- translations/README.md | 6 +- translations/frontend/en.json | 7 +- 111 files changed, 2991 insertions(+), 791 deletions(-) create mode 100644 setup.cfg create mode 100644 src/components/ha-list-item.ts create mode 100644 src/data/supervisor/common.ts create mode 100644 src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts create mode 100644 src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts create mode 100644 src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts create mode 100644 src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index c7d3d8fa9c..a556ef94a7 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -74,33 +74,11 @@ jobs: version=$(echo "${{ github.ref }}" | awk -F"/" '{print $NF}' ) echo "home-assistant-frontend==$version" > ./requirements.txt - - name: Upload requirements.txt - uses: actions/upload-artifact@v2 - with: - name: requirements - path: ./requirements.txt - - build-wheels: - name: Build wheels for ${{ matrix.arch }} - needs: wheels-init - runs-on: ubuntu-latest - strategy: - matrix: - arch: ["aarch64", "armhf", "armv7", "amd64", "i386"] - tag: - - "3.9-alpine3.14" - steps: - - name: Download requirements.txt - uses: actions/download-artifact@v2 - with: - name: requirements - - name: Build wheels - uses: home-assistant/wheels@master + uses: home-assistant/wheels@2022.06.7 with: - tag: ${{ matrix.tag }} - arch: ${{ matrix.arch }} - wheels-host: ${{ secrets.WHEELS_HOST }} + abi: cp310 + tag: musllinux_1_2 + arch: amd64 wheels-key: ${{ secrets.WHEELS_KEY }} - wheels-user: wheels requirements: "requirements.txt" diff --git a/build-scripts/gulp/gen-icons-json.js b/build-scripts/gulp/gen-icons-json.js index 268ccb0ce5..8a69ba97af 100644 --- a/build-scripts/gulp/gen-icons-json.js +++ b/build-scripts/gulp/gen-icons-json.js @@ -156,3 +156,12 @@ gulp.task("gen-icons-json", (done) => { done(); }); + +gulp.task("gen-dummy-icons-json", (done) => { + if (!fs.existsSync(OUTPUT_DIR)) { + fs.mkdirSync(OUTPUT_DIR, { recursive: true }); + } + + fs.writeFileSync(path.resolve(OUTPUT_DIR, "iconList.json"), "[]"); + done(); +}); diff --git a/build-scripts/gulp/hassio.js b/build-scripts/gulp/hassio.js index 08370ad7c6..5b5e31650d 100644 --- a/build-scripts/gulp/hassio.js +++ b/build-scripts/gulp/hassio.js @@ -9,6 +9,7 @@ require("./compress.js"); require("./rollup.js"); require("./gather-static.js"); require("./translations.js"); +require("./gen-icons-json.js"); gulp.task( "develop-hassio", @@ -17,6 +18,7 @@ gulp.task( process.env.NODE_ENV = "development"; }, "clean-hassio", + "gen-dummy-icons-json", "gen-index-hassio-dev", "build-supervisor-translations", "copy-translations-supervisor", @@ -33,6 +35,7 @@ gulp.task( process.env.NODE_ENV = "production"; }, "clean-hassio", + "gen-dummy-icons-json", "build-supervisor-translations", "copy-translations-supervisor", "build-locale-data", diff --git a/demo/src/configs/kernehed/entities.ts b/demo/src/configs/kernehed/entities.ts index 53d6b74524..f7020ee719 100644 --- a/demo/src/configs/kernehed/entities.ts +++ b/demo/src/configs/kernehed/entities.ts @@ -59,7 +59,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => attributes: { hidden: true, radius: 50, - friendly_name: "Skolan", + friendly_name: "School", icon: "mdi:school", }, }, @@ -137,7 +137,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => state: "73", attributes: { unit_of_measurement: "%", - friendly_name: "oskar batteri", + friendly_name: "Oskar battery", device_class: "battery", }, }, @@ -146,7 +146,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => state: "88", attributes: { unit_of_measurement: "%", - friendly_name: "bella batteri", + friendly_name: "Bella battery", device_class: "battery", }, }, @@ -154,7 +154,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => entity_id: "binary_sensor.unifi_camera", state: "off", attributes: { - friendly_name: "R\u00f6relsesensor kamera", + friendly_name: "Motion sensor camera", icon: "mdi:walk", }, }, @@ -707,7 +707,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => }, ], cloudiness: 25, - friendly_name: "V\u00e4der", + friendly_name: "Weather", }, }, "binary_sensor.ubiquiti_switch": { @@ -731,7 +731,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => round_trip_time_max: "0.626", round_trip_time_mdev: "", round_trip_time_min: "0.358", - friendly_name: "Entr\u00e9 kamera", + friendly_name: "Entrance camera", device_class: "connectivity", icon: "mdi:cctv", }, @@ -807,7 +807,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => attributes: { battery_level: 88, on: true, - friendly_name: "Altand\u00f6rren sensor", + friendly_name: "Back door sensor", device_class: "opening", icon: "mdi:door", }, @@ -841,7 +841,7 @@ export const demoEntitiesKernehed: DemoConfig["entities"] = () => battery_level: 60, on: true, dark: true, - friendly_name: "R\u00f6relsesensor tv\u00e4ttstugan", + friendly_name: "Laundy room motion sensor", device_class: "motion", icon: "mdi:walk", }, diff --git a/demo/src/stubs/config.ts b/demo/src/stubs/config.ts index c51700fb1d..f77c8d3b09 100644 --- a/demo/src/stubs/config.ts +++ b/demo/src/stubs/config.ts @@ -1,7 +1,7 @@ import { MockHomeAssistant } from "../../../src/fake_data/provide_hass"; export const mockConfig = (hass: MockHomeAssistant) => { - hass.mockAPI("config/config_entries/entry", () => [ + hass.mockAPI("config/config_entries/entry?domain=co2signal", () => [ { entry_id: "co2signal", domain: "co2signal", diff --git a/demo/src/stubs/history.ts b/demo/src/stubs/history.ts index d843c942ac..2e2c507ccc 100644 --- a/demo/src/stubs/history.ts +++ b/demo/src/stubs/history.ts @@ -466,6 +466,7 @@ export const mockHistory = (mockHass: MockHomeAssistant) => { return results; } ); + mockHass.mockWS("recorder/get_statistics_metadata", () => []); mockHass.mockWS("history/list_statistic_ids", () => []); mockHass.mockWS( "history/statistics_during_period", diff --git a/gallery/public/images/clearspace.png b/gallery/public/images/clearspace.png index ffd1aa5f62d570a3e541c55689f1be5f0f772ee6..fe7c1e782443434ffb12aea5f0192d8af99f8582 100644 GIT binary patch literal 32761 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 literal 44504 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%0AP}3S}aMjyqO2 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 literal 35697 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%0AqaGr|VFMSV@Sn)68;w?Dir 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 R1t1|(Q`S~0ePA8*e*l(UyT1Sc literal 68244 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ÌxVR`Af2&!`w*hr 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 QaDO+h8C^yG_2Ak60mFMH^8f$< diff --git a/gallery/public/images/logo.png b/gallery/public/images/logo.png index e3faf04c5a763edf0a39f180e4ef15c935970c6e..b62952eddef8baa717149df03bdc9ca77638dc06 100644 GIT binary patch literal 22017 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 HT`=R{?RU%` literal 27959 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

IH@kBpI0=wzXG@H#F=t7^&&8dYa;VDd0) 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 F|JhB##m)c# literal 95785 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

!@vqZlL;lk96`Iwc7% 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�IPk%E}!Fb0Rg67YL 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

MK3GZLf2$(#>SYzXr>*eU`SC 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 diff --git a/gallery/public/images/using-our-logo.png b/gallery/public/images/using-our-logo.png index 0199a37b64a4f2bc4809db21c5ab0dc614175323..6f264b3bfb014646bfe06ba332118e33204feb60 100644 GIT binary patch literal 25519 zcmaHS1yogC*EK32UDDExbT=r{DM(!D?(RlOB?TlTr5i5YB?2NK9hVdk>F)mb^?BYe z#`wmMIFRH)Rhqsd>9ZA-i9C`T!BMxHxLlqIS~-Hj1UlnQxFh{oYI@s zM8PkRO%!FN5boiBzO)r4fFr0*a&KG_5YX}9{~nAj1l%AXJVf@MI9gcS znNzuWJDF2?**hU12u3GrzKGA|#Aw|nxJIPyulB}zbY@@rM{sy4iJA*X(!v?(JzMc4 z8*F5F$?)u6&Z47%51#y>k%_&P?}Plru=S52fGiJ5VOoj)D*tDNW~!BWaPNU zA5^*66?89%pF~|(BX_+Xdk>WpF*hLVO!j48kJ4aM$9tj_6+MeWfW|$K@df?SQw6Uu zoE01^3H1UMv@!FL<}Z^j&-5KyUrOjgt1kuXvOhrf56}2czP1L9`tmknFgJebcsHwN zOA5PJ^SvM|$|yZ58hYKrjEqmOTPqZ^MLiOawIcnHkD12mVWZpOUdH@7hJrxR<+HcH zZC^FJHWxHc+Neyxdi>L@92RvDBUuG{kGrpZR*?g4~2VI`D;q#KyY z14kDXjR(Uyo~Z~3`iJsTFEqSnciTL@UTZh+2WD9cp?=2TSx*<@vE19w6gr>9d59Pm z&q-~Mhb$>ajr6b>F&=}?7)72z?Bfa@k37{c1I`}g`J$JYVj(8;_Wdqub-$nWZ%vly zc1X|-%=s!-(+wCc@2|sDDOTvMIm#EreWrExuM8=`KoAgcUf&UcQNVwK;P#Jz&;|Dn zgttZy;2#JmgnvH}(f@w@dkPig?>8LQzaRge^6wSTp??ql?^FKwP5(Uw;eX%spXVa{ z@0PuEap2eBjS%tuNTBZ5PsY(n!#ZolREem(* z$piFpayR)8-+gIlNWSxE(o+d+(PJ-6p567hd%ltH&>$i;M6#c#kbk0HI;p_1yRq>l znKZf=r*6!q?nFINL7HQCb2B@6%T3tF+S5~@ZNiLuRB>)@ZZkisJ|0|^R6DnOQt*Y6 zA^X*ali)`FNiG%MhmCypWJOlO@wCxRw<|?*tZ+HH97@CF0cl4wpJI(?`IP=?Lk#$6 zxB1+kqjH$8sBusb@5buu>v0OrEiElO6NG*-mycR)OB;Lr+$jCTRkL;1; zu(!3%O`f&m_hG)pIk@!m;qeir@OdfimMKCOQ#9<_+cUSYpv*D3>2@-fnMvVOtdNi9 zto!O&;)!~jfhx!D)>ck(>d+sfAtoG@GOf~%_c=_Tm1H>b1*+$E3k+!`vp)tzH|nup z@qKMXOIKlBefEWts#kLaEUm=wu7}9&fqcIDmA69;Y-7Dii6J)-wzz2E^O{qEMEixd zHc^{K<+Q9n!M81hDlnAepa7l^8=^!Xq?WVR`P0~LEX?MW!uB18y_!j)Wqhn3~ ze3I~#fP66fD|aagHWJldTxtj#8{7JDR_yC8VUHbRMD!q}t{|fqP$~#cSvIeYi_J4ZPzs_d#4Moe=wp8O;^tje9mnK01aFe&$uXS`t3;CvP>YgRqd_yHX z`p2=o|L4Pl{vN|&g%1sW4H#*TZ0@L4-K?Pf_}-p_9>`}1og>Rmf?&x?CvEuCWYhnD z@d3=H24+_US*ayB@exyjPu6IowxOZVdT7_9Wx;{cIVhAD6C6c&o{IcG9{SHb{=P_f z5Q4wR4cre>CRKtebF~Ep$jOM{D5u-e@$qWyADcRzVvQKVE*Ega1`(CHi8Ytyc=$cT zR4^D<^v#(fa+u%~h9CM*IQuv9$RrvWWBmOE8J2ANlwU|pSG*jZdNHrc+^6p4U;p04 z+1WXLO0RUXM56?k5%N9wZ+QIu*Tmqr{2%WT-0$$xFZ&g7p}o$VHy;$?gC`blYHB)U zfuMz&d_zs@F{#oicb+Xk4u0_OB$}I>S8D%Yh0}&vZ^S+R8(yh;|IgrwqQ%REkCv}a zQdo}DA+!PF@>|@Ve8psNIYR<-Si<7R#{;V`DB$)%B}0Y%f11~SymQ}`sd+2jEw^ScRru`w?{x4Sn$riYfGkGP9w}`o>@_?`5DRlDg#{!! zH|en_+k*8TcrcNH1`bay|CU|dn6dFDmsWD8^JW`34|+L-O>87_O9n}1zJ z$0y6cZNs{|oXLFitVz%isTk2C&i&z ztZ}0L?)h_$$?emVvEE)8pW+^q?Bp?ykfS3PnLx3&Y+?yUJ$9nDqJjd3UwkVPh$rf~ zqjDVf*4Ej{HoU1g+F6p>Uy|$V>i%Z9m-B>X+;85?5Tb>isLN=jfr|pwq@|H=V_vA? z$M)qescuB?c(gR>Rdmz>3vOr-n1SCpO#Gm8*=b^GYRobCxkB7K)Ld41D(9P_|8CTg?0j0K`n2~p zg#5zF$_izaDvGDRsp+%x`%P8&>RlzSblhf&cw*s}Ek_usQN%93C@-%`5VNqWS_o)b z(wqNN+YB!QaJnQBZQW3(Vizj%ObNe_aN48#4!QCs8lnNq#XAtYG zt?k(2opo7_mRki5KZjPF9}wiNKXZJo3R&1-ga^g0<``yc*RNg`NBkC9Z!E%$;ZedU zG_SO@w53HvMRz&l$q;8|Y3oAcv|hHyDjFif+wCYG%b(w@hoWU@X}RX!FC1(mX2hb{$5l;0}Kx2v+!=?hB=VW{u9BQTMv%D zYq8V}S13fG(j%*vG4@=&UQoHxW{MMP4YaiRn!A>Kyp?u#z*S`$@zB|Y5NOp zRPmOhlEgiM>y!H}CuoQChrvTf-_tyZYy_skkitPvmD1mYul*RFMtVYxE+1;=%{-4d z&6B&1#M@Q*z&1m~96#&GJQ`0!&i2WiRFLx@r~m*0X?~FT7Ny%-T`3JY^VnU9MoY(# zO6Uzcy}AhV#7COl&OOP$D~qB)Dwo5J`^!<~Kx-k%K=}-w5DikmlGrQ6vCz^s5H`=EOU+i;4Oy<3M8R4GyZ5u*M zFZ~ZH0T$xUw_6f8Kgkg}DP3NljmV1rtz*OaY>)FOVSSgYbC(Jv~JL+G7+juxumzEk|4bm#4(ApJNqmr?1ihY zWr$L6JPG$cXAa1170V;$!`Z|$qMp>@tsxZ~;*R39BR>Pjvr_`XQ=zH1^ytdBd}dKW z9HC$&AU5dhcX5ND8cDA*=eC=lX-m{HmSAF7aYmUM#^NE}H>bTZu)t~b#>zA>sf~tKr9b>23ZWRD91iXo^vrK-lDkFfTWQp>W}pAGuAAAD z96ZsG9-~@=*ZQE`Xbu5282)GkoU%A7NWOnY@GZ--l>@6rpq_2}55vznqFGa)9iM5$ zNn$cj#M5LrYG_s6{Za1@+~K*gknrWXv*>Uh%%swf_!l#~VM#J}*{#<+{n_^4h%N zDj5jkfEBOJW0SgGhU3sl8*{(vQLAqRh@up+18XMfPx;d@hwyO9wS2cGip$E%^jkb8 zr>2B6RBBP*8X-yli>^Z_EzPy-EJu<{^-uYxS8^&2Jqv*;2r^W^e&O+~pWR$%;1^AG zRk7!<4KG6+7GpD%r14F?cE8KPci(KZ6crTERuc?;HuEp^i5`CYxY`%X^D}y4LW5Va zGrZ^K^0+VhX>tnu$7{~MAv?Q*N03Yf06m+!)FG~?Rl&TN6vLWw<0BnEzr4fWl#4t2 zV{%GF7HMzBy0}pwy2PInP^GAX_Iq{-^d6bvv6clZ0TvZ}N@S}1Xf6wpk z`^(`#Zt=^0#w@8X4+S%Rnhzv#{frJpC+c<5uh|aE5bS^9 zCQex?J>(>_3xu+X`By~&4YT-n{?jW?EUZ|eJ;v4H1P9zA^9uXh-FyCdOv8+mS7}Eg z<7rC4=vujx$!qVbwtl|<06eKvv!JweJ4R&BDE+Cty!^t#f)yEZW$TdwO(a)8s-= z8s7CIkp+gSsiDCuSu#B~rY@V?-cGT~dJ8F^YJMk2hX?9~?JcyVK$DCPODIG&qE>*w zda;BzRKgOf>3Hq$K@Njl8h)<3k2845uQd;?T2YrBDb=@t-pcCm!61iOBz*Uu)fD-) z?)Ym|EKtr5_j5#tg!{g5%ysf4WS}j@i%2&k`fyMqqDP67VfD>7xjqTT>5wN1SCzSa z1Z`DH7mOQTkNvnMc5~2u(j5I%VDD=vx}c3gYHBKR;rY?p05znW9Rf<=zh%(Lq(5Kx z49^Tv3r*-&!!u>vXq)?j*2tSzd@WFUbNBi!`+LK`Bfe2ngHCt&=_!GMiI-|wK;=*B z^F*;Ov#+WieVyT-?nQpW{4qgaK?jFrWitea)oHTZz_@7Xd|?Ers;I3SUtSmn}s94lk*!aPz)DnpZ=GY203?UxC4dAwTKg-@`VM zo>T;3d>S*$??@h{OQ+tBB=tSOh0RXOUw>wZobSNK=jTOp3LZX(hOt8sg81x$da6r9 zBu^u_P4OE(a#Xs-Df87t>iFT7kzv6!YEIq@&TMCiJflvtxf4ld;hE_X)?JxGt}eE? zyCe2oaIoTxC(p=xuHtd}QId~&EY1XlkU0Mp{%PkU>=D%uhpT-&nIjwYQM7-}bxMwa zbt&ijqn)j2v;?77J0)*yuPbCuhf6YTq<`(amMq`(gppM@ot-z$2M+)KI8Vt`9IJ8sO)UF~{InRkD<=(``iBs%!-Fx|_MB1d^3Mf9Ot9R{ePmIr=? zYrQ*!@uL?lt$zZCm*YNx0X2kEUJ%;3G_G05wv1*&1=q=O5;U;ni?eD}f9GK8K?17T zs1skR3!&f9kIw1oGsqV98$+=I~?C8m6i_X@} zW!h++1m^p+Khf1#Z^rI=5Se>4u2bT~4b=@(I+E9xFtqq?I+Mt+#`EsAKEg|!w1&1A zh%E%XBo&~JzW$AC9m{u6V(_W&_!~7UOwV&WrdKCFKW9!f;AyN~$s7NAHj}QEjeh=0 zBTTY&0~;wKV|+JH&*_PYbP>G;%CRIpy=wQeE{3kw&hW~p%atVRoj&LkUX?#ju&zP9rza|;6;#J6Z z`Gz{hG!#6Ur96?s3AH@9jO@iRO*asmljbJ9f3vW9yM)c*5&x+<{46|CwQI*|N%NV4 zoFkR>yu|*KO5wTX)AH-Hi0H1@b};=3O3#LmpRV>x@E1GE1exj6Y%B<5S|vkOp{=X) z*N7}#ERg*7Mxna>F)=Ze0T;`vfmg3Pi!H&b-W&~Z=<4dy-Z~`@B&MZZA3opk^bYQV z2HxNGQTVd{3fOPiZ*OfCjh1<0XOg_&;An4ud$Ahp*s{xiHrE$R+2M7#k`-{(Z^w`A zY?Csu23TurYirL%Z_7?{vExA=M%7GSVvK1Utkk*POo>48HZ5$48|eAyo|9lE2yrqQ zriqgaYc9naB?~Q{5=Y-@A7GoPtB-*!?*FUvL7RcZr`{@<-NSdk;CY?PRHl<$IYapL z_IzpGr3oO!n^;g@8#XwQ-`>o(db>&y)aaD^iQi{o%w`;fJ;Rxd|`y zu@)$&^;!+C4J7jz)Htv9E-o%|R-Wwb?aj~68+{(@1+%dlrP=R__>QicF4$G1>FUa} zigi3BummL{J}Bsg)L2Bz(V?})*aQTKn-W!a+zGGdS`23nIdpThU(l$SBYcpNjW^oe z)D5ou)=50+;1<$cY0hUQC$oBQ=h(km%p+8?w00z?u+W#>{I#t^aA7#Zigpw8&VH2Z z^AzC^ZKl}u(Li}Qo7?+^DW)-)m(BM5+z;9`+eJazNCl{w{}a@2%xMu zS`WT{Vt$SH*z{`%s;b28NgS>0*FYuVjGvZS{z->Ii{bD3&945WIqtQcFTOYzv7IVA zIdMA+*VfjSxZbG&i4EoUEH5w5`}hyJxS!yb2O$cgWBcWwFUp@jeRA7xJ9n6^W!^IU z{Sr{l=uykN+tYvnBP1f?v3UxW&-FrRy*-$?7v&7jq5 z#54myyY2D@b_n!KZ7uI0)Yjksw!C3c;XVXBFEr3+A6Bzo)klGzB9P^ODSG)kLE`Sh z^!+bq6Aj>HjOoNS%F06#1T1$KeG*~EpKC0KRe&Q)@Ln%?E^&!31JZ7hCSU!s_o*X> z&*i+&b~#7Kjmvw)q{{Xy8@Ju#pCbG4@`DSHRfm5RP#@II9OQFJH}xqReonMOEpog>9RMuTG;LU+7m(fub3A7&lj8~ zBAh`FVzcl8BMC;9(WYDT@87?f#J%_Cn~W=bhX`36eTK&iRe72VU%K{@d-C$~!dHk^ z9;)zYkc2LDE18|7ThH>9qbHmApQp;Fo#IvVWQSH^4AHyELdtZxYDG2Smq~#iP6P6< zH3`p^+-gvSe5y4S>aTf#i8~uU12v&jl+5aDRWX9i)vn=}*kXC(n>kO)o-nEmf{x*s z7y#S;r<2-?vHBeWVy3*Ff>D$b;t~=PIfQq=g0XXE;u^Hy_pR#JrG-gm8@cTRypwF4 zusv07iii=$oea&(qcdu-6I4p!G`_#PUEb*d2u-h%bF1cLuVtU&$8%o*r^8e`E570M5{?pgl4H$Ii$+u?&dN| zDKX&gD7gcJv=EgE5(Sk75wF&IoWf@#8w6cD_!-a9R}+CltoBAfg^lsp&(>ZZuS=ZG zm>&NbLLWut4!H5c3V-q^_ZE0I`UNCa*nJBG$TpkF67Uo@{bt@2R&fwa#l*z4*9)9a zHq?C5=;-MQ2nnknsYF%QcpU*~J9sLQ6;Tx>S zl4=to`>juQc2z|Wzm-gbZ{tjvzNE}9wSPTO$*UlGx z9T%G2LBLrAVE+-;$0Mvi=x3MIh}%u;nWiikARZ90LJnq3V{g|u0#TO@Y^N*C`veUG zZ{2%|ECcUAEP&Yy=1hr4poDkh`smHp;g&TrRP$oy7rd=1y|g^3KKV}v`Foixe zthL*eS5ivnwH}+Tvz?nwc_K7vb1F;e?{>Z0P_uM&b381P@ly^d@^01ZbZZin*^An1 z9xdBjTLxfyZ~c>B7bs<;XL&*(Z{Co+o^P5bV9`=a<^6DrO6hm-LeM_#^XLA6eP99V z>gqG5Mc5RgUh5g2)%H6*M1~j(;#^(39ufcmNBLCuRd2WndnCwk$@V)mECHwAc|2!$ zf2DnHsNuPktz^(q7wy#W7V-Wx^I)6?^yathR|NIRpxAeKvd zR@NXzIy=4rWl8cte&G9owb=&8r5#ue3{S{?OCwr_$EyK#48)bN*HERM83JYv3Gc;` z@u!F1ejSrr#7{jRd#Zr=s6cbuzGAI#_D-bISxI=^v#FK7FYiGM`Ad|f$Q&$r3`+eZ z#}Z90nK$y79`Qd-(UasXuj{L?yR+t0Yq7-pbR9hR@C z1xN(|7=ssHGDoZ&db$1?G+rv3F4rYm*(8vJCb8@PSU(Pq?r|2*AY#`;5&LEdCJ1uo zYpAMI%K|`v7QV{>O+L{UccogT(-ryyUIX?G3myd3gp(5!oM$bd z8hb0@2fw9i6faCpo&s1^qnbH5IEbT0BNH(3?b|oYOz*JU zM{n6(L0{N%m@6HCnfJ^IacF=wF;lJg|MS^W(rpcp6m7oe)#SE6J~0QQ?Y%;b>|3o; zT?L6Gc)LiQvg(8vB4he* zo?!Hu9mUj>K1R`!S)EB|Xg1m<*a*nz2LRt#AE(o_xaA_BJg+8E_lk^qKzU z?(ksuS1MWJZ50&`BdUV_SG?C<9y>EtIF4LtL+FI8Mtxhz$~9(nIxx~hkXo@k39CSE zkEj|4K=E^6YH|>klevt;a5k{iH}UmkVuZu%;t|Z7ZS}3LFXKSa&4;^ zGNG^HD_x{?XkD`%ffCn8sEkO{?f%y@1T4>vmZ$$25MDB7*c1&jf-Ou`R+Gv- zv-Hi?ncKc9(c8;7(O$I2qJqGbcTlES3Pte7o`Sy&JNP%;k+Ne?1Jb7LJQ}ToCVBY_ zVH}X?t;IB+M!NjHX_8aEQoCjAeHzTG~3UK`or#9JgehA#c_^idUU2eIva ztD8GJX0bwmC1S}}G&QC5U9nVFR!(uA0%)Fd(Dl!1tb|4D`DS5OOrlYh>UYPETmJM2 zm>s`NPBk$7^QFMR6huXa1g@(xP&w2)1tfUQIo)2JMwPVRU2VsqO@R>7oi67LJkLWm zTZtjqC|as3eqe3XT$cp3H9!xir^usP_x2aFe+OIka7^RSK~Dt!uyvGy)Zn8 zo`oI(t`|Lv4{GyD>3|Y-P0(CS^8KX>M+? z7%2l#cH}s^T^tzqKC+%~bOv9S(WjCP14sgb-U61hX1^7l_Adx5VpEKVp}7)BlwQ9c zgaw5x#mcDR`-d#Js6)9)1%Mi}?$6TZwTd=(Bn83`jv;(0;f;#{)j{yftb zaDBFmeqrLlgY0YGiGX2R3j;xjkd+Lt*k~wCfWt^U$Z4j=5_`1`UI=iaPJxIuqo2P# zcyqcieCgM#T713VAwkoX%5Sd&oqL#ecIM&Xc$dhcZ9)S%Y-#-1Zx&(f;GbuG;Pq8$ z{FP1KI-F3G$eIuePkJ#++4an7YLphzV0I`+>M5HbW9#a#U4CMr**H%?7nBHJ;n}E| z5H|{W$Hp1!GcQqoBIz-2x?HZN>Tm|g5a45UYsJ}o&m{%qZBu-ouaGNs1Q#--l{n68 zkpF4m6fE)$n81MW^ilSqRlLcSg2qsY{qQ1IP2r?Y*L#71WZZWQFHsJVw!g>GF7H=V zRmF+L(20nM+^7n=Z{hoT)xqqrE>=LXQ56^(&a;?AA!J0n44@~U(#wSf2Z8GyVgD;P ztCuF}APgNmzYuT+DxMT!P5@Lm-9P6P5gB+HPd!&qP~A!`kcmF&F~4XOlox>l)q$TL7;6RkY2LE5ei zytS1g`2dSk3oIF=C5O5#Ph3iU-$!dPH+%%fJSu2h z_{w4@IWLxdKwfzNkJ2J#J>OEw;`6aa>>W&QWR{k=Jb@8f2$sNU_%0h=+j0!v=!2@| z4DDxs7>ms;M`8~bc9DhvTetdHdN~j`dg%81 zo7=acS^hD6v$PNv?FzHjJIebDS$xB10s_fmCBnbH9|9SZudj&6;}ZZ(yYEAQY{Em~ z(CFvM>9nEjG>>#RmyF;yxm;=*d^8f{uoux_&DS%1V-AyWayN+O^3^^5ggS-ET<*4d zQgu!6h=`<#r83?Kns7uKVPDJ9LUs`UGN2cdgGG~HRud{FO@@8iGQ}V~Qb)A)Mr{D& z;O@qelaldTkhH_wqi5>UySuw5jNGeV4=dhEh3_6x+jSXnj{GBy!wP>%g)?H z+5)9r~Mc*;m7ir)q;F7;-jkS4lezfSpTgC5$PVUK%>z`EX{q&Kp-7 zmc~t*DNgD~XzW2NZ)=3%!m(X{)0f2H_$$JUH$Dnnb8>R%5xlVbq|EMaMl@R+8ijS9 zD?2MELo2@?=jLc}d38VdM<$hC(ZPLKxZ-I_HT8s7*(eo+KP`H+iO2YB$kfynQ~M`S z_J}4}{7fftg7%CcDQ3TdW^L%P3*4ywI`mpbCv2%-HhW{%N&EX<^bHtaExY16QRMyr^LjnmayEEV?m}kG(uBpdq<4Q`g)I)sV}Ws zLFSyqdrj*Uy#kn3-&aSFA~Px@GX^k&LfOAA@6fRF#i{=(@~GjlAgWJ0%9|=}BRvTx z5AsOpzCZ8jo0AiE{HpS9fj|_SkR@ns&81=OOcJ->iY#qTwCR-;cN$)`4u#03;SA6%H7;m^pFo?Ys65`_@vKMo?b*Vo~-1(N>%?QtPCQ-B>R=WCQ z4lq+Sc!UYr^}cidaq{6wRG>Gdy91O1>7Or}5jl$i*Y+M?LxJgV%s8EH0BMJ@#+XRl zL4vCIhvlMApq#0kuDLE_R8Bns6hkOaGENWyhKvzkeGow*H>YF^O6Bm2y}O?;40jZG zu4VOGVC2VWU}2tcr^#8o9#g?p-SyRx@T?9t<5ihw!#HDapW^3F>x(hEBq;CO;uTr& z5ICJU#EPGktiBk|+``)=r<3LMC@oTeT@UuN$M-P4VdKcy;}x1G4A-@GZw@z##mn8^ zdvfK3+!`Cki@Ecl9@Jq{6Z+bQeuvV6FU?jIp}eG+rhf6BZ2TNUys1{u`*!PbhF%KO z>T2%b=4RnDqe>@aSfgGAC^k548r`?24)!Z{WGl~MaLx{x5Fj{TJP8apbpd+A2Rxgq zS>m_54NL57Y|;Id8%%i7)s-UmCo}Nk43yiT`w~~-{n^N6G{DD=f17hzdrSVjT0k$PBvxI5Ol(na}cg9RU2q_YuO03K?5fD{?CAbq>`N>`FU%M9IO$DUT`E0?a+y{9%yKjBBa zyJ{YNt{WPC!t;Bwk$4(5<}vTbru2wgOk|irb;jMu9+`(ll#h0P7Qamx1*`Mp$B(e$ zZT=a$x7inuMOJ$O2%-El7kGDR>5)@;VCoKFIHeo)SC9#^p-^Z|&A1)E?1F!9Oj1>0 zi9cXbK$QU6JfpWd?9Y(FAGRc1g&ARVLS`GW5$Xk;#h2SHU&CQ{2UUNu4k;Q zdQhVm6E<-5s(we1<_}W;I^DMVG5myuCT3M;Ly@+Rfv;t{Lo$NMGN-bTcoR$8=vC#a zkvd@P&90T7%<3>`Aa9n@l0XsDRKystLn9;^&q5$Q6>kw24_@@=HO^k<&v*2Z-p`))#L)rBjJ2xoxs?Fr3vO4$r^g06k z&6bxdDnNOJsQXjM2wMjzYu~Sh1v%eb9LiF7)6JCh+Zp&B_8hMdhr^UfGK{=oEuQ&k75aarlRXWq#fGYiw@~uI~o?hX1yu6SOp0fFws)80`_$}13!Mupw39n4ARDm;+ZUeO+f)m z49ccLm5gTKu-#=dA*fIO0Ji4m4-GC{)?$qx210RaSwKuFdVg~~@c3vYlB3%99W_u& z#e#POv}@cRQBG3^T1cNot>}7?9q*}tutbEQW0o!O!fZH)M=Vl>nJ{C=;KX!2XLT18 ziiG6$`fiYTEs+b(z{JVVwdK^*`FoS&yVoIC=AhE4P7Q3)zmQH8ZklbeW=Q^i6GKpJ z1k;<4DDk};#(L0i*G^q}ncZzqbBk~rPfSLqeKJsP5=c=dCqy^KCd~TAEzfc0MZ9<|g8Z^@oLt0XCz7Mx>!_a*masF^dbL%mmRI4_qzC#$bM^Mu zb4zy~ppL{O6>i?GpF{SS!&ZZ~zQXTWcB-za(XPC-sMw`C^`bA%-))G7Cr0QTMMT0Qj)@TwMsDuOrIGs?Ky%uz(D;tlGAIX`t&X9NM^8@OaSwC&BJP zKW;o3Za=~4=?bbG|Gl<%JJ-H3+SHT`TfbE+bQXuAJ5YhYQlyVnAXXDKI@= z50s#~Yy}nm={V3-bfo&MOc$x@5@Hq^VwV`VyGz%RwxfZC&-zG&dddoi^^E)gm{^q0 z^iKZD!-^6@!=Ro_DEDbaFX!t>OyxX$lGzXSZyv``hH^`0Ngx#Oo5T%_sJRJqgsws_?g7LJ~b zy*QtAsJ&+o7vUdI?mzY`yd-M!iyvYX3Tm%f&uLfQ*riW@#dNmbXM#p(`|*0g_ZwaA z;n4AdWX5gdAg>2{mRa2nE(tPW;qq}DP6Q8C}CvkH_%({$krTun^bITC6kyM~W*0rU><74Iri6u_n7a+>hdo?Ph}*%sVtl zW;X(23G~|rAWugrDKXWmKrNxDh;BMD3s8)Xh6eth=e{67*-oHnF^j!x>4UdZ5?GU8wvw~p>9;Fb_r|7% z)SSzK9^JNtySHd2i_5mM5Xjg08iJfbiEPAajKo1k%<`nk0O^-m#E%oTADv=*#61*( z<)4%*3R1o9E_%Y+W-xqbPPzHTfE!Z0bs)@HtpxYK;&+W9se9)@n=@ggV{#C+z|&# zSwWd=u3-ndaNTqe(4b>5H3Z@4Ls30khGzr>l~Obx#`*p8YiXJca#+shGW-lu+ZQ>A+`ims)M-Tx~NtjG|hk+z7i z{0jkCFm;6B84qZ{N8zrBjOm^3=}G4&%ZkcXWp9mkYUstTGZupdmnO)4eSZci0sTWM0x} z^zXRx^2QZa&Q63Zg4dzfF^=YAI~9C9RQZxPi~ck$rqF@|)Nc)2+qJ@(442 zBq+=NMybBo$$=)wXKKt4fUcvaB~C_O#$k1%HIDp9b8IJZvXcc%p>62j<8=rK3Qm^- zx|;B1kovvfqq9}&wCNPNG z;=DA`RuMQIP0UPly#Q$TOx!w+>q=T(V4~zY%s~FTmNi04&M+lekK&rwzU0747T-obJ=Ky8417&rX<>63U+lOYa|ZW=z^s3mEtudrmj5tx4e8s%5RjU zERx0Fl+34Fy47ib4iV5zZ7MN4=UzwyXH2BrN2 zmQLaVG3&8Bu&3eRJP~Z7`+0B-qz67sPq+cIe*ILx+0A+*=oE0T+~Q}6+6Jf+$Y2`; z$*lwMCyd)90Hi-rL*T6n!D|y$KFs@iTEfUeQ0yJ?Gy$DB&mz2g^^%$j5+@7Y*pyMk z01na0gSP1(N^Yi`=Gl3DWDN1P=o|{#iZnIny)zE~rPShW=YZaCheib<5Cd?c`qH3F zM|;%O)C0ZW=Cj(Y4cSr9d$o$FfUQo*ZCH-{D6UpbovK zuJS&%IFo`>2HtRen~vq^0{cwr>gsl!RRH9*yLbsfeE9DCk~iSy0xT01guPGBczuQP zhs(mrdtBc)Z9vS48AUMp zA%Zkr&2F1`fcg)lS{==mB?%J_yt^53G**q6ud!4Wyaoz_24Y8eS4Qv!Yj9U5N?J6e z%f{B$lq?3&sFY|Ax+3(T3d*9K4v8K%O?{WgwmkAG#YT|~(FVt*qEbF-Q4SLk1 zN9y9#D*?|zm%BNwtK$IYJciyODoR&h(xolgdoXAhJN_g9)oj)oz>2KVub{PNk&S_~ zRJQY)OPyy336Ev7L0y;$a^`zBc_0J)U{HyD>!u_xZ!FP30f>8?5 zuV)1s(BWbFG-8tpI!)_)N|XOa2~#OFwM>YZ#Bcrc$D%hl5XgKV42J`Ifbv+jpHArp zhb4pSCGHNf>zhC^|90p*MVLEiWj=l?+XJ0LLMMd2Zb$OO< z@b1q-t_-VfK<{I{;YrWPSd;K8+*JwYy^r_g3A~YuQ+fh6V2Syjg+O!|zrEeIrGbFR zE~ZEQiv-Dp8Lr?|V`UbW^l~>;{)IA?`7UP7@LI^oqKqwmZT;)+1XOqd9b4XS0Jnf| zKE8(qcSCZXT@PPc_0y@c=5Wf6MLbN28-!q-t{=D`?YbUo`?MDD6&Goe_-VAv?_6w1 z_SHUIG`+qgnvLH3=vjezs-ttEKtbi$BEj*}dg;^PC>ul}pWEo>9%%J`A9{gIeOLsA z*#WuGXUj~~6lN~BoNzCEP!Nrek9P+U`eYq~f?;ISEh+_5TCJ_E&7|rAxR>#|@YO*# zcK6^OaZqY1X>aT)P)UY&p3C63r^i9fMh-g zeAFgr`=*RpThKV!kzrzDg6fomjYK(2h2#D07HvnkoGqK= zp7YLI6U=P}jx{jAqjfKXbA&VYKsSBooh^nWokTN3Q2z8btcE1h`wvN-&aRszIxAa2V79I@lk%PTbcpAS3(t;vCPk{`|tMhmr zfLJ?w%;xlD&>)8zzl09%z~xyW?6+8t7qIEpo0*yU0rCY%FH8s1a#fu%x$xN4yU-dD zqwk-xy{Y~Uln@}%4S^XcDqaJ*9gr7Zg29KEF90n$yoi`+J@pZrJ8hfZtTrDo@Lo#< ziZ2fUkRQZqfX+WOz1DNVefo*2XqDUM7`?qcII)1^%(4uU2*R0g-vdQV#^2R&% zZQev6Xa;$Sxg6|6r%`G^ zT@V-7Jn>u*MRZPxn#+iqS!;*Ymm>~&~@p*jKf3f3bc`hI~c5RF1Oa*i3($KPh~(W(Pk0I7~st{gAe zIILZ+(-UJV{mr(rjqoQTQu4s*)plk0T@irrh@wM4xW06E*1)s{I{l4+G<+wfM#aP9 zDuoJ|mnJ}{etB#Ho(xCizk{TQ55%8Cg}-aTj($v;m6yQg7&e^BKJv)CY&_hnR|cio2<)lcyE z?{aLvH7Mh_8CtxRw8m4E7E_|axHjiQCa#{o-VWU31eiH3GF7XSRziau&pH@ADbp@7 zo}4`I%N%99!U4w?nE_9XBs|lCU_2@`rSG}WvwHY-^DM%)>nQ9h$D<71(A7e%ok`f= zYu>JSAMb}1F}G`RUhj7@D%+JK=+fjjLXmF-L|EB5IW*}yLS!-V@$ql7zd3n<3jR@; zM;H@iF`}waI7}Xhnm}@*xSLo2-Hj1893|kls*aBPz^iD>mx0^aS3zd9_W-O7)<2zA zfC7jI_+-FIl^Nr))^I#1cEsJtY&VABf<}A-cf9)jdRtDLt0DUQs<=t`CJ;wbg#eUG5eGVYh-)5L}d2JOJVgW^n+RDxdt3hkZ zZPC-Kn-|Cca9Qk_&(>N~j~Ut2%}z{Ayhn5c8V`W-BTqi7y?$NebGr4O*LJbho1UJ2 znRoP6(hs;*0lw-x#VKVF*t0?*5c8kG&rj@R2I}xYGJ~fcbWWhiQ3L&gXsy!daejS&Ey8z3r;n>Pf+lg}j5L3+ znesIG2haP@y?jic^iBvrAaOx%?5RiH26$nWkyn+w5923q&Icmi1<@a%CxN|Nx}}FQ z)pspY-yjs1Mz$cuV3$&Ul%|ri$I73TAeu{ZUC(y zVv}?QH)4#iH#HVq?UGWk!msPu;S?r2RwLo*-OC_xHUgv#U^nT=JD~p!1li+$Q#DXQ zMTLSl6aV37rFtNh1Fu>oQ}nY~?RQ@kxEvL*8M%+K$WSEskYoF<$FuIF?terQvPBe` zh*InWi13-qv=_)-f;8>G3kQ@sR#GI(px{()toZ-y>`dUH?Akv*C6X3Pwk*jK*|#id z5!v@FGh@lVG-9TP$Ox4udlX4Z%1-umLda8iXt7KP;VJtPC9-AwuUpIe_CCFz|NrwJ zAB?%reeUI)bDeWv*Y*2S!F32}8P9+>hlF?$(RG2T4l+Ota?S9O$bae5p znTg49OviQ(DH)@X!!sZ+5d65AAMAP*2NXV*D*cE!qSq)g-A9)GN`{$XjFM^S^tKjK z1(o1A!CriK)WtmXnH}Bgns?}8L^Ss1nOt$a)miP?<@E$)U4{V{Gn($+aQH&4_~=#s z`E^aun=S*>LqecSm?Y@rJkOimcIdAf<07AE4aBr)rJX!{9lO9|nU8K1VRSiC-s#T9 zaMi`dWp#0Ou*5|lMD%$44CLQHzWg&JF&=e$Z9&lVIJqyMGQoMD>0}p8!t;g;)wYE( zc&qy_UC(%W=4WRsUtIdwm2X`NVXM+oaGdyoC$YD;7kmIIt?WAvL>H&Y z%+4BRnF+^1qCTH$;Nu4m_K72}GvMUaj^+^+7vD|4rI=(i?p*~baL_(8gLSIX(vV;) zE+XOv*<*8XpfkC>R3SSxNRcs1YC6AC7&x0DhV`)xHEgzJTlq0~Jv$6c)lP ze?rw6mQCPD7BNbCQ{iciMt8xv#_%3SpFG*#)x|yr>|b*&+R2JuS&tuf^h>Q0ErqTS(>^j$W zRp0H!W>t!Y8kblLvymefZZtfNXCFJP>U+%l_}uFoUEo&5`*16hN;igrF1zVFVI-9~?5~|6E|2%63KA<_j_O`*vaeY#eLrdgwmXq6&E~^926R3B2LVJ}Ua%XHioPq{ zq0)i%&k-r1);omR`xRGbH>g&KI4j1z7!BRkEMY`$8tQ4!Ta=RE#1;`B%Wtt3W{+44 zi0n2f0-+3WJ09W)gcu4)6uxj4u*ZP*&^R5(6#^g*-dsw}id&`ck=5XJceBMRpMz61 zxE`AA=!#3upJ#hT;`i`kvMS-a7(wam$SZ&d#=&Ujxq8|KT;F;Is3#|PY`jpXOEmu73at35dRRu zu-X(YP3HuOdxeFcIENaRhH7^v3>^Y1x%O`Y=;D>K+uJ}kzBkjL z33Iuw+bUEhQifDtRf?4nPD`Mz_6`eiO>xd-v1u3z$6-sg947x6Hwl z`$;z(1Lp`6jY0dKyQ=bt;}rrjPD*7qoY`9_o1w(HFvU$Tx& zSMo$|eE-&7mXhUdmXd|{rn>qgft zMB6+o(ASr&+U>>We#WONA!)MqT%@mi%A3P7;{4hlA+IBD$bAcQU2b6)iKWuNRP5tX{lLjzNKmP{Q-L=OfJ{{bh#9HvGo$0p>ugczknw%WzBbu$aYQ zrcuGJN4VHrg=U32!(92ks}I!WeL`+d>(pX8p@faN|C}4RpwnqcPH~E(#@-7yd-nHn- z6Wh2StiU~OIWFByX*HVW_p2R`{K-6*rH8Ur`^VXfrJduu_2#T}lW%%tc>3iBv`a8I zGp`&2zx9(_JuiCiAie*z(8S}~XFDMc+SqhbNAIX^{^E%6%fD~DfRKhrr2s@7E6D8~ zk5&b-THefnO#=VIHM@EcGXPXUf<3a+9a%|RXGZH4aXu}oYX0JbXkm18pznUxb(Md4 z>hYdVZXK1F9CS~Bd%S#G?uvY6WPs0zMQ*-niG@~0`OY^LEh`GS1bcKHZrMkzuVg9U z{YYn?u${%~=Q^b}iK0a3PrA|9AxxYvSCW<%ghHo;uuiaCG=sD#r0+~jPDW7f0A`Id zGevu^M2tw4!Az|=w#)%bON<@lc-AZM<ChDC215lEAN+ciRi)6&T^YZVSz)bs9Md0I-9~_-R26#k~9dpBC2t@ z*0r_Zuo9&!I<#|C$-3&nvI>f!z7}^@!y7A0meIoWFt#Ic%VK|%#o?(8vK+oc#dca0tpsBS zqSe`YI!`dLt`*2XA$~2OEY5nCoineMs-sG#tPhr5um~i#=K6^JWkid_x^6lr#7@uS zBaUZw)>A*$Ml37s$&W4L`Z9H@n()?Q)5`(|g>;?n`w#e8syC=20KK`Yo&xNzOS;SQsGk{{9s z7N5MVJ~KP8eHb3-F?#eqX^4u6L|1F$|Y+P%5bQ7K}Ze zlq@rM(`@0ZcP`)c?WWeOiZhKnZT096C@#LdZjZ4iwV!)YNq<`r1PRDky*9~;^ z=hZMSom~&a9gSLBiz@RxPWw9D_r?=K$>wgrq4GP5Hj9-8{Ot;LVS`}KFE z-_EoQ?4M9du2(EnFJ6DQnsh8}PS2wFSX<^)+!0CnM;6(;$Xqm&X(^)j@b-VV5HM6E zy9ZfF*eox|92NFp1KLZYx`uwKArg zR>@=7GH|}Gb&pOl|7B0iNd?~T_2kvVFr1v3iH7*=n1)vwb6#z+c1C6(MeNg^Te9^c zM@e?Cn`X6acZ%&fU=Zjww^n$pUfOgmgKDf8%i?sUl^C^cjnpmTx1TQakA+IiW~Z3i zs`gx^vvm!0y-inLp+ zde@Fkq~sbG1%*=63jbmqaGhq%ir@A14HMs9()OZ++F9-o2#3i%^Xv=|Paa8KMv~BC z9w$Uxwl9uV7P@(-$5iekUm5dz8tNH=7mIhWaSH~{#_P{n^bEIA!?->yY*SN>sL{6C zKk@01m5BYHd%a! zLXKT9sruEfJrT=3pO1N|+(e|I>GVrgeLE1jR0ha_*4^@Uhg`WhT%YXBYCy}G!zy6C_DPC9ncbhU4q zFk3nA8cta4tBn}e@+YPpt!%&Xc6{k^*SIvPbhxAU#QA|bfAaZwchbb+rVC}Jt0FE$ z(!`+gr<$NeJRkL~mh{@+Ho0{ND%+`4OWB(Fv`F50s~Z2*MB9}Kw*56|0^hq1{cg55h@gvV!m<&HgemFA7v|)A;(M^NLdv4(svhs`?4+6^ShN-P$c%>%TkKkfKE0ix zUj8f`mjl{VJMdhwzAtnBs%Qdmw~nqZ^fwA=8Au~+dm$G|+9mIj6apL-i;u7sW1=6= zfV6Gf-ZyV_q|31q^QJ3TO>AvnjTdGqv929iyl_M+A=1{|%xw2Zu1|cMNjdGO(-SJn z%G&f5xD3N`jZ;h@fxEYNJOgsO`SIK35+yVQw_jB!i3;W#nwiDbWv8ZI32b_BAfjog zeO6>%%cr{EMylJ+>eQ+JzCP}0q-Lkm1;&Hk$~@4l^L_i)P@qX^v^cKX>hJGA5ehV% zj#jV822)GR32D#Mr=g}mwzj)hpt`&2h25c#7)T`2ct#YrKLQgiD=m$)6^qxK$N*X8 zJH7`FDy{u^->}bbT}!VjBN(|b1Sq<6@mP&{KANHrh`<_isRRm=f_~zy0Vn1%Rw5I) zc3h3S69bbetJ6S%w4;q0%S1@0w7?vgKLKRSKPwp^H1THE#U@~y5^_$}fkzDjQf+Na zscM{V9*7{FiE^JF#NYGc4MD3%eP?(Cuus`GFk~nJ#I9|yBkQXIX~hTJnBRZnMecHC zZp3a7J`o!VUH=~lMNMN6h5P#YCRJR~5&AO+DY4_;uMjqgbR6bi5t17ss_xi{p;}aw5Usd6W#Y zJg@1XXp}1izBh1`Px0g!<@)!Zm(^2b0J>RH!t$M0N%Zmp=q9vGib<4mz4``j67^f! zq{723`T{qe5srE93Jw0w!UT~cP{M#VVVa|rWM2uy&OY8OPtazZ{f0UPswAN3ME@_y zPRH9j*2Lu1o9x3i1d6ddfZQ}Q`*E1%d%^{v0Xg+FPm;-nX@ zr45dd-2)88?*LfJuZXLSyD3Ze9e@0-BmCqYr>gycIRPp)39--riAv?)cnCvX&jh#3 zKil%(PQ=REI>Qu~Q~_$ShW%i$p?`FAbO2}!oeQ8xSQBrY$bacxNO?em3L+2waQ|`Q zz+-%Gj(iwmq^70@EYr011Mw~Y3(FMgX2?EprV)E18yw56hRO_g($Pq5gAeV;fgaj` zdkJ*o4T|dq5*4O;WQYGGH;a>oiIwUpVHEUfPtS($y&c@G(9VX!W;;Y`_zi=b06_(N z9*=^Q#5dc!AkSp^;xWN!mtySF!Do)LL)RdHGS6|k+$zMV1IBtd_>K}FkQ=V?UYd=5 z3pfMk$uLd*l=P?q26*EsXWkV0SL!HrkpvvP|1ab@-Pq!Mb^rWRAyx+7U0Z8z2C{-o zsRl5!;SG)?c_4WOdb}XPO@sMLUzRyJFwa8 z@5`pAr_&R-cF>VThi-PAK8OG;c^5W0el?#&HdslplW^A7+%>OVOWXA)LNB$B0ZDr3 zQyX_g>sV;e?@7;%o>I>|)pE=`^dV4LQX$v8?V1=~f`yPlSq#V!_j)S@oVCO`4 zn8|^3J3*KV0Rbls3S}lX)`Acuc4h{LK)g@|pCr4_eer!d^oPqLkc;TnMWVa*zkS$Y# zOjLow6oN3Trfk9HmC{S+*yykR$%Fw47C@f|xKFye3a{2oyD<%wIlMLI)NX^z6mP7R zl$q&+IVkFcL7gcW_%)Te`?p}K6g*kKcd_^a{!eJ}rJ=zp#B+W`6xlKS@|sK|9b zUcLjb+L!7B;2@bUSY1~`LzEc2r$^CkVnHG9noaP9+QfxI&J8(f^d|0~?`=07_+ADU zdYfcX@DqiAo?Sz6D8yNdl)nhy$V&&lk-s;7o8T_Ecz8N^6Nvjvh=hG|Qu0y?u#M)y zrhgst!R8-z(Cm9a^W*)d4TIoy;v+Jv?Dy8hdOJIKyQnx3UEmi=PDV~nQbtiyPR3kD zNk#UM%0U@%85tEBnZoG5cKx!0C&3x#>i5qbLCG@S-Hc2XyMJ!fgc8QCu3j$QC|S9K*&H*7gO&5==8en6YT!Iw@Lo6q9;GZJ zqdVmP{-0$m|5Zj_M&?cB`SVal;AcH%1Xpig2ciq=clYlm`RHXR&4QHn#<{wx7!z?W zcy9-9gWE8EYlrY>FtkMqbz3p~ynC6^>-3?3>J@6Q6*f0aNf$;rS=S{C^! zNw|3Ymx7l6rC^@k9ycf`gwzQCVM65u(nbWLIf3Bu+Y5L#hE?LU{>_pma5j KGz!%1ulx@O$uRf; literal 33246 zcmd?RWmufc(k_ghfHmj= z?w}+t1XeXpZ~*#IY^)(^A}b3<4SI(Ig8_dF2KlQA=noh;9vJjr?_gkR;Q0T%>w#1L z-3G)HoDu97XH3x7B*YvH>hJcRpy#iT1n3Lm^q;4KxvR02wV|VpJ+Xql4KWivGd(M) z4l)<~PoKFEzj;6s=R*E|2d4$K19K2Q#{)g!Z6!1vz`zjEe|^Eh(lc>DJb>mZ8jc#W zGF(PB*7Sy-Y(5&(yIR}+q5|V_{za+rhmzxeQvR#vUzDJM zaS7WS|1uyI8yhRW|IMCw0RP?UzZl4Z6#mK3(NM(D(U^~k0i-PkW;#Z86-E{=Mm8=c zHW~&-u3y6ZV)H-R{)^AADdEykGIp@Ba{8r6K6WMs&u(;w|5g3pq<<(?f#!~U zOn;O7SMh&SY5uAI-#Ywv^?#Gf+nXDM%<(T-8UOC>-(`Qd=K=h($bVVrf6V`{Qjq=g zA%Ldk_gdmZ2(@zH0|OHPlN1qDaRoolg7wu=U3@V$@fa$$aj!dwg?S&mS|m{qMoml| zp1<&Y!oRdM)JKtu4eDk~`LloiH7S$`5-TxXU~IOP`_kBlB^T3|E{BQHmHNH$(bcq$ zw#7v+z{vLXRrX%vUgsX~8T{bK+E@aAUt(f7IEcR=JtS!GRaEAZXlPJS;DQ2wKS+q7 zq^ltR`3Wk85EFn?>-Lp$_#fmw@s__yeo^}QzCrWHWXPS${C5{ZHQRXq=1yz?6=(pB zRLVl}M+|>oG};!Je@TD_hXYQc0S-w$2LD^sUp<4w`XlB4f5j5;RzRDXowZ)93z`c? z!ez3Up=??V4h}v%v|vxq$>Dc8RAHAgIQh{)M@I*gGB)1%o+rGr-|6+pX8mJZ3=sjL ztgMVQjssw2W24{Y?PY0MPLGBXLLrx_p`&x0yw>V;l+Ek0yuaQPARhDXMC>4Cb%oL| zjoGwy(u}3men*PkLJ~MjM@=on&}3_5v=xkuzig(dxp;rEwX(n3;lXaRdMrlw*}}r2 z(Pr&*7lnw=^K0lEpyOaPVVldDbAbTzIxtbWJIuCVYaogS6a)$~;p9T_vsldI!)8I9 zr)Ok1(MvF8_Vx-9LL=BZ%cI{XjI`J~d_Kw!YH#P!a(3Vp-)?MZIOy$`pzq?6qSGpl zj8=-!(fY3F4kgBp9n0Bux+tz?A18}#Lc2}c5^axwV?&EIJsBVW*4`;q|ELa%yvE*P zB|@`ABZcMO0c*K8lW;r^e{3Hr3YWP!Kfkwfq-Y%aOpHP%RY6PZPz;wgz`h_80?e+! za<0No9z1NiSk}St{czGTgy_txlU&A^)1~5?g#sVWu4`Zz(nmB{O?ie4E7CRO!L9xI~F8OpFc~A z5A9eu3c?83uXqF=#p>L>+n^?&?+~wO^F7KrT5d<=@H&OBJB9dBXne<2B74|cg6j6o zsoG(iWWHm(1@W5`?1;uUrvkMqCu}4<7PI4pTA*QeCJ+CLnV5^90!8R*<v>M%D>Mhhl8{OF)a&KxRrfZ#Q;vYDSbTP1MRoPOVindY#GPU9 zY;XOfS8A+fCwnDGoY-X*7jTAn%T;I{o6~@AWf2T>+~3??wa#RRGvulBSx#58MJfmV zZRVU_GInq3gWm`z4)&&cvm9Rj#Rl?kfnI(#6e4M;LSXsjfdzRu`1Sj@g0 zXt-nkc1jP}5D{2(!;|2Gp+9dCrS5Aa_gkm;FLy@r$`yJ~S?anDJMT9mLWsQYUk-I2 z{*WODh+9vqHSLS&GN_*q#jwUQ~H&9m;YcyzfODE{sG(DvEk zMzeXj#Rq%0bGZrEo=KpJdk#A(r~Loz)1D#yx~*y+UvnPK_w({_(FM zr}Z5kY}~SX z+zN0rfI_73xJNtc6nHEOG9F1jN%1aH{@r(O4#{~pB*eV#B?OtqN}_NX z;=i2dcN;V`|5+QkA|#RDV?~2{K!6acc^FPZ=2N?w)I}}Rc!k;RQ`&*V@0f9+CpcsxBOgbFlU;VGcg66?n zA)e{qA>@-UXvUDbCpl$Bank&+HV11dR>jNKgM&A zM*MCSTMoDEFu}`7?Jg@jHlD>D@RpB(9eHeQ44fW_WZ}xUWJo5OLtd2nyFD>np&)Vh zipkXV6uRcg$%(bKwO|85Dhv&!Um@YYhht9&lDx$mM%4RH>AnLTT+g9Hi3rr&-$n}M zrvuU|e#P+cuq{VsfvrqB3zaxIb}jVZA*X zmoJ{?U%^md0PY)x;Xte;^q>CFpr*)(p=kc^mT*18I82}a71I3$+@V0~zqz?-IjVA) z$mTsTjMw?Y=sZBc$*CddqgRbggaZ`02FS1k*n!J9i5eZt3gcyZ#rJfQkmGu$v?a=JzV zP>{SjJeH*Oe@d^-e@)qffjM&pAMY|ouVFwEsd)S!X2g(CTH4yolq)IW9|MZUY9QWF zGx#?ES6Y$r*`P?3&)Dl652jYnRNOIs8^Z$;#NDcgO*BebW25tYm98K>QECQ^8uIr3 zTcKPlD=Q=f1#|J=K{^z`&)r&Z9>pUVYH`e$PN{35%xZ90+)`fMyLddY

b@}Ev`@rEmoset=Hjv@+0@_;f}MO$4P_UsbVYo?}0v$L%6KEnMOxP z@R~axFT6=S2hHXGVp9re2qp+~B#&h`BqTaf0 zMX}@IHvLSCcE-nurUrWNgPmlvcGve^xtHC- znG&gMx4XrJG^?R|K|;{v#(gDYb_H}dPHpq;TVfF~$hcap%x|JtPZo9C3{^?-sBzis z&zq_86l6+f&X!wUMqt>R+U<3Imf8Uw&*lyv2(_2Z`kTw943p$kBvrLL%04@%WNJ`NVtE{v;6FQspKFa-6*ZA|ZNV<(w?{y4c$Z=bQn5ps1YCX>4l|ka$hiV2BT4MMw`Q)9K8uUm&Hu!Py$8UB%O9+g?`s+RJ02Ud#hnz z@K^?W+a#58v5MLudf}8=^1#Zn`E+p_--23&Mi1fk?mO3YzW`WN=K>_tv(*k@B0jjl zGNpQ*2U%>hK@SA>r+n#TT01{d_xp{IHcUy1`6#7`R^UvBxFZ7ZRCPuKkHn5x2okP+ zH#lsw;y`cca;ei@EpPkhE0F6r{u+k9(hG_b%Spf)cUoV5)1I*g0lgOcohn^I7jRON zRPEHkIBp-mBfcuiyRe?wUfX7SN5d-eDlzPBGnV1m{Zr)uRVjM)3VJKv2;VrJY;~>_ zn#`lja$WJtHZXK(Ew(d=(>Hfqdl(Ayyk6ggM^2rhd1ge}R_rx3aa*dSg$9JG#y3;q z;*Z4cju)@Sxd~&aj_B99v)$mEYHkenNcWUn96*4c0jM)*WUEdj{Dz#ZGVDVFmS8!cg(wY4#foF zE0!s7{0s3L-hG(U?OtSbqT}h|2mr3^jHI-+K|1iBGi>0NI<$;)o}KC%bg+YmdwlIc zY({AjU;YJ~(Pwsa1sI>DSdXUK-0t2q(BmJu34vcpiYDUcb#`X^^3e)Z&?JXY6v!na z+l9MHwAw&Tp>iKH+{uxY5p^Mrc`7&0)+0jg!bVIFxiPINEy91%x3HtyM;}^hu427? zE~@O(#r4@a!*+WxE+KczTvHUaLa^JAdv<13Fl+#Rp*-h@^{?OSlU{ zeNJ6U!d_JFF6d6Ka?CKCXVLe*)bd`3VP{OZHkvya>6Fi)cSvOX1^@#30>li+$#XUt z^>4ilUHOa!+%z;)u4fu=9kMN}Y!c?XNrR_6E? zRu*3DGr8|B%J(40$G)?0Hp|$`bv!g6o3C?_#C+jr=jOvt4Q!vHA(W!{r`u{$V&y=) z=4#zl>f^F``i{ZIFZ@l+z|2+4EGh9ntw@ORXrWmT%P&v|u)p8nT|>4PXky0A%hQE@ zRaZ-P#iRw}2NKc}=?89-Ui zlqwE+d<&YXn@m{P=EQ!FiTj5ns(VtLXr*LFnoh^f&FyeB(&1A$gVDDKwV>2mvMboJ-*Ff@lBB?tMm(xI&C{>foQhTHJpWvFi_6t}T zb_o}sAxlhC(WM}8(++Q_Qe#ZadJqL+E`~c)b+V(yN&F7Q`)6>VeVK)snVFTj-OV@2Dz8hKa~o?{{9ZZyl22 zX>DSt>FsJ}cpt7A#NJu5K%z?DaG3iM_nKVvpNTppIsYz<>QwFbtmXm2;H<2yf=)y@ zJ>i_<3LkIWx$O|9kDi@p^T^aS7-_BDF{AqPDa%iJi?0(Ivx;3NGE{5_F1&*7r;6*<6C=}}o zG^uKudiycriCMh0465kZDwslP08d~}eIdhU1&yPB^rT0bRy_S5;L<}1LUz=&w2>nA zszk}^q2S6j-Olx_J9dK4R2D_A`7*E1j^0$q!**X|>z=R5a`lZ(ePpSq-(sAP!CjZte z1K1llnSh|Rh-D|QHxZ3zdk)nl&`Iv_f-F7Z$$S0YY+cu$CNOP1fqa||_YcrTMQ$AK z5^U`~>h-i288-QuKS zCLiannjN-UG+Fr(cA_pf?59A3sXYbyBK}c8w4Nk2La{nx?vpf z$~vVPgw8En!sJKMf}a};s<27k-X@a8YA5DUzNLAC54Xqh5TpB;gHuNctWEar>TkdO zqi8sY9#96F28W>DoE)e%8>TDhTa}^zkOV1JXUoM+W9ehNCO*XB#?XVixW%<85=^woBH3JkgIC2}|fp|njA zAXb(pQ_v?VOTrf?S`vofo=POe{?;rp+yWfbZn0r+AUt^MUS0q3#{Ie^vv7t-bIkj( zwpJR5Cs7|qg@bt%Bzu$ZOBB=5{5;JS#BX0VGNLT<6*z4|sRxl`OPYI9obOLnZft2! zN+QrJMX(!Eu=OSX+Bq3?liBX3neI};U}9o|OT7avY#JIwg$g}jS+1uo<;)L{Eb7gC zN!2H8oBXwO?cPxXUuX5t!H_Wz(gwgnQ{*?_th)VaL4Vf1nC^OXI?T#@9GOHU^L(1Et zwEkD-@-GHHv~0dYUPjIbopbxhXDni@AjbllJ(;1QCl_Y#Ql?Ul>?4*wNwPXl+Vz zG8U$B%S6(m+$-Yz%nYq&-KW_y)n)E_(}`@*Uj9z;6~8#r%$E#pfi>z?Sp`ox1Z7NA z0N=$LK1l33cRThCZ`ST8d>O-leC@u=Zjv5j6N}Aj96HCGYDl8+S(ST%9)6`f(G2T+ zh6-NOjM4|qA2Yhh-xULIh(oG0gH7S?Fl$n>fNHbLjPft8tkk} zxHBlsc`$KHx*&$+<7!|)5Xy3Yc{`%0 zBl>Z2LLTtYBUr@IdFjCNMXZVS%Vkq_(TXCblj7%2)>hpV8>id8gM3$s#r6rR!C4RQ z3SGt$dQ?$t!e~)RUV7c47+DNwP82FoiY*9CKUFXM{C3I4W~G(2l>R}MdxGaGvY$Jw z^Wm`k*~FI#O;7-&Ym7WF3o@`P1!gl8G9^cm+P5zn%=cNGT@LpPSEvNQZ3`&{k{P%rCF9t=Z=VnR{Albv<7PZBtXJ-a3PFGdn_W%)0Yb?n9sIuBiw9#mNt5vatuLjmtz0fE5I0aS6q&ZY)AIZ$a&M-frNOaiHNK;J8Bgx2 zcRkEv(x^3KlEr-^dc7Ysis7A;#r@{jU^$=dFwXe_g7|8W|8-F&t|r2_>#kj!$H|xb zy~~N`RXBu({v15MaT5xn-9plX6OJUU`_PwOeOlVPp(?Y@Di`MyGc#?DV$Xw;y^hN; z&Vpft3k|2~qb05zW0B4-*RAa2{clqc2wm3~iwQ8;CqRqW&3t6BI7h+J6I6nDAbeg` z#qpO-GNrGK7kUT8Ne2(HJc1xdeLf`(0EO!hvo(627yT-lkj&4|XFgr#;JOM5=dUko zuNk0>M7KzRezf~SjpH<}m)kcpr34F&`UFk}r{-e7}GSN&d|}tFX@3Zyt^QVFJ0_1){QJ^NvEMBBJbV1c;UxFgzX0F$|)f z`>*!mVpXGWTg~>t&=?!O8Wu^bpzX`UL9vN05B;!_#1LVmKsP zsPld>AErU8gK`G8hZ7qgORU%$5O6?(`gQ8=p3Hips3u8xe7GDIG*3rKGjjG-keHpl zL)BqnZO-fNXQg^)&CWtsW&2@&rL480bozmC1dz*o3cOFsBE10lq;@jZMwAp_ZOyY` zLqj5Ave7{|Ir3V65QhBN8wVGGe57UMpyqX0JP7-Z@F57`X*g9Vx$BD! z&^y*OGW*XcuKA%r+s$T&vVGCs({Kj*YN5%9VvOh8n)hla5lt-K))#EMZ-TM+8X7|m z(|=TX+l}}MNANLCI|uoUUz3!msjh<~?x+~*-S-a8zm~hNA!_4|`#7#7?8%Ht??-n& zRY$qdSNBjKZc7H7@>##Fs);pGFf7ckF}k?Q;KrZuaJ5$U$Q-CFHE&&yW2FIP8zo=B zh6tA=y5WWh5=7;8ITt1p$1cIuEF-d)fIC zR#R2|>~W=gHpj&2y1O0z%4`0#p3n2*=yr$wv&s`Ft?Xen9Gl-Zk-GfjUEBF&L$hD= zCVz(ap#5*|lMymTHP?r2F z=;R;Xg&xP&3UtyjY7IL7&JXUHhk1^E$BSp*9d%qn;h9pc-}Ua$_snRxKGgO8eB+)h zmymzbqNDe8yQz1oVq`c6M~=j0PeNk#k>_aa|?b zyW9Np#Gzip!x5nHL1!EjBOJDIO01!-nH91bY{*ww z8+@WLz?|V>DPWGkt%)r8YGu>v!;ri;lPXYOZjZpO0aB4z2u7?X_H(uF_ZRT+#)jZJ z52eQysp7hn0f%#;Q_BeBI35ssuHDj`WZ%VcToo3!iQGkC{)x7=r6R_Gyfk^YI5 zJ7e*p?3-Di!KzQwvOVHay^Kh8%Pt<_4*UrBA({#?u_6?65?z=n3@N#@8U&_>| zeTFlb?0Jrfb`Tu8_UNVU!;i+i*MHi?M&-R$(7Tn?W*8}fXGU}F%W_#A+KsUlEPqc( z=y~2_#R#9|XYN!&R&M;NSc*xUx^p4H>Gj~KBo>9&PrH#}(|NF4r%VFi#0krYcLMw5 zD#`zHzvZ&xl(KW9*aVN48H5OEKkqp60szh`di=ih$I2>%q;l@f@xc(~vd*fh{^O7NWwR9UWnJJx&4x?Y;|jVwk0BSd6AdX&6Y803 zsz~}$h~V?FDZhi|f$xrIjy8-v5`+n3=wwRgHTk#jv{aVSta0R*^#IftkmHm-90{OF z>!{+tt&Op(YmR^J5^DjowXt*_&hl9IgFVD}4%}F_3lqW{{TP_nUy^B$@W}5kkM}CY z(d>S=;xg8{ng&ETS2Ro}$%Jtz|D+#buM9eGRRtYXQu^6f5QeByrL`bt>5o;_SiJsx zs#7@*_eZ3Tu<@d}Zew?eqKvM29m`3f3jSiCg4?D0&KNq*CyRM!I)d%RdIxl)i{%`) zOJ()}-}yOW~Nrrnpr z0SNGVynQ}Y@7h%D5${T~3?`AUseOH3d)=uV%3d_V+ECYXgH9-z*Yk*)_(&ry?q&%> zg|9((xueBgfR@7kR+&$SCn;S|~;&pKb@Z%Zdwh2-({kKnqfULX%zXCCW>a7tJdelqYHF&g zm}Ab8HO(S6?H6KIQ!GnMcH|DicDB*6=mef+CW{J-Z(mZ4q9>suqB5FyTKJS#_%f%( z-?>3eP23Hss_XXKR)8N;vJ;~w6lwxV-DRbb>iEw6P@AD)?1@_%jflzO#}*8+&yjA* z9o0>vXquh97jw5eF*e6?G+E7tbDv}%wE$l3)5a54KW1n6>fXQlLs~&rsPraoi@%%| zUJ#`+Ew~*7PwGCue7z9no%T0z+Mhs0A>u7%@Y(8Ygamr+tuL)ruFiASeL1HXjAV~6 z#!{P+BBCywllw63_I~(V7m0ITaPGO`b1x#G(ET=z;eudWbcp$`ZS9#Jm5G_AfWhnH zW)zklWpKKNrb%{nv+KSeU;ud<;ivv)`2G8k)*`p9Lo8Q{O1+NsJFfRs(-VSR4!!mEA6V)T7Ude@y-=RljvwuDZ3?fm> zk5rj`+|2bS-;;k_S1~>0CE#<{`Duy$j=@DlGXJLPm2NCX$Lnk9<`Z1zZVW{fk>b=% z$W~r~^sD1AR0!loBejlNs>`Ff>VdhY6emW8qgfF%W2vw0TczZbNQKZrBB-6+44d1l zDJJlMf@QC}72D9lX%>?ql?`&~Uv=?y%|X#psCM$P`zyrri#pmp)#Oh8}y_pPh@ClX7E3(<-6$JYUT)* zIUqCKr9%h!1>{3@yuLg>6L)L>Y`+>0ka?uCN)n{9pVKteRJKw}t0)*1*S8-ckL*Ql zVDi|w^{ex_txo*~2q zD84vi%_rpyz`CY^Qk!YRH=IF}uy2TToCM62i|u>L*D+Drr1q=E(-h9jgLXt;G8<6o zM<1sI$xihvM-BM-ZSME${AI{h&N+Wjv+Y$ZJKp1DncvKnJF!&9Pp*@j91EexyL z?TYc<#morKf}Gp2!lRXn?SuyydM7nBGGgsE3NjWomxjF&@wOPb3?T*O0St%8s}`*q zWqSTnA@%8J?}>xHYQV5qwZZ~VZ542y&O`V=C9@&oe%JNd<6gT^`y>?|1Wg-e5S$q8 z3vC>ql5L-?C}sE|$)ZlCNd|H4arG|#Qsu`UM$MD|NK!e*h&d14uAG>)+x~8E#F7q5P0fkk{%F*G ztI&O|r(IJxT?G_OwlX;#n)%}LK7S627dT;!6$<#)Vj`3_!bgSo`R$|@bz^J#>~&wcTTcK{HM28(;SL&h~1}3N|Z)|IS)( z?V}Lvs*oUVdf_%3x#WXV;cyy0^8#jTIlB1Hnwv}zzrFF7;mmXsDlt64cG_cepbaqQ zBX(7QTblAMGUX8)ZPnMDlS&jY_=7Ot@CT>vp|YJ9tuS#m zbb3AKeuvxb1o@YT`L6N1Fiz)e7f^UQ=|kloEtr$pOB#4Y&5FGXGr_tF)}`+Da$mL^ zG^`CYPk9Vpck;KQEN4IwR;lNjz|%kkK;9+wF{iYy-4C!w^IS^Qzdyt^!CXv=={4aZ zKy(Tv@`q0AYaghP#=#4*LoGu*f`>#E{yZ=;9t%J1Zj zn8Q&PE8?hV651iuux~=_&SYrX!pVW(N}`D~XGwnI>UCZ2=pJ1@?$r@mVAgaZQPm0Y zbkZovh`?=b#-Z)0p{{SF+e8G{rY~Q-10kz9lZkWD9J#%g9|u3C`28TOPe6bmV=u?2 za~AupP>&&7@;E&By2f%mR&9Nmw&E!tdypyO9-e2eBakd~Fv{WiW}ex_O0Q$4cMbu! zf)`3tY@MwXQbu3PU6bD9l%rhZRID`l1z#?w$eczctGXc7%fu?luS&$;v%``n7lJzK>`?RKF zT+n~VWMM-{iq=^a%LavZEbVRGYSyOAW z8uz_nmN=X|dxXpGTPz8WLoH$B0%l7^;1r#POek%n5bd0?lc3{dzNi^?g(H-S6kJqj zldOy?!&F`NjmjVrkq23MR(HWZd<8Z$Mchrcns|4=N?cN?S8LLgaiX%xSQ|Lp(fd@t z8$FVCl67I3Gxr9#QtCW~&#l7J+g^FSZy102$9d@U>__F=RZtkGs%2!#N*k05h$(7> zy5!^b7)V#VuUWvP>)SOvES2lf+&BN;Xfop=7SuwW?Y4_sK73G;6Ac_1siF)Hq`eKi z9!+N*DTCgsorBPZo)Xby0V5a97|}hbqZt++ZXtfN8_7IgQ&w>Esii83auWFKN)kF4 zYea7F=eBUMnCj6%GDvjOv@c1N<)zWGE>&JmgM?=@#}*bw0ee4oZ+$8%c&}bqn`@+I zE?$6k4dp25MPw(d(voszUJ6HS&N={oa(%E^k-E2I4z~U zYS?X%mD^ccY%lfn1jS`U6S%7wgO5;R;^E;o7w>8#5OHq8U3XHPhGb}3`7(-0u^e^D=k zhzy$0q%64kxHXcBOW#Ch1BNoF-oWZ+2fFAYEYktiTZw}GbRh3zF$tH*yAP=&wvUCv zw!X50+m=>1vhup;^D-#ag!SY?g`*`?TBwQ?z=J`jHe!Oi@b1f~?w9KNW>?z@!;Ry) z-V5;P_sf*v#UUEC`_EvuBi*gv^J|gDxVCH?u1%M%d*prFy6uhqB|J0N&!|jj*T<;r1jJn*s zVEypr310I)3j;m922}yp&+0d;^G)mod;?p9Byz@Fte5>h*50^^=aT1Mst0F`@Bu=xs<;P@_NJBJb#nh$@3wT40*@obo~7uJ%#zd5dm>Ak$bc zAO#txrKvE<|6Sa)b>-|HGuTR`DpMQfcvVGs>0ijbs` z7dy?-%j@1!LQnm==qyBnq`!Myd{8lAaFl!ZxV7(&(s(b7Pb~e>qdW5J| zm70ShVcCl8iH~OO9&>#NR}sO8t8jqR+F@(5nb~q~{vIEfm#15gvAoUwiRF^d&0*s; zR7A1VWv>eX_crsyJZ~dz7~=-lxIlY3wDNo^yC|m5UzTn$23IKGf^TpW`%pMn3&t|`HfaI)` z=Y??m=&37-;mPThp%7!SfeZ~AP<7mC;tj2d2VFKYWFrgtheDZ>bST8CQ5k|VlzN$T z2G8_9THnPw7p^JV^M)Ul(d`EeOr(th4d~Py zrL+gj_4>dwO8OX)*MpZJE~64-O*aTRVyFoD4>@X<2O`TvZZb)iv=BoATrR43E7r(a zHO9sBD_9=2-pWxqnr>s|Z-1>$i%+Ww6sYgif5;+XA~MQW3?yN5jAIMQ0~aEG&Wzcd zD#?%&h&3fby>*S`;wnXILp$8}ph(;k?^O=L;QYBUcJqOMS~>7S>pP%KhDeKNPIJiB z))@ChGeeTQekE>&LIXHtEXmbhoR~i2|BCsX~hB@PZ1l|nKWwz+=gcjCzVOM2=(@< z>}jy!7O&M7r8TNJty@7@mXtrP{_&F3$I2Z%SV3B}V#DU-H{1xy%6`#QZtdvDy#WjtFu_CEu=Md@+x?Fct z>pWlB=9|1v__aIhYcBaS4jVoke7zXB&Uc@84)sPG$Lrnb&%p0|-JEmlivUGNZqh8J zos?d6j6fm~1__F|d}U z4?6iqzY6r~tggxQsdv>f^SwDA zgC?8Eiq5Hkv!Kuzek@UWx;m!9kd96feqE*|;9B=q>Sl;dnhPI4P;5&$-6-sNjFcY4*Zk zRYSn5=2`XK&^tZ*L*?8WdL9NS?*-T@j0kHLfnX*(>i8BSPMxKYQdtD(R$lcy-S5R^ ze0Rhf*U4QyPo8roSHIZeu$Qi=hp%@hWa3xRm#I*ip_!#@)cJmtmJmk9lOyfSDf{LH zGuE@tUSsTIp;f1Og%0!Z5i%C=-CWQ%mI>AZM!aKtY<>3_UF?T$oH2UG1rN+3a}rss zjBCx7SWX?1RDg83FTSxzvH`AcCXl-W4U8VqhwFxUpu$*q%V4&Fue?Gh%p_bO7LQit ztAda;ghrvLP$fhHg?yvZDCKUqdD)d+A8fehDndauld75;y-PZe$FEmFd!MHB?oN)ixReg8{KwNns%35A$7Cr-3>{k_#I#-_B(b~2fWh)tinau3g(um5&MJE66wt8t~>W;vw*0O>NFc z!5c#b1YF+USon@oKQfMnVAZ#d+Scac+)%HX?+fZ~VbS3zcBbDJ#DY7I%^Ubu-k2!w zbEl;tmkomMJ>!WgD%9QTaPJtE3(;te-ICy3l*s4=h?-dK=6_Xm$TY{XjjjP;t%2**aP>v9mtre z9iudr!k2 zL218gKSDRxm!jU5lfu>N{4~kDWpW#V70wF$pvmGe#vrf0Y*JUc%A#Hb*2|zgkcUWy zgh*{C1HET-*eyR|0!SRpqtu7SK}kOdoWzMMomPBXLzxtW-7b>nSR53kO4CjGc*Mww zc-2^ib&b4_(V+Dvh+K&T-=q_%3m^mCTi)Eu7|@qaC(t3`+kLB`%-I@<#?tyT>Ei}2 zPEXyBu^Tgr@puLOEWWB5k83hQ>Xgqdz31~eOL~1e8)W!7p8Rc0%AI{0)NVUpjz=o} zQI5~f@LhTmw6hl$?sw@`)bi%ctP1L@&Yuo2yExe-_VA3P$xI_@?)%EH`b!B|lOc=w z1$Dz7MZ0wj@?gJ4X6M}5O-&XU)J)OcX{iC_L?Ey4tfS^%WvWyeRWW2UT$-$SM2o0x ziVA8HkNv>Fc%^^+UjU}P>+@eWM2X<}&ky(@q2I2KF2a4AG1Am+UngL2t#Bm4RY0B- z`!vja?li6ge@HqqGkSuk{L$HEL!dTr3a+18+4Y4txcTH0hCw)yC|)NW%aF7d_NVi? z9={G^eKL+RV{Af*w6|l0QKoUB$}~JXb<`gP6w7IS4+m9Si>meqo8NyCvV|OLn87fV z=F&gJ_3hyc09|Ks_?C5swRS%@x}^35G>_WSCUIO8?5pB;SFsaZJ#20K>7(6cfqGa} zD$bvjC#ur^mcMd~fT`{KQ`SgBF)dYL+T zeY?{ld~l0DaaLg+*4a3%2;nqT`}Sk{Yp=c9Tw^5lSb%!Vf#^Lnule;sjFq>cHu}?{ z(KL;>k4{krzKX%m>_%}mHg3mob3vAe@S)E{4du}YsM`fDyUH+3y}azsso|{rq4h*2 zJ5P7}#tCM|^lisX)j%fIjQwO{+)?k|ci*E6sdtMDNcyDdxLG&Qp2BIWB;-?8z zj>7`Sa68xOUWrW@*(0lwpQ`0D*pP|JC=ZvfyCJQ71FU4Q^UaNPy&i5!*zd8K1(lH8Mk6$oz872Vwr=)vWo~oa$yN{HY z-%-zL>4#|B*V~yEuPL^grSI5Q&>^4Hztld5#<>~CVjZt*sFeCN*!Y_rH(wa*r>*rn zE{zW~W~?pv$p^}hzjM}7?GHG*eKFoyZBsiXRElJ5#R6sHBuI{4Fv#o{!l*P-3_X+e zUVn^dtd=eQ_%0XFJl}fIJUIY?kC|0p9sF-sVTc{G;T|B zrh^c7d{OaT9F_25dAc0GZFR0A_*lZB>aWh2Y~?=fzqehTBByCmi5oRsUOoIHlcvDi zqlKZq)UV=Y+S1?u?YkRHlU+4Sv=0E&y5YhYCS+KEA7dfFWH%pvYXzypU=oH0@^fml zi1J7JI_44d-C;v?$;hPzjqm)8JfjzaF_@fcB38Umiy!5fqmHES!O86;B6dG0tG6b1 z9~6}O9R!IcGVq5I`fsF-D$%FY*-kUc51y`r0uI^v1k?Yi?Jc|NXqvWR+}$A%2o~Jk z2@rz2I|O%khY&Uz+}+*XU4y#?_h3PSK9e)#y4U*yUOuqci#^>n)m7EiGgZei{?Y4; ze+s=>+X-mSaVQ)mCO<{`2jz8K_bRPYi+O>c_sAqJ$UYs)6Y^#`t4Y)CL2H%scpc~^ zS;Vp1ym^L*EfcpQX0td)_;f)VIq1R#XWg~G1<_|0T%Xg>U+vB*CX3(U z?S6WzxB3=71QvUby}mzVebH`m?U=*Mfu@4kiAZL<1&7TTH5;2<2DNNG7pR6CRnkH` z0yDrKQtM1d8L!5WE>%+XjdWWZb25#OUZ{@Eytecv)MFI?tQo@Z@sP5JD)?xJ8rlcZ z9uAj43uBsj_yI-nhx?*lbtrjUm@6Oc37wJMNY-dK5iU>dFV=9I2OhA@-lTL9agCOt z9WtWot^j!9vqxM6JUE>8-s)+&9StI5f_(e2PA(_012Qcf2ufShgg6gqk>rq3_@Ri2 zCtsHMkjwD8W{mX0I zLf_P-7N6ebTJv1=VJ0K@p@Arz)pVRy6hlPJlIToflTm`2>9x75Dp{>yj!TtWDak^2 zn`mbuS?HrgL{&AmaIP-~iA}5Duj{o3!B7wzkEM&ToKkqZ|N5HnqRysrQZl@WP3f%^ zvm*GX+79zFIi?YZdAL2_45;k@70*7hH zt+jR9g>-#p-AcXg49}PR5Kb9}x8d3g+U6kR#NbQ#tE`hF56jJd*iZGt-19mK8)8;N zRpeJ5s22^f0??=EE=D0lE_jZSXrj`G<(Ea^Hcgu_wAHvdV>v%sv5CQdJuh@VV?QP2 zi)|yqx-5#sblK3;@~6cb055VUMcSomz0v+Ocs%@AY@xug>YDAb3+ua^P@prn$)*Ek z;g0PJ6B*)_g)q_G3X_sZyJqS-ueO&aF4XaL*86{4?8j#<4gyzwU);$OUV7cwAf?V7kVfb6iMXfLSf6P8BCqMMcG||KJ!XJz^_mEe5Ft|4M~R-i1W%t*~jop0Aw{ zSXrj=D~IpAh_HoPCqmYArK09K#$8j96H2GG2I{URgKvs1^rIjMhHtGJvX)fZ)WjqR z9UVg?s357Ef<+Xt>T}Hcmfj372Kp(`KM&PCEX)Frv^h%XULcidK9VEll^J}{@9>yp zx|`(8Tp4*DfB)!x`eZ7b#=5%PN7=2PHjNMP$Vxyt@(5T{>tlO8;QIhkc$^HWS z*)8R+ccp%0pmYYT+@=-OQxsQ@tv&Kv$wb{|)_=%Y4dh9oNygWOVpVk)#7^AmwNxvA z;C<$)SMW(++i;xTP$UIfVYF^Tmug~~mC2sB2P`1;trL^Y$TM=*SvSgBjK8rVo}X5z zK<=IH;7Wjm2a{C}?!xzBE7(Aq3Vhb!cuWBu)9&hXXy`$f+vEajsNtvv^^tHdc9sm2QYsse)gNQ6sbAF*s-{DewV+$Oy>U3>2IK!|Eew@(<;a8 zNO$mCIzSAEgRKqgVJPPFVyKukdU%A!*t^eI11wRcJ$%_?1lx_Vha9%NV~(4>Ytn_s zo@ea~(h`^^%vfOybOFXkh|W52u$04egRH4NeMd#Pkt|BnLD>&zO z!3C46u<-oEx>M~1p2eC%QNd9#GnjZI`eRq+!!ycrtdfmIOt(#PUyg3JbW(np?5cu^ zw69_;#&hKAoUUmWL!^-9jSw{*!o2Y#;(CN{$Ep0G6X=VI*Hx-jkZg_cppn)l# zaCeUo-neo|42f{>C~OBQNe;`&UMMNrY=M^qi_%1&({))|nBhS~#x`l!2E1Ta#isi7 zQgzA&)Zvw9S1Ybm--A;7PIyT2h!`J>3lo+R)DyCgwTyJv0?2 z^&3sQj+2+EbUongf4HppRIgq+_Z2&MSc5Fbub8uD!Lv=y<|>1D*}j~|Hmlgs_2PdGzE zp){0DfeAe1E|XQTNTN_mNJR*p?s;FZzXB^9@;px^)FDs}LGcNwPJ2uv1xgOWEAsdSyQP z5Z~!~H3n||lXH5dnYGvm)LE7Tr)z|AG%Blcb)+-+mX6YQ-98yp6o3?`TRnP5QIu5V zVr|B2x=}7tEe^3}ltXqlv%2ZJf=oO{nJQhDOkHteMU=5(O%}|1w9VDOT%%n{&Da)b z%+Gzg2D5FH4nBO?4c5=+6Oa7O(_C>W#tb8tjb;5Qnns3>ZEmuR)YudJv)69crl5c! z7Q~NzqSV_XZ|g{=;ifRj8HiFJ1#R!Mej=*sJ!D3YL$cUH%Ew3(>eztpKtEYhTQDM6}*r53ZL$y@62zPsqGF$(}dz4pozMuD0Vi`@Eg} zGV{lmvo~Yj@`u?gU3hRS7L{-EPP)1cTJpd6U${LDnk;i29*vq-TG?s9A}Yl z5xeb#JboI@$yj)b_8aoS(uwCA%suB)wA#3}7w}{0GS%GuR2tkITT|kifeQK1k4{o1 zZ0Dp2nlt}g2d2rfujbEmMM z5Ef~;ams!x>>NZPp14d<1e1{|a1knJ#*|&2L{;td{k^XYO_Xe(>M*a&Kw9N>fW*v) z61rKi%!k!|I%BZ96;FQoFKU(S4_`VdR-0UlbwA|yU2o6n6FH7C>vr3*L~^$!qxb<8 z0*_;KxxG~@w!RN52{4H7QFI0E)?0K6#*$eFm$$yG>>rg@nlMxP|C+Psk3yv>P0Gi( zYWT4mtnTd|=C0J1mn;SM`A+j3XP(;YgT6_K0wo?Ly-{&RY{KEVXa^qsj2s*e*KGk3 z_pI9OM*T(i7W5Pw`Pe%+w0e^{EeR;qAR$LO7NV9cE*xQ>YdzD*{E@p|vUivJYCp_dtR|cfzYncs(;)bOns60{Hsu4w?FIQ zJw`ejLlu6?92Vk?-`9)FoEj$%k}nJ)q1a8coSnaAaJrM7HB1-02}HN&OVQc2Tyz&? zmYnbsker!j+~e21uEtG3C?W;zyq~)~lgI`g-IY59U0YEYFF{qWY4<#qZIOACpe@CH%esA&aC(4b) zPS1G>ce8R<$(@-{ap*Q}tz`v51r=-mn;QpjHupN9ByzS(>S5h8!9~6GN4>?M82!W5 z4+6+aiCqo6oiqO}2HwwR5kN~2EY`8CM zbmecTV8Dp1Quz*A-UD7TXL{v$3`FPrj!$n8g@SFEZ@%f|O|-J4qyC!4X>=Y^s8ZGa z-4*xp8BXtaOauMo2M;Dk(dW5TKD{2`B=D2l*vc58^d_-!-uKrg`<$~y$X-70n~dU$ zhogWgHKKBt%L}$6@@SivW=-1nLev87%_~lj)F~3{Zobm}lXyJ+wB1|a(&n3mA=IhE z-@8XBGi1Cv|r!NP2v9dKL9OIEJ$lK0HDmnGd?Ajqqj-N%COrF5N zU4|^-e)e1UgH!Lof4<3|^VhMcq5@08VKt(E-^ip!Egffx!P3oco=(l?a)J)ugR|SO zBv=?Ph1<&;BuWFc%gsc=`no({Oj|n2w-fH2IO3DUFEL8lE!KoORjB;bD%s7oQQXC;0S2qi9GMj_l_=POpz5|XZ6tFG4Dw7*7h^mJD=mDpM6 zU@5ZF?OLIac~Dq-s{w_$p?22lyH>L{4w?+=iK?vB>uB8_5fQHuzrsfR_#?!h2uaBz zl`wnxB9b6dhsATKrQO=iooUBG$DrTm{4wFEy?h%MJDtsbvLvNopYyc+_w{LJ3a`Ua z^e?IWxKBqD>6pp}7v?B53{7uR0IQ&q%(WLP%xRLdaq(e(=@UX4RP97JPj&0UDzZMJ1x~^E|cs z?ePR!BQzDdG=$4m!2wvTYEp6bQ1$w~HXj-_iq}^yl{SS6;;M8$_Zm*ALM9<6{~^DT zNt#~TSbS*|T7L7m@#iYu&kWS&HaMYKK>|o00~Xw*-i2%h_43B1)+J)fa)IZFSV}mq ziE=@S2<`6_pjG`;DvGBFWf;4~prJ+T9Bbhj8;rm9Hcs#-WGzOpuZ}C=!*5#%)TmDE z)h73XW)`$W-XPFPq-#j*U)NhR&T?APBfTm2nQI?@xu3uqmr!W#Kxw0wx2f1>adI+$ zW*a>6k_)TOj+hyfOSJMeb)7knX*(mEk-?We4c&yt>t+HJP>^vOzBTOz9I!4yQO-K7OT8Go{wpe zN#4|nCjP9$h8*ZhOK_gxD^G(>*ixm@Fy-$22n`v=2j0BBA0efbz8 zfm6pNKxFQbt*?bq;6O)aY|AW2jVf@Lr4nv}3KWviR`V)oUj4*Nnw?G8t$H#{ewR{m z;_>CfWi{$ISy?ZxV4yvMxYHA>p7jo}bRJB*i{M=UI`Ccc7C%@y8zK*S z)Kqf%$PVsK+XYTO?5v2cBOqy_|6PZgAjmy7KSYYg(U$U(@Yo@xo^$tb)EmBgWb1@0 z?n5lR4C7WOK3lzhoJ09@Es#7|0|iEmR^INZnkf9^&crEZhZU~z2J=y<#Me(E;?Gx* zu^$t5SUH=EX1o`l2%Xhx4MIx7qz75lbOI%+j zxsk8%twkiF8$(7o9Mx-Ams@m@(p6V#}) zidZw=#OMAbcwIwD!dcHmm$HQ4>JtYerVs(HLJgOf|u#yht zWBj-i7eWuHeocSd3Pi3bT^sCAHg=7DZ0<$LREgKGi~d2RiCfeX$sCuQ-UiEKt@4jUm3z_gFVom^L)AR82BX zbpGbZQO+WfYv-MzQ#R=ZG(=UsXC>AP4=$9+ta&5F6QmrfZ>A$#EO{@X_GQRtxTckyiR4ui^`$*<$k*?rtUj#e&ObT#R6*{E~`sJnBKEjpg0N=t{uvamsM26% zhC&NZ{VK#MhtJ7NX=B9#H>(XwBY;6{c>F;7#D>DZ^>&|d3L^KT8yB+kxAKyb5mL5Q zk7yHDKc48Lo-2VcFI{e%hjm!!*-4CH`V(Y37U&rRg&p6EmM`=@M; zib49tS91?gqb-t0TDh6Jbr;Wbo=F9~?jL?<$|Wb!IgchmGE-RY0+^zjdD__9&tB$xLt@M+rcz_q$v)xpX=0q zURh~P8Aa&HOyzy_RykCr1nJWkBku~A-;J`usT#r?ObhV5zoF_rT8;1fA0Ey6N0KV) zo^>2A!JGY($1VRz{Fbs{8rrX`?nglr0@%&o?&Gm@*ZcgcPqRz0*(BQ|h#CB*BaImw zE~6~F$h-cm1DRakQ<}r%)OFiGzi;L0o!CQR^tcg;g~7g`BR5Z`mAdk^U*)1CCKIR! z_n4fYv>)w?=`T}=2K~b;5%Lu#sa>%1#dp3P$W{;TCEfZ(iuci9;kRuhvFF8!f%~^} z-v+icrxzZt`WYoLgPke`u0cgiyTYP~RNhzu(=WICFKgaU$E^lxSK>Guft5E%OYw-X zjsfXfu8xXOWxtK>sZ$`{OW^#4h{QAd(}i3Gc3>Gs^q4t1?|oC}+R_42;o>9zUdFOb zZm!9|`1NtGsoGSgTbbhWWN#o0$GWFugjx=_*b_eFxvDII-X4g!ZU^BP#a{J=hnz!Y z`imyf7!q2qchnvVrfS)~q~qspuse*d9O#cu2PShg%}FKfS(na#%zJt@DW+GE@cz4d zzz!B2cH7gAec~8CsN?8RCc>1j%|3CPnbzh*hB8ax%dIkw;PZ3nvIDJo@ms0cUOB($ z6xf?2u<1Vy?f|Zx5b=ku37iD)Pue0_IO%s6RkpLAaIxN$IUP8COC-V8!IDaixGh#| z;55|vF3SZRFi`O{m1Bs1|5k{1LumK4egZV><299FG>||O5PzS<-1H+dc2JgJXS5_e zxo>dcwB7dlZPCh&c_h+l*N|408n&P1#C#L*#=utxK|B&@3qy9jS{vLLA#}@5D zHeE+zw<|lJ5?>Hh(Ansb*5^{xO>#X|h|f%ChmtDgm3#ZJWZJOSk@GV&B4WbETrrQr zS&uP8E4Vm84t?<#8m@Nvd71plX1%kZr|}>naXQDGJ;hmVaHQc_0u6_lQi}3LDI}2? zIr%?CDkLGG*WcJ@IvXwJxGDU-mZJSyDQ^}R^lx{dVo^(BrKLIh=@Qpv3}2P4`GfWL zb^9$+rFE!4TSo^xOP-UMjc>vjbEV3|_ko-JhCbI>W~s^w>y8JVdXkGYbL?0egfn&B zz`!rZdTTy2q1)qz_(9u73olL5w1F^rMSoWUK)rrJ1F)htZJ1{$%)DX8nHbVr9Pu}SqkoTSPX7S(taUfh#Yk*EdJ7VpGpvJioC^JAoQn#wo6n0Puq8cgOAo8VX>!OgChW2Y z6Na0Q(Z*)?o#N(sa+D2drOnl5Fx=YGjQ66W9;TIrb=!cQ|A4TJe@AcST7++ALJ;)g zj3#73u6d)RG4c;tQ4nhJnME8npYuJOWO4Fd~A*zal*A#XD*L!DESo9S?fU8?7SOLG>kvhp zIqpLzTPw*|uf=A;u`e!NC0$2B_s3GYz(l)V2DH7A)AZkO0qDox$OUiX1~>Uio}gZa zTPiCjD%)I**I3`oS#;kdIZ$}~sLI(O=Cp{e-l(-9biAA3t9^=$_slG^;d&V!m-E*D zV7iqjIae<_;bHa^V;uqKvN`sylh>Y5lUb@^dmyoLZRRp;!DYR(B{JPzU+jeZ=^DD@ zMy@VJajK~%0;TsWW5_?-A%Qdd&wweYba!LQ#!BC?@2Mp`KCBiCdO8nkwQ7Mb$==J+ zz0AMsZ9f4KjBTyCjeSx@SiiR+@+i9%koO*xFbYrj03c^D_*h)UoXUK<-8>Am<#Gv6 z)KPdl;C#w#gi=ALQD?x28Rz%~SC7T@&dhW}q?WyNvk6@FLuh`9xmdymOy2)kEG8Mz z0b8y{<^tP25H+A%&gfopUQ$7$J3eR5zfI>JmOC4ncwmliO<5tAy#6(B8HsmT zG}WVC@B27BK4GOe3Nw+xaaW<#s*Z72oh)*9HDi9nqG_;OQl91qkrykbdUO;+_Sb(W z1<}o{t?8+T=G(V?g30&VHUd+qkj93*0nAc>P++lg=<|mA=}{wVQQ2NUp+NRhaO41{ zvm#7{u`*WvEYTU!RkB84a;m3=(zd&tmAL{!?zty%+4Jq*$D(mDSd^#UP$O0g)`uP> zZvP+)(V6iKXcA9@{8xxnRmG z5hKeiLlI73Ux2OXR2UK!^LXwo9?9h?$?f@}a%p9LPu-@ytsOt*y1N*=lh0&Uf8(uq zZ35d-6;ELctAiLrJ&nwP%6yij*nfa`_wW#tafCz?o}QjsT3W9N&Q!3=hx!Udc3D_N zzENtNv-S775lN@=7gs(D61fwpy8c(L6n^(%URHbhWi?43#~S94j`+3L4&vsWM#xo& zCO=Q6Vf`Nq01<@$lKwUC=V>H3$?S#(i7^njFes$gxjdVdc+F#LG3P7GLnMvXT~l|$ zFkf17{T;bcK&}}@^pVoOho`G#39$}EU&r@+XmstU7!3HqFF3m|C)Wg~84OcuA>~Q6 z*%35JW*iEAp}aOYzmPI%%Nep-XKE;hR=2F_0g4Uy&BYJst)hW6JECUUMszk6|G=4{ z{QZOf)Xd~oWu5fg4B{W?Bk0`9YV5|6bPGFSscw$V^LMuY{!Neku58cfQA|X-@S+qY z5qP$jCWse`FRuV9ewmx1J|U;s+JZ^Lpb^d&71`Wq)7g*a4w>$DU{e9PmM<%brwJZ@ zeRh^Q63S_bng0f>+m9}+l2GWgsq(nH89e$;G*N*f?UJTsMkVGSH4G%0KcUXgf(d0m zX-cL5b^vDX59%VV!}$*6hc~qcm;&Hr_Ugeol2vF$vg+vQaIkS?l6d?H$4SbyI3WQ= zmrxkaD*Hk8NHF3G#;bHX!2zM57Pm*-IfVf7sYaAu&{iI(!nt3RC_ZaYAktn|BKe|2M8IW88V3(3oQjq9oootHo zJXBZ~<7JlPUTm#fYMAIn*g-Hg!e9UroMwuS`Olo=Nz@b3mm>gh^r;E@YmwX5paHi@ zxolsUZdxe!8hhux96IH)T}}&i;nZD}#R_%SV$w{&8x?NZz>*?Lb(C~P0=f`o>iPtn zcs-S_cgC`;C7}PQ3D>{c$kUS9a}p2sScepV|N6z`Skw*$?XTaLMWPA0!-P6sK|*^p zd5DG)l2Sxmm~+1%q43z}*rf5fq^hE)vZO%KOeHvdU|V~{z|B4~zgRIxLo9X6cw3^S z!XoGe(@Uzp5I$i=AwW&I{D*oShN)%?7`Ad3I_Xs6+!VYn^-0@sQ>So?6gAMv4>VGUrb|C&EAY(rmZb6c ze3Pm#aId#kcr+{{2NhRm)3U;joz}6HH^MxicooQSJWcOXSGt_=KU_$>u0P}l1H)0Q z2qCiFm2sX_T(HPI3F_yl?a@r%HJ!xcB+$^WE8oaMVQitvRb_k^6<2XMh@>g5-Kvv$ zf~`W-jmC+^mg^A|CsgTDRUnM}NnZg;l|7GX@XoLLa0bE)D zKu4WNP1U5;`rL;f_gZTqyOXbXw$l=%3Z%_D$wF`hK5NA7`F?W zDB#UNx$zP$el~sdB8+)6UuPn1RG%nQD6*jC`_q28DTnRvrGPiukMQQs_t8GDgjO0O z6)V4LX2=_A-Q&2NkVsTXNl8RR1PGr6-3XFdX%?^`^e}D)gt&2)M|m2$K`4ar$a#1Q zpL9ZT#NC60EsxB|lu#V14Q_=gu4$(neAVI-D{Z-g4@3&Jx1uv8LXUO`$4us$967RA zG|573;zaU97nuZ=njD`de=F^#i4^x?Y`VofzHV6nyp%j(hR)l4v>y2-v@ZDtaPTGa zk8;rIRz&j6vK?2IQc_NI&!waC!w7xbHn=T*3_Hrs$q_Zy?-!B?!xJ6I?R|Kzi^y8S zr!wBjk*YXv%5yBnW4Z)M?kIN0zmtHC`M=zj?$1QWUb&bl$X5sD)HN_GGua!OVBg@8gA?bw8uw`GX6$BJU-j*)Aj=2TUQHm5two zw- zhkMsUF|Uw-%jb2>L0q|2#*v;UHjBgmfU^C;gS!CCn&jMVW4RO}UKc2UE94KJ(2Xr` zVfc5?)7cnC8PwUgmM!)aj{De+-2go$4w(xCG7g;M!UuCLY^^}o4jlP}83v%0I} zwyDeSu(?ffT{WA^dM8q9LYY%tz~5@gStcneLecvXQ?(D z`PMQQ{7F5VL+6K%mtm51%GG90xXt7CX}#|5WCi2Hv~<(XMyIE<*0!M!&0lx^kUj{> zL3}Z?E=N92i2Pbd#KWhE1#b^Nmd@LlMIvjUrK!1C4>~knQ?|Fi0MInFImy#VzB8I? z>;p*S0MgP5|HBF1HGt-sJ2}^!=K5V=!7sAL^nG&$F2-Zsx6<0XdIqVA6?|5cre>XCMb%gL&Dzh2QHg1-YjQH0y+WC0IbJnf7V&a{PTe|)kB6tF>CO?CiX7S` z!kMRLg7H^BN;ws;ky*VNmnOG_Q8`8VN0E7Y{d$5^0b|Ylk~xqJf%rZtbBXGHX`U*r z_OW&;KlR5}p%+nM{*YE7&%XKQ0-=feLnXeWrTONqDMxIrX-8AjLW@pcgWbWXft=+X z*C#bHm2<xuelUK{=%j!B35 zoVd@%V)&BNps8W|&@x46RsFkUFaGMVM(ozB__m{xfMxyT=H?4w4hP zTKb8L0RoQ14-BFir^)?l5AfVeE~qE)GQos4jIx*K)d?~vW-{R4|9xi(%gz&)*4>x) zQJFLq^4VC~<7#q!?8O-Jttc2c6q*p2zX#N>-?`qT8gdUObrJ$$ji?8%_(@s;^`l&F zJb%Z4Baz1g7a*k@Q)WT?a|v+W5C{xjRn;Vb>+eUQEG7tY_26Vln1I)LHPG#(s+=_9 z&PUiZ@b$dygK+sv&hYC#yiTeIw+a9%<3{amzS9XCtsriAa9hKm^R^^uL)iLBX89R) zv!3{kyLM#of5QoNL-kme?pd0(_DWu(GO$oH<=N zojLZFfcjK*^#A<^Mj4U*6xM%g1%4HYchPri z0_SEuy~_P)e5>5jJQF6G4}Voa;tJ7HEA`V*7GiyMb#-y^9ATZlyF{6Wm6cW3fW0Xb z*n`;bz7nGRU84^OtIdw@3%5&DO94I~-R@Qj^$nj#x8S)SK7^eKOFxFV3I7V3j4^aA zRpNlpDBTD(N=tGt{8!)LP?ros0r9u^j87tZi){YIwe*>Ad^TyrRj#y>Tn^^C`r^wTgxX zyDnSKGPMGXFD?-OX-(e2zs;ve?b6)n?ysgvqK&~Z%IGFgs{an*C&U1~ib41ErfetE zVE3Ew3k+?P0VeC;>oqX#+VDIAL-stybg@~6lwzFfZ-JFA?`~942^Q4w5^Q2+}ulf{{NAW+ESp9LOn@1L&*Ogd= z1g7Q}+K+zKkh~S}*>Hj}SLD@K_|g8j($frpoym{qKlpBcZ;!7f8};wyBMj#!OSNej z2N=co0~u=PHt_Qgw`W9*OlRzEJP*k!DJ8WOvsqv*gm;$OuR+$Ob+^ zP3TpRfQoi>{Ge#hSU)}fTP$uslrb5ABk^xI5n6{%X@{AdpD&>1vG3b-|~8w;D9%& zL%z=I=T{2`p8znrz0L~;0o>Li(B^mNCM%rD=N>aN1pnr*XGp`Zwm8!&UCa`P+uRqf zOwVp~xJWgQvRPSMpKhEbRLr3)x4Re_^|s6L{9UH3AP9iOfSc%AP|&9>V8T*zhu!D@ z++-E{Q`M@(A=;}Cj{shya)aG<_i7hiI$fudKkvs>8b{1+ZCz2T!HInCe;uB0_9Ank zh5R*^tVIZ5qlScpbSK;f63|B54Il>S1h`67Y3F2P{?kSl7=)Lox}U^nxPQ8)2Xt*U z4mN6bbxQmKus53Hsv`6P=#73|fJuyeXlfp)D)Z|3vknwF79QHs+06 zx32al?x$1L!U3fXMiH0Jm8hvB|9szBY!H~u^%^JYp>^Bb6k3H%EIYk^Z@J-nG-~Y* zNo|bH-o9yVZGCunh>)vRrNO4<;N%4M$#u}Z*xB1)*Ai}*6LmScD0X?C-#4dPv<-E2 zKms-JbGWv>9bi$(KU1MZc1r)6ot+H{i=yt?UWrrS4RG24LNsa;ak`&b02$Zy@xswf zPcWitDeYcVWTYlDXf-31&CJqLNq^qW+uPg2V;Pj5o?a-MUb6+*XjvJaSbbX?;X2~s z&^I#R|MPAJ2Ev?DH91AlHvP@b%}fsh?w32=fw1MOnCJ}Yz=RcHDDaGFE z$`a6r?;J7#isgHx=4G1v3nl<|ngqXA`QE4cmRQAU_3)B8-`Jdt{ERtD>LZO36;ufY zaje`q1dS`p+DbE((%knE>^O5Ymw83hlWz4Su{jJR|D__FnhA&;9tJFD@Q}&906-0!o4KS66U_sHdI`?CtFxD9TZ- z5iaIpVKJ1O-DaO}zDGJ^Zpn3iYpolhyj{P2Bv*5en!3Keo+}=uc?#q&b+qMp={R-5 zbuwkDshX)npk?i4L)F>&8JIf5p`tm`&#g`2s$mw+Ut|bMRZFL$q4PCY$TUMr>iKh2 zN`OCseCd9H2i4WTV1klr8Tv?xe}zXa)1yKrb4#JT+_67bQ)_=2x}?6_g07_AQ2EVi z063g2`@J@ISJ-J$++yVLmu>^%8P$VN{qZZ~`Go3bmZa9lKhV{R~7lh2cf>|i!IyVrza zV(t$f^;W2z!+)_xi0;RYZPivJ_5X4vV{DRcn&UB6n^$N3Bm;y+c1@m-uK~FRAzDA) zc@LlSHKylL0(&a~J<;m`LK;928R5AK{~Myfp%gJmx+NnLB42|@RvD0-7^k}rM7*Xi z#qiPk`5&bQUnP=P1tLMscfRd^^UVU0KruJp=v5r5QXu!zFwL<4H=hMCUh&j4^Q$;< zDnK$+#yZjTIv)u;Fy5@$A>O~BMgs)3`DD}8e~~8z7|){4Dg0HO|Nn3Q1;UWbS#2h? S{wo;pBOxX$TJb?Y;Qs*=_DysE diff --git a/hassio/src/addon-store/hassio-addon-repository.ts b/hassio/src/addon-store/hassio-addon-repository.ts index 8d55dbcb8c..56c9ecaadf 100644 --- a/hassio/src/addon-store/hassio-addon-repository.ts +++ b/hassio/src/addon-store/hassio-addon-repository.ts @@ -6,10 +6,8 @@ import { atLeastVersion } from "../../../src/common/config/version"; import { navigate } from "../../../src/common/navigate"; import { caseInsensitiveStringCompare } from "../../../src/common/string/compare"; import "../../../src/components/ha-card"; -import { - HassioAddonInfo, - HassioAddonRepository, -} from "../../../src/data/hassio/addon"; +import { HassioAddonRepository } from "../../../src/data/hassio/addon"; +import { StoreAddon } from "../../../src/data/supervisor/store"; import { Supervisor } from "../../../src/data/supervisor/supervisor"; import { HomeAssistant } from "../../../src/types"; import "../components/hassio-card-content"; @@ -23,20 +21,16 @@ class HassioAddonRepositoryEl extends LitElement { @property({ attribute: false }) public repo!: HassioAddonRepository; - @property({ attribute: false }) public addons!: HassioAddonInfo[]; + @property({ attribute: false }) public addons!: StoreAddon[]; @property() public filter!: string; - private _getAddons = memoizeOne( - (addons: HassioAddonInfo[], filter?: string) => { - if (filter) { - return filterAndSort(addons, filter); - } - return addons.sort((a, b) => - caseInsensitiveStringCompare(a.name, b.name) - ); + private _getAddons = memoizeOne((addons: StoreAddon[], filter?: string) => { + if (filter) { + return filterAndSort(addons, filter); } - ); + return addons.sort((a, b) => caseInsensitiveStringCompare(a.name, b.name)); + }); protected render(): TemplateResult { const repo = this.repo; diff --git a/hassio/src/addon-store/hassio-addon-store.ts b/hassio/src/addon-store/hassio-addon-store.ts index 4d1f5ba1bf..2c373a4e9f 100644 --- a/hassio/src/addon-store/hassio-addon-store.ts +++ b/hassio/src/addon-store/hassio-addon-store.ts @@ -14,15 +14,15 @@ import memoizeOne from "memoize-one"; import { atLeastVersion } from "../../../src/common/config/version"; import { fireEvent } from "../../../src/common/dom/fire_event"; import { navigate } from "../../../src/common/navigate"; -import "../../../src/components/search-input"; import { extractSearchParam } from "../../../src/common/url/search-params"; import "../../../src/components/ha-button-menu"; import "../../../src/components/ha-icon-button"; +import "../../../src/components/search-input"; import { - HassioAddonInfo, HassioAddonRepository, reloadHassioAddons, } from "../../../src/data/hassio/addon"; +import { StoreAddon } from "../../../src/data/supervisor/store"; import { Supervisor } from "../../../src/data/supervisor/supervisor"; import "../../../src/layouts/hass-loading-screen"; import "../../../src/layouts/hass-subpage"; @@ -66,10 +66,10 @@ class HassioAddonStore extends LitElement { protected render(): TemplateResult { let repos: TemplateResult[] = []; - if (this.supervisor.addon.repositories) { + if (this.supervisor.store.repositories) { repos = this.addonRepositories( - this.supervisor.addon.repositories, - this.supervisor.addon.addons, + this.supervisor.store.repositories, + this.supervisor.store.addons, this._filter ); } @@ -145,7 +145,7 @@ class HassioAddonStore extends LitElement { private addonRepositories = memoizeOne( ( repositories: HassioAddonRepository[], - addons: HassioAddonInfo[], + addons: StoreAddon[], filter?: string ) => repositories.sort(sortRepos).map((repo) => { diff --git a/hassio/src/addon-view/hassio-addon-dashboard.ts b/hassio/src/addon-view/hassio-addon-dashboard.ts index 6f4580870f..98a6c8a843 100644 --- a/hassio/src/addon-view/hassio-addon-dashboard.ts +++ b/hassio/src/addon-view/hassio-addon-dashboard.ts @@ -12,15 +12,17 @@ import { navigate } from "../../../src/common/navigate"; import { extractSearchParam } from "../../../src/common/url/search-params"; import "../../../src/components/ha-circular-progress"; import { + fetchAddonInfo, fetchHassioAddonInfo, fetchHassioAddonsInfo, HassioAddonDetails, } from "../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../src/data/hassio/common"; import { - fetchHassioSupervisorInfo, - setSupervisorOption, -} from "../../../src/data/hassio/supervisor"; + addStoreRepository, + fetchSupervisorStore, + StoreAddonDetails, +} from "../../../src/data/supervisor/store"; import { Supervisor } from "../../../src/data/supervisor/supervisor"; import { showConfirmationDialog } from "../../../src/dialogs/generic/show-dialog-box"; import "../../../src/layouts/hass-error-screen"; @@ -45,7 +47,9 @@ class HassioAddonDashboard extends LitElement { @property({ attribute: false }) public route!: Route; - @property({ attribute: false }) public addon?: HassioAddonDetails; + @property({ attribute: false }) public addon?: + | HassioAddonDetails + | StoreAddonDetails; @property({ type: Boolean }) public narrow!: boolean; @@ -173,10 +177,10 @@ class HassioAddonDashboard extends LitElement { const requestedAddon = extractSearchParam("addon"); const requestedAddonRepository = extractSearchParam("repository_url"); if (requestedAddonRepository) { - const supervisorInfo = await fetchHassioSupervisorInfo(this.hass); + const storeInfo = await fetchSupervisorStore(this.hass); if ( - !supervisorInfo.addons_repositories.find( - (repo) => repo === requestedAddonRepository + !storeInfo.repositories.find( + (repo) => repo.source === requestedAddonRepository ) ) { if ( @@ -197,12 +201,7 @@ class HassioAddonDashboard extends LitElement { } try { - await setSupervisorOption(this.hass, { - addons_repositories: [ - ...supervisorInfo.addons_repositories, - requestedAddonRepository, - ], - }); + await addStoreRepository(this.hass, requestedAddonRepository); } catch (err: any) { this._error = extractApiErrorMessage(err); } @@ -245,6 +244,8 @@ class HassioAddonDashboard extends LitElement { if (path === "uninstall") { window.history.back(); + } else if (path === "install") { + this.addon = await fetchHassioAddonInfo(this.hass, this.addon!.slug); } else { await this._routeDataChanged(); } @@ -262,8 +263,7 @@ class HassioAddonDashboard extends LitElement { return; } try { - const addoninfo = await fetchHassioAddonInfo(this.hass, addon); - this.addon = addoninfo; + this.addon = await fetchAddonInfo(this.hass, this.supervisor, addon); } catch (err: any) { this._error = `Error fetching addon info: ${extractApiErrorMessage(err)}`; this.addon = undefined; diff --git a/hassio/src/addon-view/hassio-addon-router.ts b/hassio/src/addon-view/hassio-addon-router.ts index fe0bad9c00..66cf1fb8af 100644 --- a/hassio/src/addon-view/hassio-addon-router.ts +++ b/hassio/src/addon-view/hassio-addon-router.ts @@ -1,5 +1,6 @@ import { customElement, property } from "lit/decorators"; import { HassioAddonDetails } from "../../../src/data/hassio/addon"; +import { StoreAddonDetails } from "../../../src/data/supervisor/store"; import { Supervisor } from "../../../src/data/supervisor/supervisor"; import { HassRouterPage, @@ -20,7 +21,9 @@ class HassioAddonRouter extends HassRouterPage { @property({ attribute: false }) public supervisor!: Supervisor; - @property({ attribute: false }) public addon!: HassioAddonDetails; + @property({ attribute: false }) public addon!: + | HassioAddonDetails + | StoreAddonDetails; protected routerOptions: RouterOptions = { defaultPage: "info", diff --git a/hassio/src/addon-view/info/hassio-addon-info.ts b/hassio/src/addon-view/info/hassio-addon-info.ts index 71a0a6f225..6675d7fd55 100644 --- a/hassio/src/addon-view/info/hassio-addon-info.ts +++ b/hassio/src/addon-view/info/hassio-addon-info.ts @@ -59,7 +59,10 @@ import { fetchHassioStats, HassioStats, } from "../../../../src/data/hassio/common"; -import { StoreAddon } from "../../../../src/data/supervisor/store"; +import { + StoreAddon, + StoreAddonDetails, +} from "../../../../src/data/supervisor/store"; import { Supervisor } from "../../../../src/data/supervisor/supervisor"; import { showAlertDialog, @@ -100,7 +103,9 @@ class HassioAddonInfo extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property({ attribute: false }) public addon!: HassioAddonDetails; + @property({ attribute: false }) public addon!: + | HassioAddonDetails + | StoreAddonDetails; @property({ attribute: false }) public supervisor!: Supervisor; @@ -143,7 +148,7 @@ class HassioAddonInfo extends LitElement { > ` : ""} - ${!this.addon.protected + ${"protected" in this.addon && !this.addon.protected ? html`

- ${this.addon.state === "started" + ${this.addon.version && this.addon.state === "started" ? html` ${this.supervisor.localize("addon.dashboard.hostname")} @@ -669,7 +674,7 @@ class HassioAddonInfo extends LitElement { } private async _loadData(): Promise { - if (this.addon.state === "started") { + if ("state" in this.addon && this.addon.state === "started") { this._metrics = await fetchHassioStats( this.hass, `addons/${this.addon.slug}` @@ -717,18 +722,22 @@ class HassioAddonInfo extends LitElement { } private get _computeIsRunning(): boolean { - return this.addon?.state === "started"; + return (this.addon as HassioAddonDetails)?.state === "started"; } private get _pathWebui(): string | null { - return ( - this.addon.webui && - this.addon.webui.replace("[HOST]", document.location.hostname) + return (this.addon as HassioAddonDetails).webui!.replace( + "[HOST]", + document.location.hostname ); } private get _computeShowWebUI(): boolean | "" | null { - return !this.addon.ingress && this.addon.webui && this._computeIsRunning; + return ( + !this.addon.ingress && + (this.addon as HassioAddonDetails).webui && + this._computeIsRunning + ); } private _openIngress(): void { @@ -754,7 +763,8 @@ class HassioAddonInfo extends LitElement { private async _startOnBootToggled(): Promise { this._error = undefined; const data: HassioAddonSetOptionParams = { - boot: this.addon.boot === "auto" ? "manual" : "auto", + boot: + (this.addon as HassioAddonDetails).boot === "auto" ? "manual" : "auto", }; try { await setHassioAddonOption(this.hass, this.addon.slug, data); @@ -776,7 +786,7 @@ class HassioAddonInfo extends LitElement { private async _watchdogToggled(): Promise { this._error = undefined; const data: HassioAddonSetOptionParams = { - watchdog: !this.addon.watchdog, + watchdog: !(this.addon as HassioAddonDetails).watchdog, }; try { await setHassioAddonOption(this.hass, this.addon.slug, data); @@ -798,7 +808,7 @@ class HassioAddonInfo extends LitElement { private async _autoUpdateToggled(): Promise { this._error = undefined; const data: HassioAddonSetOptionParams = { - auto_update: !this.addon.auto_update, + auto_update: !(this.addon as HassioAddonDetails).auto_update, }; try { await setHassioAddonOption(this.hass, this.addon.slug, data); @@ -820,7 +830,7 @@ class HassioAddonInfo extends LitElement { private async _protectionToggled(): Promise { this._error = undefined; const data: HassioAddonSetSecurityParams = { - protected: !this.addon.protected, + protected: !(this.addon as HassioAddonDetails).protected, }; try { await setHassioAddonSecurity(this.hass, this.addon.slug, data); @@ -842,7 +852,7 @@ class HassioAddonInfo extends LitElement { private async _panelToggled(): Promise { this._error = undefined; const data: HassioAddonSetOptionParams = { - ingress_panel: !this.addon.ingress_panel, + ingress_panel: !(this.addon as HassioAddonDetails).ingress_panel, }; try { await setHassioAddonOption(this.hass, this.addon.slug, data); @@ -870,7 +880,7 @@ class HassioAddonInfo extends LitElement { showHassioMarkdownDialog(this, { title: this.supervisor.localize("addon.dashboard.changelog"), - content: extractChangelog(this.addon, content), + content: extractChangelog(this.addon as HassioAddonDetails, content), }); } catch (err: any) { showAlertDialog(this, { diff --git a/hassio/src/backups/hassio-backups.ts b/hassio/src/backups/hassio-backups.ts index c8e8e5e30c..99d2869f8b 100644 --- a/hassio/src/backups/hassio-backups.ts +++ b/hassio/src/backups/hassio-backups.ts @@ -98,9 +98,8 @@ export class HassioBackups extends LitElement { if (backup.content.addons.length !== 0) { for (const addon of backup.content.addons) { content.push( - this.supervisor.supervisor.addons.find( - (entry) => entry.slug === addon - )?.name || addon + this.supervisor.addon.addons.find((entry) => entry.slug === addon) + ?.name || addon ); } } diff --git a/hassio/src/components/hassio-filter-addons.ts b/hassio/src/components/hassio-filter-addons.ts index ddb56188aa..6daa1ddbad 100644 --- a/hassio/src/components/hassio-filter-addons.ts +++ b/hassio/src/components/hassio-filter-addons.ts @@ -1,8 +1,8 @@ import Fuse from "fuse.js"; -import { HassioAddonInfo } from "../../../src/data/hassio/addon"; +import { StoreAddon } from "../../../src/data/supervisor/store"; -export function filterAndSort(addons: HassioAddonInfo[], filter: string) { - const options: Fuse.IFuseOptions = { +export function filterAndSort(addons: StoreAddon[], filter: string) { + const options: Fuse.IFuseOptions = { keys: ["name", "description", "slug"], isCaseSensitive: false, minMatchCharLength: 2, diff --git a/hassio/src/components/supervisor-backup-content.ts b/hassio/src/components/supervisor-backup-content.ts index 45faee620f..dd5c38a178 100644 --- a/hassio/src/components/supervisor-backup-content.ts +++ b/hassio/src/components/supervisor-backup-content.ts @@ -96,7 +96,7 @@ export class SupervisorBackupContent extends LitElement { : ["ssl", "share", "media", "addons/local"] ); this.addons = _computeAddons( - this.backup ? this.backup.addons : this.supervisor?.supervisor.addons + this.backup ? this.backup.addons : this.supervisor?.addon.addons ); this.backupType = this.backup?.type || "full"; this.backupName = this.backup?.name || ""; diff --git a/hassio/src/dashboard/hassio-addons.ts b/hassio/src/dashboard/hassio-addons.ts index 4e685ef361..cc855ccc69 100644 --- a/hassio/src/dashboard/hassio-addons.ts +++ b/hassio/src/dashboard/hassio-addons.ts @@ -24,7 +24,7 @@ class HassioAddons extends LitElement { ? html`

${this.supervisor.localize("dashboard.addons")}

` : ""}
- ${!this.supervisor.supervisor.addons?.length + ${!this.supervisor.addon.addons.length ? html`
@@ -34,7 +34,7 @@ class HassioAddons extends LitElement {
` - : this.supervisor.supervisor.addons + : this.supervisor.addon.addons .sort((a, b) => caseInsensitiveStringCompare(a.name, b.name)) .map( (addon) => html` diff --git a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts index d42cb05a4b..82325db788 100644 --- a/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts +++ b/hassio/src/dialogs/repositories/dialog-hassio-repositories.ts @@ -15,15 +15,18 @@ import "../../../../src/components/ha-circular-progress"; import { createCloseHeading } from "../../../../src/components/ha-dialog"; import "../../../../src/components/ha-icon-button"; import { - fetchHassioAddonsInfo, HassioAddonInfo, HassioAddonRepository, } from "../../../../src/data/hassio/addon"; import { extractApiErrorMessage } from "../../../../src/data/hassio/common"; -import { setSupervisorOption } from "../../../../src/data/hassio/supervisor"; import { haStyle, haStyleDialog } from "../../../../src/resources/styles"; import type { HomeAssistant } from "../../../../src/types"; import { HassioRepositoryDialogParams } from "./show-dialog-repositories"; +import { + addStoreRepository, + fetchStoreRepositories, + removeStoreRepository, +} from "../../../../src/data/supervisor/store"; @customElement("dialog-hassio-repositories") class HassioRepositoriesDialog extends LitElement { @@ -58,7 +61,13 @@ class HassioRepositoriesDialog extends LitElement { private _filteredRepositories = memoizeOne((repos: HassioAddonRepository[]) => repos - .filter((repo) => repo.slug !== "core" && repo.slug !== "local") + .filter( + (repo) => + repo.slug !== "core" && // The core add-ons repository + repo.slug !== "local" && // Locally managed add-ons + repo.slug !== "a0d7b954" && // Home Assistant Community Add-ons + repo.slug !== "5c53de3b" // The ESPHome repository + ) .sort((a, b) => caseInsensitiveStringCompare(a.name, b.name)) ); @@ -78,7 +87,7 @@ class HassioRepositoriesDialog extends LitElement { const repositories = this._filteredRepositories(this._repositories); const usedRepositories = this._filteredUsedRepositories( repositories, - this._dialogParams.supervisor.supervisor.addons + this._dialogParams.supervisor.addon.addons ); return html` { try { - const addonsinfo = await fetchHassioAddonsInfo(this.hass); - - this._repositories = addonsinfo.repositories; + this._repositories = await fetchStoreRepositories(this.hass); fireEvent(this, "supervisor-collection-refresh", { collection: "addon" }); } catch (err: any) { @@ -231,14 +238,9 @@ class HassioRepositoriesDialog extends LitElement { return; } this._processing = true; - const repositories = this._filteredRepositories(this._repositories!); - const newRepositories = repositories.map((repo) => repo.source); - newRepositories.push(input.value); try { - await setSupervisorOption(this.hass, { - addons_repositories: newRepositories, - }); + await addStoreRepository(this.hass, input.value); await this._loadData(); input.value = ""; @@ -250,19 +252,8 @@ class HassioRepositoriesDialog extends LitElement { private async _removeRepository(ev: Event) { const slug = (ev.currentTarget as any).slug; - const repositories = this._filteredRepositories(this._repositories!); - const repository = repositories.find((repo) => repo.slug === slug); - if (!repository) { - return; - } - const newRepositories = repositories - .map((repo) => repo.source) - .filter((repo) => repo !== repository.source); - try { - await setSupervisorOption(this.hass, { - addons_repositories: newRepositories, - }); + await removeStoreRepository(this.hass, slug); await this._loadData(); } catch (err: any) { this._error = extractApiErrorMessage(err); diff --git a/pyproject.toml b/pyproject.toml index 7ece90691f..62a5a7f846 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20220601.0" +version = "20220629.0" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md" diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000000..e14c0e7b08 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,2 @@ +# Setuptools v62.3 doesn't support editable installs with just 'pyproject.toml' (PEP 660). +# Keep this file until it does! diff --git a/src/common/entity/domain_icon.ts b/src/common/entity/domain_icon.ts index 498b882a4e..82c10c6b48 100644 --- a/src/common/entity/domain_icon.ts +++ b/src/common/entity/domain_icon.ts @@ -8,6 +8,7 @@ import { mdiCalendar, mdiCast, mdiCastConnected, + mdiChartSankey, mdiCheckCircleOutline, mdiClock, mdiCloseCircleOutline, @@ -24,6 +25,7 @@ import { mdiPowerPlug, mdiPowerPlugOff, mdiRestart, + mdiSwapHorizontal, mdiToggleSwitchVariant, mdiToggleSwitchVariantOff, mdiWeatherNight, @@ -153,6 +155,12 @@ export const domainIconWithoutDefault = ( ? FIXED_DOMAIN_ICONS[domain] : mdiWeatherNight; + case "switch_as_x": + return mdiSwapHorizontal; + + case "threshold": + return mdiChartSankey; + case "update": return compareState === "on" ? updateIsInstalling(stateObj as UpdateEntity) diff --git a/src/common/number/clamp.ts b/src/common/number/clamp.ts index 3b2488afe8..5591885f2e 100644 --- a/src/common/number/clamp.ts +++ b/src/common/number/clamp.ts @@ -5,6 +5,6 @@ export const clamp = (value: number, min: number, max: number) => export const conditionalClamp = (value: number, min?: number, max?: number) => { let result: number; result = min ? Math.max(value, min) : value; - result = max ? Math.min(value, max) : value; + result = max ? Math.min(result, max) : result; return result; }; diff --git a/src/components/chart/ha-chart-base.ts b/src/components/chart/ha-chart-base.ts index 170d933463..84c4132849 100644 --- a/src/components/chart/ha-chart-base.ts +++ b/src/components/chart/ha-chart-base.ts @@ -11,6 +11,8 @@ import { classMap } from "lit/directives/class-map"; import { styleMap } from "lit/directives/style-map"; import { clamp } from "../../common/number/clamp"; +export const MIN_TIME_BETWEEN_UPDATES = 60 * 5 * 1000; + interface Tooltip extends TooltipModel { top: string; left: string; @@ -324,6 +326,9 @@ export default class HaChartBase extends LitElement { width: 16px; flex-shrink: 0; box-sizing: border-box; + margin-inline-end: 6px; + margin-inline-start: initial; + direction: var(--direction); } .chartTooltip .bullet { align-self: baseline; @@ -332,6 +337,9 @@ export default class HaChartBase extends LitElement { :host([rtl]) .chartTooltip .bullet { margin-right: inherit; margin-left: 6px; + margin-inline-end: inherit; + margin-inline-start: 6px; + direction: var(--direction); } .chartTooltip { padding: 8px; diff --git a/src/components/chart/state-history-chart-line.ts b/src/components/chart/state-history-chart-line.ts index f1ca3f4a19..85bb575985 100644 --- a/src/components/chart/state-history-chart-line.ts +++ b/src/components/chart/state-history-chart-line.ts @@ -8,7 +8,7 @@ import { } from "../../common/number/format_number"; import { LineChartEntity, LineChartState } from "../../data/history"; import { HomeAssistant } from "../../types"; -import "./ha-chart-base"; +import { MIN_TIME_BETWEEN_UPDATES } from "./ha-chart-base"; const safeParseFloat = (value) => { const parsed = parseFloat(value); @@ -34,6 +34,8 @@ class StateHistoryChartLine extends LitElement { @state() private _chartOptions?: ChartOptions; + private _chartTime: Date = new Date(); + protected render() { return html` { diff --git a/src/components/chart/state-history-chart-timeline.ts b/src/components/chart/state-history-chart-timeline.ts index 519ae60b5b..1f90bc36cd 100644 --- a/src/components/chart/state-history-chart-timeline.ts +++ b/src/components/chart/state-history-chart-timeline.ts @@ -9,7 +9,7 @@ import { numberFormatToLocale } from "../../common/number/format_number"; import { computeRTL } from "../../common/util/compute_rtl"; import { TimelineEntity } from "../../data/history"; import { HomeAssistant } from "../../types"; -import "./ha-chart-base"; +import { MIN_TIME_BETWEEN_UPDATES } from "./ha-chart-base"; import type { TimeLineData } from "./timeline-chart/const"; /** Binary sensor device classes for which the static colors for on/off are NOT inverted. @@ -103,6 +103,8 @@ export class StateHistoryChartTimeline extends LitElement { @state() private _chartOptions?: ChartOptions<"timeline">; + private _chartTime: Date = new Date(); + protected render() { return html` - stringCompare(a.name, b.name) - ); + const addonsInfo = await fetchHassioAddonsInfo(this.hass); + this._addons = addonsInfo.addons + .filter((addon) => addon.version) + .sort((a, b) => stringCompare(a.name, b.name)); } else { showAlertDialog(this, { title: this.hass.localize( diff --git a/src/components/ha-chip.ts b/src/components/ha-chip.ts index cb58ebb75d..88bfc8be3c 100644 --- a/src/components/ha-chip.ts +++ b/src/components/ha-chip.ts @@ -67,8 +67,7 @@ export class HaChip extends LitElement { color: var(--ha-chip-icon-color, var(--ha-chip-text-color)); } .mdc-chip.mdc-chip--selected .mdc-chip__checkmark, - .mdc-chip.no-text - .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden) { + .mdc-chip .mdc-chip__icon--leading:not(.mdc-chip__icon--leading-hidden) { margin-right: -4px; margin-inline-start: -4px; margin-inline-end: 4px; diff --git a/src/components/ha-clickable-list-item.ts b/src/components/ha-clickable-list-item.ts index 71f207a129..43175efd08 100644 --- a/src/components/ha-clickable-list-item.ts +++ b/src/components/ha-clickable-list-item.ts @@ -1,17 +1,13 @@ -import { ListItemBase } from "@material/mwc-list/mwc-list-item-base"; -import { styles } from "@material/mwc-list/mwc-list-item.css"; -import { css, CSSResult, html } from "lit"; +import { css, CSSResultGroup, html } from "lit"; import { customElement, property, query } from "lit/decorators"; +import { HaListItem } from "./ha-list-item"; @customElement("ha-clickable-list-item") -export class HaClickableListItem extends ListItemBase { +export class HaClickableListItem extends HaListItem { @property() public href?: string; @property({ type: Boolean }) public disableHref = false; - // property used only in css - @property({ type: Boolean, reflect: true }) public rtl = false; - @property({ type: Boolean, reflect: true }) public openNewTab = false; @query("a") private _anchor!: HTMLAnchorElement; @@ -39,18 +35,10 @@ export class HaClickableListItem extends ListItemBase { }); } - static get styles(): CSSResult[] { + static get styles(): CSSResultGroup { return [ - styles, + super.styles, css` - :host { - padding-left: 0px; - padding-right: 0px; - } - :host([graphic="avatar"]:not([twoLine])), - :host([graphic="icon"]:not([twoLine])) { - height: 48px; - } a { width: 100%; height: 100%; @@ -60,19 +48,6 @@ export class HaClickableListItem extends ListItemBase { padding-right: var(--mdc-list-side-padding, 20px); overflow: hidden; } - span.material-icons:first-of-type { - margin-inline-start: 0px !important; - margin-inline-end: var( - --mdc-list-item-graphic-margin, - 16px - ) !important; - direction: var(--direction); - } - span.material-icons:last-of-type { - margin-inline-start: auto !important; - margin-inline-end: 0px !important; - direction: var(--direction); - } `, ]; } diff --git a/src/components/ha-code-editor.ts b/src/components/ha-code-editor.ts index 2ec8a2e627..ff1364a934 100644 --- a/src/components/ha-code-editor.ts +++ b/src/components/ha-code-editor.ts @@ -11,6 +11,7 @@ import memoizeOne from "memoize-one"; import { fireEvent } from "../common/dom/fire_event"; import { loadCodeMirror } from "../resources/codemirror.ondemand"; import { HomeAssistant } from "../types"; +import "./ha-icon"; declare global { interface HASSDomEvents { @@ -26,6 +27,12 @@ const saveKeyBinding: KeyBinding = { }, }; +const renderIcon = (completion: Completion) => { + const icon = document.createElement("ha-icon"); + icon.icon = completion.label; + return icon; +}; + @customElement("ha-code-editor") export class HaCodeEditor extends ReactiveElement { public codemirror?: EditorView; @@ -47,6 +54,8 @@ export class HaCodeEditor extends ReactiveElement { private _loadedCodeMirror?: typeof import("../resources/codemirror"); + private _iconList?: Completion[]; + public set value(value: string) { this._value = value; } @@ -154,7 +163,10 @@ export class HaCodeEditor extends ReactiveElement { if (!this.readOnly && this.autocompleteEntities && this.hass) { extensions.push( this._loadedCodeMirror.autocompletion({ - override: [this._entityCompletions.bind(this)], + override: [ + this._entityCompletions.bind(this), + this._mdiCompletions.bind(this), + ], maxRenderedOptions: 10, }) ); @@ -209,6 +221,47 @@ export class HaCodeEditor extends ReactiveElement { }; } + private _getIconItems = async (): Promise => { + if (!this._iconList) { + let iconList: { + name: string; + keywords: string[]; + }[]; + if (__SUPERVISOR__) { + iconList = []; + } else { + iconList = (await import("../../build/mdi/iconList.json")).default; + } + + this._iconList = iconList.map((icon) => ({ + type: "variable", + label: `mdi:${icon.name}`, + detail: icon.keywords.join(", "), + info: renderIcon, + })); + } + + return this._iconList; + }; + + private async _mdiCompletions( + context: CompletionContext + ): Promise { + const match = context.matchBefore(/mdi:/); + + if (!match || (match.from === match.to && !context.explicit)) { + return null; + } + + const iconItems = await this._getIconItems(); + + return { + from: Number(match.from), + options: iconItems, + span: /^\w*.\w*$/, + }; + } + private _blockKeyboardShortcuts() { this.addEventListener("keydown", (ev) => ev.stopPropagation()); } diff --git a/src/components/ha-dialog.ts b/src/components/ha-dialog.ts index 64fcbc4846..346410aa44 100644 --- a/src/components/ha-dialog.ts +++ b/src/components/ha-dialog.ts @@ -91,6 +91,7 @@ export class HaDialog extends DialogBase { .header_title { margin-right: 40px; margin-inline-end: 40px; + margin-inline-start: initial; direction: var(--direction); } .header_button { diff --git a/src/components/ha-fab.ts b/src/components/ha-fab.ts index b36871e381..2432b9a20d 100644 --- a/src/components/ha-fab.ts +++ b/src/components/ha-fab.ts @@ -19,6 +19,14 @@ export class HaFab extends FabBase { direction: var(--direction); } `, + // safari workaround - must be explicit + document.dir === "rtl" + ? css` + :host .mdc-fab--extended .mdc-fab__icon { + direction: rtl; + } + ` + : css``, ]; } diff --git a/src/components/ha-form/ha-form-multi_select.ts b/src/components/ha-form/ha-form-multi_select.ts index a591f710bc..a25de38672 100644 --- a/src/components/ha-form/ha-form-multi_select.ts +++ b/src/components/ha-form/ha-form-multi_select.ts @@ -205,6 +205,9 @@ export class HaFormMultiSelect extends LitElement implements HaFormElement { ha-formfield { display: block; padding-right: 16px; + padding-inline-end: 16px; + padding-inline-start: initial; + direction: var(--direction); } ha-textfield { display: block; @@ -216,6 +219,9 @@ export class HaFormMultiSelect extends LitElement implements HaFormElement { right: 1em; top: 1em; cursor: pointer; + inset-inline-end: 1em; + inset-inline-start: initial; + direction: var(--direction); } :host([opened]) ha-svg-icon { color: var(--primary-color); diff --git a/src/components/ha-gauge.ts b/src/components/ha-gauge.ts index c3374d6b97..1d60da1b3c 100644 --- a/src/components/ha-gauge.ts +++ b/src/components/ha-gauge.ts @@ -14,6 +14,7 @@ const getAngle = (value: number, min: number, max: number) => { export interface LevelDefinition { level: number; stroke: string; + label?: string; } @customElement("ha-gauge") @@ -38,22 +39,31 @@ export class Gauge extends LitElement { @state() private _updated = false; + @state() private _segment_label? = ""; + protected firstUpdated(changedProperties: PropertyValues) { super.firstUpdated(changedProperties); // Wait for the first render for the initial animation to work afterNextRender(() => { this._updated = true; this._angle = getAngle(this.value, this.min, this.max); + this._segment_label = this.getSegmentLabel(); this._rescale_svg(); }); } protected updated(changedProperties: PropertyValues) { super.updated(changedProperties); - if (!this._updated || !changedProperties.has("value")) { + if ( + !this._updated || + (!changedProperties.has("value") && + !changedProperties.has("label") && + !changedProperties.has("_segment_label")) + ) { return; } this._angle = getAngle(this.value, this.min, this.max); + this._segment_label = this.getSegmentLabel(); this._rescale_svg(); } @@ -118,9 +128,11 @@ export class Gauge extends LitElement { - ${this.valueText || formatNumber(this.value, this.locale)} ${ - this.label - } + ${ + this._segment_label + ? this._segment_label + : this.valueText || formatNumber(this.value, this.locale) + } ${this._segment_label ? "" : this.label} `; } @@ -137,6 +149,18 @@ export class Gauge extends LitElement { ); } + private getSegmentLabel() { + if (this.levels) { + this.levels.sort((a, b) => a.level - b.level); + for (let i = this.levels.length - 1; i >= 0; i--) { + if (this.value >= this.levels[i].level) { + return this.levels[i].label; + } + } + } + return ""; + } + static get styles() { return css` :host { diff --git a/src/components/ha-list-item.ts b/src/components/ha-list-item.ts new file mode 100644 index 0000000000..df3a2e80ee --- /dev/null +++ b/src/components/ha-list-item.ts @@ -0,0 +1,42 @@ +import { ListItemBase } from "@material/mwc-list/mwc-list-item-base"; +import { styles } from "@material/mwc-list/mwc-list-item.css"; +import { css, CSSResultGroup } from "lit"; +import { customElement } from "lit/decorators"; + +@customElement("ha-list-item") +export class HaListItem extends ListItemBase { + static get styles(): CSSResultGroup { + return [ + styles, + css` + :host { + padding-left: var(--mdc-list-side-padding, 20px); + padding-right: var(--mdc-list-side-padding, 20px); + } + :host([graphic="avatar"]:not([twoLine])), + :host([graphic="icon"]:not([twoLine])) { + height: 48px; + } + span.material-icons:first-of-type { + margin-inline-start: 0px !important; + margin-inline-end: var( + --mdc-list-item-graphic-margin, + 16px + ) !important; + direction: var(--direction); + } + span.material-icons:last-of-type { + margin-inline-start: auto !important; + margin-inline-end: 0px !important; + direction: var(--direction); + } + `, + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "ha-list-item": HaListItem; + } +} diff --git a/src/components/ha-target-picker.ts b/src/components/ha-target-picker.ts index 1453afa07b..7545a19a36 100644 --- a/src/components/ha-target-picker.ts +++ b/src/components/ha-target-picker.ts @@ -79,6 +79,8 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) { @property({ type: Boolean, reflect: true }) public disabled = false; + @property({ type: Boolean }) public horizontal = false; + @state() private _areas?: { [areaId: string]: AreaRegistryEntry }; @state() private _devices?: { @@ -117,45 +119,55 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) { if (!this._areas || !this._devices || !this._entities) { return html``; } - return html`
- ${this.value?.area_id - ? ensureArray(this.value.area_id).map((area_id) => { - const area = this._areas![area_id]; - return this._renderChip( - "area_id", - area_id, - area?.name || area_id, - undefined, - mdiSofa - ); - }) - : ""} - ${this.value?.device_id - ? ensureArray(this.value.device_id).map((device_id) => { - const device = this._devices![device_id]; - return this._renderChip( - "device_id", - device_id, - device ? computeDeviceName(device, this.hass) : device_id, - undefined, - mdiDevices - ); - }) - : ""} - ${this.value?.entity_id - ? ensureArray(this.value.entity_id).map((entity_id) => { - const entity = this.hass.states[entity_id]; - return this._renderChip( - "entity_id", - entity_id, - entity ? computeStateName(entity) : entity_id, - entity - ); - }) - : ""} -
+ return html`
+ ${this.horizontal ? this._renderChips() : this._renderItems()} ${this._renderPicker()} -
+ ${this.horizontal ? this._renderItems() : this._renderChips()} +
`; + } + + private _renderItems() { + return html`
+ ${this.value?.area_id + ? ensureArray(this.value.area_id).map((area_id) => { + const area = this._areas![area_id]; + return this._renderChip( + "area_id", + area_id, + area?.name || area_id, + undefined, + mdiSofa + ); + }) + : ""} + ${this.value?.device_id + ? ensureArray(this.value.device_id).map((device_id) => { + const device = this._devices![device_id]; + return this._renderChip( + "device_id", + device_id, + device ? computeDeviceName(device, this.hass) : device_id, + undefined, + mdiDevices + ); + }) + : ""} + ${this.value?.entity_id + ? ensureArray(this.value.entity_id).map((entity_id) => { + const entity = this.hass.states[entity_id]; + return this._renderChip( + "entity_id", + entity_id, + entity ? computeStateName(entity) : entity_id, + entity + ); + }) + : ""} +
`; + } + + private _renderChips() { + return html`
- ${this.helper ? html`${this.helper}` : ""} `; @@ -321,6 +332,7 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) { .entityFilter=${this.entityRegFilter} .includeDeviceClasses=${this.includeDeviceClasses} .includeDomains=${this.includeDomains} + class=${this.horizontal ? "hidden-picker" : ""} @value-changed=${this._targetPicked} >`; case "device_id": @@ -335,6 +347,7 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) { .entityFilter=${this.entityRegFilter} .includeDeviceClasses=${this.includeDeviceClasses} .includeDomains=${this.includeDomains} + class=${this.horizontal ? "hidden-picker" : ""} @value-changed=${this._targetPicked} >`; case "entity_id": @@ -348,6 +361,7 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) { .entityFilter=${this.entityFilter} .includeDeviceClasses=${this.includeDeviceClasses} .includeDomains=${this.includeDomains} + class=${this.horizontal ? "hidden-picker" : ""} @value-changed=${this._targetPicked} allow-custom-entity >`; @@ -539,6 +553,16 @@ export class HaTargetPicker extends SubscribeMixin(LitElement) { static get styles(): CSSResultGroup { return css` ${unsafeCSS(chipStyles)} + .hidden-picker { + height: 0px; + display: inline-block; + overflow: hidden; + position: absolute; + } + .horizontal-container { + display: flex; + flex-wrap: wrap; + } .mdc-chip { color: var(--primary-text-color); } diff --git a/src/components/ha-textfield.ts b/src/components/ha-textfield.ts index 0e0f3bd804..32c9bbde6f 100644 --- a/src/components/ha-textfield.ts +++ b/src/components/ha-textfield.ts @@ -61,6 +61,11 @@ export class HaTextField extends TextFieldBase { padding-inline-end: var(--text-field-suffix-padding-right, 0px); direction: var(--direction); } + .mdc-text-field--with-leading-icon { + padding-inline-start: var(--text-field-suffix-padding-left, 0px); + padding-inline-end: var(--text-field-suffix-padding-right, 16px); + direction: var(--direction); + } .mdc-text-field:not(.mdc-text-field--disabled) .mdc-text-field__affix--suffix { @@ -71,6 +76,12 @@ export class HaTextField extends TextFieldBase { color: var(--secondary-text-color); } + .mdc-text-field__icon--leading { + margin-inline-start: 16px; + margin-inline-end: 8px; + direction: var(--direction); + } + input { text-align: var(--text-field-text-align); } @@ -110,7 +121,25 @@ export class HaTextField extends TextFieldBase { inset-inline-end: initial !important; direction: var(--direction); } + + .mdc-text-field__input[type="number"] { + direction: var(--direction); + } `, + // safari workaround - must be explicit + document.dir === "rtl" + ? css` + .mdc-text-field__affix--suffix, + .mdc-text-field--with-leading-icon, + .mdc-text-field__icon--leading, + .mdc-floating-label, + .mdc-text-field--with-leading-icon.mdc-text-field--filled + .mdc-floating-label, + .mdc-text-field__input[type="number"] { + direction: rtl; + } + ` + : css``, ]; } diff --git a/src/components/media-player/ha-browse-media-tts.ts b/src/components/media-player/ha-browse-media-tts.ts index 3cd39d3a73..152da17ac6 100644 --- a/src/components/media-player/ha-browse-media-tts.ts +++ b/src/components/media-player/ha-browse-media-tts.ts @@ -36,7 +36,7 @@ declare global { class BrowseMediaTTS extends LitElement { @property() public hass!: HomeAssistant; - @property() public item; + @property() public item!: MediaPlayerItem; @property() public action!: MediaPlayerBrowseAction; diff --git a/src/components/media-player/ha-media-player-browse.ts b/src/components/media-player/ha-media-player-browse.ts index 4ee029ee13..da98917f43 100644 --- a/src/components/media-player/ha-media-player-browse.ts +++ b/src/components/media-player/ha-media-player-browse.ts @@ -116,9 +116,6 @@ export class HaMediaPlayerBrowse extends LitElement { private _resizeObserver?: ResizeObserver; - // @ts-ignore - private _intersectionObserver?: IntersectionObserver; - public connectedCallback(): void { super.connectedCallback(); this.updateComplete.then(() => this._attachResizeObserver()); @@ -128,9 +125,6 @@ export class HaMediaPlayerBrowse extends LitElement { if (this._resizeObserver) { this._resizeObserver.disconnect(); } - if (this._intersectionObserver) { - this._intersectionObserver.disconnect(); - } } public async refresh() { @@ -485,7 +479,10 @@ export class HaMediaPlayerBrowse extends LitElement { .layout=${grid({ itemSize: { width: "175px", - height: "225px", + height: + childrenMediaClass.thumbnail_ratio === "portrait" + ? "312px" + : "225px", }, gap: "16px", flex: { preserve: "aspect-ratio" }, diff --git a/src/components/user/ha-user-picker.ts b/src/components/user/ha-user-picker.ts index 0e7ae97466..6bbc3c1af3 100644 --- a/src/components/user/ha-user-picker.ts +++ b/src/components/user/ha-user-picker.ts @@ -8,6 +8,7 @@ import { fetchUsers, User } from "../../data/user"; import { HomeAssistant } from "../../types"; import "../ha-select"; import "./ha-user-badge"; +import "../ha-list-item"; class HaUserPicker extends LitElement { public hass?: HomeAssistant; @@ -48,14 +49,14 @@ class HaUserPicker extends LitElement { : ""} ${this._sortedUsers(this.users).map( (user) => html` - + ${user.name} - + ` )} diff --git a/src/data/application_credential.ts b/src/data/application_credential.ts index 075ea5f721..5dee1bd355 100644 --- a/src/data/application_credential.ts +++ b/src/data/application_credential.ts @@ -1,7 +1,11 @@ import { HomeAssistant } from "../types"; +export interface ApplicationCredentialsDomainConfig { + description_placeholders: string; +} + export interface ApplicationCredentialsConfig { - domains: string[]; + integrations: Record; } export interface ApplicationCredential { diff --git a/src/data/cached-history.ts b/src/data/cached-history.ts index 563d3d898b..30fa4956f9 100644 --- a/src/data/cached-history.ts +++ b/src/data/cached-history.ts @@ -158,8 +158,14 @@ export const getRecentWithCache = ( } const stateHistory = computeHistory(hass, fetchedHistory, localize); if (appendingToCache) { - mergeLine(stateHistory.line, cache.data.line); - mergeTimeline(stateHistory.timeline, cache.data.timeline); + if (stateHistory.line.length) { + mergeLine(stateHistory.line, cache.data.line); + } + if (stateHistory.timeline.length) { + mergeTimeline(stateHistory.timeline, cache.data.timeline); + // Replace the timeline array to force an update + cache.data.timeline = [...cache.data.timeline]; + } pruneStartTime(startTime, cache.data); } else { cache.data = stateHistory; @@ -191,6 +197,8 @@ const mergeLine = ( oldLine.data.push(entity); } }); + // Replace the cached line data to force an update + oldLine.data = [...oldLine.data]; } else { cacheLines.push(line); } diff --git a/src/data/camera.ts b/src/data/camera.ts index 48bbe4bc73..cca3671377 100644 --- a/src/data/camera.ts +++ b/src/data/camera.ts @@ -41,6 +41,12 @@ export interface WebRtcAnswer { answer: string; } +export const cameraUrlWithWidthHeight = ( + base_url: string, + width: number, + height: number +) => `${base_url}&width=${width}&height=${height}`; + export const computeMJPEGStreamUrl = (entity: CameraEntity) => `/api/camera_proxy_stream/${entity.entity_id}?token=${entity.attributes.access_token}`; @@ -57,7 +63,7 @@ export const fetchThumbnailUrlWithCache = async ( hass, entityId ); - return `${base_url}&width=${width}&height=${height}`; + return cameraUrlWithWidthHeight(base_url, width, height); }; export const fetchThumbnailUrl = async ( diff --git a/src/data/config_entries.ts b/src/data/config_entries.ts index b9e555998c..88667cf2ab 100644 --- a/src/data/config_entries.ts +++ b/src/data/config_entries.ts @@ -38,19 +38,19 @@ export const getConfigEntries = ( hass: HomeAssistant, filters?: { type?: "helper" | "integration"; domain?: string } ): Promise => { - const params = new URLSearchParams(); + const params: any = {}; if (filters) { if (filters.type) { - params.append("type", filters.type); + params.type_filter = filters.type; } if (filters.domain) { - params.append("domain", filters.domain); + params.domain = filters.domain; } } - return hass.callApi( - "GET", - `config/config_entries/entry?${params.toString()}` - ); + return hass.callWS({ + type: "config_entries/get", + ...params, + }); }; export const updateConfigEntry = ( diff --git a/src/data/entity_registry.ts b/src/data/entity_registry.ts index e77d75c2b5..4c7a931d0f 100644 --- a/src/data/entity_registry.ts +++ b/src/data/entity_registry.ts @@ -33,6 +33,18 @@ export interface UpdateEntityRegistryEntryResult { require_restart?: boolean; } +export interface SensorEntityOptions { + unit_of_measurement?: string | null; +} + +export interface WeatherEntityOptions { + precipitation_unit?: string | null; + pressure_unit?: string | null; + temperature_unit?: string | null; + visibility_unit?: string | null; + wind_speed_unit?: string | null; +} + export interface EntityRegistryEntryUpdateParams { name?: string | null; icon?: string | null; @@ -42,9 +54,7 @@ export interface EntityRegistryEntryUpdateParams { hidden_by: string | null; new_entity_id?: string; options_domain?: string; - options?: { - unit_of_measurement?: string | null; - }; + options?: SensorEntityOptions | WeatherEntityOptions; } export const findBatteryEntity = ( diff --git a/src/data/hassio/addon.ts b/src/data/hassio/addon.ts index c27d735b0e..5c1e7f49c2 100644 --- a/src/data/hassio/addon.ts +++ b/src/data/hassio/addon.ts @@ -1,7 +1,9 @@ import { atLeastVersion } from "../../common/config/version"; import type { HaFormSchema } from "../../components/ha-form/types"; import { HomeAssistant } from "../../types"; -import { SupervisorArch } from "../supervisor/supervisor"; +import { supervisorApiCall } from "../supervisor/common"; +import { StoreAddonDetails } from "../supervisor/store"; +import { Supervisor, SupervisorArch } from "../supervisor/supervisor"; import { extractApiErrorMessage, hassioApiResultExtractor, @@ -363,3 +365,15 @@ export const uninstallHassioAddon = async ( `hassio/addons/${slug}/uninstall` ); }; + +export const fetchAddonInfo = ( + hass: HomeAssistant, + supervisor: Supervisor, + addonSlug: string +): Promise => + supervisorApiCall( + hass, + !supervisor.addon?.addons.find((addon) => addon.slug === addonSlug) + ? `/store/addons/${addonSlug}` // Use /store/addons when add-on is not installed + : `/addons/${addonSlug}/info` // Use /addons when add-on is installed + ); diff --git a/src/data/hassio/supervisor.ts b/src/data/hassio/supervisor.ts index e08600098b..9f5bcd0f28 100644 --- a/src/data/hassio/supervisor.ts +++ b/src/data/hassio/supervisor.ts @@ -1,7 +1,6 @@ import { atLeastVersion } from "../../common/config/version"; import { HomeAssistant, PanelInfo } from "../../types"; import { SupervisorArch } from "../supervisor/supervisor"; -import { HassioAddonInfo } from "./addon"; import { hassioApiResultExtractor, HassioResponse } from "./common"; export type HassioHomeAssistantInfo = { @@ -22,7 +21,7 @@ export type HassioHomeAssistantInfo = { }; export type HassioSupervisorInfo = { - addons: HassioAddonInfo[]; + addons: string[]; addons_repositories: string[]; arch: SupervisorArch; channel: string; diff --git a/src/data/history.ts b/src/data/history.ts index 7de7651a75..0fb7a8857c 100644 --- a/src/data/history.ts +++ b/src/data/history.ts @@ -223,16 +223,12 @@ export const fetchDate = ( hass: HomeAssistant, startTime: Date, endTime: Date, - entityId?: string + entityIds: string[] ): Promise => hass.callApi( "GET", `history/period/${startTime.toISOString()}?end_time=${endTime.toISOString()}&minimal_response${ - entityId ? `&filter_entity_id=${entityId}` : `` - }${ - entityId && !entityIdHistoryNeedsAttributes(hass, entityId) - ? `&no_attributes` - : `` + entityIds ? `&filter_entity_id=${entityIds.join(",")}` : `` }` ); @@ -240,19 +236,19 @@ export const fetchDateWS = ( hass: HomeAssistant, startTime: Date, endTime: Date, - entityId?: string + entityIds: string[] ) => { const params = { type: "history/history_during_period", start_time: startTime.toISOString(), end_time: endTime.toISOString(), minimal_response: true, - no_attributes: !!( - entityId && !entityIdHistoryNeedsAttributes(hass, entityId) - ), + no_attributes: !entityIds + .map((entityId) => entityIdHistoryNeedsAttributes(hass, entityId)) + .reduce((cur, next) => cur || next, false), }; - if (entityId) { - return hass.callWS({ ...params, entity_ids: [entityId] }); + if (entityIds.length !== 0) { + return hass.callWS({ ...params, entity_ids: entityIds }); } return hass.callWS(params); }; diff --git a/src/data/logbook.ts b/src/data/logbook.ts index eda3aa4ce6..1b1f9ce980 100644 --- a/src/data/logbook.ts +++ b/src/data/logbook.ts @@ -1,4 +1,4 @@ -import { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; +import { HassEntity } from "home-assistant-js-websocket"; import { BINARY_STATE_OFF, BINARY_STATE_ON, @@ -6,12 +6,14 @@ import { } from "../common/const"; import { computeDomain } from "../common/entity/compute_domain"; import { computeStateDisplay } from "../common/entity/compute_state_display"; +import { computeStateDomain } from "../common/entity/compute_state_domain"; import { LocalizeFunc } from "../common/translations/localize"; +import { HaEntityPickerEntityFilterFunc } from "../components/entity/ha-entity-picker"; import { HomeAssistant } from "../types"; import { UNAVAILABLE_STATES } from "./entity"; const LOGBOOK_LOCALIZE_PATH = "ui.components.logbook.messages"; -export const CONTINUOUS_DOMAINS = ["proximity", "sensor"]; +export const CONTINUOUS_DOMAINS = ["counter", "proximity", "sensor"]; export interface LogbookStreamMessage { events: LogbookEntry[]; @@ -175,7 +177,7 @@ export const subscribeLogbook = ( endDate: string, entityIds?: string[], deviceIds?: string[] -): Promise => { +): Promise<() => Promise> => { // If all specified filters are empty lists, we can return an empty list. if ( (entityIds || deviceIds) && @@ -425,3 +427,10 @@ export const localizeStateMessage = ( : state ); }; + +export const filterLogbookCompatibleEntities: HaEntityPickerEntityFilterFunc = ( + entity +) => + computeStateDomain(entity) !== "sensor" || + (entity.attributes.unit_of_measurement === undefined && + entity.attributes.state_class === undefined); diff --git a/src/data/media-player.ts b/src/data/media-player.ts index 199cbbb386..a5c780f582 100644 --- a/src/data/media-player.ts +++ b/src/data/media-player.ts @@ -36,6 +36,7 @@ import { supportsFeature } from "../common/entity/supports-feature"; import { MediaPlayerItemId } from "../components/media-player/ha-media-player-browse"; import type { HomeAssistant } from "../types"; import { UNAVAILABLE_STATES } from "./entity"; +import { isTTSMediaSource } from "./tts"; interface MediaPlayerEntityAttributes extends HassEntityAttributeBase { media_content_id?: string; @@ -441,3 +442,29 @@ export const handleMediaControlClick = ( entity_id: stateObj!.entity_id, } ); + +export const mediaPlayerPlayMedia = ( + hass: HomeAssistant, + entity_id: string, + media_content_id: string, + media_content_type: string, + extra: { + enqueue?: "play" | "next" | "add" | "replace"; + announce?: boolean; + } = {} +) => { + // We set text-to-speech to announce. + if ( + !extra.enqueue && + extra.announce === undefined && + isTTSMediaSource(media_content_id) + ) { + extra.announce = true; + } + return hass.callService("media_player", "play_media", { + entity_id, + media_content_id, + media_content_type, + ...extra, + }); +}; diff --git a/src/data/supervisor/common.ts b/src/data/supervisor/common.ts new file mode 100644 index 0000000000..b47f76bc4d --- /dev/null +++ b/src/data/supervisor/common.ts @@ -0,0 +1,34 @@ +import { atLeastVersion } from "../../common/config/version"; +import { HomeAssistant } from "../../types"; +import { hassioApiResultExtractor, HassioResponse } from "../hassio/common"; + +export interface SupervisorApiCallOptions { + method?: "get" | "post" | "delete"; + data?: Record; + timeout?: number; +} + +export const supervisorApiCall = async ( + hass: HomeAssistant, + endpoint: string, + options?: SupervisorApiCallOptions +): Promise => { + if (atLeastVersion(hass.config.version, 2021, 2, 4)) { + // Websockets was added in 2021.2.4 + return hass.callWS({ + type: "supervisor/api", + endpoint, + method: options?.method || "get", + timeout: options?.timeout ?? null, + data: options?.data, + }); + } + return hassioApiResultExtractor( + await hass.callApi>( + // @ts-ignore + (options.method || "get").toUpperCase(), + `hassio${endpoint}`, + options?.data + ) + ); +}; diff --git a/src/data/supervisor/store.ts b/src/data/supervisor/store.ts index e9e2fbe57f..d71f96401c 100644 --- a/src/data/supervisor/store.ts +++ b/src/data/supervisor/store.ts @@ -1,7 +1,7 @@ -import { atLeastVersion } from "../../common/config/version"; import { HomeAssistant } from "../../types"; -import { AddonRepository, AddonStage } from "../hassio/addon"; -import { hassioApiResultExtractor, HassioResponse } from "../hassio/common"; +import { AddonStage } from "../hassio/addon"; +import { supervisorApiCall } from "./common"; +import { SupervisorArch } from "./supervisor"; export interface StoreAddon { advanced: boolean; @@ -13,14 +13,34 @@ export interface StoreAddon { installed: boolean; logo: boolean; name: string; - repository: AddonRepository; + repository: string; slug: string; stage: AddonStage; update_available: boolean; url: string; - version: string | null; version_latest: string; + version: null; } + +export interface StoreAddonDetails extends StoreAddon { + apparmor: boolean; + arch: SupervisorArch[]; + auth_api: boolean; + detached: boolean; + docker_api: boolean; + documentation: boolean; + full_access: boolean; + hassio_api: boolean; + hassio_role: string; + homeassistant_api: boolean; + host_network: boolean; + host_pid: boolean; + ingress: boolean; + long_description: string; + rating: number; + signed: boolean; +} + interface StoreRepository { maintainer: string; name: string; @@ -36,16 +56,25 @@ export interface SupervisorStore { export const fetchSupervisorStore = async ( hass: HomeAssistant -): Promise => { - if (atLeastVersion(hass.config.version, 2021, 2, 4)) { - return hass.callWS({ - type: "supervisor/api", - endpoint: "/store", - method: "get", - }); - } +): Promise => supervisorApiCall(hass, "/store"); - return hassioApiResultExtractor( - await hass.callApi>("GET", `hassio/store`) - ); -}; +export const fetchStoreRepositories = async ( + hass: HomeAssistant +): Promise => supervisorApiCall(hass, "/store/repositories"); + +export const addStoreRepository = async ( + hass: HomeAssistant, + repository: string +): Promise => + supervisorApiCall(hass, "/store/repositories", { + method: "post", + data: { repository }, + }); + +export const removeStoreRepository = async ( + hass: HomeAssistant, + repository: string +): Promise => + supervisorApiCall(hass, `/store/repositories/${repository}`, { + method: "delete", + }); diff --git a/src/data/translation.ts b/src/data/translation.ts index 7374f40639..e7c632ea57 100644 --- a/src/data/translation.ts +++ b/src/data/translation.ts @@ -38,7 +38,8 @@ export type TranslationCategory = | "device_automation" | "mfa_setup" | "system_health" - | "device_class"; + | "device_class" + | "application_credentials"; export const fetchTranslationPreferences = (hass: HomeAssistant) => fetchFrontendUserData(hass.connection, "language"); diff --git a/src/data/weather.ts b/src/data/weather.ts index 3fb6dca152..f77da5c9b0 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -37,14 +37,24 @@ interface ForecastAttribute { humidity?: number; condition?: string; daytime?: boolean; + pressure?: number; + wind_speed?: string; } interface WeatherEntityAttributes extends HassEntityAttributeBase { - temperature: number; + attribution?: string; humidity?: number; forecast?: ForecastAttribute[]; - wind_speed: string; - wind_bearing: string; + pressure?: number; + temperature?: number; + visibility?: number; + wind_bearing?: number | string; + wind_speed?: number; + precipitation_unit: string; + pressure_unit: string; + temperature_unit: string; + visibility_unit: string; + wind_speed_unit: string; } export interface WeatherEntity extends HassEntityBase { @@ -138,16 +148,16 @@ const cardinalDirections = [ "N", ]; -const getWindBearingText = (degree: string): string => { - const degreenum = parseInt(degree, 10); +const getWindBearingText = (degree: number | string): string => { + const degreenum = typeof degree === "number" ? degree : parseInt(degree, 10); if (isFinite(degreenum)) { // eslint-disable-next-line no-bitwise return cardinalDirections[(((degreenum + 11.25) / 22.5) | 0) % 16]; } - return degree; + return typeof degree === "number" ? degree.toString() : degree; }; -const getWindBearing = (bearing: string): string => { +const getWindBearing = (bearing: number | string): string => { if (bearing != null) { return getWindBearingText(bearing); } @@ -156,14 +166,19 @@ const getWindBearing = (bearing: string): string => { export const getWind = ( hass: HomeAssistant, - speed: string, - bearing: string + stateObj: WeatherEntity, + speed?: number, + bearing?: number | string ): string => { - const speedText = `${formatNumber(speed, hass.locale)} ${getWeatherUnit( - hass!, - "wind_speed" - )}`; - if (bearing !== null) { + const speedText = + speed !== undefined && speed !== null + ? `${formatNumber(speed, hass.locale)} ${getWeatherUnit( + hass!, + stateObj, + "wind_speed" + )}` + : "-"; + if (bearing !== undefined && bearing !== null) { const cardinalDirection = getWindBearing(bearing); return `${speedText} (${ hass.localize( @@ -176,13 +191,28 @@ export const getWind = ( export const getWeatherUnit = ( hass: HomeAssistant, + stateObj: WeatherEntity, measure: string ): string => { + const lengthUnit = hass.config.unit_system.length || ""; switch (measure) { case "visibility": - return hass.config.unit_system.length || ""; + return stateObj.attributes.visibility_unit || lengthUnit; case "precipitation": - return hass.config.unit_system.accumulated_precipitation || ""; + return stateObj.attributes.precipitation_unit || lengthUnit === "km" + ? "mm" + : "in"; + case "pressure": + return stateObj.attributes.pressure_unit || lengthUnit === "km" + ? "hPa" + : "inHg"; + case "temperature": + return ( + stateObj.attributes.temperature_unit || + hass.config.unit_system.temperature + ); + case "wind_speed": + return stateObj.attributes.wind_speed_unit || `${lengthUnit}/h`; case "humidity": case "precipitation_probability": return "%"; @@ -227,7 +257,7 @@ export const getSecondaryWeatherAttribute = ( ` : hass!.localize(`ui.card.weather.attributes.${attribute}`)} ${formatNumber(value, hass.locale, { maximumFractionDigits: 1 })} - ${getWeatherUnit(hass!, attribute)} + ${getWeatherUnit(hass!, stateObj, attribute)} `; }; @@ -262,7 +292,7 @@ const getWeatherExtrema = ( return undefined; } - const unit = getWeatherUnit(hass!, "temperature"); + const unit = getWeatherUnit(hass!, stateObj, "temperature"); return html` ${tempHigh ? `${formatNumber(tempHigh, hass.locale)} ${unit}` : ""} diff --git a/src/data/zwave_js.ts b/src/data/zwave_js.ts index 11bcefa4cb..a99244541d 100644 --- a/src/data/zwave_js.ts +++ b/src/data/zwave_js.ts @@ -1,6 +1,5 @@ import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { HomeAssistant } from "../types"; -import { DeviceRegistryEntry } from "./device_registry"; export enum InclusionState { /** The controller isn't doing anything regarding inclusion. */ @@ -85,6 +84,23 @@ enum Protocols { ZWave = 0, ZWaveLongRange = 1, } + +export enum FirmwareUpdateStatus { + Error_Timeout = -1, + Error_Checksum = 0, + Error_TransmissionFailed = 1, + Error_InvalidManufacturerID = 2, + Error_InvalidFirmwareID = 3, + Error_InvalidFirmwareTarget = 4, + Error_InvalidHeaderInformation = 5, + Error_InvalidHeaderFormat = 6, + Error_InsufficientMemory = 7, + Error_InvalidHardwareVersion = 8, + OK_WaitingForActivation = 0xfd, + OK_NoRestart = 0xfe, + OK_RestartPending = 0xff, +} + export interface QRProvisioningInformation { version: QRCodeVersion; securityClasses: SecurityClass[]; @@ -109,10 +125,6 @@ export interface PlannedProvisioningEntry { export const MINIMUM_QR_STRING_LENGTH = 52; -export interface ZWaveJSNodeIdentifiers { - home_id: string; - node_id: number; -} export interface ZWaveJSNetwork { client: ZWaveJSClient; controller: ZWaveJSController; @@ -151,7 +163,7 @@ export interface ZWaveJSController { export interface ZWaveJSNodeStatus { node_id: number; ready: boolean; - status: number; + status: NodeStatus; is_secure: boolean | string; is_routing: boolean | null; zwave_plus_version: number | null; @@ -244,6 +256,68 @@ export interface ZWaveJSControllerStatisticsUpdatedMessage { timeout_callback: number; } +export enum RssiError { + NotAvailable = 127, + ReceiverSaturated = 126, + NoSignalDetected = 125, +} + +export enum ProtocolDataRate { + ZWave_9k6 = 0x01, + ZWave_40k = 0x02, + ZWave_100k = 0x03, + LongRange_100k = 0x04, +} + +export interface ZWaveJSNodeStatisticsUpdatedMessage { + event: "statistics updated"; + source: "node"; + commands_tx: number; + commands_rx: number; + commands_dropped_tx: number; + commands_dropped_rx: number; + timeout_response: number; + rtt: number | null; + rssi: RssiError | number | null; + lwr: ZWaveJSRouteStatistics | null; + nlwr: ZWaveJSRouteStatistics | null; +} + +export interface ZWaveJSRouteStatistics { + protocol_data_rate: number; + repeaters: string[]; + rssi: RssiError | number | null; + repeater_rssi: (RssiError | number)[]; + route_failed_between: [string, string] | null; +} + +export interface ZWaveJSNodeStatusUpdatedMessage { + event: "ready" | "wake up" | "sleep" | "dead" | "alive"; + ready: boolean; + status: NodeStatus; +} + +export interface ZWaveJSNodeFirmwareUpdateProgressMessage { + event: "firmware update progress"; + sent_fragments: number; + total_fragments: number; +} + +export interface ZWaveJSNodeFirmwareUpdateFinishedMessage { + event: "firmware update finished"; + status: FirmwareUpdateStatus; + wait_time: number; +} + +export type ZWaveJSNodeFirmwareUpdateCapabilities = + | { firmware_upgradable: false } + | { + firmware_upgradable: true; + firmware_targets: number[]; + continues_to_function: boolean | null; + supports_activation: boolean | null; + }; + export interface ZWaveJSRemovedNode { node_id: number; manufacturer: string; @@ -280,25 +354,6 @@ export interface RequestedGrant { export const nodeStatus = ["unknown", "asleep", "awake", "dead", "alive"]; -export interface ZWaveJsMigrationData { - migration_device_map: Record; - zwave_entity_ids: string[]; - zwave_js_entity_ids: string[]; - migration_entity_map: Record; - migrated: boolean; -} - -export const migrateZwave = ( - hass: HomeAssistant, - entry_id: string, - dry_run = true -): Promise => - hass.callWS({ - type: "zwave_js/migrate_zwave", - entry_id, - dry_run, - }); - export const fetchZwaveNetworkStatus = ( hass: HomeAssistant, device_or_entry_id: { @@ -461,6 +516,19 @@ export const fetchZwaveNodeStatus = ( device_id, }); +export const subscribeZwaveNodeStatus = ( + hass: HomeAssistant, + device_id: string, + callbackFunction: (message: ZWaveJSNodeStatusUpdatedMessage) => void +): Promise => + hass.connection.subscribeMessage( + (message: any) => callbackFunction(message), + { + type: "zwave_js/subscribe_node_status", + device_id, + } + ); + export const fetchZwaveNodeMetadata = ( hass: HomeAssistant, device_id: string @@ -558,19 +626,6 @@ export const stopHealZwaveNetwork = ( entry_id, }); -export const subscribeZwaveNodeReady = ( - hass: HomeAssistant, - device_id: string, - callbackFunction: (message) => void -): Promise => - hass.connection.subscribeMessage( - (message: any) => callbackFunction(message), - { - type: "zwave_js/node_ready", - device_id, - } - ); - export const subscribeHealZwaveNetworkProgress = ( hass: HomeAssistant, entry_id: string, @@ -597,27 +652,96 @@ export const subscribeZwaveControllerStatistics = ( } ); -export const getZwaveJsIdentifiersFromDevice = ( - device: DeviceRegistryEntry -): ZWaveJSNodeIdentifiers | undefined => { - if (!device) { - return undefined; - } - - const zwaveJSIdentifier = device.identifiers.find( - (identifier) => identifier[0] === "zwave_js" +export const subscribeZwaveNodeStatistics = ( + hass: HomeAssistant, + device_id: string, + callbackFunction: (message: ZWaveJSNodeStatisticsUpdatedMessage) => void +): Promise => + hass.connection.subscribeMessage( + (message: any) => callbackFunction(message), + { + type: "zwave_js/subscribe_node_statistics", + device_id, + } ); - if (!zwaveJSIdentifier) { - return undefined; - } - const identifiers = zwaveJSIdentifier[1].split("-"); - return { - node_id: parseInt(identifiers[1]), - home_id: identifiers[0], - }; +export const fetchZwaveNodeIsFirmwareUpdateInProgress = ( + hass: HomeAssistant, + device_id: string +): Promise => + hass.callWS({ + type: "zwave_js/get_firmware_update_progress", + device_id, + }); + +export const fetchZwaveIsAnyFirmwareUpdateInProgress = ( + hass: HomeAssistant, + entry_id: string +): Promise => + hass.callWS({ + type: "zwave_js/get_any_firmware_update_progress", + entry_id, + }); + +export const fetchZwaveNodeFirmwareUpdateCapabilities = ( + hass: HomeAssistant, + device_id: string +): Promise => + hass.callWS({ + type: "zwave_js/get_firmware_update_capabilities", + device_id, + }); + +export const uploadFirmwareAndBeginUpdate = async ( + hass: HomeAssistant, + device_id: string, + file: File, + target?: number +) => { + const fd = new FormData(); + fd.append("file", file); + if (target !== undefined) { + fd.append("target", target.toString()); + } + const resp = await hass.fetchWithAuth( + `/api/zwave_js/firmware/upload/${device_id}`, + { + method: "POST", + body: fd, + } + ); + + if (resp.status !== 200) { + throw new Error(resp.statusText); + } }; +export const subscribeZwaveNodeFirmwareUpdate = ( + hass: HomeAssistant, + device_id: string, + callbackFunction: ( + message: + | ZWaveJSNodeFirmwareUpdateFinishedMessage + | ZWaveJSNodeFirmwareUpdateProgressMessage + ) => void +): Promise => + hass.connection.subscribeMessage( + (message: any) => callbackFunction(message), + { + type: "zwave_js/subscribe_firmware_update_status", + device_id, + } + ); + +export const abortZwaveNodeFirmwareUpdate = ( + hass: HomeAssistant, + device_id: string +): Promise => + hass.callWS({ + type: "zwave_js/abort_firmware_update", + device_id, + }); + export type ZWaveJSLogUpdate = ZWaveJSLogMessageUpdate | ZWaveJSLogConfigUpdate; interface ZWaveJSLogMessageUpdate { diff --git a/src/dialogs/domain-toggler/dialog-domain-toggler.ts b/src/dialogs/domain-toggler/dialog-domain-toggler.ts index caff99cf37..fd66cf2940 100644 --- a/src/dialogs/domain-toggler/dialog-domain-toggler.ts +++ b/src/dialogs/domain-toggler/dialog-domain-toggler.ts @@ -47,10 +47,14 @@ class DomainTogglerDialog hideActions .heading=${createCloseHeading( this.hass, - this.hass.localize("ui.dialogs.domain_toggler.title") + this._params.title || + this.hass.localize("ui.dialogs.domain_toggler.title") )} > -
+ ${this._params.description + ? html`
${this._params.description}
` + : ""} +
${domains.map( (domain) => html` @@ -92,7 +96,10 @@ class DomainTogglerDialog ha-dialog { --mdc-dialog-max-width: 500px; } - div { + .description { + margin-bottom: 8px; + } + .domains { display: grid; grid-template-columns: auto auto; grid-row-gap: 8px; diff --git a/src/dialogs/domain-toggler/show-dialog-domain-toggler.ts b/src/dialogs/domain-toggler/show-dialog-domain-toggler.ts index 702e0e3848..18426ba68e 100644 --- a/src/dialogs/domain-toggler/show-dialog-domain-toggler.ts +++ b/src/dialogs/domain-toggler/show-dialog-domain-toggler.ts @@ -1,6 +1,8 @@ import { fireEvent } from "../../common/dom/fire_event"; export interface HaDomainTogglerDialogParams { + title?: string; + description?: string; domains: string[]; exposedDomains: string[] | null; toggleDomain: (domain: string, turnOn: boolean) => void; diff --git a/src/dialogs/generic/dialog-box.ts b/src/dialogs/generic/dialog-box.ts index 4cdb0ef6c9..fdf2107756 100644 --- a/src/dialogs/generic/dialog-box.ts +++ b/src/dialogs/generic/dialog-box.ts @@ -8,7 +8,6 @@ import "../../components/ha-dialog"; import "../../components/ha-svg-icon"; import "../../components/ha-switch"; import { HaTextField } from "../../components/ha-textfield"; -import { haStyleDialog } from "../../resources/styles"; import { HomeAssistant } from "../../types"; import { DialogBoxParams } from "./show-dialog-box"; @@ -135,34 +134,34 @@ class DialogBox extends LitElement { } static get styles(): CSSResultGroup { - return [ - haStyleDialog, - css` - :host([inert]) { - pointer-events: initial !important; - cursor: initial !important; - } - a { - color: var(--primary-color); - } - p { - margin: 0; - padding-top: 6px; - padding-bottom: 24px; - color: var(--primary-text-color); - } - .no-bottom-padding { - padding-bottom: 0; - } - .secondary { - color: var(--secondary-text-color); - } - ha-dialog { - /* Place above other dialogs */ - --dialog-z-index: 104; - } - `, - ]; + return css` + :host([inert]) { + pointer-events: initial !important; + cursor: initial !important; + } + a { + color: var(--primary-color); + } + p { + margin: 0; + padding-top: 6px; + padding-bottom: 24px; + color: var(--primary-text-color); + } + .no-bottom-padding { + padding-bottom: 0; + } + .secondary { + color: var(--secondary-text-color); + } + ha-dialog { + --mdc-dialog-heading-ink-color: var(--primary-text-color); + --mdc-dialog-content-ink-color: var(--primary-text-color); + --justify-action-buttons: space-between; + /* Place above other dialogs */ + --dialog-z-index: 104; + } + `; } } diff --git a/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts b/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts index de41f1c173..0fb7401959 100644 --- a/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts +++ b/src/dialogs/more-info/controls/more-info-alarm_control_panel.ts @@ -37,7 +37,7 @@ export class MoreInfoAlarmControlPanel extends LitElement { id="alarmCode" .label=${this.hass.localize("ui.card.alarm_control_panel.code")} type="password" - .inputmode=${this.stateObj.attributes.code_format === + .inputMode=${this.stateObj.attributes.code_format === FORMAT_NUMBER ? "numeric" : "text"} diff --git a/src/dialogs/more-info/controls/more-info-media_player.ts b/src/dialogs/more-info/controls/more-info-media_player.ts index 7989c384d8..eb725e4bde 100644 --- a/src/dialogs/more-info/controls/more-info-media_player.ts +++ b/src/dialogs/more-info/controls/more-info-media_player.ts @@ -11,7 +11,6 @@ import { } from "@mdi/js"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; -import { isComponentLoaded } from "../../../common/config/is_component_loaded"; import { stopPropagation } from "../../../common/dom/stop_propagation"; import { supportsFeature } from "../../../common/entity/supports-feature"; import { computeRTLDirection } from "../../../common/util/compute_rtl"; @@ -26,8 +25,8 @@ import { handleMediaControlClick, MediaPickedEvent, MediaPlayerEntity, + mediaPlayerPlayMedia, SUPPORT_BROWSE_MEDIA, - SUPPORT_PLAY_MEDIA, SUPPORT_SELECT_SOUND_MODE, SUPPORT_SELECT_SOURCE, SUPPORT_VOLUME_BUTTONS, @@ -191,14 +190,6 @@ class MoreInfoMediaPlayer extends LitElement {
` : ""} - ${isComponentLoaded(this.hass, "tts") && - supportsFeature(stateObj, SUPPORT_PLAY_MEDIA) - ? html` -
- Text to speech has moved to the media browser. -
- ` - : ""} `; } @@ -305,20 +296,14 @@ class MoreInfoMediaPlayer extends LitElement { action: "play", entityId: this.stateObj!.entity_id, mediaPickedCallback: (pickedMedia: MediaPickedEvent) => - this._playMedia( + mediaPlayerPlayMedia( + this.hass, + this.stateObj!.entity_id, pickedMedia.item.media_content_id, pickedMedia.item.media_content_type ), }); } - - private _playMedia(media_content_id: string, media_content_type: string) { - this.hass!.callService("media_player", "play_media", { - entity_id: this.stateObj!.entity_id, - media_content_id, - media_content_type, - }); - } } declare global { diff --git a/src/dialogs/more-info/controls/more-info-weather.ts b/src/dialogs/more-info/controls/more-info-weather.ts index e93e9cbfe8..a680dbd754 100644 --- a/src/dialogs/more-info/controls/more-info-weather.ts +++ b/src/dialogs/more-info/controls/more-info-weather.ts @@ -5,7 +5,6 @@ import { mdiWaterPercent, mdiWeatherWindy, } from "@mdi/js"; -import { HassEntity } from "home-assistant-js-websocket"; import { css, CSSResultGroup, @@ -23,6 +22,7 @@ import { getWeatherUnit, getWind, isForecastHourly, + WeatherEntity, weatherIcons, } from "../../../data/weather"; import { HomeAssistant } from "../../../types"; @@ -31,7 +31,7 @@ import { HomeAssistant } from "../../../types"; class MoreInfoWeather extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; - @property() public stateObj?: HassEntity; + @property() public stateObj?: WeatherEntity; protected shouldUpdate(changedProps: PropertyValues): boolean { if (changedProps.has("stateObj")) { @@ -58,19 +58,23 @@ class MoreInfoWeather extends LitElement { const hourly = isForecastHourly(this.stateObj.attributes.forecast); return html` -
- -
- ${this.hass.localize("ui.card.weather.attributes.temperature")} -
-
- ${formatNumber( - this.stateObj.attributes.temperature, - this.hass.locale - )} - ${getWeatherUnit(this.hass, "temperature")} -
-
+ ${this._showValue(this.stateObj.attributes.temperature) + ? html` +
+ +
+ ${this.hass.localize("ui.card.weather.attributes.temperature")} +
+
+ ${formatNumber( + this.stateObj.attributes.temperature!, + this.hass.locale + )} + ${getWeatherUnit(this.hass, this.stateObj, "temperature")} +
+
+ ` + : ""} ${this._showValue(this.stateObj.attributes.pressure) ? html`
@@ -80,10 +84,10 @@ class MoreInfoWeather extends LitElement {
${formatNumber( - this.stateObj.attributes.pressure, + this.stateObj.attributes.pressure!, this.hass.locale )} - ${getWeatherUnit(this.hass, "pressure")} + ${getWeatherUnit(this.hass, this.stateObj, "pressure")}
` @@ -97,7 +101,7 @@ class MoreInfoWeather extends LitElement {
${formatNumber( - this.stateObj.attributes.humidity, + this.stateObj.attributes.humidity!, this.hass.locale )} % @@ -115,7 +119,8 @@ class MoreInfoWeather extends LitElement {
${getWind( this.hass, - this.stateObj.attributes.wind_speed, + this.stateObj, + this.stateObj.attributes.wind_speed!, this.stateObj.attributes.wind_bearing )}
@@ -131,10 +136,10 @@ class MoreInfoWeather extends LitElement {
${formatNumber( - this.stateObj.attributes.visibility, + this.stateObj.attributes.visibility!, this.hass.locale )} - ${getWeatherUnit(this.hass, "length")} + ${getWeatherUnit(this.hass, this.stateObj, "visibility")}
` @@ -173,16 +178,24 @@ class MoreInfoWeather extends LitElement { `}
${this._showValue(item.templow) - ? `${formatNumber(item.templow, this.hass.locale)} - ${getWeatherUnit(this.hass, "temperature")}` + ? `${formatNumber(item.templow!, this.hass.locale)} + ${getWeatherUnit( + this.hass, + this.stateObj!, + "temperature" + )}` : hourly ? "" : "—"}
${this._showValue(item.temperature) - ? `${formatNumber(item.temperature, this.hass.locale)} - ${getWeatherUnit(this.hass, "temperature")}` + ? `${formatNumber(item.temperature!, this.hass.locale)} + ${getWeatherUnit( + this.hass, + this.stateObj!, + "temperature" + )}` : "—"}
` @@ -240,7 +253,7 @@ class MoreInfoWeather extends LitElement { `; } - private _showValue(item: string): boolean { + private _showValue(item: number | string | undefined): boolean { return typeof item !== "undefined" && item !== null; } } diff --git a/src/dialogs/quick-bar/ha-quick-bar.ts b/src/dialogs/quick-bar/ha-quick-bar.ts index c87ef4244b..ee987044ab 100644 --- a/src/dialogs/quick-bar/ha-quick-bar.ts +++ b/src/dialogs/quick-bar/ha-quick-bar.ts @@ -34,7 +34,7 @@ import "../../components/ha-circular-progress"; import "../../components/ha-header-bar"; import "../../components/ha-icon-button"; import "../../components/ha-textfield"; -import { fetchHassioSupervisorInfo } from "../../data/hassio/supervisor"; +import { fetchHassioAddonsInfo } from "../../data/hassio/addon"; import { domainToName } from "../../data/integration"; import { getPanelNameTranslationKey } from "../../data/panel"; import { PageNavigation } from "../../layouts/hass-tabs-subpage"; @@ -586,7 +586,7 @@ export class QuickBar extends LitElement { const sectionItems = this._generateNavigationConfigSectionCommands(); const supervisorItems: BaseNavigationCommand[] = []; if (isComponentLoaded(this.hass, "hassio")) { - const supervisorInfo = await fetchHassioSupervisorInfo(this.hass); + const addonsInfo = await fetchHassioAddonsInfo(this.hass); supervisorItems.push({ path: "/hassio/store", primaryText: this.hass.localize( @@ -599,7 +599,7 @@ export class QuickBar extends LitElement { "ui.dialogs.quick-bar.commands.navigation.addon_dashboard" ), }); - for (const addon of supervisorInfo.addons) { + for (const addon of addonsInfo.addons.filter((a) => a.version)) { supervisorItems.push({ path: `/hassio/addon/${addon.slug}`, primaryText: this.hass.localize( @@ -803,6 +803,9 @@ export class QuickBar extends LitElement { span.command-text { margin-left: 8px; + margin-inline-start: 8px; + margin-inline-end: initial; + direction: var(--direction); } mwc-list-item { diff --git a/src/fake_data/provide_hass.ts b/src/fake_data/provide_hass.ts index 3fd29bcdbf..e71667675e 100644 --- a/src/fake_data/provide_hass.ts +++ b/src/fake_data/provide_hass.ts @@ -194,6 +194,7 @@ export const provideHass = ( socket: { readyState: WebSocket.OPEN, }, + haVersion: "DEMO", } as any, connected: true, states: {}, diff --git a/src/panels/config/application_credentials/dialog-add-application-credential.ts b/src/panels/config/application_credentials/dialog-add-application-credential.ts index 516b762806..542fe41c0b 100644 --- a/src/panels/config/application_credentials/dialog-add-application-credential.ts +++ b/src/panels/config/application_credentials/dialog-add-application-credential.ts @@ -7,10 +7,12 @@ import { fireEvent } from "../../../common/dom/fire_event"; import "../../../components/ha-circular-progress"; import "../../../components/ha-combo-box"; import { createCloseHeading } from "../../../components/ha-dialog"; +import "../../../components/ha-markdown"; import "../../../components/ha-textfield"; import { fetchApplicationCredentialsConfig, createApplicationCredential, + ApplicationCredentialsConfig, ApplicationCredential, } from "../../../data/application_credential"; import { domainToName } from "../../../data/integration"; @@ -42,17 +44,22 @@ export class DialogAddApplicationCredential extends LitElement { @state() private _name?: string; + @state() private _description?: string; + @state() private _clientId?: string; @state() private _clientSecret?: string; @state() private _domains?: Domain[]; + @state() private _config?: ApplicationCredentialsConfig; + public showDialog(params: AddApplicationCredentialDialogParams) { this._params = params; this._domain = params.selectedDomain !== undefined ? params.selectedDomain : ""; this._name = ""; + this._description = ""; this._clientId = ""; this._clientSecret = ""; this._error = undefined; @@ -61,11 +68,15 @@ export class DialogAddApplicationCredential extends LitElement { } private async _fetchConfig() { - const config = await fetchApplicationCredentialsConfig(this.hass); - this._domains = config.domains.map((domain) => ({ + this._config = await fetchApplicationCredentialsConfig(this.hass); + this._domains = Object.keys(this._config.integrations).map((domain) => ({ id: domain, name: domainToName(this.hass.localize, domain), })); + await this.hass.loadBackendTranslation("application_credentials"); + if (this._domain !== "") { + this._updateDescription(); + } } protected render(): TemplateResult { @@ -103,6 +114,12 @@ export class DialogAddApplicationCredential extends LitElement { required @value-changed=${this._handleDomainPicked} > + ${this._description + ? html`` + : ""} ${this.hass!.localize( - "ui.panel.config.cloud.alexa.manage_domains" + "ui.panel.config.cloud.alexa.manage_defaults" )} ` @@ -402,6 +402,10 @@ class CloudAlexa extends SubscribeMixin(LitElement) { private _openDomainToggler() { showDomainTogglerDialog(this, { + title: this.hass!.localize("ui.panel.config.cloud.alexa.manage_defaults"), + description: this.hass!.localize( + "ui.panel.config.cloud.alexa.manage_defaults_dialog_description" + ), domains: this._entities!.map((entity) => computeDomain(entity.entity_id) ).filter((value, idx, self) => self.indexOf(value) === idx), diff --git a/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts b/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts index f48fb570e4..f177094f8a 100644 --- a/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts +++ b/src/panels/config/cloud/google-assistant/cloud-google-assistant.ts @@ -256,7 +256,7 @@ class CloudGoogleAssistant extends SubscribeMixin(LitElement) { slot="toolbar-icon" @click=${this._openDomainToggler} >${this.hass!.localize( - "ui.panel.config.cloud.google.manage_domains" + "ui.panel.config.cloud.google.manage_defaults" )} ` @@ -442,6 +442,12 @@ class CloudGoogleAssistant extends SubscribeMixin(LitElement) { private _openDomainToggler() { showDomainTogglerDialog(this, { + title: this.hass!.localize( + "ui.panel.config.cloud.google.manage_defaults" + ), + description: this.hass!.localize( + "ui.panel.config.cloud.google.manage_defaults_dialog_description" + ), domains: this._entities!.map((entity) => computeDomain(entity.entity_id) ).filter((value, idx, self) => self.indexOf(value) === idx), diff --git a/src/panels/config/core/ha-config-section-general.ts b/src/panels/config/core/ha-config-section-general.ts index 2f9588e8ad..a2123ddf24 100644 --- a/src/panels/config/core/ha-config-section-general.ts +++ b/src/panels/config/core/ha-config-section-general.ts @@ -273,6 +273,15 @@ class HaConfigSectionGeneral extends LitElement { } button.progress = true; + let locationConfig; + + if (this._location) { + locationConfig = { + latitude: this._location[0], + longitude: this._location[1], + }; + } + try { await saveCoreConfig(this.hass, { currency: this._currency, @@ -280,6 +289,7 @@ class HaConfigSectionGeneral extends LitElement { unit_system: this._unitSystem, time_zone: this._timeZone, location_name: this._name, + ...locationConfig, }); button.actionSuccess(); } catch (err: any) { diff --git a/src/panels/config/core/ha-config-system-navigation.ts b/src/panels/config/core/ha-config-system-navigation.ts index e8a9584326..210e9b3bf3 100644 --- a/src/panels/config/core/ha-config-system-navigation.ts +++ b/src/panels/config/core/ha-config-system-navigation.ts @@ -139,12 +139,6 @@ class HaConfigSystemNavigation extends LitElement { hasSecondary > - ${this.hass.userData?.showAdvanced - ? html` - Looking for YAML Configuration? It has moved to -
Developer Tools - ` - : ""} `; diff --git a/src/panels/config/dashboard/ha-config-updates.ts b/src/panels/config/dashboard/ha-config-updates.ts index dcb02c4de4..a24bce31e2 100644 --- a/src/panels/config/dashboard/ha-config-updates.ts +++ b/src/panels/config/dashboard/ha-config-updates.ts @@ -1,6 +1,5 @@ import "@material/mwc-button/mwc-button"; import "@material/mwc-list/mwc-list"; -import "@material/mwc-list/mwc-list-item"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property } from "lit/decorators"; import { fireEvent } from "../../../common/dom/fire_event"; @@ -10,6 +9,7 @@ import "../../../components/ha-icon-next"; import type { UpdateEntity } from "../../../data/update"; import type { HomeAssistant } from "../../../types"; import "../../../components/ha-circular-progress"; +import "../../../components/ha-list-item"; @customElement("ha-config-updates") class HaConfigUpdates extends LitElement { @@ -39,7 +39,7 @@ class HaConfigUpdates extends LitElement { ${updates.map( (entity) => html` - ` : html`` : ""} - + ` )} @@ -135,7 +135,7 @@ class HaConfigUpdates extends LitElement { outline: none; text-decoration: underline; } - mwc-list-item { + ha-list-item { cursor: pointer; font-size: 16px; } diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts index 004a2a6c95..d0843bc2ac 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/device-actions.ts @@ -1,10 +1,18 @@ import { getConfigEntries } from "../../../../../../data/config_entries"; import { DeviceRegistryEntry } from "../../../../../../data/device_registry"; -import { fetchZwaveNodeStatus } from "../../../../../../data/zwave_js"; +import { + fetchZwaveIsAnyFirmwareUpdateInProgress, + fetchZwaveNodeFirmwareUpdateCapabilities, + fetchZwaveNodeIsFirmwareUpdateInProgress, + fetchZwaveNodeStatus, +} from "../../../../../../data/zwave_js"; +import { showConfirmationDialog } from "../../../../../../dialogs/generic/show-dialog-box"; import type { HomeAssistant } from "../../../../../../types"; import { showZWaveJSHealNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-heal-node"; +import { showZWaveJSNodeStatisticsDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics"; import { showZWaveJSReinterviewNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-reinterview-node"; import { showZWaveJSRemoveFailedNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-remove-failed-node"; +import { showZWaveJUpdateFirmwareNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node"; import type { DeviceAction } from "../../../ha-config-device-page"; export const getZwaveDeviceActions = async ( @@ -26,13 +34,13 @@ export const getZwaveDeviceActions = async ( const entryId = configEntry.entry_id; - const node = await fetchZwaveNodeStatus(hass, device.id); + const nodeStatus = await fetchZwaveNodeStatus(hass, device.id); - if (!node || node.is_controller_node) { + if (!nodeStatus || nodeStatus.is_controller_node) { return []; } - return [ + const actions = [ { label: hass.localize( "ui.panel.config.zwave_js.device_info.device_config" @@ -52,7 +60,7 @@ export const getZwaveDeviceActions = async ( label: hass.localize("ui.panel.config.zwave_js.device_info.heal_node"), action: () => showZWaveJSHealNodeDialog(el, { - device: device, + device, }), }, { @@ -64,5 +72,57 @@ export const getZwaveDeviceActions = async ( device_id: device.id, }), }, + { + label: hass.localize( + "ui.panel.config.zwave_js.device_info.node_statistics" + ), + action: () => + showZWaveJSNodeStatisticsDialog(el, { + device, + }), + }, ]; + + if (!nodeStatus.ready) { + return actions; + } + + const [ + firmwareUpdateCapabilities, + isAnyFirmwareUpdateInProgress, + isNodeFirmwareUpdateInProgress, + ] = await Promise.all([ + fetchZwaveNodeFirmwareUpdateCapabilities(hass, device.id), + fetchZwaveIsAnyFirmwareUpdateInProgress(hass, entryId), + fetchZwaveNodeIsFirmwareUpdateInProgress(hass, device.id), + ]); + + if ( + firmwareUpdateCapabilities.firmware_upgradable && + (!isAnyFirmwareUpdateInProgress || isNodeFirmwareUpdateInProgress) + ) { + actions.push({ + label: hass.localize( + "ui.panel.config.zwave_js.device_info.update_firmware" + ), + action: async () => { + if ( + await showConfirmationDialog(el, { + text: hass.localize( + "ui.panel.config.zwave_js.update_firmware.warning" + ), + dismissText: hass.localize("ui.common.no"), + confirmText: hass.localize("ui.common.yes"), + }) + ) { + showZWaveJUpdateFirmwareNodeDialog(el, { + device, + firmwareUpdateCapabilities, + }); + } + }, + }); + } + + return actions; }; diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts index eae6b47a1b..637b895d62 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts @@ -8,6 +8,7 @@ import { } from "lit"; import { customElement, property, state } from "lit/decorators"; import "../../../../../../components/ha-expansion-panel"; +import { UnsubscribeFunc } from "home-assistant-js-websocket"; import { ConfigEntry, getConfigEntries, @@ -17,13 +18,15 @@ import { fetchZwaveNodeStatus, nodeStatus, SecurityClass, + subscribeZwaveNodeStatus, ZWaveJSNodeStatus, } from "../../../../../../data/zwave_js"; import { haStyle } from "../../../../../../resources/styles"; import { HomeAssistant } from "../../../../../../types"; +import { SubscribeMixin } from "../../../../../../mixins/subscribe-mixin"; @customElement("ha-device-info-zwave_js") -export class HaDeviceInfoZWaveJS extends LitElement { +export class HaDeviceInfoZWaveJS extends SubscribeMixin(LitElement) { @property({ attribute: false }) public hass!: HomeAssistant; @property({ attribute: false }) public device!: DeviceRegistryEntry; @@ -41,6 +44,21 @@ export class HaDeviceInfoZWaveJS extends LitElement { } } + public hassSubscribe(): Array> { + return [ + subscribeZwaveNodeStatus(this.hass, this.device!.id, (message) => { + if (!this._node) { + return; + } + this._node = { + ...this._node, + status: message.status, + ready: message.ready, + }; + }), + ]; + } + protected async _fetchNodeDetails() { if (!this.device) { return; diff --git a/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts b/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts index cb287db2a1..662e8f3ca9 100644 --- a/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts +++ b/src/panels/config/devices/device-registry-detail/dialog-device-registry-detail.ts @@ -181,6 +181,9 @@ class DialogDeviceRegistryDetail extends LitElement { } ha-switch { margin-right: 16px; + margin-inline-end: 16px; + margin-inline-start: initial; + direction: var(--direction); } .row { margin-top: 8px; diff --git a/src/panels/config/devices/ha-config-device-page.ts b/src/panels/config/devices/ha-config-device-page.ts index e5cb27109d..a91b6eb9d2 100644 --- a/src/panels/config/devices/ha-config-device-page.ts +++ b/src/panels/config/devices/ha-config-device-page.ts @@ -1265,8 +1265,11 @@ export class HaConfigDevicePage extends LitElement { .card-header ha-icon-button { margin-right: -8px; + margin-inline-end: -8px; + margin-inline-start: initial; color: var(--primary-color); height: auto; + direction: var(--direction); } .device-info { @@ -1332,6 +1335,9 @@ export class HaConfigDevicePage extends LitElement { .header-right > *:not(:first-child) { margin-left: 16px; + margin-inline-start: 16px; + margin-inline-end: initial; + direction: var(--direction); } .battery { diff --git a/src/panels/config/entities/entity-registry-settings.ts b/src/panels/config/entities/entity-registry-settings.ts index 3750446e0a..799d221004 100644 --- a/src/panels/config/entities/entity-registry-settings.ts +++ b/src/panels/config/entities/entity-registry-settings.ts @@ -110,6 +110,14 @@ const OVERRIDE_SENSOR_UNITS = { pressure: ["hPa", "Pa", "kPa", "bar", "cbar", "mbar", "mmHg", "inHg", "psi"], }; +const OVERRIDE_WEATHER_UNITS = { + precipitation: ["mm", "in"], + pressure: ["hPa", "mbar", "mmHg", "inHg"], + temperature: ["°C", "°F"], + visibility: ["km", "mi"], + wind_speed: ["ft/s", "km/h", "kn", "mph", "m/s"], +}; + const SWITCH_AS_DOMAINS = ["cover", "fan", "light", "lock", "siren"]; @customElement("entity-registry-settings") @@ -140,6 +148,16 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) { @state() private _unit_of_measurement?: string | null; + @state() private _precipitation_unit?: string | null; + + @state() private _pressure_unit?: string | null; + + @state() private _temperature_unit?: string | null; + + @state() private _visibility_unit?: string | null; + + @state() private _wind_speed_unit?: string | null; + @state() private _error?: string; @state() private _submitting?: boolean; @@ -223,6 +241,16 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) { this._unit_of_measurement = stateObj?.attributes?.unit_of_measurement; } + if (domain === "weather") { + const stateObj: HassEntity | undefined = + this.hass.states[this.entry.entity_id]; + this._precipitation_unit = stateObj?.attributes?.precipitation_unit; + this._pressure_unit = stateObj?.attributes?.pressure_unit; + this._temperature_unit = stateObj?.attributes?.temperature_unit; + this._visibility_unit = stateObj?.attributes?.visibility_unit; + this._wind_speed_unit = stateObj?.attributes?.wind_speed_unit; + } + const deviceClasses: string[][] = OVERRIDE_DEVICE_CLASSES[domain]; if (!deviceClasses) { @@ -333,7 +361,8 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) { ` : ""} - ${this._deviceClass && + ${domain === "sensor" && + this._deviceClass && stateObj?.attributes.unit_of_measurement && OVERRIDE_SENSOR_UNITS[this._deviceClass]?.includes( stateObj?.attributes.unit_of_measurement @@ -357,6 +386,90 @@ export class EntityRegistrySettings extends SubscribeMixin(LitElement) { ` : ""} + ${domain === "weather" + ? html` + + ${OVERRIDE_WEATHER_UNITS.precipitation.map( + (unit: string) => html` + ${unit} + ` + )} + + + ${OVERRIDE_WEATHER_UNITS.pressure.map( + (unit: string) => html` + ${unit} + ` + )} + + + ${OVERRIDE_WEATHER_UNITS.temperature.map( + (unit: string) => html` + ${unit} + ` + )} + + + ${OVERRIDE_WEATHER_UNITS.visibility.map( + (unit: string) => html` + ${unit} + ` + )} + + + ${OVERRIDE_WEATHER_UNITS.wind_speed.map( + (unit: string) => html` + ${unit} + ` + )} + + ` + : ""} ${domain === "switch" ? html` a[1].localeCompare(b[1])); content = html` - ${items.map(([domain, label]) => { - // Only OG helpers need to be loaded prior adding one - const isLoaded = - !(domain in HELPERS) || isComponentLoaded(this.hass, domain); - return html` - - - ${label} - - ${!isLoaded - ? html` - ${this.hass.localize( - "ui.dialogs.helper_settings.platform_not_loaded", - "platform", - domain - )} - ` - : ""} - `; - })} + + ${items.map(([domain, label]) => { + // Only OG helpers need to be loaded prior adding one + const isLoaded = + !(domain in HELPERS) || isComponentLoaded(this.hass, domain); + return html` + + + ${label} + + ${!isLoaded + ? html` + ${this.hass.localize( + "ui.dialogs.helper_settings.platform_not_loaded", + "platform", + domain + )} + ` + : ""} + `; + })} + ${this.hass!.localize("ui.common.cancel")} @@ -220,15 +229,6 @@ export class DialogHelperDetail extends LitElement { } } - private _handleEnter(ev: KeyboardEvent) { - if (ev.keyCode !== 13) { - return; - } - ev.stopPropagation(); - ev.preventDefault(); - this._domainPicked(ev); - } - private _domainPicked(ev: Event): void { const domain = (ev.currentTarget! as any).domain; diff --git a/src/panels/config/info/ha-config-info.ts b/src/panels/config/info/ha-config-info.ts index 9412160247..8c9e92cd54 100644 --- a/src/panels/config/info/ha-config-info.ts +++ b/src/panels/config/info/ha-config-info.ts @@ -1,6 +1,18 @@ +import "@material/mwc-list/mwc-list"; +import { + mdiBug, + mdiFileDocument, + mdiHandsPray, + mdiHelp, + mdiHomeAssistant, + mdiPower, + mdiTshirtCrew, +} from "@mdi/js"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { property, state } from "lit/decorators"; import { isComponentLoaded } from "../../../common/config/is_component_loaded"; +import "../../../components/ha-card"; +import "../../../components/ha-clickable-list-item"; import "../../../components/ha-logo-svg"; import { fetchHassioHassOsInfo, @@ -9,12 +21,61 @@ import { import { fetchHassioInfo, HassioInfo } from "../../../data/hassio/supervisor"; import "../../../layouts/hass-subpage"; import { haStyle } from "../../../resources/styles"; -import { HomeAssistant, Route } from "../../../types"; +import type { HomeAssistant, Route } from "../../../types"; import { documentationUrl } from "../../../util/documentation-url"; -const JS_TYPE = __BUILD__; const JS_VERSION = __VERSION__; +const PAGES: Array<{ + name: string; + path: string; + iconPath: string; + iconColor: string; +}> = [ + { + name: "change_log", + path: "/latest-release-notes/", + iconPath: mdiPower, + iconColor: "#4A5963", + }, + { + name: "thanks", + path: "/developers/credits/", + iconPath: mdiHandsPray, + iconColor: "#3B808E", + }, + { + name: "merch", + path: "/merch", + iconPath: mdiTshirtCrew, + iconColor: "#C65326", + }, + { + name: "feature", + path: "/feature-requests", + iconPath: mdiHomeAssistant, + iconColor: "#0D47A1", + }, + { + name: "bug", + path: "/issues", + iconPath: mdiBug, + iconColor: "#F1C447", + }, + { + name: "help", + path: "/community", + iconPath: mdiHelp, + iconColor: "#B1345C", + }, + { + name: "license", + path: "/developers/license/", + iconPath: mdiFileDocument, + iconColor: "#518C43", + }, +]; + class HaConfigInfo extends LitElement { @property({ attribute: false }) public hass!: HomeAssistant; @@ -42,96 +103,76 @@ class HaConfigInfo extends LitElement { back-path="/config" .header=${this.hass.localize("ui.panel.config.info.caption")} > -
- - + +
+ + + + +
+ Home Assistant ${hass.connection.haVersion} + ${this._hassioInfo + ? html`Supervisor ${this._hassioInfo.supervisor}` + : ""} + ${this._osInfo?.version + ? html`Operating System ${this._osInfo.version}` + : ""} + + ${this.hass.localize( + "ui.panel.config.info.frontend_version", + "version", + JS_VERSION + )} + +
+
+ + ${PAGES.map( + (page) => html` + +
+ +
+ + ${this.hass.localize( + `ui.panel.config.info.items.${page.name}` + )} + +
+ ` )} - > - - -
-

Home Assistant Core ${hass.connection.haVersion}

- ${this._hassioInfo - ? html` -

- Home Assistant Supervisor ${this._hassioInfo.supervisor} -

- ` - : ""} - ${this._osInfo?.version - ? html`

Home Assistant OS ${this._osInfo.version}

` - : ""} -

- ${this.hass.localize( - "ui.panel.config.info.path_configuration", - "path", - hass.config.config_dir - )} -

-

- - ${this.hass.localize("ui.panel.config.info.developed_by")} - -

-

- ${this.hass.localize("ui.panel.config.info.license")}
- ${this.hass.localize("ui.panel.config.info.source")} - ${this.hass.localize("ui.panel.config.info.server")} - — - ${this.hass.localize("ui.panel.config.info.frontend")} -

-

- ${this.hass.localize("ui.panel.config.info.built_using")} - Python 3, - Lit, - ${this.hass.localize("ui.panel.config.info.icons_by")} - Google - ${this.hass.localize("ui.common.and")} - Material Design Icons. -

-

- ${this.hass.localize( - "ui.panel.config.info.frontend_version", - "version", - JS_VERSION, - "type", - JS_TYPE - )} - ${customUiList.length > 0 - ? html` -

+ +

+ ${this.hass.localize( + "ui.panel.config.info.path_configuration", + "path", + hass.config.config_dir + )} +

+ ${!customUiList.length + ? "" + : html` +
${this.hass.localize("ui.panel.config.info.custom_uis")} ${customUiList.map( (item) => html` @@ -142,9 +183,8 @@ class HaConfigInfo extends LitElement { ` )}
- ` - : ""} -

+ `} +
`; @@ -176,40 +216,87 @@ class HaConfigInfo extends LitElement { this._osInfo = osInfo; } + private _entryClicked(ev) { + ev.currentTarget.blur(); + } + static get styles(): CSSResultGroup { return [ haStyle, css` - :host { - -ms-user-select: initial; - -webkit-user-select: initial; - -moz-user-select: initial; + .content { + padding: 28px 20px 0; + max-width: 1040px; + margin: 0 auto; } - .about { - text-align: center; - line-height: 2em; - } - - .version { - @apply --paper-font-headline; - } - - .develop { - @apply --paper-font-subhead; - } - - .about a { - color: var(--primary-color); - } ha-logo-svg { padding: 12px; - height: 180px; - width: 180px; + height: 150px; + width: 150px; } - h4 { - font-weight: 400; + ha-card { + padding: 16px; + max-width: 600px; + margin: 0 auto; + margin-bottom: 24px; + margin-bottom: max(24px, env(safe-area-inset-bottom)); + } + + .logo-versions { + display: flex; + justify-content: flex-start; + align-items: center; + } + + .versions { + display: flex; + flex-direction: column; + color: var(--secondary-text-color); + padding: 12px 0; + align-self: stretch; + justify-content: flex-start; + } + + .ha-version { + color: var(--primary-text-color); + font-weight: 500; + font-size: 16px; + } + + mwc-list { + --mdc-list-side-padding: 4px; + } + + ha-svg-icon { + height: 24px; + width: 24px; + display: block; + padding: 8px; + color: #fff; + } + + .icon-background { + border-radius: 50%; + } + + @media all and (max-width: 500px), all and (max-height: 500px) { + ha-logo-svg { + height: 100px; + width: 100px; + } + } + + .config-path { + color: var(--secondary-text-color); + text-align: center; + font-style: italic; + } + + .custom-ui { + color: var(--secondary-text-color); + text-align: center; } `, ]; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts new file mode 100644 index 0000000000..b68eb367c0 --- /dev/null +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-node-statistics.ts @@ -0,0 +1,477 @@ +import { UnsubscribeFunc } from "home-assistant-js-websocket"; +import "@material/mwc-list/mwc-list"; +import "@material/mwc-list/mwc-list-item"; +import "../../../../../components/ha-expansion-panel"; +import "../../../../../components/ha-help-tooltip"; +import "../../../../../components/ha-svg-icon"; +import { mdiSwapHorizontal } from "@mdi/js"; +import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { + DeviceRegistryEntry, + computeDeviceName, + subscribeDeviceRegistry, +} from "../../../../../data/device_registry"; +import { + subscribeZwaveNodeStatistics, + ProtocolDataRate, + ZWaveJSNodeStatisticsUpdatedMessage, + ZWaveJSRouteStatistics, + RssiError, +} from "../../../../../data/zwave_js"; +import { haStyleDialog } from "../../../../../resources/styles"; +import { HomeAssistant } from "../../../../../types"; +import { ZWaveJSNodeStatisticsDialogParams } from "./show-dialog-zwave_js-node-statistics"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; + +type WorkingRouteStatistics = + | (ZWaveJSRouteStatistics & { + repeater_rssi_table?: TemplateResult; + rssi_translated?: TemplateResult | string; + route_failed_between_translated?: [string, string]; + }) + | undefined; + +@customElement("dialog-zwave_js-node-statistics") +class DialogZWaveJSNodeStatistics extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @state() private device?: DeviceRegistryEntry; + + @state() private _nodeStatistics?: ZWaveJSNodeStatisticsUpdatedMessage & { + rssi_translated?: TemplateResult | string; + }; + + @state() private _deviceIDsToName: { [key: string]: string } = {}; + + @state() private _workingRoutes: { + lwr?: WorkingRouteStatistics; + nlwr?: WorkingRouteStatistics; + } = {}; + + private _subscribedNodeStatistics?: Promise; + + private _subscribedDeviceRegistry?: UnsubscribeFunc; + + public showDialog(params: ZWaveJSNodeStatisticsDialogParams): void { + this.device = params.device; + this._subscribeDeviceRegistry(); + this._subscribeNodeStatistics(); + } + + public closeDialog(): void { + this._nodeStatistics = undefined; + this.device = undefined; + + this._unsubscribe(); + + fireEvent(this, "dialog-closed", { dialog: this.localName }); + } + + protected render(): TemplateResult { + if (!this.device) { + return html``; + } + + return html` + + + + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_tx.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_tx.tooltip" + )} + + ${this._nodeStatistics?.commands_tx} + + + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_rx.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_rx.tooltip" + )} + + ${this._nodeStatistics?.commands_rx} + + + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_dropped_tx.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_dropped_tx.tooltip" + )} + + ${this._nodeStatistics?.commands_dropped_tx} + + + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_dropped_rx.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.commands_dropped_rx.tooltip" + )} + + ${this._nodeStatistics?.commands_dropped_rx} + + + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.timeout_response.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.timeout_response.tooltip" + )} + + ${this._nodeStatistics?.timeout_response} + + ${this._nodeStatistics?.rtt + ? html` + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.rtt.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.rtt.tooltip" + )} + + ${this._nodeStatistics.rtt} + ` + : ``} + ${this._nodeStatistics?.rssi_translated + ? html` + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.rssi.label" + )} + + ${this.hass.localize( + "ui.panel.config.zwave_js.node_statistics.rssi.tooltip" + )} + + ${this._nodeStatistics.rssi_translated} + ` + : ``} + + ${Object.entries(this._workingRoutes).map(([wrKey, wrValue]) => + wrValue + ? html` + +
+ + ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.protocol.label" + )} + + ${this.hass.localize( + `ui.panel.config.zwave_js.route_statistics.protocol.protocol_data_rate.${ + ProtocolDataRate[wrValue.protocol_data_rate] + }` + )} +
+
+ + ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.data_rate.label" + )} + + ${this.hass.localize( + `ui.panel.config.zwave_js.route_statistics.data_rate.protocol_data_rate.${ + ProtocolDataRate[wrValue.protocol_data_rate] + }` + )} +
+ ${wrValue.rssi_translated + ? html`
+ + ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.rssi.label" + )} + + ${wrValue.rssi_translated} +
` + : ``} +
+ + ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.route_failed_between.label" + )} + + + ${wrValue.route_failed_between_translated + ? html`${wrValue + .route_failed_between_translated[0]}${wrValue.route_failed_between_translated[1]}` + : this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.route_failed_between.not_applicable" + )} + +
+
+ + ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.repeaters.label" + )} + + ${wrValue.repeater_rssi_table + ? html`
+ ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.repeaters.repeaters" + )}: + ${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.repeaters.rssi" + )}: +
+ ${wrValue.repeater_rssi_table}` + : html`${this.hass.localize( + "ui.panel.config.zwave_js.route_statistics.repeaters.direct" + )}`}
+
+
+ ` + : `` + )} +
+ `; + } + + private _computeRSSI( + rssi: number, + includeUnit: boolean + ): TemplateResult | string { + if (Object.values(RssiError).includes(rssi)) { + return html``; + } + if (includeUnit) { + return `${rssi} + ${this.hass.localize("ui.panel.config.zwave_js.rssi.unit")}`; + } + return rssi.toString(); + } + + private _computeDeviceNameById(device_id: string): "unknown device" | string { + if (!this._deviceIDsToName) { + return "unknown device"; + } + const device = this._deviceIDsToName[device_id]; + if (!device) { + return "unknown device"; + } + + return this._deviceIDsToName[device_id] || "unknown device"; + } + + private _subscribeNodeStatistics(): void { + if (!this.hass) { + return; + } + this._subscribedNodeStatistics = subscribeZwaveNodeStatistics( + this.hass, + this.device!.id, + (message: ZWaveJSNodeStatisticsUpdatedMessage) => { + this._nodeStatistics = { + ...message, + rssi_translated: message.rssi + ? this._computeRSSI(message.rssi, false) + : undefined, + }; + + const workingRoutesValueMap: [ + string, + WorkingRouteStatistics | null | undefined + ][] = [ + ["lwr", this._nodeStatistics?.lwr], + ["nlwr", this._nodeStatistics?.nlwr], + ]; + + const workingRoutes: { + lwr?: WorkingRouteStatistics; + nlwr?: WorkingRouteStatistics; + } = {}; + workingRoutesValueMap.forEach(([wrKey, wrValue]) => { + workingRoutes[wrKey] = wrValue; + + if (wrValue) { + if (wrValue.rssi) { + wrValue.rssi_translated = this._computeRSSI(wrValue.rssi, true); + } + + if (wrValue.route_failed_between) { + wrValue.route_failed_between_translated = [ + this._computeDeviceNameById(wrValue.route_failed_between[0]), + this._computeDeviceNameById(wrValue.route_failed_between[1]), + ]; + } + + if (wrValue.repeaters && wrValue.repeaters.length) { + wrValue.repeater_rssi_table = html`${wrValue.repeaters.map( + (_, idx) => + html`
+ ${this._computeDeviceNameById( + wrValue.repeaters[idx] + )}: + ${this._computeRSSI( + wrValue.repeater_rssi[idx], + true + )} +
` + )}`; + } + } + }); + this._workingRoutes = workingRoutes; + } + ); + } + + private _subscribeDeviceRegistry(): void { + if (!this.hass) { + return; + } + this._subscribedDeviceRegistry = subscribeDeviceRegistry( + this.hass.connection, + (devices: DeviceRegistryEntry[]) => { + const devicesIdToName = {}; + devices.forEach((device) => { + devicesIdToName[device.id] = computeDeviceName(device, this.hass); + }); + this._deviceIDsToName = devicesIdToName; + } + ); + } + + private _unsubscribe(): void { + if (this._subscribedNodeStatistics) { + this._subscribedNodeStatistics.then((unsub) => unsub()); + this._subscribedNodeStatistics = undefined; + } + if (this._subscribedDeviceRegistry) { + this._subscribedDeviceRegistry(); + this._subscribedDeviceRegistry = undefined; + } + } + + static get styles(): CSSResultGroup { + return [ + haStyleDialog, + css` + mwc-list-item { + height: 60px; + } + + .row { + display: flex; + justify-content: space-between; + } + + .table { + display: table; + } + + .key-cell { + display: table-cell; + padding-right: 5px; + } + + .value-cell { + display: table-cell; + padding-left: 5px; + } + + span[slot="meta"] { + font-size: 0.95em; + color: var(--primary-text-color); + } + `, + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "dialog-zwave_js-node-statistics": DialogZWaveJSNodeStatistics; + } +} diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts new file mode 100644 index 0000000000..b0f76d331d --- /dev/null +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-update-firmware-node.ts @@ -0,0 +1,461 @@ +import "../../../../../components/ha-file-upload"; +import "../../../../../components/ha-form/ha-form"; +import "../../../../../components/ha-svg-icon"; +import "@material/mwc-button/mwc-button"; +import "@material/mwc-linear-progress/mwc-linear-progress"; +import { mdiCheckCircle, mdiCloseCircle, mdiFileUpload } from "@mdi/js"; +import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; +import { customElement, property, state } from "lit/decorators"; +import memoizeOne from "memoize-one"; +import { UnsubscribeFunc } from "home-assistant-js-websocket"; +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { createCloseHeading } from "../../../../../components/ha-dialog"; +import { + DeviceRegistryEntry, + computeDeviceName, +} from "../../../../../data/device_registry"; +import { + abortZwaveNodeFirmwareUpdate, + fetchZwaveNodeIsFirmwareUpdateInProgress, + fetchZwaveNodeStatus, + FirmwareUpdateStatus, + NodeStatus, + subscribeZwaveNodeStatus, + subscribeZwaveNodeFirmwareUpdate, + uploadFirmwareAndBeginUpdate, + ZWaveJSNodeFirmwareUpdateFinishedMessage, + ZWaveJSNodeFirmwareUpdateProgressMessage, + ZWaveJSNodeStatusUpdatedMessage, + ZWaveJSNodeFirmwareUpdateCapabilities, + ZWaveJSNodeStatus, +} from "../../../../../data/zwave_js"; +import { haStyleDialog } from "../../../../../resources/styles"; +import { HomeAssistant } from "../../../../../types"; +import { ZWaveJSUpdateFirmwareNodeDialogParams } from "./show-dialog-zwave_js-update-firmware-node"; +import { + showAlertDialog, + showConfirmationDialog, +} from "../../../../../dialogs/generic/show-dialog-box"; +import { HaFormIntegerSchema } from "../../../../../components/ha-form/types"; + +@customElement("dialog-zwave_js-update-firmware-node") +class DialogZWaveJSUpdateFirmwareNode extends LitElement { + @property({ attribute: false }) public hass!: HomeAssistant; + + @state() private device?: DeviceRegistryEntry; + + @state() private _uploading = false; + + @state() + private _updateFinishedMessage?: ZWaveJSNodeFirmwareUpdateFinishedMessage; + + @state() + private _updateProgressMessage?: ZWaveJSNodeFirmwareUpdateProgressMessage; + + @state() private _updateInProgress = false; + + @state() private _firmwareFile?: File; + + @state() private _nodeStatus?: ZWaveJSNodeStatus; + + @state() private _firmwareTarget? = 0; + + private _subscribedNodeStatus?: Promise; + + private _subscribedNodeFirmwareUpdate?: Promise; + + private _deviceName?: string; + + private _firmwareUpdateCapabilities?: ZWaveJSNodeFirmwareUpdateCapabilities; + + public showDialog(params: ZWaveJSUpdateFirmwareNodeDialogParams): void { + this._deviceName = computeDeviceName(params.device, this.hass!); + this.device = params.device; + this._firmwareUpdateCapabilities = params.firmwareUpdateCapabilities; + this._fetchData(); + this._subscribeNodeStatus(); + } + + public closeDialog(): void { + this._unsubscribeNodeFirmwareUpdate(); + this._unsubscribeNodeStatus(); + this.device = + this._updateProgressMessage = + this._updateFinishedMessage = + this._firmwareFile = + this._nodeStatus = + this._firmwareUpdateCapabilities = + undefined; + this._firmwareTarget = 0; + this._uploading = this._updateInProgress = false; + + fireEvent(this, "dialog-closed", { dialog: this.localName }); + } + + private _schema = memoizeOne( + ( + firmwareUpdateCapabilities: ZWaveJSNodeFirmwareUpdateCapabilities + ): HaFormIntegerSchema => { + if (!firmwareUpdateCapabilities.firmware_upgradable) { + // We should never get here, this is to pass type checks + throw new Error(); + } + return { + name: "firmware_target", + type: "integer", + valueMin: Math.min(...firmwareUpdateCapabilities.firmware_targets), + valueMax: Math.max(...firmwareUpdateCapabilities.firmware_targets), + }; + } + ); + + protected render(): TemplateResult { + if ( + !this.device || + !this._nodeStatus || + !this._firmwareUpdateCapabilities || + !this._firmwareUpdateCapabilities.firmware_upgradable || + this._updateInProgress === undefined + ) { + return html``; + } + + const beginFirmwareUpdateHTML = html` + ${this._firmwareUpdateCapabilities.firmware_targets.length > 1 + ? html`

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.firmware_target_intro" + )} +

+ ` + : ""} + + ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.begin_update" + )} + `; + + const abortFirmwareUpdateButton = html` + + ${this.hass.localize("ui.panel.config.zwave_js.update_firmware.abort")} + + `; + + const status = this._updateFinishedMessage + ? FirmwareUpdateStatus[this._updateFinishedMessage.status] + .split("_")[0] + .toLowerCase() + : undefined; + + return html` + + ${!this._updateProgressMessage && !this._updateFinishedMessage + ? !this._updateInProgress + ? html` +

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.introduction", + { + device: html`${this._deviceName}`, + } + )} +

+ ${beginFirmwareUpdateHTML} + ` + : html` +

+ ${this._nodeStatus.status === NodeStatus.Asleep + ? this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.queued", + { + device: html`${this._deviceName}`, + } + ) + : this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.awake", + { + device: html`${this._deviceName}`, + } + )} +

+

+ ${this._nodeStatus.status === NodeStatus.Asleep + ? this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.close_queued", + { + device: html`${this._deviceName}`, + } + ) + : this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.close", + { + device: html`${this._deviceName}`, + } + )} +

+ ${abortFirmwareUpdateButton} + ` + : this._updateProgressMessage && !this._updateFinishedMessage + ? html` +

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.in_progress", + { + device: html`${this._deviceName}`, + progress: ( + (this._updateProgressMessage.sent_fragments * 100) / + this._updateProgressMessage.total_fragments + ).toFixed(2), + } + )} +

+ +

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.close", + { + device: html`${this._deviceName}`, + } + )} +

+ ${abortFirmwareUpdateButton} + ` + : html` +
+ +
+

+ ${this.hass.localize( + `ui.panel.config.zwave_js.update_firmware.finished_status.${status}`, + { + device: html`${this._deviceName}`, + message: this.hass.localize( + `ui.panel.config.zwave_js.update_firmware.finished_status.${ + FirmwareUpdateStatus[ + this._updateFinishedMessage!.status + ] + }` + ), + } + )} +

+
+
+ ${status === "ok" + ? html`

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.finished_status.done" + )} +

` + : html`

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.finished_status.try_again" + )} +

+ ${beginFirmwareUpdateHTML}`} +

+ ${this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.finished_status.try_again" + )} +

+ ${beginFirmwareUpdateHTML} + `} +
+ `; + } + + private async _fetchData(): Promise { + [this._nodeStatus, this._updateInProgress] = await Promise.all([ + fetchZwaveNodeStatus(this.hass, this.device!.id), + fetchZwaveNodeIsFirmwareUpdateInProgress(this.hass, this.device!.id), + ]); + if (this._updateInProgress) { + this._subscribeNodeFirmwareUpdate(); + } + } + + private async _beginFirmwareUpdate(): Promise { + this._uploading = true; + this._updateProgressMessage = this._updateFinishedMessage = undefined; + try { + this._subscribeNodeFirmwareUpdate(); + await uploadFirmwareAndBeginUpdate( + this.hass, + this.device!.id, + this._firmwareFile!, + this._firmwareTarget + ); + this._updateInProgress = true; + this._uploading = false; + } catch (err: any) { + this._unsubscribeNodeFirmwareUpdate(); + this._uploading = false; + showAlertDialog(this, { + title: this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.upload_failed" + ), + text: err.message, + confirmText: this.hass!.localize("ui.common.close"), + }); + } + } + + private async _abortFirmwareUpdate(): Promise { + if ( + await showConfirmationDialog(this, { + text: this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.confirm_abort", + { + device: html`${this._deviceName}`, + } + ), + dismissText: this.hass!.localize("ui.common.no"), + confirmText: this.hass!.localize("ui.common.yes"), + }) + ) { + this._unsubscribeNodeFirmwareUpdate(); + try { + await abortZwaveNodeFirmwareUpdate(this.hass, this.device!.id); + } catch (err: any) { + showAlertDialog(this, { + title: this.hass.localize( + "ui.panel.config.zwave_js.update_firmware.abort_failed" + ), + text: err.message, + confirmText: this.hass!.localize("ui.common.close"), + }); + } + this._firmwareFile = undefined; + this._updateFinishedMessage = undefined; + this._updateProgressMessage = undefined; + this._updateInProgress = false; + } + } + + private _subscribeNodeStatus(): void { + if (!this.hass || !this.device || this._subscribedNodeStatus) { + return; + } + this._subscribedNodeStatus = subscribeZwaveNodeStatus( + this.hass, + this.device.id, + (message: ZWaveJSNodeStatusUpdatedMessage) => { + this._nodeStatus!.status = message.status; + } + ); + } + + private _unsubscribeNodeStatus(): void { + if (!this._subscribedNodeStatus) { + return; + } + this._subscribedNodeStatus.then((unsub) => unsub()); + this._subscribedNodeStatus = undefined; + } + + private _subscribeNodeFirmwareUpdate(): void { + if (!this.hass || !this.device || this._subscribedNodeFirmwareUpdate) { + return; + } + this._subscribedNodeFirmwareUpdate = subscribeZwaveNodeFirmwareUpdate( + this.hass, + this.device.id, + ( + message: + | ZWaveJSNodeFirmwareUpdateFinishedMessage + | ZWaveJSNodeFirmwareUpdateProgressMessage + ) => { + if (message.event === "firmware update progress") { + if (!this._updateFinishedMessage) { + this._updateProgressMessage = message; + } + } else { + this._unsubscribeNodeFirmwareUpdate(); + this._updateProgressMessage = undefined; + this._updateInProgress = false; + this._updateFinishedMessage = message; + } + } + ); + } + + private _unsubscribeNodeFirmwareUpdate(): void { + if (!this._subscribedNodeFirmwareUpdate) { + return; + } + this._subscribedNodeFirmwareUpdate.then((unsub) => unsub()); + this._subscribedNodeFirmwareUpdate = undefined; + } + + private async _firmwareTargetChanged(ev) { + this._firmwareTarget = ev.detail.value.firmware_target; + } + + private async _uploadFile(ev) { + this._firmwareFile = ev.detail.files[0]; + } + + static get styles(): CSSResultGroup { + return [ + haStyleDialog, + css` + .ok { + color: var(--success-color); + } + + .error { + color: var(--error-color); + } + + .flex-container { + display: flex; + align-items: center; + margin-bottom: 5px; + } + + ha-svg-icon { + width: 68px; + height: 48px; + } + `, + ]; + } +} + +declare global { + interface HTMLElementTagNameMap { + "dialog-zwave_js-update-firmware-node": DialogZWaveJSUpdateFirmwareNode; + } +} diff --git a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts new file mode 100644 index 0000000000..ec48d7f02c --- /dev/null +++ b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-node-statistics.ts @@ -0,0 +1,20 @@ +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { DeviceRegistryEntry } from "../../../../../data/device_registry"; + +export interface ZWaveJSNodeStatisticsDialogParams { + device: DeviceRegistryEntry; +} + +export const loadNodeStatisticsDialog = () => + import("./dialog-zwave_js-node-statistics"); + +export const showZWaveJSNodeStatisticsDialog = ( + element: HTMLElement, + nodeStatisticsDialogParams: ZWaveJSNodeStatisticsDialogParams +): void => { + fireEvent(element, "show-dialog", { + dialogTag: "dialog-zwave_js-node-statistics", + dialogImport: loadNodeStatisticsDialog, + dialogParams: nodeStatisticsDialogParams, + }); +}; diff --git a/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts new file mode 100644 index 0000000000..dc45f309f6 --- /dev/null +++ b/src/panels/config/integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node.ts @@ -0,0 +1,22 @@ +import { fireEvent } from "../../../../../common/dom/fire_event"; +import { DeviceRegistryEntry } from "../../../../../data/device_registry"; +import { ZWaveJSNodeFirmwareUpdateCapabilities } from "../../../../../data/zwave_js"; + +export interface ZWaveJSUpdateFirmwareNodeDialogParams { + device: DeviceRegistryEntry; + firmwareUpdateCapabilities: ZWaveJSNodeFirmwareUpdateCapabilities; +} + +export const loadUpdateFirmwareNodeDialog = () => + import("./dialog-zwave_js-update-firmware-node"); + +export const showZWaveJUpdateFirmwareNodeDialog = ( + element: HTMLElement, + updateFirmwareNodeDialogParams: ZWaveJSUpdateFirmwareNodeDialogParams +): void => { + fireEvent(element, "show-dialog", { + dialogTag: "dialog-zwave_js-update-firmware-node", + dialogImport: loadUpdateFirmwareNodeDialog, + dialogParams: updateFirmwareNodeDialogParams, + }); +}; diff --git a/src/panels/config/logs/ha-config-logs.ts b/src/panels/config/logs/ha-config-logs.ts index 1981a08a25..d8f811fcf4 100644 --- a/src/panels/config/logs/ha-config-logs.ts +++ b/src/panels/config/logs/ha-config-logs.ts @@ -6,7 +6,7 @@ import { extractSearchParam } from "../../../common/url/search-params"; import "../../../components/ha-button-menu"; import "../../../components/search-input"; import { LogProvider } from "../../../data/error_log"; -import { fetchHassioSupervisorInfo } from "../../../data/hassio/supervisor"; +import { fetchHassioAddonsInfo } from "../../../data/hassio/addon"; import "../../../layouts/hass-subpage"; import "../../../layouts/hass-tabs-subpage"; import { haStyle } from "../../../resources/styles"; @@ -167,13 +167,15 @@ export class HaConfigLogs extends LitElement { private async _getInstalledAddons() { try { - const supervisorInfo = await fetchHassioSupervisorInfo(this.hass); + const addonsInfo = await fetchHassioAddonsInfo(this.hass); this._logProviders = [ ...this._logProviders, - ...supervisorInfo.addons.map((addon) => ({ - key: addon.slug, - name: addon.name, - })), + ...addonsInfo.addons + .filter((addon) => addon.version) + .map((addon) => ({ + key: addon.slug, + name: addon.name, + })), ]; } catch (err) { // Ignore, nothing the user can do anyway diff --git a/src/panels/history/ha-panel-history.ts b/src/panels/history/ha-panel-history.ts index 7caa849c0a..9deb2cf1b1 100644 --- a/src/panels/history/ha-panel-history.ts +++ b/src/panels/history/ha-panel-history.ts @@ -12,6 +12,7 @@ import { } from "date-fns/esm"; import { css, html, LitElement, PropertyValues } from "lit"; import { property, state } from "lit/decorators"; +import { UnsubscribeFunc } from "home-assistant-js-websocket/dist/types"; import { navigate } from "../../common/navigate"; import { createSearchParam, @@ -19,7 +20,7 @@ import { } from "../../common/url/search-params"; import { computeRTL } from "../../common/util/compute_rtl"; import "../../components/chart/state-history-charts"; -import "../../components/entity/ha-entity-picker"; +import "../../components/ha-target-picker"; import "../../components/ha-circular-progress"; import "../../components/ha-date-range-picker"; import type { DateRangePickerRanges } from "../../components/ha-date-range-picker"; @@ -29,8 +30,15 @@ import { computeHistory, fetchDateWS } from "../../data/history"; import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; +import { + EntityRegistryEntry, + subscribeEntityRegistry, +} from "../../data/entity_registry"; +import { SubscribeMixin } from "../../mixins/subscribe-mixin"; +import { computeStateName } from "../../common/entity/compute_state_name"; +import { computeDomain } from "../../common/entity/compute_domain"; -class HaPanelHistory extends LitElement { +class HaPanelHistory extends SubscribeMixin(LitElement) { @property() hass!: HomeAssistant; @property({ reflect: true, type: Boolean }) narrow!: boolean; @@ -39,7 +47,7 @@ class HaPanelHistory extends LitElement { @property() _endDate: Date; - @property() _entityId = ""; + @property() _targetPickerValue?; @property() _isLoading = false; @@ -49,6 +57,10 @@ class HaPanelHistory extends LitElement { @state() private _ranges?: DateRangePickerRanges; + @state() private _entities?: EntityRegistryEntry[]; + + @state() private _stateEntities?: EntityRegistryEntry[]; + public constructor() { super(); @@ -61,6 +73,14 @@ class HaPanelHistory extends LitElement { this._endDate = end; } + public hassSubscribe(): UnsubscribeFunc[] { + return [ + subscribeEntityRegistry(this.hass.connection!, (entities) => { + this._entities = entities; + }), + ]; + } + protected render() { return html` @@ -80,25 +100,40 @@ class HaPanelHistory extends LitElement { -
- - - +
+
+ + +
+ ${this._isLoading + ? html`
+ +
` + : html` + + + `}
${this._isLoading ? html`
@@ -142,7 +177,13 @@ class HaPanelHistory extends LitElement { [addDays(weekStart, -7), addDays(weekEnd, -7)], }; - this._entityId = extractSearchParam("entity_id") ?? ""; + const entityIds = extractSearchParam("entity_id"); + if (entityIds) { + const splitEntityIds = entityIds.split(","); + this._targetPickerValue = { + entity_id: splitEntityIds, + }; + } const startDate = extractSearchParam("start_date"); if (startDate) { @@ -158,16 +199,41 @@ class HaPanelHistory extends LitElement { if ( changedProps.has("_startDate") || changedProps.has("_endDate") || - changedProps.has("_entityId") + changedProps.has("_targetPickerValue") || + changedProps.has("_entities") ) { this._getHistory(); } - if (changedProps.has("hass")) { + if (changedProps.has("hass") || changedProps.has("_entities")) { const oldHass = changedProps.get("hass") as HomeAssistant | undefined; if (!oldHass || oldHass.language !== this.hass.language) { this.rtl = computeRTL(this.hass); } + if (this._entities) { + const stateEntities: EntityRegistryEntry[] = []; + const regEntityIds = new Set( + this._entities.map((entity) => entity.entity_id) + ); + for (const entityId of Object.keys(this.hass.states)) { + if (regEntityIds.has(entityId)) { + continue; + } + stateEntities.push({ + name: computeStateName(this.hass.states[entityId]), + entity_id: entityId, + platform: computeDomain(entityId), + disabled_by: null, + hidden_by: null, + area_id: null, + config_entry_id: null, + device_id: null, + icon: null, + entity_category: null, + }); + } + this._stateEntities = stateEntities; + } } } @@ -177,12 +243,16 @@ class HaPanelHistory extends LitElement { private async _getHistory() { this._isLoading = true; - const dateHistory = await fetchDateWS( - this.hass, - this._startDate, - this._endDate, - this._entityId - ); + const entityIds = this._getEntityIds(); + const dateHistory = + entityIds.length === 0 + ? {} + : await fetchDateWS( + this.hass, + this._startDate, + this._endDate, + entityIds + ); this._stateHistory = computeHistory( this.hass, dateHistory, @@ -191,6 +261,52 @@ class HaPanelHistory extends LitElement { this._isLoading = false; } + private _filterEntity(entity: EntityRegistryEntry): boolean { + const { area_id, device_id, entity_id } = this._targetPickerValue; + if (area_id !== undefined) { + if (typeof area_id === "string" && area_id === entity.area_id) { + return true; + } + if (Array.isArray(area_id) && area_id.includes(entity.area_id)) { + return true; + } + } + if (device_id !== undefined) { + if (typeof device_id === "string" && device_id === entity.device_id) { + return true; + } + if (Array.isArray(device_id) && device_id.includes(entity.device_id)) { + return true; + } + } + if (entity_id !== undefined) { + if (typeof entity_id === "string" && entity_id === entity.entity_id) { + return true; + } + if (Array.isArray(entity_id) && entity_id.includes(entity.entity_id)) { + return true; + } + } + return false; + } + + private _getEntityIds(): string[] { + if ( + this._targetPickerValue === undefined || + this._entities === undefined || + this._stateEntities === undefined + ) { + return []; + } + const entityIds = this._entities + .filter((entity) => this._filterEntity(entity)) + .map((entity) => entity.entity_id); + const stateEntityIds = this._stateEntities + .filter((entity) => this._filterEntity(entity)) + .map((entity) => entity.entity_id); + return [...entityIds, ...stateEntityIds]; + } + private _dateRangeChanged(ev) { this._startDate = ev.detail.startDate; const endDate = ev.detail.endDate; @@ -203,8 +319,8 @@ class HaPanelHistory extends LitElement { this._updatePath(); } - private _entityPicked(ev) { - this._entityId = ev.target.value; + private _entitiesChanged(ev) { + this._targetPickerValue = ev.detail.value; this._updatePath(); } @@ -212,8 +328,8 @@ class HaPanelHistory extends LitElement { private _updatePath() { const params: Record = {}; - if (this._entityId) { - params.entity_id = this._entityId; + if (this._targetPickerValue) { + params.entity_id = this._getEntityIds().join(","); } if (this._startDate) { @@ -255,6 +371,18 @@ class HaPanelHistory extends LitElement { height: 100%; } + :host([narrow]) .narrow-wrap { + flex-wrap: wrap; + } + + .horizontal { + align-items: center; + } + + :host(:not([narrow])) .selector-padding { + padding-left: 32px; + } + .progress-wrapper { position: relative; } diff --git a/src/panels/logbook/ha-logbook-renderer.ts b/src/panels/logbook/ha-logbook-renderer.ts index 6e382b3cce..e5384b8778 100644 --- a/src/panels/logbook/ha-logbook-renderer.ts +++ b/src/panels/logbook/ha-logbook-renderer.ts @@ -1,4 +1,5 @@ import "@lit-labs/virtualizer"; +import { VisibilityChangedEvent } from "@lit-labs/virtualizer/Virtualizer"; import { css, CSSResultGroup, @@ -16,7 +17,6 @@ import { restoreScroll } from "../../common/decorators/restore-scroll"; import { fireEvent } from "../../common/dom/fire_event"; import { computeDomain } from "../../common/entity/compute_domain"; import { isComponentLoaded } from "../../common/config/is_component_loaded"; -import { computeRTL, emitRTLDirection } from "../../common/util/compute_rtl"; import "../../components/entity/state-badge"; import "../../components/ha-circular-progress"; import "../../components/ha-relative-time"; @@ -35,6 +35,12 @@ import { import { HomeAssistant } from "../../types"; import { brandsUrl } from "../../util/brands-url"; +declare global { + interface HASSDomEvents { + "hass-logbook-live": { enable: boolean }; + } +} + const triggerDomains = ["script", "automation"]; const hasContext = (item: LogbookEntry) => @@ -56,9 +62,6 @@ class HaLogbookRenderer extends LitElement { @property({ type: Boolean, attribute: "narrow" }) public narrow = false; - @property({ attribute: "rtl", type: Boolean }) - private _rtl = false; - @property({ type: Boolean, attribute: "virtualize", reflect: true }) public virtualize = false; @@ -86,18 +89,10 @@ class HaLogbookRenderer extends LitElement { ); } - protected updated(_changedProps: PropertyValues) { - const oldHass = _changedProps.get("hass") as HomeAssistant | undefined; - - if (oldHass === undefined || oldHass.language !== this.hass.language) { - this._rtl = computeRTL(this.hass); - } - } - protected render(): TemplateResult { if (!this.entries?.length) { return html` -
+
${this.hass.localize("ui.components.logbook.entries_not_found")}
`; @@ -107,7 +102,6 @@ class HaLogbookRenderer extends LitElement {
${this.virtualize ? html`; + private _subscribed?: Promise<(() => Promise) | void>; + + private _liveUpdatesEnabled = true; + + private _pendingStreamMessages: LogbookStreamMessage[] = []; private _throttleGetLogbookEntries = throttle( () => this._getLogBookData(), @@ -127,6 +130,7 @@ export class HaLogbook extends LitElement { .entries=${this._logbookEntries} .traceContexts=${this._traceContexts} .userIdToName=${this._userIdToName} + @hass-logbook-live=${this._handleLogbookLive} > `; } @@ -136,7 +140,7 @@ export class HaLogbook extends LitElement { return; } - this._unsubscribe(); + this._unsubscribeSetLoading(); this._throttleGetLogbookEntries.cancel(); this._updateTraceContexts.cancel(); this._updateUsers.cancel(); @@ -148,13 +152,23 @@ export class HaLogbook extends LitElement { ); } - this._logbookEntries = undefined; this._throttleGetLogbookEntries(); } - protected updated(changedProps: PropertyValues): void { - super.updated(changedProps); + protected firstUpdated(changedProps: PropertyValues) { + super.firstUpdated(changedProps); + } + protected shouldUpdate(changedProps: PropertyValues): boolean { + if (changedProps.size !== 1 || !changedProps.has("hass")) { + return true; + } + // We only respond to hass changes if the translations changed + const oldHass = changedProps.get("hass") as HomeAssistant | undefined; + return !oldHass || oldHass.localize !== this.hass.localize; + } + + protected updated(changedProps: PropertyValues): void { let changed = changedProps.has("time"); for (const key of ["entityIds", "deviceIds"]) { @@ -180,6 +194,17 @@ export class HaLogbook extends LitElement { } } + private _handleLogbookLive(ev: CustomEvent) { + if (ev.detail.enable && !this._liveUpdatesEnabled) { + // Process everything we queued up while we were scrolled down + this._pendingStreamMessages.forEach((msg) => + this._processStreamMessage(msg) + ); + this._pendingStreamMessages = []; + } + this._liveUpdatesEnabled = ev.detail.enable; + } + private get _filterAlwaysEmptyResults(): boolean { const entityIds = ensureArray(this.entityIds); const deviceIds = ensureArray(this.deviceIds); @@ -194,7 +219,15 @@ export class HaLogbook extends LitElement { private _unsubscribe(): void { if (this._subscribed) { - this._subscribed.then((unsub) => (unsub ? unsub() : undefined)); + this._subscribed.then((unsub) => + unsub + ? unsub().catch(() => { + // The backend will cancel the subscription if + // we subscribe to entities that will all be + // filtered away + }) + : undefined + ); this._subscribed = undefined; } } @@ -208,12 +241,26 @@ export class HaLogbook extends LitElement { public disconnectedCallback() { super.disconnectedCallback(); + this._unsubscribeSetLoading(); + } + + /** Unsubscribe because we are unloading + * or about to resubscribe. + * Setting this._logbookEntries to undefined + * will put the page in a loading state. + */ + private _unsubscribeSetLoading() { + this._logbookEntries = undefined; this._unsubscribe(); } - private _unsubscribeAndEmptyEntries() { - this._unsubscribe(); + /** Unsubscribe because there are no results. + * Setting this._logbookEntries to an empty + * list will show a no results message. + */ + private _unsubscribeNoResults() { this._logbookEntries = []; + this._unsubscribe(); } private _calculateLogbookPeriod() { @@ -252,20 +299,19 @@ export class HaLogbook extends LitElement { // "recent" means start time is a sliding window // so we need to calculate an expireTime to // purge old events - this._processStreamMessage( - streamMessage, - "recent" in this.time - ? findStartOfRecentTime(new Date(), this.time.recent) - : undefined - ); + if (!this._subscribed) { + // Message came in before we had a chance to unload + return; + } + this._processOrQueueStreamMessage(streamMessage); }, logbookPeriod.startTime.toISOString(), logbookPeriod.endTime.toISOString(), ensureArray(this.entityIds), ensureArray(this.deviceIds) ).catch((err) => { - this._error = err.message; this._subscribed = undefined; + this._error = err; }); return true; } @@ -274,7 +320,7 @@ export class HaLogbook extends LitElement { this._error = undefined; if (this._filterAlwaysEmptyResults) { - this._unsubscribeAndEmptyEntries(); + this._unsubscribeNoResults(); return; } @@ -282,7 +328,7 @@ export class HaLogbook extends LitElement { if (logbookPeriod.startTime > logbookPeriod.now) { // Time Travel not yet invented - this._unsubscribeAndEmptyEntries(); + this._unsubscribeNoResults(); return; } @@ -303,10 +349,21 @@ export class HaLogbook extends LitElement { ) : this._logbookEntries; - private _processStreamMessage = ( - streamMessage: LogbookStreamMessage, - purgeBeforePythonTime: number | undefined + private _processOrQueueStreamMessage = ( + streamMessage: LogbookStreamMessage ) => { + if (this._liveUpdatesEnabled) { + this._processStreamMessage(streamMessage); + return; + } + this._pendingStreamMessages.push(streamMessage); + }; + + private _processStreamMessage = (streamMessage: LogbookStreamMessage) => { + const purgeBeforePythonTime = + "recent" in this.time + ? findStartOfRecentTime(new Date(), this.time.recent) + : undefined; // Put newest ones on top. Reverse works in-place so // make a copy first. const newEntries = [...streamMessage.events].reverse(); diff --git a/src/panels/logbook/ha-panel-logbook.ts b/src/panels/logbook/ha-panel-logbook.ts index bcdcb548f7..84f330bb94 100644 --- a/src/panels/logbook/ha-panel-logbook.ts +++ b/src/panels/logbook/ha-panel-logbook.ts @@ -12,19 +12,17 @@ import { } from "date-fns/esm"; import { css, html, LitElement, PropertyValues } from "lit"; import { customElement, property, state } from "lit/decorators"; -import { computeStateDomain } from "../../common/entity/compute_state_domain"; import { navigate } from "../../common/navigate"; import { createSearchParam, extractSearchParamsObject, } from "../../common/url/search-params"; -import { computeRTL } from "../../common/util/compute_rtl"; import "../../components/entity/ha-entity-picker"; -import type { HaEntityPickerEntityFilterFunc } from "../../components/entity/ha-entity-picker"; import "../../components/ha-date-range-picker"; import type { DateRangePickerRanges } from "../../components/ha-date-range-picker"; import "../../components/ha-icon-button"; import "../../components/ha-menu-button"; +import { filterLogbookCompatibleEntities } from "../../data/logbook"; import "../../layouts/ha-app-layout"; import { haStyle } from "../../resources/styles"; import { HomeAssistant } from "../../types"; @@ -40,8 +38,6 @@ export class HaPanelLogbook extends LitElement { @state() _entityIds?: string[]; - @property({ reflect: true, type: Boolean }) rtl = false; - @state() private _ranges?: DateRangePickerRanges; public constructor() { @@ -89,7 +85,7 @@ export class HaPanelLogbook extends LitElement { .label=${this.hass.localize( "ui.components.entity.entity-picker.entity" )} - .entityFilter=${this._entityFilter} + .entityFilter=${filterLogbookCompatibleEntities} @change=${this._entityPicked} >
@@ -150,15 +146,6 @@ export class HaPanelLogbook extends LitElement { this._applyURLParams(); }; - protected updated(changedProps: PropertyValues) { - if (changedProps.has("hass")) { - const oldHass = changedProps.get("hass") as HomeAssistant | undefined; - if (!oldHass || oldHass.language !== this.hass.language) { - this.rtl = computeRTL(this.hass); - } - } - } - private _applyURLParams() { const searchParams = new URLSearchParams(location.search); @@ -242,17 +229,6 @@ export class HaPanelLogbook extends LitElement { this.shadowRoot!.querySelector("ha-logbook")?.refresh(); } - private _entityFilter: HaEntityPickerEntityFilterFunc = (entity) => { - if (computeStateDomain(entity) !== "sensor") { - return true; - } - - return ( - entity.attributes.unit_of_measurement === undefined && - entity.attributes.state_class === undefined - ); - }; - static get styles() { return [ haStyle, diff --git a/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts b/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts index 0d49566b04..0f8181c44c 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-compare-card.ts @@ -56,21 +56,23 @@ export class HuiEnergyCompareCard return html` - You are comparing the period - ${formatDate(this._start!, this.hass.locale)}${dayDifference > 0 - ? ` - - ${formatDate(this._end || endOfDay(new Date()), this.hass.locale)}` - : ""} - with period - ${formatDate(this._startCompare, this.hass.locale)}${dayDifference > - 0 - ? ` - - ${formatDate(this._endCompare, this.hass.locale)}` - : ""} + ${this.hass.localize("ui.panel.energy.compare.info", { + start: html`${formatDate(this._start!, this.hass.locale)}${dayDifference > 0 + ? ` - + ${formatDate(this._end || endOfDay(new Date()), this.hass.locale)}` + : ""}`, + end: html`${formatDate( + this._startCompare, + this.hass.locale + )}${dayDifference > 0 + ? ` - + ${formatDate(this._endCompare, this.hass.locale)}` + : ""}`, + })} `; } diff --git a/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts b/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts index 6b10b5b641..c223a65de8 100644 --- a/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts +++ b/src/panels/lovelace/cards/energy/hui-energy-distribution-card.ts @@ -489,8 +489,8 @@ class HuiEnergyDistrubutionCard - ${formatNumber(totalBatteryOut || 0, this.hass.locale, { + >${formatNumber(totalBatteryOut || 0, this.hass.locale, { maximumFractionDigits: 1, })} kWh ${compare - ? html`` + : ""} + ${formatNumber( @@ -862,10 +865,7 @@ export class HuiEnergySourcesTableCard currency: this.hass.config.currency!, } )} - - ${showCosts - ? html`` - : ""}` + ` : ""} @@ -346,6 +346,7 @@ class HuiAlarmPanelCard extends LitElement implements LovelaceCard { margin: auto; width: 100%; max-width: 300px; + direction: ltr; } #keypad mwc-button { diff --git a/src/panels/lovelace/cards/hui-area-card.ts b/src/panels/lovelace/cards/hui-area-card.ts index 41d5345728..64104a6335 100644 --- a/src/panels/lovelace/cards/hui-area-card.ts +++ b/src/panels/lovelace/cards/hui-area-card.ts @@ -3,8 +3,10 @@ import { mdiLightbulbMultiple, mdiLightbulbMultipleOff, mdiRun, + mdiThermometer, mdiToggleSwitch, mdiToggleSwitchOff, + mdiWaterAlert, mdiWaterPercent, } from "@mdi/js"; import type { HassEntity, UnsubscribeFunc } from "home-assistant-js-websocket"; @@ -61,17 +63,21 @@ const TOGGLE_DOMAINS = ["light", "switch", "fan"]; const OTHER_DOMAINS = ["camera"]; const DEVICE_CLASSES = { - sensor: ["temperature"], - binary_sensor: ["motion"], + sensor: ["temperature", "humidity"], + binary_sensor: ["motion", "moisture"], }; const DOMAIN_ICONS = { light: { on: mdiLightbulbMultiple, off: mdiLightbulbMultipleOff }, switch: { on: mdiToggleSwitch, off: mdiToggleSwitchOff }, fan: { on: domainIcon("fan"), off: domainIcon("fan") }, - sensor: { humidity: mdiWaterPercent }, + sensor: { + temperature: mdiThermometer, + humidity: mdiWaterPercent, + }, binary_sensor: { motion: mdiRun, + moisture: mdiWaterAlert, }, }; diff --git a/src/panels/lovelace/cards/hui-gauge-card.ts b/src/panels/lovelace/cards/hui-gauge-card.ts index 4a6d1f60d5..98bdd36f5b 100644 --- a/src/panels/lovelace/cards/hui-gauge-card.ts +++ b/src/panels/lovelace/cards/hui-gauge-card.ts @@ -232,6 +232,7 @@ class HuiGaugeCard extends LitElement implements LovelaceCard { return segments.map((segment) => ({ level: segment?.from, stroke: segment?.color, + label: segment?.label, })); } diff --git a/src/panels/lovelace/cards/hui-light-card.ts b/src/panels/lovelace/cards/hui-light-card.ts index ce5e92c062..595c299785 100644 --- a/src/panels/lovelace/cards/hui-light-card.ts +++ b/src/panels/lovelace/cards/hui-light-card.ts @@ -276,9 +276,12 @@ export class HuiLightCard extends LitElement implements LovelaceCard { cursor: pointer; top: 0; right: 0; + inset-inline-start: initial; + inset-inline-end: 0; border-radius: 100%; color: var(--secondary-text-color); z-index: 1; + direction: var(--direction); } .content { diff --git a/src/panels/lovelace/cards/hui-media-control-card.ts b/src/panels/lovelace/cards/hui-media-control-card.ts index f1d2793ae0..18bf718876 100644 --- a/src/panels/lovelace/cards/hui-media-control-card.ts +++ b/src/panels/lovelace/cards/hui-media-control-card.ts @@ -31,6 +31,7 @@ import { handleMediaControlClick, MediaPickedEvent, MediaPlayerEntity, + mediaPlayerPlayMedia, SUPPORT_BROWSE_MEDIA, SUPPORT_SEEK, SUPPORT_TURN_ON, @@ -489,21 +490,15 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { action: "play", entityId: this._config!.entity, mediaPickedCallback: (pickedMedia: MediaPickedEvent) => - this._playMedia( + mediaPlayerPlayMedia( + this.hass, + this._config!.entity, pickedMedia.item.media_content_id, pickedMedia.item.media_content_type ), }); } - private _playMedia(media_content_id: string, media_content_type: string) { - this.hass!.callService("media_player", "play_media", { - entity_id: this._config!.entity, - media_content_id, - media_content_type, - }); - } - private _handleClick(e: MouseEvent): void { handleMediaControlClick( this.hass!, @@ -605,6 +600,7 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { ); height: 100%; right: 0; + opacity: 1; transition: width 0.8s, opacity 0.8s linear 0.8s; } @@ -673,6 +669,11 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { transition: padding, color; transition-duration: 0.4s; margin-left: -12px; + margin-inline-start: -12px; + margin-inline-end: initial; + padding-inline-start: 0; + padding-inline-end: 8px; + direction: var(--direction); } .controls > div { @@ -698,6 +699,9 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { ha-icon-button.browse-media { position: absolute; right: 4px; + inset-inline-start: initial; + inset-inline-end: 4px; + direction: var(--direction); --mdc-icon-size: 24px; } @@ -714,12 +718,18 @@ export class HuiMediaControlCard extends LitElement implements LovelaceCard { .icon-name ha-state-icon { padding-right: 8px; + padding-inline-start: initial; + padding-inline-end: 8px; + direction: var(--direction); } .more-info { position: absolute; top: 4px; right: 4px; + inset-inline-start: initial; + inset-inline-end: 4px; + direction: var(--direction); } .media-info { diff --git a/src/panels/lovelace/cards/hui-thermostat-card.ts b/src/panels/lovelace/cards/hui-thermostat-card.ts index 564008d158..6d6dbc7dde 100644 --- a/src/panels/lovelace/cards/hui-thermostat-card.ts +++ b/src/panels/lovelace/cards/hui-thermostat-card.ts @@ -497,9 +497,12 @@ export class HuiThermostatCard extends LitElement implements LovelaceCard { cursor: pointer; top: 0; right: 0; + inset-inline-end: 0px; + inset-inline-start: initial; border-radius: 100%; color: var(--secondary-text-color); z-index: 1; + direction: var(--direction); } .content { @@ -550,6 +553,7 @@ export class HuiThermostatCard extends LitElement implements LovelaceCard { height: 50%; top: 45%; left: 50%; + direction: ltr; } #set-values { diff --git a/src/panels/lovelace/cards/hui-weather-forecast-card.ts b/src/panels/lovelace/cards/hui-weather-forecast-card.ts index 7ec93b41e7..91e485d284 100644 --- a/src/panels/lovelace/cards/hui-weather-forecast-card.ts +++ b/src/panels/lovelace/cards/hui-weather-forecast-card.ts @@ -228,12 +228,21 @@ class HuiWeatherForecastCard extends LitElement implements LovelaceCard {
- ${formatNumber( - stateObj.attributes.temperature, - this.hass.locale - )} ${getWeatherUnit(this.hass, "temperature")} + ${stateObj.attributes.temperature !== undefined && + stateObj.attributes.temperature !== null + ? html` + ${formatNumber( + stateObj.attributes.temperature, + this.hass.locale + )} ${getWeatherUnit( + this.hass, + stateObj, + "temperature" + )} + ` + : html` `}
${this._config.secondary_info_attribute !== undefined @@ -255,6 +264,7 @@ class HuiWeatherForecastCard extends LitElement implements LovelaceCard { "wind_speed" ? getWind( this.hass, + stateObj, stateObj.attributes.wind_speed, stateObj.attributes.wind_bearing ) @@ -267,6 +277,7 @@ class HuiWeatherForecastCard extends LitElement implements LovelaceCard { )} ${getWeatherUnit( this.hass, + stateObj, this._config.secondary_info_attribute )} `} diff --git a/src/panels/lovelace/cards/types.ts b/src/panels/lovelace/cards/types.ts index e6189150e1..bf243f624e 100644 --- a/src/panels/lovelace/cards/types.ts +++ b/src/panels/lovelace/cards/types.ts @@ -185,6 +185,7 @@ export interface SeverityConfig { export interface GaugeSegment { from: number; color: string; + label?: string; } export interface GaugeCardConfig extends LovelaceCardConfig { diff --git a/src/panels/lovelace/components/hui-energy-period-selector.ts b/src/panels/lovelace/components/hui-energy-period-selector.ts index 6d102da24c..38011288fd 100644 --- a/src/panels/lovelace/components/hui-energy-period-selector.ts +++ b/src/panels/lovelace/components/hui-energy-period-selector.ts @@ -151,7 +151,9 @@ export class HuiEnergyPeriodSelector extends SubscribeMixin(LitElement) { dense outlined > - Compare data + ${this.hass.localize( + "ui.panel.lovelace.components.energy_period_selector.compare" + )} ` : html` - Compare data + ${this.hass.localize( + "ui.panel.lovelace.components.energy_period_selector.compare" + )} `}
diff --git a/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts index 48c6b52da0..2ec9ab4a01 100644 --- a/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-conditional-card-editor.ts @@ -332,6 +332,9 @@ export class HuiConditionalCardEditor } .condition .state ha-select { margin-right: 16px; + margin-inline-end: 16px; + margin-inline-start: initial; + direction: var(--direction); } .condition .state ha-textfield { flex-grow: 1; diff --git a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts index 8ae5fcbf5e..2baa6c32a0 100644 --- a/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-gauge-card-editor.ts @@ -22,6 +22,7 @@ import { baseLovelaceCardConfig } from "../structs/base-card-struct"; const gaugeSegmentStruct = object({ from: number(), color: string(), + label: optional(string()), }); const cardConfigStruct = assign( diff --git a/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts b/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts index f789c09bbe..dcbc6f325b 100644 --- a/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts +++ b/src/panels/lovelace/editor/config-elements/hui-logbook-card-editor.ts @@ -17,6 +17,7 @@ import type { HomeAssistant } from "../../../../types"; import type { LogbookCardConfig } from "../../cards/types"; import type { LovelaceCardEditor } from "../../types"; import { baseLovelaceCardConfig } from "../structs/base-card-struct"; +import { filterLogbookCompatibleEntities } from "../../../../data/logbook"; const cardConfigStruct = assign( baseLovelaceCardConfig, @@ -81,6 +82,7 @@ export class HuiLogbookCardEditor diff --git a/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts b/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts index f542b2ec6d..c50a2b4958 100644 --- a/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-input-datetime-entity-row.ts @@ -125,6 +125,9 @@ class HuiInputDatetimeEntityRow extends LitElement implements LovelaceRow { return css` ha-date-input + ha-time-input { margin-left: 4px; + margin-inline-start: 4px; + margin-inline-end: initial; + direction: var(--direction); } `; } diff --git a/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts b/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts index e2e0971399..3b0d17ff37 100644 --- a/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts +++ b/src/panels/lovelace/entity-rows/hui-weather-entity-row.ts @@ -114,7 +114,9 @@ class HuiWeatherEntityRow extends LitElement implements LovelaceRow { })} >
- ${UNAVAILABLE_STATES.includes(stateObj.state) + ${UNAVAILABLE_STATES.includes(stateObj.state) || + stateObj.attributes.temperature === undefined || + stateObj.attributes.temperature === null ? computeStateDisplay( this.hass.localize, stateObj, @@ -125,7 +127,7 @@ class HuiWeatherEntityRow extends LitElement implements LovelaceRow { stateObj.attributes.temperature, this.hass.locale )} - ${getWeatherUnit(this.hass, "temperature")} + ${getWeatherUnit(this.hass, stateObj, "temperature")} `}
diff --git a/src/panels/media-browser/ha-panel-media-browser.ts b/src/panels/media-browser/ha-panel-media-browser.ts index 1123806c3a..2de0f6c4de 100644 --- a/src/panels/media-browser/ha-panel-media-browser.ts +++ b/src/panels/media-browser/ha-panel-media-browser.ts @@ -27,6 +27,7 @@ import { BROWSER_PLAYER, MediaPickedEvent, MediaPlayerItem, + mediaPlayerPlayMedia, } from "../../data/media-player"; import { ResolvedMediaSource, @@ -208,11 +209,12 @@ class PanelMediaBrowser extends LitElement { if (this._entityId !== BROWSER_PLAYER) { this._player.showResolvingNewMediaPicked(); try { - await this.hass!.callService("media_player", "play_media", { - entity_id: this._entityId, - media_content_id: item.media_content_id, - media_content_type: item.media_content_type, - }); + await mediaPlayerPlayMedia( + this.hass, + this._entityId, + item.media_content_id, + item.media_content_type + ); } catch (err) { this._player.hideResolvingNewMediaPicked(); } diff --git a/src/state/quick-bar-mixin.ts b/src/state/quick-bar-mixin.ts index 532ffbe49e..b359c70e7f 100644 --- a/src/state/quick-bar-mixin.ts +++ b/src/state/quick-bar-mixin.ts @@ -48,9 +48,9 @@ export default >(superClass: T) => private _registerShortcut() { tinykeys(window, { - e: (ev) => this._showQuickBar(ev), - c: (ev) => this._showQuickBar(ev, true), - m: (ev) => this._createMyLink(ev), + KeyE: (ev) => this._showQuickBar(ev), + KeyC: (ev) => this._showQuickBar(ev, true), + KeyM: (ev) => this._createMyLink(ev), }); } diff --git a/src/translations/en.json b/src/translations/en.json index 28a71bc0c7..5d22072f24 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -811,6 +811,11 @@ "icon_error": "Icons should be in the format 'prefix:iconname', e.g. 'mdi:home'", "entity_id": "Entity ID", "unit_of_measurement": "Unit of Measurement", + "precipitation_unit": "Precipitation unit", + "pressure_unit": "Barometric pressure unit", + "temperature_unit": "Temperature unit", + "visibility_unit": "Visibility unit", + "wind_speed_unit": "Wind speed unit", "device_class": "Show as", "device_classes": { "binary_sensor": { @@ -1010,7 +1015,7 @@ }, "domain_toggler": { "title": "Toggle Domains", - "reset_entities": "Reset Entities" + "reset_entities": "Reset Entity overrides" }, "mqtt_device_debug_info": { "title": "{device} debug info", @@ -1160,7 +1165,7 @@ }, "tags": { "main": "Tags", - "secondary": "Setup NFC tags and QR codes" + "secondary": "Set up NFC tags and QR codes" }, "people": { "main": "People", @@ -1596,7 +1601,7 @@ "frontend": "frontend-ui", "built_using": "Built using", "icons_by": "Icons by", - "frontend_version": "Frontend version: {version} - {type}", + "frontend_version": "Frontend {version} - {type}", "custom_uis": "Custom UIs:", "system_health_error": "System Health component is not loaded. Add 'system_health:' to configuration.yaml", "documentation": "Documentation", @@ -1605,6 +1610,15 @@ "system_health": { "manage": "Manage", "more_info": "more info" + }, + "items": { + "change_log": "Change Log", + "thanks": "Thanks To", + "merch": "Merchandise", + "feature": "Feature Requests", + "bug": "Bug Reports", + "help": "Help", + "license": "License" } }, "logs": { @@ -2431,15 +2445,16 @@ }, "alexa": { "title": "Alexa", - "banner": "Editing which entities are exposed via this UI is disabled because you have configured entity filters in configuration.yaml.", - "exposed_entities": "Exposed entities", - "not_exposed_entities": "Not exposed entities", - "manage_domains": "Manage domains", - "expose_entity": "Expose entity", - "dont_expose_entity": "Don't expose entity", - "follow_domain": "Follow domain", - "exposed": "{selected} exposed", - "not_exposed": "{selected} not exposed", + "banner": "[%key:ui::panel::config::cloud::google::banner%]", + "exposed_entities": "[%key:ui::panel::config::cloud::google::exposed_entities%]", + "not_exposed_entities": "[%key:ui::panel::config::cloud::google::not_exposed_entities%]", + "manage_defaults": "[%key:ui::panel::config::cloud::google::manage_defaults%]", + "manage_defaults_dialog_description": "[%key:ui::panel::config::cloud::google::manage_defaults_dialog_description%]", + "expose_entity": "[%key:ui::panel::config::cloud::google::expose_entity%]", + "dont_expose_entity": "[%key:ui::panel::config::cloud::google::dont_expose_entity%]", + "follow_domain": "[%key:ui::panel::config::cloud::google::follow_domain%]", + "exposed": "[%key:ui::panel::config::cloud::google::exposed%]", + "not_exposed": "[%key:ui::panel::config::cloud::google::not_exposed%]", "expose": "Expose to Alexa" }, "dialog_certificate": { @@ -2456,7 +2471,8 @@ "banner": "Editing which entities are exposed via this UI is disabled because you have configured entity filters in configuration.yaml.", "exposed_entities": "Exposed entities", "not_exposed_entities": "Not exposed entities", - "manage_domains": "Manage domains", + "manage_defaults": "Manage defaults", + "manage_defaults_dialog_description": "Entities can be exposed by default based on their type.", "expose_entity": "Expose entity", "dont_expose_entity": "Don't expose entity", "follow_domain": "Follow domain", @@ -3100,10 +3116,91 @@ "reinterview_device": "Re-interview Device", "heal_node": "Heal Device", "remove_failed": "Remove Failed Device", + "update_firmware": "Update Device Firmware", "highest_security": "Highest Security", "unknown": "Unknown", "zwave_plus": "Z-Wave Plus", - "zwave_plus_version": "Version {version}" + "zwave_plus_version": "Version {version}", + "node_statistics": "Show Device Statistics" + }, + "node_statistics": { + "title": "Device Statistics", + "commands_tx": { + "label": "Commands TX", + "tooltip": "# of commands successfully sent to the node" + }, + "commands_rx": { + "label": "Commands RX", + "tooltip": "# of commands received from the node, including responses to sent commands" + }, + "commands_dropped_tx": { + "label": "Commands Dropped TX", + "tooltip": "# of outgoing commands that were dropped because they could not be sent" + }, + "commands_dropped_rx": { + "label": "Commands Dropped RX", + "tooltip": "# of commands from the node that were dropped by the host" + }, + "timeout_response": { + "label": "Timeout Response", + "tooltip": "# of Get-type commands where the node's response did not come in time" + }, + "rtt": { + "label": "RTT", + "tooltip": "Average round-trip-time in ms of commands to this node" + }, + "rssi": { + "label": "RSSI", + "tooltip": "Average RSSI in dBm of frames received by this node" + }, + "lwr": "Last Working Route", + "nlwr": "Next to Last Working Route" + }, + "route_statistics": { + "protocol": { + "label": "Protocol", + "tooltip": "The protocol for this route", + "protocol_data_rate": { + "ZWave_9k6": "Z-Wave", + "ZWave_40k": "Z-Wave", + "ZWave_100k": "Z-Wave", + "LongRange_100k": "Z-Wave Long Range" + } + }, + "data_rate": { + "label": "Data Rate", + "tooltip": "The used data rate for this route", + "protocol_data_rate": { + "ZWave_9k6": "9.6 kbps", + "ZWave_40k": "40 kbps", + "ZWave_100k": "100 kbps", + "LongRange_100k": "100 kbps" + } + }, + "repeaters": { + "label": "Repeaters + RSSI", + "tooltip": "Which nodes are repeaters for this route and their RSSI", + "repeaters": "Repeater Device", + "rssi": "RSSI", + "direct": "None, direct connection" + }, + "rssi": { + "label": "RSSI", + "tooltip": "The RSSI of the ACK frame received by the controller" + }, + "route_failed_between": { + "label": "Route Failed Between", + "tooltip": "The nodes between which the transmission failed most recently", + "not_applicable": "N/A" + } + }, + "rssi": { + "unit": "dBm", + "rssi_error": { + "NotAvailable": "Not available", + "ReceiverSaturated": "Receiver saturated", + "NoSignalDetected": "No signal detected" + } }, "node_config": { "header": "Z-Wave Device Configuration", @@ -3227,6 +3324,43 @@ "in_progress": "{device} healing is in progress.", "network_heal_in_progress": "A Z-Wave network heal is already in progress. Please wait for it to finish before healing an individual device." }, + "update_firmware": { + "title": "Update Device Firmware", + "warning": "WARNING: Firmware updates can brick your device if you do not correctly follow the manufacturer's guidance. The Home Assistant and Z-Wave JS teams do not take any responsibility for any damages to your device as a result of the firmware update and will not be able to help you if you brick your device. Would you still like to continue?", + "introduction": "Select the firmware file you would like to use to update {device}.", + "upload_firmware": "Upload Firmware", + "firmware_target_intro": "Select the firmware target (0 for the Z-Wave chip, ≥1 for other chips if they exist) for this update, or uncheck the box to have the driver attempt to figure it out from the firmware file.", + "firmware_target": "Firmware Target (chip)", + "upload_failed": "Upload Failed", + "begin_update": "Begin Firmware Update", + "queued": "The firmware update is ready to be sent to {device} but the device is asleep, wake the device to start the update.", + "close_queued": "If you close this dialog, the update will continue to be queued in the background and start automatically once the device wakes up.", + "awake": "The firmware update should start being sent to {device} shortly.", + "close": "If you close this dialog, the update will continue in the background.", + "in_progress": "The firmware update on {device} is in progress ({progress}%).", + "abort": "Abort Firmware Update", + "abort_failed": "Abort Failed", + "confirm_abort": "Are you sure you want to abort the firmware update on {device}?", + "finished_status": { + "ok": "Successfully updated firmware on {device}: {message}.", + "error": "Unable to update firmware on {device}: {message}.", + "try_again": "To attempt the firmware update again, select the new firmware file you would like to use.", + "done": "The firmware update is complete! If you want to attempt another firmware update on this device, please wait until it gets re-interviewed.", + "Error_Timeout": "Timed Out", + "Error_Checksum": "Checksum Error", + "Error_TransmissionFailed": "Transmission Failed", + "Error_InvalidManufacturerID": "Invalid Manufacturer ID", + "Error_InvalidFirmwareID": "Invalid Firmware ID", + "Error_InvalidFirmwareTarget": "Invalid Firmware Target", + "Error_InvalidHeaderInformation": "Invalid Header Information", + "Error_InvalidHeaderFormat": "Invalid Header Format", + "Error_InsufficientMemory": "Insufficient Memory", + "Error_InvalidHardwareVersion": "Invalid Hardware Version", + "OK_WaitingForActivation": "Waiting for Activiation", + "OK_NoRestart": "No Restart", + "OK_RestartPending": "Restart Pending" + } + }, "logs": { "title": "Z-Wave JS Logs", "log_level": "Log Level", diff --git a/translations/README.md b/translations/README.md index 689b55fe9d..ac763a0768 100644 --- a/translations/README.md +++ b/translations/README.md @@ -1,4 +1,6 @@ # Translation Resources -Translations are managed through [Lokalise](https://developers.home-assistant.io/docs/translations/). If you'd like to contribute, you can [join the project here](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/). For more details, see our [translation guidelines documentation](https://developers.home-assistant.io/docs/translations/). +Translations from English into other languages are managed through [Lokalise](https://developers.home-assistant.io/docs/translations/). If you'd like to contribute, you can [join the project here](https://lokalise.co/signup/3420425759f6d6d241f598.13594006/all/). For more details, see our [translation guidelines documentation](https://developers.home-assistant.io/docs/translations/). -Don't make changes to these files directly. Instead, use `script/translations_download` to fetch the latest translations from Lokalise. +Don't make changes to these translation files directly. Instead, use `script/translations_download` to fetch the latest translations from Lokalise. + +The original English translation keys and texts are defined in `src/translations/en.json` and serve as the base for Lokalise. diff --git a/translations/frontend/en.json b/translations/frontend/en.json index 16d2933745..1c192e45aa 100644 --- a/translations/frontend/en.json +++ b/translations/frontend/en.json @@ -2429,6 +2429,10 @@ "title": "Entity not tracked" } } + }, + "compare":{ + "info": "You are comparing the period {start} with {end}" + } }, "entities": { @@ -3852,7 +3856,8 @@ "previous": "Previous", "today": "Today", "week": "Week", - "year": "Year" + "year": "Year", + "compare": "Compare data" }, "timestamp-display": { "invalid": "Invalid timestamp", From 535e752ec7e506ce6e6f5a0f078b9c30570b37a2 Mon Sep 17 00:00:00 2001 From: Erik Montnemery Date: Tue, 12 Jul 2022 23:13:29 +0200 Subject: [PATCH 2/4] Correct display of barometric pressure and rain (#13183) --- src/data/weather.ts | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/data/weather.ts b/src/data/weather.ts index f77da5c9b0..6c2fb20fcb 100644 --- a/src/data/weather.ts +++ b/src/data/weather.ts @@ -199,13 +199,15 @@ export const getWeatherUnit = ( case "visibility": return stateObj.attributes.visibility_unit || lengthUnit; case "precipitation": - return stateObj.attributes.precipitation_unit || lengthUnit === "km" - ? "mm" - : "in"; + return ( + stateObj.attributes.precipitation_unit || + (lengthUnit === "km" ? "mm" : "in") + ); case "pressure": - return stateObj.attributes.pressure_unit || lengthUnit === "km" - ? "hPa" - : "inHg"; + return ( + stateObj.attributes.pressure_unit || + (lengthUnit === "km" ? "hPa" : "inHg") + ); case "temperature": return ( stateObj.attributes.temperature_unit || From 0825d5c64e574e10d570b9b0cde5e66942480223 Mon Sep 17 00:00:00 2001 From: Zack Barett Date: Mon, 11 Jul 2022 09:46:32 -0500 Subject: [PATCH 3/4] Fix Suggested Value in HA-Form (#13173) --- src/components/ha-form/compute-initial-ha-form-data.ts | 2 +- src/components/ha-form/ha-form-integer.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/ha-form/compute-initial-ha-form-data.ts b/src/components/ha-form/compute-initial-ha-form-data.ts index b70148fa86..b83835ad70 100644 --- a/src/components/ha-form/compute-initial-ha-form-data.ts +++ b/src/components/ha-form/compute-initial-ha-form-data.ts @@ -6,7 +6,7 @@ export const computeInitialHaFormData = ( ): Record => { const data = {}; schema.forEach((field) => { - if (field.description?.suggested_value) { + if (field.description?.suggested_value !== undefined) { data[field.name] = field.description.suggested_value; } else if ("default" in field) { data[field.name] = field.default; diff --git a/src/components/ha-form/ha-form-integer.ts b/src/components/ha-form/ha-form-integer.ts index 5873eff158..e71425ba27 100644 --- a/src/components/ha-form/ha-form-integer.ts +++ b/src/components/ha-form/ha-form-integer.ts @@ -3,15 +3,15 @@ import { CSSResultGroup, html, LitElement, - TemplateResult, PropertyValues, + TemplateResult, } from "lit"; import { customElement, property, query } from "lit/decorators"; import { fireEvent } from "../../common/dom/fire_event"; import { HaCheckbox } from "../ha-checkbox"; -import { HaFormElement, HaFormIntegerData, HaFormIntegerSchema } from "./types"; import "../ha-slider"; import { HaTextField } from "../ha-textfield"; +import { HaFormElement, HaFormIntegerData, HaFormIntegerSchema } from "./types"; @customElement("ha-form-integer") export class HaFormInteger extends LitElement implements HaFormElement { @@ -105,7 +105,7 @@ export class HaFormInteger extends LitElement implements HaFormElement { } return ( - this.schema.description?.suggested_value || + this.schema.description?.suggested_value !== undefined || this.schema.default || this.schema.valueMin || 0 From 24a97347dfda9a2c66e4396e4e6928c1c2a0216e Mon Sep 17 00:00:00 2001 From: Zack Date: Thu, 14 Jul 2022 17:13:02 -0500 Subject: [PATCH 4/4] Version Bump --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 7eb2cd6854..9ccb502873 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "home-assistant-frontend" -version = "20220707.0" +version = "20220707.1" license = {text = "Apache-2.0"} description = "The Home Assistant frontend" readme = "README.md"