Compare commits

...

2301 Commits

Author SHA1 Message Date
Franck Nijhof cff493fb98 2023.4.0 (#90855) 2023-04-05 19:57:42 +02:00
Franck Nijhof d67265bb66 Bumped version to 2023.4.0 2023-04-05 17:37:57 +02:00
Erik Montnemery 6e51f0d6f5 Adjust OTBR channel conflict URL (#90847) 2023-04-05 17:37:06 +02:00
Bram Kragten 82977f33ed Bump frontend to 20230405.0 (#90841) 2023-04-05 17:37:03 +02:00
epenet fb2d432d32 Adjust async_track_time_interval name argument (#90838)
Adjust async_track_time_interval naming
2023-04-05 17:36:59 +02:00
Tom Puttemans 0d019a3c4c Support entity name translation in DSMR Reader component (#90836)
* Use translation_key instead of name for the entity names and enum values

This change allows for the translation of entity names and their values based on a key, instead of having the English text in the code

* Adjusted tariff options order

Not really wrong, but this way it is consistent with all other entities
2023-04-05 17:36:55 +02:00
Paul Bottein 65b877bb77 Add entity name translations to prusalink entities (#90833) 2023-04-05 17:36:52 +02:00
Jan Bouwhuis 2a23583d67 Suppress imap logging on reconnect and presume state (#90826) 2023-04-05 17:36:48 +02:00
Penny Wood 80fe5051b3 Master RAS zone (#90825)
Fixes issue in some systems with different numbering systems
2023-04-05 17:36:44 +02:00
J. Nick Koston 2dfe33d177 Bump aioesphomeapi to 10.6.1 (#90816) 2023-04-05 17:36:41 +02:00
J. Nick Koston 617037a92d Fix BLEDevice not getting updated when details change for remote scanners (#90815) 2023-04-05 17:36:36 +02:00
Paulus Schoutsen 8f60a2bdd4 Bumped version to 2023.4.0b7 2023-04-04 21:09:22 -04:00
Patrick ZAJDA 9f7b2ba6c1 Add entity name translations to Broadlink sensors (#90783)
* Add entity name translations to Broadlink sensors

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Update tests

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-04-04 21:09:10 -04:00
Patrick ZAJDA af34e25c89 Add translations for Nuki entity name and battery critical state attribute (#90772)
* Add translations for Nuki entity name and battery critical state attribute

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Remove door sensor name

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

---------

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
2023-04-04 21:09:09 -04:00
Pascal Reeb c43dc37713 Add Warning in the issue registry if a HTTPS webhook is used for Nuki (#90718)
feat(nuki): create issue when https webhook URL was created
2023-04-04 21:09:08 -04:00
Maciej Bieniek 0d6177dbdb Address late review for NextDNS entity name translations (#90771) 2023-04-04 21:07:21 -04:00
starkillerOG f03b9036c5 Add async_write_ha_state to Reolink select (#90764)
Add async_write_ha_state to select
2023-04-04 21:07:20 -04:00
Jan Bouwhuis 1848a723cd Fix recovering imap connection triggers re-auth (#90762) 2023-04-04 21:07:19 -04:00
Erik Montnemery 8230a52e0a Update template environment from the event loop (#90758) 2023-04-04 21:07:18 -04:00
Paulus Schoutsen d0e9470c7c Fix frontend test again (#90754) 2023-04-04 21:07:17 -04:00
J. Nick Koston b50354f362 Add render count to templates repr (#90753) 2023-04-04 21:07:16 -04:00
J. Nick Koston e4b3a146be Bump aiohomekit to 2.6.3 (#90752) 2023-04-04 21:07:15 -04:00
TheJulianJES 1861a621b2 Restore state for ZHA OnOff binary sensors (#90749)
* Restore state for ZHA OnOff binary sensors

* Let `Motion` extend `Opening`

`Motion` is just a specified version of `Opening` that only changes the device class for some motion sensors.
Since we have more "special code" in the OnOff/Opening sensor now, we also want to make sure that gets applied to `Motion` binary sensors.

* Improve comment and type

* Add test to verify that binary sensors restore last HA state
2023-04-04 21:07:14 -04:00
J. Nick Koston 0746e09256 Prevent overly large event data from being stored in the database (#90747)
This is the same change as #87105 for events
2023-04-04 21:07:13 -04:00
J. Nick Koston 0166cd082b Bump zeroconf to 0.54.0 (#90744)
* Bump zeroconf to 0.54.0

fixes incorrect addresses when the server name changes

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.53.0...0.54.0

* fix
2023-04-04 21:07:12 -04:00
Maciej Bieniek 0a74f946db Add entity name translations to NextDNS (#90743)
Add entity name translations
2023-04-04 21:07:11 -04:00
Mark Adkins d04b45a821 SharkIQ Hotfix - Handle current installations by using default REGION (#90741)
* Add default region on async_setup_entry

* Move logic to migration function

* Move update logic back to setup function, but updates the config if needed.

* Remove commented out code

* Update Tests & Config setting method

* Update homeassistant/components/sharkiq/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/sharkiq/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Accept Suggestions & Formatting

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-04-04 21:07:10 -04:00
Maciej Bieniek a5a6641bb4 Add entity name translations to Tractive (#90738)
Add entity name translations
2023-04-04 21:07:09 -04:00
Michael 1420cda837 Add entity name translations to SMS (#90727) 2023-04-04 21:07:08 -04:00
Fabio De Simone cba5751ca2 Fix bluetooth_le_tracker reporting devices Home when they leave (#90641)
* fix bluetooth_le_tracker reporting devices Home when they leave

* refactor

* implement tests for BLE service_info.time check

* update bluetooth_le_tracker tests

* tweaks

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-04-04 21:07:07 -04:00
Paulus Schoutsen a3e66b5dde Bumped version to 2023.4.0b6 2023-04-03 16:51:04 -04:00
Bram Kragten 83dd52ab1f Update frontend to 20230403.0 (#90735) 2023-04-03 16:51:01 -04:00
Michael da1e5f6a3c Add entity name translations to sun (#90732) 2023-04-03 16:51:00 -04:00
Michael 8f9868024c Add entity name translations to Luftdaten (#90725) 2023-04-03 16:50:59 -04:00
Erik Montnemery c90396cd57 Bump pychromecast to 13.0.7 (#90724) 2023-04-03 16:50:58 -04:00
Aaron Bach 509c1ca99c Fix missing battery sensors for SimpliSafe locks (#90722) 2023-04-03 16:50:57 -04:00
Michael 431fbee641 Fix translation of status binary sensor in PI-Hole (#90719) 2023-04-03 16:50:56 -04:00
Michael 28983bca85 Add entity name translations to Pi-hole (#90713) 2023-04-03 16:50:55 -04:00
Felix Rotthowe 601498617d Fix Livisi climate min/max temperature (#90712)
* Correctly set livisi climate min/max temp

* fix imports
2023-04-03 16:50:54 -04:00
Michael 6c208f655d Add entity name translations to NUT (#90709) 2023-04-03 16:50:53 -04:00
Michael eaaf24d326 Add entity name translations to AVM Fritz!SmartHome (#90707)
* add entity name translation

* sort and capitalize

* adjust tests

* sort entities
2023-04-03 16:50:52 -04:00
Michael 0c12d45581 Add entity name translations to Synology DSM (#90706)
* add entity name translation

* sort strings

* sort and capitalize strings
2023-04-03 16:50:51 -04:00
Michael c2e46db76d Add entity name translations to AVM Fritz!Tools (#90703)
* add entity name translation

* apply suggestions

* sort strings
2023-04-03 16:50:50 -04:00
Maciej Bieniek 47c8b7804d Add entity name translations to BraviaTV (#90702)
Add entity name translations
2023-04-03 16:50:49 -04:00
Maciej Bieniek 8d302aea9e Use the default entity names in GIOS (#90700) 2023-04-03 16:50:48 -04:00
Stephan Uhle 3a73425888 Fix ha version in EDL21 deprecation warning (#90699)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-04-03 16:50:47 -04:00
epenet f9e4fe016f Use entity name translations in SFR Box (#90698) 2023-04-03 16:50:46 -04:00
epenet 5835ae03bc Use entity name translations in Renault (#90697) 2023-04-03 16:50:45 -04:00
epenet 71608d4795 Use entity name translations in 1-wire (#90696)
* Use entity name translations in onewire

* Adjust binary sensors

* Adjust switches

* Cleanup
2023-04-03 16:50:44 -04:00
Maciej Bieniek e38590e40a Use the default entity names in Airly (#90693) 2023-04-03 16:50:43 -04:00
Maciej Bieniek 9e3b54f539 Add entity name translations to NAM (#90681) 2023-04-03 16:50:42 -04:00
J. Nick Koston 24ff2ddae5 Ensure system log does not raise while processing logger messages (#90652) 2023-04-03 16:50:41 -04:00
Michael Davie 621de8bb5f Bump env_canada to v0.5.30 (#90644) 2023-04-03 16:50:40 -04:00
Patrick ZAJDA 6cbf9288b5 Add entity name translations to Switchbot (#90600)
* Add entity name translations to Switchbot

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Apply suggestions from code review

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Fix tests

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Update homeassistant/components/switchbot/strings.json

Co-authored-by: Patrick ZAJDA <patrick@zajda.fr>

---------

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-04-03 16:50:39 -04:00
Franck Nijhof 9f95da7793 Add entity name translations to Plugwise (#90537)
* Add entity name translations to Plugwise

* Re-use extisting translation where possible
2023-04-03 16:50:38 -04:00
Nerdix cb5326b798 Correct handling if WIFI combine suffix is "None" (#90528)
* Correct handling of "None" WIFI combine suffix

* Update tests/components/unifi/test_config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Update tests/components/unifi/test_config_flow.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-04-03 16:50:37 -04:00
Erik Montnemery 1aa6d3e896 Raise repair issue if OTBR and ZHA are on different channels (#90494)
* Raise repair issue if OTBR and ZHA are on different channels

* Update issues after creating or setting dataset

* Explain impact

* Add link to documentation, adjust language

* Update homeassistant/components/otbr/strings.json

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-04-03 16:50:36 -04:00
Matthias Alphart 1c8d4b8bb8 Use entity name translations in Fronius (#90463) 2023-04-03 16:50:35 -04:00
G Johansson 8669ee3685 Remove Darksky integration (#90322) 2023-04-03 16:50:34 -04:00
Paulus Schoutsen 20d8bbbd0c Bumped version to 2023.4.0b5 2023-04-02 20:57:16 -04:00
J. Nick Koston e10e3ee7cc Fix memory churn in state templates (#90685)
* Fix memory churn in state templates

The LRU for state templates was limited to 512 states. As soon
as it was exaused, system performance would tank as each template
that iterated all states would have to create and GC any state
> 512

* does it scale?

* avoid copy on all

* comment

* preen

* cover

* cover

* comments

* comments

* comments

* preen

* preen
2023-04-02 20:57:07 -04:00
Maciej Bieniek 83b7018be2 Fix default sensor entity name for PM1 (#90684)
Fix PM1 text
2023-04-02 20:57:06 -04:00
J. Nick Koston 6d967ac535 Bump zeroconf to 0.53.0 (#90682) 2023-04-02 20:57:05 -04:00
Paulus Schoutsen 77bc745bed Fix frontend test (#90679) 2023-04-02 20:57:04 -04:00
Patrick ZAJDA 8fe7b01baa Add entity name translations for Nest sensors (#90677)
Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
2023-04-02 20:57:04 -04:00
J. Nick Koston 5e5888b37a Bump zeroconf to 0.52.0 (#90660)
* Bump zeroconf to 0.52.0

Switch to using the new ip_addresses_by_version which avoids
all the ip address conversions

* updates
2023-04-02 20:57:03 -04:00
Maciej Bieniek 90de51fff3 Add entity name translations to Airly (#90656)
Add entity name translations
2023-04-02 20:55:38 -04:00
Maciej Bieniek 89230b75be Add entity name translations to GIOS (#90655)
* Add entity name translations

* Update tests
2023-04-02 20:55:37 -04:00
J. Nick Koston cbe3cabf0a Add object source logger to profiler (#90650)
* Add object source logger to profiler

* fixes

* cleanup

* tweaks

* logging

* logging

* too intensive

* adjust

* Update homeassistant/bootstrap.py

* fixes

* fixes

* coverage
2023-04-02 20:55:36 -04:00
Maciej Bieniek c259c1afe3 Add entity name translations to Brother (#90634)
* Add entity name translations

* Fix sensor name

* Update tests

* Suggested change
2023-04-02 20:55:36 -04:00
mletenay 1ff93518b5 Update goodwe library to v0.2.30 (#90607) 2023-04-02 20:55:34 -04:00
Paulus Schoutsen aa6cf3d208 Bumped version to 2023.4.0b4 2023-04-01 15:23:53 -04:00
Bram Kragten 2a28d40dc8 Update frontend to 20230401.0 (#90646) 2023-04-01 15:23:45 -04:00
Jan Bouwhuis c006b3b1df Fix mqtt device_tracker is not reloading yaml (#90639) 2023-04-01 15:23:44 -04:00
nono bacd77a03a Fix Rest switch init was not retrying if unreachable at setup (#90627)
* Fix Rest switch init was not retrying if unreachable at setup

* pass error log to platformnotready
prevents spamming the same message in logs.
2023-04-01 15:23:43 -04:00
J. Nick Koston 75694307e2 Bump zeroconf to 0.51.0 (#90622)
* Bump zeroconf to 0.50.0

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.47.4...0.50.0

* bump to 51
2023-04-01 15:23:42 -04:00
J. Nick Koston 1189b2ad70 Small speed up to _collection_changed (#90621)
attrgetter builds a fast method which happens in native code
https://github.com/python/cpython/blob/4664a7cf689946f0c9854cadee7c6aa9c276a8cf/Modules/_operator.c#L1413
2023-04-01 15:23:42 -04:00
Joakim Sørensen d5d5bb0732 Only limit stats to started add-ons (#90611) 2023-04-01 15:23:41 -04:00
J. Nick Koston 6242dd2214 Avoid sorting domain/all states in templates (#90608) 2023-04-01 15:23:40 -04:00
Paulus Schoutsen 03f085d7be Bumped version to 2023.4.0b3 2023-03-31 15:41:37 -04:00
Raman Gupta b3348c3e6f Bump zwave-js-server-python to 0.47.3 (#90606)
* Bump zwave-js-server-python to 0.47.2

* Bump zwave-js-server-python to 0.47.3
2023-03-31 15:41:33 -04:00
puddly 590db0fa74 Perform an energy scan when downloading ZHA diagnostics (#90605) 2023-03-31 15:41:32 -04:00
puddly f56ccf90d9 Fix ZHA definition error on received command (#90602)
* Fix use of deprecated command schema access

* Add a unit test
2023-03-31 15:41:31 -04:00
Bram Kragten c63f8e714e Update frontend to 20230331.0 (#90594) 2023-03-31 15:41:30 -04:00
starkillerOG a20771f571 Bump reolink-aio to 0.5.9 (#90590) 2023-03-31 15:41:29 -04:00
Franck Nijhof 2d482f1f57 Raise on invalid (dis)arm code in manual mqtt alarm (#90584) 2023-03-31 15:41:28 -04:00
Erik Montnemery 499962f4ee Tweak yalexs_ble translations (#90582) 2023-03-31 15:41:27 -04:00
Franck Nijhof 88a407361c Raise on invalid (dis)arm code in manual alarm (#90579) 2023-03-31 15:41:26 -04:00
Franck Nijhof 89dc6db5a7 Add arming/disarming state to Verisure (#90577) 2023-03-31 15:41:25 -04:00
J. Nick Koston de9e7e47fe Make sonos activity check a background task (#90553)
Ensures the task is canceled at shutdown if the device
is offline and the ping is still in progress
2023-03-31 15:41:24 -04:00
epenet ab66664f20 Allow removal of sensor settings in scrape (#90412)
* Allow removal of sensor settings in scrape

* Adjust

* Adjust

* Add comment

* Simplify

* Simplify

* Adjust

* Don't allow empty string

* Only allow None

* Use default as None

* Use sentinel "none"

* Not needed

* Adjust unit of measurement

* Add translation keys for "none"

* Use translations

* Sort

* Add enum and timestamp

* Use translation references

* Remove default and set suggested_values

* Disallow enum device class

* Adjust tests

* Adjust _strip_sentinel
2023-03-31 15:41:23 -04:00
Paulus Schoutsen e7e2532c68 Bumped version to 2023.4.0b2 2023-03-30 20:55:55 -04:00
puddly 4bf10c01f0 Bump ZHA dependencies (#90547)
* Bump ZHA dependencies

* Ensure the network is formed on channel 15 when multi-PAN is in use
2023-03-30 20:55:37 -04:00
J. Nick Koston aad1f4b766 Handle garbage in the context_id column during migration (#90544)
* Handle garbage in the context_id column during migration

* Update homeassistant/components/recorder/migration.py

* lint
2023-03-30 20:55:36 -04:00
J. Nick Koston e32d89215d Fix migration when encountering a NULL entity_id/event_type (#90542)
* Fix migration when encountering a NULL entity_id/event_type

reported in #beta on discord

* simplify
2023-03-30 20:55:36 -04:00
Franck Nijhof 9478518937 Add entity name translations to LaMetric (#90538)
* Add entity name translations to LaMetric

* Consistency
2023-03-30 20:55:35 -04:00
Bram Kragten 8a99d2a566 Update frontend to 20230330.0 (#90524) 2023-03-30 20:55:34 -04:00
TheJulianJES 38aff23be5 Migrate old ZHA IasZone sensor state to zigpy cache (#90508)
* Migrate old ZHA IasZone sensor state to zigpy cache

* Use correct type for ZoneStatus

* Test that migration happens

* Test that migration only happens once

* Fix parametrize
2023-03-30 20:55:33 -04:00
Paulus Schoutsen 705e68be9e Bumped version to 2023.4.0b1 2023-03-30 10:40:19 -04:00
Franck Nijhof 4a319c73ab Add a device to the sun (#90517) 2023-03-30 10:40:12 -04:00
Paulus Schoutsen 576780be74 Unregister webhook when registering webhook with nuki fials (#90514) 2023-03-30 10:40:11 -04:00
Petro31 01734c0dab Fix for is_hidden_entity when using it in select, selectattr, reject, and rejectattr (#90512)
fix
2023-03-30 10:40:10 -04:00
Erik Montnemery 2157a4d0fc Include channel in response to WS thread/list_datasets (#90493) 2023-03-30 10:40:09 -04:00
Paulus Schoutsen b83cb5d1b1 OpenAI to rely on built-in areas variable (#90481) 2023-03-30 10:40:08 -04:00
J. Nick Koston 2a627e63f1 Fix filesize doing blocking I/O in the event loop (#90479)
Fix filesize doing I/O in the event loop
2023-03-30 10:40:06 -04:00
puddly 30af4c769e Correctly load ZHA settings from API when integration is not running (#90476)
Correctly load settings from the zigpy database when ZHA is not running
2023-03-30 10:40:05 -04:00
epenet 02f108498c Add missing strings to sensor integration (#90475)
* Add missing strings to sensor integration

* Enumeration

* Apply suggestion

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-30 10:40:04 -04:00
J. Nick Koston 9f3c0fa927 Bump yalexs-ble to 2.1.14 (#90474)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.1.13...v2.1.14

reduces ble traffic (fixes a bug were we were checking when we did not need to be)
2023-03-30 10:40:03 -04:00
Guido Schmitz b5811ad1c2 Add entity name translations for devolo Home Network (#90471) 2023-03-30 10:40:02 -04:00
starkillerOG baccbd98c7 Bump reolink-aio to 0.5.8 (#90467) 2023-03-30 10:40:01 -04:00
Thijs W 9d116799d6 Add missing strings in frontier_silicon (#90446)
Improve confirm message for ssdp flow
2023-03-30 10:40:00 -04:00
RenierM26 e877fd6682 Use auth token in Ezviz (#54663)
* Initial commit

* Revert "Initial commit"

This reverts commit 452027f1a3c1be186cedd4115cea6928917c9467.

* Change ezviz to token auth

* Bump API version.

* Add fix for token expired. Fix options update and unload.

* Fix tests (PLATFORM to PLATFORM_BY_TYPE)

* Uses and stores token only, added reauth step when token expires.

* Add tests MFA code exceptions.

* Fix tests.

* Remove redundant try/except blocks.

* Rebase fixes.

* Fix errors in reauth config flow

* Implement recommendations

* Fix typing error in config_flow

* Fix tests after rebase, readd camera check on init

* Change to platform setup

* Cleanup init.

* Test for MFA required under user form

* Remove useless if block.

* Fix formating after rebase

* Fix formating.

* No longer stored in the repository

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-03-30 10:39:58 -04:00
Franck Nijhof fc67a147ce Bumped version to 2023.4.0b0 2023-03-29 22:01:31 +02:00
Erik Montnemery 5bc9545b81 Rename custom_jinja to custom_templates (#90473)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-29 21:58:25 +02:00
Michael cf0550f5c2 Add re-auth flow to nextcloud (#90472) 2023-03-29 21:46:08 +02:00
Kevin Stillhammer 28d045cf75 Allow resetting filters for waze_travel_time (#88253)
* Allow resetting filters by using vol.Maybe

* Fix return types

* Use suggested values

* Apply feedback

* Apply nitpick
2023-03-29 21:05:20 +02:00
Bram Kragten a478e278fd Update frontend to 20230329.0 (#90461) 2023-03-29 21:04:04 +02:00
Raman Gupta 4877cf8d5d Bump zwave-js-server-python to 0.47.1 (#90464) 2023-03-29 14:30:30 -04:00
Michael b881995efc Add verify ssl option to nextcloud (#90462)
add verify sssl option to config flow
2023-03-29 19:36:42 +02:00
Marcel van der Veldt a33c70e595 Bump python-matter-server to 3.2.0 (#90457) 2023-03-29 18:52:21 +02:00
Luke 7ca5beddfc Fix Oralb Logger (#90460) 2023-03-29 06:36:01 -10:00
Paulus Schoutsen 81c39e42f4 Bump home-assistant-intents to 2023.3.29 (#90459) 2023-03-29 11:25:08 -05:00
epenet f7925763a4 Make abort_entries_match available in options flow (#90406)
* Make abort_entries_match available in options flow

* Add tests

* Exclude ignore entries and add test

* Move to OptionsFlow

* Adjust tests

* Use mock_config_flow

* Use AbortFlow

* Remove duplicate code
2023-03-29 17:20:51 +02:00
mletenay a1c94919de Fix goodwe export limit unit on single phase DT inverters (#90427)
* Fix export limit unit on single phase DT inverters

* Update homeassistant/components/goodwe/number.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-29 16:01:14 +02:00
starkillerOG d427c35c87 Reolink improve config flow login (#90036) 2023-03-29 14:41:38 +02:00
Renat Sibgatulin 8dbcbd156a Add new sensors to airq (#90413)
Support for the sensors introduced in air-Q firmware v1.82.0
2023-03-29 11:33:27 +02:00
MatthewFlamm c06bc28434 Limit observations requested for NWS (#90137)
* fetch data only for 70 minutes

* Use timezone aware now

* Type hint

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-29 10:34:29 +02:00
J. Nick Koston b58c90602f Bump yalexs-ble to 2.1.13 (#90442) 2023-03-29 09:39:44 +02:00
Klaas Schoute 0327f312f2 Fix data issue for easyEnergy during midnight (#90434) 2023-03-29 08:37:20 +02:00
Klaas Schoute 12edaa052c Fix data issue for energyzero during midnight (#90433) 2023-03-29 08:29:44 +02:00
J. Nick Koston 8096be768d Isolate the sql integration with a separate query cache (#90438)
* Isolate the sql integration with a seperate query cache

If there were a lot of sql integrations they could affect
the performance of the recorder/logbook/history since they
were sharing the same LRU and since the sql sensor updates
frequently it would evict the recorder queries from the
LRU.

* generate in stmt

* avoid double gen

* Revert "avoid double gen"

This reverts commit 6a5aa65268.
2023-03-28 23:54:03 -04:00
J. Nick Koston 5dc96a6952 Fix unbound variable in sql when session setup fails (#90439)
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 304, in _async_setup_platform
    await asyncio.shield(task)
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 75, in async_setup_platform
    await async_setup_sensor(
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 150, in async_setup_sensor
    sessmaker := await hass.async_add_executor_job(
  File "/opt/homebrew/Cellar/python@3.10/3.10.9/Frameworks/Python.framework/Versions/3.10/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/bdraco/home-assistant/homeassistant/components/sql/sensor.py", line 205, in _validate_and_get_session_maker_for_db_url
    if sess:
UnboundLocalError: local variable 'sess' referenced before assignment
2023-03-28 23:52:44 -04:00
Paulus Schoutsen 885be98f8f OpenAI to use GPT3.5 (#90423)
* OpenAI to use GPT3.5

* Add snapshot
2023-03-29 05:37:43 +02:00
J. Nick Koston 403dffc12d Reduce cache key size for queries that only need single columns (#90430)
* Reduce cache key size for queries that only need single columns

These queries only cared about a single row but would select
the whole set of columns from the orm object

* wrap it
2023-03-28 23:28:24 -04:00
J. Nick Koston ce28bfe5b2 Remove unused types argument in statistics query generation (#90431)
* Remove unused types argument in statistics query generation

* update test
2023-03-28 23:01:11 -04:00
Nathan Spencer 2c7c8ccbfe Fix bluetooth polling recovered log missing argument (#90436) 2023-03-28 16:36:26 -10:00
Thijs W e3cad8baac Migrate ssdp to config_flow for frontier_silicon (#89496)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-28 16:06:21 -10:00
TheJulianJES 47a2598b66 Add Aqara smoke sensor entities to ZHA (#90159)
* Add Aqara smoke sensor entities (WIP)

* Update smoke sensor entities (WIP)

* Drop two init attributes

* Move self-test button

* Remove self-test switch, add icons

* Add smoke sensor dbm entity

* Also add SMOKE device class to linkage alarm

Note: Enable "Linkage alarm" for this
2023-03-28 21:30:56 -04:00
TheJulianJES 12f49006cf Add Aqara E1 thermostat entities to ZHA (#90158)
* Add Aqara E1 thermostat entities (WIP)

* Remove calibrate button for now

* Add diagnostic entity category to calibrated + external sensor

* Add multiplier for ZHA config number/away preset temp

* Set default multiplier correctly

* Add and use `CONFIG_DIAGNOSTIC_MATCH` for diagnostic entities
2023-03-28 21:12:21 -04:00
David F. Mulcahey 8660035027 Bump ZHA quirks to 0.0.95 (#90435) 2023-03-28 20:59:26 -04:00
J. Nick Koston 4f05246654 Bump onvif-zeep-async to 1.2.3 (#90382) 2023-03-28 13:54:33 -10:00
MattWestb ee2101ef38 Add binding of IKEA Matter Switch cluster in ZHA (#89623)
* Adding binding of IKEA Matter Switch cluster

IKEA Symfonisk Gen 2 is using Matter ZCL Switch command but on manufacture cluster then its not supported in ZVL R8 that need being bond for sending the commands to the coordinator.

* Update manufacturerspecific.py

* Update manufacturerspecific.py

Delete not needed function `@registries.BINDABLE_CLUSTERS.register(0xFC80)`
2023-03-28 19:33:06 -04:00
J. Nick Koston 9dc936f8b9 Add sqlalchemy LRUs to the profiler lru service (#90428) 2023-03-28 12:02:35 -10:00
mletenay 9ae0236208 Add goodwe sensors for apparent/reactive pwr (#87940) 2023-03-28 23:31:14 +02:00
J. Nick Koston f60e9c71a2 Make bootstrap cancelation safe (#90420) 2023-03-28 11:22:41 -10:00
Erik Montnemery e22618a555 Write protect entity options (#90185) 2023-03-28 22:56:51 +02:00
J. Nick Koston 0550b17d54 Rework recorder filters to avoid caching mistakes (#90419) 2023-03-28 22:51:46 +02:00
Jan Bouwhuis 93e1cd8dd8 Add header with parsed date to imap event data (#90422) 2023-03-28 22:50:25 +02:00
mkmer 0ceee2b6c3 Catch somecomfort error in Honeywell (#90425) 2023-03-28 22:48:27 +02:00
starkillerOG e9925f6062 Check webhook url is reachable in Reolink (#89585)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-28 22:46:59 +02:00
Jan Bouwhuis 24d0d15f38 Implement imap_content event for imap integration (#90242) 2023-03-28 21:02:43 +02:00
J. Nick Koston d21433b6af Ensure filters are generated inside the lambda locks (#90418) 2023-03-28 20:50:10 +02:00
Aaron Godfrey 9ccd43e5f1 Add DataUpdateCoordinator to the Todoist integration (#89836)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-28 18:57:24 +02:00
TheJulianJES 89a3c304c2 Refactor ZHA binary sensors to read from zigpy cache (#89481)
* Construct binary sensor state from zigpy cache (WIP)

* Workaround zha-quirks issue where "MotionWithReset" quirks don't update attribute cache (WIP)

zha-quirks currently has an issue where the ZONE_STATE attribute is updated (when the zone_STATUS changes).
https://github.com/zigpy/zha-device-handlers/pull/2231 is a proper fix for this.

For now, we just update the attribute cache when we get the "zone status update notification" command.

This wasn't noticed before, as the "attribute report signal" was sent from the `cluster_command()` method and the used the provided attribute (in the signal) to update the `_state` value in the binary sensor class.
As we just tell HA to write state again when we get an attribute report now, the ZONE_STATUS attribute is read now (and needs to be correct).

* Use parse() method of main class for IasZone entity (with stripped bits)

* Change wording in comment, remove explicitly sending attr signal

(This comment should be removed/changed later anyway)

* Remove note

* Get zone_status attribute id with zigpy

* Remove `security.` prefix for `IasZone` import

`AceCluster` was already directly imported and `IasZone` is too now for getting the attribute id

* Store full zone status attribute in cache

* Check that non-alarm bits are ignored in IasZone sensor test

* Re-enable occupancy binary sensor test

This test seems to work fine and I don't see any reason why it was commented out for a while

* Fix cached read mix-up for `zone_status`/`zone_state`

This allows cached reads for `zone_state` (enrolled or not), but forces a new read for `zone_status` (alarm or not).
2023-03-28 12:39:10 -04:00
Dmitry Vlasov 4b3c1f2800 Update zwave-me-ws version to 0.3.6 (#90233) 2023-03-28 17:24:19 +02:00
DerEnderKeks 9fecdddf01 Don't use force_update for Tasmota sensors (#85943)
* fix: don't use force_update for Tasmota sensors

* Update binary_sensor.py

* Update test_binary_sensor.py

* Update test_sensor.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-28 17:14:52 +02:00
Michał Huryn 0a51914740 Blebox cover tilt (#85515)
* feature: added tilt for shutterBox

* test: include tilt in tests
2023-03-28 17:11:48 +02:00
Joakim Sørensen d907bd2ca3 Add connected relayer region to system health (#90410) 2023-03-28 17:09:59 +02:00
Wesley Vos 478a1d5e9a Add periodically resetting meter option to utility meter (#88446)
* Use last valid state if meter is not periodically resetting

* Fix unload of entry, used during options flow submit

* Adjustments based on code review

* Move DecimalException handling to validation method

* Add test for invalid new state in calculate_adjustment method
2023-03-28 17:09:20 +02:00
ehendrix23 e45eab600f Add has_value function/test to Jinja2 template (#79550) 2023-03-28 17:04:29 +02:00
Chris Xiao 048d30904e Simplify qbittorrent sensor class init (#90411)
catch LoginException directly in QBittorrentSensor init

Since the `exception` arg in QBittorrentSensor `__init__` is always
LoginException, we catch LoginException directly in `__init__` instead
of passing LoginException as an argument.
2023-03-28 16:52:16 +02:00
Dave T f081fa8feb Add basic tests for temper USB temperature sensor integration (#80220)
* Add basic tests

* Updated requriements_test_all.txt

* Update temperusb version

* Add type hints

Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>

* Add type hints

Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>

* Correct typo in type hint

* Fix isort

* Fix requirements_test_all.txt

---------

Co-authored-by: Dave T <davet2001@users.noreply.github.com>
Co-authored-by: Christian Knittl-Frank <lcnittl@gmail.com>
2023-03-28 16:50:59 +02:00
Robert Hillis 866518c5a0 Add tests to Lidarr (#79610)
* Add tests to Lidarr

* fix js files

* take out the trash

* fix 3.9

* uno mas

* fix fixture

* ruff

* Update const.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-28 16:49:32 +02:00
Guido Schmitz a26d95ec02 Add switch tests for devolo_home_control (#80154) 2023-03-28 16:45:06 +02:00
Alexander Momchilov abe60375b3 Disable esphome stopping a cover if the cover doesn't support stopping (#80104)
* Make "CoverEntityFeature.STOP" conditional

* Check APIVersion before checking false by default flag

* sort

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-28 16:43:47 +02:00
b-uwe 3662c651c9 Add brand for HomeSeer (#90066) 2023-03-28 16:37:57 +02:00
epenet bdf29b594f Replace comments with docstring in ColorMode enum (#90408) 2023-03-28 16:32:39 +02:00
epenet 02e2e4d039 Add rest encoding test (#90404)
* Add rest encoding test

* docstring
2023-03-28 16:29:24 +02:00
Erik Montnemery b4775ed2eb Don't rely on the demo integration in voice_assistant tests (#90405) 2023-03-28 15:22:48 +02:00
Petro31 2123600039 Add minutely updates to relative_time and today_at template functions (#86815)
* add minutely update

* fix mypy
2023-03-28 15:10:28 +02:00
Nathan Spencer cdefc48fcd Add panel brightness control for Litter-Robot 4 (#86269)
* Add panel brightness control for Litter-Robot 4

* Use translation_key

* Fix test
2023-03-28 15:07:09 +02:00
Renat Sibgatulin 091932c3ac Improve airq test coverage (#90192)
* Add a missing test for aborting with "already_configured"

Test that config_flow aborts with "already_configured" when the
integration has already been configured

* Don't copy test data

Since #90232 is merged, it is no longer needed

* Split the initialisation into two steps, as it should be
2023-03-28 14:59:03 +02:00
Erik J. Olson d228df6d81 Fix Notify Group payload data mis-merge (#90253)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-28 14:56:10 +02:00
Robert Hillis 8e7013b079 Add HTML support for Google Mail messages (#87201) 2023-03-28 14:34:57 +02:00
avee87 cc404cfe77 Refactor Tado to use entity descriptions and new naming style (#75750)
* Refactor Tado to use entity descriptions and new naming style

* minor fixes

* typing
2023-03-28 08:24:19 -04:00
Maikel Punie 0eb409cff1 Add support for select entities in velbus (#87568)
* Add support for select entities in velbus

* Implement comments

* EntityCategory is now in homeassistant.const

* more comments
2023-03-28 08:01:31 -04:00
Ryan Fleming 7b18df321b Have octoprint camera respect verify_ssl configuration (#90384) 2023-03-28 14:00:35 +02:00
Martin Hjelmare 29645d5820 Remove mysensors ir switch (#90403) 2023-03-28 13:39:32 +02:00
MarkGodwin 6e23e00b5a TP-Link Omada update entities code review feedback (#89668) 2023-03-28 13:25:10 +02:00
Geoff 08444eeb76 Update transmission up/down speed values (#88528)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-28 13:20:20 +02:00
PatrickGlesner f72bf73b03 Fix NMBS IndexError (#90365) 2023-03-28 13:19:52 +02:00
J. Nick Koston de2ca31a71 Remove lru_cache on websocket _state_diff (#90392) 2023-03-28 13:08:43 +02:00
Martin Hjelmare e6c94d7854 Remove mysensors notify (#90402) 2023-03-28 13:05:09 +02:00
Jan Iven b6a0ac6f0a Fix envoy last_seven_days_energy* state class (#84528)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-28 13:04:08 +02:00
J. Nick Koston b207790177 Fix benign typo in discovery flow helper (#90396) 2023-03-28 13:01:41 +02:00
Willem-Jan van Rootselaar 4575352101 Bump python-bsblan to 0.5.11 (#90377) 2023-03-28 12:50:57 +02:00
Michael e4bb339a1e Add device info to Nextcloud integration (#90328)
* add device_info

* use entry_id as identifier + device name

* use shorthand attributes

* remove model from device info

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-28 12:43:00 +02:00
Olivier Ouellet 1c465b5ad0 Add encoding configuration setting to REST and Scape (#90254)
* Create new config parameter for default character encoding if no character encoding is declared

* Changes suggested by gjohansson-ST

* Added config flow for scape

* Removed "character"

* Change to create_async_httpx_client

* Remove CONF_ENCODING from Scrape SENSOR_SCHEMA

* Debug scrape test
2023-03-28 12:42:31 +02:00
Erik Montnemery 3c3860c923 Make OTBR use same channel as ZHA (#88546) 2023-03-28 12:34:25 +02:00
Allen Porter ae41547b73 Update calendar to always request start/end dates in local time rather than UTC (#90386) 2023-03-28 12:25:44 +02:00
J. Nick Koston be5714e3fd Use slots for recorder tasks to reduce memory (#90387) 2023-03-28 12:24:12 +02:00
BNolet 6fbdcac323 Fix setting color + brightness of Tuya lights (#88470)
* Check if changing TO a color mode

Changing brightness alone does not change work mode, but changing brightness with a color value will keep the light in white mode. 

By verifying the new state has color or not, rather than the existing state being in color work mode, the light will change to color correctly.

Tuya interprets HSV as including the brightness in the (v) value (which is generally what that's used for when setting HSV values). The brightness value given by Home Assistant is still used in this case.

* Fix brightness-only turning colour mode to white

This will take into account the case where brightness is the only parameter for both the case of colour mode and white mode.

Tests passed after this change:

* Brightness only (colour mode) 
* Brightness only (white mode) 
* Colour only (colour mode) 
* Colour only (white mode) 
* Colour temp only (colour mode) 
* Colour temp only (white mode) 
* Colour + brightness (colour mode) 
* Colour + brightness (white mode) 
* Colour temp + brightness (colour mode) 
* Colour temp + brightness (white mode) 

* Fix code formatting
2023-03-28 12:20:54 +02:00
epenet 96dae587a9 Fix ridwell tests (#90401) 2023-03-28 11:54:16 +02:00
Chris Xiao e617bfb1bb Display unit of elevation in met config flow (#88283)
* display unit of elevation in met config flow

Co-authored-by: lijake8 <lijake8@users.noreply.github.com>
Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* use NumberSelector for met config flow

* met remove unused is_metric param

---------

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
Co-authored-by: lijake8 <lijake8@users.noreply.github.com>
2023-03-28 11:51:35 +02:00
Pascal Reeb 23a1a8075c Add callback support to nuki (#88346)
* feat(nuki): add callback support

* fix(nuki): add webhook_enabled to tests

* remove callback choice, add repair if it's https

* black

* fix(nuki): implemented feedback from pvizeli and frenck

* remove unneded test change

* remove issue_registry and http check

* remove unneded response

* add await to executor_job
2023-03-28 11:28:04 +02:00
J. Nick Koston 2fd872b253 Speed up profiler lru test (#90395) 2023-03-28 11:02:08 +02:00
Jens Østergaard Nielsen e0424c8322 Use shorthand attributes in IHC (#90350)
* typings to make linter happy

* Moving device_class and native_value to init

* remove is_on and use attr_is_on

* Use try_parse_enum for sensor type

* Remove not needed sensor_type

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/ihc/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-28 10:23:00 +02:00
dougiteixeira 190393c6bb Improve Proxmox VE type hints (#90359)
* Improves some type hints in Proxmox VE

* update

* update]

* fix isort

* Fix vm_id type

* Fix vm_id type

* Update homeassistant/components/proxmoxve/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/proxmoxve/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Change initialization of _proxmox

* Move definition of _proxmox to class level

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-28 10:17:33 +02:00
Raman Gupta c51ed4b328 Redact secret zwave values in diagnostics (#90389)
* redact secret zwave values from diagnostics

* shhrink

* rename
2023-03-28 09:59:01 +02:00
Jan Bouwhuis 14ffda9758 Remove dependency on async_setup from mqtt integration (#87987)
* Remove async_setup from mqtt integration

* Final update common tests

* Related tests init

* Related tests diagnostics

* Related tests config_flow

* Cleanup and correct test

* Keep websockets_api commands in async_setup
2023-03-28 09:37:07 +02:00
Erik Montnemery 5e03272821 Bump pychromecast to 13.0.6 (#90390) 2023-03-28 09:36:34 +02:00
G Johansson 706e8d5612 Add product calculation to Group sensor (#87373)
* Group product

* config flow
2023-03-28 09:35:09 +02:00
Aaron Godfrey 8b7594ae08 Look up todoist collaborators only when adding new task (#87957)
* Look up collaborators only when adding new task.

Also fixed a few api call arguments that were incorrect. The `labels`
key should have been a list of strings and the `assignee` key should
have been `assignee_id`.

* Add missing type in test.

* Remove print
2023-03-28 09:33:32 +02:00
Aaron Bach ff135ecdc6 Add a calendar entity to Ridwell (#88108)
* Subclass a `DataUpdateCoordinator` for Ridwell

* Add a calendar entity to Ridwell

* Simpler unique ID

* Fix tests

* Docstring
2023-03-28 09:31:36 +02:00
Joakim Plate 0666a4750c Add re-auth support to philips_js (#88774)
* Add re-auth support to philips_js

* Adjustments from review

* Don't allow duplicate entries for now
2023-03-28 09:30:42 +02:00
stickpin dc05272120 Display only supported Home Connect appliance programs (#88801)
Show only supported device programs
2023-03-28 09:14:19 +02:00
Erik Montnemery 586471b5a9 Improve threshold binary sensor (#88978)
Improve threshold sensor
2023-03-28 09:11:13 +02:00
gjong bfb5daa31c Add phase information to YouLess (#89255) 2023-03-28 08:49:31 +02:00
Mark Adkins 38f3b9f165 Add SharkIQ EU region support (#89349)
* SharkIQ Dep & Codeowner Update

* Update code owners

* Add EU Region Support

* Update Config Flow Tests

* Standardize Region Comparison Strings

* Add Translation Support to Region Selector

* Fix Validation Tests
2023-03-28 08:48:32 +02:00
Penny Wood db6f0827aa Allow reloading iZone config entry (#89572)
* Allow reloading of iZone config entries
---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-28 08:47:45 +02:00
Cosmin Luță 8807878529 Add Mikrotik WifiWave2 (#89711)
* Add support for wifiwave2

* Add test for wifiwave2
2023-03-28 08:46:16 +02:00
mkmer b399e5c8b7 Handle uncaught exceptions during update in Aladdin_connect (#89889)
* Handle uncaught errors during update

* Remove unnecssary patch

* Update tests/components/aladdin_connect/test_cover.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update tests/components/aladdin_connect/test_cover.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Remove unasserted statement

* Blocking is True - one more

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-28 08:45:10 +02:00
Michael c0387a655c Turn AVM FRITZ!Box Tools binary sensors into coordinator entities (#89955)
make binary sensors coordinator entities
2023-03-28 08:39:34 +02:00
Maciej Bieniek 33fef5592f Refactor GIOS sensor platform (#89389) 2023-03-28 08:36:42 +02:00
J. Nick Koston dc37d92197 Add lru stats to the profiler integration (#90388) 2023-03-28 08:34:56 +02:00
Matthias Alphart 3dd3cb195f Set default value for some Fronius entities (#89475) 2023-03-28 08:23:53 +02:00
Renat Sibgatulin e27d3c9523 Improve airq handling of DeviceInfo (#90232)
* Reduce data sharing between ConfigFlow and DataUpdateCoordinator

Instead of fetching device information from the device once in
`ConfigFlow` and then piping it through in `ConfigEntry.data`,
only use as much as needed in `ConfigFlow.async_step_user`, then fetch
again in `AirQCoordinator._async_update_data` if a key is missing.

Additionally, factor `AirQCoordinator` out into a sumbodule.

Add a simple test for `AirQCoordinator.device_info` update.

Positive side effect: `AirQCoordinator.device_info` is
updated explicitly, instead of dumping the entire content of (a fully
compatible) `TypedDict`, retrieved from `aioairq`.

* Remove tests ill-suited to this PR

`test_config_flow.test_duplicate_error` slipped through by mistake,
while `test_coordinator.test_fetch_device_info_on_first_update` may need
a more thoroughly suite of accompanying tests

* Ignore airq/coordinator.py

...newly separated from airq/__init__.py, that's already in this list

* Reorder files alphabetically
2023-03-28 08:18:47 +02:00
dougiteixeira 5b4663d2ca Bump proxmoxer to 2.0.1 in Proxmox VE (#90378) 2023-03-28 01:27:54 +02:00
J. Nick Koston 59113a3e4c Bump flux_led to 0.28.36 (#90380) 2023-03-28 00:50:11 +02:00
Michael a361fba8f5 Bump nextcloudmonitor to 1.4.0 (#90372) 2023-03-28 00:48:14 +02:00
J. Nick Koston 1cd2fe9d28 Bump aiodiscover to 1.4.15 (#90383) 2023-03-28 00:44:34 +02:00
J. Nick Koston 058a2c9d83 Bump yalexs-ble to 2.1.12 (#90381) 2023-03-28 00:41:51 +02:00
G Johansson cb6d384dba Workday cleanup (#90267)
* clean binary sensor

* fix const

* clean sensor

* Fix tests

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-27 23:11:49 +02:00
Martin Hjelmare 182af87f97 Refactor matter device entity value conversion (#90368) 2023-03-27 22:21:56 +02:00
Franck Nijhof fb4b35709d Add state translations for helpers (#90356)
* Add state translations for helpers

* Managed via the UI
2023-03-27 16:19:25 -04:00
Jonas Bergler 9f04c23414 Support toggling debug logging for custom components (#90340)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-27 09:40:58 -10:00
Denis Shulyaka 71b5ccee23 Fix generic_hygrostat error at startup (#88764) 2023-03-27 21:22:36 +02:00
G Johansson 96698813ef Cleanup command_line (#90268)
* Cleanup command_line

* Fix ipv6 resolver

* Fix fix

* Fix tests

* Align states
2023-03-27 21:19:09 +02:00
Franck Nijhof 2ceb24e5d0 Fail CI if codecov upload fails (#90363) 2023-03-27 20:49:49 +02:00
Erik Montnemery 506a916a13 Add reauth flow to dormakaba dkey (#90225) 2023-03-27 08:37:31 -10:00
epenet 1937d803c5 Add RestoreEntity pylint checks to all platforms (#90020) 2023-03-27 20:08:20 +02:00
Martin Hjelmare 18933df95c Clean dead code from matter (#90369) 2023-03-27 20:06:59 +02:00
Erik Montnemery f84651b14e Improve tts test coverage (#90370) 2023-03-27 20:00:54 +02:00
Franck Nijhof a405112142 Add state translations for Script entities (#90354) 2023-03-27 13:59:57 -04:00
Trevor Bernard d59e2b1349 Add "stream" to default_config (#90153)
* add stream to manifest

* Update __init__.py

remove av check from init

* Update homeassistant/components/default_config/__init__.py

* Update requirements

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-27 13:57:56 -04:00
Franck Nijhof b033232b06 Filter out ASCII tab or newline from input URLs (#90348) 2023-03-27 13:49:40 -04:00
javicalle f4fda55405 Fix quirk_class_validator in ZHA unit tests (#90140)
* Fix `quirk_class_validator`

Fix the `quirk_class_validator` for quirks with more than 1 module level

* fix black

* Shorten `quirk_cls` in `clss`

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update comment

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2023-03-27 11:57:40 -04:00
Franck Nijhof 89f89cab2c Use entity name translations in Verisure (#90362) 2023-03-27 16:55:10 +02:00
Jan Bouwhuis fd3280260d Remove unreachable continue statement in imap push coordinator (#90361) 2023-03-27 16:39:51 +02:00
dougiteixeira 2ce3c014ff Move Proxmox VE constants (#90357)
* Move constants to const.py

* Update homeassistant/components/proxmoxve/const.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/proxmoxve/const.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/proxmoxve/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-27 15:27:55 +02:00
Avi Miller a32c78238e Bump lifx dependencies (#90345) 2023-03-27 14:06:30 +02:00
Erik Montnemery a91aef9d52 Rewrite tts tests (#90355) 2023-03-27 14:01:17 +02:00
epenet c193402ba7 Remove incorrect ignore in pylint plugin (#90024)
* Remove incorrect ignore_missing_annotations

* Allow tuple[int, int] in hs_color

* Adjust notify targets

* Always check for return type inheritance

* Adjust tests

* Revert "Always check for return type inheritance"

This reverts commit 3528742adf98edc6481f2c954c032ace881e1d6e.

* Revert "Allow tuple[int, int] in hs_color"

This reverts commit d51c1731eff3d59b9e94e7a7e914933ceaf8e34f.

* Revert "Adjust notify targets"

This reverts commit 4cba77a7309dc89980e29d6d5b9107d9e55f7070.
2023-03-27 13:53:14 +02:00
epenet 53de9dcdbc Fix pylint plugin for binary websocket (#90351) 2023-03-27 13:09:42 +02:00
Raman Gupta c11a3881af Bump zwave-js-server-python to 0.47.0 (#90212) 2023-03-27 12:25:04 +02:00
Joel Goguen d9471fd01a Bump python-holidays to 0.21.13 (#89724)
Update Python holidays module to 0.21.13

python-holidays 0.19-0.21.13 adds support for new countries and enhances
support for many currently supported countries.
2023-03-27 12:14:16 +02:00
Jan Bouwhuis 5b3c57ff1e Add option flow for imap integration (#89914)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-27 11:47:22 +02:00
starkillerOG 0d58646823 Bump reolink-aio to 0.5.7 (#90344) 2023-03-27 11:11:38 +02:00
starkillerOG 97f8a3fdcd Reolink add auto tracking entities (#90063) 2023-03-27 11:04:03 +02:00
PatrickGlesner 56293ad876 Revert "Fix NMBS IndexError" (#90346) 2023-03-27 11:00:52 +02:00
epenet 94a52d5cca Adjust tts default_options type hints (#90053)
* Adjust tts default_options type hints

* Improve other components

* Adjust

* Revert component changes

* Adjust get_tts_audio in amazon_polly
2023-03-27 11:00:23 +02:00
epenet 8c519e1abb Use SnapshotAssertion in gree climate tests (#90339) 2023-03-27 10:01:39 +02:00
epenet 164482dc08 Use lambda in gree switch (#90316) 2023-03-27 10:00:41 +02:00
Franck Nijhof 2041a0b4f9 Merge branch 'master' into dev 2023-03-27 09:42:15 +02:00
J. Nick Koston 6a5c05e7d2 Add support for clearing the on device GATT cache to esphome (#90318) 2023-03-27 09:34:28 +02:00
Jan Bouwhuis a773c37190 Cleanup name assignment imap sensor (#90306) 2023-03-27 08:33:46 +02:00
G Johansson 624860da0e Remove deprecated platform yaml in Scrape (#90272)
* Deprecate platform yaml

* typing

* DiscoveryInfoType
2023-03-27 08:05:30 +02:00
Paulus Schoutsen c3717f8182 Clean up voice assistant integration (#90239)
* Clean up voice assistant

* Reinstate auto-removed imports

* Resample STT audio from 44.1Khz to 16Khz

* Energy based VAD for prototyping

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2023-03-26 21:41:17 -05:00
J. Nick Koston 7098debe09 Fix sql doing I/O in the event loop at startup (#90335)
* Fix sql doing I/O in the event loop

* Fix sql doing I/O in the event loop

* no test query on main db

* fix mocking because it was targeting the recorder
2023-03-26 21:02:24 -04:00
Anders Melchiorsen 75e28826e0 Upgrade netgear_lte third-party library to v0.0.15 (#90324)
* Upgrade netgear_lte third-party library to 0.0.15

* Create explicit tasks for asyncio.wait()
2023-03-26 19:22:20 -04:00
J. Nick Koston 65e46e3261 Bump aioesphomeapi to 13.6.0 (#90330) 2023-03-26 12:58:07 -10:00
J. Nick Koston ce9099a386 Bump cryptography to 40.0.1 (#90326) 2023-03-26 12:30:17 -10:00
J. Nick Koston a7c796a2f7 Ensure esphome connected future is awaited when connecting is canceled (#90329) 2023-03-26 12:30:00 -10:00
J. Nick Koston a733ca96a2 Bump yalexs-ble to 2.1.9 (#90320) 2023-03-27 00:17:32 +02:00
skrynklarn bdd095423b Add last trip time attribute to Verisure binary sensors (#89944) 2023-03-27 00:17:12 +02:00
Michael 00ce757051 Apply late review comments from #89396 in Nextcloud (#90327) 2023-03-27 00:10:57 +02:00
Raman Gupta 16028dc9bc Add milliseconds as valid duration sensor unit (#90018) 2023-03-26 23:52:01 +02:00
epenet c06ec1f78f Improve onewire test coverage (#90184) 2023-03-26 23:46:52 +02:00
Chris Xiao 2642d37505 Set qbittorrent integration_type to service (#90236) 2023-03-26 23:40:59 +02:00
Jens Østergaard Nielsen 0393797ade Bump ihcsdk to 2.8.5 (#90266) 2023-03-26 23:32:06 +02:00
Allen Porter fa35867765 Bump ical to 4.5.1 and set PRODID for home assistant in local calendar ics (#90291) 2023-03-26 23:00:45 +02:00
Aaron Godfrey 745df277a0 Fix Todoist end date for all day event (#89837) 2023-03-26 22:08:36 +02:00
J. Nick Koston 8c9966aa05 Ensure esphome subscribes to bluetooth connection free before accepting connect requests (#90319) 2023-03-26 22:06:14 +02:00
Franck Nijhof 916b274ec8 Update pipdeptree to 2.7.0 (#90312) 2023-03-26 09:47:47 -10:00
Igor Santos 94cc188885 [Issue template] Point to health page for version info (#80708) 2023-03-26 21:37:24 +02:00
Michael 45262c6114 Implement config flow for nextcloud (#89396)
* implement config flow

* add tests

* fix hassfest and requirements

* abort import on connection error

* add add_suggested_values_to_schema

* mock async_setup_entry

* revert code owner change

* fix try connect in config flow

* add device info

* allow multiple instances

* fix import in config flow

* remove custom scan interval from coordinator

* applay suggestions

* apply suggestions

* take over ownership from @meichthys

* cleanup import data before passing to user step

* apply suggestions to tests

* add untested files to .coveragerc
2023-03-26 21:14:17 +02:00
J. Nick Koston 542def7f82 Bump pySwitchbot to 0.37.5 (#90317) 2023-03-26 09:10:35 -10:00
Alexey Baturin 89355e0879 Add WLED IP as a sensor (#90241)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-26 20:03:03 +02:00
epenet c075dac916 Fix pylint plugin for tuple[float, float] returns (#90047) 2023-03-26 19:54:21 +02:00
epenet 3b83340f6e Improve get_browse_image type hints in media player (#90057) 2023-03-26 19:54:01 +02:00
epenet 3058cc8d56 Adjust targets type hint in notify platform (#90062) 2023-03-26 19:52:55 +02:00
epenet a036e31495 Use SnapshotAssertion in gree switch tests (#90222) 2023-03-26 19:51:48 +02:00
Niels Perfors 1baadc1d09 Update Verisure package to 2.6.1 (#89318)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: RobinBolder <33325401+RobinBolder@users.noreply.github.com>
Co-authored-by: Tobias Lindaaker <tobias@thobe.org>
2023-03-26 19:32:25 +02:00
epenet 6e92dac61f Adjust pylint plugin for return type inheritance (#90046) 2023-03-26 18:37:26 +02:00
rikroe bec7bbeb92 Use SnapshotAssertion in bmw_connected_drive tests (#90128) 2023-03-26 16:57:19 +02:00
epenet 69a46d4002 Adjust pylint plugin for components fixtures (#90217)
* Adjust pylint plugin for components fixtures

* Adjust components

* Use MagicMock

* Adjust

* Use None
2023-03-26 15:21:19 +02:00
epenet e0ec3488d3 Adjust IntFlag handling in syrupy (#90223) 2023-03-26 14:20:05 +02:00
J. Nick Koston f8431278c8 Bump yalexs-ble to 2.1.6 (#90295) 2023-03-26 11:05:21 +02:00
Robert Svensson a0b6da33ab Strict typing of UniFi integration (#90278)
* Fix typing of UniFi controller

* Strict typing of unifi.__init__

* Strict typing of UniFi config_flow

* Strict typing of UniFi switch

* Strict typing UniFi sensor

* Strict typing UniFi device tracker

* Strict typing of UniFi

* Fix library issues related to typing
2023-03-26 09:57:13 +02:00
G Johansson e8f3b9c09a Remove Volvooncall integration yaml import (#90288)
Depr yaml import
2023-03-26 09:42:38 +02:00
G Johansson b3f3f234c6 Remove pushbullet platform yaml import (#90285)
Depr pushbullet yaml
2023-03-26 09:40:07 +02:00
Felix Rotthowe 40131d811c Handle Livisi TokenExpiredException (#90258)
* reauth

* Request new Token on TokenExpiredException

* relogin using stored auth data

* fix imports

* import formatting
2023-03-26 09:35:49 +02:00
J. Nick Koston 0b8fb36a7e Fix onvif binary sensors (#90202)
* Fix httpx client creating a new ssl context with each client

While working on https://github.com/home-assistant/core/issues/83524
it was discovered that each new httpx client creates a new ssl context

https://github.com/encode/httpx/blob/f1157dbc4102ac8e227a0a0bb12a877f592eff58/httpx/_transports/default.py#L261

If an ssl context is passed in creating a new one is avoided here

https://github.com/encode/httpx/blob/f1157dbc4102ac8e227a0a0bb12a877f592eff58/httpx/_config.py#L110

This change makes httpx ssl no-verify behavior match aiohttp ssl no-verify
behavior

https://github.com/aio-libs/aiohttp/blob/6da04694fd87a39af9c3856048c9ff23ca815f88/aiohttp/connector.py#L892

aiohttp solved this by wrapping the code that generates the ssl context
in an lru_cache

* compact

* Fix onvif binary sensors

fixes #83524

needs https://github.com/hunterjm/python-onvif-zeep-async/pull/9 first
to avoid recreating the memory leak

* Fix memory leak in onvif

Work around until https://github.com/hunterjm/python-onvif-zeep-async/pull/9

followup to https://github.com/home-assistant/core/pull/83006

* move check

* onvif-zeep-async 1.2.2

* fix unloading
2023-03-25 23:28:38 -04:00
J. Nick Koston bd08d88812 Bump yalexs-ble to 2.1.5 (#90287)
Bump yalexs-ble 2.1.5

Some of the lever locks need a bit longer debounce time
since they still report stale state for up to 6s

changelog: https://github.com/bdraco/yalexs-ble/compare/v2.1.4...v2.1.5
2023-03-25 23:27:35 -04:00
J. Nick Koston 5f59bab9ec Bump bleak to 0.20.1 (#90282)
Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
2023-03-25 16:29:26 -10:00
G Johansson 53726cb4a1 Remove Magicseaweed (#90277) 2023-03-25 22:02:10 -04:00
J. Nick Koston 255f12ec05 Bump bleak-retry-connector to 3.0.2 (#90279)
changelog: https://github.com/Bluetooth-Devices/bleak-retry-connector/compare/v3.0.1...v3.0.2
2023-03-25 21:48:03 -04:00
G Johansson 92beb48a41 Add sensor platform to Sun (#81045)
* Sun sensor
* remove extra attr
* Add tests
* Add back attributes
* position sensors disabled default
* entity id
* unique id
* test init to attributes
* Fix test init
* Fix test sensor
* test unique id
* uom
* remove rising
* Remove not needed uom property
* Fix reload issue
* degree
2023-03-26 07:24:43 +08:00
G Johansson 7f6406127e Remove platform yaml radiotherm (#90284) 2023-03-25 12:43:44 -10:00
G Johansson 89d00ac733 Fix default ipv6 resolver (#90269) 2023-03-25 12:31:01 -10:00
Franck Nijhof 5c839e2367 Add entity name translations to Elgato (#89629) 2023-03-25 23:06:03 +01:00
J. Nick Koston 668b2726fe Bump yalexs-ble to 2.1.4 (#90276) 2023-03-25 10:12:48 -10:00
J. Nick Koston fd460996ba Bump onvif-zeep-async to 1.2.2 to fix memory leak (#90216) 2023-03-25 09:21:05 -10:00
rikroe cc337c4ff6 Add Re-Auth to bmw_connected_drive (#90251)
* Add Re-Auth to bmw_connected_drive

* Always store refresh token to entry

* Fix tests

* Typo

---------

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-03-25 10:09:33 -07:00
J. Nick Koston 7bceedfc95 Bump sqlalchemy to 2.0.7 (#90256) 2023-03-25 07:05:35 -10:00
Franck Nijhof 7cbe705ebb Update vehicle to 1.0.0 (#90189) 2023-03-25 18:00:15 +01:00
Luca Angemi 6d8eaa0bee Add location field to calendar create_event service supported by Google Calendar and Local Calendar (#90098)
* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update calendar.py

* Update calendar.py

* Update services.yaml

* Update services.yaml

* Update calendar.py

* Update calendar.py

* Update __init__.py

* Update services.yaml

* Update services.yaml

* Update test_calendar.py

* Update test_init.py

* Update test_init.py

* Update test_init.py

* Update test_init.py

* Update __init__.py

* Update const.py

* Address changes to service.yaml

* Address changes to service.yaml

* Update test_calendar.py

* Update test_calendar.py

* Update test_calendar.py

* Update conftest.py

* Update conftest.py

* Update calendar.py

* Update __init__.py
2023-03-25 09:43:49 -07:00
J. Nick Koston 02ef7d445d Allow passing an optional name to async_track_time_interval (#90244)
* Allow passing an optional name to async_track_time_interval

This is the same idea as passing a name to asyncio.create_task which
makes it easier to track down bugs

* more

* short

* still cannot find it

* add a few more

* test
2023-03-25 10:11:14 -04:00
Matthias Alphart 52a94dd2ac Check for empty lists in KNX address configuration (#90249) 2023-03-24 21:36:23 -11:00
Jeef 970036b328 Refactor Gree switch to use EntityDescription (#90143)
* Post-rebase

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* feat: Tests passing!

* Removing custom attributes as no longer needed

* removed extraneous class

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/gree/switch.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/gree/test_switch.py

Co-authored-by: solazs <soltesz.balazs.91@gmail.com>

* Update tests/components/gree/test_switch.py

Co-authored-by: solazs <soltesz.balazs.91@gmail.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: solazs <soltesz.balazs.91@gmail.com>
2023-03-25 09:15:46 +01:00
epenet f56bf134d2 Improve browse_media type hints in media player (#90060)
* Improve browse_media type hints in media player

* Adjust components

* Adjust base entity
2023-03-24 21:49:12 -07:00
epenet 5f3868b141 Add missing type hints to tests (#90218)
* Add type hints to tests

* Revert gree as handled in #90222
2023-03-24 19:34:01 -07:00
Robert Svensson 7f1fff12ef Bump aiounifi to v45 (#90250)
* Bump aiounifi to v45

* Replace local TypeVar with library TypeVar
2023-03-25 00:27:16 +01:00
J. Nick Koston e17cefd61c Clear recorder startup tasks from memory after processing (#90240)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-24 10:24:02 -10:00
J. Nick Koston 8e07b71644 Use the json load helper in a few more incoming web requests (#90194)
* Use the json load helper in a few more incoming web requests

* drop hassio change as there is no coverage there

* Remove everything except emulated_hue since its has its own site/web
2023-03-24 15:38:08 -04:00
J. Nick Koston 72b09bfee7 Subclass aiohttp requests to use json helper (#90214)
* Subclass aiohttp requests to use json helper

* Subclass aiohttp requests to use json helper

* remove unneeded

* revert for new pr

* override loads is never used so drop it

* override loads is never used so drop it
2023-03-24 15:37:43 -04:00
Felix Rotthowe 0bb0b4bfc5 Add livisi window sensor (WDS) (#90220)
* Added support for livisi window sensor

* Add const strings

* added postpix for device_id

* Remove unnecessary import

* Fix imports

* Fix lint errors, remove redundant device class property

* Format code

* Update .coveragerc

* Finish basic window door sensor support

* currently, only one binary sensor (wds) is supported

* Remove unused imports

* Fix isort issue

* Simplify code as suggested in PR

* rename get_device_response to get_device_state

* fix ruff issue

* Be more defensive in interpreting what we get from aiolivisi

* Simplify coordinator

* remove window sensor specific code (isOpen)

* parameter order, type hinta

* Update homeassistant/components/livisi/coordinator.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/coordinator.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/coordinator.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/binary_sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/binary_sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/binary_sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: Tecotix <78791840+Tecotix@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-24 14:52:50 +01:00
J. Nick Koston 4c45c3c63b Add a faster query for get_last_state_changes when the number of states is 1 (#90211)
* Add a faster query for get_last_state_changes when the number of states is 1

related issue #90113

* Add a faster query for get_last_state_changes when the number of states is 1

related issue #90113

* coverage

* Apply suggestions from code review
2023-03-24 09:39:55 -04:00
Chris Xiao 8149652f9f Move qbittorrent constants to const.py (#90201)
* move qbittorrent constants to const.py

* move SENSOR_TYPE_* consts back to sensors.py
2023-03-24 14:20:37 +01:00
dependabot[bot] a66bef6fdf Bump actions/checkout from 3.4.0 to 3.5.0 (#90215)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.4.0...v3.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-24 13:55:17 +01:00
Felix Rotthowe 3157579992 Remove duplicate code in livisi coordinator (#90227)
* Simplify coordinator

* remove window sensor specific code (isOpen)

* parameter order, type hinta

* Update homeassistant/components/livisi/coordinator.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/coordinator.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-24 12:59:59 +01:00
Robert Svensson ee74e21541 Rework UniFi wireless client "wired bug" logic (#89757) 2023-03-24 10:06:09 +01:00
Jan Bouwhuis 7364e6ecb3 Remove incorrect parametrize decorator (#90219) 2023-03-24 09:38:43 +01:00
Nalin Mahajan 34324c98de Rename create_api_object to be private (#90187) 2023-03-24 08:44:35 +01:00
Jan Bouwhuis 1224b1aff6 Use helper on tests MQTT fan platform (#90196)
Use helper on tests fan
2023-03-24 08:42:23 +01:00
Jan Bouwhuis f2b4c95a04 Prepare MQTT platform tests part7 (#90130)
* Tests select

* Tests sensor

* Deduplicate test code
2023-03-24 08:42:00 +01:00
Jan Bouwhuis 0570405a3c Prepare MQTT platform tests part6 (#90129)
* Tests lock

* Tests mixins

* Tests number

* Tests scene
2023-03-24 08:41:36 +01:00
Jan Bouwhuis a404d5f6d7 Prepare MQTT platform tests part5 (#90108)
* Tests light_json

* Tests light_template

* Tests light
2023-03-24 08:41:04 +01:00
J. Nick Koston 1f2268a878 Fix httpx client creating a new ssl context with each client (memory leak) (#90191)
* Fix httpx client creating a new ssl context with each client

While working on https://github.com/home-assistant/core/issues/83524
it was discovered that each new httpx client creates a new ssl context

https://github.com/encode/httpx/blob/f1157dbc4102ac8e227a0a0bb12a877f592eff58/httpx/_transports/default.py#L261

If an ssl context is passed in creating a new one is avoided here

https://github.com/encode/httpx/blob/f1157dbc4102ac8e227a0a0bb12a877f592eff58/httpx/_config.py#L110

This change makes httpx ssl no-verify behavior match aiohttp ssl no-verify
behavior

https://github.com/aio-libs/aiohttp/blob/6da04694fd87a39af9c3856048c9ff23ca815f88/aiohttp/connector.py#L892

aiohttp solved this by wrapping the code that generates the ssl context
in an lru_cache

* compact
2023-03-24 08:40:47 +01:00
Chris Xiao ca157f4d19 Add icons for qbittorrent speed sensors (#90203)
add icons for qbittorrent speed sensors
2023-03-24 07:23:05 +01:00
J. Nick Koston f1ec77b8e0 Small cleanups to logbook statement generator (#90200)
We should only convert the context id to binary if
its going to be used.

Avoid some intermediate vars that are no longer needed
2023-03-23 20:56:58 -04:00
J. Nick Koston a44d6f30c9 Fix refactoring error in states/events context id migration (#90193)
fixes #90074
2023-03-23 20:56:04 -04:00
J. Nick Koston e7e7f603c2 Remove async_response from websocket apis where nothing was being awaited (#90204) 2023-03-23 20:53:18 -04:00
J. Nick Koston d49fbc17df Fix recorder attribute excludes not being effective until after startup (#90198)
* Fix attribute excludes not being effective until after startup

fixes #90016

* reduce
2023-03-23 20:52:37 -04:00
J. Nick Koston dd0f05b980 Avoid calling the http access logging when logging is disabled (#90152) 2023-03-23 09:55:02 -10:00
epenet 38a4f08e15 Fix missing mock in islamic_prayer_times (#90178)
* Fix missing mock in islamic_prayer_times

* Restore 100% coverage

* Update test_config_flow.py
2023-03-23 20:10:51 +01:00
Michael Hansen 3e3ece4e56 Add speech to text over binary websocket to pipeline (#90082)
* Allow passing binary to the WS connection

* Expand test coverage

* Test non-existing handler

* Add text to speech and stages to pipeline

* Default to "cloud" TTS when engine is None

* Refactor pipeline request to split text/audio

* Refactor with PipelineRun

* Generate pipeline from language

* Clean up

* Restore TTS code

* Add audio pipeline test

* Clean TTS cache in test

* Clean up tests and pipeline base class

* Stop pylint and pytest magics from fighting

* Include mock_get_cache_files

* Working on STT

* Preparing to test

* First successful test

* Send handler_id

* Allow signaling end of stream using empty payloads

* Store handlers in a list

* Handle binary handlers raising exceptions

* Add stt/tts dependencies to voice_assistant

* Include STT audio in pipeline test

* Working on tests

* Refactoring with stages

* Fix tests

* Add more tests

* Add method docs

* Change stt demo/cloud to AsyncIterable

* Add pipeline error events

* Move handler id to separate message before pipeline

* Add test for invalid stage order

* Change "finish" to "end"

* Use enum

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-23 14:44:19 -04:00
Jan Bouwhuis 185d6d74d7 Prepare MQTT platform tests part9 (#90133)
* Tests switch

* Tests text

* Tests update
2023-03-23 19:17:27 +01:00
Jan Bouwhuis db63c8584e Prepare MQTT platform tests part8 (#90132)
* Tests state_vacuum

* Tests siren
2023-03-23 19:16:54 +01:00
Jan Bouwhuis 2c1b59be0e Prepare MQTT platform tests part4 (#90107)
* Tests humidifier

* Tests legacy_vacuum
2023-03-23 19:14:44 +01:00
Jan Bouwhuis 44add1dc11 Prepare MQTT platform tests part3 (#90106)
* Tests cover

* Tests fan
2023-03-23 19:14:08 +01:00
Jan Bouwhuis 8fd88d6703 Prepare MQTT platform tests part2 (#90105)
* Tests button

* Tests camera

* Tests climate
2023-03-23 19:13:36 +01:00
Vincent Knoop Pathuis 87475e8ff6 Cleanup some leftovers for Landis+Gyr (#90183)
Cleanup some leftovers
2023-03-23 17:34:57 +01:00
Nalin Mahajan e290febb38 Bump pyControl4 to 1.1.0 (#90115)
* Bump pyControl4 to 1.1.0

* Remove mock token_expiration from control4
2023-03-23 17:34:38 +01:00
Vincent Knoop Pathuis cb578c71e0 Add Landis+Gyr missing device class (#90182)
Add missing device class for heat_previous_year_gj
2023-03-23 17:21:21 +01:00
PeteRager 73ed6e039a Improve logging for unavailable sonos hosts (#90172)
* Repeated warning messages on unavailable manually specified hosts

Sonos logs warning messages every 1 minute 12 seconds for hosts that are not on-line.  This fixes the issue and the warning will be logged the first time, and subsequent logs messages will be at DEBUG level

* Update homeassistant/components/sonos/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Log info message when reconnect succeeds

* Use pop to simplify code

* Add additional test, fix key error with pop

* Use pop with default return value

* Update tests/components/sonos/test_init.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/sonos/test_init.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/sonos/test_init.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/sonos/test_init.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/sonos/test_init.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update comment, remove unneeded line of code

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-23 16:15:55 +01:00
Nalin Mahajan 504793882d Remove unecessary variable in control4 (#90176)
Remove unecessary expiration value
2023-03-23 16:09:00 +01:00
Marc Mueller d5f949f4d8 Update pydantic to 1.10.7 (#90164) 2023-03-23 08:42:39 -04:00
G Johansson b1370cbd42 Add constants file to workday (#90168)
Constants workday
2023-03-23 12:01:03 +01:00
G Johansson dd4a3089ec Add constants file for Brottsplatskartan (#90165)
* bpk constants

* not used
2023-03-23 11:54:15 +01:00
G Johansson 2b4514ae25 Add codeowner Workday (#90167)
codeowner
2023-03-23 11:53:22 +01:00
Vincent Knoop Pathuis 568a731e2d Use snapshot test for Landis+Gyr (#90126)
Initial commit for snapshot test
2023-03-23 10:30:31 +01:00
epenet 92bcb04e4f Adjust scaffold docstring (#90157)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-23 10:13:53 +01:00
J. Nick Koston 60ae1f99e0 Update powerwall strings for newer models (#90151) 2023-03-23 10:13:18 +01:00
Erik Montnemery 50ea0c5cf2 Tweak multiprotocol tests (#90163) 2023-03-23 10:12:42 +01:00
dependabot[bot] 4c26741e40 Bump actions/stale from 7.0.0 to 8.0.0 (#90155)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-23 10:09:03 +01:00
J. Nick Koston 2cb4ec82df Bump yalexs-ble to 2.1.2 (#90156) 2023-03-23 10:08:06 +01:00
On Freund 10cf92246f Bump pyrympro to 0.0.7 (#90118) 2023-03-23 10:05:08 +01:00
rikroe 1a2fa51ac9 Bump bimmer_connected to 0.13.0 (#90127) 2023-03-23 10:01:01 +01:00
Erik Montnemery 6739542a5d Simplify some multi pan code (#90135)
* Simplify some multi pan code

* Adjust ZHA config flow
2023-03-23 09:18:35 +01:00
solazs b151923619 Add health mode to gree integration (#89764)
Add health mode to gree integration.
2023-03-23 08:56:47 +01:00
Jan Bouwhuis 1e64a55a1a Add missing translation for invalid imap folder (#90154)
Add missing translation for invalid folder
2023-03-23 08:08:52 +01:00
J. Nick Koston 9878738321 Use rel_url for looking up frontend panels (#90149)
* Use rel_url for looking up frontend panels

request.url builds a new URL every time where-as
rel_url is always available

https://docs.aiohttp.org/en/stable/web_reference.html#aiohttp.web.BaseRequest.rel_url

* Use rel_url for looking up frontend panels

request.url builds a new URL every time where-as
rel_url is always available

https://docs.aiohttp.org/en/stable/web_reference.html#aiohttp.web.BaseRequest.rel_url
2023-03-23 00:14:54 -04:00
Paulus Schoutsen ca5a88342b 2023.3.6 (#90150) 2023-03-22 23:58:20 -04:00
Paulus Schoutsen 117113cdfc Bumped version to 2023.3.6 2023-03-22 22:59:47 -04:00
Paulus Schoutsen 174342860b Always enforce URL param ordering for signed URLs (#90148)
Always enforce URL param ordering
2023-03-22 22:59:42 -04:00
J. Nick Koston a7b5a0297e Bump PySwitchbot to 0.37.4 (#90146)
fixes #90090 fixes #89061

changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.37.3...0.37.4
2023-03-22 22:59:41 -04:00
Luke 406e92511b Bump to oralb-ble 0.17.6 (#90081) 2023-03-22 22:59:40 -04:00
Klaas Schoute 146347e31a Bump easyEnergy to v0.2.2 (#90080) 2023-03-22 22:59:39 -04:00
Klaas Schoute 3747fd5dcb Bump easyEnergy to v0.2.1 (#89630) 2023-03-22 22:59:38 -04:00
J. Nick Koston 53d400ca96 Bump yalexs-ble to 2.1.1 (#90015)
* Bump yalexs-ble to 2.1.1

There was another task that could be prematurely GCed

changelog: https://github.com/bdraco/yalexs-ble/compare/v2.1.0...v2.1.1

* fixes
2023-03-22 22:57:41 -04:00
J. Nick Koston 2a18261efb Bump yalexs_ble to 2.1.0 (#89772)
switches to using cryptography to reduce the number of deps

changelog: https://github.com/bdraco/yalexs-ble/compare/v2.0.4...v2.1.0
2023-03-22 22:57:40 -04:00
J. Nick Koston 1f71068740 Handle cancelation of wait_for_ble_connections_free in esphome bluetooth (#90014)
Handle cancelation in wait_for_ble_connections_free

If `wait_for_ble_connections_free` was canceled due to timeout or
the esp disconnecting from Home Assistant the future would get
canceled. When we reconnect and get the next callback we need
to handle it being done.

fixes
```
2023-03-21 02:34:36.876 ERROR (MainThread) [homeassistant] Error doing job: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 868, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py", line 195, in data_received
    self._callback_packet(msg_type_int, bytes(packet_data))
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py", line 110, in _callback_packet
    self._on_pkt(Packet(type_, data))
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/connection.py", line 688, in _process_packet
    handler(msg)
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/client.py", line 482, in on_msg
    on_bluetooth_connections_free_update(resp.free, resp.limit)
  File "/usr/src/homeassistant/homeassistant/components/esphome/entry_data.py", line 136, in async_update_ble_connection_limits
    fut.set_result(free)
asyncio.exceptions.InvalidStateError: invalid state
```
2023-03-22 22:54:42 -04:00
micha91 92fb978a03 Bump aiomusiccast to 0.14.8 (#89978) 2023-03-22 22:54:42 -04:00
J. Nick Koston 127f2289a1 Remove async_block_till_done in freebox (#89928)
async_block_till_done() is not meant to be called in integrations
2023-03-22 22:54:41 -04:00
Jan Bouwhuis de6f55dcfb Fix blocking MQTT entry unload (#89922)
* Remove unneeded async_block_till_done

* use await asyncio.sleep(0) instead
2023-03-22 22:54:40 -04:00
Joakim Plate 713d3025f2 Correct missing wordswap for S series nibe (#89866)
Correct missing wordswap for nibe
2023-03-22 22:54:39 -04:00
J. Nick Koston 1e03ff68a2 Bump aioharmony to 0.2.10 (#89831)
fixes #89823
2023-03-22 22:54:38 -04:00
Jan Bouwhuis a5aa5c0c01 Fix imap_email_content unknown status and replaying stale states (#89563) 2023-03-22 22:54:37 -04:00
Paulus Schoutsen 12352b2ce1 Always enforce URL param ordering for signed URLs (#90148)
Always enforce URL param ordering
2023-03-22 22:54:09 -04:00
J. Nick Koston dcc52bd366 Bump PySwitchbot to 0.37.4 (#90146)
fixes #90090 fixes #89061

changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.37.3...0.37.4
2023-03-22 22:10:47 -04:00
J. Nick Koston ca576d45ac Cache decode of JWT tokens (#90013) 2023-03-22 16:03:41 -10:00
J. Nick Koston 8a591fa16e Add auto repairs for events schema (#90136)
* Add auto repairs for events schema

* Add auto repairs for events schema

* Add auto repairs for events schema

* Add auto repairs for events schema

* Add auto repairs for events schema

* fix bug - wrong table
2023-03-22 21:17:36 -04:00
J. Nick Koston 31c988c4f0 Fix index not being dropped on postgresql databases with a schema prefix (#90144)
* Fix index not being dropped on postgresql databases with a schema prefix

Added logging in case index drops fail so we can tell
why in the future

* coverage
2023-03-22 21:03:26 -04:00
J. Nick Koston 99b58f157e Bump PyJWT to 2.6.0 (#90134)
* Bump PyJWT to 2.6.0

* fix time being frozen too late which makes the access token creation time in the future

* revert zha change

* fix repairs test

* fix ical test
2023-03-22 20:00:47 -04:00
Michael 03aeaba7ef Turn AVM FRITZ!Box Tools sensors into coordinator entities (#89953)
* make sensors coordinator entities

* apply suggestions

* move _attr_has_entity_name up
2023-03-22 22:34:23 +01:00
J. Nick Koston 4ebce9746d Add schema auto repairs for states tables (#90083) 2023-03-22 10:05:23 -10:00
Erik Montnemery 5948347b6b Fix switch_as_x entity naming (#89992)
* Fix switch_as_x entity naming

* Simplify name logic
2023-03-22 20:24:05 +01:00
Erik Montnemery 1ea3312ed4 Deduplicate multiprotocol addon helper (#90102)
* Deduplicate multiprotocol addon helper

* Clarify
2023-03-22 20:20:42 +01:00
J. Nick Koston 4c98495fe0 Bump ulid-transform to 0.5.1 (#90123)
changelog: https://github.com/bdraco/ulid-transform/compare/v0.4.2...v0.5.1
2023-03-22 15:19:43 -04:00
Erik Montnemery 3931e11fd9 Try to load integration before starting option flow (#90111)
* Try to load integration before starting option flow

* Adjust tests
2023-03-22 20:10:10 +01:00
Franck Nijhof 6db8867b81 Update wled to 0.16.0 (#90120) 2023-03-22 13:55:50 -04:00
Erik Montnemery 94e247dc69 Fix islamic_prayer_times setup (#90122) 2023-03-22 13:52:52 -04:00
Franck Nijhof cc4ff55347 Update pvo to 1.0.0 (#90109) 2023-03-22 17:02:49 +01:00
puddly c581116c82 ZHA network settings API (#88564)
* Rename `zha.api` to `zha.websocket_api`

* Implement a ZHA network settings API

* Use the enum name as the radio type

* Don't filter out ignored config entries

* [WIP] Start unit tests

* Add unit tests

* Rename ZHA websocket API module in `.coveragerc`

* Rename `api` to `websocket_api`

* Increase test coverage to 100%
2023-03-22 11:15:46 -04:00
Erik Montnemery 130c8ea5f5 Update OTRB config entry if REST API port has changed (#90101)
* Update OTRB config entry if REST API port has changed

* Improve test coverage
2023-03-22 14:03:39 +01:00
Erik Montnemery 0ecd043cb2 Add test helper mock_config_flow (#90103) 2023-03-22 08:59:35 -04:00
Paulus Schoutsen 0ca6723378 Allow passing binary to the WS connection (#89882)
* Allow passing binary to the WS connection

* Expand test coverage

* Test non-existing handler

* Allow signaling end of stream using empty payloads

* Store handlers in a list

* Handle binary handlers raising exceptions
2023-03-22 08:36:36 -04:00
Erik Montnemery 19d56a7102 Change error handling in async_process_play_media_url (#90052) 2023-03-22 13:32:02 +01:00
Paulus Schoutsen 9b9ed21dc4 Update hass-nabucasa to 0.62.0 (#90085) 2023-03-22 13:24:28 +01:00
Matrix 87e6dd3949 YoLink flexfob support (#90027) 2023-03-22 12:01:04 +01:00
Klaas Schoute 7efe058aa6 Bump easyEnergy to v0.2.2 (#90080) 2023-03-22 10:46:17 +01:00
Jan Bouwhuis 214286acb9 Prepare MQTT platorm tests part1 (#90051)
* Add help_custom_config

* Tests alarm_control_panel

* Tests binary_sensor

* Only use help_custom_config with iterable options
2023-03-22 10:23:08 +01:00
Michael d25e394310 Implement data update coordinator for nextcloud (#89652)
* implement data update coordinator

* apply suggestions

* apply suggestions
2023-03-22 09:18:09 +01:00
J. Nick Koston 96225bb287 Rename recorder run_history to table_managers.recorder_runs_manager (#90070) 2023-03-21 18:38:33 -10:00
Luke 1439a3d572 Bump to oralb-ble 0.17.6 (#90081) 2023-03-21 17:09:38 -10:00
J. Nick Koston 88ad97f112 Fix generating statistics for time periods smaller than we can measure (#90069)
If the time period for the mean/time weighted average was smaller
than we can measure (less than one microsecond), generating
statistics would fail with a divide by zero error. This is likely
only happens if the database schema precision is incorrect.
2023-03-21 21:12:45 -04:00
Michael Hansen 0e7ffff869 Add TTS to pipelines (#90004)
* Add text to speech and stages to pipeline

* Default to "cloud" TTS when engine is None

* Refactor pipeline request to split text/audio

* Refactor with PipelineRun

* Generate pipeline from language

* Clean up

* Restore TTS code

* Add audio pipeline test

* Clean TTS cache in test

* Clean up tests and pipeline base class

* Stop pylint and pytest magics from fighting

* Include mock_get_cache_files
2023-03-21 21:10:31 -04:00
J. Nick Koston ddcaa9d372 Break out statistics repairs into a auto_repairs modules (#90068)
* Break out statistics schema repairs into a repairs module

A future PR will add repairs for events, states, etc

* reorg

* reorg

* reorg

* reorg

* fixes

* fix patch targets

* name space rename
2023-03-21 21:08:06 -04:00
J. Nick Koston 086bcfb2fc Make recorder migration column types for each dialect constants (#90072)
Make column types for each dialect constants
2023-03-21 21:06:10 -04:00
Franck Nijhof f98d685154 Refactor WLED select tests (#89219) 2023-03-21 22:32:41 +01:00
Franck Nijhof 980425508a Update twentemilieu to 1.0.0 (#90071) 2023-03-21 22:31:55 +01:00
Michael d4cc4a343d Use has_template property from lib in Fritz!SmartHome (#89152) 2023-03-21 21:33:33 +01:00
dougiteixeira 0f5c49c7be Fix translation string for fan oscillation (#90045)
Fix string
2023-03-21 15:42:44 -04:00
starkillerOG d20b07f3ac Bump reolink-aio to 0.5.6 (#90059) 2023-03-21 14:16:50 -04:00
Franck Nijhof ed4e49a4c2 Add translations for Counter (#89989) 2023-03-21 18:41:27 +01:00
J. Nick Koston 616e6e6ae8 Fix missing length on context id and incorrect precision with MariaDB (dev only fix) (#90058)
Fix missing length on context id column with MariaDB

spotted by @dcoder42

The migration still worked as intented but the blob should have been
a bit smaller.

This only affects dev so there is no need for a backport
2023-03-21 13:14:27 -04:00
epenet c507ca1e66 Improve type hints in rachio switch (#90050) 2023-03-21 15:53:51 +01:00
epenet 1895c82ffc Fix fritzbox TypedDict definition (#90043) 2023-03-21 15:52:30 +01:00
epenet 1303dd12e7 Improve type hints in zha fan (#90042) 2023-03-21 15:21:56 +01:00
Jan Bouwhuis 6f88fe93ef Only publish mqtt_statestream when MQTT is started (#89833)
* Only publish mqtt_statestream when ha is started

* also catch startup states and use event filter

* Add check for MQTT to be available first

* Make sure MQTT is available and started

* Fix test

* Improve test

* Reset mock before assertung not called
2023-03-21 10:21:45 -04:00
Erik Montnemery 41ea8fa9b4 Guess media type when cast is playing media without media type (#90048) 2023-03-21 10:01:35 -04:00
epenet 93efdc4991 Improve switch and climate type hints in integrations (#90040) 2023-03-21 13:26:41 +01:00
jan iversen 9092a76dbf Correct typing of pymodbus in modbus (#90039) 2023-03-21 13:26:03 +01:00
epenet f01f5e1d2a Improve type hints in tuya vacuum (#90041) 2023-03-21 13:25:19 +01:00
Franck Nijhof 2a0401366b Add state translations for all day calendar attribute (#89988) 2023-03-21 07:53:05 -04:00
Franck Nijhof 6d3c3ff4fb Add state translations for Select entities (#89995) 2023-03-21 12:45:06 +01:00
Franck Nijhof 0467c8ff63 Add attribute state translations for oscillating fans (#89990) 2023-03-21 07:39:07 -04:00
epenet 485a78e0cf Improve light type hints in integrations (#90035)
* Improve light type hints in integrations

* Improve
2023-03-21 11:40:33 +01:00
epenet 33e698d67f Improve notify type hints in integrations (#90034) 2023-03-21 11:40:19 +01:00
epenet 86b4354477 Improve native_value type hints in integrations (#90033) 2023-03-21 11:40:06 +01:00
epenet 0e1c76f81f Improve sensor type hints in integrations (#90031)
* Improve sensor type hints in integrations

* Improve
2023-03-21 11:39:42 +01:00
epenet 4836404288 Improve media_player type hints in integrations (#90029)
Fix some media_player type hints
2023-03-21 11:10:12 +01:00
epenet 04872f72ea Improve humidifier type hints in integrations (#90030)
Fix humidifier type hints in integrations
2023-03-21 10:32:13 +01:00
epenet 292feb4e24 Enable inheritance checks on ExtraStoredData (#90021) 2023-03-21 09:51:05 +01:00
Allen Porter 43ce6f843c Update the calendar trigger based on PR feedback (#90017) 2023-03-21 09:21:14 +01:00
Jan Bouwhuis d865440012 Prepare MQTT common tests part3 (#90022) 2023-03-21 09:19:20 +01:00
Franck Nijhof 23f136e9d6 Add state translations for Siren entities (#89994) 2023-03-21 09:16:32 +01:00
Jan Bouwhuis fe49861e26 Prepare MQTT common tests part4 (#90023)
* Upd test_setting_attribute_via_mqtt_json_message

* Update test_setting_attribute_with_template

* Update test_update_with_json_attrs_not_dict

* Update test_update_with_json_attrs_bad_json
2023-03-21 09:07:46 +01:00
epenet dd1700954b Deprecate YAML in SamsungTV (#89743)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-21 09:00:17 +01:00
Tom Harris 0c0c86bf7b Add support for new Insteon i3 devcies (#89892) 2023-03-20 21:56:44 -10:00
J. Nick Koston a8e95684fa Fix websocket back pressure bottleneck (#89905) 2023-03-20 21:51:39 -10:00
Jan Bouwhuis 91dbda1ce7 Add mqtt common tests for availability (part2) (#89805)
* update test_availability_when_connection_lost

* Adjust test_availability_without_topic

* Update test_default_availability_payload + helper

* Update test_default_availability_list_payload

* Use helper for async_setup_component

* Update test_default_availability_list_*

* Update test_custom_availability_payload
2023-03-21 08:20:37 +01:00
J. Nick Koston 0303618705 Handle cancelation of wait_for_ble_connections_free in esphome bluetooth (#90014)
Handle cancelation in wait_for_ble_connections_free

If `wait_for_ble_connections_free` was canceled due to timeout or
the esp disconnecting from Home Assistant the future would get
canceled. When we reconnect and get the next callback we need
to handle it being done.

fixes
```
2023-03-21 02:34:36.876 ERROR (MainThread) [homeassistant] Error doing job: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 868, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py", line 195, in data_received
    self._callback_packet(msg_type_int, bytes(packet_data))
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py", line 110, in _callback_packet
    self._on_pkt(Packet(type_, data))
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/connection.py", line 688, in _process_packet
    handler(msg)
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/client.py", line 482, in on_msg
    on_bluetooth_connections_free_update(resp.free, resp.limit)
  File "/usr/src/homeassistant/homeassistant/components/esphome/entry_data.py", line 136, in async_update_ble_connection_limits
    fut.set_result(free)
asyncio.exceptions.InvalidStateError: invalid state
```
2023-03-20 23:49:59 -04:00
J. Nick Koston 7158dbc142 Bump yalexs-ble to 2.1.1 (#90015)
* Bump yalexs-ble to 2.1.1

There was another task that could be prematurely GCed

changelog: https://github.com/bdraco/yalexs-ble/compare/v2.1.0...v2.1.1

* fixes
2023-03-20 23:49:30 -04:00
Arturo 5e5ace9c4e Add door lock device type to matter integration (#89277)
* Adds base code for matter lock

* Adds basic matter door lock support

* Adds matter lock fixture

* Adds tests for matter lock

* Addresses feedback

* Added logic to handle inter states of matter lock

* Addesses feedback
2023-03-21 01:29:33 +01:00
Raman Gupta cbe85126cb Introduce a delay between update entity calls (#89737)
* Introduce a delay between update entity calls

* Update homeassistant/components/zwave_js/update.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* move delay to constant and patch

* rename constant

* Switch to async_call_later

* Remove failing test

* Reimplement to solve task problem

* comment

* pass count directly so that value doesn't mutate before we store it

* lines

* Fix logic and tests

* Comments

* Readd missed coverage

* Add test for delays

* cleanup

* Fix async_added_to_hass logic

* flip conditional

* Store firmware info in extra data so we can restore it along with latest version

* Comment

* comment

* Add test for is_running check and fix bugs

* comment

* Add tests for various restore state scenarios

* move comment so it's less confusing

* improve typing

* consolidate into constant and remove unused one

* Update update.py

* update test to unknown state during partial restore

* fix elif check

* Fix type

* clean up test docstrings and function names

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-20 18:30:56 -04:00
epenet 18df3a22ca Add FTTH information to SFR Box (#89781) 2023-03-20 20:06:44 +01:00
J. Nick Koston 49f08ad71d Filter out duplicate updates in esphome state dispatch (#89779) 2023-03-20 20:04:46 +01:00
Jon Caruana 20c9ed6d89 Mark LiteJet as Platinum integration (#88623) 2023-03-20 20:01:14 +01:00
J. Nick Koston 6bb80adbb9 Rollback the session after performing stats schema validation (#89904) 2023-03-20 17:15:11 +01:00
Jan Bouwhuis 51b12cbf96 Add user_input as suggested value in imap config flow (#89982)
Add user_input as suggested value to config_schema
2023-03-20 15:52:54 +01:00
Jan Bouwhuis e4275a053c Remove yaml import from imap integration (#89981)
* Remove yaml import from imap integration

* Cleanup sensor code and strings.json
2023-03-20 15:52:07 +01:00
Steven Looman 9a5ceb9ef8 Use default rounding/presentation mechanism for upnp (#89954) 2023-03-20 15:44:05 +01:00
Franck Nijhof 9949ca13aa Adjust state class of Toon monetary sensors (#89985) 2023-03-20 08:42:59 -04:00
Franck Nijhof b9ff69d3ac Extend attribute state translations for Camera (#89876)
* Extend attribute state translations for Camera

* Add common generic translations
2023-03-20 08:39:20 -04:00
Malte Franken 0bf652ca96 Refactor constants in geo_json_events integration (#89912)
move constants to separate file
2023-03-20 13:26:38 +01:00
Joakim Plate 9f1e170851 Correct missing wordswap for S series nibe (#89866)
Correct missing wordswap for nibe
2023-03-20 12:08:27 +01:00
J. Nick Koston 146a31163c Use bluetooth address instead of uuid on MacOS (#89926) 2023-03-20 12:07:41 +01:00
Michael e258f36ded Remove deprecated binary update sensor from AVM FRITZ!Box Tools (#89940) 2023-03-20 12:06:40 +01:00
J. Nick Koston c3043fb0ee Bump bluetooth deps for bleak 0.20 (#89925)
Co-authored-by: K <z@kwi.li>
2023-03-20 12:06:15 +01:00
micha91 f3b3818d1f Bump aiomusiccast to 0.14.8 (#89978) 2023-03-20 11:59:27 +01:00
Jesse Moody c4ee35570d Update django github references to main instead of master branch. (#89951) 2023-03-20 10:27:55 +01:00
epenet 9a784fddef Fail CI on lingering timers (#89292) 2023-03-20 10:20:19 +01:00
J. Nick Koston f62bb0e2ea Bump zeroconf to 0.47.4 (#89973) 2023-03-20 09:32:21 +01:00
J. Nick Koston d33a303a83 Fix statistics schema µs precision auto repair being ineffective (#89902)
If a user manually migrated their database to MySQL or PostgresSQL
and incorrectly created the timestamp columns as float we would
fail to correct them to double because when we migrated to use
timestamps for the columns I missed that we needed to change the
columns and types for µs precision
2023-03-20 00:06:37 -04:00
J. Nick Koston e798c30b8b Fix statistics schema auto repair when there is bad data (#89903)
- If the user had previously duplicated data we could end up
  picking the next metadata_id and there could be stale rows
  in the database that have that metadata_id. This can only happen
  from bad manual migrations (which is what this is function
  is validating in the first place). To solve this we now insert
  data with a future date and look at the latest inserted row
  instead of the first.

Example
```
['stored_statistics',
  defaultdict(<class 'list'>,
              {'recorder.db_test_schema': [{'end': 948589200.0,
                                            'last_reset': None,
                                            'max': None,
                                            'mean': 2021.0,
                                            'min': None,
                                            'start': 948585600.0,
                                            'state': None,
                                            'sum': 394.5068},
                                          {'end': 1601946000.000001,
                                            'last_reset': 1601942400.000001,
                                            'max': 1.000000000000001,
                                            'mean': 1.000000000000001,
                                            'min': 1.000000000000001,
                                            'start': 1601942400.000001,
                                            'state': 1.000000000000001,
                                            'sum': 1.000000000000001}]})]
```
2023-03-20 00:06:23 -04:00
Allen Porter 9721ba59b6 Rewrite the calendar trigger to fix potential bugs (#89918)
Update the calander event trigger logic to have more exhaustive coverage. The
trigger will now use a timespan to create an explicit window for considering
upcoming events. The start/end of the time span is now more explicit, rather
than getting it from the alarm time.

The trigger is now broken into composable pieces:
- A timespan object for more explicitly managing the time window
- A function to get events during a time span
- A function to process upcoming events and determine the trigger times

The existing listener is now just responsible for scheduling alarms and glue.

This fixes bug with DST handling where the conversion back and forth between
UTC and timezone ends up dropping events during the jump forward. In practice,
an event was returned from the scanning, but it was never fired by the trigger
because (1) it was filtered out of the interval and (2) the event list was
previously cleared every iteration so it would get dropped.

Future improvements can bake more invariant checking into this structure.
2023-03-19 23:42:12 -04:00
Jan Bouwhuis 2039955ef7 Fix imap_email_content unknown status and replaying stale states (#89563) 2023-03-19 17:35:45 -10:00
starkillerOG 939fce4607 Shield Reolink webhook callback from cancelation (#89798)
* shield Reolink webhook callback from cancelation

* Update homeassistant/components/reolink/host.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* fix styling

* fix black

* Revert to using asyncio.shield

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-03-19 23:35:16 -04:00
J. Nick Koston c94b054d75 Retain history when renaming an entity_id (#89963)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-19 17:33:21 -10:00
J. Nick Koston affb48d271 Avoid joining states_meta for statistics queries (#89941) 2023-03-19 16:44:35 -10:00
J. Nick Koston bf63e6cbd4 Set unique on StatesMeta and EventTypes database tables (#89971)
Set unique on StatesMeta and EventTypes

These should have been marked unique originally to prevent
collision bugs from going unnoticed. These have not been
to beta yet so this is not a breaking change
2023-03-19 22:30:01 -04:00
J. Nick Koston 817ba97227 Remove unneeded lambda_stmt in place add in statistics (#89943)
We can generate this entire query in a single lambda_stmt
so there is no need to add two which increases the size
of the cache key
2023-03-19 22:05:39 -04:00
J. Nick Koston f27d73fc34 Remove legacy event lookups from logbook (#89945)
Events recorded with Home Assistant 2022.5.x or older will no
longer display context information in the logbook
2023-03-19 22:05:07 -04:00
J. Nick Koston aebe4c66a6 Fix cpu thrashing during purge after all legacy events were removed (#89923)
* Fix cpu thrashing during purge after all legacy events were removed

We now remove the the index of of event ids on the states table when its
all NULLs to save space. The purge path needs to avoid checking for legacy
rows to purge if the index has been removed since it will result in a full
table scan each purge cycle that will always find no legacy rows to purge

* one more place

* drop the key constraint as well

* fixes

* more sqlite
2023-03-19 22:04:24 -04:00
J. Nick Koston 7f3e4cb3af Guard against selecting all invalid entity_ids in history (#89929)
If all the entity_ids that were provided do not exist we would
end up passing an empty list of ids to the SQL query which
would do an unbounded select
2023-03-19 22:03:12 -04:00
J. Nick Koston 5ffb233004 Avoid database executor job to fetch statistic metadata on cache hit (#89960)
* Avoid database executor job to fetch statistic metadata on cache hit

Since we will almost always have a cache hit fetching
statistic meta data we can avoid an executor job

* Avoid database executor job to fetch statistic metadata on cache hit

Since we will almost always have a cache hit fetching
statistic meta data we can avoid an executor job

* Avoid database executor job to fetch statistic metadata on cache hit

Since we will almost always have a cache hit fetching
statistic meta data we can avoid an executor job

* remove exception catch since the threading.excepthook will actually catch this in production

* fix a few missed ones

* threadsafe

* Update homeassistant/components/recorder/table_managers/statistics_meta.py

* coverage and optimistic caching
2023-03-19 22:01:16 -04:00
Jesse Moody d7de23fa65 Adjust eventloop -> event loop spelling (#89931)
eventloop -> event loop spelling
2023-03-19 21:53:21 +01:00
Matthias Alphart 557b9c7d51 Add KNX interface device with diagnostic entities (#89213) 2023-03-19 02:13:52 -11:00
Oliver 0441a64c69 Update media state via telnet in denonavr integration (#89788) 2023-03-19 00:47:01 -10:00
J. Nick Koston 87264d219a Fix ssl context being recreated frequently in httpx (#89932)
* Fix ssl context being created every time in httpx

* its expensive, only do it once
2023-03-19 05:13:48 -04:00
epenet 0e7bd401f2 Fix lingering timer in config entry flow tests (#89853) 2023-03-19 08:56:24 +01:00
Sven Serlier 36ad2c81f1 Adjust "Lovelace" to "Dashboards" (#89927)
"Lovelace" to "Dashboards"
2023-03-19 08:06:44 +01:00
J. Nick Koston 300f7b4f77 Remove async_block_till_done in freebox (#89928)
async_block_till_done() is not meant to be called in integrations
2023-03-19 07:59:05 +01:00
Jesse Moody 95240e8aad Change README demo to demo.home-assistant.io subdomain (#89921)
change home assistant demo link
2023-03-19 07:52:42 +01:00
Jan Bouwhuis e937693d97 Fix blocking MQTT entry unload (#89922)
* Remove unneeded async_block_till_done

* use await asyncio.sleep(0) instead
2023-03-18 14:57:40 -10:00
Vincent Knoop Pathuis 6ad9f420ab Add Landis+Gyr poll on restart (#89644) 2023-03-18 08:50:50 -11:00
Franck Nijhof d106cb48d2 Add state attribute translations for light (#89818)
* Add state attribute translations for light

* Process review comments
2023-03-17 20:35:25 -04:00
Franck Nijhof cd3819abec Add state attribute translations for Sensor (#89896) 2023-03-17 20:32:52 -04:00
J. Nick Koston 30e7ab247d Small cleanups to writing entity state (#89890)
* Small cleanups to writing entity state

* reduce one prop access

* small cleanups

* small cleanups

* name conflict
2023-03-17 20:32:24 -04:00
Franck Nijhof 8ecd73cac7 Add state attribute translations for Weather (#89897) 2023-03-17 20:29:48 -04:00
Franck Nijhof 1f4164def8 Add state (attribute) translations for Text (#89898) 2023-03-17 20:29:12 -04:00
J. Nick Koston e87359761b Fix some I/O in the event loop during backup (#89894) 2023-03-17 20:28:29 -04:00
J. Nick Koston b1f64de6ce Remove the old ix_states_event_id index if its no longer being used (#89901)
* Remove the old ix_states_event_id index if its no longer being used

* cover it

* fixes

* fixup

* Update homeassistant/components/recorder/tasks.py
2023-03-17 20:27:33 -04:00
J. Nick Koston 138bbd9c28 Use json_loads_object util in backup (#89895)
* Use json_loads_object util in backup

* adjust test
2023-03-17 20:25:29 -04:00
Franck Nijhof dbebf8c783 Add state attribute translations for media players (#89821)
* Add state attribute translations for media players

* Process review comments

* Process review comments

* Fix and extend

* Add yes/no as generic state
2023-03-17 20:24:33 -04:00
Jan Bouwhuis 5f22796b38 Refactor imap coordinator (#89759)
* Warn if the previous push wait task it taking longer than the update interval

* refactor

* Call _async_fetch_number_of_messages first

* Add cleanup in case fetching fails

* mypy

* Set sensor to unknown if an error occured.

* Handling invalid auth an reraise when needed

* Handle invalid folder as setup error

* Close IMAP stream before logout at cleanup

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-17 22:45:15 +01:00
epenet 469dbec089 Add type hints to plex data (#89221)
* Add type hints to plex data

* Rename method
2023-03-17 22:14:24 +01:00
J. Nick Koston 377dff5ee4 Ensure all recorder session executes use retries or the execute helper (#89888) 2023-03-17 10:45:58 -10:00
Franck Nijhof fd5b57ae6c Drop autoflake in favor of Ruff (#89874) 2023-03-17 21:37:41 +01:00
Kevin Worrel b403a96ea0 Bump screenlogicpy to v0.8.2 (#89832) 2023-03-17 10:10:37 -10:00
Franck Nijhof 95515fbe78 Improve/extend state translations for Alarm Control Panel (#89872) 2023-03-17 14:25:20 -04:00
Franck Nijhof e402e733a0 Add translations for Image processing (#89879) 2023-03-17 13:52:59 -04:00
Franck Nijhof db5a7b0e5e Add translations for Geolocation (#89880) 2023-03-17 13:52:34 -04:00
Franck Nijhof 5657fcd1e8 Add state attribute translations for Number (#89881) 2023-03-17 13:52:19 -04:00
Franck Nijhof a15c45dbfe Drop pyupgrade in favor of Ruff (#89865) 2023-03-17 14:17:05 +01:00
Franck Nijhof a7a972fe96 Upgrade pytest-xdist to 3.2.1 (#89857) 2023-03-17 13:43:16 +01:00
Franck Nijhof b1a3bfb298 Drop flake8 in favor of Ruff (#89863) 2023-03-17 13:30:06 +01:00
Martin Hjelmare f4de050904 Bump hass-nabucasa to 0.61.1 (#89864) 2023-03-17 13:27:05 +01:00
lunmay cdb01146da Fix misstype translation reference keynames (#89855) 2023-03-17 12:05:29 +01:00
Malte Franken ed0a059053 Refactor entity manager code in geo_json_events integration (#89847)
* moved entity manager

* fix circular reference

* simplify new entity signal
2023-03-17 11:59:29 +01:00
epenet ab6e929443 Fix EntityComponent lingering timer in helper tests (#89801)
* Fix lingering timer in entity platform tests

* Tweak

* Fix entity and entity_component also

* Remove async_shutdown

* Adjust

* Adjust
2023-03-17 10:26:05 +01:00
epenet abd91dd934 Ensure MockEntityPlatform shuts down after tests (#89849) 2023-03-17 10:22:43 +01:00
J. Nick Koston aa72b48725 Mark recorder system_health session read_only (#89842) 2023-03-17 10:22:21 +01:00
epenet ab4a726e6c Add tmpdir to known fixtures in pylint (#89844) 2023-03-17 10:22:02 +01:00
J. Nick Koston dbb2706c76 Reduce number of tasks created by compiling missing statistics (#89835) 2023-03-16 21:07:14 -10:00
J. Nick Koston d671d7fc1f Add native_step to baf (#89780) 2023-03-16 19:13:42 -10:00
Jean-François Roy 5a6234d60e Bump aiobafi6 to 0.8.0 (#89840) 2023-03-16 19:13:23 -10:00
J. Nick Koston f6f3565796 Reduce latency to find stats metadata (#89824) 2023-03-16 19:00:02 -10:00
Allen Porter 04a99fdbfc Add local calendar diagnostics platform (#89776)
* Add local calendar diagnostics platform

* Use redaction from ical

* Update diagnostics for new ical version

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Use snapshot tests for local calendar diagnostics

* Setup diagnostics directly in tests rather than via dependencies

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-16 23:05:01 -04:00
Erik Montnemery ae127e7687 Change light white service call attribute to accept True (#89803) 2023-03-16 23:02:56 -04:00
Franck Nijhof a153720599 Add state attribute translations for automations (#89815) 2023-03-16 23:02:11 -04:00
Franck Nijhof a2b6ef3d7b Add state attribute translations for fans (#89816) 2023-03-16 23:01:47 -04:00
epenet 79c9447770 Fix lingering timer in event helper tests (#89819)
Fix lingering timer in event tests
2023-03-16 23:01:23 -04:00
Franck Nijhof f8da3ee50e Add state attribute translations for locks (#89820) 2023-03-16 23:00:45 -04:00
J. Nick Koston 350e967a89 Bump aioharmony to 0.2.10 (#89831)
fixes #89823
2023-03-16 22:44:49 -04:00
epenet ff8b91aeea Add freezer to known test fixtures in pylint (#89825)
Add freezer to known fixtures in pylint
2023-03-16 22:39:41 -04:00
Michael Hansen e16f17f5a8 Voice assistant integration with pipelines (#89822)
* Initial commit

* Add websocket test tool

* Small tweak

* Tiny cleanup

* Make pipeline work with frontend branch

* Add some more info to start event

* Fixes

* First voice assistant tests

* Remove run_task

* Clean up for PR

* Add config_flow.py

* Remove CLI tool

* Simplify by removing stt/tts for now

* Clean up and fix tests

* More clean up and API changes

* Add quality_scale

* Remove data from run-finish

* Use StrEnum backport

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-16 20:42:26 -04:00
epenet 81c0382e4b Fix lingering timer in bootstrap tests (#89790)
* Fix lingering timer in bootstrap test

* Adjust comment

* Use a constant
2023-03-16 17:20:27 -04:00
epenet 9893b1cf4a Cleanup get_local_ip in global conftest (#89826) 2023-03-16 22:03:06 +01:00
Franck Nijhof f9919bb7cf Add pre-defined entity name translations (#89792) 2023-03-16 21:10:20 +01:00
Franck Nijhof b6d001bfe6 2023.3.5 (#89814) 2023-03-16 20:45:14 +01:00
Franck Nijhof e6f280cf7a Add state attribute translations for device trackers (#89810) 2023-03-16 19:58:52 +01:00
Franck Nijhof 298dae55fa Add missing state translations for Lock entities (#89795) 2023-03-16 19:06:35 +01:00
Franck Nijhof d99c02b46f Add state attribute translations for covers (#89812) 2023-03-16 19:04:25 +01:00
Franck Nijhof cb8ed4a1cc Add state attribute translations for alarm control panel (#89809) 2023-03-16 19:04:11 +01:00
Franck Nijhof 3e89b81e1d Add state attribute translations for calendars (#89811) 2023-03-16 19:03:23 +01:00
Franck Nijhof 7e18e15cac Bumped version to 2023.3.5 2023-03-16 18:48:17 +01:00
Bram Kragten e651ca747b Update frontend to 20230309.1 (#89802) 2023-03-16 18:47:51 +01:00
J. Nick Koston 9fa73fe3a9 Bump aioesphomeapi to 13.5.1 (#89777) 2023-03-16 18:47:47 +01:00
Jan Bouwhuis abda7b8a5b Fix imap server push holding HA startup (#89750) 2023-03-16 18:47:44 +01:00
jan iversen 90a4afb6fa Correct modbus serial method parameter (#89738) 2023-03-16 18:47:40 +01:00
Marcio Granzotto Rodrigues 52981699cf Bump bond-async to 0.1.23 (#89697) 2023-03-16 18:47:37 +01:00
Joakim Plate c3d7696c2e Update to nibe 2.1.4 (#89686) 2023-03-16 18:47:33 +01:00
jan iversen f120bac17f Secure modbus hub_collect remains valid (#89684)
Secure hub_collect remains valid.
2023-03-16 18:47:28 +01:00
Joakim Plate 02738fb9d4 Handle int or mapping for off case in nibe cooling (#89680)
Handle int or mapping for off case in nibe
2023-03-16 18:47:25 +01:00
J. Nick Koston a9a6ff50cc Bump aioesphomeapi to 13.5.0 (#89262) 2023-03-16 18:47:21 +01:00
zhangshengdong29 fdd9c5383f ArestData does not have available (#88631) 2023-03-16 18:47:17 +01:00
epenet 69aa3a75c5 Fix lingering timer in event sun tests (#89808) 2023-03-16 18:32:34 +01:00
Bram Kragten ba4a638b39 Update frontend to 20230309.1 (#89802) 2023-03-16 18:32:07 +01:00
epenet 1a7e316b51 Fix lingering timer in condition tests (#89807) 2023-03-16 18:19:29 +01:00
Jan Bouwhuis 6e25abfdcc Fix typo in docstr (#89804) 2023-03-16 16:54:26 +01:00
Erik Montnemery 9384ec18f8 Add filters to climate and light service descriptions (#86162)
* Add filters to climate and light service descriptions

* Allow specifying enums directly

* Update service descriptions

* Adjust test

* Cache entity features

* Lint

* Improve error handling, add list of known base components

* Don't allow specifying an entity feature as int
2023-03-16 15:59:51 +01:00
Jan Bouwhuis c81a38effb Mqtt prepare test base part1 (#89796)
* Refactor test_reloadable

* Refactor test_disabling_and_enabling_entry

* optimize test_unload_config_entry

* Cleanup help_test_unload_config_entry

* cleanup test_unload_entry

* Update test tls_version

* More tests to entry only

* Add validate and hassconfig patch

* Revert fixture changes patch_hass_config

* Follow up comments
2023-03-16 15:57:01 +01:00
Erik Montnemery 886c2635ad Add support for constant selector (#89573)
* Add support for constant selector

* Adapt to frontend PR changes
2023-03-16 09:02:26 -04:00
epenet c6568ffb62 Fix lingering timer in collection helper tests (#89793)
* Fix lingering timer in collection helper tests

* One more
2023-03-16 08:38:22 -04:00
Joakim Plate b3bd80d905 Handle int or mapping for off case in nibe cooling (#89680)
Handle int or mapping for off case in nibe
2023-03-16 13:26:56 +01:00
Kevin Siml e57031b1b5 Add Pushsafer notify parameters (#89555) 2023-03-16 13:03:05 +01:00
Franck Nijhof f32b7859b8 Restructure translations for entity components (#89702) 2023-03-16 12:16:08 +01:00
Erik Montnemery f55aaf7664 Drop unused Google entity settings from cloud (#89786) 2023-03-16 11:15:38 +01:00
Vincent Knoop Pathuis 273d794f7a Add device class for Landis+Gyr GJ energy sensor (#89522) 2023-03-16 11:12:05 +01:00
epenet 46a5aa71ec Add type hints to helper tests (#89784) 2023-03-16 11:10:56 +01:00
epenet 69e85b3216 Fix SFR Box diagnostics (#89783) 2023-03-16 11:09:54 +01:00
epenet fec6236dd9 Add type hints to root tests (#89785) 2023-03-16 11:08:47 +01:00
epenet 8a58457203 Fix lingering timer in config entries test (#89787) 2023-03-16 11:07:42 +01:00
dependabot[bot] a591f64258 Bump actions/checkout from 3.3.0 to 3.4.0 (#89778)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-16 09:46:40 +01:00
epenet 913156b0e0 Avoid lingering timer on script shutdown (#89753) 2023-03-16 08:00:21 +01:00
J. Nick Koston c707ddbf7c Bump aioesphomeapi to 13.5.1 (#89777) 2023-03-15 20:00:47 -10:00
jan iversen 2365a884d2 Secure modbus hub_collect remains valid (#89684)
Secure hub_collect remains valid.
2023-03-15 23:48:00 -04:00
J. Nick Koston ecf6922ade Bump yalexs_ble to 2.1.0 (#89772)
switches to using cryptography to reduce the number of deps

changelog: https://github.com/bdraco/yalexs-ble/compare/v2.0.4...v2.1.0
2023-03-15 23:47:26 -04:00
J. Nick Koston ed27dae173 Small cleanups to recorder history (#89774)
* Small cleanups to recorder history

* Small cleanups to recorder history

* fixes

* flake8 cannot figure it out
2023-03-15 23:44:33 -04:00
J. Nick Koston 99d6b1fa57 Migrate States to use a table manager (#89769) 2023-03-15 16:19:43 -10:00
J. Nick Koston 4080d68489 Fix logbook tests failing because time was not url encoded correctly (#89770) 2023-03-15 15:29:41 -10:00
J. Nick Koston e379aa23bd Migrate StateAttributes to use a table manager (#89760)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-15 15:26:29 -10:00
J. Nick Koston ccab45520b Remove asyncio.coroutine workarounds (#88560) 2023-03-15 20:04:31 -04:00
Matthias Alphart a360da8bc3 Update xknx to 2.7.0 (#89765) 2023-03-15 23:28:43 +01:00
J. Nick Koston 69078b5aed Bump pyblackbird to 0.6 for py3.11 (#89719) 2023-03-15 12:14:49 -10:00
J. Nick Koston aec2d63302 Add keep_days to recorder.purge_entities (#89726) 2023-03-15 11:13:47 -10:00
Jan Bouwhuis 6ba5f8e43a Fix imap server push holding HA startup (#89750) 2023-03-15 21:22:13 +01:00
Raman Gupta 7a267460d3 Cache remote app list for vizio TVs (#89003) 2023-03-15 20:42:23 +01:00
Jack Boswell b43b2eb3cb Avoid rounding Starlink sensor data & instead allow configurable precision (#89486) 2023-03-15 20:40:22 +01:00
epenet 3aa5629665 Improve type hints in condition helper tests (#89754) 2023-03-15 19:42:23 +01:00
zhangshengdong29 bf21b2622c ArestData does not have available (#88631) 2023-03-15 19:13:32 +01:00
Michael d4edec2863 Move calculation of current value into lib in Fritz!SmartHome (#89150) 2023-03-15 18:59:03 +01:00
Erik Montnemery b7ac0058af Fix hassio cleanup when addon in uninstalled (#89756) 2023-03-15 18:56:58 +01:00
Marcel van der Veldt fceb208381 Abort Hue config flow if bridge can not be reached (#88893)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-15 18:55:34 +01:00
starkillerOG 4eee626770 Reolink check firmware (#88903) 2023-03-15 18:54:28 +01:00
Maciej Bieniek dea29f539f Use SensorDeviceClass.ENUM and add state attributes translations in Shelly integration (#89660) 2023-03-15 18:52:42 +01:00
epenet 54ad8b8ee9 Avoid lingering timers in update coordinator tests (#89749) 2023-03-15 18:50:32 +01:00
epenet c416d18506 Add WAN information to SFR Box (#89678) 2023-03-15 18:49:57 +01:00
PatrickGlesner cb74b934dc Fix NMBS IndexError (#89698) 2023-03-15 18:09:39 +01:00
epenet 35c02ddc81 Add type hints to update coordinator tests (#89748) 2023-03-15 18:07:43 +01:00
Allen Porter b588b8b215 Bump ical to 4.5.0 (#89744) 2023-03-15 18:06:46 +01:00
StefanIacobLivisi 6b768b90b4 Bump aiolivisi to 0.0.19 (#89752) 2023-03-15 18:05:45 +01:00
epenet 8cbb1e542f Address late feedback for SamsungTV (#89751) 2023-03-15 17:14:27 +01:00
Erik Montnemery 4d3799a9de Make CalendarEntityFeature an IntFlag (#89733) 2023-03-15 09:22:16 -04:00
jan iversen 6e5b4f9f82 Add modbus hvac_* write registers (#89695) 2023-03-15 14:09:14 +01:00
J. Nick Koston a244749712 Make StatesMetaManager thread-safe when an entity_id is fully deleted from the database and than re-added (#89732)
* refactor to make StatesMetaManager threadsafe

* refactor to make StatesMetaManager threadsafe

* refactor to make StatesMetaManager threadsafe

* refactor to make StatesMetaManager threadsafe

* reduce

* comments
2023-03-15 08:54:02 -04:00
starkillerOG 6a01c3369d Reolink auto quick reply (#89656) 2023-03-15 12:56:01 +01:00
epenet 6270776fbb Add turn_on trigger to Samsung TV (#89018)
* Add turn_on trigger to Samsung TV

* Add tests

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Remove assert

* Cleanup mock_send_magic_packet

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-15 12:43:53 +01:00
jan iversen cd23caff58 Correct modbus serial method parameter (#89738) 2023-03-15 12:27:45 +01:00
epenet 9719f817c0 Bump ruff to 0.0.256 (#89734) 2023-03-15 10:07:12 +01:00
J. Nick Koston 59de7f3057 Migrate EventData management to a table manager (#89716) 2023-03-14 21:40:59 -10:00
Joakim Plate bf8c4cae27 Update to nibe 2.1.4 (#89686) 2023-03-15 06:01:34 +01:00
Allen Porter a91055cc2a Fix additional typing in local calendar tests (#89704)
* Fix additional typing in local calendar tests

* Update tests/components/local_calendar/test_calendar.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-14 19:33:46 -07:00
J. Nick Koston b906d67c1e Fix filtered purge not removing newer events (#89721) 2023-03-14 16:33:19 -10:00
Penny Wood 858fc30fcd Fix infinite loop in sun.sun (#89723) 2023-03-14 16:27:29 -10:00
Allen Porter 4ddcb14053 Add additional CalendarEvent validation (#89533)
Add additional event validation
2023-03-14 20:27:38 -04:00
Jack Boswell c33ca4f664 Add diagnostics to Starlink (#86328) 2023-03-14 22:24:47 +01:00
J. Nick Koston 0630b7b962 Reduce size of load query to prime event_types and states_meta at startup (#89677) 2023-03-14 21:31:31 +01:00
Erik Montnemery c2c809682a Tweak OTBR tests (#89694) 2023-03-14 21:26:16 +01:00
J. Nick Koston a6d6807dd0 Add typing to statistics results (#89118) 2023-03-14 09:06:56 -10:00
Marcio Granzotto Rodrigues 9d2c62095f Bump bond-async to 0.1.23 (#89697) 2023-03-14 08:44:55 -10:00
Ernst Klamer d1969fd0c2 Add water sensor to bthome (#89595)
* Add water sensor to bthome

* Use TOTAL state class for gas water and energy
2023-03-14 19:26:05 +01:00
epenet 71dc98a39c Improve hass_ws_client type hint in tests (#89703) 2023-03-14 16:31:40 +01:00
Allen Porter 1bc4802c04 Move local calendar text fixtures to conftest.py (#89674)
* Move local calendar text fixtures to conftest.py

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Add imports for suggested typing fixes

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-14 08:12:44 -07:00
Erik Montnemery 85e0177195 Add WS command for connecting OTBR to a known Thread network (#89692)
* Add WS command for connecting OTBR to a known Thread network

* Add test
2023-03-14 15:28:06 +01:00
Bram Kragten a213ef2475 Add websocket command to set preferred thread dataset (#89700) 2023-03-14 15:27:31 +01:00
Aidan Timson 73e1942eeb Update entity names to capitalize first word only for System Bridge (#89688) 2023-03-14 12:28:43 +01:00
epenet 2809a686be Remove duplicate code in nextcloud (#89681) 2023-03-14 12:14:29 +01:00
Jan Bouwhuis ec1b8b616f Debounce and group MQTT subscriptions (#88862)
* Debounce and group mqtt subscriptions

* Cleanup

* Do not cooldown on resubscribe

* Remove lock from task

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* ruff

* Longer initial cool down. Manages unsubscribes

* Own lock for access to self._pending_subscriptions

* adjust

* Subscribe to highest QoS when sharing subscription

* do not block _pending_subscriptions_lock with io

* Test the highest qos is subscribed at

* Cleanup max qos

* Follow up comments part 1

* Make docstr more generic

* Make max qos update thread safe

* Add lock on clearing _max_qos when resubscribing

* Wait for linger task

* User copy

* Check for key before cleaning up

* Fix lingering task

* Do not use a lock

* do not await _async_queue_subscriptions

* Replace copy with assignment

* Update max qos before returning

* Do not iterate if max_qos == 0

* Do not ieterate subs if max qos == 0

* Set initial cooldown correctly

* Ensure discovery cooldown ends after subscribing

* plan last subscribe with debouncer timeout

* cooldown if self._pending_subscriptions is set

* Revert format changes

* Remove stale assingnment self._last_subscribe

* Remove not used property

* Also check while for pending subscriptions

* revert first added sleep()

* Optimize

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-14 11:13:55 +01:00
J. Nick Koston 03b204f445 Execute sql queries in the database executor when using the recorder database (#89673) 2023-03-14 10:56:02 +01:00
J. Nick Koston dbc0890ce8 Add index to event_type and entity_id (#89676) 2023-03-14 10:09:21 +01:00
epenet b620e5d8a6 Move nextcloud constants (#89679) 2023-03-14 09:51:03 +01:00
amitfin cbee1ba496 Increase timeout for coolmaster with swing (#87573)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-03-14 09:47:26 +01:00
Paulus Schoutsen d084e70aff 2023.3.4 (#89647) 2023-03-14 00:10:23 -04:00
J. Nick Koston 2cb673db04 Handle bytes data in sql sensors (#89169) 2023-03-13 18:07:05 -10:00
G Johansson afa58b80bd Default to recorder db for SQL integration (#85436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-13 17:41:32 -10:00
puddly 69582b7ecb Bump ZHA dependencies (#89667)
* Bump `zha-quirks` library and account for `setup_quirks` signature

* Bump other ZHA dependencies

* Revert zigpy bump
2023-03-13 22:06:05 -04:00
Erik Montnemery 2f4e9c8ef3 Use otbr domain as dataset source (#89653) 2023-03-13 20:56:09 -04:00
Aidan Timson a99f6f7124 Handle ConnectionClosedException from System Bridge (#89654)
Handle unretrieved ConnectionClosedException from System Bridge
2023-03-13 20:55:37 -04:00
Aidan Timson 6809bd3029 Remove incorrect state class for System Bridge sensors (#89655) 2023-03-13 20:54:49 -04:00
J. Nick Koston 8e242c1fe6 Force binary build of sqlalchemy wheels (#89658)
Force binary build of sqlalchemy
2023-03-13 20:52:53 -04:00
J. Nick Koston 6713253553 Bump ulid-transform to 0.4.2 (#89666)
32 bit fixes

changelog: https://github.com/bdraco/ulid-transform/compare/v0.4.0...v0.4.2
2023-03-13 20:52:27 -04:00
puddly cbffaf30ba Bump ZHA dependencies (#89667)
* Bump `zha-quirks` library and account for `setup_quirks` signature

* Bump other ZHA dependencies

* Revert zigpy bump
2023-03-13 20:52:01 -04:00
Mick Vleeshouwer 0442a189e9 Add silent option for DynamicShutter (ogp:Shutter) in Overkiz (#89164)
Add new switch
2023-03-14 00:42:12 +01:00
Pascal Vizeli 5104e7f51a Use C-Extension for sqlalchemy (#89661) 2023-03-13 22:22:28 +01:00
Paulus Schoutsen 160518350f Bump SQLAlchemy to 2.0.6 (#89650) 2023-03-13 14:54:27 -04:00
Paulus Schoutsen 8a4233ac8e Bump SQLAlchemy to 2.0.6 (#89650) 2023-03-13 08:51:01 -10:00
Erik Montnemery d422b0dcc2 Make OTBR add newly created dataset to thread credential store (#89645) 2023-03-13 14:09:09 -04:00
starkillerOG d54259f9ac Bump reolink-aio to 0.5.5 (#89646) 2023-03-13 18:47:00 +01:00
Paulus Schoutsen daa5718a80 Bumped version to 2023.3.4 2023-03-13 13:26:50 -04:00
tomrennen f5562e93ac Improved "ON" state check for Use room sensor for cooling (#89634) 2023-03-13 13:26:44 -04:00
Erik Montnemery d2f90236d1 Rename modules named repairs.py which are not repairs platforms (#89618) 2023-03-13 13:26:43 -04:00
J. Nick Koston 65c614421a Increase maximum aiohttp connections to 4096 (#89611)
fixes #89408
2023-03-13 13:26:41 -04:00
Eugenio Panadero 22922da607 Bump aiopvpc to 4.1.0 (#89593) 2023-03-13 13:26:40 -04:00
J. Nick Koston ca0304ffc4 Fix get_significant_states_with_session query looking at legacy columns (#89558) 2023-03-13 13:26:39 -04:00
Robert Svensson 950a1f6e9e Bump pydeconz to v110 (#89527)
* Bump pydeconz to v109

* Bump pydeconz to v110 for additional color modes
2023-03-13 13:26:38 -04:00
rappenze 1e7f58d859 Fix bug in fibaro cover (#89502) 2023-03-13 13:26:37 -04:00
J. Nick Koston 7cb4620671 Fix data migration never finishing when database has invalid datetimes (#89474)
* Fix data migration never finishing when database has invalid datetimes

If there were impossible datetime values in the database (likely
from a manual sqlite to MySQL conversion) the conversion would
never complete

* Update homeassistant/components/recorder/migration.py
2023-03-13 13:26:36 -04:00
Kevin Worrel 8c2569d2ce Reconnect on any ScreenLogic exception (#89269)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-13 13:26:34 -04:00
Arjan 6ebd493c4d Fix gtfs with 2023.3 (sqlachemy update) (#89175) 2023-03-13 13:26:33 -04:00
Jan Stienstra 990ecbba72 Recode Home Assistant instance name to ascii for Jellyfin (#87368)
Recode instance name to ascii
2023-03-13 13:26:32 -04:00
David Poll 0457bb2717 Add is_hidden_entity test for Jinja templates (#89011) 2023-03-13 18:20:33 +01:00
G Johansson 02389960ce Refactor Command line sensor to inherit TemplateSensor (#81222)
* Refactor sensor

* Remove not needed

* block until done

* reset test

* test sensor

* Add time
2023-03-13 17:23:25 +01:00
Nick Borgers a7396af4bb Bump pybravia to 0.3.2 (#89635) 2023-03-13 16:06:29 +01:00
Erik Montnemery 8a0522ca2a Include extended address in thread discovery data (#89640) 2023-03-13 15:59:22 +01:00
Erik Montnemery 0f2abe7f25 Bump python-otbr-api to 1.0.9 (#89637) 2023-03-13 15:52:36 +01:00
Joakim Sørensen 11e21378b1 Add sensors for supervisor host (#89461)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-13 15:39:49 +01:00
epenet 07b25939a2 Use SnapshotAssertion in SFR button tests (#89633) 2023-03-13 15:23:00 +01:00
tomrennen 15506da332 Improved "ON" state check for Use room sensor for cooling (#89634) 2023-03-13 15:15:13 +01:00
Thijs Walcarius cdfb43d403 Address late review comments for frontier_silicon config flow (#89507)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: wlcrs <wlcrs@users.noreply.github.com>
2023-03-13 15:06:45 +01:00
Klaas Schoute 3aeda1792a Bump easyEnergy to v0.2.1 (#89630) 2023-03-13 15:00:50 +01:00
anotherthomas 179cc4d7f7 Improve warnings in mqtt light messages (#89552)
* improved warnings in mqtt light messages.

* fixed tests.
2023-03-13 14:46:16 +01:00
Erik Montnemery 3637d787cf Fix intellifire name property (#89632)
Fix intellifire name property
2023-03-13 14:01:28 +01:00
Erik Montnemery a230732087 Correct naming of some otbr tests (#89631) 2023-03-13 13:56:08 +01:00
epenet f3da95fb1f Use SnapshotAssertion in SFR binary sensor tests (#89624) 2023-03-13 13:37:51 +01:00
Penny Wood 429e52cf3d Improve typing in climate.py (#89577) 2023-03-13 12:40:09 +01:00
starkillerOG 431a8d0047 Add support for dual lens cameras in Reolink (#89554) 2023-03-13 12:16:52 +01:00
Arjan 40ed3be4a8 Fix gtfs with 2023.3 (sqlachemy update) (#89175) 2023-03-13 11:57:49 +01:00
starkillerOG 6e10cd81dd Use repair issue when port enable fails in Reolink (#89591)
* Reolink use repair issue for disabled ports

* fix styling

* Add port repair issue tests

* Update homeassistant/components/reolink/strings.json

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-13 11:43:41 +01:00
Franck Nijhof 62bd2e97f5 Merge branch 'master' into dev 2023-03-13 11:35:16 +01:00
Jan Rieger 78e8de9bd7 Add ESERA 1-Wire virtual integration (#89487) 2023-03-13 11:33:35 +01:00
cnico e73e88b922 Bump flipr-api to 1.5.0 (#89598)
flipr api 1.5.0 to use the new cloud api
2023-03-13 11:16:45 +01:00
David Poll 7284af6a3e Add an in-memory-preloading loader for Jinja imports (#88850)
* Adds a loader to enable jinja imports.

* Switch to in-memory

* Move loading custom_jinja off of the event loop

* Raise TemplateNotFound if template doesn't exist

* Fix docstring

* Adds a service to reload custom jinja

* Remove IO from test setup

* Improve coverage and small refactor

* Incorporate feedback and use .jinja extension

* Check the loaded sources in test.

* Incorporate PR feedback.

* Update homeassistant/helpers/template.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-13 11:00:05 +01:00
G Johansson 5c4f93fa36 Refactor Command line cover to inherit TemplateEntity (#81214)
* Refactor cover

* Remove not needed
2023-03-13 10:57:30 +01:00
G Johansson 5c42261210 Refactor Command line binary sensor to inherit TemplateEntity (#81212)
* Refactor binary sensor

* Align
2023-03-13 10:56:18 +01:00
epenet 5e73ad9cb0 Use SnapshotAssertion in SFR sensor tests (#89619)
* Use SnapshotAssertion in SFR sensor tests

* Name snapshots

* Cleanup const.py

* Remove name from snapshot
2023-03-13 10:45:59 +01:00
Erik Montnemery fd5c56fc7d Rename modules named repairs.py which are not repairs platforms (#89618) 2023-03-13 09:44:20 +01:00
J. Nick Koston d1ee303e85 Drop duplicated indices from recorder database schema (#89613)
Drop duplicated indices from schema

https://docs.percona.com/percona-toolkit/pt-duplicate-key-checker.html

```
% pt-duplicate-key-checker --databases fresh

ALTER TABLE `fresh`.`events` DROP INDEX `ix_events_event_type_id`;

ALTER TABLE `fresh`.`states` DROP INDEX `ix_states_metadata_id`;

ALTER TABLE `fresh`.`statistics` DROP INDEX `ix_statistics_metadata_id`;

ALTER TABLE `fresh`.`statistics_short_term` DROP INDEX `ix_statistics_short_term_metadata_id`;

```
2023-03-13 09:24:57 +01:00
dougiteixeira 470b0b5471 Adjust Tuya entity naming (#89616)
Fix entity name
2023-03-13 09:23:04 +01:00
dependabot[bot] e33cb2ee60 Bump actions/cache from 3.3.0 to 3.3.1 (#89617)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-13 09:10:47 +01:00
Eugenio Panadero 1fb11aec26 Bump aiopvpc to 4.1.0 (#89593) 2023-03-13 09:07:10 +01:00
Stephan Uhle c45fb85f17 Bump pysml to 0.0.9 (#89603) 2023-03-13 08:25:59 +01:00
Stephan Uhle 17c0e18776 Code quality update for EDL21 (#89561)
Enhance code quality.
2023-03-13 08:04:24 +01:00
J. Nick Koston e34853a82a Switch underlying history stats calculation to use seconds (#77857)
* Switch history stats to report in seconds

Because hours were previously used, the data would always be off because
of the loss of resolution when the time being tracked was in a window
of more than 12s

* Apply suggestions from code review

* Update homeassistant/components/history_stats/sensor.py

* tweak
2023-03-12 23:05:48 -04:00
J. Nick Koston 4dcf7c6267 Fix history_stats test failing during DST (#89589)
Note that there is one test that needs `now()` as it is
timezone aware
2023-03-12 23:03:48 -04:00
J. Nick Koston 0575b9bc88 Increase maximum aiohttp connections to 4096 (#89611)
fixes #89408
2023-03-12 16:57:22 -10:00
Barry Loong 877efc993b Add support for window device class to google assistant (#89564) 2023-03-12 22:45:25 -04:00
J. Nick Koston b9ac6b4a7c Improve reliability of context id migration (#89609)
* Split context id migration into states and events tasks

Since events can finish much earlier than states we
would keep looking at the table because states as not
done. Make them seperate tasks

* add retry dec

* fix migration happening twice

* another case
2023-03-12 21:41:48 -04:00
J. Nick Koston 85ca94e9d4 Mark database sessions that do not write data as read_only (#89600)
* Mark sessions that do not write data as read_only

* Mark sessions that do not write data as read_only
2023-03-12 21:33:28 -04:00
J. Nick Koston 977a07de13 Generate large history responses in the executor (#89606) 2023-03-12 21:32:26 -04:00
MarkGodwin 41b4c5532d Add Update entities to TP-Link Omada integration (#89562)
* Bump tplink-omada

* Add omada firmware updates

* Excluded from code coverage

* Fixed entity name
2023-03-12 21:26:34 -04:00
J. Nick Koston 459ea048ba Fix old indices never being removed with PostgreSQL (#89599) 2023-03-12 14:07:05 -10:00
J. Nick Koston e809b636e6 Bump rflink to 0.0.65 for python 3.11 (#89601) 2023-03-12 12:44:47 -10:00
J. Nick Koston c41f91be89 Deduplicate entity_id in the states table (#89557) 2023-03-12 10:01:58 -10:00
Jan Stienstra 8d88b02c2e Recode Home Assistant instance name to ascii for Jellyfin (#87368)
Recode instance name to ascii
2023-03-12 13:31:10 -05:00
J. Nick Koston 73cd62bd32 Fix lingering tasks in google_wifi tests (#89571) 2023-03-12 06:39:07 -10:00
Marc Mueller b4b7605b82 Improve screenlogic generic typing (#89587) 2023-03-12 06:38:26 -10:00
G Johansson e932139721 Strict typing threshold (#82786) 2023-03-12 17:10:00 +01:00
Erik Montnemery cf7e500a8e Support translating entity names (#88242) 2023-03-12 15:55:04 +01:00
Erik Montnemery 376a6eb82a Convert device_sun_light_trigger test fixture to async (#89578) 2023-03-12 14:48:46 +01:00
Erik Montnemery 234610b1cc Simplify command_line sensor tests (#89576) 2023-03-12 14:47:43 +01:00
J. Nick Koston edb06c58fa Add some more typing to screenlogic (#88522) 2023-03-11 23:04:19 -05:00
J. Nick Koston 84327f203c Fix flux_led set time to not happen during DST switch (#89559)
* Fix flux_led set time test

If this test was run at the wrong time of the day
it would not have been long enough for the set time
to fire since it only happens at 2:40:30 in the morning
local time

* Revert "Fix flux_led set time test"

This reverts commit 3241912eff.

* Change time set to not be during DST switch
2023-03-11 21:52:17 -05:00
J. Nick Koston 1c57339ec3 Refactor recorder tests to use recorder history API (#89565) 2023-03-11 21:51:16 -05:00
J. Nick Koston 50c31a5355 Move legacy database queries and models to prepare for schema v38 (#89532) 2023-03-11 11:26:30 -10:00
J. Nick Koston 16b420d660 Fix get_significant_states_with_session query looking at legacy columns (#89558) 2023-03-11 10:37:00 -10:00
J. Nick Koston 8bd43760b6 Deduplicate event_types in the events table (#89465)
* Deduplicate event_types in the events table

* Deduplicate event_types in the events table

* more fixes

* adjust

* adjust

* fix product

* fix tests

* adjust

* migrate

* migrate

* migrate

* more test fixes

* more test fixes

* fix

* migration test

* adjust

* speed up

* fix index

* fix more tests

* handle db failure

* preload

* tweak

* adjust

* fix stale docs strings, remove dead code

* refactor

* fix slow tests

* coverage

* self join to resolve query performance

* fix typo

* no need for quiet

* no need to drop index already dropped

* remove index that will never be used

* drop index sooner as we no longer use it

* Revert "remove index that will never be used"

This reverts commit 461aad2c52.

* typo
2023-03-11 14:54:55 -05:00
Kevin Worrel 56454c8580 Reconnect on any ScreenLogic exception (#89269)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-11 09:27:33 -10:00
Robert Svensson 8564768d9e UniFi library controls add/update signalling (#89525)
* Library controls add/update signalling

* Remove add/remove signalling

* Remove unifi_entity_base and unifi_client to make mypy pass
2023-03-11 20:14:39 +01:00
Robert Svensson 7487a004fd Bump pydeconz to v110 (#89527)
* Bump pydeconz to v109

* Bump pydeconz to v110 for additional color modes
2023-03-11 20:13:27 +01:00
J. Nick Koston 52cea16f74 Remove unused code in RecorderRuns.entity_ids (#89526) 2023-03-11 12:46:12 +01:00
J. Nick Koston 01e1221443 Refactor logbook data to use a dataclass (#89534) 2023-03-11 12:45:27 +01:00
rappenze fccdd7b102 Fix bug in fibaro cover (#89502) 2023-03-11 09:15:05 +01:00
Robert Svensson 288a4203ab Make client tracker use common UniFi entity class (#84942)
* Make client tracker use common UniFi entity class

* Fix tests

* Fix mypy

* Remove legacy data

* Fix comment: skip else use return

* Minor change

* Remove missed stuff from previous rebase

* Import async_device_available_fn from entities.py rather than specifying it in device_tracker

* Avoid using asserts

* Keep explicit parenthesis for readability

* Allow loading entities on option changes
2023-03-11 06:23:49 +01:00
Paulus Schoutsen d6a223f0e1 Await block till done inside patched config entry in tests (#89515) 2023-03-10 06:42:53 -10:00
epenet 96bd714364 Add FTTH and WAN info to SFR box diagnostics (#89492)
* Add FTTH and WAN info to SFR box diagnostics

* Adjust tests

* Use snapshots
2023-03-10 10:09:04 -05:00
epenet 74d4a26f97 Add missing mock in jellyfin config flow tests (#89510) 2023-03-10 10:06:53 -05:00
epenet f22fabdd7f Add missing mock in kmtronic config flow tests (#89511) 2023-03-10 10:05:31 -05:00
epenet 401273dcff Add missing mock in lacrosse_view config flow tests (#89512) 2023-03-10 10:05:13 -05:00
epenet f674559a71 Add missing mock in landisgyr config flow tests (#89513) 2023-03-10 10:04:45 -05:00
Vincent Knoop Pathuis 75bca76e68 Landis+Gyr move coordinator to own file (#89433)
* Move coordinator to own file and add test cases

* Apply typing improvements from review

* Remove testcase for exception during setup

* Simplify unittest for failing serial connection

* Readd checks in serial connection test after review
2023-03-10 15:57:35 +01:00
epenet 029093d0b2 Fix lingering timer in device registry (#89422) 2023-03-10 09:48:58 -05:00
dependabot[bot] f4b8598979 Bump home-assistant/builder from 2022.11.0 to 2023.03.0 (#89485)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-10 13:27:07 +01:00
epenet b4c1c0beb7 Bump pytest-xdist to 3.2.0 (#89501) 2023-03-10 13:08:45 +01:00
epenet 0f15f8b84b Bump pytest-sugar to 0.9.6 (#89500) 2023-03-10 12:58:29 +01:00
epenet a0f725dfcb Add type hints to tests (#89497) 2023-03-10 12:06:50 +01:00
Thijs W b8bda93d87 Add config flow to frontier_silicon (#64365)
* Add config_flow to frontier_silicon

* Add missing translation file

* Delay unique_id validation until radio_id can be determined

* Fix tests

* Improve tests

* Use FlowResultType

* Bump afsapi to 0.2.6

* Fix requirements_test_all.txt

* Stash ssdp, reauth and unignore flows for now

* Re-introduce SSDP flow

* hassfest changes

* Address review comments

* Small style update

* Fix tests

* Update integrations.json

* fix order in manifest.json

* fix black errors

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Address review comments

* fix black errors

* Use async_setup_platform instead of async_setup

* Address review comments on tests

* parameterize tests

* Remove discovery component changes from this PR

* Address review comments

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Add extra asserts to tests

* Restructure _async_step_device_config_if_needed

* Add return statement

* Update homeassistant/components/frontier_silicon/media_player.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-10 10:26:03 +01:00
Erik Montnemery fde205c158 Add unconfigured flag to thread discovery data (#89230)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-09 22:32:32 -05:00
J. Nick Koston 9e1ba8534a Fix data migration never finishing when database has invalid datetimes (#89474)
* Fix data migration never finishing when database has invalid datetimes

If there were impossible datetime values in the database (likely
from a manual sqlite to MySQL conversion) the conversion would
never complete

* Update homeassistant/components/recorder/migration.py
2023-03-09 21:03:41 -05:00
TheJulianJES d828263ee3 Add device class to ZHA Xiaomi plug "consumer connected" sensor (#89476)
Add device class to ZHA Xiaomi plug "consumer connected"
2023-03-09 20:15:22 -05:00
Jared Szechy 4591bb1823 Add Ruth and Stephen voices to AWS Polly (#89344)
Add Ruth and Stephen
2023-03-09 19:13:56 -05:00
epenet f8462fd5b7 Add missing mock in guardian config flow tests (#89451) 2023-03-09 22:57:16 +01:00
Lucas Mindêllo de Andrade eed16dc185 Add list areas function to template (#88441) 2023-03-09 22:32:30 +01:00
epenet 48fca3bb27 Fix missing debouncer cancel in update coordinator (#89383)
* Fix missing debouncer cancel in update coordinator

* Improve

* Adjust with comment

* Adjust again

* Simplify PR

* Adjust tests to avoid lingering timer

* Improve
2023-03-09 15:16:52 -05:00
Paulus Schoutsen ddde17606d 2023.3.3 (#89459) 2023-03-09 14:40:06 -05:00
Paulus Schoutsen 3fba181e7b Bumped version to 2023.3.3 2023-03-09 13:30:46 -05:00
Erik Montnemery da79bf8534 Fix Dormakaba dKey deadbolt binary sensor (#89447)
* Fix Dormakaba dKey deadbolt binary sensor

* Spelling
2023-03-09 13:18:23 -05:00
Paul Bottein 83e2cc32b7 Update frontend to 20230309.0 (#89446) 2023-03-09 13:18:22 -05:00
Joakim Sørensen c7fb404a17 Add paths for add-on changelog and documentation (#89411) 2023-03-09 13:18:21 -05:00
Jan Bouwhuis f1e114380a Allow enum as MQTT sensor device_class (#89391) 2023-03-09 13:18:20 -05:00
Brandon Rothweiler 04e4a644cb Bump pymazda to 0.3.8 (#89387) 2023-03-09 13:18:19 -05:00
Dillon Fearns e606c2e227 Bump roombapy to 1.6.6 (#89366)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-09 13:18:17 -05:00
Jan Bouwhuis ebf95feff3 Fix MQTT rgb light brightness scaling (#89264)
* Normalize received RGB colors to 100% brightness

* Assert on rgb_color attribute

* Use max for RGB to get brightness

* Avoid division and add clamp

* remove clamp

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-09 13:18:15 -05:00
Erik Montnemery 7ef1c289be Fix Dormakaba dKey deadbolt binary sensor (#89447)
* Fix Dormakaba dKey deadbolt binary sensor

* Spelling
2023-03-09 13:17:29 -05:00
Kirill Kulakov d1734bc0ab Xiaomi Air Purifier S2 illuminance sensor support (#89208)
* Add sensor illuminance sensor support xiaomi s2 air purifier

* Add sensor illuminance sensor support xiaomi s2 air purifier

* fix sorting
2023-03-09 19:15:14 +01:00
Stephan Uhle 3796a73856 Add device info to edl21 (#89327) 2023-03-09 19:08:55 +01:00
Joakim Sørensen 4f29e1e180 Add stats sensors for core and supervisor (#89455)
* Add stats sensors for core and supervisor

* Update homeassistant/components/hassio/__init__.py
2023-03-09 19:06:35 +01:00
epenet 3a4ce260b4 Add missing mock in freedompro config flow tests (#89442) 2023-03-09 19:05:23 +01:00
epenet f3084165b1 Add missing mock in filesize config flow tests (#89441) 2023-03-09 19:04:51 +01:00
epenet 4e4608183e Add missing mock in fibaro config flow tests (#89440) 2023-03-09 19:04:07 +01:00
Paul Bottein 01d8eaa5b6 Update frontend to 20230309.0 (#89446) 2023-03-09 12:28:02 -05:00
epenet adfd263635 Add missing mock in gree config flow tests (#89450) 2023-03-09 18:12:22 +01:00
Marc Mueller 3c27f9ea7d Update actions/cache to 3.3.0 (#89438) 2023-03-09 17:58:03 +01:00
Stefan Agner f903c536fb Add Hardkernel ODROID-M1 (#89431)
* Add Hardkernel ODROID-M1

Add Hardkernel ODROID-M1 machine. ODROID-M1 is a Rockchip RK3568B2 SoC
based single board computer with 4xCortex-A55, NVMe support and up to
8GB of RAM.

* Update homeassistant/components/hardkernel/hardware.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Fix tests

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-09 14:18:19 +01:00
epenet dcff2f37f7 Add DSL prefix to SFRBox ADSL sensors (#89276) 2023-03-09 13:19:22 +01:00
Jeef 3545209355 Add vermont_castings virtual integration for Intellifire (#89317) 2023-03-09 13:17:50 +01:00
epenet 4a082403eb Add missing mock in coronavirus config flow tests (#89428) 2023-03-09 13:16:36 +01:00
Jack Boswell c6d2824afe Disable some less commonly used starlink entities by default (#87869)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-09 13:06:27 +01:00
epenet b0631fed1d Add missing mock in braviatv config flow tests (#89419) 2023-03-09 13:05:32 +01:00
epenet 9faf251321 Add missing mock in buienradar config flow tests (#89420) 2023-03-09 13:05:04 +01:00
J. Nick Koston 86ad8261d8 Update logbook queries for SADeprecationWarning (#87108) 2023-03-09 13:03:08 +01:00
avee87 c2f69dc59d Revert Transmission entities name changes (#89409) 2023-03-09 13:02:12 +01:00
TheJulianJES 3989ef8863 Parse attribute reports for ZHA select entity (#89418)
* Parse attribute reports for ZHA select entity

* Add test for checking that select entity attribute reports are parsed
2023-03-09 07:01:18 -05:00
Jeef ead3662b7a Add quadrafire virtual integration for Intellifire (#89316) 2023-03-09 13:00:31 +01:00
epenet c5ff3e9914 Add review-process link to PR template (#89430) 2023-03-09 11:52:20 +01:00
epenet dbebe57d51 Avoid unnecessary Task in debouncer (#89370) 2023-03-09 11:41:59 +01:00
starkillerOG c9d5baca75 Add hostname to DHCP discovery title (#89426) 2023-03-09 11:12:29 +01:00
Felix Rotthowe 5828e9a8d2 Simplify LivisiEntity inheritance (#89424)
* We don't need to inherit Entity. The CoordinatorEntity already does that.

* update imports
2023-03-09 09:27:53 +01:00
Jan Bouwhuis 1a4b14c217 Fix MQTT rgb light brightness scaling (#89264)
* Normalize received RGB colors to 100% brightness

* Assert on rgb_color attribute

* Use max for RGB to get brightness

* Avoid division and add clamp

* remove clamp

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-09 08:02:59 +01:00
Joakim Sørensen e5ce8e920d Add paths for add-on changelog and documentation (#89411) 2023-03-08 20:23:33 -05:00
J. Nick Koston 170a13302c Reduce overhead to store context ids in the database (#88942) 2023-03-08 14:51:45 -10:00
Marc Mueller 386533a16f Update mypy to 1.1.1 (#89268)
* Update mypy to 1.1.1
* Update pydantic to 1.10.6
2023-03-08 22:57:54 +01:00
Matthias Alphart bfae8992a9 Better log message for KNX expose conversion error (#89400) 2023-03-08 22:42:07 +01:00
Dillon Fearns 0d948a0f11 Bump roombapy to 1.6.6 (#89366)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-08 22:39:33 +01:00
Jan Bouwhuis 366baef7f6 Allow enum as MQTT sensor device_class (#89391) 2023-03-08 22:35:06 +01:00
Mark Adkins 8af37f7fee Update SharkIQ code owners (#89388) 2023-03-08 22:05:23 +01:00
mkmer 5c768c3f89 Bump aiosomecomfort to 0.0.14 (#89393) 2023-03-08 22:02:18 +01:00
J. Nick Koston e1d62b554a Migrate integration_platform helper to use async_get_integrations (#89303)
* Migrate integration_platform helper to use async_get_integrations

We were fetching integrations inside the gather one
at a time. This is inefficent.

* cleanup

* cleanup

* add task name

* small tweaks

* gather only if we have tasks
2023-03-08 16:01:47 -05:00
Brandon Rothweiler 4f11344bc3 Bump pymazda to 0.3.8 (#89387) 2023-03-08 10:56:40 -10:00
J. Nick Koston 5dbab21f9a Fix missing f-string in filterable_job (#89340)
* Fix missing f-string in filterable_job

* remove bad test
2023-03-08 15:53:48 -05:00
Malte Franken b07f614cf5 Add loggers to gdacs manifest file (#89338)
define loggers
2023-03-08 15:53:12 -05:00
Erik Montnemery 09915f8047 Add WS API for getting an OTBR's extended address (#89384)
* Add WS API for getting an OTBR's extended address

* Bump python-otbr-api to 1.0.8

* Really add require_admin decorator to otbr WS API
2023-03-08 15:52:53 -05:00
Robert Svensson 5a499050f2 Remove lingering timer related to camera (#89394) 2023-03-08 15:52:01 -05:00
J. Nick Koston cefba7c638 Avoid falling back to listening for all states when a template render raises an exception (#89392)
When a template render raised an exception we would start listening for
all states until the template did not raise an exception anymore. This
was not needed since the entity that is causing the exception was
already in the tracker.

Re-rendering on all state changes can be extremely expensive and can
bring an instance into a sluggish or unresponsive state when updating
from a much older version that did not raise ValueError when a default
was missing.
2023-03-08 15:50:34 -05:00
Mark Adkins 84b5ea8ac0 Bump SharkIQ to 1.0.2 (#89346)
* SharkIQ Dep & Codeowner Update

* Update code owners

* Revert code owner changes
2023-03-08 15:31:32 -05:00
Erik Montnemery 7232a0a786 Add require_admin decorator to otbr WS API (#89385)
* Add require_admin decorator to otbr WS API

* Add require_admin decorator to forgotten otbr WS API
2023-03-08 19:21:04 +01:00
Franck Nijhof 3dca4c2f23 2023.3.2 (#89381) 2023-03-08 18:35:50 +01:00
parliament119 7d97653895 Bump pyfritzhome to 0.6.8 and add support for Non-Color-Bulbs (#89141) 2023-03-08 18:24:37 +01:00
Erik Montnemery 18cb53a35c Pass hass instance when validating templates (#89242)
* Pass hass instance when validating templates

* Update tests

* Fix validating templates without hass

* Update service tests
2023-03-08 11:28:53 -05:00
Vincent Knoop Pathuis b0013247ff Move Landis+Gyr sensor descriptions to sensor platform (#89382)
Move HEAT_METER_SENSOR_TYPES to sensor platform
2023-03-08 16:56:04 +01:00
Marc Mueller bfb89fd8f2 Update pylint to 2.17.0 (#89377)
* Update pylint to 2.17.0

* Remove unused pylint disable comments
2023-03-08 10:54:19 -05:00
epenet 7982f713e1 Fix lingering tasks in plex (#89282)
* Cleanup expected_lingering_tasks in plex

* Adjust
2023-03-08 10:53:08 -05:00
J. Nick Koston aff7345ea0 Improve event filters to reject earlier (#89337)
* Improve event filters to reject earlier

- Avoid running the callbacks for state added/removed from
  a domain if there are no listeners that care about the domain

- Remove some impossible checks in the listeners that will
  never match since they were already rejected by the filter

* leave one guard since there is a race when we return control via await
2023-03-08 10:25:42 -05:00
Franck Nijhof 3f8f38f2df Bumped version to 2023.3.2 2023-03-08 16:24:08 +01:00
epenet 0844a0b269 Fix invalid state class in litterrobot (#89380) 2023-03-08 16:23:30 +01:00
Franck Nijhof b65180d20a Improve Supervisor API handling (#89379) 2023-03-08 16:23:26 +01:00
starkillerOG 7f8a9697f0 Fix setting Reolink focus (#89374)
fix setting focus
2023-03-08 16:23:22 +01:00
J. Nick Koston 563bd4a0dd Fix bluetooth history and device expire running in the executor (#89342) 2023-03-08 16:23:18 +01:00
J. Nick Koston 614a1b03c1 Use an event filter for event triggers (#89339)
We avoid the overhead of call_soon and event loop
scheduling if the event does not match the schema
2023-03-08 10:23:13 -05:00
Florent Thoumie 29b5ef31c1 Recreate iaqualink httpx client upon service exception (#89341) 2023-03-08 16:23:13 +01:00
Renat Sibgatulin 863f8b727d Remove invalid device class in air-Q integration (#89329)
Remove device_class from sensors using inconsistent units
2023-03-08 16:23:09 +01:00
J. Nick Koston 83ed8cf689 Fix thread diagnostics loading blocking the event loop (#89307)
* Fix thread diagnostics loading blocking the event loop

* patch target
2023-03-08 16:23:06 +01:00
Tom Harris 52cd2f9429 Fix Insteon open issues with adding devices by address and missing events (#89305)
* Add missing events

* Bump dependancies

* Update for code review
2023-03-08 16:23:02 +01:00
puddly 74d3b2374b Clean ZHA radio path with trailing whitespace (#89299)
* Clean config flow entries with trailing whitespace

* Rewrite the config entry at runtime, without upgrading

* Skip intermediate `data = config_entry.data` variable

* Perform a deepcopy to ensure the config entry will actually be updated
2023-03-08 16:22:58 +01:00
epenet f982af2412 Ignore DSL entities if SFR box is not adsl (#89291) 2023-03-08 16:22:53 +01:00
luar123 0b5ddd9cbf Bump python-snapcast to 2.3.2 (#89259) 2023-03-08 16:22:49 +01:00
J. Nick Koston 8d1aa0132e Make sql subqueries threadsafe (#89254)
* Make sql subqueries threadsafe

fixes #89224

* fix join outside of lambda

* move statement generation into a seperate function to make it easier to test

* add cache key tests

* no need to mock hass
2023-03-08 16:22:45 +01:00
J. Nick Koston d737b97c91 Bump sqlalchemy to 2.0.5post1 (#89253)
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.5

mostly bugfixes for 2.x regressions
2023-03-08 16:22:41 +01:00
Marc Mueller 0fac12866d Fix conditional check (#89231) 2023-03-08 16:22:38 +01:00
Bram Kragten e3fe71f76e Update frontend to 20230306.0 (#89227) 2023-03-08 16:22:34 +01:00
J. Nick Koston eba1bfad51 Bump aioesphomeapi to 13.4.2 (#89210) 2023-03-08 16:22:30 +01:00
Franck Nijhof 1a0a385e03 Fix Tuya Python 3.11 compatibility issue (#89189) 2023-03-08 16:22:26 +01:00
MarkGodwin c9999cd08c Fix host IP and scheme entry issues in TP-Link Omada (#89130)
Fixing host IP and scheme entry issues
2023-03-08 16:22:22 +01:00
rappenze 8252aeead2 Bump pyfibaro version to 0.6.9 (#89120) 2023-03-08 16:22:18 +01:00
J. Nick Koston c27a69ef85 Handle InnoDB deadlocks during migration (#89073)
* Handle slow InnoDB rollback when encountering duplicates during migration

fixes #89069

* adjust

* fix mock

* tests

* return on success
2023-03-08 16:22:15 +01:00
J. Nick Koston d4c28a1f4a Cache transient templates compiles provided via api (#89065)
* Cache transient templates compiles provided via api

partially fixes #89047 (there is more going on here)

* add a bit more coverage just to be sure

* switch method

* Revert "switch method"

This reverts commit 0e9e1c8cbe.

* tweak

* hold hass

* empty for github flakey
2023-03-08 16:22:10 +01:00
Andrew Westrope 322eb4bd83 Check type key of zone exists in geniushub (#86798)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-08 16:22:05 +01:00
J. Nick Koston 4ce36366c3 Add names to the config entry setup and shutdown tasks (#89309)
* name the entry setup tasks

* name a few more tasks

* Update homeassistant/config_entries.py

* Update homeassistant/setup.py
2023-03-08 10:19:36 -05:00
epenet 3e2ee7cd11 Add missing mock in aemet config flow tests (#89360) 2023-03-08 10:18:44 -05:00
epenet 33906059d3 Add missing mock in airq config flow tests (#89364) 2023-03-08 10:18:31 -05:00
epenet 3a40f5f35b Add missing mock in airvisual_pro config flow tests (#89362) 2023-03-08 15:18:24 +00:00
epenet 23698eb99f Add missing mock in agent_dvr config flow tests (#89361) 2023-03-08 15:18:17 +00:00
epenet 959c2205d5 Add missing mock in airvisual config flow tests (#89359) 2023-03-08 10:18:07 -05:00
epenet b61ad43144 Add missing mock in amber config flow tests (#89358) 2023-03-08 10:17:45 -05:00
epenet f4572a2e1c Add missing mock in atag config flow tests (#89356) 2023-03-08 10:16:51 -05:00
epenet ea6a95176d Add missing mock in azure event hub config flow tests (#89355) 2023-03-08 10:16:28 -05:00
Florent Thoumie 2ec78ae70e Recreate iaqualink httpx client upon service exception (#89341) 2023-03-08 15:37:24 +01:00
J. Nick Koston 5374c70c97 Fix bluetooth history and device expire running in the executor (#89342) 2023-03-08 15:27:34 +01:00
epenet 2626dd2c83 Fix invalid state class in litterrobot (#89380) 2023-03-08 15:24:19 +01:00
Franck Nijhof feb3f543be Improve Supervisor API handling (#89379) 2023-03-08 15:21:11 +01:00
starkillerOG 9381865f1c Fix setting Reolink focus (#89374)
fix setting focus
2023-03-08 12:25:51 +01:00
Renat Sibgatulin 452e1d341d Remove invalid device class in air-Q integration (#89329)
Remove device_class from sensors using inconsistent units
2023-03-08 10:00:40 +01:00
epenet 30884f6d17 Add missing mock in axis config flow tests (#89365) 2023-03-08 09:38:55 +01:00
epenet adb4414440 Add missing mock in brother config flow tests (#89354) 2023-03-08 08:43:07 +01:00
Marc Mueller 58280dc2ec Improve gios generic typing (#89321) 2023-03-08 08:39:15 +01:00
Nathan Spencer ff83b8adb8 Bump pybalboa to 1.0.1 (#89310) 2023-03-08 08:26:34 +01:00
J. Nick Koston 3e5e937541 Use a filter for the PersonStorageCollection EVENT_ENTITY_REGISTRY_UPDATED listener (#89335)
Avoids creating a task unless a device_tracker is removed
2023-03-07 21:07:24 -05:00
Tom Harris 008a30618c Fix Insteon open issues with adding devices by address and missing events (#89305)
* Add missing events

* Bump dependancies

* Update for code review
2023-03-07 21:06:29 -05:00
puddly fa128fbcec Clean ZHA radio path with trailing whitespace (#89299)
* Clean config flow entries with trailing whitespace

* Rewrite the config entry at runtime, without upgrading

* Skip intermediate `data = config_entry.data` variable

* Perform a deepcopy to ensure the config entry will actually be updated
2023-03-07 20:24:08 -05:00
J. Nick Koston bde40cde48 Fix thread diagnostics loading blocking the event loop (#89307)
* Fix thread diagnostics loading blocking the event loop

* patch target
2023-03-07 20:21:26 -05:00
J. Nick Koston 099f16f6b8 Fix missing f-string in async_listen (#89336) 2023-03-07 20:19:08 -05:00
Erik Montnemery aa2267d68e Rename hass context variable (#89302) 2023-03-07 23:21:47 +01:00
starkillerOG 2d3c5cf8ee Reolink test init 100% (#89112)
* Split out reolink tests

* Bring __init__ coverage to 100%

* Improve docstrings

* Use patching and autospec=True for ReolinkHost

* Use fixture

* fix styling

* Parametrize tests

* Update tests/components/reolink/conftest.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update test_config_flow.py

* convert to fixture

* review comments

* Update tests/components/reolink/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/reolink/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/reolink/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* fix tests

* fix imports

* Update test_init.py

* Check if host is logout on reload

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-07 20:29:38 +01:00
epenet f9a59c0839 Ignore DSL entities if SFR box is not adsl (#89291) 2023-03-07 19:04:50 +01:00
Erik Montnemery bc0b3abb01 Remove unittest.TestCase from service helper tests (#89283)
* Remove unittest.TestCase from service helper tests

* Update

* Improve tests
2023-03-07 16:54:35 +01:00
Erik Montnemery 058bb4c3e6 Drop deepcopy of Alexa config (#89284) 2023-03-07 16:16:46 +01:00
Erik Montnemery f5a3c4f7f5 Drop deepcopy of intent_script config (#89285) 2023-03-07 16:16:24 +01:00
Erik Montnemery f48b535d9d Drop deepcopy of manual alarm control panel config (#89286) 2023-03-07 16:15:48 +01:00
Erik Montnemery 3f061e9101 Drop deepcopy of manual mqtt alarm control panel config (#89287) 2023-03-07 16:15:26 +01:00
epenet ff2a88b426 Bump ruff to 0.0.254 (#89273) 2023-03-07 13:25:31 +01:00
Franck Nijhof 8c282e2b0d Remove deprecated DSMR Reader YAML configuration (#89239) 2023-03-07 13:24:41 +01:00
epenet 14bf68ad03 Cleanup expected_lingering_tasks in knx (#89279) 2023-03-07 11:59:31 +01:00
epenet c51bde9a26 Fail CI on lingering tasks (#88905) 2023-03-07 11:35:48 +01:00
Aidan Timson 85bcf11aeb Update systembridgeconnector to 3.4.8 (#79732)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-07 10:22:31 +01:00
Doney den Ouden 755c44d152 Add HomeKit Door accessory type (#80741)
Co-authored-by: Jason Redd <jredd46@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-06 18:07:43 -10:00
J. Nick Koston 3c70dd9b42 Make sql subqueries threadsafe (#89254)
* Make sql subqueries threadsafe

fixes #89224

* fix join outside of lambda

* move statement generation into a seperate function to make it easier to test

* add cache key tests

* no need to mock hass
2023-03-06 20:44:11 -05:00
J. Nick Koston 9672b5f02c Bump sqlalchemy to 2.0.5post1 (#89253)
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.5

mostly bugfixes for 2.x regressions
2023-03-06 20:20:37 -05:00
J. Nick Koston ee89922c1b Add support for bluetooth pairing in esphome (#88603)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-03-06 14:24:35 -10:00
J. Nick Koston 5ccaa549d1 Bump aioesphomeapi to 13.5.0 (#89262) 2023-03-06 14:04:10 -10:00
luar123 7972dbf9fb Bump python-snapcast to 2.3.2 (#89259) 2023-03-06 22:48:40 +01:00
Marc Mueller 84034959ba Improve reolink generic typing (#88786)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-03-06 21:54:34 +01:00
J. Nick Koston 83fa4c6c60 Bump aioesphomeapi to 13.4.2 (#89210) 2023-03-06 18:49:54 +01:00
Maciej Bieniek 1538f639ae Bump gios library to version 3.1.0 (#89044) 2023-03-06 18:12:19 +01:00
Marc Mueller b407227d4a Update pylint to 2.16.4 (#89240) 2023-03-06 17:50:42 +01:00
starkillerOG f9be796ca3 Reolink extend DHCP discovery (#89238) 2023-03-06 17:23:24 +01:00
epenet 91e389c58d Bump ruff to 0.0.253 (#89211)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-03-06 16:16:31 +01:00
starkillerOG e8bdaaacd9 Add comment about Reolink Floodlight turn on brightness (#89234)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-06 16:08:53 +01:00
Robert Svensson 9ff45ca013 Allow loading UniFi entities on config options change (#88762)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-06 16:08:14 +01:00
epenet ee6f969c2a Add type hints to ps4 media player (#89236) 2023-03-06 15:56:34 +01:00
Jan Bouwhuis 5ee383456f Catch exceptions and add logging when writing states on MQTT entities (#89091)
* Catch exceptions when writing states

* Do not use wrapper for logging and adjust tests

* Catch logging directly on async_write_ha_state()

* Update homeassistant/components/mqtt/models.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-06 15:34:47 +01:00
Marc Mueller 0c042e8f72 Fix conditional check (#89231) 2023-03-06 14:04:36 +01:00
starkillerOG 76cc4c9c08 Add Reolink light platform (#88619)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-06 12:48:36 +01:00
Bram Kragten 0ce9c6293a Update frontend to 20230306.0 (#89227) 2023-03-06 12:47:01 +01:00
starkillerOG b2166c3117 Reolink add new number entities (#87932)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-06 12:42:34 +01:00
epenet 14a17b1028 Use mock_setup_entry fixture in melnor (#89226) 2023-03-06 12:28:40 +01:00
Raman Gupta b572ecc62d Update zwave_js README with contributor instructions (#89158) 2023-03-06 12:06:53 +01:00
epenet bf5f7c53d8 Move mock_setup_entry to conftest (#88484) 2023-03-06 11:31:50 +01:00
Fabian Pfütsch ea4d2bd1e8 Sync tado zones after updating climate preset (#79715) 2023-03-06 10:40:34 +01:00
Erik Montnemery ab1df8065c Refresh homeassistant_alerts when components are loaded (#76049) 2023-03-06 10:26:37 +01:00
epenet 0c65af93af Split reauth tests in plex (#89212) 2023-03-06 10:02:32 +01:00
Franck Nijhof c7b30b61de Revert "Add device info to edl21" (#89217) 2023-03-06 08:51:33 +01:00
Stephan Uhle fc673139cd Add device info to edl21 (#89070)
* Added device info for edl21.

* Apply suggestions from code review
2023-03-06 08:29:41 +01:00
MarkGodwin 876776e291 Fix host IP and scheme entry issues in TP-Link Omada (#89130)
Fixing host IP and scheme entry issues
2023-03-05 23:47:45 -05:00
ztamas83 811e286f0f Test coverage for Tibber config flow (#89088)
* Test coverage for Tibber config flow

* Fix isort and ruff errors
2023-03-05 20:38:47 -05:00
Matthias Alphart 36dabaaea6 Fix lingering tasks in KNX tests (#89201) 2023-03-05 20:19:42 -05:00
Franck Nijhof ff485d4648 Refactor WLED number tests (#88582) 2023-03-05 19:49:01 -05:00
Franck Nijhof a0ff95cef8 Update pytest to 7.2.2 (#89179) 2023-03-05 19:47:52 -05:00
Franck Nijhof 74566258ba Update watchdog to 2.3.1 (#89190) 2023-03-05 19:47:31 -05:00
Franck Nijhof 570db2a0af Update sentry-sdk to 1.16.0 (#89193) 2023-03-05 19:47:19 -05:00
Franck Nijhof 3e1d9deb29 Update coverage to 7.2.1 (#89196) 2023-03-05 19:47:07 -05:00
Franck Nijhof 216864d8f0 Refactor WLED switch tests (#89197) 2023-03-05 19:46:53 -05:00
starkillerOG b14c5046e2 Reolink add select platform (#87946)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-05 23:43:58 +01:00
Ernst Klamer 497e3cf744 Bump bthome to 2.8.0 (#89192) 2023-03-05 23:35:48 +01:00
Franck Nijhof d9fc932253 Fix Tuya Python 3.11 compatibility issue (#89189) 2023-03-05 22:19:40 +01:00
Tucker Kern 37ec442ffb Use title case for Transmission status sensor (#88578
* Use title case for Transmission status sensor

* Use localizations for transmission status sensor

* Assign device class and options as requested by review.

* Don't use title case for entity names
2023-03-05 22:12:30 +01:00
starkillerOG c792631f15 Add Reolink siren platform (#88217)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-05 21:21:22 +01:00
starkillerOG b2c9208dd0 Reolink add switch platform (#87943)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-03-05 21:00:51 +01:00
Khole da100040a5 Hive add ability to delete device (#80838) 2023-03-05 20:43:33 +01:00
G Johansson f4cda2dfda Add device_class and state_class to sql (#85418) 2023-03-05 20:30:42 +01:00
Franck Nijhof 84402a9ae0 Remove deprecated Season YAML configuration (#89166)
* Remove deprecated Season YAML configuration

* Restore old title defaults
2023-03-05 17:07:32 +01:00
Jan Bouwhuis a9becd8e0e Raise ValueError on date parsing of MQTT sensor with invalid date format (#89036)
* Suppress ValueError on date parsing of MQTT sensor

* Simplify, but not update state on invalid payload

* Still raise an an invalid date

* Make datetime state unknown on invalid format

* remove unrelated added new line
2023-03-05 17:06:48 +01:00
Franck Nijhof 2fc2c2efbe Remove deprecated Moon YAML configuration (#89161)
* Remove deprecated Moon YAML configuration

* Restore old title defaults
2023-03-05 17:05:32 +01:00
Greg Dowling 7b54061ab7 Add repeat to roon media player (#88851) 2023-03-05 15:43:52 +01:00
Chris Talkington 2e1f6cad96 Detect newly connected clients in jellyfin (#89168) 2023-03-05 15:00:16 +01:00
Ben Morton 680f3c27a5 Add support for Spotify podcasts (#87671) 2023-03-05 14:02:38 +01:00
Andrew Westrope cc6721c06b Check type key of zone exists in geniushub (#86798)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-05 13:51:02 +01:00
Geoff b51dadbfe6 Update link to opencv in image_process log message (#89008) 2023-03-05 13:49:51 +01:00
Marc Mueller cf369ff1a5 Unpin pandas for Python 3.11 (#89033) 2023-03-05 13:40:10 +01:00
Felix Rotthowe 189c612100 Add support for Livisi PSSO, ISS and ISS2 switch devices (#89140) 2023-03-05 13:36:56 +01:00
Carlos Cristobal 3614114a8f Revert "Replace Fitbit weight SensorStateClass measurement with total" (#89126) 2023-03-05 13:36:25 +01:00
Greg Dowling 08b3945d9b Bump pyroon to 0.1.4 (#89124) 2023-03-05 13:35:32 +01:00
starkillerOG 3f7a58786f Bump reolink-aio to 0.5.3 (#89145) 2023-03-05 13:34:07 +01:00
starkillerOG 39db0ef173 Add Reolink button platform (#88687)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-05 13:01:10 +01:00
Mick Vleeshouwer 85618fd3cd Bump overkiz dependency to 1.7.7 (#89163) 2023-03-05 12:54:39 +01:00
gjong afd37c8a0a Bump youless api version to v1.0.1 (#89117) 2023-03-05 12:49:02 +01:00
J. Nick Koston 11681f3f31 Pass a helpful name when creating common asyncio tasks in core (#89171) 2023-03-05 12:46:02 +01:00
J. Nick Koston 927b43626c Bump aiodiscover to 1.4.14 (#89174) 2023-03-05 12:44:45 +01:00
Maciej Bieniek 6dc99d2ad8 Bump brother and pysnmplib backend libraries (#89100)
* Bump brother and pysnmplib

* Fix tests
2023-03-05 12:40:12 +01:00
Raman Gupta 62b0603b76 Bump pyvizio to 0.1.60 (#89160) 2023-03-05 01:03:36 -05:00
epenet ec0223f326 Cleanup plex config flow tests (#88991) 2023-03-05 05:38:26 +01:00
Franck Nijhof bfadc8453d Clean up import/migration repair in LaMetric (#89153) 2023-03-05 02:41:31 +01:00
Garrett 34f8e94ca9 Bump subarulink to 0.7.5 (#89162) 2023-03-04 22:26:16 +01:00
Franck Nijhof 5e2b7c6377 Refactor WLED diagnostic tests (#88581) 2023-03-04 15:09:47 +01:00
rappenze 2e5801cb6d Bump pyfibaro version to 0.6.9 (#89120) 2023-03-04 12:05:41 +01:00
Franck Nijhof bab758c951 Refactor WLED button tests (#88580) 2023-03-04 11:45:53 +01:00
Bob van de Vijver b27b094e27 Add day to event end to correct TwenteMilieu event timespan (#89028)
[TwenteMilieu] Add day to event end to correct event timespan

Co-authored-by: Allen Porter <allen@thebends.org>
2023-03-03 20:06:28 -08:00
J. Nick Koston 1bd9767d8c Handle InnoDB deadlocks during migration (#89073)
* Handle slow InnoDB rollback when encountering duplicates during migration

fixes #89069

* adjust

* fix mock

* tests

* return on success
2023-03-03 22:00:13 -05:00
Charles Garwood 1d9e8c873f Revert Intellifire breaking change from #88666 (#89110) 2023-03-03 17:16:12 +01:00
Felix Rotthowe 3a34f818e8 Refactor Livisi Switch and Climate to inherit from a common base class (#89085)
* Refactor Livisi entities to inherit from a common base class

* Add livisi_entity to .coveragerc

* Device location can be None

* Add use_room_as_device_name argument to constructor of LivisiEntity

When initializing, set entity name attribute only if device name differs (i.e. use_room_as_device_name=True).

* re-add comment for special handling of climate device names

* Add explicit type to constructur argument

* Make use_room_as_device_name a keyword only arg

* rename livisi_entity.py to entity.py

* change livisi_entity.py to entity.py in coveragerc

* Code quality improvements as suggested in PR

* sort .coveragerc

* fix isort issue

* fix all isort issues
2023-03-03 15:23:38 +01:00
Jeef 415190683f Updating Intellifire Naming scheme (#88666) 2023-03-03 09:04:27 -05:00
Stephan Uhle 9736fe1f99 Add missing Edl21 sensor 1-0:0.0.0*255 (#87389)
* Added missing sensor.

* OwnerShip entity is disabled by default.
2023-03-03 13:44:57 +01:00
epenet 0598417894 Enable ruff D404 (#89093) 2023-03-03 12:38:40 +01:00
epenet 9e6f869438 Set Protocol inheritance on EnergyPlatform (#89079) 2023-03-03 11:57:41 +01:00
epenet 699cc6c092 Adjust docstring on hassfest generated files (#89080) 2023-03-03 11:34:20 +01:00
epenet 4a3c0cd0a8 Adjust docstrings for ruff D404 (#89077) 2023-03-03 11:26:13 +01:00
Thibaut a5cf8210ae Move Cycle command from cover to button (#89043)
Declare Cycle command as a button
2023-03-03 08:38:07 +01:00
epenet 0f493d85c8 Adjust xiaomi_ble tests (#89078)
Adjust xiaomi_ble test docstrings
2023-03-03 08:32:23 +01:00
Emory Penney 1cb1dfa456 Add Obihai reboot button (#88849)
* Obihai: Add reboot service

* Switch to button

* Remove button.py from coverage

* Update homeassistant/components/obihai/const.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/button.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/button.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR Feedback

* Cleanup some typehints

* As a class attr

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-03 07:31:56 +01:00
Raman Gupta a689ce7283 Remove unused constant (#89071) 2023-03-02 23:21:40 -05:00
J. Nick Koston 48b93e03ee Cache transient templates compiles provided via api (#89065)
* Cache transient templates compiles provided via api

partially fixes #89047 (there is more going on here)

* add a bit more coverage just to be sure

* switch method

* Revert "switch method"

This reverts commit 0e9e1c8cbe.

* tweak

* hold hass

* empty for github flakey
2023-03-02 21:31:12 -05:00
Guy Martin 7365522d1f Add matching on quirk_classes to zha (#87653)
* Add matching on quirk_classes.

* Add and fix tests for matching on quirk_classes.

* Black fix.

* Add a unit test to validate quirk classes.
2023-03-02 19:43:11 -05:00
Paulus Schoutsen f0f12fd14a 2023.3.1 (#89059) 2023-03-02 15:53:50 -05:00
Mitch 1836e35717 Bump nuheat to 1.0.1 (#88958) 2023-03-02 15:15:15 -05:00
Paulus Schoutsen 4eb55146be Bumped version to 2023.3.1 2023-03-02 14:22:23 -05:00
Jan Bouwhuis b1ee6e304e Fix check on non numeric custom sensor device classes (#89052)
* Custom device classes are not numeric

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Add test

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-02 14:22:12 -05:00
Paul Bottein d0b195516b Update frontend to 20230302.0 (#89042) 2023-03-02 14:22:11 -05:00
Franck Nijhof a867f1d3c8 Update orjson to 3.8.7 (#89037) 2023-03-02 14:22:09 -05:00
Matthias Alphart f7eaeb7a39 Fix KNX Keyfile upload (#89029)
* Fix KNX Keyfile upload

* use shutil.move instead
2023-03-02 14:22:08 -05:00
Erik Montnemery 3e961d3e17 Bump py-dormakaba-dkey to 1.0.4 (#88992) 2023-03-02 14:22:07 -05:00
Mitch c28e16fa8b Bump requests to 2.28.2 (#88956)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-02 14:22:06 -05:00
Toni Juvani e2e8d74aa6 Update pyTibber to 0.27.0 (#86940)
* Update pyTibber to 0.27.0

* Handle new exceptions
2023-03-02 14:22:05 -05:00
Jan Bouwhuis 8968ed1c47 Fix check on non numeric custom sensor device classes (#89052)
* Custom device classes are not numeric

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Add test

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-02 14:20:26 -05:00
epenet 5cab63c5b8 Fix lingering task in debounce tests (#89019)
* Fix lingering task in debounce tests

* Correct fix

* Use async_fire_time_changed
2023-03-02 13:01:50 -05:00
epenet eebcf70b41 Re-enable Ruff D411 (#89035) 2023-03-02 13:01:05 -05:00
Matthias Alphart e849878a48 Fix KNX Keyfile upload (#89029)
* Fix KNX Keyfile upload

* use shutil.move instead
2023-03-02 10:13:02 -05:00
Toni Juvani f69aa7ad9d Update pyTibber to 0.27.0 (#86940)
* Update pyTibber to 0.27.0

* Handle new exceptions
2023-03-02 10:11:34 -05:00
Paul Bottein fd4d79d24c Update frontend to 20230302.0 (#89042) 2023-03-02 10:10:26 -05:00
Franck Nijhof ec32b934a5 Update orjson to 3.8.7 (#89037) 2023-03-02 09:40:46 -05:00
Xavier Decuyper 1efc33d4c6 Nuki: show actual device model in device registry (#89017)
* Bump pynuki to 1.6.1 (adds friendly device model names)

* Nuki: use friendly model name for device registry

* Update global dependencies
2023-03-02 13:40:22 +01:00
Brett Adams e5fc2d3f78 Add Turn On and Turn Off for Advantage Air climate platform (#88684)
* Added Climate On and Climate Off

* Add Tests

* Fix off and on in zone

* Add test assertions for zone HVAC mode
2023-03-02 13:13:31 +01:00
Erik Montnemery 28e8fae280 Fix flaky energy tests (#89026) 2023-03-02 12:33:04 +01:00
Erik Montnemery aa92d05317 Bump py-dormakaba-dkey to 1.0.4 (#88992) 2023-03-01 21:07:12 -05:00
Franck Nijhof 19c08bfdd5 Refactor WLED binary sensor test (#88579) 2023-03-01 23:44:12 +01:00
Stephan Uhle adb0455bd2 Add config flow to EDL21 (#87655)
* Added config_flow for edl21.

* Added already_configured check.

* Added config_flow test

* Added setup of the edl21 from configuration.yaml

* Ran script.gen_requirements_all

* Removed the generated translation file.

* Added a deprecation warning when importing from configuration.yaml.

* Readded the platform schema.

* Added handling of optional name for legacy configuration.

* Fixed handling of default value in legacy configuration.

* Added duplication check entries created via legacy config.

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Apply suggestions from code review

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-01 21:19:20 +01:00
Franck Nijhof 8a9fbd650a 2023.3.0 (#88979) 2023-03-01 19:53:46 +01:00
J. Nick Koston 07839cc971 Bump ulid-transform to 0.4.0 (#88982)
changelog: https://github.com/bdraco/ulid-transform/compare/v0.3.1...v0.4.0
2023-03-01 13:35:53 -05:00
Jan Bouwhuis ae04c5d773 Clean up unused and deprecated TLS version setting on MQTT client (#88674)
* Cleanup CONF_TLS_VERSION remains

* Fix diagnostics tests
2023-03-01 18:42:34 +01:00
epenet bdbec491eb Enable RUFF ICN001 for registries (#88875)
* Add issue_registry to RUFF extend aliases

* Add area_registry to RUFF extend aliases

* Add device_registry to RUFF extend aliases

* Add entity_registry to RUFF extend aliases

* Adjust scaffold
2023-03-01 12:40:26 -05:00
Paulus Schoutsen 3f32c5d2ad Yaml use dict (#88977)
* Use built-in dict instead of OrderedDict

* Use dict instead of OrderedDict in YAML
2023-03-01 12:29:57 -05:00
Erik Montnemery 243725efe3 Tweak OTBR tests (#88839) 2023-03-01 17:53:38 +01:00
Franck Nijhof 8d59489da8 Bumped version to 2023.3.0 2023-03-01 17:25:44 +01:00
Stefan Agner c146413a1a Add Home Assistant with space as brand (#88976) 2023-03-01 17:25:08 +01:00
Bram Kragten a46d63a11b Update frontend to 20230301.0 (#88975) 2023-03-01 17:25:05 +01:00
mkmer db4f6fb94d Bump Aiosomecomfort to 0.0.11 (#88970) 2023-03-01 17:25:01 +01:00
Erik Montnemery c50c920589 Revert "Add state_class = MEASUREMENT to Derivative sensor (#88408)" (#88952) 2023-03-01 17:24:56 +01:00
starkillerOG fe22aa0b4b Motion Blinds DHCP restrict (#88919)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-01 17:23:00 +01:00
Aaron Godfrey a0162e4986 Fix todoist filtering custom projects by labels (#87904)
* Fix filtering custom projects by labels.

* Don't lowercase the label.

* Labels are case-sensitive, don't lowercase them.
2023-03-01 17:22:56 +01:00
RogerSelwyn 62c5cf51f5 Fix geniushub heating hvac action (#87531) 2023-03-01 17:22:53 +01:00
Frédéric Guardia 89aebba3ab Fix Google Assistant temperature attribute (#85921) 2023-03-01 17:22:48 +01:00
Bram Kragten 89c276bb6b Update frontend to 20230301.0 (#88975) 2023-03-01 11:12:37 -05:00
Stefan Agner b607a09e4b Add Home Assistant with space as brand (#88976) 2023-03-01 17:10:19 +01:00
epenet ee78864b05 Adjust entity registry access in homekit tests (#88959) 2023-03-01 16:54:00 +01:00
Erik Montnemery 3818e318db Improve threshold binary sensor tests (#88972) 2023-03-01 16:53:42 +01:00
Erik Montnemery 12933353b2 Drop codeowner from threshold integration (#88973) 2023-03-01 16:46:19 +01:00
Emory Penney 137d2f0d73 Obihai config flow fixes (#88853)
* Commit split issue

* Clearer name

* Add yaml_failure test case

* Not sure why this is failing now

* Update homeassistant/components/obihai/strings.json

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR Feedback

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-03-01 16:33:32 +01:00
Maciej Bieniek 79bcdf43f7 Add current sensor for Shelly RPC devices (#88863) 2023-03-01 16:26:20 +01:00
epenet b84eead3f8 Adjust entity registry access in helper tests (#88965) 2023-03-01 16:24:31 +01:00
epenet d65dff3f9e Adjust entity registry access in tests (2) (#88960) 2023-03-01 16:23:36 +01:00
Erik Montnemery 09f1c2318d Disable gc in-between energy sensor tests (#88593) 2023-03-01 16:21:11 +01:00
mkmer 54de16875d Bump Aiosomecomfort to 0.0.11 (#88970) 2023-03-01 16:19:46 +01:00
Mitch 341d046ba7 Bump requests to 2.28.2 (#88956)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-01 16:17:55 +01:00
starkillerOG eae12bd48d Motion Blinds DHCP restrict (#88919)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-03-01 16:16:04 +01:00
epenet b94dffb7d3 Add missing mock in esphome tests (#88923) 2023-03-01 16:11:21 +01:00
epenet 9762b684c2 Adjust entity registry access in tests (3) (#88964) 2023-03-01 16:04:40 +01:00
epenet 23cdafd12f Use UnitOfVolumeFlowRate in huisbaasje and plugwise (#88967) 2023-03-01 15:26:39 +01:00
Thibaut 0c66346fb0 Add dynamic unit of measurement support for Overkiz sensor (#80490)
* Add dynamic unit support

* Import all units

* Fix typing

* Add fallback to CORE_ELECTRIC_POWER_CONSUMPTION_STATE_MEASURED_VALUE_TYPE

* Fix rebase

* Give priority to the more accurate attribute

* Don’t use hardcoded seconds unit

* Don’t change SensorDescription

* Rework comment
2023-03-01 13:46:26 +01:00
Frédéric Guardia 85f2693353 Fix Google Assistant temperature attribute (#85921) 2023-03-01 12:54:07 +01:00
RogerSelwyn b75879194d Fix geniushub heating hvac action (#87531) 2023-03-01 12:34:41 +01:00
Aaron Godfrey ab9bd5c29e Fix todoist filtering custom projects by labels (#87904)
* Fix filtering custom projects by labels.

* Don't lowercase the label.

* Labels are case-sensitive, don't lowercase them.
2023-03-01 12:01:54 +01:00
Mitch 42a69566ac Bump nuheat to 1.0.1 (#88958) 2023-03-01 11:39:14 +01:00
Erik Montnemery fca5cc6ea3 Add number + sensor device class volume storage (#88312)
* Add number + sensor device class volume storage

* Fix typo

* Format code

* Update device automations
2023-03-01 11:22:57 +01:00
Erik Montnemery 29b049fc57 Don't create new venv if script/setup is run from within a venv (#88906) 2023-03-01 11:11:29 +01:00
epenet 6febe00516 Fix lingering task in entity_platform test (#88957)
* Fix lingering task in entity_platform test

* Speed up the test
2023-03-01 10:49:13 +01:00
epenet ed3cdd8fb9 Fix lingering task in timeout test (#88953) 2023-03-01 09:42:55 +01:00
epenet 1fa3f32474 Add missing mock in notion tests (#88951) 2023-03-01 09:41:55 +01:00
epenet 853bd52a22 Adjust entity registry access in tests (1) (#88950) 2023-03-01 09:11:14 +01:00
J. Nick Koston 202bed5d51 Fix lingering reload task in notion reauth (#88949)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-01 09:07:46 +01:00
Erik Montnemery 9ab95b6348 Revert "Add state_class = MEASUREMENT to Derivative sensor (#88408)" (#88952) 2023-03-01 08:53:05 +01:00
epenet 42b74e7f56 Adjust entity registry access in integrations (3) (#88948) 2023-03-01 08:24:56 +01:00
epenet f69d76702a Adjust entity registry access in integrations (2) (#88947) 2023-03-01 08:02:51 +01:00
epenet b3d6f098d2 Adjust entity registry access in integrations (1) (#88946) 2023-03-01 08:02:34 +01:00
epenet f2b736fad0 Adjust entity registry access in core platforms (#88944)
* Adjust entity registry access in platforms

* Adjust more core components
2023-03-01 08:02:16 +01:00
epenet 50f908ce2d Use load_json_object in fitbit (#88585)
* Use load_json_object in fitbit

* Remove unnecessary cast
2023-03-01 07:44:29 +01:00
epenet 95dd62186e Use json_loads_object in arwn (#88611) 2023-03-01 07:43:33 +01:00
Marius Stedjan 9fc6700c5a Add ZWaveDiscoverySchema for Merten 507801 (#88342)
* Add ZWaveDiscoverySchema for Merten 507801

* Add discovery tests to Merten 507801 z-wave device

* Add Z-Wave discovery schemas for Merten 507801 to disable endpoint 2 by default

* Add more discovery tests for Merten 507801 z-wave device
2023-03-01 00:47:47 -05:00
Paulus Schoutsen 6c73b9024b Bumped version to 2023.3.0b7 2023-02-28 22:18:39 -05:00
Michael Hansen 59a9ace171 Update intent sentences package (#88933)
* Actually use translated state names in response

* Change test result now that locks are excluded from HassTurnOn

* Bump home-assistant-intents and hassil versions
2023-02-28 22:18:32 -05:00
PatrickGlesner e751948bc8 Update Tado services.yaml defaults (#88929)
Update services.yaml

Deletes default values in 'time_period' and 'requested_overlay' fields in 'set_climate_timer'.
2023-02-28 22:18:31 -05:00
djtimca 702646427d Bump auroranoaa to 0.0.3 (#88927)
* Bump aurora_api version to fix issues with NOAA conversion values. Fix #82587

* update requirements for aurora.

* Add state_class to aurora sensor.

* Fixed environment to run requirements_all script.

* Revert "Add state_class to aurora sensor."

This reverts commit 213e21e842.
2023-02-28 22:18:30 -05:00
Tom Harris 8a605b1377 Bump pyinsteon to 1.3.3 (#88925)
Bump pyinsteon
2023-02-28 22:18:29 -05:00
Erik Montnemery 8eb8415d3f Bump py-dormakaba-dkey to 1.0.3 (#88924)
* Bump py-dormakaba-dkey to 1.0.3

* Log unexpected errors in config flow
2023-02-28 22:18:28 -05:00
Volker Stolz 9f3f71d0c3 Introduce a UUID configuration option for API token (#88765)
* Introduce a UUID configuration option for API token. (#86547)

If the uuid is configured, it will be used in the HTTP headers. Otherwise,
we'll hash the salted instance URL which should be good enough(tm).

* Generate random 6-digit uuid on startup.
2023-02-28 22:18:28 -05:00
Chuck Deal 09d0128601 Add diagnostics to VeSync (#86350)
* Add diagnostics to VeSync

* Create unit tests for diagnostics and init

* Improved diagnostic test coverage

* Peer review fixes

* Fixed Peer Review comments

* Updated based on Peer Review

* Additional diagnostic redactions

* Removed account_id from diagnostic output
2023-02-28 22:12:48 -05:00
PatrickGlesner 5b49648846 Update Tado services.yaml defaults (#88929)
Update services.yaml

Deletes default values in 'time_period' and 'requested_overlay' fields in 'set_climate_timer'.
2023-02-28 22:02:52 -05:00
epenet 3e8716b37e Adjust AddEntitiesCallback import (part 2) (#88873) 2023-02-28 22:01:36 -05:00
epenet c724e7c29f Adjust registry access in openai_conversation (#88882) 2023-02-28 21:59:44 -05:00
epenet 246f9784c8 Adjust registry access in Google Assistant (#88883) 2023-02-28 21:59:26 -05:00
epenet ee781e4f49 Adjust registry access in scripts (#88884) 2023-02-28 21:58:47 -05:00
epenet 54f709f704 Adjust registry access in intent (#88881) 2023-02-28 21:58:19 -05:00
epenet 1bed5c7775 Adjust registry access in tests root (#88880) 2023-02-28 21:56:46 -05:00
epenet 0e4c32efe2 Adjust registry access in conversation (#88879) 2023-02-28 21:56:18 -05:00
epenet 6ab0b2751d Adjust issue_registry imports (#88878)
* Add issue_registry to RUFF extend aliases

* Adjust code accordingly

* Revert "Add issue_registry to RUFF extend aliases"

This reverts commit 4e73dd567b.

* Revert changes to common.py
2023-02-28 21:55:44 -05:00
Volker Stolz 86acc4262e Introduce a UUID configuration option for API token (#88765)
* Introduce a UUID configuration option for API token. (#86547)

If the uuid is configured, it will be used in the HTTP headers. Otherwise,
we'll hash the salted instance URL which should be good enough(tm).

* Generate random 6-digit uuid on startup.
2023-02-28 21:52:45 -05:00
Erik Montnemery 39f5f0946e Store source entity in switch_as_x entity options (#88914) 2023-02-28 21:15:44 -05:00
J. Nick Koston 8f6cfc25c0 Use ulid-transform for constructing ulids (#88939)
* Use ulid-transform for constructing ulids

A future PR will use the new library to reduce the storage
overhead of ulids in the database

* tweak

* tweak

* bump
2023-02-28 21:09:47 -05:00
Michael Hansen e0bdb3ecc3 Update intent sentences package (#88933)
* Actually use translated state names in response

* Change test result now that locks are excluded from HassTurnOn

* Bump home-assistant-intents and hassil versions
2023-02-28 21:07:18 -05:00
djtimca c5e39f7039 Add state class to Aurora (#88938)
* Bump aurora_api version to fix issues with NOAA conversion values. Fix #82587

* update requirements for aurora.

* Add state_class to aurora sensor.

* Fixed environment to run requirements_all script.

* Revert "Add state_class to aurora sensor."

This reverts commit 213e21e842.

* Add state class to aurora sensor.

* Revert "Fixed environment to run requirements_all script."

This reverts commit f3f624226e.

* Revert "update requirements for aurora."

This reverts commit a3546ad88d.

* Revert "Bump aurora_api version to fix issues with NOAA conversion values. Fix #82587"

This reverts commit faf3ba7b5b.

* Move state class to _attr_state_class.
2023-02-28 23:47:29 +01:00
djtimca dccd3e277e Bump auroranoaa to 0.0.3 (#88927)
* Bump aurora_api version to fix issues with NOAA conversion values. Fix #82587

* update requirements for aurora.

* Add state_class to aurora sensor.

* Fixed environment to run requirements_all script.

* Revert "Add state_class to aurora sensor."

This reverts commit 213e21e842.
2023-02-28 23:33:05 +01:00
Tom Harris 47a3c27c9a Bump pyinsteon to 1.3.3 (#88925)
Bump pyinsteon
2023-02-28 15:34:07 -05:00
Erik Montnemery ad55a5db11 Bump py-dormakaba-dkey to 1.0.3 (#88924)
* Bump py-dormakaba-dkey to 1.0.3

* Log unexpected errors in config flow
2023-02-28 15:33:50 -05:00
Erik Montnemery 69ce6980d6 Add number + sensor device class energy storage (#88310)
* Add number + sensor device class energy storage

* Format code

* Update device automations
2023-02-28 19:35:43 +01:00
Paulus Schoutsen b82da9418d Bumped version to 2023.3.0b6 2023-02-28 12:13:24 -05:00
Erik Montnemery 38cf725075 Fix Dormakaba dKey binary sensor (#88922) 2023-02-28 12:12:52 -05:00
Franck Nijhof 04cedab8d4 Small improvements to middleware filter (#88921)
Small improvements middleware filter
2023-02-28 12:12:51 -05:00
Erik Montnemery 2238a3f201 Reset state of template cover on error (#88915) 2023-02-28 12:12:50 -05:00
Marcel van der Veldt f58ca17926 Bump aiohue library to version 4.6.2 (#88907)
* Bump aiohue library to 4.6.2

* Fix long press (fixed in aiohue lib)

* fix test
2023-02-28 12:12:48 -05:00
Marcel van der Veldt d5e517b874 Do not create Area for Hue zones (#88904)
Do not create HA area for Hue zones
2023-02-28 12:12:47 -05:00
Bram Kragten f9eeb4f4d8 Fix string for OTBR config flow abort (#88902) 2023-02-28 12:12:46 -05:00
Marcel van der Veldt 86d5e4aaa8 Fix removal of non device-bound resources in Hue (#88897)
Fix removal of non device-bound resources (like entertainment areas)
2023-02-28 12:12:45 -05:00
b-uwe a56935ed7c Add virtual integration for HELTUN (#88892) 2023-02-28 12:12:44 -05:00
Erik Montnemery fc56c958c3 Only allow channel 15 during configuration of OTBR (#88874)
* Only allow channel 15 during automatic configuration of OTBR

* Also force channel 15 when creating a new network
2023-02-28 12:12:43 -05:00
Erik Montnemery a8e1dc8962 Create repairs issue if Thread network is insecure (#88888)
* Bump python-otbr-api to 1.0.5

* Create repairs issue if Thread network is insecure

* Address review comments
2023-02-28 12:12:11 -05:00
Erik Montnemery 32b138b6c6 Add WS API for creating a Thread network (#88830)
* Add WS API for creating a Thread network

* Add tests
2023-02-28 12:11:14 -05:00
b-uwe c444e1c860 Add virtual integration for HELTUN (#88892) 2023-02-28 18:09:52 +01:00
Erik Montnemery 2112c66804 Add confirm step to thread zeroconf flow (#88869)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-28 12:08:18 -05:00
Franck Nijhof 95ed6fbc08 Small improvements to middleware filter (#88921)
Small improvements middleware filter
2023-02-28 12:07:17 -05:00
Erik Montnemery 8321443193 Fix Dormakaba dKey binary sensor (#88922) 2023-02-28 12:07:01 -05:00
Erik Montnemery 7bfc7f134c Reset state of template cover on error (#88915) 2023-02-28 12:06:40 -05:00
epenet ac6bbc2f1c Add missing mock in webostv config flow tests (#88913) 2023-02-28 12:04:40 -05:00
epenet ee144d34a9 Adjust core test to avoid lingering task (#88918) 2023-02-28 12:03:36 -05:00
Marcel van der Veldt 36e6a879ad Bump aiohue library to version 4.6.2 (#88907)
* Bump aiohue library to 4.6.2

* Fix long press (fixed in aiohue lib)

* fix test
2023-02-28 11:53:15 -05:00
Erik Montnemery c38df1102a Fix typo in thread (#88916) 2023-02-28 11:34:46 -05:00
Erik Montnemery f93bd8ef2c Only allow channel 15 during configuration of OTBR (#88874)
* Only allow channel 15 during automatic configuration of OTBR

* Also force channel 15 when creating a new network
2023-02-28 11:08:45 -05:00
Marcel van der Veldt e74613f8be Fix removal of non device-bound resources in Hue (#88897)
Fix removal of non device-bound resources (like entertainment areas)
2023-02-28 11:04:10 -05:00
Erik Montnemery 390daf1723 Sort unit lists sent to frontend (#88898) 2023-02-28 16:12:49 +01:00
Marcel van der Veldt a2a23564a4 Do not create Area for Hue zones (#88904)
Do not create HA area for Hue zones
2023-02-28 09:50:00 -05:00
Bram Kragten e3e4b44958 Fix string for OTBR config flow abort (#88902) 2023-02-28 15:02:40 +01:00
epenet 7b5c978b95 Add missing mock in overkiz config flow tests (#88899) 2023-02-28 08:59:48 -05:00
Felix Rotthowe 1c4aa26ab6 Add myself to codeowners of Livisi integration (#88900)
Add @planbnet to codeowners of Livisi integration
2023-02-28 14:48:13 +01:00
Erik Montnemery f41bec6ba9 Create repairs issue if Thread network is insecure (#88888)
* Bump python-otbr-api to 1.0.5

* Create repairs issue if Thread network is insecure

* Address review comments
2023-02-28 13:50:56 +01:00
Felix Rotthowe 4d58c9de8d Add human readable name for Livisi climate devices (#88891)
* Add human readable climate device name

* Remove room name from entity name and set "has_entity_name"
2023-02-28 13:08:52 +01:00
Erik Montnemery b6f66b3568 Add WS command weather/convertible_units (#85681) 2023-02-28 11:35:47 +01:00
Jan Bouwhuis 4e66554298 Also set hass.config_entries when mock_hass_config fixture is used (#88669)
* Set `hass.config_entries` with `mock_hass_config`

* Update tests/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-28 11:14:04 +01:00
rodriguestiago0 bef5fde832 Add stop charge button to renault integration (#88003)
* Added service to start/stop charge

* Remove comment

* Fixed service

* removed service for start/stop charge

* Remove version

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Format

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Revert change

* Fix lint

* Add tests

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-28 10:28:44 +01:00
Erik Montnemery d397217b5b Add confirm step to thread zeroconf flow (#88869)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-28 10:23:36 +01:00
epenet d2ea773e7f Adjust AddEntitiesCallback import (part 1) (#88870)
Adjust AddEntitiesCallback import
2023-02-28 08:54:05 +01:00
Diogo Gomes 07c25b3dd8 Prosegur late review comments (#88859)
* address late comments on #76428

* adress review

* extra tweaks
2023-02-28 08:16:22 +01:00
Paulus Schoutsen 72c0526d87 Bumped version to 2023.3.0b5 2023-02-27 20:58:22 -05:00
Matthias Alphart 9ed4e01e94 Update xknx to 2.6.0 (#88864) 2023-02-27 20:58:11 -05:00
Paul Bottein dcf1ecfeb5 Update frontend to 20230227.0 (#88857) 2023-02-27 20:58:10 -05:00
Klaas Schoute b72224ceff Bump odp-amsterdam to v5.1.0 (#88847) 2023-02-27 20:58:09 -05:00
Erik Montnemery 96ad5c9666 Add thread user flow (#88842) 2023-02-27 20:58:09 -05:00
Erik Montnemery 00b59c142a Fix sensor unit conversion bug (#88825)
* Fix sensor unit conversion bug

* Ensure the correct unit is stored in the entity registry
2023-02-27 20:58:08 -05:00
Michael Davie b054c81e13 Bump env_canada to 0.5.29 (#88821) 2023-02-27 20:58:07 -05:00
puddly b0cbcad440 Bump ZHA dependencies (#88799)
* Bump ZHA dependencies

* Use `importlib.metadata.version` to get package versions
2023-02-27 20:58:06 -05:00
stickpin bafe552af6 Upgrade caldav to 1.2.0 (#88791) 2023-02-27 20:58:05 -05:00
stickpin d399855e50 Upgrade caldav to 1.1.3 (#88681)
* Update caldav to 1.1.3

* update caldav to 1.1.3

* update caldav to 1.1.3

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2023-02-27 20:58:03 -05:00
mkmer d26f430766 Bump aiosomecomfort to 0.0.10 (#88766) 2023-02-27 20:56:46 -05:00
Erik Montnemery f2e4943a53 Catch CancelledError when setting up components (#88635)
* Catch CancelledError when setting up components

* Catch CancelledError when setting up components

* Also catch SystemExit
2023-02-27 20:56:45 -05:00
Bouwe Westerdijk 6512cd901f Correct Plugwise gas_consumed_interval sensor (#87449)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-27 20:56:45 -05:00
Matthias Alphart 7b3cab1bfe Update xknx to 2.6.0 (#88864) 2023-02-28 00:22:22 +01:00
Paul Bottein c096ef3fce Update frontend to 20230227.0 (#88857) 2023-02-28 00:20:40 +01:00
Emory Penney 9fed4472f1 Adding Obihai codeowner (#88856)
Obihai: Adding codeowner
2023-02-27 22:29:51 +01:00
puddly 7a5a882687 Bump ZHA dependencies (#88799)
* Bump ZHA dependencies

* Use `importlib.metadata.version` to get package versions
2023-02-27 15:07:57 -05:00
Klaas Schoute 73c7ee4326 Bump odp-amsterdam to v5.1.0 (#88847) 2023-02-27 18:45:29 +01:00
Mick Vleeshouwer 79f96fe900 Support ValveHeatingTemperatureInterface in Overkiz integration (#88804)
* Add ValveHeatingTemperatureInterface support

* Update presets

* Bugfix

* Bugfixes

* Bugfix

* Update manifest

* Apply feedback

* Sort alphabetically

* Update homeassistant/components/overkiz/climate_entities/valve_heating_temperature_interface.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 17:25:02 +01:00
Mick Vleeshouwer 7cc8712a0c Change string to enum in SomfyThermostat (#88813) 2023-02-27 17:24:02 +01:00
Emory Penney 0e8d28dab0 Add Config Flow to Obihai (#88627)
* Obihai: Config Flow Only

* Remove reboot service

* Update .coveragerc

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR Feedback

* Use Issue Registry

* Add config_flow tests

* Another pass with pre-commit

* Resolve cyclical import and move sensorClasses to sensor

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Another round of feedback

* More PR feedback

* Offline testing, already_configured is required

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Cleanup

* Update homeassistant/components/obihai/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* PR feedback

* Backout today's changes: Fix mypy error

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/components/obihai/test_config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Don't plan ahead

* PR feedback

* Update homeassistant/components/obihai/config_flow.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Cleanup strings

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 17:22:15 +01:00
StefanIacobLivisi fd87748b99 LIVISI climate device improvement (#88844)
Code review follow-up
2023-02-27 17:20:10 +01:00
Ernst Klamer 00954dfc1f Add gas sensor to BTHome (#88770)
* Bump bthome

* Add gas sensor
2023-02-27 10:40:08 -05:00
Paul Bottein e95944bf9f Add filter options to entity and device selectors (#87536)
* Add support for multiple device classes

* Add support for entity filter selector

* Add support for device filter selector

* Apply suggestions

* Fix wrong property name

* Update snapshot

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-27 10:38:18 -05:00
avee87 ac70612ec5 Improve helper integration scaffold (#88713) 2023-02-27 16:25:27 +01:00
epenet 7419a92a1b Cleanup YAML import in aladdin_connect (#88694) 2023-02-27 16:20:01 +01:00
Erik Montnemery ff4de8cd06 Add WS API for creating a Thread network (#88830)
* Add WS API for creating a Thread network

* Add tests
2023-02-27 10:19:13 -05:00
Bouwe Westerdijk bdb9994b7e Correct Plugwise gas_consumed_interval sensor (#87449)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-27 16:17:57 +01:00
Paulus Schoutsen 2dcc2f88cc Use snapshots in blueprint import tests (#88843) 2023-02-27 09:57:26 -05:00
Erik Montnemery db1dd16ab0 Add thread user flow (#88842) 2023-02-27 15:30:04 +01:00
Erik Montnemery 2c2489284b Catch CancelledError when setting up components (#88635)
* Catch CancelledError when setting up components

* Catch CancelledError when setting up components

* Also catch SystemExit
2023-02-27 09:29:14 -05:00
epenet 198ebaff6e Add missing mock in abode config flow tests (#88828) 2023-02-27 14:03:51 +01:00
epenet 5cc9e7fedd Add missing mock in cert_expiry config flow tests (#88835) 2023-02-27 14:01:53 +01:00
epenet 76819fbb23 Add missing mock in brunt config flow tests (#88834) 2023-02-27 14:01:09 +01:00
Erik Montnemery aeb6c4f078 Tweak OTBR tests (#88839) 2023-02-27 13:59:16 +01:00
Jan Bouwhuis b25f6e3ffc Prepare for refactoring of MQTT related tests (#88557)
* Update mqtt_mock

* Tests manual_mqtt

* Tests mqtt_json

* Tests mqtt_room
2023-02-27 13:54:56 +01:00
mkmer b542f6b3ac Bump aiosomecomfort to 0.0.10 (#88766) 2023-02-27 13:48:23 +01:00
landaisbenj a8d587bc53 Add state_class to qbittorent sensors (#88829)
Update Sensor.py on qbittorent integration

Add stat class fonctionnality to sensor speed.
2023-02-27 11:52:07 +01:00
Erik Montnemery fe8f3602ff Fix sensor unit conversion bug (#88825)
* Fix sensor unit conversion bug

* Ensure the correct unit is stored in the entity registry
2023-02-27 11:46:55 +01:00
stickpin 735000475a Upgrade caldav to 1.2.0 (#88791) 2023-02-27 11:29:46 +01:00
Michael Davie ae3e8746f7 Bump env_canada to 0.5.29 (#88821) 2023-02-27 11:19:29 +01:00
StefanIacobLivisi 10bf910f88 Add support for LIVISI climate devices (#86691)
* Add support for LIVISI climate devices

* Remove the reauthentication logic

* Add support for LIVISI climate devices

* Remove the reauthentication support

* Code review follow-up

* Update homeassistant/components/livisi/manifest.json

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/livisi/manifest.json

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Code review follow-up

* Code Review Follow-up

* Code Review Follow-up

* Code review follow-up

* Code review follow-up

* Code review follow-up

* Code review follow-up

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-27 10:38:52 +01:00
dependabot[bot] b7846de311 Bump actions/setup-python from 4.3.0 to 4.5.0 (#88823)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.3.0 to 4.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.3.0...v4.5.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 09:30:33 +01:00
dependabot[bot] 66b33e1090 Bump actions/checkout from 3.1.0 to 3.3.0 (#88824)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.1.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.1.0...v3.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-27 08:41:23 +01:00
Mick Vleeshouwer 4fd7ca503f Bump pyoverkiz to 1.7.6 (#88808) 2023-02-27 08:09:45 +01:00
Mick Vleeshouwer 33466cdddd Add climate state translations to Overkiz integration (#88809)
Add climate translations
2023-02-27 07:45:53 +01:00
Paulus Schoutsen 0d25eef19c Use a background task for LIFX discovery (#88820) 2023-02-26 22:42:17 -05:00
Paulus Schoutsen fbe1524f6c Bumped version to 2023.3.0b4 2023-02-26 22:37:34 -05:00
J. Nick Koston 95e337277c Avoid starting a bluetooth poll when Home Assistant is stopping (#88819)
* Avoid starting a bluetooth poll when Home Assistant is stopping

* tests
2023-02-26 22:37:26 -05:00
J. Nick Koston 1503674bd6 Prevent integrations from retrying setup once shutdown has started (#88818)
* Prevent integrations from retrying setup once shutdown has started

* coverage
2023-02-26 22:37:25 -05:00
J. Nick Koston ab6bd75b70 Fix flux_led discovery running at shutdown (#88817) 2023-02-26 22:37:24 -05:00
J. Nick Koston 2fff836bd4 Fix lock services not removing entity fields (#88805) 2023-02-26 22:37:23 -05:00
J. Nick Koston d8850758f1 Fix unifiprotect discovery running at shutdown (#88802)
* Fix unifiprotect discovery running at shutdown

Move the discovery start into `async_setup` so we only
start discovery once reguardless of how many config entries
for unifiprotect they have (or how many times they reload).

Always make discovery a background task so it does not get
to block shutdown

* missing decorator
2023-02-26 22:37:22 -05:00
J. Nick Koston 0449856064 Bump yalexs-ble to 2.0.4 (#88798)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.0.3...v2.0.4
2023-02-26 22:37:21 -05:00
starkillerOG e48089e0c9 Do not block on reolink firmware check fail (#88797)
Do not block on firmware check fail
2023-02-26 22:37:20 -05:00
starkillerOG a7e081f70d Simplify reolink update unique_id (#88794)
simplify unique_id
2023-02-26 22:37:19 -05:00
Paulus Schoutsen fe181425d8 Check circular dependencies (#88778) 2023-02-26 22:37:18 -05:00
Joakim Plate 8c7b29db25 Update nibe library to 2.0.0 (#88769) 2023-02-26 22:37:17 -05:00
J. Nick Koston aaa5bb9f86 Fix checking if a package is installed on py3.11 (#88768)
pkg_resources is abandoned and we need to move away
from using it https://github.com/pypa/pkg_resources

In the mean time we need to keep it working. This fixes
a new exception in py3.11 when a module is not installed
which allows proper fallback to pkg_resources.Requirement.parse
when needed

```
2023-02-25 15:46:21.101 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/view.py", line 146, in handle
    result = await result
             ^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/config/config_entries.py", line 148, in post
    return await super().post(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/helpers/data_entry_flow.py", line 71, in post
    result = await self._flow_mgr.async_init(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 826, in async_init
    flow, result = await task
                   ^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 844, in _async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 950, in async_create_flow
    await async_process_deps_reqs(self.hass, self._hass_config, integration)
  File "/Users/bdraco/home-assistant/homeassistant/setup.py", line 384, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 52, in async_get_integration_with_requirements
    return await manager.async_get_integration_with_requirements(domain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 171, in async_get_integration_with_requirements
    await self._async_process_integration(integration, done)
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 186, in _async_process_integration
    await self.async_process_requirements(
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 252, in async_process_requirements
    await self._async_process_requirements(name, missing)
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 284, in _async_process_requirements
    installed, failures = await self.hass.async_add_executor_job(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 113, in _install_requirements_if_missing
    if pkg_util.is_installed(req) or _install_with_retry(req, kwargs):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/util/package.py", line 40, in is_installed
    pkg_resources.get_distribution(package)
  File "/opt/homebrew/lib/python3.11/site-packages/pkg_resources/__init__.py", line 478, in get_distribution
    dist = get_provider(dist)
           ^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/pkg_resources/__init__.py", line 354, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
                                            ~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
``
2023-02-26 22:37:17 -05:00
J. Nick Koston 5b78e0c4ff Restore previous behavior of only waiting for new tasks at shutdown (#88740)
* Restore previous behavior of only waiting for new tasks at shutdown

* cleanup

* do a swap instead

* await canceled tasks

* await canceled tasks

* fix

* not needed since we no longer clear

* log it

* reword

* wait for airvisual

* tests
2023-02-26 22:37:16 -05:00
J. Nick Koston b5223e1196 Restore previous behavior of only waiting for new tasks at shutdown (#88740)
* Restore previous behavior of only waiting for new tasks at shutdown

* cleanup

* do a swap instead

* await canceled tasks

* await canceled tasks

* fix

* not needed since we no longer clear

* log it

* reword

* wait for airvisual

* tests
2023-02-26 22:36:18 -05:00
J. Nick Koston 1d1c553d9b Avoid starting a bluetooth poll when Home Assistant is stopping (#88819)
* Avoid starting a bluetooth poll when Home Assistant is stopping

* tests
2023-02-26 22:02:52 -05:00
J. Nick Koston f8934175cb Prevent integrations from retrying setup once shutdown has started (#88818)
* Prevent integrations from retrying setup once shutdown has started

* coverage
2023-02-26 22:01:02 -05:00
J. Nick Koston 4898d22960 Fix flux_led discovery running at shutdown (#88817) 2023-02-26 21:14:54 -05:00
J. Nick Koston 480a495239 Fix unifiprotect discovery running at shutdown (#88802)
* Fix unifiprotect discovery running at shutdown

Move the discovery start into `async_setup` so we only
start discovery once reguardless of how many config entries
for unifiprotect they have (or how many times they reload).

Always make discovery a background task so it does not get
to block shutdown

* missing decorator
2023-02-26 21:08:20 -05:00
J. Nick Koston d219e7c8b1 Bump yalexs-ble to 2.0.4 (#88798)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.0.3...v2.0.4
2023-02-26 21:06:27 -05:00
Diogo Gomes c8fc2dc440 Add Camera platform to Prosegur (#76428)
* add camera to prosegur

* add tests

* address review

* better tests

* clean

* clean

* fix tests

* leftover from merge

* sorting missing

* Update homeassistant/components/prosegur/services.yaml

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-26 20:25:55 -05:00
Paulus Schoutsen 9be3f86a4c Check circular dependencies (#88778) 2023-02-26 20:25:29 -05:00
J. Nick Koston bea81d3f63 Fix lock services not removing entity fields (#88805) 2023-02-26 18:59:28 -05:00
starkillerOG 0f01866508 Do not block on reolink firmware check fail (#88797)
Do not block on firmware check fail
2023-02-26 21:49:24 +01:00
starkillerOG 588b51bdfa Simplify reolink update unique_id (#88794)
simplify unique_id
2023-02-26 21:45:14 +01:00
puddly 0fb41bdffe Unblock JSON CI by fixing improperly indented JSON in test fixture (#88803) 2023-02-26 14:41:16 -06:00
hahn-th c9dfa15ed6 Add device HmIP-DLD (#83380)
* Add HmIP-DLD

* Remove commented code

* Fix errors

* Format using black

* Fix device count

* Add missing tests

* Apply changes by reviewer

* Change setup entry code

* Remove jammed state

* Add error messages

* Update homeassistant/components/homematicip_cloud/helpers.py

Co-authored-by: Aaron Bach <bachya1208@gmail.com>

* Add decorator

* Add error log output

* Update test_device.py

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2023-02-26 10:49:25 -07:00
Joakim Plate e00ff54869 Update nibe library to 2.0.0 (#88769) 2023-02-26 11:05:31 +01:00
shbatm 7c23de469e Add ISY994 services to set and delete lock codes (#88754) 2023-02-26 01:12:00 -06:00
Yuxin Wang 490a0908d4 Avoiding testing implementation details in apcupsd tests (#88772)
Fix apcupsd tests.
2023-02-26 07:57:31 +01:00
J. Nick Koston 327edabb64 Fix checking if a package is installed on py3.11 (#88768)
pkg_resources is abandoned and we need to move away
from using it https://github.com/pypa/pkg_resources

In the mean time we need to keep it working. This fixes
a new exception in py3.11 when a module is not installed
which allows proper fallback to pkg_resources.Requirement.parse
when needed

```
2023-02-25 15:46:21.101 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/view.py", line 146, in handle
    result = await result
             ^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/config/config_entries.py", line 148, in post
    return await super().post(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/helpers/data_entry_flow.py", line 71, in post
    result = await self._flow_mgr.async_init(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 826, in async_init
    flow, result = await task
                   ^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 844, in _async_init
    flow = await self.async_create_flow(handler, context=context, data=data)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 950, in async_create_flow
    await async_process_deps_reqs(self.hass, self._hass_config, integration)
  File "/Users/bdraco/home-assistant/homeassistant/setup.py", line 384, in async_process_deps_reqs
    await requirements.async_get_integration_with_requirements(
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 52, in async_get_integration_with_requirements
    return await manager.async_get_integration_with_requirements(domain)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 171, in async_get_integration_with_requirements
    await self._async_process_integration(integration, done)
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 186, in _async_process_integration
    await self.async_process_requirements(
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 252, in async_process_requirements
    await self._async_process_requirements(name, missing)
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 284, in _async_process_requirements
    installed, failures = await self.hass.async_add_executor_job(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/requirements.py", line 113, in _install_requirements_if_missing
    if pkg_util.is_installed(req) or _install_with_retry(req, kwargs):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/util/package.py", line 40, in is_installed
    pkg_resources.get_distribution(package)
  File "/opt/homebrew/lib/python3.11/site-packages/pkg_resources/__init__.py", line 478, in get_distribution
    dist = get_provider(dist)
           ^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/pkg_resources/__init__.py", line 354, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
                                            ~~~~~~~~~~~~~~~~~~~~~~~~~^^^
IndexError: list index out of range
``
2023-02-25 22:47:18 -05:00
Robert Svensson b4a3a663cf Simplify adding unifi entities (#88571) 2023-02-25 08:18:49 -08:00
Franck Nijhof 2063dbf00d Bumped version to 2023.3.0b3 2023-02-25 12:07:47 +01:00
Joakim Sørensen 91a03ab83d Remove homeassistant_hardware after dependency from zha (#88751) 2023-02-25 12:07:25 +01:00
J. Nick Koston ed8f538890 Prevent new discovery flows from being created when stopping (#88743) 2023-02-25 12:07:22 +01:00
J. Nick Koston 6196607c5d Make hass.async_stop an untracked task (#88738) 2023-02-25 12:07:19 +01:00
J. Nick Koston 833ccafb76 Log futures that are blocking shutdown stages (#88736) 2023-02-25 12:07:15 +01:00
mkmer ca539d0a09 Add missing reauth strings to Honeywell (#88733)
Add missing reauth strings
2023-02-25 12:07:12 +01:00
Austin Mroczek 0e3e954000 Bump total_connect_client to v2023.2 (#88729)
* bump total_connect_client to v2023.2

* Trigger Build
2023-02-25 12:07:09 +01:00
avee87 4ef96c76e4 Fix log message in recorder on total_increasing reset (#88710) 2023-02-25 12:07:05 +01:00
Álvaro Fernández Rojas d5b0c1faa0 Update aioqsw v0.3.2 (#88695)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-02-25 12:07:02 +01:00
Arturo 2405908cdd Fix matter light color capabilities bit map (#88693)
* Adds matter light color capabilities bit map

* Fixed matter light hue and saturation test
2023-02-25 12:06:58 +01:00
avee87 1519a78567 Fix log message in recorder on total_increasing reset (#88710) 2023-02-25 12:05:24 +01:00
J. Nick Koston 57360a7528 Prevent new discovery flows from being created when stopping (#88743) 2023-02-25 12:02:07 +01:00
J. Nick Koston 7b61d3763b Log futures that are blocking shutdown stages (#88736) 2023-02-25 12:01:30 +01:00
Joakim Sørensen 0f204d6502 Remove homeassistant_hardware after dependency from zha (#88751) 2023-02-25 12:01:01 +01:00
Arturo 0a3a8c4b3c Fix matter light color capabilities bit map (#88693)
* Adds matter light color capabilities bit map

* Fixed matter light hue and saturation test
2023-02-25 10:25:04 +01:00
Rami Mosleh 091305fc57 Use DataUpdateCoordinator for islamic_prayer_times (#73893)
* use DataUpdateCoordinator for islamic_prayer_times

Add suggested type hints

remove uneccassry options setup

* Use entity_description for sensors

* move coordinator into separate file, sensor_descptions to sensor.py

* add strict typing

* revert strict typing

* fix test coverage

* revert unrelated file changes

* fix sorting

* Update code based on review

* add missing type hint

* more missing type hints

* Update homeassistant/components/islamic_prayer_times/coordinator.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* remove config_entry parameter

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-25 10:05:51 +01:00
Austin Mroczek 3499d60401 Bump total_connect_client to v2023.2 (#88729)
* bump total_connect_client to v2023.2

* Trigger Build
2023-02-25 09:20:17 +01:00
Artem Draft f18c0bf626 Pass assumed_state property in universal media player (#87846)
Pass assumed_state property in universal media player
2023-02-25 07:43:58 +01:00
J. Nick Koston f52a5f6965 Make hass.async_stop an untracked task (#88738) 2023-02-24 23:11:48 -05:00
Álvaro Fernández Rojas 1edef73c9a Update aioqsw v0.3.2 (#88695)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-02-24 22:10:00 -05:00
mkmer 5a365788b5 Add missing reauth strings to Honeywell (#88733)
Add missing reauth strings
2023-02-24 21:49:49 -05:00
Paulus Schoutsen b6e50135f5 Bumped version to 2023.3.0b2 2023-02-24 21:41:02 -05:00
Bram Kragten 64197aa5f5 Update frontend to 20230224.0 (#88721) 2023-02-24 21:40:56 -05:00
J. Nick Koston 5a2d7a5dd4 Reduce overhead to save json data to postgresql (#88717)
* Reduce overhead to strip nulls from json

* Reduce overhead to strip nulls from json

* small cleanup
2023-02-24 21:40:55 -05:00
J. Nick Koston 2d6f84b2a8 Fix timeout in purpleapi test (#88715)
https://github.com/home-assistant/core/actions/runs/4264644494/jobs/7423099757
2023-02-24 21:40:54 -05:00
J. Nick Koston 0c6a469218 Fix migration failing when existing data has duplicates (#88712) 2023-02-24 21:40:53 -05:00
J. Nick Koston e69271cb46 Bump aioesphomeapi to 13.4.1 (#88703)
changelog: https://github.com/esphome/aioesphomeapi/releases/tag/v13.4.1
2023-02-24 21:40:52 -05:00
Michael Hansen 02bd3f897d Make a copy of matching states so translated state names can be used (#88683) 2023-02-24 21:40:51 -05:00
J. Nick Koston 64ad5326dd Bump mopeka_iot_ble to 0.4.1 (#88680)
* Bump mopeka_iot_ble to 0.4.1

closes #88232

* adjust tests
2023-02-24 21:40:50 -05:00
puddly 74696a3fac Name the Yellow-internal radio and multi-PAN addon as ZHA serial ports (#88208)
* Expose the Yellow-internal radio and multi-PAN addon as named serial ports

* Remove the serial number if it isn't available

* Use consistent names for the addon and Zigbee radio

* Add `homeassistant_hardware` and `_yellow` as `after_dependencies`

* Handle `hassio` not existing when listing serial ports

* Add unit tests
2023-02-24 21:40:49 -05:00
Bram Kragten a60fd18386 Update frontend to 20230224.0 (#88721) 2023-02-24 21:39:59 -05:00
J. Nick Koston 0223058d25 Reduce overhead to save json data to postgresql (#88717)
* Reduce overhead to strip nulls from json

* Reduce overhead to strip nulls from json

* small cleanup
2023-02-24 21:37:36 -05:00
J. Nick Koston 7b2e743a6b Fix timeout in purpleapi test (#88715)
https://github.com/home-assistant/core/actions/runs/4264644494/jobs/7423099757
2023-02-24 14:33:25 -05:00
J. Nick Koston 69a3738bdb Fix migration failing when existing data has duplicates (#88712) 2023-02-24 11:41:44 -06:00
Jon Caruana e69091c6db Use strict typing for LiteJet integration (#88629)
* Strict typing for LiteJet.

* Add test for new check.

* PR feedback.

* PR feedback.
2023-02-24 17:51:48 +01:00
J. Nick Koston ee7dfdae30 Bump aioesphomeapi to 13.4.1 (#88703)
changelog: https://github.com/esphome/aioesphomeapi/releases/tag/v13.4.1
2023-02-24 11:09:12 -05:00
epenet fdc06c2fc2 Improve type hint in webostv trigger (#88599)
Improve type hint in webostv trigger
2023-02-24 16:54:02 +01:00
StefanIacobLivisi ba929dfc79 Bump aiolivisi to 0.0.16 (#88700)
Increment aiolivisi library version
2023-02-24 15:22:30 +01:00
epenet 753c790a25 Use async_timeout in integrations (#88697) 2023-02-24 08:13:03 -05:00
Thomas Dietrich ee8f746808 Change statistics component ownership (#88692) 2023-02-24 08:11:40 -05:00
stickpin 84823d2fcf Upgrade caldav to 1.1.3 (#88681)
* Update caldav to 1.1.3

* update caldav to 1.1.3

* update caldav to 1.1.3

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2023-02-24 06:32:59 +00:00
J. Nick Koston 0ae2fdc08b Switch samsungtv to use async_timeout to avoid task creation (#88679)
wait_for creates a task, async_timeout does the same work
and avoids the task creation
2023-02-23 23:00:08 -05:00
Erik Montnemery d90ee85118 Allow conditions to be implemented in platforms (#88509)
* Allow conditions to be implemented in platforms

* Update tests

* Tweak typing

* Rebase fixes
2023-02-23 22:30:51 -05:00
Franck Nijhof 2f826a6f86 Modernize uptime tests (#88636)
* Modernize uptime tests

* Fix tests
2023-02-23 22:15:20 -05:00
David Poll af49b98475 Enable jinja loop controls (break/continue) (#88625)
Enables jinja loop controls (break/continue)
2023-02-23 22:14:28 -05:00
puddly 9575cd9161 Name the Yellow-internal radio and multi-PAN addon as ZHA serial ports (#88208)
* Expose the Yellow-internal radio and multi-PAN addon as named serial ports

* Remove the serial number if it isn't available

* Use consistent names for the addon and Zigbee radio

* Add `homeassistant_hardware` and `_yellow` as `after_dependencies`

* Handle `hassio` not existing when listing serial ports

* Add unit tests
2023-02-23 20:52:53 -05:00
J. Nick Koston f0b029c363 Bump mopeka_iot_ble to 0.4.1 (#88680)
* Bump mopeka_iot_ble to 0.4.1

closes #88232

* adjust tests
2023-02-23 20:52:31 -05:00
Michael Hansen a71487a42b Make a copy of matching states so translated state names can be used (#88683) 2023-02-23 20:50:23 -05:00
Michael Hansen d5f1713498 Include binary_sensor in default Assist exposed domains (#88682) 2023-02-23 19:40:10 -05:00
Paulus Schoutsen 70e1d14da0 Bumped version to 2023.3.0b1 2023-02-23 15:00:13 -05:00
Bram Kragten 25f066d476 Update frontend to 20230223.0 (#88677) 2023-02-23 15:00:07 -05:00
Marcel van der Veldt 5adf1dcc90 Fix support for Bridge(d) and composed devices in Matter (#88662)
* Refactor discovery of entities to support composed and bridged devices

* Bump library version to 3.1.0

* move discovery schemas to platforms

* optimize a tiny bit

* simplify even more

* fixed bug in light platform

* fix color control logic

* fix some issues

* Update homeassistant/components/matter/discovery.py

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

* fix some tests

* fix light test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-23 15:00:05 -05:00
epenet 0fb28dcf9e Add missing async_setup_entry mock in openuv (#88661) 2023-02-23 15:00:04 -05:00
Allen Porter 2fddbcedcf Fix local calendar issue with events created with fixed UTC offsets (#88650)
Fix issue with events created with UTC offsets
2023-02-23 15:00:03 -05:00
J. Nick Koston 951df3df57 Fix untrapped exceptions during Yale Access Bluetooth first setup (#88642) 2023-02-23 15:00:02 -05:00
starkillerOG 35142e456a Bump reolink-aio to 0.5.1 and check if update supported (#88641) 2023-02-23 15:00:01 -05:00
Paulus Schoutsen cfaba87dd6 Error checking for OTBR (#88620)
* Error checking for OTBR

* Other errors in flow too

* Tests
2023-02-23 15:00:00 -05:00
Erik Montnemery 2db8d4b73a Bump python-otbr-api to 1.0.4 (#88613)
* Bump python-otbr-api to 1.0.4

* Adjust tests
2023-02-23 14:59:59 -05:00
Raman Gupta 0d2006bf33 Add support for firmware target in zwave_js FirmwareUploadView (#88523)
* Add support for firmware target in zwave_js FirmwareUploadView

fix

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix types

* Switch back to using Any

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-23 14:59:58 -05:00
puddly 45547d226e Disable the ZHA bellows UART thread when connecting to a TCP coordinator (#88202)
Disable the bellows UART thread when connecting to a TCP coordinator
2023-02-23 14:59:56 -05:00
Marcel van der Veldt 301144993c Fix support for Bridge(d) and composed devices in Matter (#88662)
* Refactor discovery of entities to support composed and bridged devices

* Bump library version to 3.1.0

* move discovery schemas to platforms

* optimize a tiny bit

* simplify even more

* fixed bug in light platform

* fix color control logic

* fix some issues

* Update homeassistant/components/matter/discovery.py

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

* fix some tests

* fix light test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-23 14:58:37 -05:00
Bram Kragten e0601530a0 Update frontend to 20230223.0 (#88677) 2023-02-23 13:38:07 -05:00
Allen Porter e1e0400b16 Fix local calendar issue with events created with fixed UTC offsets (#88650)
Fix issue with events created with UTC offsets
2023-02-23 13:37:15 -05:00
Raman Gupta 5739782877 Add support for firmware target in zwave_js FirmwareUploadView (#88523)
* Add support for firmware target in zwave_js FirmwareUploadView

fix

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/zwave_js/test_api.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* fix types

* Switch back to using Any

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-23 13:24:55 -05:00
Franck Nijhof 6112793b19 Modernize Twentemilieu tests (#88640) 2023-02-23 10:26:17 -05:00
Franck Nijhof f8314fe007 Update apprise to 1.3.0 (#88658) 2023-02-23 10:23:03 -05:00
epenet dac3c7179f Add missing async_setup_entry mock in openuv (#88661) 2023-02-23 10:22:39 -05:00
Franck Nijhof 6511b3f355 Update pre-commit to 3.1.0 (#88657) 2023-02-23 10:59:47 +01:00
Artem Draft 6474297d1f Browse media support in universal media player (#85668)
Allow forward and override browse media in universal media player
2023-02-23 09:17:46 +01:00
J. Nick Koston 27ebee1501 Fix untrapped exceptions during Yale Access Bluetooth first setup (#88642) 2023-02-23 08:18:55 +01:00
starkillerOG 23b52025f9 Bump reolink-aio to 0.5.1 and check if update supported (#88641) 2023-02-23 08:13:03 +01:00
epenet 87dc692a20 Use json_loads_object in alexa (#88610) 2023-02-22 22:01:32 +01:00
Erik Montnemery 473db48943 Bump python-otbr-api to 1.0.4 (#88613)
* Bump python-otbr-api to 1.0.4

* Adjust tests
2023-02-22 15:31:02 -05:00
Franck Nijhof aa3657e071 Bump version to 2023.4.0dev0 (#88630) 2023-02-22 21:29:49 +01:00
puddly 2a819f23c1 Disable the ZHA bellows UART thread when connecting to a TCP coordinator (#88202)
Disable the bellows UART thread when connecting to a TCP coordinator
2023-02-22 15:12:55 -05:00
Paulus Schoutsen c6ff79aa0e Error checking for OTBR (#88620)
* Error checking for OTBR

* Other errors in flow too

* Tests
2023-02-22 20:58:11 +01:00
Franck Nijhof cebc6dd096 Bumped version to 2023.3.0b0 2023-02-22 20:44:37 +01:00
J. Nick Koston 3ebb2fc3a9 Fix handling of HomeKit sources with unsafe characters (#88280)
fixes #87049
2023-02-22 14:33:27 -05:00
Maciej Bieniek 64e39c9c81 Bump brother to 2.2.0 (#88618) 2023-02-22 20:28:58 +01:00
David F. Mulcahey 205c5ccbf3 Bump ZHA quirks to 0.0.93 (#88621) 2023-02-22 20:27:36 +01:00
Marcel van der Veldt 881e85d74f Bump python-matter-server to 3.0.0 (#88607)
* Bump python-matter-server to 3.0.0

Include all fixes for the changed api schema of the library

* fix test fixtures

* remove invalid data from fixtures

* fix some of the tests

* fix binary sensor bug

* fix sensor bug

* fix switch test

* fix tests

* adjust bugs and typos
2023-02-22 14:24:30 -05:00
Quentame 9c7adfc4b2 Bump Météo-France to 1.2.0 (#88617) 2023-02-22 20:16:22 +01:00
Jon Caruana d41facf750 Add devices to LiteJet (#88406) 2023-02-22 12:08:11 -06:00
Bram Kragten 0c03862a70 Update frontend to 20230222.0 (#88615) 2023-02-22 18:53:46 +01:00
Raman Gupta 05a7df5629 Add controller support to zwave_js/subscribe_firmware_update_status (#87348) 2023-02-22 12:08:57 -05:00
Quentame 1cf5b7c9f7 Bump Freebox to 1.1.0 (#88609) 2023-02-22 18:02:34 +01:00
Erik Montnemery 1f34fa63ab Always include platform in config/entity_registry/list_for_display (#88601)
Always include platform in config/entity_registry/list_for_display
2023-02-22 17:59:52 +01:00
Raman Gupta cab8a59be4 Add dsk option to zwave_js/add_node WS command (#87823)
* Add dsk option to zwave_js/add_node WS command

* Bump zwave-js-server-python to 0.46.0 (#88520)

* fix tests
2023-02-22 11:53:22 -05:00
Raman Gupta 1f9f6ab1f0 Update zwave_js FirmwareUploadView to support controller updates (#87239)
* Update zwave_js FirmwareUploadView to support controller updates

* Add coverage

* Change None check to assertion
2023-02-22 11:52:00 -05:00
Raman Gupta 5683d21931 Add new zwave_js WS command to parse DSK from QR code (#87237)
* Add new zwave_js WS command to parse DSK from QR code

* remove minimum character check since it is not needed in this case
2023-02-22 11:51:40 -05:00
Jc2k f7bfdfefde Diagnostics report for Thread networks (#88541)
* Initial diagnostics

* Include MLP of local OTBR

* Add dep on pyroute2

* Move pyroute2 onto executor

* More comments

* Read thread data direct from zeroconf cache

* Get neighbour cache for known BR's

* isort

* mypy

* Add diagnostic test

* rel import

* Fix pylint

* Restore coverage in discovery.py
2023-02-22 11:24:21 -05:00
Jan Bouwhuis 3afc39dbbf Set default for hass_config_yaml fixture to "" (#88608)
Set default for hass_config_yaml fixture to ""
2023-02-22 17:18:11 +01:00
starkillerOG 68d4cbb210 Bump reolink-aio to 0.5.0 (#88594) 2023-02-22 16:54:13 +01:00
Michael Hansen 59f2b2ad51 Bump intents package version; hassil==1.0.5; home-assistant-intents==2023.2.22 (#88605)
* Bump hassil and intents versions

* Adjust tests to handle abbreviated responses
2023-02-22 09:36:42 -06:00
starkillerOG f97b50f762 Add Reolink update entity (#87865) 2023-02-22 16:26:12 +01:00
Yann Le Moigne 2314d15761 Fix cover template: optimistic mode is ignored (#87925)
* Fix cover template: optimistic mode is ignored (#84334)

* Fix invalid check in is_closed (make test pass)

* Add test for non optimistic cover

* Update homeassistant/components/template/cover.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update test_cover.py

* Fix format

* Fix tests

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-22 15:54:18 +01:00
Albin Médoc f40b712664 Fix 500 error when getting calendar events (#88276)
* Fix 500 error when getting calendar event

* Add test for calendar dates in wrong order

* Update calendar tests to use f strings
2023-02-22 15:33:43 +01:00
Erik Montnemery 594b7b7e2c Add clarifying comment about unit of elevation (#88489)
* Add clarifying comment about unit of elevation

* Make it a docstring
2023-02-22 09:06:43 -05:00
TheJulianJES 5bffbafae4 Add ZHA "consumer connected" binary sensor for Xiaomi EU plugs (#88194)
* Initialize consumer_connected attribute

* Add binary sensor for consumer_connected
2023-02-22 14:47:43 +01:00
Tom Harris 0f212478cf Bump Insteon dependencies (#88514) 2023-02-22 14:41:46 +01:00
epenet 3f11fbfda8 Use load_json_object in ecobee (#88584)
* Use load_json_object in ecobee

* Adjust tests
2023-02-22 13:58:07 +01:00
epenet db6dba87e5 Use load_json_object in html5 (#88586) 2023-02-22 13:57:32 +01:00
epenet 209278d423 Improve type hint in homeassistant trigger (#88596)
Imrpove type hint in homeassistant trigger
2023-02-22 13:56:30 +01:00
epenet 10bb0ab6b4 Use load_json_object in matrix (#88587) 2023-02-22 13:56:11 +01:00
epenet 42d90538e4 Use load_json_object in ps4 (#88590) 2023-02-22 13:55:44 +01:00
epenet 1278fe1f81 Use load_json_object in nanoleaf (#88592)
* Use load_json_object in nanoleaf

* pretty

* prettier
2023-02-22 13:54:02 +01:00
epenet 79adfbc862 Use load_json_object in tellduslive (#88591) 2023-02-22 13:53:00 +01:00
epenet 3c1e62aeef Improve type hint in zwave_js trigger (#88597)
Imrpove type hint in zwave_js trigger
2023-02-22 13:39:28 +01:00
Erik Montnemery 6d9411b8a1 Improve trigger platform typing (#88511)
* Improve trigger platform typing

* Tweak docstring

* Revert "Tweak docstring"

This reverts commit c31f790fc3.

* Tweak docstring
2023-02-22 11:59:53 +01:00
Martin Hjelmare 33b16d20b1 Clean up tradfri import flow (#88588) 2023-02-22 10:53:48 +01:00
Chris Xiao 93c681ae58 Add options flow for met (#88525)
* implement options flow for met

* add tests for met options flow

* fix met options flow tests

* fix met options flow when tracking home
2023-02-22 10:18:58 +01:00
epenet aa20c902db Add typed helpers and improve type hints in util/json (#88534)
* Add type hints to load_json

* Adjust ios

* Adjust nest

* Add use of load_json_array

* Add tests

* Adjust test patch

* Add test_load_json_os_error
2023-02-22 10:09:28 +01:00
J. Nick Koston 906d397736 Update homekit to use async_get_integrations (#88550) 2023-02-22 09:25:47 +01:00
J. Nick Koston 8806c3dd20 Speed up loading non-english language translations (#88553)
Speed up loading non-english languages

We called async_get_integrations in each gathered task
instead of once for both languages we were loading
2023-02-21 21:18:33 -05:00
J. Nick Koston e38836b6e1 Update async_matching_config_entries to use async_get_integrations (#88527)
* Update async_matching_config_entries to use async_get_integrations

* Update homeassistant/components/config/config_entries.py

* Update homeassistant/components/config/config_entries.py
2023-02-21 21:17:18 -05:00
J. Nick Koston 5bc0636905 Replace fire_coroutine_threadsafe with asyncio.run_coroutine_threadsafe (#88572)
fire_coroutine_threadsafe did not hold a reference to the asyncio
task which meant the task had the risk of being prematurely
garbage collected
2023-02-21 21:16:18 -05:00
J. Nick Koston e54eb7e2c8 Switch shell_command to use async_timeout instead of asyncio.wait_for (#88573)
This avoids creating a task every time
2023-02-21 21:11:54 -05:00
J. Nick Koston cbba0fee42 Bump sqlalchemy to 2.0.4 (#88574)
changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.4
2023-02-21 21:11:16 -05:00
Maciej Bieniek a54e523731 Bump nettigo-air-monitor to version 2.1.0 (#88569)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-21 17:41:46 -06:00
Erik Montnemery 356c316b39 Fix stray prints seen inbetween tests (#88570) 2023-02-21 17:19:38 -06:00
Erik Montnemery bfa315be51 Bump hatasmota to 0.6.4 (#88565) 2023-02-21 23:38:50 +01:00
J. Nick Koston ec53c26f90 Constrain faust-cchardet to first version that builds wheels successfully (#88563) 2023-02-21 16:32:15 -06:00
J. Nick Koston 93e37243f6 Fix logbook test that failed to exclude EVENT_HOMEASSISTANT_FINAL_WRITE (#88568) 2023-02-21 16:22:44 -06:00
Franck Nijhof 3501a9788f Update entity registry snapshot serializer (#88566)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-21 22:37:13 +01:00
Jan Bouwhuis 3f79155df6 Remove deprecated callback support for MQTT subscribe (#88543)
* Remove deprecated callback support and fix tests

* Add note with removal instruction
2023-02-21 22:21:00 +01:00
rhpijnacker 24234a55a5 Bump pyRFXtrx to 0.30.1 (#88538) 2023-02-21 21:43:39 +01:00
J. Nick Koston e6c792deed Add missing kelvin attributes to light recorder platform (#88561) 2023-02-21 14:23:53 -06:00
J. Nick Koston ff93b7a01c Restore vulcan integration (#88556) 2023-02-21 20:56:36 +01:00
J. Nick Koston 905a0f2eb6 Fix sonos blocking I/O in the event loop (#88554) 2023-02-21 13:54:08 -06:00
J. Nick Koston 7929e76ebb Only build the field_map once in recorder history (#88529) 2023-02-21 13:45:05 -06:00
Erik Montnemery 0c4c95394e Add WS command config/entity_registry/list_for_display (#87787)
* Add WS command config/entity_registry/list_for_display

* Make more keys in the display dict optional

* Move disabled_by check to ws command handler

* Hide hidden_by if not hidden

* Use send_json_auto_id in the new test

* Don't include entities which have no data needed for display

* Include platform for entries with translation_key
2023-02-21 20:40:39 +01:00
Teemu R a93b4e7197 Use device-native kelvins for tplink color temperature (#85646) 2023-02-21 12:52:50 -06:00
Maciej Bieniek c06420689e Bump nextdns to version 1.3.0 (#88555)
Bump nextdns
2023-02-21 19:43:40 +01:00
Michael Muré d14000f704 Add esphome climate quiet fan mode (#74303)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-02-21 11:09:41 -06:00
Marc Mueller 77ec6cb879 Update actions/cache to 3.2.6 (#88537) 2023-02-21 10:22:21 -06:00
Jc2k ce1ef1d720 Activate thread integration if thread border routers are present (#88551) 2023-02-21 16:22:00 +00:00
Jorgen Evens 4e32b65694 Improve pjlink reliability (#80745)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-21 16:48:53 +01:00
Martin Hjelmare 08aae9cccd Remove tibber monthly cost state class (#88542) 2023-02-21 15:39:15 +01:00
J.P. Krauss b5ead9e76f Bump pyairnow to 1.2.1 (#88516) 2023-02-21 11:09:18 +01:00
epenet a51cc75f03 Add type hints to core tests (part 2) (#88492) 2023-02-21 09:27:13 +01:00
epenet a102883eff Add type hints to integration tests (part 2) (#88493) 2023-02-21 09:25:05 +01:00
Jan Bouwhuis ebb450c946 Default hass_config to contain an empty config (#88515)
* Default hass_config to {}

* Correct type hint
2023-02-21 08:48:44 +01:00
mletenay 60ca3b3223 Extract goodwe data update coordinator to a separate module (#88396)
* Extract coordinator to separate module

* Make field protected and replace cast
2023-02-21 08:14:12 +01:00
Raman Gupta 8722f5b42b Bump zwave-js-server-python to 0.46.0 (#88520) 2023-02-21 07:15:55 +01:00
Luke 84763c793d Support Ecobee climate Aux Heat on/off (#86100)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-20 17:56:03 -06:00
Robert Svensson f0af0e2b42 Bump pydeconz to v108 (catch lingering tasks) (#88510) 2023-02-20 17:34:00 -06:00
Kevin Worrel d54858044c Disable circuits set as 'Don't Show' in ScreenLogic by default (#88518) 2023-02-20 17:30:21 -06:00
J. Nick Koston 4f4defc055 Bump yalexs-ble to 2.0.2 (#88513) 2023-02-20 16:25:50 -06:00
J. Nick Koston 8e7081a8ce Bump pySwitchbot to 0.37.3 (#88512) 2023-02-20 16:25:13 -06:00
Robert Svensson d8f47c0e8c Bump Axis to v47 (catch lingering tasks) (#88508)
Bump Axis to v47

Primary fix is to catch lingering tasks from create_task

https://github.com/Kane610/axis/compare/v46...v47
2023-02-20 22:58:57 +01:00
Vincent Bédard 2a1e046d46 Increase the maximum value for the transition parameter in the service hue.activate_scene (#88414)
* Increase hue.activate_scene max transition

* Adjust the maximum transition (hue.activate_scene)
2023-02-20 22:54:03 +01:00
Chris Xiao 7a884a9d61 Only do unit conversion of met elevation when set in config entry (#88491)
convert met elevation unit only when it exists in config entry

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-20 22:46:13 +01:00
Erik Montnemery 30ebc6604f Invert trigger._PLATFORM_ALIASES (#88503) 2023-02-20 22:14:41 +01:00
J. Nick Koston 35adb2f7e8 Remove previously deprecated Detected Object from unifiprotect (#85656) 2023-02-20 22:14:01 +01:00
Carlos Gustavo Sarmiento fa2e7aa592 Add state_class = MEASUREMENT to Derivative sensor (#88408)
* Add `state_class = MEASUREMENT` to Derivative sensor

One line change per title.

* Update sensor.py

* Update tests for Derivative Sensor
2023-02-20 21:57:58 +01:00
Bram Kragten bee79e351e Allow translation for data entry submit button (#88499) 2023-02-20 19:52:39 +01:00
J. Nick Koston ecf87ae979 Improve performance of websocket_api dispatch (#88496)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-20 19:51:34 +01:00
Erik Montnemery cc4a179ca8 Support templating for in state conditions (#88411) 2023-02-20 18:57:00 +01:00
emanuelst 0b81c836ef Update HomeKit VOC mappings (#87663)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-20 11:56:41 -06:00
J. Nick Koston 9c82cfecca Avoid asking recorder platforms for list_statistic_ids when already complete (#88495)
* Avoid asking recorder platforms for list_statistic_ids when already complete

If we already had all the data needed for list_statistic_ids, we would
still query recorder platforms and throw away the results

* Update homeassistant/components/recorder/statistics.py
2023-02-20 12:39:42 -05:00
Michael Hansen 5bf3a0b7af Load custom sentences for language variations (en-us, etc.) (#88498) 2023-02-20 12:28:04 -05:00
Maciej Bieniek 7119a0f811 Use suggested_display_precision instead of rounding in Shelly sensor platform (#87084) 2023-02-20 10:20:52 -06:00
Jan Bouwhuis 4f6a25b470 Allow parameterizing YAML config in tests (#87981)
* Add fixture to parameterize yaml config

* Apply to more tests

* Re-add @fixture label

* Add fixtures to patch yaml content and targets

* Typo

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update references to mock_yaml_configuration

* Apply new fixtures

* Apply to check_config tests

* Follow up comments

* Rename fixtures, update docstr

* Split paths

* Patch load_yaml_config_file instead

* sort

* Fix tests

* improve docst

* Rename fixtures

* sorting

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Improve docstr

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Improve docstr

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Improve docstr

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-20 16:57:12 +01:00
J. Nick Koston 1759f58fc1 Ensure new MariaDB/MySQL tables are created using the InnoDB engine (#88468)
Ensure new tables are created using InnoDB

InnoDB is the only supported engine to use with MariaDB
or MySQL as we currently have large keys in the states
table that will not work with MyIASM. Other storage
engines including Aria will likely work fine, but they
are not officially supported.
2023-02-20 08:58:59 -05:00
Matthias Alphart 6a0ea09f29 Upload KNX Keyfile from Config/Options Flow directly (#88097)
* Manage KNX Keyfile from UI

* migrate config entry to use new keyfile

* Revert "migrate config entry to use new keyfile"

use same config style as before instead of entry version migration

* clean up uploaded file when integration is removed

* change default filename

* revert to previous step name

* remove empty directory on unload
2023-02-20 14:48:56 +01:00
J. Nick Koston 9876dd804e Exclude event_id and event_score from being recorded in unifiprotect (#88387) 2023-02-20 14:09:56 +01:00
Marc Mueller 306322704c Update CI runner to ubuntu-22.04 (#88420) 2023-02-20 13:10:33 +01:00
Franck Nijhof 36e59fc322 Cleanups in WLED tests (#88480) 2023-02-20 13:00:02 +01:00
Koen van Zuijlen 92815c9948 Bump zeversolar to 0.3.1 (#88386)
Updated zeversolar to 0.3.1
2023-02-20 12:50:43 +01:00
epenet ec5c3d6330 Add type hints to integration tests (#88476) 2023-02-20 11:43:51 +01:00
epenet 5f25b71df7 Add type hints to core tests (#88478) 2023-02-20 11:42:56 +01:00
majuss 26755a6841 Bump lupupy to 0.3.0 (#88473)
* Bumped lupupy to support XT2 and up

* requirements script

* Bump lupupy to 0.3.0
2023-02-20 10:22:52 +01:00
Jesse Hills 6da524b378 ESPHome: Add additional field for current temperature precision (#88464) 2023-02-20 09:54:40 +01:00
Yuxin Wang ba2e80f741 Add more tests for APC UPS Daemon integration (#85967)
* Add tests for init.

* Add more test init.

* Fix test init side_effect.

* Add test sensor.

* Fix sensor test file name.

* Fix sensor test.

* Add binary sensor test.

* Fix comments and styling.

* Remove apcupsd from omissions in coveragerc.

* Add a test case for binary sensor when STATFLAG is not available.

* Complete type annotations for test files.

* Revert "Remove apcupsd from omissions in coveragerc."

This reverts commit 66b05fcb8829619a771a650a3d70174089e15d91.
2023-02-20 09:51:01 +01:00
Alan Edwardes b78318a617 Remove Audio Content Restrictions From vlc_telnet (#86821) 2023-02-20 09:20:46 +01:00
jan iversen b11539fb04 Move connect method into a task (#88452)
Move connect() into a task.
2023-02-20 08:32:47 +01:00
epenet 488d78571e Add missing device class triggers (#88316)
* Add constant tests for sensor device classes

* Add missing strings

* Adjust tests

* Add missing conditions

* Add missing trigger

* Cleanup
2023-02-20 08:30:51 +01:00
Paulus Schoutsen 69e42d0e4d Fix Vulcan break CI (#88469)
* Fix Vulcan break CI

* Remove unrelated change

* Flake8 ignore
2023-02-19 23:49:42 -05:00
Paulus Schoutsen 79c6dcb3ca Disable vulcan (#88466)
Disable Vulcan integration
2023-02-19 22:06:01 -05:00
Marc Mueller f3c6558db4 Improve conversation typing (#88440) 2023-02-19 21:27:30 -05:00
J. Nick Koston c2b770bcb9 Load pending state attributes and event data ids at startup (#88444)
* Load pending state attributes and event data ids at startup

Since we queue all events to be processed after startup
we can have a thundering herd of queries to prime the
LRUs of event data and state attributes ids. Since we
know we are about to process a chunk of events we can
fetch all the ids in two queries

* lru

* fix hang

* Fix recorder LRU being destroyed if event session is reopened

We would clear the LRU in _close_event_session but
it would never get replaced with an LRU again so
it would leak memory if the event session is reopened

* Fix recorder LRU being destroyed if event session is reopened

We would clear the LRU in _close_event_session but
it would never get replaced with an LRU again so
it would leak memory if the event session is reopened

* cleanup
2023-02-19 21:26:38 -05:00
Franck Nijhof c4f92f5ad4 Cleanup use of test fixtures in LaMetric tests (#88453)
Cleanup use of test fixture in LaMetric tests
2023-02-19 21:15:07 -05:00
Franck Nijhof 172d505314 Refactor Whois tests (#88456) 2023-02-19 21:14:10 -05:00
Franck Nijhof 037b3ebd26 Refactor EnergyZero tests (#88458) 2023-02-19 21:11:05 -05:00
J. Nick Koston 3533e77ec9 Fix using MariaDB slow range select workaround with Postgresql (#88459)
* Mark PostgreSQL range select as fast

Currently we were using the slow range select workaround for
PostgreSQL that was original developed for MariaDB but
its actually slower on PostgreSQ

fixes #83253

* Mark PostgreSQL range select as fast

Currently we were using the slow range select workaround for
PostgreSQL that was original developed for MariaDB but
its actually slower on PostgreSQ

fixes #83253
2023-02-19 21:08:43 -05:00
J. Nick Koston 0b311c8c7f Fix statistics_at_time query not using index (#88460)
* Fix statistics_at_time query not using index

fixes #82411

* fix refactoring error

* fix query so sqlalc does not get confused

* split it

* write as subquery

* reduce

* cleanup

* reduce

* Revert "reduce"

This reverts commit 43b4b55778.
2023-02-19 21:07:31 -05:00
J. Nick Koston eac9ad8437 Fix most recent states query not using the index for group by (#88461)
* Fix most recent states query not using the index for group by

fixes #87851

* Apply suggestions from code review

* reduce
2023-02-19 21:05:45 -05:00
J. Nick Koston 9a6bcc2b63 Fix incorrect created and created_ts columns in statistics database schema (#88462)
* Remove default from created statistics schema

We were still inserting created times because even though
None was passed when creating the object explictly, the
default would still be used

* adjust column

* preserve original pre sql alc 2.0 behavior
2023-02-19 21:00:49 -05:00
Franck Nijhof 68e1aaa0be Refactor Elgato tests (#88376) 2023-02-19 20:14:18 +01:00
J. Nick Koston a9731a7b26 Make the recorder LRU adjustment threadsafe (#88443) 2023-02-19 19:30:08 +01:00
Ruslan Sayfutdinov 0d832c0a5a Cleanup mypy ignore list feature (#88451) 2023-02-19 19:29:06 +01:00
J. Nick Koston 08cdb0e3ee Fix recorder LRU being destroyed if event session is reopened (#88448) 2023-02-19 19:20:01 +01:00
starkillerOG 1cdd914411 Bump motionblinds to 0.6.17 (#88450) 2023-02-19 19:15:28 +01:00
Franck Nijhof 1d43e6bf86 Merge branch 'master' into dev 2023-02-19 18:26:30 +01:00
Franck Nijhof 564f714386 Update pipdeptree to 2.5.0 (#88390) 2023-02-19 18:09:26 +01:00
Franck Nijhof 17e87556de Add uchardet-dev to Wheels build deps (#88449) 2023-02-19 17:39:17 +01:00
J. Nick Koston 9df00bd285 Adjust recorder LRU cache to align with the number of entities (#88350)
* Adjust size of recorder LRU based on number of entities

If there are a large number of entities the cache would
get thrashed as there were more state attributes being
recorded than the size of the cache. This meant we had
to go back to the database to do lookups frequently when
an instance has more than 2048 entities that change
frequently

* add a test

* do not actually record 4096 states

* patch target

* patch target
2023-02-19 00:02:36 -05:00
spycle e799f24853 Update keymitt dependency (#88430) 2023-02-18 22:43:28 -06:00
Chris Talkington 04fabf4838 Update rokuecp to 0.17.1 (#88425) 2023-02-18 22:40:02 -06:00
Teemu R 1d928f05fa Update python-kasa to 0.5.1 (#88416) 2023-02-18 22:39:08 -06:00
Franck Nijhof 6cbad61572 Enable Ruff RUF006; Hard reference to asyncio.create_task return value (#88216)
* Enable Ruff RUF006

* Fix test

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-18 23:05:44 -05:00
J. Nick Koston d4376b2041 Use a single session to compile statistics (#88405)
We had two session_scope contexts in compile_statistics which causes
a commit to happen twice during the compile.
2023-02-18 20:23:47 -05:00
J. Nick Koston 3ca9f3c0d5 Only build the recorder SupportedDialect enum once (#88402)
Every call to dialect_name was creating a new enum object
in the recorder
2023-02-18 20:21:14 -05:00
jjlawren 496ab49d80 Bump SoCo to 0.29.1 (#88410)
Bump soco to 0.29.1
2023-02-18 15:02:03 -05:00
Erik Montnemery 06213ee595 Drop sqlachemy_utils workaround (#88393) 2023-02-18 09:18:23 -06:00
Erik Montnemery 1eb20affa1 Update use of sqlalchemy with_variant (#88395) 2023-02-18 09:18:01 -06:00
Tom Harris d84fde8c54 Insteon scenes (#87803)
* Add Insteon scene support

* Bump to pyinsteon 1.3.1

* Add tests

* Bump Insteon Panel to 0.3.1

* Change docstring
2023-02-18 15:52:49 +01:00
epenet 1128041899 Add type hints to integration tests (zwave_js) (#88311) 2023-02-18 14:59:26 +01:00
Franck Nijhof 31061b9f35 Fix snapshots testing repr 0 value IntFlags (#88379) 2023-02-18 07:38:19 -06:00
Franck Nijhof 1caacab8dd Enable Ruff B014 (#88377) 2023-02-18 07:38:04 -06:00
Erik Montnemery 83e5bf7ae8 Use entity_sources to determine integration in recorder platforms (#88382) 2023-02-18 07:21:41 -06:00
mletenay 728f0d5b3b Fix goodwe text(enum) sensors device class (#87914) 2023-02-18 13:39:38 +01:00
Guido Schmitz 1279868bf5 Bump devolo_plc_api to 1.2.0 (#88348) 2023-02-18 13:34:26 +01:00
Erik Montnemery f0b7343993 Change state class of weight sensors from total to measurement (#88314) 2023-02-18 13:26:53 +01:00
stickpin 4f17f2ef5f Upgrade caldav to 1.1.1 (#88378) 2023-02-18 13:16:46 +01:00
Jon Caruana e5e551f4ea Code quality/test improvement to available attributes of LiteJet (#86683)
* PR feedback, and add related tests.

* PR feedback.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-18 12:43:32 +01:00
jjlawren beaa36c36e Guard against duplicate Sonos discoveries (#88305) 2023-02-18 10:41:25 +01:00
J. Nick Koston 714328d2ca Handle key change in Yale Access Bluetooth after first connect (#88282) 2023-02-18 10:40:51 +01:00
Mike Heath 4265def234 Allow user FKB config flow to take precendence (#88281) 2023-02-18 10:40:21 +01:00
J. Nick Koston 0a7cf2b88c Speed up formatting history data (#88230) 2023-02-18 10:34:44 +01:00
Joakim Plate f7609e4f92 Make use of new background task in arcam_fmj (#88351) 2023-02-18 10:28:42 +01:00
J. Nick Koston 289bab6f87 Make recorder platform attribute exclude integration aware (#88357) 2023-02-18 10:08:59 +01:00
Marc Mueller 97d9951d8a Update mypy to 1.0.1 (#88361) 2023-02-18 10:02:41 +01:00
J. Nick Koston 5c09d81f86 Ensure doorbird always prefers internal url (#88369)
* Ensure doorbird always uses internal url

The doorbird should always use the internal url to
ensure the webhooks work. The doorbird does not
verify ssl so there is no concern about ssl matching
according to the LAN-2-LAN API v0.32 Dec 21 2022

* adjust

* Update homeassistant/components/doorbird/__init__.py
2023-02-18 09:33:40 +01:00
Marc Mueller 39067f61e4 Sync pytest job needs [ci] (#88363) 2023-02-17 23:25:35 -06:00
Paulus Schoutsen db3cd8e276 Fix danglin task for util.timeout (#88366)
Fix danglin task for util timeout
2023-02-18 00:11:35 -05:00
Franck Nijhof 1e05697080 Enable Ruff B007 (#88356)
* Enable Ruff B007

* Adjust existing cases
2023-02-17 21:08:18 -05:00
modrisb 9fd35d53e7 Change core return code processing (#88326)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-17 20:56:02 -05:00
Franck Nijhof 2ea5811e3a Hold strong references to tasks in WLED (#88257) 2023-02-17 23:21:28 +01:00
Joakim Sørensen fa811da872 Use ubuntu-20.04 for Ruff lint job (#88355) 2023-02-17 23:07:02 +01:00
Joakim Sørensen 04d51aa8de Do not try to run DB jobs if there are no target groups (#88352) 2023-02-17 22:49:22 +01:00
Franck Nijhof 6891eb7ed1 Add support for snapshot testing (#88323)
* Add support for snapshot testing

* Use snapshots in Elgato diagnostics test

* Use snapshots in Elgato sensor test

* Fix flake8 warning

* Slightly improve serialized output

* Remove snapshot naming in elgato sensor tests

* Improve snapshoting of via_device_id in device registry item

* Update pylint typehints plugin for snapshot fixture typing

* Use snapshots in Elgato configflow test

* Use snapshots in Bluetooth repair issue tests
2023-02-17 16:35:55 -05:00
Michael Hansen 325674ec44 Only expose default cloud domains in Assist default agent (#88274)
* Only expose default cloud domains in default agent

* Copy exposed domain list to conversation

* Implement requested changes

* Add test for exposed devices/areas
2023-02-17 16:19:22 -05:00
J. Nick Koston 331102e592 Dismiss discoveries when the underlying device disappears (#88340)
* Implement discovery removals

Bluetooth, HomeKit, SSDP, and Zeroconf now implement
dismissing discoveries when the underlying discovered
device disappears

* cover

* add zeroconf test

* cover

* cover bluetooth

* fix rediscover
2023-02-17 15:51:19 -05:00
Paulus Schoutsen 710b250c1d Fix dangling task for bluetooth_le_tracker (#88284) 2023-02-17 20:57:45 +01:00
Paulus Schoutsen 91ecdc83b2 Fix dangling task for livisi (#88294) 2023-02-17 20:57:00 +01:00
Paulus Schoutsen d866b0ddcb Fix dangling task for squeezebox (#88299) 2023-02-17 20:56:27 +01:00
Paulus Schoutsen 99c904ea5d Fix dangling task for plum_lightpad (#88295) 2023-02-17 20:55:13 +01:00
Paulus Schoutsen 0a363fa004 Fix dangling task for sense (#88296) 2023-02-17 20:54:34 +01:00
Paulus Schoutsen 4b3b2fb693 Fix dangling task for smart_meter_texas (#88297) 2023-02-17 20:53:49 +01:00
Paulus Schoutsen 28a09199ac Fix dangling task for insteon (#88293) 2023-02-17 20:53:06 +01:00
Paulus Schoutsen 517e88600c Fix dangling task for mysensors (#88290)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-17 20:52:30 +01:00
Paulus Schoutsen 5a31bb2ff3 Fix dangling task for crownstone (#88292) 2023-02-17 20:51:22 +01:00
Franck Nijhof 26f0de0d80 Update pyfido to 2.1.2 (#88343) 2023-02-17 19:51:36 +01:00
Paulus Schoutsen 3a32d2bdcb Add background tasks to config entries (#88335)
* Use a set for config entries task tracking

* Allow adding background tasks to config entries

* Add tests for config entry add tasks

* Update docstrings on core create task

* Migrate roon and august

* Use in more places

* Guard for None
2023-02-17 13:50:05 -05:00
Erik Montnemery 2b8abf84bd Fail tests which cause an SQLAlchemy warning (#88327)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-17 19:17:06 +01:00
Erik Montnemery 45829b016c Remove conditional test of self.hass from tplink_omada switch (#88325) 2023-02-17 19:16:37 +01:00
J. Nick Koston 30384501af Cleanup august binary sensors (#88332) 2023-02-17 19:15:56 +01:00
epenet a16e298599 Adjust json imports in tests (#88248) 2023-02-17 19:13:48 +01:00
jjlawren b51836a57b Detect when battery-powered Sonos devices are turned off (#87606) 2023-02-17 19:13:22 +01:00
epenet 7427d4f323 Add type hints to integration tests (zha) (#88309) 2023-02-17 18:54:26 +01:00
epenet 185cd61cbd Add type hints to integration tests (recorder) (#88313) 2023-02-17 18:50:09 +01:00
epenet 0a80ac19bc Add type hints to integration tests (part 18) (#88174) 2023-02-17 18:45:48 +01:00
Paulus Schoutsen f465561536 Fix dangling task for cast (#88285) 2023-02-17 18:43:40 +01:00
dcmeglio da046f93f4 Add additional characteristics for Airversa Homekit Air Purifiers (#85660) 2023-02-17 15:55:31 +00:00
epenet 5b80b1f55a Add type hints to integration tests (part 25) (#88308) 2023-02-17 16:52:28 +01:00
Ernst Klamer aeb09678a8 Bump xiaomi-ble to 0.16.4 (#88333) 2023-02-17 15:45:18 +00:00
Paulus Schoutsen a223b30924 Fix dangling task for roon (#88291) 2023-02-17 16:42:45 +01:00
epenet 9a5f88f55f Add type hints to integration tests (part 23) (#88235) 2023-02-17 16:40:46 +01:00
epenet aa50096a31 Add type hints to integration tests (part 24) (#88307) 2023-02-17 16:34:53 +01:00
Paulus Schoutsen f3e4783a5e Fix dangling task for wiz (#88301) 2023-02-17 08:29:46 -06:00
Erik Montnemery 9989a4787b Fix recorder platform tests (#88330) 2023-02-17 08:22:15 -06:00
epenet dfdd279add Fix incorrect condition for atmospheric_pressure (#88320) 2023-02-17 14:00:32 +01:00
epenet 5dda1de5bd Adjust async_setup_entry in config_flow scaffold (#88319) 2023-02-17 13:43:56 +01:00
Erik Montnemery 273d289e03 Fix sleepiq test to not contact the API (#88315)
* Fix sleepiq test to not contact the API

* Add an autosue fixture for config entry setup
2023-02-17 12:32:27 +01:00
J. Nick Koston 5ff87e6110 Bump ha-ffmpeg to 3.1.0 (#88304)
changelog: https://github.com/home-assistant-libs/ha-ffmpeg/compare/3.0.2...3.1.0
2023-02-17 09:19:12 +01:00
Paulus Schoutsen a356f35638 Fix dangling task for google (#88287) 2023-02-16 20:31:06 -08:00
Paulus Schoutsen 0904848579 Fix dangling task for homeassistant integration (#88288) 2023-02-16 22:23:44 -06:00
Paulus Schoutsen 509d968814 Fix dangling task for elkm1 (#88286)
* Fix dangling task for elkm1

* Update homeassistant/components/elkm1/__init__.py

Co-authored-by: J. Nick Koston <nick@koston.org>

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-16 23:22:34 -05:00
J. Nick Koston 3212a43e6b Fix handling of dns resolution failure during sense setup (#88279)
```
2023-02-16 20:44:54.516 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry alexander for sense
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
    hosts = await asyncio.shield(host_resolved)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1152, in _create_direct_connection
    hosts = await asyncio.shield(host_resolved)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 861, in _resolve_host
    await event.wait()
  File "/usr/local/lib/python3.10/site-packages/aiohttp/locks.py", line 34, in wait
    raise self._exc
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 874, in _resolve_host
    addrs = await self._resolver.resolve(host, port, family=self._family)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve
    infos = await self._loop.getaddrinfo(
  File "/usr/local/lib/python3.10/asyncio/base_events.py", line 860, in getaddrinfo
    return await self.run_in_executor(
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 381, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/usr/src/homeassistant/homeassistant/components/sense/__init__.py", line 83, in async_setup_entry
    await gateway.get_monitor_data()
  File "/usr/local/lib/python3.10/site-packages/sense_energy/asyncsenseable.py", line 214, in get_monitor_data
    json = await self._api_call("app/monitors/%s/overview" % self.sense_monitor_id)
  File "/usr/local/lib/python3.10/site-packages/sense_energy/asyncsenseable.py", line 174, in _api_call
    async with self._client_session.get(
  File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 1141, in __aenter__
    self._resp = await self._coro
  File "/usr/local/lib/python3.10/site-packages/aiohttp/client.py", line 536, in _request
    conn = await self._connector.connect(
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 540, in connect
    proto = await self._create_connection(req, traces, timeout)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 901, in _create_connection
    _, proto = await self._create_direct_connection(req, traces, timeout)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1166, in _create_direct_connection
    raise ClientConnectorError(req.connection_key, exc) from exc
aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.sense.com:443 ssl:default [Try again]  ```
2023-02-16 23:18:16 -05:00
J. Nick Koston b9f29c27ab Cleanup stale recorder code (#88275)
- Removes dead commit function
- Small cleanup to debug handling in execute
2023-02-16 23:12:11 -05:00
Paulus Schoutsen 3c68907351 Fix dangling task for homekit (#88289) 2023-02-16 23:07:54 -05:00
Paulus Schoutsen baee6b1f5e Fix dangling task for sonos (#88298) 2023-02-16 23:07:35 -05:00
Paulus Schoutsen 093f7d6bf1 Fix dangling task for zha (#88302) 2023-02-16 23:07:15 -05:00
Paulus Schoutsen a5170340a3 Fix dangling task for unifiprotect (#88300) 2023-02-16 22:05:06 -06:00
Jesse Hills a26d41f260 Implement Switchbot Blind Tilt (#86591)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: BelowAverageDeveloper <90269575+BelowAverageDev@users.noreply.github.com>
2023-02-16 21:06:02 -06:00
Paulus Schoutsen 6cab27f378 Add support for background tasks in HA (#88265)
* Add support for background tasks

* make name mandatory for background tasks

* Update docstring

* async_create_background_task

* Grammar
2023-02-16 20:39:29 -05:00
J. Nick Koston 2ce631733a Switch ld2410_ble to use no_devices_found (#88270) 2023-02-16 22:52:57 +01:00
J. Nick Koston a059cd7f80 Switch keymitt_ble to use no_devices_found (#88271)
* Switch keymitt_ble to use no_devices_found

* Switch keymitt_ble to use no_devices_found
2023-02-16 22:52:29 +01:00
J. Nick Koston 06b1bf9c92 Switch led_ble to use no_devices_found (#88269) 2023-02-16 22:51:57 +01:00
J. Nick Koston ffa7cac38e Switch switchbot to use no_devices_found (#88268) 2023-02-16 22:51:27 +01:00
J. Nick Koston b2a1df19a0 Switch yalexs_ble to use no_devices_found (#88267) 2023-02-16 22:50:49 +01:00
epenet 3873484849 Refactor json tests to align with new code (#88247)
* Refactor json tests to align with new code

* Use tmp_path
2023-02-16 21:34:19 +01:00
Michael Hansen dc30210237 Use blocking in intent service calls and verify results (#88035)
* Use blocking in service calls and verify result

* Block for 2 seconds and update states after

* Small timeout in service call to allow exceptions

* Move sun test
2023-02-16 14:01:41 -05:00
J. Nick Koston 5fe8829cf6 Speed up compiling hourly statistics (#88225) 2023-02-16 12:55:25 -06:00
mkmer d46bbcf5a3 Bump aiosomecomfort to 0.0.8 (#88195)
* Update is_aux_heat in runtime

* Fix merge mistake

* Merge fixes 2.0

* Bump aiosomecomfort to 0.0.8
2023-02-16 13:54:26 -05:00
epenet 8c821c8969 Add JSON support to load_fixture (#88076)
* Add JSON support to load_fixture

* More tests

* Remove lru_cache on load_json
2023-02-16 19:40:47 +01:00
Paulus Schoutsen bc2b35765e Stop processing when we hit bad encryption in mobile app (#88150)
* Stop processing when we hit bad encryption

* Accept webhook payload that is a list

* Rename functions because we import them

* Revert a debug thing

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-16 13:05:16 -05:00
Jan Bouwhuis 57738fbb8c Replace deprecated SSLContext constant PROTOCOL_TLS in mqtt (#88214)
Replace deprecated SSLContext constants
2023-02-16 13:01:28 -05:00
J. Nick Koston c79157208b Add python 3.11 to the CI (#88038)
* Remove profiler.memory service

guppy3 is not python3.11 compat
https://github.com/zhuyifei1999/guppy3/issues/41

This service will return if and when guppy3 becomes
python3.11 compat

* squash

* temp remove

* temp dump tests

* temp dump tests

* drop a few more to get a run

* drop a few more to get a run

* Account for changed python3.11 enum.IntFlag behavior in zha

There may be additional changes needed, but I could only
see what needed to be updated based on the tests

* merge

* restore

* restore

* legacy value

* tweak a bit for the python 3.11 timings

* block cchardet

* conditional

* adjust est

* test

* not yet

* tweak

* give a little leeway for timing

* Fix otbr tests

* Increase database test timeout

It looks like we need a little more time to run
with the addiitonal tests in #87019

* Increase database test timeout

It looks like we need a little more time to run
with the addiitonal tests in #87019

* Fix aprs tests with python 3.11

* merge fix

* hints

* Update homeassistant/package_constraints.txt

* Update script/gen_requirements_all.py

* Constrain uamqp for Python 3.10 only

* Bump vulcan-api to 2.3.0

see https://github.com/kapi2289/vulcan-api/pull/126
see https://github.com/home-assistant/core/pull/88038
see https://github.com/home-assistant/docker/pull/260

* add ban

* Bump python-matter-server to 2.1.1

* revert

* Update tests/asyncio_legacy.py

---------

Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-02-16 12:38:32 -05:00
J. Nick Koston 6c542bd314 Speed up formatting statistics data (#88228)
* Speed up fetching statistics by using attrgetter

Uses the faster native code vs a lambda
https://github.com/python/cpython/blob/4aeae286715a3a9fa624429733582917606000c3/Modules/_operator.c#L1406

* avoid dict lookups

* avoid dict lookups

* naming

* split

* Revert "split"

This reverts commit 0ead89603d.

* Revert "Revert "split""

This reverts commit 20014af168.

* tweak

* tweak

* tweak

* tweak

* Revert "tweak"

This reverts commit d5e4aac7c5.

* Revert "tweak"

This reverts commit 0cebae33f8.

* Revert "tweak"

This reverts commit 0184e47e24.

* comment

* comment

* comment

* reduce local vars

* less
2023-02-16 12:34:20 -05:00
Kevin Stillhammer 792538c124 Fix default value for departure time in google_travel_time (#88255)
Fix default value for departure time
2023-02-16 12:28:39 -05:00
J. Nick Koston d2277fa6db Fix restore of MQTT subscriptions from reload (#88220) 2023-02-16 11:14:26 -06:00
Marcel van der Veldt d03655cb6f Bump python-matter-server to 2.1.1 (#88258) 2023-02-16 18:53:03 +02:00
J. Nick Koston cd57cdf8c4 Bump vulcan-api to 2.3.0 for python 3.11 (#88254)
Bump vulcan-api to 2.3.0

see https://github.com/kapi2289/vulcan-api/pull/126
see https://github.com/home-assistant/core/pull/88038
see https://github.com/home-assistant/docker/pull/260
2023-02-16 18:48:43 +02:00
epenet 88cfbf6a34 Add type hints to integration tests (part 22) (#88234) 2023-02-16 14:08:03 +01:00
Marc Mueller 567c7f4f99 Update pydantic to 1.10.5 (#88250) 2023-02-16 14:01:59 +01:00
Erik Montnemery 601ac3d9a9 Drop unnecessary copy from entitydescription.name to _attr_name (#88251) 2023-02-16 13:54:32 +01:00
epenet ba23816a0c Inverse json import logic (#88099)
* Fix helpers and util

* Adjust components

* Move back errors

* Add report

* mypy

* mypy

* Assert deprecation messages

* Move test_json_loads_object

* Adjust tests

* Fix rebase

* Adjust pylint plugin

* Fix plugin

* Adjust references

* Adjust backup tests
2023-02-16 11:37:57 +01:00
Franck Nijhof 580869a9a6 Update typing-extensions to 4.5.0 (#88236) 2023-02-16 11:21:54 +01:00
epenet dab8557951 Add type hints to integration tests (part 21) (#88233) 2023-02-16 11:15:26 +01:00
Brandon Rothweiler 0748e12341 Fix capitalization of OwnTone integration (#88219) 2023-02-16 10:16:32 +01:00
J. Nick Koston c83ea297b5 Refactor zeroconf task handling (#88204)
* Refactor zeroconf task handling

- Avoid the need to create tasks for most callbacks
- Fixes the untracked task that could get unexpectedly GCed

* be consistant

* be consistant

* fix zeroconf tests

* runtime

* Revert "runtime"

This reverts commit 19e6b61837.

* precalc

* refactor

* tweak

* update tests
2023-02-15 21:44:11 -05:00
J. Nick Koston c0e22be7a8 Fix allowing identical flows to be created before startup (#88213)
The check for identical flows only worked after
the start event. We now check against pending
flows as well

If startup took a while we could end up
with quite the thundering herd
2023-02-15 21:36:00 -05:00
rappenze 57cea6d637 Update pyfibaro to version 0.6.8 (#88203)
Update pyfibaro library to version 0.6.8
2023-02-15 23:28:44 +01:00
Kevin Stillhammer a190bcdc3f Bump voluptuous-serialize to 2.6.0 (#88211) 2023-02-15 23:14:45 +01:00
Franck Nijhof d3ed8de232 Update Ruff to v0.0.247 (#88210)
* Update Ruff to v0.0.247

* Fix new found violations
2023-02-15 16:46:03 -05:00
Paulus Schoutsen a7e42798da 2023.2.5 (#88190) 2023-02-15 15:30:55 -05:00
Franck Nijhof a1efd59760 Constrain uamqp for Python 3.10 only (#88198) 2023-02-15 14:24:31 -06:00
Ville Skyttä b5a686730c Let black infer target-version (#88199) 2023-02-15 21:12:54 +01:00
Marcel van der Veldt 684845fd8c Bump python-matter-server to 2.1.0 (#88192)
* Bump python-matter-server to 2.1.0

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-15 13:24:01 -05:00
Marcel van der Veldt dfe0ededa0 Bump python-matter-server to 2.1.0 (#88192)
* Bump python-matter-server to 2.1.0

* Fix tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-15 13:23:03 -05:00
J. Nick Koston c8b827b46b Fix aprs tests with python 3.11 (#88189)
* Fix aprs tests with python 3.11

* hints
2023-02-15 13:03:48 -05:00
Erik Montnemery 80e2f96097 Add WS command thread/delete_dataset (#88077)
* Add WS command thread/delete_dataset

* Return not_allowed when trying to delete the preferred dataset
2023-02-15 12:55:10 -05:00
J. Nick Koston 4221433ca6 Account for changed python3.11 enum.IntFlag 0 behavior in zha (#88144) 2023-02-15 11:40:48 -06:00
Paulus Schoutsen 3e3936e783 backport try_parse_enum 2023-02-15 12:17:03 -05:00
epenet 80ee196fd8 Add type hints to integration tests (part 19) (#88178) 2023-02-15 18:07:40 +01:00
Jc2k f5a05c1bd2 Support HomeKit Controller Thread Provisioning (#87809) 2023-02-15 16:41:07 +00:00
J. Nick Koston 402170d49e Increase database test timeout (#88187) 2023-02-15 10:30:01 -06:00
Paulus Schoutsen 0d140426cc Bumped version to 2023.2.5 2023-02-15 11:14:27 -05:00
starkillerOG bbbc864a8c Bump reolink-aio to 0.4.2 (#88175) 2023-02-15 11:13:40 -05:00
Michał Huryn 1ca6c26312 Blebox fix thermobox reporting wrong state (#88169)
fix: fixed climate hvac_mode for when device is off
2023-02-15 11:12:45 -05:00
Mark Broadbent 2d293c19bf Update orjson to resolve segmentation fault during JSON serialisation (#88119)
Home Assistant uses orjson 3.8.5 that contains an issue[1] on musl libc
platforms that causes a segmentation fault.  This particularly affect
Home Assistant container installations reported in #87283 and #87522.

This updates the version to 3.8.6 that resolves the segmentation
fault during json serialisation.

[1] https://github.com/ijl/orjson/issues/335
2023-02-15 11:12:18 -05:00
Thomas Dietrich 634aff0006 Statistics component fix device_class for incremental source sensors (#88096)
* Return None device_class for incremental source sensors

* Ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Catch potential parsing error with enum
2023-02-15 11:11:25 -05:00
Gertjan 55fed18e3e Fixed float number validation in sensor component (#88074) 2023-02-15 11:11:24 -05:00
Ryan Fleming be5777ba59 Bump pyoctoprintapi to 0.1.11 (#88052)
Bump pyoctoprint to get camera url fixes
2023-02-15 11:11:12 -05:00
Paulus Schoutsen 8024a17025 Handle device reg fields not being valid data in openai conversion (#88047)
Handle device reg fields not being valid data
2023-02-15 11:10:15 -05:00
mkmer 97dab32a4c Bump AIOAladdinConnect 0.1.56 (#88041) 2023-02-15 11:09:15 -05:00
mkmer e3273a75da Honeywell disable detergent level by default (#88040)
* Disable fill by default

* Fix tests

* use TANK_FILL.get

* Remove None from attribute get
add reload to sensor test

* Typing
fix iteration error
2023-02-15 11:08:37 -05:00
Aaron Bach 7337cc8e89 Bump pyopenuv to 2023.02.0 (#88039) 2023-02-15 11:08:25 -05:00
Daniel Hjelseth Høyer 7a3fdc08a4 Update tibber lib 0.26.13 (#88018) 2023-02-15 11:07:15 -05:00
Jan Bouwhuis 03e9dff327 Allow resetting MQTT climate attributes and ignore empty values (#87936)
Allow reseting MQTT climate attributes
2023-02-15 16:31:49 +01:00
J. Nick Koston 61539686a4 Disable profiler.memory service with python 3.11 (#88136) 2023-02-15 16:20:47 +01:00
Erik Montnemery 6254200b37 Fix otbr tests (#88184) 2023-02-15 16:19:46 +01:00
mkmer 2af4d2152b Honeywell disable detergent level by default (#88040)
* Disable fill by default

* Fix tests

* use TANK_FILL.get

* Remove None from attribute get
add reload to sensor test

* Typing
fix iteration error
2023-02-15 16:01:20 +01:00
epenet a704e7b40d Add postgresql 12.14 to database tests (#88071)
* Add postgre 12.14 to database tests

* Rename jobs
2023-02-15 15:56:15 +01:00
Gertjan 66ba0cb1d3 Fixed float number validation in sensor component (#88074) 2023-02-15 15:53:44 +01:00
Ville Skyttä 93f23e7523 Do not round Huawei LTE LTE frequency values (#88127)
Suggest display precision 0 instead.

While at it, fix source info in frequency formatter docstring.
2023-02-15 15:28:35 +01:00
Michał Huryn cf11a30689 Blebox fix thermobox reporting wrong state (#88169)
fix: fixed climate hvac_mode for when device is off
2023-02-15 15:27:46 +01:00
Franck Nijhof c3a70a7ec5 Remove uamqp version constrain (#88176) 2023-02-15 15:24:58 +01:00
epenet 3a9adacdde Add type hints to integration tests (part 20) (#88179) 2023-02-15 15:23:34 +01:00
Franck Nijhof 793e51ac76 Enable Ruff SIM212 (#88181) 2023-02-15 15:22:34 +01:00
starkillerOG 951269e88c Bump reolink-aio to 0.4.2 (#88175) 2023-02-15 15:16:47 +01:00
Erik Montnemery 8613d60c5e Add WS command for discovering Thread routers (#88021)
* Add WS command for discovering Thread routers

* Fix type annotations

* Mock zeroconf in tests

* Key discovery by external MAC address

* Add tests

* Include hostname in data, allow missing fields

* Fix typo

* Include server instead of hostname
2023-02-15 15:15:29 +01:00
epenet c7fc90f8a0 Adjust imports in rflink test_init (#88177) 2023-02-15 15:11:22 +01:00
epenet ccf44d58cc Expose DEVICE_CLASS_STATE_CLASSES sensor constant (#88172) 2023-02-15 14:48:27 +01:00
Franck Nijhof f67ebcade1 Enable Ruff SIM201 (#88171) 2023-02-15 14:43:02 +01:00
epenet 443d446cbf Remove invalid pragma: no cover (#88173) 2023-02-15 14:39:12 +01:00
Franck Nijhof ed79265843 Enable Ruff PT006 (#88165)
* Enable Ruff PT006

* Adjust existing cases

* Fix tests

* Remove unneeded parentheses
2023-02-15 14:09:50 +01:00
J. Nick Koston 6f38bc274a Fix netatmo with python 3.11 (#88093) 2023-02-15 14:02:33 +01:00
epenet b21bf8763e Fix mobile app regression accepting sensor states (#88164)
* Fix mobile app regression accepting sensor states

* Adjust tests
2023-02-15 07:17:19 -05:00
Franck Nijhof 9030ca05b1 Enable Ruff SIM118 (#87772) 2023-02-15 12:39:12 +01:00
epenet 2cdc741900 Add type hints to integration tests (part 17) (#88163) 2023-02-15 11:14:04 +01:00
Mike Heath 04e9c7748f Support Fully Kiosk Browser device discovery via MQTT (#88109)
Support FKB device discovery via MQTT
2023-02-15 11:11:04 +01:00
epenet 88444b2e0c Add type hints to integration tests (part 16) (#88008) 2023-02-15 10:50:02 +01:00
Jan Bouwhuis 09b509da94 Add note on always subscribing to the MQTT broker when topics are shared (#88159)
Add note on always subscribing
2023-02-15 10:46:57 +01:00
epenet a1b7842df2 Fix incorrect reference to json WriteError (#88161) 2023-02-15 10:40:26 +01:00
epenet 6c430e03bc Add type hints to integration tests (part 14) (#88005) 2023-02-15 10:31:43 +01:00
Thomas Dietrich a0e0feb444 Statistics component fix device_class for incremental source sensors (#88096)
* Return None device_class for incremental source sensors

* Ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Fix ignore linting error

* Catch potential parsing error with enum
2023-02-15 10:22:09 +01:00
Maciej Bieniek 95bb019f71 Do not reload Shelly TRV entry when not needed (#88037)
* Do not reload the entry when the target temperature changes

* Do not reload the entry when the mode changes

* Increase test coverage

* Increase test coverage
2023-02-15 10:21:53 +01:00
Maciej Bieniek cd4ce86f07 Add support for triple_push event for Shelly gen2 devices (#88081)
* Add support for triple_push event

* Sort

* Fix tests
2023-02-15 10:20:27 +01:00
epenet 50cbabb2d8 Add type hints to integration tests (part 15) (#88006) 2023-02-15 10:00:49 +01:00
Jan Bouwhuis 6c23d6abfe Fix doc string in mqtt test (#88138)
Fix docstr
2023-02-15 05:56:03 +01:00
J. Nick Koston cc8c42ea7a Bump docker base to 2023.02.0 (#88084)
* Bump base image to 2023.02.0

changelog: https://github.com/home-assistant/docker-base/compare/2022.11.0...2023.02.0

* Bump base image to 2023.02.0

changelog: https://github.com/home-assistant/docker-base/compare/2022.11.0...2023.02.0
2023-02-14 20:34:54 -05:00
Brandon Rothweiler 7cf5fd5952 Fix typo in OpenAI prompt (#88137) 2023-02-14 20:33:58 -05:00
dcmeglio 361b39c4c3 Move denonavr state update callbacks to async_added_to_hass (#88147)
Move state update callbacks to async_added_to_hass.
2023-02-15 02:20:55 +01:00
J. Nick Koston 0c35c6a313 Fix enum try_parse test for python3.11 (#88131) 2023-02-14 15:29:44 -06:00
J. Nick Koston 80b25d6f40 Bump pyunifiprotect to 4.7.0 for python 3.11 (#88130) 2023-02-14 15:29:34 -06:00
J. Nick Koston 5f69ae4360 Fix exception ordering in yeelight for python 3.11 (#88134) 2023-02-14 15:17:22 -06:00
Carlos Cristobal 9756131473 Replace Fitbit weight SensorStateClass measurement with total (#88118)
* Remove SensorStateClass.MEASUREMENT from weight

* Using SensorStateClass.TOTAL for weight
2023-02-14 16:15:09 -05:00
Jan Bouwhuis aaf8196997 Fix race on check MQTT subscriptions (#88117)
* Check MQTT subscriptions under paho client lock

* Check simple subscriptions first

* Apply suggestion
2023-02-14 15:39:33 -05:00
Joakim Plate 8529bcef2a Bump arcam dependency to 1.2.1 (#88125) 2023-02-14 14:31:29 -06:00
Mark Broadbent 568e0ae029 Update orjson to resolve segmentation fault during JSON serialisation (#88119)
Home Assistant uses orjson 3.8.5 that contains an issue[1] on musl libc
platforms that causes a segmentation fault.  This particularly affect
Home Assistant container installations reported in #87283 and #87522.

This updates the version to 3.8.6 that resolves the segmentation
fault during json serialisation.

[1] https://github.com/ijl/orjson/issues/335
2023-02-14 15:26:52 -05:00
J. Nick Koston a149d67b30 Fix twentemilieu diagnostics with python 3.11 (#88121) 2023-02-14 15:26:03 -05:00
J. Nick Koston 44e8e808a1 Fix apprise tests for python 3.11 (#88126) 2023-02-14 15:25:25 -05:00
Paulus Schoutsen 2e74e75177 Graphite flaky test fix (#88115) 2023-02-14 15:21:05 -05:00
J. Nick Koston aaeb909148 Fix wemo tests with py3.11 (#88123) 2023-02-14 13:58:57 -06:00
J. Nick Koston 4d90d3cd91 Fix vera tests with python3.11 (#88124) 2023-02-14 13:58:44 -06:00
J. Nick Koston e7d5943c90 Fix zwave_me tests with python 3.11 (#88122) 2023-02-14 13:58:29 -06:00
Martin Hjelmare d0a9d65875 Fix august untracked task (#88107) 2023-02-14 20:25:29 +01:00
Robert Svensson 3d8e8293d6 Bump pydeconz to v107 (#88114) 2023-02-14 13:48:24 -05:00
Aaron Bach 6bb7a7225d Revert "Add a calendar entity to Ridwell (#86117)" (#88106)
This reverts commit 16a5275461.
2023-02-14 10:23:32 -07:00
J. Nick Koston f237bb14ca Add strict typing to yalexs_ble (#88086)
* Add strict typing to yalexs_ble

* Add strict typing to yalexs_ble

* Add strict typing to yalexs_ble
2023-02-14 11:38:51 -05:00
J. Nick Koston f4ef64a7d7 Fix rmvtransport integration with py3.11 (#88094)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:32:36 -05:00
J. Nick Koston 85b852d8ad Fix cloud integration with py3.11 (#88088)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:31:52 -05:00
J. Nick Koston 692920e01e Fix hassio integration with py3.11 (#88090)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:31:01 -05:00
J. Nick Koston e6b7f1d487 Fix forked_daapd integration with py3.11 (#88091)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 11:30:16 -05:00
Teemu R 5335dfbc67 Prefer effect over other light settings for tplink (#85642) 2023-02-14 10:29:11 -06:00
J. Nick Koston c54500cb1f Fix invalid spec in mqtt tests for py3.11 (#88092)
Fix invalid spec in mqtt tests

unittest.mock.InvalidSpecError: Cannot spec a Mock object.
2023-02-14 11:28:46 -05:00
J. Nick Koston 9593d9610d Fix sleepiq with python 3.11 (#88098)
There is a breaking change in enum behavior

see https://blog.pecar.me/python-enum
2023-02-14 11:26:33 -05:00
J. Nick Koston 3e8a6cb3b7 Fix unifiprotect with python 3.11 (#88101)
There are some breaking changes to Enum https://blog.pecar.me/python-enum

needs https://github.com/AngellusMortis/pyunifiprotect/pull/263 but
does not need to be in this PR
2023-02-14 11:26:14 -05:00
Teemu R 95476f46c2 Shorten tplink update cycle (#87399) 2023-02-14 10:15:47 -06:00
Martin Hjelmare 4b58800530 Fix apple tv untracked task (#88102) 2023-02-14 17:14:17 +01:00
J. Nick Koston f11ba1b7cb Fix group integration with py3.11 (#88089)
In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
2023-02-14 10:24:10 -05:00
J. Nick Koston d8ee60ee44 Change DeviceAutomationDetails to use a dataclass for py3.11 (#88087)
A NamedTuple can no longer be an enum value in py3.11
2023-02-14 10:22:57 -05:00
Daniel Hjelseth Høyer e96210fced Fix Tibber stats (#88025) 2023-02-14 08:14:10 -06:00
Aaron Bach 16a5275461 Add a calendar entity to Ridwell (#86117) 2023-02-14 06:58:41 -07:00
Martin Hjelmare e1a5d5a749 Refactor tradfri sensor tests (#88026) 2023-02-14 13:35:27 +01:00
Matthias Alphart d7861e79c5 Update xknx to 2.5.0 (#88069) 2023-02-14 12:44:43 +01:00
epenet 7d7ee1cead Cleanup renault services (#88064) 2023-02-14 12:05:23 +01:00
Erik Montnemery ee6886dabd Add dormakaba_dkey door and dead bolt binary sensors (#87990)
* Add dormakaba_dkey door and dead bolt binary sensors

* Rename dead bolt sensor

* Fix docstring

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-14 11:55:58 +01:00
Paulus Schoutsen fa5c60c9ee Handle device reg fields not being valid data in openai conversion (#88047)
Handle device reg fields not being valid data
2023-02-14 11:45:27 +01:00
Ryan Fleming 1431979eab Bump pyoctoprintapi to 0.1.11 (#88052)
Bump pyoctoprint to get camera url fixes
2023-02-14 08:40:03 +01:00
mkmer 01cd60fc12 Bump AIOAladdinConnect 0.1.56 (#88041) 2023-02-13 23:46:46 -05:00
J. Nick Koston 94386b6674 Bump home-assistant-bluetooth to 1.9.3 (#88051) 2023-02-13 23:28:30 -05:00
J. Nick Koston c1039fab4a Bump dbus-fast to 1.84.1 (#88042) 2023-02-13 23:19:49 -05:00
J. Nick Koston 8a2d81fe4b Bump zeroconf to 0.47.3 (#88045)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.47.1...0.47.3
2023-02-13 23:19:36 -05:00
Paulus Schoutsen d54f59478f Keep task references while running (#87970)
* Keep task references while running

* Update pilight tests pointing at correct logger call

* Fix graphite tests

* Fix profiler tests

* More graphite test fixes

* Remove extra sleep

* Fix tests

* Shutdown background tasks as part of stage 1

* Remove unnecessary sleep in test

* Remove unused method on mock hass

* Skip on cancelled too

* Remove background tasks

* Test trigger variables without actually sleeping

* Fix graphite

* One more graphite grrrrrrr
2023-02-13 23:16:59 -05:00
J. Nick Koston e41af8928b Restore original aiohttp cancelation behavior (#88046) 2023-02-13 22:00:36 -06:00
J. Nick Koston 484027023c Fix new stats rows creating data in the old created column (#88013) 2023-02-13 21:53:37 -06:00
dcmeglio 3d9d79684d Add support for telnet connections for Denonavr integration (#85980)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 18:36:09 -06:00
Aaron Bach b4c343b1a2 Bump pyopenuv to 2023.02.0 (#88039) 2023-02-13 16:40:49 -07:00
Daniel Hjelseth Høyer e0235fbb30 Update tibber lib 0.26.13 (#88018) 2023-02-13 16:46:25 -06:00
epenet efef915fc7 Add mariadb 10.3.32 to database tests (#87741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 16:28:39 -06:00
Assaf Inbal d8ec259e9a Add mjpeg camera stream_source (#86908)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 16:12:12 -06:00
Erik Montnemery 4ca0a24f87 Increase test scope of MariaDB + PostgreSQL tests (#87019)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 15:58:13 -06:00
J. Nick Koston 026b4f5307 Bump aiohttp to 3.8.4 (#88032) 2023-02-13 15:52:20 -06:00
Martin Hjelmare ab2ab1573e Refactor tradfri diagnostics tests (#88017) 2023-02-13 18:39:48 +01:00
Paulus Schoutsen 2fa35e174a 2023.2.4 (#88007) 2023-02-13 10:06:16 -05:00
Martin Hjelmare 8993a36e27 Refactor tradfri fan tests (#87999) 2023-02-13 15:40:21 +01:00
Paulus Schoutsen 3b4efba606 Bumped version to 2023.2.4 2023-02-13 09:24:50 -05:00
J. Nick Koston fb456a66c6 Bump aioesphomeapi to 13.3.1 (#87969)
* Bump aioesphomeapi to 13.3.0

We probably need to include https://github.com/esphome/aioesphomeapi/pull/382
as well in another bump

* bump
2023-02-13 09:23:32 -05:00
Florent Thoumie cd5042e2c2 Fix iaqualink exception handling after switch to httpx (#87898)
Fix exception handling after switch to httpx
2023-02-13 09:22:57 -05:00
J. Nick Koston 65c8895bf7 Retrigger Bluetooth discovery when calling async_rediscover_address (#87884)
* Retrigger Bluetooth discovery when calling async_rediscover_address

* Retrigger Bluetooth discovery when calling async_rediscover_address

* tweak
2023-02-13 09:22:56 -05:00
G Johansson e8081c6159 Fix unbound variable in Group sensor (#87878)
* group bound last

* Add test
2023-02-13 09:22:55 -05:00
Diogo Gomes da2c1c1142 Bump pyipma to 3.0.6 (#87867)
bump pyipma
2023-02-13 09:22:44 -05:00
J. Nick Koston 250f032a0d Ensure recorder still shuts down if the final commit fails (#87799) 2023-02-13 09:22:14 -05:00
Avi Miller ec755b34f0 Bump aiolifx to 0.8.9 (#87790)
Signed-off-by: Avi Miller <me@dje.li>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-13 09:21:54 -05:00
starkillerOG f8075f2dfd Bump reolink-aio to 0.4.0 (#87733)
bump reolink-aio to 0.4.0
2023-02-13 09:20:42 -05:00
John Pettitt 8780db82e5 Fix bad battery sense in ambient_station (#87668) 2023-02-13 09:18:09 -05:00
J. Nick Koston 09970a083b Bump yalexs_ble to 1.12.12 to fix reconnect when services fail to resolve (#87664)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty
2023-02-13 09:17:54 -05:00
J. Nick Koston a779e43e2a Bump cryptography to 39.0.1 for CVE-2023-23931 (#87658)
Bump cryptography to 39.0.1

CVE-2023-23931
2023-02-13 09:16:57 -05:00
Luke 1603a0b037 Bump oralb-ble to 0.17.5 (#87657)
fixes undefined
2023-02-13 09:16:56 -05:00
Ernst Klamer 151b33a4ab Keep sleepy xiaomi-ble devices that don't broadcast regularly available (#87654)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-13 09:16:18 -05:00
H. Balázs 03ba7672ea Upgrading volvooncall to 0.10.2 (#87572)
* Upgrading volvooncall to 0.10.2

This release fixes the incorrect remaining time of charging the battery

* updating volvooncall test requirements

* Updating volvooncall requirements

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-13 09:14:01 -05:00
jan iversen f2697b3e96 Correct sensor restore entity in modbus (#87563)
* Correct sensor restore entity.

* Review comments.
2023-02-13 09:12:09 -05:00
starkillerOG 0a69f825d2 Reolink unregistered webhook on unexpected error (#87538) 2023-02-13 09:12:08 -05:00
starkillerOG 640f5f41cc Netgear ssdp discovery abort if no serial (#87532)
fixes undefined
2023-02-13 09:11:31 -05:00
J. Nick Koston ae06d9fd5c Bump aioesphomeapi to 13.3.1 (#87969)
* Bump aioesphomeapi to 13.3.0

We probably need to include https://github.com/esphome/aioesphomeapi/pull/382
as well in another bump

* bump
2023-02-13 09:07:56 -05:00
J. Nick Koston 03eea7bd3f Avoid subprocess memory copy when c library supports posix_spawn (#87958)
* use posix spawn on alpine

* Avoid subprocess memory copy when c library supports posix_spawn

By default python 3.10 will use the fork() which has to
copy all the memory of the parent process (in our case
this can be huge since Home Assistant core can use
hundreds of megabytes of RAM). By using posix_spawn
this is avoided.

In python 3.11 vfork will also be available
https://github.com/python/cpython/issues/80004#issuecomment-1093810689
https://github.com/python/cpython/pull/11671 but we won't
always be able to use it and posix_spawn is considered safer
https://bugzilla.kernel.org/show_bug.cgi?id=215813#c14

The subprocess library doesn't know about musl though
even though it supports posix_spawn https://git.musl-libc.org/cgit/musl/log/src/process/posix_spawn.c
so we have to teach it since it only has checks for glibc
https://github.com/python/cpython/blob/1b736838e6ae1b4ef42cdd27c2708face908f92c/Lib/subprocess.py#L745

The constant is documented as being able to be flipped here:
https://docs.python.org/3/library/subprocess.html#disabling-use-of-vfork-or-posix-spawn

* Avoid subprocess memory copy when c library supports posix_spawn

By default python 3.10 will use the fork() which has to
copy memory of the parent process (in our case
this can be huge since Home Assistant core can use
hundreds of megabytes of RAM). By using posix_spawn
this is avoided and subprocess creation does not
get discernibly slow the larger the Home Assistant
python process grows.

In python 3.11 vfork will also be available
https://github.com/python/cpython/issues/80004#issuecomment-1093810689
https://github.com/python/cpython/pull/11671 but we won't
always be able to use it and posix_spawn is considered safer
https://bugzilla.kernel.org/show_bug.cgi?id=215813#c14

The subprocess library doesn't know about musl though
even though it supports posix_spawn https://git.musl-libc.org/cgit/musl/log/src/process/posix_spawn.c
so we have to teach it since it only has checks for glibc
https://github.com/python/cpython/blob/1b736838e6ae1b4ef42cdd27c2708face908f92c/Lib/subprocess.py#L745

The constant is documented as being able to be flipped here:
https://docs.python.org/3/library/subprocess.html#disabling-use-of-vfork-or-posix-spawn

* missed some

* adjust more tests

* coverage
2023-02-13 09:02:51 -05:00
epenet cf2fcdfba1 Add mariadb 10.6.10 to database tests (#87989) 2023-02-13 14:42:04 +01:00
epenet ea11a30a35 Add type hints to integration tests (part 13) (#87998) 2023-02-13 14:38:37 +01:00
Paulus Schoutsen c557cd2b1e Make all history stats tests async (#87973) 2023-02-13 14:34:28 +01:00
epenet 1e352b60df Add type hints to integration tests (part 11) (#87996) 2023-02-13 14:22:49 +01:00
Erik Montnemery 8f2a764a43 Adjust suggested_display_precision according to unit conversion (#87614) 2023-02-13 13:55:12 +01:00
epenet ea29cdfe83 Add type hints to integration tests (part 12) (#87997) 2023-02-13 13:03:51 +01:00
G Johansson 896dd1a36b Change name to entity_id Text platform error messages (#87963) 2023-02-13 12:51:38 +01:00
mletenay ea94a2fbfd Add support for 4 MPTT inverter (#86901) 2023-02-13 12:49:11 +01:00
Franck Nijhof b0146618cb Update pytest-asyncio to 0.20.3 (#87995) 2023-02-13 12:40:19 +01:00
Jan Bouwhuis 950ee34514 Correct typing on hass_storage fixure (#87986)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-13 12:12:34 +01:00
David Bonnes dc8ceaf4bf Change geniushub codeowner (#87918) 2023-02-13 12:11:38 +01:00
Franck Nijhof f1daeabff0 Add homeassistant.reload_all service (#87769) 2023-02-13 12:09:29 +01:00
epenet 03710e58b5 Add type hints to integration tests (part 9) (#87983) 2023-02-13 12:06:51 +01:00
Franck Nijhof 6359775cfc Add more entities for Elgato Key Light Mini (#87793)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-13 11:54:50 +01:00
starkillerOG 3a9caeffe5 Reolink late review comments (#87991)
late review comments
2023-02-13 11:47:39 +01:00
epenet 89e4ee5320 Add type hints to integration tests (part 8) (#87982) 2023-02-13 11:13:48 +01:00
Erik Montnemery 575f7c4205 Add dormakaba_dkey battery sensor (#87975)
* Add dormakaba_dkey battery sensor

* Update .coveragerc

* Apply suggestion from code review

* Update .coveragerc
2023-02-13 11:09:23 +01:00
epenet 9404a107b2 Add type hints to integration tests (part 10) (#87985) 2023-02-13 10:25:26 +01:00
Erik Montnemery 3f910b49ae Fix sensor unit conversion (#87978) 2023-02-13 10:08:07 +01:00
epenet b68f502769 Add type hints to integration tests (part 7) (#87980) 2023-02-13 09:53:09 +01:00
epenet b9beed4624 Add type hints to integration tests (part 6) (#87979) 2023-02-13 09:45:11 +01:00
Joakim Sørensen e842f90767 Add recorder engine name and version to analytics (#87784)
* Add recorder to analytics

* Add test

* Add recorder to after_dependencies

* Add version

* dialect can not be None
2023-02-13 09:18:12 +01:00
G Johansson 9008556457 Change name to entity_id Select platform error messages (#87962) 2023-02-12 22:54:04 +01:00
G Johansson 824a0475ae Change name to entity_id Number platform error messages (#87961) 2023-02-12 22:26:25 +01:00
racsa1 6ca4c5cfe7 Bump pydaikin 2.9.0 (#87067)
Co-authored-by: rsa <>
2023-02-12 22:23:56 +01:00
G Johansson 8c00f435a6 Change name to entity_id update platform error messages (#87960) 2023-02-12 22:18:09 +01:00
Luke bb4d6c0d2c Rework user_input check in config flow scaffold (#87820)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-12 22:02:14 +01:00
Raman Gupta 65d7242c22 Bump zwave-js-server-python to 0.45.2 (#87822) 2023-02-12 22:01:37 +01:00
J. Nick Koston 7b9293941e The recorder/statistic(s)_during_period websocket API now require the statistic_id(s) field (#87937) 2023-02-12 14:51:10 -06:00
rappenze 5f4a2a713c Remove deprecated fibaro yaml config (#87939) 2023-02-12 21:50:50 +01:00
Jan Bouwhuis 666aace8a2 Complete partly implemented type hints for dict on MQTT platforms (#87839) 2023-02-12 21:47:38 +01:00
starkillerOG 168d307762 Netgear allow to remove old devices (#87849) 2023-02-12 21:45:54 +01:00
Ernst Klamer f96e8c82e8 Bump bthome-ble to 2.5.2 (#87862) 2023-02-12 21:44:08 +01:00
J. Nick Koston d1e1734fc7 Use PidfdChildWatcher by default when available (#87951)
This is a backport from cpython 3.12

https://docs.python.org/3/library/asyncio-policy.html
> PidfdChildWatcher is a “Goldilocks” child watcher implementation. It doesn’t require signals or threads, doesn’t interfere with any processes launched outside the event loop, and scales linearly with the number of subprocesses launched by the event loop. The main disadvantage is that pidfds are specific to Linux, and only work on recent (5.3+) kernels.

https://github.com/python/cpython/pull/98024
There are some additional fixes in cpython 3.12
in https://github.com/python/cpython/pull/94184
when there is no event loop running in the main thread
but this is not a problem we have
2023-02-12 15:41:55 -05:00
Jan Bouwhuis 71b67e20e4 Improve MQTT Callable type hints (#87838) 2023-02-12 21:24:59 +01:00
J. Nick Koston 1a35c2d805 Avoid creating a task when waiting for the MQTT mid (#87887) 2023-02-12 14:24:55 -06:00
J. Nick Koston f2fb6a9a60 Optimize mqtt matchers (#87853) 2023-02-12 14:24:35 -06:00
Ernst Klamer 18d3e4dca8 Fix kegtron state class for volume sensors (#87950) 2023-02-12 21:22:21 +01:00
J. Nick Koston 753c7abaf4 Make mqtt websocket subscribe use callback functions (#87885)
Nothing was being awaited so this was needlessly generating tasks when the callbacks fired
2023-02-12 21:05:37 +01:00
J. Nick Koston 1d4d688af3 Make mqtt discovery use callback functions (#87883) 2023-02-12 20:41:03 +01:00
Steffen Zimmermann 87a8a3c166 Bump wiffi to 1.1.2 (#87798) 2023-02-12 20:25:03 +01:00
jan iversen a88676384a Bump pymodbus to v3.1.3 (#87841) 2023-02-12 20:21:59 +01:00
J. Nick Koston ac97097167 Speed up template lru_caches (#87942)
By avoiding the argument unpacking these functions are faster
and reduce stack overhead
2023-02-12 14:13:13 -05:00
Chris Straffon 132bc5a4f2 Update growatt_server owners (#87804) 2023-02-12 20:12:05 +01:00
J. Nick Koston e19f8595fa Small cleanups to template helper (#87944)
- reduce dict lookups
- avoid split_entity_id
2023-02-12 14:11:48 -05:00
rappenze 69dc50c917 Small code improvements fibaro integration (#87949) 2023-02-12 19:56:02 +01:00
epenet 728f62b1ec Add type hints to integration tests (part 5) (#87850) 2023-02-12 19:39:48 +01:00
Erik Montnemery 00c356e1ce Enable strict typing for the dormakaba_dkey integration (#87934) 2023-02-12 19:00:35 +01:00
Klaas Schoute 60bcbd0473 Bump gridnet to v4.2.0 (#87903) 2023-02-12 18:53:05 +01:00
J. Nick Koston aa8927c98c Speed up loops with jinja templates (#87945) 2023-02-12 18:40:55 +01:00
Allen Porter 4d186366bd Improve Google Calendar config flow error message when API disabled (#87889) 2023-02-12 18:28:44 +01:00
David Bonnes ffc60d9091 Bump incomfort client library to 0.5.0 (#87877) 2023-02-12 18:27:08 +01:00
J. Nick Koston b054296c42 Speed up selecting which statistics to compile (#87938) 2023-02-12 18:15:27 +01:00
Erik Montnemery 10b7c273b1 Bump py-dormakaba-dkey to 1.0.2 (#87935) 2023-02-12 09:12:33 -06:00
starkillerOG 97699d1e9d Bump reolink-aio to 0.4.1 (#87933) 2023-02-12 09:12:20 -06:00
Dustin Rodrigues c7e9afcef8 Fix typo in requires-python hassfest error message (#87896) 2023-02-12 09:11:56 -06:00
Erik Montnemery 4db40810dd Add support for dormakaba dKey locks (#87501)
* Add support for dormakaba dKey locks

* Pylint

* Address review comments

* Add test for already configured entry

* Add user flow

* Address review comments

* Simplify config flow

* Add tests

* Sort manifest

* Remove useless _abort_if_unique_id_configured

* Remove config entry update listener

* Simplify user flow

* Remove startup event

* Revert "Simplify user flow"

This reverts commit 0ef9d1c6bb.
2023-02-12 13:46:31 +01:00
J. Nick Koston 7aa1359c4a Cache try_parse_enum (#87911) 2023-02-12 03:57:36 -06:00
Florent Thoumie 6680e819e5 Fix iaqualink exception handling after switch to httpx (#87898)
Fix exception handling after switch to httpx
2023-02-12 09:04:59 +01:00
J. Nick Koston 32a6280139 Optimize _sorted_statistics_to_dict to avoid checking which types each loop (#87901)
* Optimize _sorted_statistics_to_dict to avoid checking which types each loop

* tweak

* avoid some more dict lookups
2023-02-11 23:21:40 -05:00
J. Nick Koston 85649ec589 Reduce overhead to see if an entity is recorded (#87912)
A significant chunk of list_statistic_ids was checking if the entity
was recorded because it had to get the recorder instance over and
over
2023-02-11 23:21:16 -05:00
J. Nick Koston e899754919 Bump sqlalchemy to 2.0.3 (#87913)
changes: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.3
2023-02-11 23:20:22 -05:00
Diogo Gomes d0d2c3e7c3 Bump pyipma to 3.0.6 (#87867)
bump pyipma
2023-02-11 23:18:34 -05:00
rappenze e1340e6ed4 Replace fiblary3 with pyfibaro library (#83500)
* Replace fiblary3 with pyfibaro library

* Fix some missing replacements for pyfibaro library

* Remove debug code which was committed accidentially

* Use fibaro_parent_id in another place

* Fix some bugs

* Move more code to the library

* Move has_unit check to correct place
2023-02-11 22:13:12 +01:00
J. Nick Koston 86a93e9fce Optimize fetching statistics by avoiding recalculating time boundaries (#87859)
* predictive

* fix conversion error

* fix conversion error

* fix conversion error

* convert day to use new algo

* reduce
2023-02-11 11:41:57 -05:00
J. Nick Koston 34e2751f14 Retrigger Bluetooth discovery when calling async_rediscover_address (#87884)
* Retrigger Bluetooth discovery when calling async_rediscover_address

* Retrigger Bluetooth discovery when calling async_rediscover_address

* tweak
2023-02-11 16:59:51 +01:00
G Johansson 7aa79415c1 Fix unbound variable in Group sensor (#87878)
* group bound last

* Add test
2023-02-11 16:27:22 +01:00
epenet b7b82b1e3f Add more type hints to conftest.py (#87842)
* Add more type hints in conftest.py

* Adjust stop_hass

* Adjust mock_integration_frame

* Adjust pylint plugin
2023-02-11 13:48:53 +01:00
Joakim Sørensen 6d87ebc7de Delete empty typescript file in repository root (#87873)
Delete typescript file
2023-02-11 13:40:49 +01:00
epenet 9f688a564f Add type hints to integration tests (part 4) (#87848) 2023-02-11 08:26:13 +01:00
Ernst Klamer a385a00d08 Add support for Govee H5198 (#87864) 2023-02-10 15:56:30 -06:00
Jan Bouwhuis 41a92a872f Add missed type hint on MQTT device tracker test (#87847) 2023-02-10 22:42:56 +01:00
Jan Bouwhuis 0bf4896c7f Add type hints to MQTT init tests (#87402)
* Add hass type hint and `None` return type

* Add type hints on tmp_path

* Add registry hints

* Add caplog and hass_ws_client type hints

* Add type hints for MqttMockHAClientGenerator

* Add type hints MqttMockPahoClient

* Hints on fixtures `calls` and `record_calls`

* Other fixture type hints tweaks

* Add hints for mock_usename_password_set

* Update tests/components/mqtt/test_init.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* correct domain

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-10 18:38:37 +01:00
J. Nick Koston c35661947a Optimize fetching statistics by avoiding timestamp conversions (#87845)
* Optimize fetching statistics by avoiding timestamp conversions

* remove accidential unrelated change

* fix test

* recreate so we handle timezone changes
2023-02-10 11:26:46 -05:00
epenet 6a1cd75a67 Add MockHAClientWebSocket test helper (#87832)
* Add MockHAClientWebSocket test helper

* Add sample use

* Add missing type hint
2023-02-10 10:23:26 -05:00
epenet 0cf5e9fb4a Add type hints to integration tests (part 2) (#87789)
* Add type hints to integration tests (part 2)

* typo

* Improve analytics

* Improve automation

* Imrpove bluetooth
2023-02-10 16:05:26 +01:00
epenet fa7acb4f0d Add type hints to integration tests (part 3) (#87844) 2023-02-10 16:05:01 +01:00
epenet 22bfb99db4 Add type hints to requests_mock (#87757) 2023-02-10 11:44:09 +01:00
epenet fac746c974 Improve recorder type hints in tests (#87826)
* Improve recorder type hints in tests

* Add comment

* Adjust comment
2023-02-10 11:11:39 +01:00
Mike Heath b5dfd83c46 Fix Fully Kiosk Browser merging entities when MAC empty (#87743)
* Fix FKB merging entities when MAC empty

Fully Kiosk Browser will sometimes return an empty MAC address in the
device_info API call. When two Fully Kiosk devices are added with
missing MAC addresses, HA will assume the two devices are the same and
merge the entities. This fixes that problem.

Fixes #77722

* Update homeassistant/components/fully_kiosk/entity.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-10 09:19:09 +01:00
dependabot[bot] 3057dd241a Bump actions/cache from 3.2.4 to 3.2.5 (#87825)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-10 08:43:24 +01:00
Luke 8de321253b Reorganize manifest scaffold (#87819)
* reorganize manifest.json

* add iot_class to manifest
2023-02-10 07:52:00 +01:00
Raman Gupta 8aa64c8008 Add has_firmware_update_cc bool to zwave_js/node_status cmd (#87310)
* Add `has_firmware_update_cc` bool to zwave_js/node_status cmd

* fix test

* Switch order of equality check
2023-02-10 00:49:09 -05:00
Michael Hansen 8cd5106c15 Add HassGetState intent for queries (#87808)
* Use names instead of entity ids for list

* Add HassGetState for Assist queries

* Add unknown area to test

* Clean up and test device classes
2023-02-09 23:39:46 -05:00
J. Nick Koston ea356ad260 Optimize fetching weekly/monthly/yearly statistics (#87747)
* Optimize fetching statistics

* speed up

* avoid double groupby

* avoid another loop

* tweak flow

* fixes

* tweak

* avoid a new dt object in the cache for week/month

* avoid a new dt object in the cache for week/month
2023-02-09 21:22:32 -05:00
Ernst Klamer 9dd806278b Keep sleepy xiaomi-ble devices that don't broadcast regularly available (#87654)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-09 16:42:08 -06:00
J. Nick Koston 4cebc767b5 Give users a hint that their bluetooth adapter has been ignored (#87727) 2023-02-09 16:41:53 -06:00
J. Nick Koston cbaf4764e7 Ensure MySQL tests cleanup connections and raise an exception if they do not (#87767)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik <erik@montnemery.com>
2023-02-09 16:27:53 -06:00
J. Nick Koston 84d14cc76a Add reauthentication support to Yale Access Bluetooth (#87719)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty

* Add reauth support to yalexs_ble

* lint

* reduce

* tweak

* tweak

* test for reauth

* Apply suggestions from code review

* cleanup
2023-02-09 22:24:14 +01:00
J. Nick Koston 509de02044 Ensure recorder still shuts down if the final commit fails (#87799) 2023-02-09 15:12:40 -06:00
starkillerOG f96de4ab45 Bump motionblinds to 0.6.16 (#87782) 2023-02-09 21:43:28 +01:00
Tom Harris 926534bde2 Bump pyinsteon to 1.3.1 (#87788)
* Bump pyinsteon to 1.3.1

* Fix record received test

* Fix status received test
2023-02-09 21:40:06 +01:00
Avi Miller 8fddd0e53a Bump aiolifx to 0.8.9 (#87790)
Signed-off-by: Avi Miller <me@dje.li>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-09 21:38:17 +01:00
jan iversen b9b5a279f2 Correct sensor restore entity in modbus (#87563)
* Correct sensor restore entity.

* Review comments.
2023-02-09 21:35:44 +01:00
Erik Montnemery cc564026fa Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
J. Nick Koston abf0c87e40 Migrate statistics to use timestamp columns (#87321) 2023-02-09 12:24:19 -06:00
Erik Montnemery 8ccb3b7151 Fix circular import loop in homeassistant/helpers/entity.py (#87780)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-09 19:15:53 +01:00
Erik Montnemery 2fae82a9ef Really ensure recorder test fixture is setup before hass fixture (#87796) 2023-02-09 11:43:14 -06:00
J. Nick Koston db503c0daa Always use UTC time for the MariaDB/MySQL session (#87583) 2023-02-09 11:39:45 -06:00
J. Nick Koston c05a7b29e6 Terminate stale MySQL connections at the end of test runs (#87794) 2023-02-09 11:13:13 -06:00
Jan Bouwhuis 1a38b9f665 Improve coverage MQTT device_trigger (#87408)
* Improve coverage MQTT device_trigger

* Use assert
2023-02-09 17:42:32 +01:00
epenet a13535b0c7 Bump renault-api to 0.1.12 (#87773)
fix https://github.com/hacf-fr/renault-api/pull/789
2023-02-09 16:55:02 +01:00
Jan Bouwhuis a244f9b202 Add type hints tests MQTT config_flow (#87783) 2023-02-09 16:47:28 +01:00
epenet 07a1a0efa9 Add type hints to integration tests (part 1) (#87777) 2023-02-09 16:09:13 +01:00
G Johansson 2b3e6a4ca8 Change name to entity_id for lock validation error message (#87574) 2023-02-09 15:59:30 +01:00
J. Nick Koston 03b47f1931 Disable test_entity_ids on MariaDB (#87766)
Dropping the database after this test will fail on
MySQL and hang forever because it causes an InnoDB deadlock

```
| 2042 | root   | localhost:52698 | NULL               | Query   |   41 | Waiting for table metadata lock | DROP DATABASE `homeassistant-test` |    0.000 |
```
2023-02-09 15:30:35 +01:00
J. Nick Koston f4a81a8b5b Disable test_migration_in_progress on MySQL (#87765)
This test was recently enabled on MySQL in
https://github.com/home-assistant/core/pull/87753

Since it the migration is still in progress in the background
when the test ends, it causes deadlock with InnoDB when its dropped
out from under it
2023-02-09 15:27:27 +01:00
Jan Bouwhuis dc5f35a85e Add missed type hints on MQTT platform tests (#87781) 2023-02-09 15:22:30 +01:00
J. Nick Koston 483b0cd017 Skip db locking test with postgresql/MySQL (#87760)
* Skip db locking test with postgresql/MySQL

https://github.com/home-assistant/core/pull/87756#issuecomment-1423828389

* switch to the guards instead
2023-02-09 13:58:32 +01:00
Franck Nijhof f5b651750c Enable Ruff ICN001 (#87775) 2023-02-09 13:41:50 +01:00
Marc Mueller 67499e0204 Enable pydantic mypy plugin (#87415) 2023-02-09 13:33:10 +01:00
Erik Montnemery 2d2ff19949 Round value in state_with_unit template function (#87619) 2023-02-09 12:54:59 +01:00
majuss 773446946e Bump lupupy to 0.2.8 (#87754) 2023-02-09 12:49:01 +01:00
epenet 94779dddaa Add type hints to diagnostics test helper (#85494)
* Add type hints to diagnostics test helper

* Move type alias to the top

* Use Any

* Move TestClientGenerator to typing helper

* Use `dict[str, Any]` again

* Use JsonObjectType

* Add cast
2023-02-09 12:15:18 +01:00
epenet ecb1d93b2e Allow pytest to start before black finishes (#87770)
Speed-up CI
2023-02-09 11:57:15 +01:00
epenet bb174780b9 Apply registry type hints on mqtt platform tests (#87758)
Apply registry fixture types on platform tests
2023-02-09 11:53:56 +01:00
epenet 678d1e367d Refactor onewire options flow tests (#87711) 2023-02-09 11:52:26 +01:00
Franck Nijhof 330e1c6cbb Clean up unnecessary registry mocks from integration tests (#87763) 2023-02-09 10:43:45 +01:00
John Pettitt 59890cca68 Fix bad battery sense in ambient_station (#87668) 2023-02-09 10:36:05 +01:00
Franck Nijhof 14c19a2456 Trigger full CI on recorder test changes (#87764) 2023-02-09 10:19:39 +01:00
J. Nick Koston 77cdde94f3 Turn back off test_shutdown_before_startup_finishes test on MySQL (#87761) 2023-02-09 03:12:10 -06:00
Jan Bouwhuis df76e31cdf Apply MQTT fixture types on platform tests (#87722)
* Apply MQTT fixture types on platform tests

* Add caplog type hint

* Add hass_ws_client type hint

* Add tmp_path type hint

* Add hass_client_no_auth type hint
2023-02-09 09:48:22 +01:00
J. Nick Koston b0cbe5cb69 Bump yalexs_ble to 1.12.12 to fix reconnect when services fail to resolve (#87664)
* Bump yalexs_ble to 1.12.11 to fix reconnect when services fail to resolve

changelog: https://github.com/bdraco/yalexs-ble/compare/v1.12.8...v1.12.11

* bump to make it work with esphome proxy as well

* empty
2023-02-09 09:35:33 +01:00
starkillerOG bcf8cf4d8b Add reolink https webhook warning (#87332)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
fixes undefined
2023-02-09 09:24:18 +01:00
epenet c946f684bc Add more type hints to conftest (#87755)
* Add pytest type hints to conftest

* Add bluetooth and integration frame
2023-02-09 09:20:05 +01:00
Erik Montnemery 58618b2978 Improve recorder tests to use MariaDB / PostgreSQL (#87756) 2023-02-09 02:18:20 -06:00
Erik Montnemery b0f5bdd504 Improve migration tests to use MariaDB / PostgreSQL database (#87753) 2023-02-09 08:42:32 +01:00
Paulus Schoutsen f9dc562251 Stub I/O when loading registries in tests (#87744) 2023-02-09 08:25:52 +01:00
Franck Nijhof 769e0356ad Clean up unnecessary registry mocks from scaffolding templates (#87732) 2023-02-09 08:22:41 +01:00
Franck Nijhof 76bf6f164f Clean up unnecessary registry mocks from mqtt tests (#87728)
* Clean up unnecessary registry mocks from mqtt tests

* Fix helper methods
2023-02-09 08:19:06 +01:00
Franck Nijhof 80bf632e2d Clean up unnecessary registry mocks from helpers (#87734) 2023-02-08 20:15:29 -05:00
Arturo 1c02f19d9a Fix matter color temperature light (#87677)
* Adds tests for each matter light type and fixes small issue with color temperature lights not being detected properly

* Removes commented out code

* Changed matter light tests to pytest.mark.parametrize to reduce duplicate code
2023-02-08 23:41:04 +01:00
J. Nick Koston 1a7c99382c Revert "Bump aiolifx to 0.8.8" (#87740) 2023-02-08 16:36:09 -06:00
epenet aff0174afa Add more type hints to conftest (#87737) 2023-02-08 22:58:00 +01:00
starkillerOG 17aee5e3a3 Bump reolink-aio to 0.4.0 (#87733)
bump reolink-aio to 0.4.0
2023-02-08 22:52:23 +01:00
starkillerOG 0ab30ece68 Netgear ssdp discovery abort if no serial (#87532)
fixes undefined
2023-02-08 15:38:44 -06:00
Avi Miller 014743a27c Bump aiolifx to 0.8.8 (#87729)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 15:35:53 -06:00
Marc Mueller 18a3fe1237 Remove platformdirs constraint (#87735) 2023-02-08 15:32:03 -06:00
H. Balázs e1830128cc Upgrading volvooncall to 0.10.2 (#87572)
* Upgrading volvooncall to 0.10.2

This release fixes the incorrect remaining time of charging the battery

* updating volvooncall test requirements

* Updating volvooncall requirements

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-08 22:28:47 +01:00
epenet a31bd49eee Use matrix for db recorder tests (#87640)
* (mock) Mark mariadb as success to skip on partial builds

* mariadb_groups

* Adjust

* Fix yaml

* mariadb-group

* Add postgresql-group

* Align

* Include mariadb-postgresql

* Update ci.yaml

* Update ci.yaml

* Rename jobs

* Remove recorder tests from coverage needs
2023-02-08 22:21:47 +01:00
Erik Montnemery 0cfb937d07 Enforce sorting of manifests (#87020) 2023-02-08 21:48:58 +01:00
Jan Bouwhuis b93c135c8d Add type hints for MQTT discovery tests (#87425)
* Add type hints for MQTT discovery tests

* Remove more unused caplog instances

* rebase commit

* Small corrections

* Add event tye hint and correct string assignment

* Another Event type hint

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Correct test_complex_discovery_topic_prefix

* Import individual items from homeassistant.core

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-08 20:56:27 +01:00
Erik Montnemery b0b1d8143f Sort manifests 10 (#87031) 2023-02-08 20:41:50 +01:00
Erik Montnemery 1d64ba9d34 Sort manifests 6 (#87027) 2023-02-08 20:38:43 +01:00
Erik Montnemery 90d7fb8418 Sort manifests 5 (#87026) 2023-02-08 20:35:25 +01:00
Erik Montnemery 1450b44c63 Sort manifests 7 (#87028) 2023-02-08 20:32:43 +01:00
Erik Montnemery 231aad7a68 Sort manifests 1 (#87022) 2023-02-08 20:29:44 +01:00
Franck Nijhof 51a9f65a01 Clean up unnecessary registry mocks from Core tests (#87726) 2023-02-08 13:28:44 -06:00
Erik Montnemery 899adef590 Sort manifests 4 (#87025) 2023-02-08 20:27:05 +01:00
Erik Montnemery 23fa500406 Sort manifests 9 (#87030) 2023-02-08 20:22:30 +01:00
Erik Montnemery 78c9b70c8d Sort manifests 3 (#87024) 2023-02-08 20:19:19 +01:00
Erik Montnemery 87420e949d Sort manifests 2 (#87023) 2023-02-08 20:16:39 +01:00
Erik Montnemery 5dfb9cddd6 Sort manifests 8 (#87029) 2023-02-08 20:13:46 +01:00
Erik Montnemery 6c2702a7b8 Sort manifests 11 (#87032) 2023-02-08 20:10:18 +01:00
Erik Montnemery 2246255e90 Create or import thread active dataset when setting up OTBR (#87186)
* Create a thread active dataset when discovering OTBR

* Align with lib changes

* Use thread preferred dataset if set

* Create a dataset also from the user flow
2023-02-08 19:32:19 +01:00
epenet 278050a73f Add type hints to integration tests (t-z) (#87707) 2023-02-08 19:10:53 +01:00
epenet f75ac17554 Add type hints to integration tests (j-m) (#87704) 2023-02-08 19:06:59 +01:00
Martin Hjelmare 630028106a Refactor tradfri cover tests (#87710)
* Refactor tradfri cover tests

* Complete typing
2023-02-08 18:31:04 +01:00
epenet 37a2040d7b Add type hints to integration tests (h-i) (#87703) 2023-02-08 18:12:56 +01:00
epenet 807c69f621 Add type hints to integration tests (b-c) (#87698) 2023-02-08 18:08:43 +01:00
Jan Bouwhuis 1a414f1433 Add hass and None return type on MQTT platform tests (#87713)
Add hass and `None` return type on MQTT tests
2023-02-08 18:08:03 +01:00
epenet ba85fdcd61 Add type hints to integration tests (q-s) (#87706) 2023-02-08 08:12:54 -08:00
epenet 3abf7ea18a Add type hints to integration tests (m-p) (#87705) 2023-02-08 07:48:54 -08:00
Franck Nijhof 6551eb168d Add common area, device, entity and issue registry test fixtures (#87694) 2023-02-08 16:28:44 +01:00
Erik Montnemery 94519de8dd Upgrade SQLAlchemy to 2.0.2 (#86436)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-08 08:17:32 -06:00
Erik Montnemery 93dafefd96 Include entity options in RegistryEntry.as_partial_dict (#87539) 2023-02-08 08:32:46 -05:00
epenet 7a4d15a657 Add type hints to integration tests (f-g) (#87700) 2023-02-08 13:33:52 +01:00
epenet 3052de3e8e Add type hints to integration tests (d-e) (#87699) 2023-02-08 13:01:44 +01:00
starkillerOG 5e214f2e43 Reolink unregistered webhook on unexpected error (#87538) 2023-02-08 12:23:27 +01:00
epenet 2545694d41 Add type hints to integration tests (a) (#87684)
* Add type hints to accuweather tests

* Adjust a** components

* Adjust aiohttp_client

* ClientSessionGenerator/WebSocketGenerator
2023-02-08 12:16:23 +01:00
Franck Nijhof 7665c89b83 Remove sneaked in translation from TP-Link Omada (#87695) 2023-02-08 11:54:18 +01:00
Franck Nijhof 1c3713d08f Add studio mode switch to Elgato (#87691) 2023-02-08 11:42:53 +01:00
Jan Bouwhuis fc7e4b7664 Add type hints on common MQTT tests (#87299)
* Add hints for hass and return type

* Fix MqttMockType add apply hints to test_common

* Add type hints for other arguments

* Merge changes

* Add missed annotation

* Make tests types private and move to top
2023-02-08 11:20:27 +01:00
Franck Nijhof 0bf612fa63 Add entity descriptions in Elgato buttons (#87656) 2023-02-08 11:09:31 +01:00
Erik Montnemery 45ac8c515e Update unit system unit conversions (#87632)
* Update unit system unit conversions

* Tweak tests
2023-02-08 10:52:54 +01:00
Franck Nijhof c3e733c0aa Replace global test markers with fixtures in Devolo home control tests (#87676) 2023-02-08 10:51:25 +01:00
epenet a4c4f77f73 Add more fixtures to pylint plugin (#87685) 2023-02-08 10:51:09 +01:00
Franck Nijhof 380bfe5b28 Enable Ruff PT002, PT003 (#87686) 2023-02-08 10:50:53 +01:00
Franck Nijhof 6582367917 Add battery sensor to Elgato (#87680) 2023-02-08 10:22:12 +01:00
Franck Nijhof e749521b29 Replace global test markers with fixtures in Synology DSM tests (#87678) 2023-02-08 09:42:57 +01:00
epenet c98b4e3204 Add typing to tests with single hass argument (2) (#87675)
* Add typing to tests with single hass argument (2)

* a few more
2023-02-08 08:51:43 +01:00
Luke 1bbc03d0ba Bump oralb-ble to 0.17.5 (#87657)
fixes undefined
2023-02-07 20:01:36 -06:00
J. Nick Koston f0118b3d30 Bump cryptography to 39.0.1 for CVE-2023-23931 (#87658)
Bump cryptography to 39.0.1

CVE-2023-23931
2023-02-07 20:30:16 -05:00
Paulus Schoutsen 9962e9b67e 2023.2.3 (#87652) 2023-02-07 20:21:44 -05:00
Jc2k d829a2045a Fix incorrect unique_id for BLE HomeKit devices (#87550) 2023-02-07 19:10:51 -06:00
Thomas Hollstegge 79f385afde Add myself as codeowner for emulated_hue (#87659) 2023-02-07 15:43:47 -06:00
Franck Nijhof cc3ae5b19b Mark ESPHome update entity unavailable when device is offline (#87576) 2023-02-07 22:15:54 +01:00
shbatm 8e8a170121 Bump PyISY to 3.1.13, check portal for network buttons (#87650) 2023-02-07 15:41:54 -05:00
Allen Porter aacd8e044d Bump pyrainbird to 2.0.0 (#86851) 2023-02-07 15:41:53 -05:00
Kevin Worrel c505975940 Use library data to map state class for ScreenLogic (#87649)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 14:13:06 -06:00
Arturo e84a11963e Add color support to matter lights (#87366)
* Added the correct attributes to ColorTemperatureLight and ExtendedColorLight and added CurrentY to codespell ignore word list

* Added enums for matter color modes

* Added support for reading color and color temperature settings from matter api

* Added away of getting the ColorControl featureMap while the get_cluster(ColorControl) function is fixed

* Initial working implementation of color and color temperature

* Full supports for lights with both hs and xy

* Added checks to make sure color features are supported before making matter call

* Changed how color mode is figured out

* Moved the logic that gets the brightness to its own function

* Adds matter light tests for hass triggered events

* Adds full test coverage for matter all types of matter lights

* Adds full test coverage for matter all types of matter lights

* Moved light convertion logic to util.py

* Reorderd codespell ignore list and removed unused code

* Adds brightness state test
2023-02-07 20:44:02 +01:00
shbatm 096f6eb554 Bump PyISY to 3.1.13, check portal for network buttons (#87650) 2023-02-07 13:03:27 -06:00
Paulus Schoutsen 08fb16a0c2 Bumped version to 2023.2.3 2023-02-07 13:40:53 -05:00
Thomas Hollstegge 354d77d26b Do not return cached values for entity states in emulated_hue (#87642)
* Do not return cached values for state and brightness

* Move building the uncached state dict behind a lru_cache (_build_entity_state_dict)

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:40:28 -05:00
Allen Porter 2e541e7ef6 Improve rainbird device reliability by sending requests serially (#87603)
Send rainbird requests serially
2023-02-07 13:40:27 -05:00
J. Nick Koston a2c9f92420 Bump sensorpush-ble to 1.5.5 (#87595)
* Bump sensorpush-ble to 1.5.4

changelog: https://github.com/Bluetooth-Devices/sensorpush-ble/compare/v1.5.2..v1.5.4

same fix as #85432 but for sensorpush

* bump again to fix parser with passive scans
2023-02-07 13:40:26 -05:00
J. Nick Koston e67d9988fd Bump bluemaestro-ble to 0.2.3 (#87594)
changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.2.1..v0.2.3

same fix as #85432 but for bluemaestro
2023-02-07 13:40:24 -05:00
J. Nick Koston c4470fc36d Bump thermopro-ble to 0.4.5 (#87592)
changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.4.3..v0.4.5

same fix as #85432 but for thermopro
2023-02-07 13:40:23 -05:00
J. Nick Koston ab14671dbc Bump sensorpro-ble to 0.5.3 (#87591)
changelog: https://github.com/Bluetooth-Devices/sensorpro-ble/compare/v0.5.1...v0.5.3

same fix as #85432 but for sensorpro
2023-02-07 13:40:22 -05:00
J. Nick Koston be83753514 Bump inkbird-ble to 0.5.6 (#87590)
changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.5.5...v0.5.6

fixes #85432
2023-02-07 13:40:21 -05:00
J. Nick Koston e0a6a6cfa6 Fix LD2410 BLE detection with passive scans (#87584) 2023-02-07 13:40:19 -05:00
J. Nick Koston 0d9393ca79 Fix indent on slow_range_in_select for MySQL/MariaDB (#87581)
We would calculate this value and throw it away
because it was only used on first_connection
2023-02-07 13:40:18 -05:00
Martin Hjelmare d06e640889 Fix matter remove config entry device (#87571) 2023-02-07 13:40:17 -05:00
Luke 9657567280 Bump oralb-ble to 0.17.4 (#87570)
closes undefined
2023-02-07 13:40:16 -05:00
Paulus Schoutsen 5bc49b1757 OpenAI: Ignore devices without a name (#87558)
Ignore devices without a name
2023-02-07 13:40:14 -05:00
J. Nick Koston 590bdc1f49 Optimize history.get_last_state_changes query (#87554)
fixes undefined
2023-02-07 13:40:13 -05:00
Michael Davie bc01df6b52 Bump env_canada to 0.5.28 (#87509)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-07 13:40:12 -05:00
Ben Corrado 7fd3f404de Add LD2410BLE support for new firmware version (#87507)
* Updated local_name to reflect the naming scheme in HLK firmware 2.01.23020209

* Adding generated bluetooth file.
2023-02-07 13:40:10 -05:00
rikroe f59eb6c277 Bump bimmer_connected to 0.12.1 (#87506)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
fixes undefined
2023-02-07 13:40:09 -05:00
snapcase 08c23dd688 Bump jaraco.abode to 3.3.0 (#87498)
Fixes https://github.com/home-assistant/core/issues/86765
fixes undefined
2023-02-07 13:40:08 -05:00
Ernst Klamer 1a72b64024 Bump xiaomi-ble to 0.16.1 (#87496)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:40:07 -05:00
J. Nick Koston 8a257df59f Fix recorder run history during schema migration and startup (#87492)
Fix recorder run history during schema migration

RunHistory.get and RunHistory.current can be called before
RunHistory.start. We need to return a RecorderRuns object
with the recording_start time that will be used when start
it called to ensure history queries still work as expected.

fixes #87112
2023-02-07 13:40:05 -05:00
Maikel Punie e30ea3e344 Add the correct loggers to velbus manifest.json (#87488) 2023-02-07 13:40:04 -05:00
Robert Hillis 423d8f0bca Disable uptime sensor by default in Unifi (#87484)
Disable Uptime sensor by default in Unifi
2023-02-07 13:40:03 -05:00
Michael b2ccf2e87e Bump py-synologydsm-api to 2.1.4 (#87471)
fixes undefined
2023-02-07 13:40:02 -05:00
majuss 4a7aee4bde Bump lupupy to 0.2.7 (#87469) 2023-02-07 13:40:00 -05:00
Gregory Haynes 5b0c7321b5 Add missing name field to emulated_hue config (#87456)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:39:59 -05:00
J. Nick Koston 1df82f39c1 Speed up purge time with newer MariaDB versions (#87409)
* Speed up purge time with newer MariaDB versions

* fix

* document

* document

* document

* rename

* self review

* Update homeassistant/components/recorder/util.py

* fixes
2023-02-07 13:39:58 -05:00
Thomas Hollstegge 589ff54e63 Do not return cached values for entity states in emulated_hue (#87642)
* Do not return cached values for state and brightness

* Move building the uncached state dict behind a lru_cache (_build_entity_state_dict)

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 13:39:08 -05:00
J. Nick Koston 1170b36a82 Fix LD2410 BLE detection with passive scans (#87584) 2023-02-07 13:38:48 -05:00
Franck Nijhof c25bff9389 Tweak Elgato tests (#87629) 2023-02-07 19:14:13 +01:00
epenet 3e09950dd6 Align postgresql with mariadb in CI (#87646)
Align postgresql with mariadb
2023-02-07 18:27:33 +01:00
epenet a202588fd2 Add return type to json_loads (#85672)
* Add JSON type definitions

* Sample use

* Keep mutable for a follo-up PR (avoid dead code)

* Use list/dict

* Remove JsonObjectType

* Remove reference to Union

* Cleanup

* Improve rest

* Rename json_dict => json_data

* Add docstring

* Add type hint to json_loads

* Add cast

* Move type alias to json helpers

* Cleanup

* Create and use json_loads_object

* Make error more explicit and add tests

* Use JsonObjectType in conversation

* Remove quotes
2023-02-07 17:21:55 +01:00
Franck Nijhof 20b60d57f2 Add lru cache to loading fixtures in tests (#87634) 2023-02-07 16:50:13 +01:00
Erik Montnemery 720f51657d Add CI job which runs recorder tests on PostgreSQL (#80614)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 09:46:14 -06:00
epenet 3a83b2f66f Rename fixture function in stt tests (#87630) 2023-02-07 16:06:53 +01:00
Marc Mueller b478b4fa16 Add ParamSpec TypeAliases [mypy 1.0] (#87597) 2023-02-07 15:56:26 +01:00
epenet 1b23429f41 Add __init__ return type to integrations (#87637) 2023-02-07 15:55:14 +01:00
Marc Mueller 785b949a82 Show diff on ruff failure [ci] (#87635) 2023-02-07 15:53:26 +01:00
epenet b854dd99fc Add rest to strict-typing (#86149)
* Add type hints to rest notify

* Add rest to strict-typing
2023-02-07 15:48:16 +01:00
epenet 59ca7780fa Add typing to tests with single hass argument (#87631) 2023-02-07 15:01:16 +01:00
Marc-Olivier Arsenault fe9f6823c3 Add ecobee ventilator (#83645)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-07 07:54:23 -06:00
Jan Bouwhuis 4aa61b0d64 Cleanup remains of legacy validation MQTT light (#87467) 2023-02-07 14:52:40 +01:00
epenet 4d73de6295 Remove unused function in slack tests (#87618) 2023-02-07 07:52:15 -06:00
J. Nick Koston 0a1d5c85ad Optimize history.get_last_state_changes query (#87554)
fixes undefined
2023-02-07 07:50:44 -06:00
epenet 4142f0d15d Add return type to tests without arguments (#87613)
* Add return type to tests without arguments

* Black

* Cancel fixture amends
2023-02-07 14:20:06 +01:00
Marc Mueller fb4c0b4b7a Enable error-code redundant-self [mypy 1.0] (#87602) 2023-02-07 14:02:38 +01:00
Erik Montnemery 4cecc28f8c Update unit system unit conversions (#87621) 2023-02-07 13:19:11 +01:00
epenet 8f8bdac451 Fix namespace issue in pylint plugin (#87627) 2023-02-07 13:07:21 +01:00
Jan Bouwhuis be564e0162 Cleanup value_template config parameter from MQTT basic light (#87466)
* Remove not supported case from code for MQTT light

* Remove from schema
2023-02-07 13:05:24 +01:00
epenet ef6798e854 Add caplog to known fixtures in pylint plugin (#87617) 2023-02-07 11:34:02 +01:00
Jan Bouwhuis c78cae4483 Fix handling None or empty value for numeric MQTT sensor (#87004)
* Allow `None` for numeric sensor, ignore empty val

* Add test case with omitting a value

* Use _numeric_state_expected property

* Only respect None if numeric state is expected
2023-02-07 11:23:23 +01:00
Marc Mueller 42008c50f3 Enable error-code truthy-iterable [mypy 1.0] (#87596) 2023-02-07 11:16:22 +01:00
epenet aa00114c2f Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +01:00
epenet ea32a2ae63 Check return and mqtt fixtures typing in tests (#87607)
Check return type and mqtt fixtures typing in tests
2023-02-07 10:21:54 +01:00
Maciej Bieniek 6a3619d9fa Refactor NAM sensor platform (#87048)
* Bump backend library

* Remove AQI_LEVEL_STATE_MAPPING

* Add native_precission

* Update diagnostics fixture

* Use _attr_native_value

* Fix type

* Improve lambda

* Revert native_value property

* native_precision -> suggested_display_precision
2023-02-07 09:14:20 +01:00
Jan Bouwhuis 73e3b30906 Add suggested_display_precision config option for MQTT sensor (#87129)
* Add precision for MQTT sensor

* Correct tests

* Use _attr_suggested_display_precision

* Rename option and add abbreviation

* Make abbr more compact
2023-02-07 08:55:35 +01:00
J. Nick Koston 3aa744ed19 Fix indent on slow_range_in_select for MySQL/MariaDB (#87581)
We would calculate this value and throw it away
because it was only used on first_connection
2023-02-06 23:59:54 -05:00
J. Nick Koston 8757e1ced8 Bump inkbird-ble to 0.5.6 (#87590)
changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.5.5...v0.5.6

fixes #85432
2023-02-06 23:59:21 -05:00
J. Nick Koston 37e6e67542 Bump sensorpro-ble to 0.5.3 (#87591)
changelog: https://github.com/Bluetooth-Devices/sensorpro-ble/compare/v0.5.1...v0.5.3

same fix as #85432 but for sensorpro
2023-02-06 23:59:17 -05:00
J. Nick Koston a582f8181c Bump thermopro-ble to 0.4.5 (#87592)
changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.4.3..v0.4.5

same fix as #85432 but for thermopro
2023-02-06 23:59:13 -05:00
J. Nick Koston 4c06e00ea6 Bump bluemaestro-ble to 0.2.3 (#87594)
changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.2.1..v0.2.3

same fix as #85432 but for bluemaestro
2023-02-06 23:59:09 -05:00
J. Nick Koston e8027ebab2 Bump sensorpush-ble to 1.5.5 (#87595)
* Bump sensorpush-ble to 1.5.4

changelog: https://github.com/Bluetooth-Devices/sensorpush-ble/compare/v1.5.2..v1.5.4

same fix as #85432 but for sensorpush

* bump again to fix parser with passive scans
2023-02-06 23:59:05 -05:00
Paulus Schoutsen 400c88a1cc OpenAI: Ignore devices without a name (#87558)
Ignore devices without a name
2023-02-06 23:57:08 -05:00
Marc Mueller ea4e2ab4aa Add Self typing (4) [mypy 1.0] (#87601) 2023-02-06 22:30:22 -06:00
Marc Mueller f7b39aa4a8 Add Self typing (3) [mypy 1.0] (#87600) 2023-02-06 22:30:07 -06:00
Marc Mueller 342b406dc0 Add Self typing (1) [mypy 1.0] (#87598) 2023-02-06 22:29:47 -06:00
Marc Mueller a5d376069a Add Self typing (2) [mypy 1.0] (#87599) 2023-02-06 23:23:52 -05:00
Allen Porter 37bb1e8948 Improve rainbird device reliability by sending requests serially (#87603)
Send rainbird requests serially
2023-02-06 19:57:16 -08:00
Marc Mueller af59623601 Enable local_partial_types for strict typing [mypy] (#86409) 2023-02-06 20:41:39 -06:00
Kevin Worrel 687d326bb4 Support local push updates for most ScreenLogic entities (#87438)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-06 20:13:36 -06:00
Marc Mueller 4fbb14ecc7 Update mypy to 1.0.0 (#87586) 2023-02-07 02:31:14 +01:00
Paulus Schoutsen ff6e597a63 Add Matter to supported standards for brands (#87564)
* Add Matter standard to TP-Link

* --amend
2023-02-06 20:09:01 -05:00
Marc Mueller e348c25e18 Pin platformdirs to resolve dependency conflict (#87589) 2023-02-06 18:58:00 -06:00
Martin Hjelmare f378dcdc30 Fix matter remove config entry device (#87571) 2023-02-06 22:41:52 +01:00
Luke e53de2742c Bump oralb-ble to 0.17.4 (#87570)
closes undefined
2023-02-06 13:28:53 -06:00
karwosts 40086cc663 Remove default:0 from duration for timer.start service (#87553)
fixes undefined
2023-02-06 19:48:27 +01:00
Mark Huson d2ec63d757 Update example data to define in as a dictionary (#87557) 2023-02-06 19:48:10 +01:00
Erik Montnemery e4285b0186 Comment lack of rounding in AlexaTemperatureSensor (#87561) 2023-02-06 19:37:14 +01:00
Paulus Schoutsen a090652560 Use correct state in Entity repr and output similar value to State class (#87519)
* Use correct state in Entity repr

* Test Entity.__repr__

* Align with State class
2023-02-06 13:35:36 -05:00
Maikel Punie 815ee58ea3 Bump velbus-aio to 2023.2.0 (#87562)
Bump valbusaio to 2023.2.0
2023-02-06 13:12:57 -05:00
Ben Corrado fee693979d Add LD2410BLE support for new firmware version (#87507)
* Updated local_name to reflect the naming scheme in HLK firmware 2.01.23020209

* Adding generated bluetooth file.
2023-02-06 13:00:06 -05:00
Franck Nijhof 746afb70ba Fix pypi package translations + add translation build artifacts (#87548) 2023-02-06 11:21:57 -05:00
Maikel Punie e1a3d61870 Velbus raise PlatformNotReady exception (#87526) 2023-02-06 17:21:53 +01:00
epenet 3d7ae84326 Remove use of HomeAssistantType (#87525) 2023-02-06 17:17:43 +01:00
rikroe 406a29912d Fix notify targets for bmw_connected_drive (#87503)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-02-06 17:15:28 +01:00
snapcase a61e87c46d Bump jaraco.abode to 3.3.0 (#87498)
Fixes https://github.com/home-assistant/core/issues/86765
fixes undefined
2023-02-06 17:12:54 +01:00
Maikel Punie a11a43bb09 Add the correct loggers to velbus manifest.json (#87488) 2023-02-06 17:11:21 +01:00
Clifford Roche 0c8b7f1061 Bump greeclimate to 1.4.1 (#87513) 2023-02-06 17:08:26 +01:00
Michael Davie 61bf8fd02a Bump env_canada to 0.5.28 (#87509)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-06 17:05:28 +01:00
MarkGodwin ce9a514667 TP-Link Omada integration (#81223)
* TP-Link Omada integration
Support for PoE config of network switch ports

* Bump omada client version

* Fixing tests

* Refactored site config flow

* Code review comments

* Fixed tests and device display name issue

* Bump isort to fix pre-commit hooks

* Hassfest for the win

* Omada code review

* Black

* More config flow test coverage

* Full coverage for omada config_flow

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-06 10:57:18 -05:00
Kirill Kulakov 258357c2cd Xiaomi 2S air purifier mode selection support (#86649)
* Xiaomi 2S air purifier mode selection support

* Update homeassistant/components/xiaomi_miio/select.py

Co-authored-by: Teemu R. <tpr@iki.fi>

* rename fix translation keys and rename key to be specific to airpurifiers

Co-authored-by: Teemu R. <tpr@iki.fi>
2023-02-06 16:42:11 +01:00
epenet de807fa782 Ensure __init__ return type is None (#87521)
* Ensure __init__ return type is None

* Remove hass-constructor plugin

* Simplify

* Replace dict with list

* Cleaup pyproject.toml

* Move is_method outside loop

* Adjust loop
2023-02-06 16:25:12 +01:00
Franck Nijhof 939eef3b28 Remove translations from Core (#87543)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-06 15:06:43 +01:00
Jan Bouwhuis 4ad386d794 Correct type hints mqtt_client_mock and move new generator type (#87527)
* Correct mqtt_client_mock and move MqttMockType

* Rename MqttMockType to MqttMockGenerator

* Make types more specific

* adjust returntype _setup_mqtt_entry

* Correct return type _setup_mqtt_entry

* Update tests/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update tests/conftest.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-06 15:05:06 +01:00
Jan Bouwhuis 212e172be2 Cleanup not used schema validator for MQTT vacuum (#87462)
* Cleanup not used schema validator for MTT vacuum

* Only leave warning
2023-02-06 13:34:36 +01:00
majuss c597478a51 Bump lupupy to 0.2.7 (#87469) 2023-02-06 13:30:35 +01:00
epenet bb3e0633a4 Add init return type to integrations (#87523)
Add type hints to integrations
2023-02-06 11:37:25 +01:00
ollo69 ade0d6fcae Use suggested_display_precision for AsusWrt sensors (#87396)
* Use native_precision for AsusWrt sensors

* Use  suggested_display_precision
2023-02-06 11:05:10 +01:00
J. Nick Koston c7980bda82 Fix recorder run history during schema migration and startup (#87492)
Fix recorder run history during schema migration

RunHistory.get and RunHistory.current can be called before
RunHistory.start. We need to return a RecorderRuns object
with the recording_start time that will be used when start
it called to ensure history queries still work as expected.

fixes #87112
2023-02-05 22:12:41 -05:00
GitHub Action f475446ebf [ci skip] Translation update 2023-02-06 00:23:07 +00:00
Martin Hjelmare 24bb3a705c Adjust matter test exception argument (#87282) 2023-02-06 01:02:06 +01:00
Matthias Alphart 0a2fc442a3 Update xknx to 2.4.0 - Support KNX Data Secure (#87502)
Update xknx to 2.4.0
2023-02-06 00:38:00 +01:00
rikroe a367cd8d5c Bump bimmer_connected to 0.12.1 (#87506)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
fixes undefined
2023-02-05 17:34:52 -06:00
Ernst Klamer d38ce1ad7a Bump xiaomi-ble to 0.16.1 (#87496)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 17:31:21 -06:00
J. Nick Koston c11f3ffa17 Speed up purge time with newer MariaDB versions (#87409)
* Speed up purge time with newer MariaDB versions

* fix

* document

* document

* document

* rename

* self review

* Update homeassistant/components/recorder/util.py

* fixes
2023-02-05 17:58:34 -05:00
Nicklas Johnson 49d7bbe55d Fix emulated hue SO_REUSEPORT when creating the upnp socket for proper sharing (#86916)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-02-05 14:57:22 -06:00
Franck Nijhof d389de71f5 Coordinator refactor in Elgato (#87490) 2023-02-05 21:54:30 +01:00
Martin Hjelmare 0aa489e3f0 Refactor tradfri switch tests (#86816)
Co-authored-by: Patrik Lindgren <21142447+ggravlingen@users.noreply.github.com>
2023-02-05 21:02:17 +01:00
Raman Gupta a2530e7f19 Add RF region property to zwave_js/network_status cmd (#87236) 2023-02-05 14:13:55 -05:00
Michael 9911dcfb73 Bump py-synologydsm-api to 2.1.4 (#87471)
fixes undefined
2023-02-05 13:06:17 -06:00
Robert Hillis d5b2062774 Disable uptime sensor by default in Unifi (#87484)
Disable Uptime sensor by default in Unifi
2023-02-05 19:28:28 +01:00
Franck Nijhof 1cd7f221d5 Update elgato to 4.0.1 (#87479) 2023-02-05 19:22:15 +01:00
Nathan Spencer 11ccd166fe Use pybalboa 1.0.0 (#87214)
* Use pybalboa 1.0.0

* Code changes per PR review
2023-02-05 19:10:35 +01:00
krahabb 899342d391 Refactor async_call_later to improve performance and reduce conversion loss (#87117)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 12:04:38 -06:00
Gregory Haynes 936ffafd27 Add missing name field to emulated_hue config (#87456)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-02-05 11:34:37 -06:00
Cameron Gray 04e05af44c Add log for successful update in no ip (#87441)
* Add Success logging as info message

Create "Info Log" for when domain is successfully updated.

* Update homeassistant/components/no_ip/__init__.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Closing Parenthesis added

* amend as per black suggestion

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 11:38:59 +01:00
Paulus Schoutsen 1c88195d32 2023.2.2 (#87433) 2023-02-04 22:01:23 -05:00
Franck Nijhof d82e409d8e Update black to 23.1.0 (#87188) 2023-02-04 21:26:10 -05:00
Steffen Zimmermann 329d50865a Use official unit of measure for Lux in wiffi component (#87377)
use official unit of measure for Lux in wiffi component

Add a mapping for the wiffi unit of illuminance 'lux' to the Home Assistant unit 'lx'. This fixed the following warning during startup:

```
2023-02-04 10:28:30.653 WARNING (MainThread) [homeassistant.components.sensor] Entity sensor.helligkeit (<class 'homeassistant.components.wiffi.sensor.NumberEntity'>) is using native unit of measurement 'lux' which is not a valid unit for the device class ('illuminance') it is using; expected one of ['lx']; Please update your configuration if your entity is manually configured, otherwise create a bug report at https://github.com/home-assistant/core/issues?q=is%3Aopen+is%3Aissue+label%3A%22integration%3A+wiffi%22
```
2023-02-04 21:11:52 -05:00
Paulus Schoutsen 3253eeca7a Bumped version to 2023.2.2 2023-02-04 21:08:23 -05:00
J. Nick Koston f4f1b0dfc5 Bump aiohomekit to 2.4.6 (#87427)
fixes #86083

changelog: https://github.com/Jc2k/aiohomekit/compare/2.4.5...2.4.6
2023-02-04 21:08:15 -05:00
J. Nick Koston 1f08fc72bb Disable mopeka accelerometer sensors by default (#87420)
* Disable mopeka accelerometer sensors by default

These generate a significant amount of noise and are
only useful when placing the sensor. Disable them by
default. This not a breaking change because existing
preferences are preserved.

* adjust tests
2023-02-04 21:08:14 -05:00
J. Nick Koston 323ab97ff5 Ignore invalid zeroconf names from devices with broken firmwares (#87414) 2023-02-04 21:08:13 -05:00
Vincent Knoop Pathuis 93229196d8 Fix state class in Enphase Envoy (#87397)
* Change total_increasing to total

* As suggested in PR: only Last Seven Days TOTAL
2023-02-04 21:08:12 -05:00
Aarni Koskela 23e04ba891 Fix Ruuvi Gateway data being ignored when system is not using UTC time (#87384) 2023-02-04 21:08:11 -05:00
Jc2k 2d5ab5a0dc Fix exception when trying to poll a HomeKit device over Thread with no active encryption context (#87379)
Bump aiohomekit==2.4.5
2023-02-04 21:08:10 -05:00
Matthew Donoughe 30f63ae0ea Update pylutron-caseta to 0.18.1 (#87361)
update pylutron-caseta to 0.18.1
2023-02-04 21:08:09 -05:00
Luke 2d85890789 Bump oralb-ble to 0.17.2 (#87355) 2023-02-04 21:08:08 -05:00
Michael c791a7c7fb Bump py-synologydsm-api to 2.1.2 (#87324)
fixes undefined
2023-02-04 21:08:07 -05:00
G Johansson fe7c7001ad Fix code format issue in Yale Smart Alarm (#87323)
fixes undefined
2023-02-04 21:08:06 -05:00
Koen van Zuijlen 6d2a2b1c91 Fixed parser for zeversolar hardware version M10 (#87319)
fixes undefined
2023-02-04 21:08:05 -05:00
Artem Draft 1df7fcea09 Fix Bravia TV refreshing zero volume level (#87318)
fixes undefined
2023-02-04 21:08:04 -05:00
Franck Nijhof 681de9a516 Don't override icon in sensor group when device class is set (#87304) 2023-02-04 21:08:03 -05:00
Franck Nijhof a5378ec9a8 Fix incorrect description in sensor group config flow (#87298) 2023-02-04 21:08:02 -05:00
Franck Nijhof 54687d6b56 Extend state class sensor warnings with expected values (#87294) 2023-02-04 21:08:01 -05:00
epenet 4c0ea397c8 Bump sfrbox-api to 0.0.6 (#87281) 2023-02-04 21:08:00 -05:00
epenet 9769a0f0ec Fix volume state class in renault (#87280) 2023-02-04 21:07:59 -05:00
starkillerOG e78dd34a45 Bump reolink-aio to 0.3.4 (#87272) 2023-02-04 21:07:58 -05:00
G Johansson 6543a1169b Filesize timestamp remove state class (#87247)
fixes undefined
2023-02-04 21:07:57 -05:00
jjlawren 012ba55154 Handle failed Sonos subscriptions better (#87240)
Catch unsubscribe failure separately from ZGS poll
2023-02-04 21:07:56 -05:00
Brett Adams e12425c229 Fix call values in Aussie Broadband (#87229)
Fixed calls values

Added lamda for International, Voicemail, and Other calls.
2023-02-04 21:07:55 -05:00
J. Nick Koston 5aaddf72e6 Add missing mopeka translations (#87421)
fixes #87163
2023-02-04 20:08:18 -05:00
Vincent Knoop Pathuis 65f660b7d4 Fix state class in Enphase Envoy (#87397)
* Change total_increasing to total

* As suggested in PR: only Last Seven Days TOTAL
2023-02-04 20:06:42 -05:00
J. Nick Koston f60b805fb9 Bump aiohomekit to 2.4.6 (#87427)
fixes #86083

changelog: https://github.com/Jc2k/aiohomekit/compare/2.4.5...2.4.6
2023-02-04 20:05:40 -05:00
Poltorak Serguei 4a83a63b32 Add Z-Wave.Me cover stop command (#87428)
* Add stop command to cover

* Add type annotation

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 01:25:07 +01:00
Raman Gupta e3b820d9db Simplify zwave_js code (#87235) 2023-02-05 01:20:17 +01:00
epenet 2f3b509513 Refactor onewire options flow (#87162)
* Refactor onewire options flow

* Adjust

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Use async_entries_for_config_entry

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-02-05 01:18:20 +01:00
Ty Parker a703aa1dff Add repeat options to tplink sequence effect service (#86040)
Add repeat options to sequence effect service
2023-02-05 00:14:25 +01:00
J. Nick Koston 4d0e236c6a Ignore invalid zeroconf names from devices with broken firmwares (#87414) 2023-02-04 16:29:03 -06:00
J. Nick Koston 3be6d4dcfb Disable mopeka accelerometer sensors by default (#87420)
* Disable mopeka accelerometer sensors by default

These generate a significant amount of noise and are
only useful when placing the sensor. Disable them by
default. This not a breaking change because existing
preferences are preserved.

* adjust tests
2023-02-04 22:34:34 +02:00
epenet 19e27f4f52 Ensure recorder api aligns with sensor converters (#87257) 2023-02-04 14:28:47 -06:00
Erik Montnemery bcc1aa03b4 Move sensor rounding to frontend (#87330)
* Move sensor rounding to frontend

* Update integrations

* Add comment
2023-02-04 14:54:36 -05:00
Aarni Koskela ee6773236e Update Ruff to 0.0.241 (#87386)
Changes: https://github.com/charliermarsh/ruff/compare/v0.0.237...v0.0.241
2023-02-04 14:42:36 -05:00
Aarni Koskela 72cb58e850 Fix Ruuvi Gateway data being ignored when system is not using UTC time (#87384) 2023-02-04 12:12:34 -06:00
epenet f6c76372ce Ensure hass is typed (#87068)
* Ensure hass is typed

* Adjust pilight

* Adjust homeassistant scene

* Adjust hassio

* Adjust gree

* Adjust google_maps

* Adjust energyzero

* Adjust harmony

* Adjust mobile_app
2023-02-04 12:52:59 -05:00
Franck Nijhof 3d557b5583 Collection of code styling tweaks (#87381) 2023-02-04 12:52:26 -05:00
Franck Nijhof e55f11296e Fix accidentally introduced breaking change in number entity (#87383) 2023-02-04 14:32:33 +01:00
Franck Nijhof 9e775c43af Fix typing issue in easyEnergy (#87371) 2023-02-04 13:42:03 +01:00
Jc2k 2c648172d3 Fix exception when trying to poll a HomeKit device over Thread with no active encryption context (#87379)
Bump aiohomekit==2.4.5
2023-02-04 11:38:22 +00:00
Erik Montnemery 0d713809e7 Store preferred dataset separately in thread dataset store (#87378) 2023-02-04 06:33:17 -05:00
Luke ff7c455478 Bump oralb-ble to 0.17.2 (#87355) 2023-02-04 11:54:38 +01:00
Franck Nijhof bf482eee24 Extend state class sensor warnings with expected values (#87294) 2023-02-04 11:49:24 +01:00
Raman Gupta 95e8717fb4 Bump zwave-js-server-python to 0.45.1 (#87309) 2023-02-04 11:23:48 +02:00
Matthew Donoughe 7e6fb98d17 Update pylutron-caseta to 0.18.1 (#87361)
update pylutron-caseta to 0.18.1
2023-02-04 10:17:16 +01:00
Franck Nijhof 9ead071202 Tiny cleanup in Number base entity (#87339) 2023-02-04 10:04:44 +01:00
Paulus Schoutsen fc38b4327f Add support for multiple conversation agents (#87337)
* Add support for multiple conversation agents

* Lock initializing default agent

* Allow unsetting agent when never set
2023-02-03 23:35:29 -05:00
GitHub Action 3f992ed31d [ci skip] Translation update 2023-02-04 00:23:44 +00:00
Franck Nijhof 28b6306ad6 Remove use of Number DEVICE_CLASSES_SCHEMA from MQTT (#87345) 2023-02-04 00:08:15 +01:00
Franck Nijhof fcb612cd6f Collection of code styling tweaks (#87344) 2023-02-03 23:51:27 +01:00
Artem Draft 3ccd0ef013 Fix Bravia TV refreshing zero volume level (#87318)
fixes undefined
2023-02-03 23:22:33 +01:00
Franck Nijhof ca1a12898c Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Jan Bouwhuis 97de0c6d9a Late review on added type hint MQTT fixture (#87342) 2023-02-03 22:22:52 +01:00
Shay Levy 3cb9b273c9 Add Shelly Pro 3EM energy sensors (#86476)
* Add Shelly Pro 3EM energy sensors

* Add total and total returned energy counters

* Set single phase energy counters disabled by default
2023-02-03 23:18:59 +02:00
Franck Nijhof 0de7be7803 Update whois to 0.9.27 (#87305) 2023-02-03 15:49:02 -05:00
Franck Nijhof f3e74469db Update coverage to 7.1.0 (#87328) 2023-02-03 15:48:47 -05:00
Raman Gupta 86cef27e1c Rename zwave_js ws API command (#87336) 2023-02-03 15:26:20 -05:00
Erik Montnemery 6f097eecc3 Add WS commands thread/list_datasets, thread/get_dataset_tlv (#87333) 2023-02-03 15:22:31 -05:00
Marc Mueller 04b921e3b5 Update pip constraint to 23.1 (#87331) 2023-02-03 21:02:35 +01:00
Eduard van Valkenburg fd4851053c Bump azure-eventhub to 5.11.1 (#87175)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-02-03 21:01:33 +01:00
G Johansson 96128340a0 Fix code format issue in Yale Smart Alarm (#87323)
fixes undefined
2023-02-03 20:04:51 +01:00
Franck Nijhof e794dd0078 Download/Update translations on build (#87289) 2023-02-03 20:00:01 +01:00
Klaas Schoute 3723241937 Add easyEnergy integration (#86266) 2023-02-03 19:56:17 +01:00
starkillerOG 4c1147e62b Reolink add number platform (#87217)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-03 19:29:27 +01:00
Jan Bouwhuis 3edfd10f2d Add type hints for MQTT common helper and fixtures (#87065) 2023-02-03 19:27:46 +01:00
Glenn Waters 71200baa8f Bump UPB integration library to 0.5.3 (#86740) 2023-02-03 19:27:27 +01:00
Koen van Zuijlen c6338b7ba1 Fixed parser for zeversolar hardware version M10 (#87319)
fixes undefined
2023-02-03 18:46:11 +01:00
epenet cd99cdbc7d Fix missing property in bosch_shc (#87260) 2023-02-03 18:41:47 +01:00
Michael efb8cb8c90 Bump py-synologydsm-api to 2.1.2 (#87324)
fixes undefined
2023-02-03 18:39:30 +01:00
Erik Montnemery 4f94c7cab6 Add thread WS API (#87307) 2023-02-03 11:47:09 -05:00
epenet b03f4fa1d3 Improve type hints in cloud (#87263) 2023-02-03 17:10:25 +01:00
epenet ad039b5ffc Fix geniushub type hint (#87258) 2023-02-03 17:10:01 +01:00
epenet 9400dac905 Improve type hints in melcloud (#87264) 2023-02-03 17:09:34 +01:00
epenet e40df09098 Improve type hints in edl21 (#87267) 2023-02-03 17:09:16 +01:00
G Johansson b092698418 Fix UoM and device_class in Trafikverket Weather (#87308) 2023-02-03 17:07:50 +01:00
epenet cf39403282 Improve type hints in google assistant (#87273) 2023-02-03 17:05:49 +01:00
Franck Nijhof 1b4f4edce2 Don't override icon in sensor group when device class is set (#87304) 2023-02-03 16:38:05 +01:00
epenet 61734f04b8 Re-enable Ruff D418 (#87302) 2023-02-03 16:33:03 +01:00
Erik Montnemery 4d4fb2477d Optionally update sensor units when unit system is changed (#83851) 2023-02-03 16:30:50 +01:00
Franck Nijhof 4b27af6a8f Re-enabled Ruff E713 (#87301) 2023-02-03 16:18:33 +01:00
epenet 5958e7c515 Improve type hints in evohome (#87266) 2023-02-03 16:18:10 +01:00
Paul Bottein e77e49a87a Add icons for prusalink sensors and buttons (#87256)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-03 16:03:15 +01:00
epenet 923abdb02a Add configurator to strict typing (#87279) 2023-02-03 16:02:55 +01:00
epenet 9306e0371e Improve type hints in duckdns (#87270) 2023-02-03 16:00:34 +01:00
Franck Nijhof 695a453159 Fix incorrect description in sensor group config flow (#87298) 2023-02-03 15:59:34 +01:00
epenet 23a9b92a1c Improve type hints in homematicip_cloud (#87269) 2023-02-03 15:52:14 +01:00
Erik Montnemery 527de22adf Add thread dataset store (#87187)
* Add thread dataset store

* Address review comments

* Bump python-otbr-api to 1.0.3

* Remove stuff which we don't need yet
2023-02-03 09:47:41 -05:00
Franck Nijhof 1409b89af3 Sync input_select & select (#87255) 2023-02-03 15:43:17 +01:00
epenet 783e6fdd36 Ignore TAI8570 errors in onewire (#87154) 2023-02-03 09:11:54 -05:00
BasBruss 5422ef239b Fix monetary state class in tibber (#87274)
state_class=SensorStateClass.TOTAL for monetary data
2023-02-03 09:02:23 -05:00
epenet e00622f137 Bump sfrbox-api to 0.0.6 (#87281) 2023-02-03 09:01:51 -05:00
epenet 2433fc2bab Fix volume state class in renault (#87280) 2023-02-03 09:01:25 -05:00
starkillerOG 37efd8938a Bump reolink-aio to 0.3.4 (#87272) 2023-02-03 09:00:22 -05:00
epenet 8c6eee7d38 Add type hints to configurator request_config (#87287) 2023-02-03 08:48:58 -05:00
epenet 810367b757 Fix can not typo (#87254) 2023-02-03 11:37:16 +01:00
Franck Nijhof b8a1f87073 Fix schema typing on async_register_entity_service (#87250) 2023-02-03 11:25:02 +01:00
Erik Montnemery 91668f8599 Use SensorStateClass enum in sensor (#87066)
* Use SensorStateClass enum in sensor

* Apply suggestions from code review

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/sensor/recorder.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-03 10:49:41 +01:00
Tobias Stanzel 2349aa73b2 Add Bosch SHC sensor state class (#86823)
Added missing state class
2023-02-03 10:27:21 +01:00
G Johansson 19b4cf4c8b Filesize timestamp remove state class (#87247)
fixes undefined
2023-02-03 09:15:54 +01:00
jjlawren a8b7a32578 Handle failed Sonos subscriptions better (#87240)
Catch unsubscribe failure separately from ZGS poll
2023-02-02 23:42:36 -05:00
Marc Mueller 2c0c386ba7 Reduce required permissions for fritzbox_callmonitor (#87089)
* Test new FritzAuthorizationError

* Reduce required permissions
2023-02-02 21:13:53 -05:00
Brett Adams 904b25d0d2 Fix call values in Aussie Broadband (#87229)
Fixed calls values

Added lamda for International, Voicemail, and Other calls.
2023-02-02 21:10:47 -05:00
Crisicus 934bb3e0c1 Fix an extra quote typo in the percentage util (#87161) 2023-02-02 19:59:08 -06:00
Paulus Schoutsen dbd8ffc282 2023.2.1 (#87221) 2023-02-02 20:52:38 -05:00
starkillerOG 25cfa8afdd Reolink simplify (#87224)
Simplify
2023-02-02 20:35:43 -05:00
GitHub Action ce79b26ab6 [ci skip] Translation update 2023-02-03 00:25:31 +00:00
Paulus Schoutsen 372afc5c28 Bumped version to 2023.2.1 2023-02-02 16:48:09 -05:00
Karlie Meads ed8a0ef0ea Fix disabled condition within an automation action (#87213)
fixes undefined
2023-02-02 16:48:04 -05:00
Michael 1d8f5b2e16 Bump py-synologydsm-api to 2.1.1 (#87211)
bump py-synologydsm-api to 2.1.1
2023-02-02 16:48:03 -05:00
Bram Kragten 75796e1f0f Update frontend to 20230202.0 (#87208) 2023-02-02 16:48:02 -05:00
mkmer 063bbe91d1 Bump AIOSomecomfort to 0.0.6 (#87203)
* Bump to 0.0.5

* Bump aiosomecomfort to 0.0.6

* lower case aiosomecomfort

* Fix other bad imports....

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-02 16:48:01 -05:00
mkmer bfcae4e07b Add Reauth config flow to honeywell (#86170) 2023-02-02 16:48:00 -05:00
J. Nick Koston be77d7daa5 Fix statistics graphs not loading with data_rate, electric_current, voltage, information, and unitless units (#87202)
* Add missing converts to recorder/statistics_during_period API

This was resulting in the stats graphs not loading on the frontend

* its in two places
2023-02-02 16:46:16 -05:00
starkillerOG a58e4e0f88 Reolink unsubscribe webhook when first refresh fails (#87147)
* catch ValueError on webhook async_register

* add ONVIF to webhook_id

* Unsubscribe webhook when ConfigEntryNotReady for async_config_entry_first_refresh

* Revert catching ValueError
2023-02-02 16:46:15 -05:00
Dmitry Vlasov 56a583e6ac Add missing supported features to Z-Wave.Me siren (#87141) 2023-02-02 16:46:14 -05:00
epenet 517e89ab3c Add missing converters to recorder statistics (#87137) 2023-02-02 16:46:13 -05:00
epenet ef8029ebbf Fix invalid state class in renault (#87135) 2023-02-02 16:46:12 -05:00
starkillerOG 264b6d4f77 Bump reolink-aio to 0.3.2 (#87121) 2023-02-02 16:46:11 -05:00
starkillerOG b24d0a86ee Bump reolink_aio to 0.3.1 (#87118) 2023-02-02 16:46:10 -05:00
shbatm 8a7e2922c2 Support ISY994 Z-Wave motorized blinds as cover (#87102) 2023-02-02 16:46:09 -05:00
mkmer e9c10de9a9 Bump AIOSomecomfort to 0.0.6 (#87203)
* Bump to 0.0.5

* Bump aiosomecomfort to 0.0.6

* lower case aiosomecomfort

* Fix other bad imports....

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-02-02 16:45:49 -05:00
Karlie Meads e40a9822f5 Fix disabled condition within an automation action (#87213)
fixes undefined
2023-02-02 22:35:02 +01:00
epenet 11cb6b131f Improve type hints in saj (#87183) 2023-02-02 16:33:23 -05:00
epenet cdc01fce4c Improve type hints in transmission (#87171) 2023-02-02 16:32:51 -05:00
epenet 111a77893e Improve type hints in whirlpool (#87169)
Imrpove type hints in whirlpool
2023-02-02 16:32:40 -05:00
epenet 8a58d1d321 Improve type hints in Xiaomi Miio (#87167)
Imrpove type hints in Xiaomi Miio
2023-02-02 16:32:12 -05:00
epenet 62482f3500 Improve typing in script integration (#87076) 2023-02-02 16:31:46 -05:00
epenet ea3395d576 Improve typing in plaato (#87074) 2023-02-02 16:31:24 -05:00
epenet 275438adf3 Improve typing in ping binary sensor (#87073) 2023-02-02 16:31:09 -05:00
epenet 22c295fbdc Improve typing in ihc util (#87069) 2023-02-02 16:30:32 -05:00
epenet a79be493e5 Adjust hass_client type hint in integration tests (#86954)
* Adjust hass_client type hint in integration tests

* Adjust hass_client_no_auth

* Fix rebase
2023-02-02 16:29:57 -05:00
GrahamJB1 8bff95014c Add modbus min/max values (#86131)
* modbus min/max values
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-02-02 22:29:03 +01:00
Franck Nijhof 9f9873b39a Add ability to generate development translations for all integrations (#87197) 2023-02-02 16:27:51 -05:00
epenet 98198d3c1f Improve type hints in template (#87172) 2023-02-02 16:26:03 -05:00
epenet 9327947332 Improve type hints in onvif (#87184) 2023-02-02 16:25:43 -05:00
Bram Kragten 843e3ca9e6 Update frontend to 20230202.0 (#87208) 2023-02-02 16:11:01 -05:00
Michael 5d8bd0e2e5 Bump py-synologydsm-api to 2.1.1 (#87211)
bump py-synologydsm-api to 2.1.1
2023-02-02 16:10:51 -05:00
starkillerOG f439a94a0d Reolink unsubscribe webhook when first refresh fails (#87147)
* catch ValueError on webhook async_register

* add ONVIF to webhook_id

* Unsubscribe webhook when ConfigEntryNotReady for async_config_entry_first_refresh

* Revert catching ValueError
2023-02-02 15:21:41 -05:00
Franck Nijhof f9d7d65f3a Use template selector for prompt template in OpenAI (#87205)
* Use template selector for prompt template in OpenAI

* Fix tests

* Do not parse template result
2023-02-02 15:20:10 -05:00
J. Nick Koston 22698b1cc5 Fix statistics graphs not loading with data_rate, electric_current, voltage, information, and unitless units (#87202)
* Add missing converts to recorder/statistics_during_period API

This was resulting in the stats graphs not loading on the frontend

* its in two places
2023-02-02 14:52:55 -05:00
Franck Nijhof 3e087ac88c Adjust IoT Class of Reolink to local push (#87206) 2023-02-02 14:33:17 -05:00
shbatm 439232223a Support ISY994 Z-Wave motorized blinds as cover (#87102) 2023-02-02 14:27:30 -05:00
Jan Bouwhuis d8bba6747e Address late review on readability sensor code (#87111)
* Improve readability _numeric_state_expected

* Update homeassistant/components/sensor/__init__.py
2023-02-02 20:22:33 +01:00
epenet 5df16d761c Cleanup coordinator in motion blinds (#87185) 2023-02-02 19:23:51 +01:00
J. Nick Koston 389fc515a1 Prevent overly large attributes from being stored in the database (#87105) 2023-02-02 11:49:33 -06:00
Franck Nijhof 5e81d28116 Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
Paul Bottein f7666239ff Add author metadata for blueprints (#87070) 2023-02-02 11:00:26 -05:00
Marc Mueller 07a3046d11 Update pylint to 2.16.0 (#87083) 2023-02-02 12:49:01 +01:00
epenet bd6a4d10ea Use try_parse_enum in integrations (#87085) 2023-02-02 12:34:01 +01:00
Dmitry Vlasov 4a38b622b2 Update zwave-me-ws version to 0.3.1 (#87145) 2023-02-02 12:02:29 +01:00
starkillerOG d017214d8b Bump reolink-aio to 0.3.2 (#87121) 2023-02-02 11:24:06 +01:00
epenet 7643f98d20 Fix invalid state class in renault (#87135) 2023-02-02 10:38:21 +01:00
Dmitry Vlasov 41b9994218 Add missing supported features to Z-Wave.Me siren (#87141) 2023-02-02 10:36:38 +01:00
epenet 58596d205c Ensure sensor and recorder converters align (#87138) 2023-02-02 10:36:03 +01:00
epenet cc469ab9a9 Add unit conversion to Power sensors (#87136)
* Add missing PowerConverter to UNIT_CONVERTERS

* Adjust tests
2023-02-02 10:27:12 +01:00
epenet 6806e85eab Add missing converters to recorder statistics (#87137) 2023-02-02 09:44:26 +01:00
J. Nick Koston 1fd58b6cb7 Fix a few cartesian products in recorder tests (#87106)
Fixes
```
recorder/test_init.py:251: SAWarning: SELECT statement has a cartesian product between FROM element(s) "states" and FROM element "state_attributes".  Apply join condition(s) between each element to resolve.
```
2023-02-02 07:47:09 +01:00
starkillerOG 29d6ae8d0c Bump reolink_aio to 0.3.1 (#87118) 2023-02-02 04:56:18 +01:00
GitHub Action 0f80932709 [ci skip] Translation update 2023-02-02 00:25:01 +00:00
Franck Nijhof 5fe3adff57 2023.2.0 (#87101) 2023-02-01 19:33:00 +01:00
Joakim Sørensen 4641497806 Bump isort from 5.11.4 to 5.12.0 (#86890) 2023-02-01 18:47:22 +01:00
Jan Bouwhuis 2e16b7e2df Add numeric_state_expected property to Sensor class (#87013)
* Add is_numeric property to Sensor class

* Follw up comment

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Tests and corrections

* Simplify converion check

* Correct custom device class handling

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* rename to numeric_state_expected

* Replace with new const

* Adjust docstr

* Update homeassistant/components/sensor/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Move to const

* Correct logic

* Do not use bool

* Adjust docstr must be numeric

* remote state from docstr

* protect numeric_state_expected

* Use try_parse_enum for custom class check

* Remove redundant type hints

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-02-01 18:45:13 +01:00
Franck Nijhof eed15bb9fa Bumped version to 2023.2.0 2023-02-01 18:41:13 +01:00
Bram Kragten 7028aa7dac Update frontend to 20230201.0 (#87099) 2023-02-01 18:40:59 +01:00
Daniel Hjelseth Høyer 6c93b28374 Update pyTibber to 0.26.12 (#87098) 2023-02-01 18:40:55 +01:00
Paulus Schoutsen 65286d0544 Fix Assist skipping entities that are hidden or have entity category (#87096)
Skipping entities that are hidden or have entity category
2023-02-01 18:40:51 +01:00
J. Nick Koston a678eee31b Reduce chance of queue overflow during schema migration (#87090)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-02-01 18:40:47 +01:00
mkmer fe541583a8 Bump AIOAladdinConnect to 0.1.55 (#87086) 2023-02-01 18:40:44 +01:00
mkmer eabcfa419e Bump AIOAladdinConnect to 0.1.54 (#86749) 2023-02-01 18:40:39 +01:00
J. Nick Koston fb55933b0a Reduce chance of queue overflow during schema migration (#87090)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-02-01 18:34:40 +01:00
Bram Kragten 0a524833e3 Update frontend to 20230201.0 (#87099) 2023-02-01 18:06:12 +01:00
Daniel Hjelseth Høyer 54900ca25f Update pyTibber to 0.26.12 (#87098) 2023-02-01 18:04:24 +01:00
Paulus Schoutsen f32f46aff5 Fix Assist skipping entities that are hidden or have entity category (#87096)
Skipping entities that are hidden or have entity category
2023-02-01 10:48:04 -06:00
Poltorak Serguei 97fac1dde8 Improve Z-Wave.Me integration description (#87088)
Z-Wave.Me integration Description improved
2023-02-01 16:50:53 +01:00
Michael 2f51059b7f Proper handling of authentication errors in AVM Fritz!Tools (#79434) 2023-02-01 16:03:18 +01:00
epenet afa55156d6 Improve typing in nest legacy platforms (#87071) 2023-02-01 06:57:53 -08:00
mkmer 2412f7d266 Bump AIOAladdinConnect to 0.1.55 (#87086) 2023-02-01 15:57:21 +01:00
epenet 1225c5e97d Add enum util (#87082)
* Add enum helper

* docstring

* Move to util

* Add use case
2023-02-01 15:00:27 +01:00
epenet 8efd01b2e8 Type fixes for alexa entities (#87077)
* Type fixes for alexa entities

* Adjust get_type
2023-02-01 14:07:32 +01:00
epenet 10bfebed19 Improve typing in plex services (#87078) 2023-02-01 13:24:07 +01:00
epenet 5005ba0b4a Improve typing in philips_js coordinator (#87075) 2023-02-01 12:15:58 +01:00
epenet 2b4796b9ac Improve typing in unifi services (#87072) 2023-02-01 11:45:04 +01:00
Paulus Schoutsen d57ce25287 Bumped version to 2023.2.0b9 2023-01-31 23:16:09 -05:00
Paulus Schoutsen c786fe27d7 Guard what version we can install ESPHome updates with (#87059)
* Guard what version we can install ESPHome updates with

* Update homeassistant/components/esphome/dashboard.py
2023-01-31 23:16:04 -05:00
Paulus Schoutsen fd3d76988e Trigger update of ESPHome update entity when static info updates (#87058)
Trigger update of update entity when static info updates
2023-01-31 23:16:03 -05:00
J. Nick Koston c43174ee4b Ensure humidity is still exported to HomeKit when it is read-only (#87051)
* Ensure humidity is still exported to HomeKit when is cannot be set

We would only send humidity to HomeKit if the device supported
changing the humidity

* remove unrelated changes
2023-01-31 23:16:02 -05:00
Paulus Schoutsen ad87c4557d Guard what version we can install ESPHome updates with (#87059)
* Guard what version we can install ESPHome updates with

* Update homeassistant/components/esphome/dashboard.py
2023-01-31 23:15:23 -05:00
Paulus Schoutsen 8417f22904 Trigger update of ESPHome update entity when static info updates (#87058)
Trigger update of update entity when static info updates
2023-01-31 22:13:41 -05:00
tronikos f7ae265760 Google Assistant SDK: platinum quality scale (#86876) 2023-01-31 21:05:56 -05:00
J. Nick Koston faf79d0b50 Ensure humidity is still exported to HomeKit when it is read-only (#87051)
* Ensure humidity is still exported to HomeKit when is cannot be set

We would only send humidity to HomeKit if the device supported
changing the humidity

* remove unrelated changes
2023-01-31 21:03:43 -05:00
GitHub Action be73e43989 [ci skip] Translation update 2023-02-01 00:27:42 +00:00
Paulus Schoutsen 0bae47c992 Bumped version to 2023.2.0b8 2023-01-31 15:16:21 -05:00
Paulus Schoutsen 0d3a368a1f Improve JSON errors from HTTP view (#87042) 2023-01-31 15:16:16 -05:00
Franck Nijhof c7871d13cf Fix Yamaha MusicCast zone sleep select entity (#87041) 2023-01-31 15:16:15 -05:00
J. Nick Koston 3d6ced2a16 Add a repair issue when using MariaDB is affected by MDEV-25020 (#87040)
closes https://github.com/home-assistant/core/issues/83787
2023-01-31 15:16:14 -05:00
Michael Hansen 2f403b712c Bump home-assistant-intents to 2023.1.31 (#87034) 2023-01-31 15:16:12 -05:00
mkmer 1caca91174 Honeywell Correct key name (#87018)
* Correct key name

* Logic error around setpoint and auto mode

* Set tempurature and setpoints correctly

* Only high/low in auto.
2023-01-31 15:16:11 -05:00
Franck Nijhof 1859dcf99b Only report invalid numeric value for sensors once (#87010) 2023-01-31 15:16:10 -05:00
Bouwe Westerdijk c34eb1ad9d Bump plugwise to v0.27.5 (#87001)
fixes undefined
2023-01-31 15:16:08 -05:00
Paulus Schoutsen be69e9579c Bump ESPHome Dashboard API 1.2.3 (#86997) 2023-01-31 15:16:07 -05:00
Michael Davie ac6fa3275b Bump env_canada to 0.5.27 (#86996)
fixes undefined
2023-01-31 15:16:06 -05:00
J. Nick Koston 5284837c8f Add a repair issue when using MariaDB is affected by MDEV-25020 (#87040)
closes https://github.com/home-assistant/core/issues/83787
2023-01-31 20:42:07 +01:00
Paulus Schoutsen 9c0856787d Improve JSON errors from HTTP view (#87042) 2023-01-31 20:37:26 +01:00
Franck Nijhof 5b728a41de Fix Yamaha MusicCast zone sleep select entity (#87041) 2023-01-31 20:37:11 +01:00
mkmer ee30f5afcc Honeywell Correct key name (#87018)
* Correct key name

* Logic error around setpoint and auto mode

* Set tempurature and setpoints correctly

* Only high/low in auto.
2023-01-31 12:59:06 -05:00
Michael Hansen 52cf6c7baf Fix assert order in intent tests (#87036)
Fix assert order
2023-01-31 10:59:00 -06:00
Michael Hansen 68450734f1 Bump home-assistant-intents to 2023.1.31 (#87034) 2023-01-31 10:23:03 -06:00
Álvaro Fernández Rojas c780334608 Update AEMET-OpenData to v0.2.2 (#87017) 2023-01-31 16:48:51 +01:00
Matrix d6e817aa62 Separate the yolink garage door device from the door sensor (#84561)
* Separate the garage door device from the door sensor

* Bump yolink api to 0.2.1

* fix suggest

* fix typos

* Bump yolink-api to 0.2.6

* Bump version to 0.2.7 and fix rename effects

* change aiohttp min version to 3.8.1
2023-01-31 14:50:19 +01:00
Franck Nijhof 4dba9c09fc Only report invalid numeric value for sensors once (#87010) 2023-01-31 12:44:18 +01:00
On Freund 35b82db8b0 Rympro integration code fixes (#86734)
* Address review comments

* Add coordinator.py to coveragerc

* Apply suggestions from code review

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update homeassistant/components/rympro/coordinator.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Move SCAN_INTERVAL to coordinator.py

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-01-31 10:40:43 +01:00
Martin Mauch a28e7e1541 Fix typo in EnOcean (#86868) 2023-01-31 09:49:37 +01:00
Bouwe Westerdijk 7f01d57965 Bump plugwise to v0.27.5 (#87001)
fixes undefined
2023-01-31 09:32:39 +01:00
epenet 0d018d53f1 Don't run tests if ruff fails (#87003) 2023-01-31 09:31:49 +01:00
Michael Davie be25d17e02 Bump env_canada to 0.5.27 (#86996)
fixes undefined
2023-01-31 08:56:27 +01:00
epenet 7db166b515 Fix tests typing helper (#86956) 2023-01-31 08:48:35 +01:00
Jan Bouwhuis 33ede351f0 Cleanup code for parsing yaml MQTT config (#86944)
* Cleanup code for parsing yaml configs

* Add abstractmethod decorator to async_update

* Replace get() with default-list ensured by schema
2023-01-31 08:24:33 +01:00
Paulus Schoutsen 1c4ba61725 Bump ESPHome Dashboard API 1.2.3 (#86997) 2023-01-31 00:05:59 -05:00
Paulus Schoutsen 2f896c5df8 Bumped version to 2023.2.0b7 2023-01-30 23:47:52 -05:00
Paulus Schoutsen c9e86ccd38 ESPHome handle remove password and no encryption (#86995)
* ESPHome handle remove password and no encryption

* Start reauth for invalid api password

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-01-30 23:47:48 -05:00
Paulus Schoutsen 8760227296 ESPHome discovered dashboard checks reauth flows (#86993) 2023-01-30 23:47:47 -05:00
Michael Hansen edf02b70ea Prioritize entity names over area names in Assist matching (#86982)
* Refactor async_match_states

* Check entity name after state, before aliases

* Give entity name matches priority over area names

* Don't force result to have area

* Add area alias in tests

* Move name/area list creation back

* Clean up PR

* More clean up
2023-01-30 23:47:46 -05:00
shbatm 32a7ae6129 Bump pyisy to 3.1.11 (#86981)
* Bump pyisy to 3.1.10

* Bump pyisy to 3.1.11
2023-01-30 23:47:45 -05:00
Paulus Schoutsen 29056f1bd7 Check dashboard when showing reauth form (#86980) 2023-01-30 23:47:44 -05:00
puddly 01dea7773a Bump ZHA dependencies (#86979)
Bump ZHA dependency bellows from 0.34.6 to 0.34.7
2023-01-30 23:47:43 -05:00
Bram Kragten 688bba15ac Update frontend to 20230130.0 (#86978) 2023-01-30 23:47:42 -05:00
Franck Nijhof f6230e2d71 Allow any state class when using the precipitation device class (#86977) 2023-01-30 23:47:41 -05:00
Steven Looman 6a9f06d36e Ensure a proper scope_id is given for IPv6 addresses when initializing the SSDP component (#86975)
fixes undefined
2023-01-30 23:47:40 -05:00
Steven Looman dc50a6899a Fix error on empty location in ssdp messages (#86970) 2023-01-30 23:47:39 -05:00
Paul Bottein d39d4d6b7f Uses PolledSmartEnergySummation for ZLinky (#86960) 2023-01-30 23:47:38 -05:00
ollo69 6a1710063a Catch AndroidTV exception on setup (#86819)
fixes undefined
2023-01-30 23:47:37 -05:00
puddly 565a9735fc ZHA config flow cleanup (#86742)
fixes undefined
2023-01-30 23:47:36 -05:00
mkmer ba966bd0f7 Honeywell auto mode invalid attribute (#86728)
fixes undefined
2023-01-30 23:47:35 -05:00
Michael Hansen c7b944ca75 Use device area id in intent matching (#86678)
* Use device area id when matching

* Normalize whitespace in response

* Add extra test entity
2023-01-30 23:47:34 -05:00
Michael Hansen f4654128db Add synesthesiam as a codeowner on intent (#86998) 2023-01-30 23:46:42 -05:00
Michael Hansen be69c81db5 Prioritize entity names over area names in Assist matching (#86982)
* Refactor async_match_states

* Check entity name after state, before aliases

* Give entity name matches priority over area names

* Don't force result to have area

* Add area alias in tests

* Move name/area list creation back

* Clean up PR

* More clean up
2023-01-30 23:46:25 -05:00
Marcel van der Veldt f8c6e4c20a Add support for Hue Smart Scenes (Natural Lights) (#85517)
* Bump aiohue to 4.6.0

* fix device name for lights

* fix name for groups too

* ignore smart scenes

* bump to 4.6.1 instead

* Add support for Smart Scenes (Natural lights) in Hue

* update base entity class

* fix test fixture

* update tests

* fix scene test

* fix typo

* use underlying scene controller

* use enum value

* update tests

* add current scene name within smart scene

* extra attributes are only valid if the scene is active

* Update v2_resources.json

* typo

* fix after merge
2023-01-30 23:32:37 -05:00
Paulus Schoutsen d88849fb04 ESPHome handle remove password and no encryption (#86995)
* ESPHome handle remove password and no encryption

* Start reauth for invalid api password

---------

Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2023-01-30 23:05:48 -05:00
PeteRager e706696271 Nest - Climate shorten line to be less than 88 chars (#86989)
Lines to be less than 88
2023-01-30 19:14:24 -08:00
shbatm 53638ba138 Bump pyisy to 3.1.11 (#86981)
* Bump pyisy to 3.1.10

* Bump pyisy to 3.1.11
2023-01-30 21:36:51 -05:00
puddly 47453420c1 Bump ZHA dependencies (#86979)
Bump ZHA dependency bellows from 0.34.6 to 0.34.7
2023-01-30 21:35:27 -05:00
Bram Kragten 0c383e28c4 Update frontend to 20230130.0 (#86978) 2023-01-30 21:34:26 -05:00
Paulus Schoutsen 98b4a412f7 ESPHome discovered dashboard checks reauth flows (#86993) 2023-01-30 21:32:52 -05:00
GitHub Action da35ac1942 [ci skip] Translation update 2023-01-31 00:25:29 +00:00
mkmer 365ce55d77 Honeywell auto mode invalid attribute (#86728)
fixes undefined
2023-01-31 00:04:00 +01:00
Michael Hansen 28affe91be Set synesthesiam as codeowner of conversation (#86958) 2023-01-30 23:02:25 +01:00
Paulus Schoutsen 2cdeb6f1cd Check dashboard when showing reauth form (#86980) 2023-01-30 22:46:42 +01:00
Steven Looman 7e206b5854 Fix error on empty location in ssdp messages (#86970) 2023-01-30 22:43:58 +01:00
Franck Nijhof 1edd00c51f Allow any state class when using the precipitation device class (#86977) 2023-01-30 22:43:23 +01:00
ollo69 772df02cce Catch AndroidTV exception on setup (#86819)
fixes undefined
2023-01-30 22:42:32 +01:00
puddly 8337d4613e ZHA config flow cleanup (#86742)
fixes undefined
2023-01-30 22:21:34 +01:00
Steven Looman 50373500c3 Ensure a proper scope_id is given for IPv6 addresses when initializing the SSDP component (#86975)
fixes undefined
2023-01-30 22:14:48 +01:00
Paul Bottein a8b23d7139 Uses PolledSmartEnergySummation for ZLinky (#86960) 2023-01-30 22:10:55 +01:00
Paulus Schoutsen 0702314dcb Bumped version to 2023.2.0b6 2023-01-30 14:39:37 -05:00
Michael Hansen 81de0bba22 Performance improvements for Assist (#86966)
* Move hassil recognize into executor

* Bump hassil to 0.2.6

* Disable template parsing in name/area lists

* Don't iterate over hass.config.components directly
2023-01-30 14:38:27 -05:00
Paulus Schoutsen 0b015d46c3 Fix some mobile app sensor registration/update issues (#86965)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-30 14:38:26 -05:00
J. Nick Koston 0713e034b9 Silence spurious warnings about removing ix_states_entity_id with newer installs (#86961)
* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465

* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465
2023-01-30 14:38:25 -05:00
Mick Vleeshouwer 171acc22ca Fix ThreeWayHandle sensor in Overkiz integration (#86953)
Fix typo in sensor.py

Fixes https://github.com/home-assistant/core/issues/85913
2023-01-30 14:38:24 -05:00
J. Nick Koston 2e26a40bba Speed up live history setup if there is no pending data to commit (#86942) 2023-01-30 14:38:23 -05:00
Jan Bouwhuis 3f717ae854 Fix MQTT discovery failing after bad config update (#86935)
* Fix MQTT discovery failing after bad config update

* Update last discovery payload after update success

* Improve test, correct update assignment

* send_discovery_done to finally-catch vol.Error

* Just use try..finally

* Remove extra line

* use elif to avoid log confusion
2023-01-30 14:38:21 -05:00
Raman Gupta c715534821 Bump zwave-js-server-python to 0.45.0 (#86771) 2023-01-30 14:27:37 -05:00
Paulus Schoutsen e0f8b5bbd1 Fix some mobile app sensor registration/update issues (#86965)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-30 20:08:19 +01:00
Michael Hansen f7fdaadde0 Performance improvements for Assist (#86966)
* Move hassil recognize into executor

* Bump hassil to 0.2.6

* Disable template parsing in name/area lists

* Don't iterate over hass.config.components directly
2023-01-30 12:25:22 -06:00
Jan Bouwhuis e57dad79fc Fix MQTT discovery failing after bad config update (#86935)
* Fix MQTT discovery failing after bad config update

* Update last discovery payload after update success

* Improve test, correct update assignment

* send_discovery_done to finally-catch vol.Error

* Just use try..finally

* Remove extra line

* use elif to avoid log confusion
2023-01-30 19:15:11 +01:00
J. Nick Koston 00118a6f96 Speed up live history setup if there is no pending data to commit (#86942) 2023-01-30 19:00:34 +01:00
J. Nick Koston f874258e7e Silence spurious warnings about removing ix_states_entity_id with newer installs (#86961)
* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465

* Silence spurious warnings about removing ix_states_entity_id with newer installs

https://ptb.discord.com/channels/330944238910963714/427516175237382144/1069648035459641465
2023-01-30 12:38:33 -05:00
Erik Montnemery 53c5f02ca2 Remove some dead code from recorder (#86697) 2023-01-30 18:37:48 +01:00
Shay Levy 857df05308 Add Shelly Gen2 update entity for sleeping devices (#86837) 2023-01-30 19:05:13 +02:00
PeteRager d22e670334 Avoid Nest climate set_temperature eating error (#86920)
* Update climate_sdm.py

* Update test case to detect KeyError

* Throw a defined exception if the condition in encoutered

Include keys from device_traits in error message

* Less diagnostic information in error message
2023-01-30 08:01:41 -08:00
Marc Mueller 2c12171e25 Update actions/cache to v3.2.4 (#86943) 2023-01-30 16:42:01 +01:00
Mick Vleeshouwer 98a79dd5a2 Fix ThreeWayHandle sensor in Overkiz integration (#86953)
Fix typo in sensor.py

Fixes https://github.com/home-assistant/core/issues/85913
2023-01-30 17:15:53 +02:00
Tom Puttemans 73cd03255f Ignore empty payloads from DSMR Reader (#86841)
* Ignore empty payloads from DSMR Reader

* Simplify empty payload handling

If the native value hasn't changed, requesting to store it won't have a performance impact.

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-30 08:56:57 -05:00
Erik Montnemery d4489faa68 Drop minus sign on negative zero (#86939)
* Drop minus sign on negative zero

* Add tests
2023-01-30 08:31:27 -05:00
Maciej Bieniek 5f57648578 Use more human-readable sensor names in Airly (#86893)
* Use more human-readable sensor names

* Use abbreviations for long names
2023-01-30 08:29:06 -05:00
Ben Dews 21d1c647c5 Add configuration options to OpenAI integration (#86768)
* Added multiple features to OpenAI integration

* Fixed failed test

* Removed features and improved tests

* initiated component before starting options flow
2023-01-30 08:24:11 -05:00
Robert Hillis 032a37b121 Address Google mail late review (#86847) 2023-01-30 14:18:56 +01:00
Franck Nijhof 3b5fd4bd06 Enable Ruff TRY004 (#86811) 2023-01-30 14:06:52 +01:00
mkmer 7368c86ecb Add Reauth config flow to honeywell (#86170) 2023-01-30 13:57:14 +01:00
epenet 7e7a27f8b9 Add type hints to http client fixtures (#86795) 2023-01-30 13:40:07 +01:00
Maciej Bieniek cc36848a6d Use native_precision instead of round in Accuweather (#86869) 2023-01-30 12:36:24 +01:00
Nick Touran d2e75e4f7a Add Autofocus, IR lamp, and Wiper switches in ONVIF (#84317)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-30 12:08:07 +01:00
Maciej Bieniek d485630ce9 Use device class ENUM for Accuweather pressure tendency sensor (#86887)
* Use device class ENUM for pressure tendency sensor

* Format
2023-01-30 12:03:23 +01:00
Franck Nijhof a4fa0925b7 Small improvement to Withings tests (#86937) 2023-01-30 11:03:42 +01:00
Franck Nijhof c56832bb2c Enable Ruff SIM300 (#86793) 2023-01-30 11:03:23 +01:00
Franck Nijhof 9ac8f9aa37 Revert "Adjust D-Link entity naming" (#86936) 2023-01-30 10:56:56 +01:00
Robert Hillis 709d1cb8af Adjust D-Link entity naming (#86906) 2023-01-30 10:29:12 +01:00
Franck Nijhof 1958dd5550 Update ruff to v0.0.237 (#86932) 2023-01-30 10:15:24 +01:00
Malte Franken 92a833b192 Bump aio_geojson_generic_client to 0.3 (#86918) 2023-01-30 10:11:41 +01:00
J. Nick Koston 4e9bd09d39 Fix old indices not being removed in schema migration leading to slow MySQL queries (#86917)
fixes #83787
2023-01-29 21:33:23 -05:00
GitHub Action b82ecfdd28 [ci skip] Translation update 2023-01-30 00:21:11 +00:00
J. Nick Koston 0f4b17755e Improve logging and handling when websocket gets behind (#86854)
fixes undefined
2023-01-29 10:49:27 -10:00
J. Nick Koston c612a92cfb Use python defaults for comparing State, LazyState, and Event objects (#86856)
* Speed up comparing State and Event objects

Use default python implementation for State and Event __hash__ and __eq__

The default implementation compared based on the id() of the object
which is effectively what we want here anyways. These overrides are
left over from the days when these used to be attrs objects

By avoiding implementing these ourselves all of the equality checks
can happen in native code

* tweak

* adjust tests

* write out some more

* fix test to not compare objects

* more test fixes

* more test fixes

* correct stats tests

* fix more tests

* fix more tests

* update sensor recorder tests
2023-01-29 13:31:43 -05:00
Joakim Sørensen 80ffac48a3 Revert "Mark repo as safe directory to git config (#83755)" (#86888)
This reverts commit dc000d2289.
2023-01-29 13:07:50 -05:00
Allen Porter 4f965f0eca Bump pyrainbird to 2.0.0 (#86851) 2023-01-29 15:11:56 +01:00
Joakim Sørensen 569bf3bb76 Bump pytautulli from 21.11.0 to 23.1.1 (#86891) 2023-01-29 15:07:05 +01:00
Joakim Sørensen f9e8247401 Bump isort from 5.11.4 to 5.12.0 (#86890) 2023-01-29 15:04:17 +01:00
Malte Franken 344a0c55a5 Add integration_type to geo_json_events (#86878)
define integration type
2023-01-29 15:02:13 +01:00
Thomas Schamm 11e125f2e8 Add Bosch SHC description and host form strings (#86897)
* Add description to setup SHC II. Add missing host info in reauth_confirm

* Remove template value in en.json
2023-01-29 15:00:36 +01:00
J. Nick Koston 691a234090 Cache the names and area lists in the default agent (#86874)
* Cache the names and area lists in the default agent

fixes #86803

* add coverage to make sure the entity cache busts

* add areas test

* cover the last line
2023-01-29 07:16:29 -05:00
Maciej Bieniek eebc338c3b Support native_precision in Airly integration (#86843)
* Use native_precision

* Refactor extra_state_attributes
2023-01-29 11:44:23 +01:00
J. Nick Koston 58de7b8df0 Fix v32 schema migration when MySQL global.time_zone is configured with non-UTC timezone (#86867)
* Fix v32 schema migration when MySQL timezone is not UTC

* tweak
2023-01-28 22:06:07 -05:00
Martin Hjelmare b1e939d1f1 Fix tradfri air quality device class (#86861) 2023-01-28 22:05:31 -05:00
J. Nick Koston ec3475910f Improve websocket throughput of state changes (#86855)
After the start event we tend to get an event storm of state
changes which can get the websocket behind. #86854 will
help with that a bit, but we can reduce the overhead
to build a state diff when the attributes have not
changed
2023-01-28 22:05:06 -05:00
Robert Hillis 799edd90aa Fix D-Link attributes (#86842)
* Fix D-Link attributes

* fix blocking call
2023-01-28 22:03:58 -05:00
GitHub Action 0f6f63da64 [ci skip] Translation update 2023-01-29 00:26:29 +00:00
Paul Bottein e93bfa6556 Update frontend to 20230128.0 (#86838) 2023-01-28 18:49:29 -05:00
Jan Bouwhuis 6a94a58325 Correct stale doc string for MQTT tag platform (#86862) 2023-01-29 00:23:22 +02:00
PeteRager a7ddd592fb Nest improve error message on climate actions (#86853)
* Nest - Climate - Error Messages

1. Error messages were incorrect for some methods, for example async_set_temperature was reporting failure to set hvac_mode. This is corrected.
2. Error messages were incomplete and were not including the entity_id,and the operation being performed that failed.
3. Add unit tests to test the exception handling

* Move tests into exiisting error test

* Improve readability of error message
2023-01-28 12:58:28 -08:00
Allen Porter 733798f483 Fix nest climate set temperature error message string (#86852) 2023-01-28 11:02:46 -08:00
J. Nick Koston af5fd74d6f Bump ismartgate to 5.0.0 (#86830)
python 3.11 support

changelog: https://github.com/bdraco/ismartgate/compare/v4.0.4...v5.0.0
2023-01-28 07:14:36 +01:00
Luca Angemi efd2817221 Add state class to nest legacy sensors (#86810)
* Add state class to nest legacy sensors

Add state class (measurement) to humidity and temperature for the nest legacy sensors.

* Update

Update
2023-01-27 21:20:51 -08:00
J. Nick Koston d97a061285 Chunk MariaDB and Postgresql data migration to avoid running out of buffer space (#86680)
* Chunk MariaDB data migration to avoid running out of buffer space

This will make the migration slower but since the innodb_buffer_pool_size
is using the defaul to 128M and not tuned to the db size there is a
risk of running out of buffer space for large databases

* Update homeassistant/components/recorder/migration.py

* hard code since bandit thinks its an injection

* Update homeassistant/components/recorder/migration.py

* guard against manually modified data/corrupt db

* adjust to 10k per chunk

* adjust to 50k per chunk

* memory still just fine at 250k

* but slower

* commit after each chunk to reduce lock pressure

* adjust

* set to 0 if null so we do not loop forever (this should only happen if the data is missing)

* set to 0 if null so we do not loop forever (this should only happen if the data is missing)

* tweak

* tweak

* limit cleanup

* lower limit to give some more buffer

* lower limit to give some more buffer

* where required for sqlite

* sqlite can wipe as many as needed with no limit

* limit on mysql only

* chunk postgres

* fix limit

* tweak

* fix reference

* fix

* tweak for ram

* postgres memory reduction

* defer cleanup

* fix

* same order
2023-01-27 22:39:45 -05:00
shbatm e2edbc4259 Check for missing ISY994 Z-Wave Properties (#86829)
* Check for missing Z-Wave Properties

* Fix black from mobile
2023-01-27 22:16:28 -05:00
J. Nick Koston d0c7f42559 Fix Bluetooth discoveries missing between restarts (#86808)
* Fix Bluetooth discoveries missing between restarts

* do not load other integrations

* coverage
2023-01-27 22:16:16 -05:00
Robert Hillis b69576d6de Add D-link tests (#86825)
* Fix D-Link config flow auth

* Add tests to D-Link

* pyupgrade
2023-01-27 22:15:27 -05:00
Robert Hillis adb0d85511 Fix D-Link config flow auth (#86824) 2023-01-27 21:38:25 -05:00
GitHub Action 072f228e4d [ci skip] Translation update 2023-01-28 00:23:36 +00:00
Shay Levy 803cd8d9a3 Handle state unknown if last state is missing in Shelly (#86813)
Shelly - handle state unknown if last state is missing
2023-01-27 23:34:56 +01:00
Ville Skyttä 50c2992f36 Drop py39 from black target-version (#86814) 2023-01-27 22:39:52 +02:00
dependabot[bot] 15492aead0 Bump tibdex/github-app-token from 1.7.0 to 1.8.0 (#86767)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-27 20:35:56 +01:00
Bouwe Westerdijk 661f7e1522 Bump plugwise to v0.27.4 (#86812)
fixes undefined
2023-01-27 20:00:44 +01:00
Franck Nijhof e9543a7254 Enable Ruff PT021 (#86801) 2023-01-27 17:14:04 +01:00
Franck Nijhof 8f74bff354 Enable Ruff PLC0414 (#86799) 2023-01-27 16:32:04 +01:00
Shay Levy f9f9741d2a Separate Shelly tests parameters in parametrize (#86778)
Shelly tests - separate parameters in parametrize
2023-01-27 14:28:35 +01:00
Franck Nijhof ef800335fb Enable Ruff PT022 (#86792)
* Enable Ruff PT022

* Adjust found cases
2023-01-27 13:57:06 +01:00
Franck Nijhof 8c993116e1 Enable Ruff SIM401 (#86790)
* Enable Ruff SIM401

* Adjust found cases
2023-01-27 13:08:44 +01:00
Franck Nijhof bfbf9b9751 Adjusts imports in tests to match our relative import rules (#86788) 2023-01-27 12:51:58 +01:00
Franck Nijhof 89c0b27b42 Migrates tests to use UnitOfPressure enum (#86785) 2023-01-27 12:13:27 +01:00
epenet 561fc2d771 Remove deprecated unit system properties (#86643)
* Remove deprecated unit system properties

* Fix tests
2023-01-27 12:09:26 +01:00
Franck Nijhof 3ff3834cae Re-enable Ruff UP024 (#86784) 2023-01-27 12:03:27 +01:00
Franck Nijhof a79885ceaf Enable Ruff SIM117 (#86783) 2023-01-27 11:52:49 +01:00
Franck Nijhof 57cf11f067 Enable Ruff PT015 (#86775) 2023-01-27 11:10:29 +01:00
Franck Nijhof 49148421cb Migrates tests to use UnitOfSpeed enum (#86777) 2023-01-27 10:58:55 +01:00
Franck Nijhof fca3382d37 Migrates tests to use MediaPlayerEntityFeature enum (#86779) 2023-01-27 10:56:40 +01:00
Franck Nijhof 42c4f2f7fa Add ability for pytest to run only on changed tests in codebase (#86776) 2023-01-27 10:35:18 +01:00
Shay Levy ae6bc96002 Shelly code quality (#86733) 2023-01-27 10:47:05 +02:00
Franck Nijhof e4a78420b8 Enable Ruff PT013 (#86757)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-27 09:09:46 +01:00
Malte Franken bd9a8ba6f1 Bump aio_georss_gdacs to 0.8 (#86761)
bump aio_georss_gdacs to 0.8
2023-01-27 08:44:30 +01:00
Jesse Hills 78207121c0 Remove esphome password from config flow data if not needed (#86763)
* Remove esphome password if not needed

* Add test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-26 21:45:51 -05:00
Paulus Schoutsen 687184138c ESPHome update: Store reference to runtime data, not one of its values (#86762)
Store reference to runtime data, not one of its values
2023-01-26 21:45:42 -05:00
Franck Nijhof e738924780 Enable Ruff SIM105 (#86759)
* Enable Ruff SIM105

* Adjust existing cases
2023-01-26 21:06:22 -05:00
GitHub Action 71d7098530 [ci skip] Translation update 2023-01-27 00:25:12 +00:00
Aaron Bach 020d52c3e2 Fix state class issues in Ambient PWS (#86758)
fixes undefined
2023-01-27 00:14:46 +01:00
Marc Mueller b84cf3a3d9 Improve bosch_shc config_flow typing (#86739) 2023-01-26 23:39:12 +01:00
Shay Levy 2c8cb13034 Bump aioshelly to 5.3.1 (#86751) 2023-01-27 00:34:31 +02:00
Paulus Schoutsen 9cd48b4999 OpenAI: Fix device without model (#86754) 2023-01-26 23:25:02 +01:00
tronikos 04bc522fa5 Google Assistant SDK: Test unload when enable_conversation_agent (#86707)
Test unload when enable_conversation_agent
2023-01-26 16:17:23 -05:00
Marc Mueller caa1ba7e13 Improve nuki typing (#86736)
* Use NukiCoordinator

* Make NukiEntity generic

* Remove unnecessary ABC
2023-01-26 23:03:36 +02:00
mkmer 138a522d2e Bump AIOAladdinConnect to 0.1.54 (#86749) 2023-01-26 23:00:54 +02:00
Franck Nijhof 62dcbe5258 Enable Ruff PT001 (#86730) 2023-01-26 18:05:05 +01:00
Franck Nijhof 7ed9967245 Fix state classes for duration device class (#86727) 2023-01-26 17:26:52 +01:00
epenet b3380261d7 Add hints to get_service in azure service bus (#86694) 2023-01-26 17:20:52 +01:00
Franck Nijhof eb5d63237c Update ruff to v0.0.235 (#86719) 2023-01-26 17:17:13 +01:00
epenet 2bef69c6a7 Add hints to get_service in integrations (1/2) (#86692) 2023-01-26 16:56:57 +01:00
epenet 0d579f6ac3 Add hints to get_service in integrations (2/2) (#86693) 2023-01-26 16:55:57 +01:00
epenet 8a5a1b810a Add hints to get_service in netgear-lte (#86700) 2023-01-26 16:54:57 +01:00
epenet 95d0329d6c Add hints to get_service in tplink-lte (#86702) 2023-01-26 16:53:24 +01:00
Franck Nijhof d4955a3d87 Replace assert False by raising an error (#86686) 2023-01-26 16:51:43 +01:00
Michael Hansen adeaf746ec Use device area id in intent matching (#86678)
* Use device area id when matching

* Normalize whitespace in response

* Add extra test entity
2023-01-26 09:48:49 -06:00
Franck Nijhof 38203003d2 Remove gas device class from current sensor in dsmr_reader (#86725) 2023-01-26 16:44:52 +01:00
epenet 25c451832b Remove pragma: no cover when not raising (#86706) 2023-01-26 16:34:05 +01:00
StefanIacobLivisi 468457eff4 Bump aiolivisi to 0.0.15 (#86721) 2023-01-26 16:28:16 +01:00
epenet 7af86fe130 Improve notify type hints (#86685) 2023-01-26 16:23:03 +01:00
Marc Mueller 54fcf58449 Use mypy caching [ci] (#86715) 2023-01-26 15:59:37 +01:00
Martin Hjelmare c727f403ff Bump python-matter-server to 2.0.2 (#86712) 2023-01-26 15:43:12 +01:00
Robert Svensson 4181a9baf0 Improve Axis config flow tests (#86644)
* Improve Axis config flow tests

* Don't use prepare_config_entry
2023-01-26 14:29:06 +01:00
David F. Mulcahey 6e285c87c3 Update Inovelli Blue Series switch support in ZHA (#86711) 2023-01-26 08:27:44 -05:00
Patrick ZAJDA 2e70de9dd9 Migrate Nuki to new entity naming style (#80021)
Co-authored-by: Pascal Vizeli <pvizeli@syshack.ch>
2023-01-26 13:50:19 +01:00
mkmer 6ea234ed57 Add DeviceInfo to Honeywell (#86179)
* Add DeviceInfo
Add has_entity_name

* has_entity_name to class attribute

* Update homeassistant/components/honeywell/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/honeywell/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-26 13:28:36 +01:00
MHFDoge 282d6af2a2 Add known webostv button to list (#86674)
Add known button to list.
2023-01-26 13:55:07 +02:00
Pascal Reeb 484e73beaa Add device registration to the Nuki component (#79806)
* Add device registration to the Nuki component

* Name is always given by the API

* implement pvizeli's suggestions

* switch device_registry to snake_case

* fix entity naming

* unify manufacturer names
2023-01-26 12:38:10 +01:00
Robert Svensson 9a6e620810 Fix missing interface key in deCONZ logbook (#86684)
fixes undefined
2023-01-26 11:44:01 +01:00
epenet 1139555448 Add hints to get_service in kodi (#86698) 2023-01-26 11:40:48 +01:00
epenet cbcff6435f Add hints to get_service in joaoapps join (#86699) 2023-01-26 11:15:00 +01:00
Erik Montnemery fea30c1ce9 Terminate strings at NUL when recording states and events (#86687) 2023-01-26 11:11:03 +01:00
epenet b9ffc67a44 Add hints to get_service in syslog (#86701) 2023-01-26 11:10:50 +01:00
epenet ca8cc284ed Add hints to get_service in rest (#86703) 2023-01-26 11:08:06 +01:00
Paulus Schoutsen ff91fb7d74 Make openai conversation prompt template more readable + test case (#86676) 2023-01-26 11:04:15 +01:00
Franck Nijhof 021ac84405 Add recorder platform to required test category (#86704) 2023-01-26 11:03:56 +01:00
Franck Nijhof 17d3159e77 Remove unneeded use of keys() in ZHA (#86668)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-26 11:02:46 +01:00
Andrey Kupreychik fa7ad20372 Update ndms2_client to 0.1.2 (#86624)
fix https://github.com/home-assistant/core/issues/86379
fixes undefined
2023-01-26 08:53:20 +01:00
Paulus Schoutsen 28a3b4a32c Add error handling for OpenAI (#86671)
* Add error handling for OpenAI

* Simplify area filtering

* better prompt
2023-01-25 22:17:19 -05:00
David F. Mulcahey c395698ea2 Bump ZHA quirks lib (#86669) 2023-01-25 22:15:09 -05:00
Paulus Schoutsen e06603bbbd Google Assistant: unset agent on unload (#86635) 2023-01-25 21:33:30 -05:00
J. Nick Koston 4cafd393c6 Correct units on mopeka battery voltage sensor (#86663) 2023-01-26 02:14:59 +01:00
Franck Nijhof e50a531cd9 Code styling tweaks to the tests - Part 2 (#86662)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2023-01-26 01:23:53 +01:00
GitHub Action 7ab88fa713 [ci skip] Translation update 2023-01-26 00:23:39 +00:00
Franck Nijhof 4955dd3e1b Code styling tweaks to Nexia tests (#86660) 2023-01-25 23:36:17 +01:00
J. Nick Koston 1d1d69ca02 Update scaffold scripts to use async_forward_entry_setups (#86647) 2023-01-25 21:26:31 +01:00
Robert Svensson a56f6cb863 Assert Axis config entry state not hass.data (#86648) 2023-01-25 21:15:03 +01:00
Franck Nijhof 7d672b4a4d Bump version to 2023.3.0dev0 (#86632) 2023-01-25 20:50:44 +01:00
Paulus Schoutsen df0fc30695 Fix oauth2 error (#86634) 2023-01-25 20:50:16 +01:00
Joakim Plate 1b97a51b5e Print expected device class units in error log (#86125) 2023-01-25 20:45:50 +01:00
23943 changed files with 167924 additions and 610189 deletions
+5
View File
@@ -114,6 +114,10 @@ tests: &tests
- tests/auth/**
- tests/backports/**
- tests/common.py
- tests/components/history/**
- tests/components/logbook/**
- tests/components/recorder/**
- tests/components/sensor/**
- tests/conftest.py
- tests/hassfest/**
- tests/helpers/**
@@ -121,6 +125,7 @@ tests: &tests
- tests/mock/**
- tests/pylint/**
- tests/scripts/**
- tests/syrupy.py
- tests/test_util/**
- tests/testing_config/**
- tests/util/**
+44 -21
View File
@@ -36,6 +36,7 @@ omit =
homeassistant/components/airnow/__init__.py
homeassistant/components/airnow/sensor.py
homeassistant/components/airq/__init__.py
homeassistant/components/airq/coordinator.py
homeassistant/components/airq/sensor.py
homeassistant/components/airthings/__init__.py
homeassistant/components/airthings/sensor.py
@@ -104,7 +105,6 @@ omit =
homeassistant/components/baf/sensor.py
homeassistant/components/baf/switch.py
homeassistant/components/baidu/tts.py
homeassistant/components/balboa/__init__.py
homeassistant/components/bbox/device_tracker.py
homeassistant/components/bbox/sensor.py
homeassistant/components/beewi_smartclim/sensor.py
@@ -198,17 +198,13 @@ omit =
homeassistant/components/denonavr/__init__.py
homeassistant/components/denonavr/media_player.py
homeassistant/components/denonavr/receiver.py
homeassistant/components/devolo_home_control/switch.py
homeassistant/components/digital_ocean/*
homeassistant/components/discogs/sensor.py
homeassistant/components/discord/__init__.py
homeassistant/components/discord/notify.py
homeassistant/components/dlib_face_detect/image_processing.py
homeassistant/components/dlib_face_identify/image_processing.py
homeassistant/components/dlink/__init__.py
homeassistant/components/dlink/data.py
homeassistant/components/dlink/entity.py
homeassistant/components/dlink/switch.py
homeassistant/components/dominos/*
homeassistant/components/doods/*
homeassistant/components/doorbird/__init__.py
@@ -216,6 +212,11 @@ omit =
homeassistant/components/doorbird/camera.py
homeassistant/components/doorbird/entity.py
homeassistant/components/doorbird/util.py
homeassistant/components/dormakaba_dkey/__init__.py
homeassistant/components/dormakaba_dkey/binary_sensor.py
homeassistant/components/dormakaba_dkey/entity.py
homeassistant/components/dormakaba_dkey/lock.py
homeassistant/components/dormakaba_dkey/sensor.py
homeassistant/components/dovado/*
homeassistant/components/downloader/*
homeassistant/components/dsmr_reader/__init__.py
@@ -248,7 +249,8 @@ omit =
homeassistant/components/ecowitt/sensor.py
homeassistant/components/eddystone_temperature/sensor.py
homeassistant/components/edimax/switch.py
homeassistant/components/edl21/*
homeassistant/components/edl21/__init__.py
homeassistant/components/edl21/sensor.py
homeassistant/components/egardia/*
homeassistant/components/eight_sleep/__init__.py
homeassistant/components/eight_sleep/binary_sensor.py
@@ -393,7 +395,8 @@ omit =
homeassistant/components/fritzbox_callmonitor/__init__.py
homeassistant/components/fritzbox_callmonitor/base.py
homeassistant/components/fritzbox_callmonitor/sensor.py
homeassistant/components/frontier_silicon/const.py
homeassistant/components/frontier_silicon/__init__.py
homeassistant/components/frontier_silicon/browse_media.py
homeassistant/components/frontier_silicon/media_player.py
homeassistant/components/futurenow/light.py
homeassistant/components/garadget/cover.py
@@ -413,6 +416,7 @@ omit =
homeassistant/components/goalfeed/*
homeassistant/components/goodwe/__init__.py
homeassistant/components/goodwe/button.py
homeassistant/components/goodwe/coordinator.py
homeassistant/components/goodwe/number.py
homeassistant/components/goodwe/select.py
homeassistant/components/goodwe/sensor.py
@@ -514,9 +518,6 @@ omit =
homeassistant/components/ifttt/alarm_control_panel.py
homeassistant/components/iglo/light.py
homeassistant/components/ihc/*
homeassistant/components/imap/__init__.py
homeassistant/components/imap/coordinator.py
homeassistant/components/imap/sensor.py
homeassistant/components/imap_email_content/sensor.py
homeassistant/components/incomfort/*
homeassistant/components/insteon/binary_sensor.py
@@ -625,9 +626,6 @@ omit =
homeassistant/components/lg_netcast/media_player.py
homeassistant/components/lg_soundbar/__init__.py
homeassistant/components/lg_soundbar/media_player.py
homeassistant/components/lidarr/__init__.py
homeassistant/components/lidarr/coordinator.py
homeassistant/components/lidarr/sensor.py
homeassistant/components/life360/__init__.py
homeassistant/components/life360/coordinator.py
homeassistant/components/life360/device_tracker.py
@@ -637,6 +635,12 @@ omit =
homeassistant/components/linode/*
homeassistant/components/linux_battery/sensor.py
homeassistant/components/lirc/*
homeassistant/components/livisi/__init__.py
homeassistant/components/livisi/binary_sensor.py
homeassistant/components/livisi/climate.py
homeassistant/components/livisi/coordinator.py
homeassistant/components/livisi/entity.py
homeassistant/components/livisi/switch.py
homeassistant/components/llamalab_automate/notify.py
homeassistant/components/logi_circle/__init__.py
homeassistant/components/logi_circle/camera.py
@@ -668,7 +672,6 @@ omit =
homeassistant/components/lyric/api.py
homeassistant/components/lyric/climate.py
homeassistant/components/lyric/sensor.py
homeassistant/components/magicseaweed/sensor.py
homeassistant/components/mailgun/notify.py
homeassistant/components/map/*
homeassistant/components/mastodon/notify.py
@@ -769,7 +772,11 @@ omit =
homeassistant/components/nexia/climate.py
homeassistant/components/nexia/entity.py
homeassistant/components/nexia/switch.py
homeassistant/components/nextcloud/*
homeassistant/components/nextcloud/__init__.py
homeassistant/components/nextcloud/binary_sensor.py
homeassistant/components/nextcloud/coordinator.py
homeassistant/components/nextcloud/entity.py
homeassistant/components/nextcloud/sensor.py
homeassistant/components/nfandroidtv/__init__.py
homeassistant/components/nfandroidtv/notify.py
homeassistant/components/nibe_heatpump/__init__.py
@@ -801,7 +808,10 @@ omit =
homeassistant/components/nuki/sensor.py
homeassistant/components/nx584/alarm_control_panel.py
homeassistant/components/oasa_telematics/sensor.py
homeassistant/components/obihai/*
homeassistant/components/obihai/__init__.py
homeassistant/components/obihai/button.py
homeassistant/components/obihai/connectivity.py
homeassistant/components/obihai/sensor.py
homeassistant/components/octoprint/__init__.py
homeassistant/components/oem/climate.py
homeassistant/components/ohmconnect/sensor.py
@@ -896,7 +906,6 @@ omit =
homeassistant/components/ping/binary_sensor.py
homeassistant/components/ping/device_tracker.py
homeassistant/components/pioneer/media_player.py
homeassistant/components/pjlink/media_player.py
homeassistant/components/plaato/__init__.py
homeassistant/components/plaato/binary_sensor.py
homeassistant/components/plaato/entity.py
@@ -965,16 +974,23 @@ omit =
homeassistant/components/rejseplanen/sensor.py
homeassistant/components/remember_the_milk/__init__.py
homeassistant/components/remote_rpi_gpio/*
homeassistant/components/reolink/__init__.py
homeassistant/components/reolink/binary_sensor.py
homeassistant/components/reolink/button.py
homeassistant/components/reolink/camera.py
homeassistant/components/reolink/entity.py
homeassistant/components/reolink/host.py
homeassistant/components/reolink/light.py
homeassistant/components/reolink/number.py
homeassistant/components/reolink/select.py
homeassistant/components/reolink/siren.py
homeassistant/components/reolink/switch.py
homeassistant/components/reolink/update.py
homeassistant/components/repetier/__init__.py
homeassistant/components/repetier/sensor.py
homeassistant/components/rest/notify.py
homeassistant/components/rest/switch.py
homeassistant/components/ridwell/__init__.py
homeassistant/components/ridwell/calendar.py
homeassistant/components/ridwell/coordinator.py
homeassistant/components/ridwell/switch.py
homeassistant/components/ring/camera.py
@@ -1001,6 +1017,7 @@ omit =
homeassistant/components/russound_rio/media_player.py
homeassistant/components/russound_rnet/media_player.py
homeassistant/components/rympro/__init__.py
homeassistant/components/rympro/coordinator.py
homeassistant/components/rympro/sensor.py
homeassistant/components/sabnzbd/__init__.py
homeassistant/components/sabnzbd/sensor.py
@@ -1010,6 +1027,7 @@ omit =
homeassistant/components/screenlogic/__init__.py
homeassistant/components/screenlogic/binary_sensor.py
homeassistant/components/screenlogic/climate.py
homeassistant/components/screenlogic/entity.py
homeassistant/components/screenlogic/light.py
homeassistant/components/screenlogic/number.py
homeassistant/components/screenlogic/sensor.py
@@ -1148,7 +1166,6 @@ omit =
homeassistant/components/stream/core.py
homeassistant/components/stream/fmp4utils.py
homeassistant/components/stream/hls.py
homeassistant/components/stream/recorder.py
homeassistant/components/stream/worker.py
homeassistant/components/streamlabswater/*
homeassistant/components/suez_water/*
@@ -1271,6 +1288,12 @@ omit =
homeassistant/components/totalconnect/binary_sensor.py
homeassistant/components/touchline/climate.py
homeassistant/components/tplink_lte/*
homeassistant/components/tplink_omada/__init__.py
homeassistant/components/tplink_omada/controller.py
homeassistant/components/tplink_omada/coordinator.py
homeassistant/components/tplink_omada/entity.py
homeassistant/components/tplink_omada/switch.py
homeassistant/components/tplink_omada/update.py
homeassistant/components/traccar/device_tracker.py
homeassistant/components/tractive/__init__.py
homeassistant/components/tractive/binary_sensor.py
@@ -1338,6 +1361,7 @@ omit =
homeassistant/components/velbus/entity.py
homeassistant/components/velbus/light.py
homeassistant/components/velbus/sensor.py
homeassistant/components/velbus/select.py
homeassistant/components/velbus/switch.py
homeassistant/components/velux/__init__.py
homeassistant/components/velux/cover.py
@@ -1355,7 +1379,6 @@ omit =
homeassistant/components/verisure/sensor.py
homeassistant/components/verisure/switch.py
homeassistant/components/versasense/*
homeassistant/components/vesync/__init__.py
homeassistant/components/vesync/common.py
homeassistant/components/vesync/fan.py
homeassistant/components/vesync/light.py
@@ -1485,7 +1508,7 @@ omit =
homeassistant/components/zeversolar/coordinator.py
homeassistant/components/zeversolar/entity.py
homeassistant/components/zeversolar/sensor.py
homeassistant/components/zha/api.py
homeassistant/components/zha/websocket_api.py
homeassistant/components/zha/core/channels/*
homeassistant/components/zha/core/device.py
homeassistant/components/zha/core/gateway.py
-1
View File
@@ -20,7 +20,6 @@
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.formatting.blackPath": "/usr/local/bin/black",
"python.linting.flake8Path": "/usr/local/bin/flake8",
"python.linting.pycodestylePath": "/usr/local/bin/pycodestyle",
"python.linting.pydocstylePath": "/usr/local/bin/pydocstyle",
"python.linting.mypyPath": "/usr/local/bin/mypy",
+4 -4
View File
@@ -31,9 +31,9 @@ body:
label: What version of Home Assistant Core has the issue?
placeholder: core-
description: >
Can be found in: [Settings -> About](https://my.home-assistant.io/redirect/info/).
Can be found in: [Settings ⇒ System ⇒ Repairs ⇒ Three Dots in Upper Right ⇒ System information](https://my.home-assistant.io/redirect/system_health/).
[![Open your Home Assistant instance and show your Home Assistant version information.](https://my.home-assistant.io/badges/info.svg)](https://my.home-assistant.io/redirect/info/)
[![Open your Home Assistant instance and show the system information.](https://my.home-assistant.io/badges/system_health.svg)](https://my.home-assistant.io/redirect/system_health/)
- type: input
attributes:
label: What was the last working version of Home Assistant Core?
@@ -46,9 +46,9 @@ body:
attributes:
label: What type of installation are you running?
description: >
Can be found in: [Settings -> System-> Repairs -> Three Dots in Upper Right -> System information](https://my.home-assistant.io/redirect/system_health/).
Can be found in: [Settings System Repairs Three Dots in Upper Right System information](https://my.home-assistant.io/redirect/system_health/).
[![Open your Home Assistant instance and show health information about your system.](https://my.home-assistant.io/badges/system_health.svg)](https://my.home-assistant.io/redirect/system_health/)
[![Open your Home Assistant instance and show the system information.](https://my.home-assistant.io/badges/system_health.svg)](https://my.home-assistant.io/redirect/system_health/)
options:
- Home Assistant OS
- Home Assistant Container
+1 -1
View File
@@ -1,6 +1,6 @@
blank_issues_enabled: false
contact_links:
- name: Report a bug with the UI, Frontend or Lovelace
- name: Report a bug with the UI, Frontend or Dashboards
url: https://github.com/home-assistant/frontend/issues
about: This is the issue tracker for our backend. Please report issues with the UI in the frontend repository.
- name: Report incorrect or missing information on our website
+2
View File
@@ -59,6 +59,7 @@
- [ ] Local tests pass. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
- [ ] I have followed the [development checklist][dev-checklist]
- [ ] I have followed the [perfect PR recommendations][perfect-pr]
- [ ] The code has been formatted using Black (`black --fast homeassistant tests`)
- [ ] Tests have been added to verify that the new code works.
@@ -107,3 +108,4 @@ To help with the load of incoming pull requests:
[manifest-docs]: https://developers.home-assistant.io/docs/en/creating_integration_manifest.html
[quality-scale]: https://developers.home-assistant.io/docs/en/next/integration_quality_scale_index.html
[docs-repository]: https://github.com/home-assistant/home-assistant.io
[perfect-pr]: https://developers.home-assistant.io/docs/review-process/#creating-the-perfect-pr
+30 -8
View File
@@ -24,7 +24,7 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
with:
fetch-depth: 0
@@ -67,13 +67,18 @@ jobs:
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Build package
shell: bash
run: |
@@ -100,7 +105,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
@@ -169,6 +174,11 @@ jobs:
python -m script.gen_requirements_all
fi
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Write meta info file
shell: bash
run: |
@@ -188,7 +198,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2022.11.0
uses: home-assistant/builder@2023.03.0
with:
args: |
$BUILD_ARGS \
@@ -198,6 +208,17 @@ jobs:
env:
CAS_API_KEY: ${{ secrets.CAS_TOKEN }}
- name: Archive translations
shell: bash
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload translations
uses: actions/upload-artifact@v3
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
build_machine:
name: Build ${{ matrix.machine }} machine core image
if: github.repository_owner == 'home-assistant'
@@ -211,6 +232,7 @@ jobs:
- khadas-vim3
- odroid-c2
- odroid-c4
- odroid-m1
- odroid-n2
- odroid-xu
- qemuarm
@@ -227,7 +249,7 @@ jobs:
- yellow
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set build additional args
run: |
@@ -254,7 +276,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2022.11.0
uses: home-assistant/builder@2023.03.0
with:
args: |
$BUILD_ARGS \
@@ -270,7 +292,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -309,7 +331,7 @@ jobs:
- "homeassistant"
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Login to DockerHub
if: matrix.registry == 'homeassistant'
+250 -209
View File
@@ -28,11 +28,24 @@ on:
type: boolean
env:
CACHE_VERSION: 3
PIP_CACHE_VERSION: 3
HA_SHORT_VERSION: 2023.2
CACHE_VERSION: 5
PIP_CACHE_VERSION: 4
MYPY_CACHE_VERSION: 4
HA_SHORT_VERSION: 2023.4
DEFAULT_PYTHON: "3.10"
ALL_PYTHON_VERSIONS: "['3.10']"
ALL_PYTHON_VERSIONS: "['3.10', '3.11']"
# 10.3 is the oldest supported version
# - 10.3.32 is the version currently shipped with Synology (as of 17 Feb 2022)
# 10.6 is the current long-term-support
# - 10.6.10 is the version currently shipped with the Add-on (as of 31 Jan 2023)
# 10.10 is the latest short-term-support
# - 10.10.3 is the latest (as of 6 Feb 2023)
MARIADB_VERSIONS: "['mariadb:10.3.32','mariadb:10.6.10','mariadb:10.10.3']"
# 12 is the oldest supported version
# - 12.14 is the latest (as of 9 Feb 2023)
# 15 is the latest version
# - 15.2 is the latest (as of 9 Feb 2023)
POSTGRESQL_VERSIONS: "['postgres:12.14','postgres:15.2']"
PRE_COMMIT_CACHE: ~/.cache/pre-commit
PIP_CACHE: /tmp/pip-cache
SQLALCHEMY_WARN_20: 1
@@ -55,16 +68,18 @@ jobs:
pre-commit_cache_key: ${{ steps.generate_pre-commit_cache_key.outputs.key }}
python_cache_key: ${{ steps.generate_python_cache_key.outputs.key }}
requirements: ${{ steps.core.outputs.requirements }}
mariadb_groups: ${{ steps.info.outputs.mariadb_groups }}
postgresql_groups: ${{ steps.info.outputs.postgresql_groups }}
python_versions: ${{ steps.info.outputs.python_versions }}
test_full_suite: ${{ steps.info.outputs.test_full_suite }}
test_group_count: ${{ steps.info.outputs.test_group_count }}
test_groups: ${{ steps.info.outputs.test_groups }}
tests_glob: ${{ steps.info.outputs.tests_glob }}
tests: ${{ steps.info.outputs.tests }}
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: >-
@@ -102,6 +117,8 @@ jobs:
run: |
# Defaults
integrations_glob=""
mariadb_groups=${MARIADB_VERSIONS}
postgresql_groups=${POSTGRESQL_VERSIONS}
test_full_suite="true"
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
test_group_count=10
@@ -135,6 +152,8 @@ jobs:
tests_glob=$(echo "${tests}" | jq -cSr '. | join(",")')
[[ "${tests_glob}" == *","* ]] && tests_glob="{${tests_glob}}"
mariadb_groups="[]"
postgresql_groups="[]"
test_full_suite="false"
fi
@@ -147,12 +166,18 @@ jobs:
|| [[ "${{ github.event.inputs.full }}" == "true" ]] \
|| [[ "${{ contains(github.event.pull_request.labels.*.name, 'ci-full-run') }}" == "true" ]];
then
mariadb_groups=${MARIADB_VERSIONS}
postgresql_groups=${POSTGRESQL_VERSIONS}
test_groups="[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]"
test_group_count=10
test_full_suite="true"
fi
# Output & sent to GitHub Actions
echo "mariadb_groups: ${mariadb_groups}"
echo "mariadb_groups=${mariadb_groups}" >> $GITHUB_OUTPUT
echo "postgresql_groups: ${postgresql_groups}"
echo "postgresql_groups=${postgresql_groups}" >> $GITHUB_OUTPUT
echo "python_versions: ${ALL_PYTHON_VERSIONS}"
echo "python_versions=${ALL_PYTHON_VERSIONS}" >> $GITHUB_OUTPUT
echo "test_full_suite: ${test_full_suite}"
@@ -170,7 +195,7 @@ jobs:
pre-commit:
name: Prepare pre-commit base
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
@@ -178,7 +203,7 @@ jobs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.5.0
@@ -187,7 +212,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.2.3
uses: actions/cache@v3.3.1
with:
path: venv
key: >-
@@ -202,9 +227,10 @@ jobs:
pip install "$(cat requirements_test.txt | grep pre-commit)"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v3.2.3
uses: actions/cache@v3.3.1
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
@@ -216,13 +242,13 @@ jobs:
lint-black:
name: Check black
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
id: python
@@ -231,30 +257,22 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Run black (fully)
if: needs.info.outputs.test_full_suite == 'true'
run: |
@@ -268,71 +286,15 @@ jobs:
shopt -s globstar
pre-commit run --hook-stage manual black --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*} --show-diff-on-failure
lint-flake8:
name: Check flake8
runs-on: ubuntu-20.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
with:
path: venv
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.3
with:
path: ${{ env.PRE_COMMIT_CACHE }}
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Register flake8 problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/flake8.json"
- name: Run flake8 (fully)
if: needs.info.outputs.test_full_suite == 'true'
run: |
. venv/bin/activate
pre-commit run --hook-stage manual flake8 --all-files
- name: Run flake8 (partially)
if: needs.info.outputs.test_full_suite == 'false'
shell: bash
run: |
. venv/bin/activate
shopt -s globstar
pre-commit run --hook-stage manual flake8 --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*}
lint-ruff:
name: Check ruff
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
id: python
@@ -341,30 +303,22 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Register ruff problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/ruff.json"
@@ -372,23 +326,24 @@ jobs:
if: needs.info.outputs.test_full_suite == 'true'
run: |
. venv/bin/activate
pre-commit run --hook-stage manual ruff --all-files
pre-commit run --hook-stage manual ruff --all-files --show-diff-on-failure
- name: Run ruff (partially)
if: needs.info.outputs.test_full_suite == 'false'
shell: bash
run: |
. venv/bin/activate
shopt -s globstar
pre-commit run --hook-stage manual ruff --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*}
pre-commit run --hook-stage manual ruff --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*} --show-diff-on-failure
lint-isort:
name: Check isort
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
id: python
@@ -397,30 +352,22 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Run isort
run: |
. venv/bin/activate
@@ -428,13 +375,13 @@ jobs:
lint-other:
name: Check other linters
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
id: python
@@ -443,43 +390,22 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Fail job if pre-commit cache restore failed
if: steps.cache-precommit.outputs.cache-hit != 'true'
run: |
echo "Failed to restore pre-commit environment from cache"
exit 1
- name: Run pyupgrade (fully)
if: needs.info.outputs.test_full_suite == 'true'
run: |
. venv/bin/activate
pre-commit run --hook-stage manual pyupgrade --all-files --show-diff-on-failure
- name: Run pyupgrade (partially)
if: needs.info.outputs.test_full_suite == 'false'
shell: bash
run: |
. venv/bin/activate
shopt -s globstar
pre-commit run --hook-stage manual pyupgrade --files {homeassistant,tests}/components/${{ needs.info.outputs.integrations_glob }}/{*,**/*} --show-diff-on-failure
- name: Register yamllint problem matcher
run: |
@@ -553,7 +479,7 @@ jobs:
base:
name: Prepare dependencies
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs: info
timeout-minutes: 60
strategy:
@@ -561,7 +487,7 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.5.0
@@ -575,15 +501,16 @@ jobs:
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.2.3
uses: actions/cache@v3.3.1
with:
path: venv
lookup-only: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore pip wheel cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache@v3.2.3
uses: actions/cache@v3.3.1
with:
path: ${{ env.PIP_CACHE }}
key: >-
@@ -612,14 +539,14 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
pip install --cache-dir=$PIP_CACHE -U "pip>=21.0,<22.4" setuptools wheel
pip install --cache-dir=$PIP_CACHE -U "pip>=21.0,<23.1" setuptools wheel
pip install --cache-dir=$PIP_CACHE -r requirements_all.txt --use-deprecated=legacy-resolver
pip install --cache-dir=$PIP_CACHE -r requirements_test.txt --use-deprecated=legacy-resolver
pip install -e .
hassfest:
name: Check hassfest
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
@@ -628,7 +555,7 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.5.0
@@ -637,17 +564,13 @@ jobs:
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run hassfest
run: |
. venv/bin/activate
@@ -655,7 +578,7 @@ jobs:
gen-requirements-all:
name: Check all requirements
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
@@ -664,7 +587,7 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.5.0
@@ -673,17 +596,13 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run gen_requirements_all.py
run: |
. venv/bin/activate
@@ -691,7 +610,7 @@ jobs:
pylint:
name: Check pylint
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
timeout-minutes: 20
if: |
github.event.inputs.mypy-only != 'true'
@@ -701,7 +620,7 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.5.0
@@ -710,17 +629,13 @@ jobs:
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register pylint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pylint.json"
@@ -740,7 +655,7 @@ jobs:
mypy:
name: Check mypy
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
|| github.event.inputs.mypy-only == 'true'
@@ -749,26 +664,40 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Generate partial mypy restore key
id: generate-mypy-key
run: |
mypy_version=$(cat requirements_test.txt | grep mypy | cut -d '=' -f 3)
echo "version=$mypy_version" >> $GITHUB_OUTPUT
echo "key=mypy-${{ env.MYPY_CACHE_VERSION }}-$mypy_version-${{
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Restore mypy cache
uses: actions/cache@v3.3.1
with:
path: .mypy_cache
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
steps.generate-mypy-key.outputs.key }}
restore-keys: |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-mypy-${{
env.MYPY_CACHE_VERSION }}-${{ steps.generate-mypy-key.outputs.version }}-${{
env.HA_SHORT_VERSION }}-
- name: Register mypy problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/mypy.json"
@@ -787,7 +716,7 @@ jobs:
mypy homeassistant/components/${{ needs.info.outputs.integrations_glob }}
pip-check:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
@@ -801,7 +730,7 @@ jobs:
name: Run pip check ${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.5.0
@@ -810,24 +739,20 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Run pip check
run: |
. venv/bin/activate
./script/pip_check $PIP_CACHE
pytest:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
@@ -839,9 +764,9 @@ jobs:
- base
- gen-requirements-all
- hassfest
- lint-black
- lint-other
- lint-isort
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
@@ -858,7 +783,7 @@ jobs:
bluez \
ffmpeg
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.5.0
@@ -867,16 +792,12 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
@@ -890,6 +811,10 @@ jobs:
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Compile English translations
run: |
. venv/bin/activate
python3 -m script.translations develop --all
- name: Run pytest (fully)
if: needs.info.outputs.test_full_suite == 'true'
timeout-minutes: 60
@@ -944,10 +869,10 @@ jobs:
./script/check_dirty
pytest-mariadb:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
services:
mariadb:
image: mariadb:10.9.3
image: ${{ matrix.mariadb-group }}
ports:
- 3306:3306
env:
@@ -958,22 +883,23 @@ jobs:
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& needs.info.outputs.test_full_suite == 'true'
&& needs.info.outputs.mariadb_groups != '[]'
needs:
- info
- base
- gen-requirements-all
- hassfest
- lint-black
- lint-other
- lint-isort
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
mariadb-group: ${{ fromJson(needs.info.outputs.mariadb_groups) }}
name: >-
Run tests Python ${{ matrix.python-version }} (mariadb)
Run ${{ matrix.mariadb-group }} tests Python ${{ matrix.python-version }}
steps:
- name: Install additional OS dependencies
run: |
@@ -983,7 +909,7 @@ jobs:
ffmpeg \
libmariadb-dev-compat
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.5.0
@@ -992,16 +918,12 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.2.3
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Fail job if Python cache restore failed
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
echo "Failed to restore Python virtual environment from cache"
exit 1
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
@@ -1019,8 +941,12 @@ jobs:
run: |
. venv/bin/activate
pip install mysqlclient sqlalchemy_utils
- name: Compile English translations
run: |
. venv/bin/activate
python3 -m script.translations develop --all
- name: Run pytest (partially)
timeout-minutes: 15
timeout-minutes: 20
shell: bash
run: |
. venv/bin/activate
@@ -1037,7 +963,10 @@ jobs:
--durations=10 \
-p no:sugar \
--dburl=mysql://root:password@127.0.0.1/homeassistant-test \
tests/components/recorder
tests/components/history \
tests/components/logbook \
tests/components/recorder \
tests/components/sensor
- name: Upload coverage artifact
uses: actions/upload-artifact@v3.1.2
with:
@@ -1047,22 +976,134 @@ jobs:
run: |
./script/check_dirty
pytest-postgres:
runs-on: ubuntu-22.04
services:
postgres:
image: ${{ matrix.postgresql-group }}
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: password
options: --health-cmd="pg_isready -hlocalhost -Upostgres" --health-interval=5s --health-timeout=2s --health-retries=3
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& needs.info.outputs.postgresql_groups != '[]'
needs:
- info
- base
- gen-requirements-all
- hassfest
- lint-isort
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
postgresql-group: ${{ fromJson(needs.info.outputs.postgresql_groups) }}
name: >-
Run ${{ matrix.postgresql-group }} tests Python ${{ matrix.python-version }}
steps:
- name: Install additional OS dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
postgresql-server-dev-14
- name: Check out code from GitHub
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.1
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Install Pytest Annotation plugin
run: |
. venv/bin/activate
# Ideally this should be part of our dependencies
# However this plugin is fairly new and doesn't run correctly
# on a non-GitHub environment.
pip install pytest-github-actions-annotate-failures==0.1.3
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Install SQL Python libraries
run: |
. venv/bin/activate
pip install psycopg2 sqlalchemy_utils
- name: Compile English translations
run: |
. venv/bin/activate
python3 -m script.translations develop --all
- name: Run pytest (partially)
timeout-minutes: 20
shell: bash
run: |
. venv/bin/activate
python --version
python3 -X dev -m pytest \
-qq \
--timeout=9 \
-n 1 \
--cov="homeassistant.components.recorder" \
--cov-report=xml \
--cov-report=term-missing \
-o console_output_style=count \
--durations=0 \
--durations-min=10 \
-p no:sugar \
--dburl=postgresql://postgres:password@127.0.0.1/homeassistant-test \
tests/components/history \
tests/components/logbook \
tests/components/recorder \
tests/components/sensor
- name: Upload coverage artifact
uses: actions/upload-artifact@v3.1.0
with:
name: coverage-${{ matrix.python-version }}-postgresql
path: coverage.xml
- name: Check dirty
run: |
./script/check_dirty
coverage:
name: Upload test coverage to Codecov
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
needs:
- info
- pytest
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Download all coverage artifacts
uses: actions/download-artifact@v3
- name: Upload coverage to Codecov (full coverage)
if: needs.info.outputs.test_full_suite == 'true'
uses: codecov/codecov-action@v3.1.1
with:
fail_ci_if_error: true
flags: full-suite
- name: Upload coverage to Codecov (partial coverage)
if: needs.info.outputs.test_full_suite == 'false'
uses: codecov/codecov-action@v3.1.1
with:
fail_ci_if_error: true
-30
View File
@@ -1,30 +0,0 @@
{
"problemMatcher": [
{
"owner": "flake8-error",
"severity": "error",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s([EF]\\d{3}\\s.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
},
{
"owner": "flake8-warning",
"severity": "warning",
"pattern": [
{
"regexp": "^(.*):(\\d+):(\\d+):\\s([CDNW]\\d{3}\\s.*)$",
"file": 1,
"line": 2,
"column": 3,
"message": 4
}
]
}
]
}
+4 -4
View File
@@ -17,7 +17,7 @@ jobs:
# - No PRs marked as no-stale
# - No issues (-1)
- name: 90 days stale PRs policy
uses: actions/stale@v7.0.0
uses: actions/stale@v8.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
@@ -42,7 +42,7 @@ jobs:
id: token
# Pinned to a specific version of the action for security reasons
# v1.7.0
uses: tibdex/github-app-token@021a2405c7f990db57f5eae5397423dcc554159c
uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92
with:
app_id: ${{ secrets.ISSUE_TRIAGE_APP_ID }}
private_key: ${{ secrets.ISSUE_TRIAGE_APP_PEM }}
@@ -53,7 +53,7 @@ jobs:
# - No issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: 90 days stale issues
uses: actions/stale@v7.0.0
uses: actions/stale@v8.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
days-before-stale: 90
@@ -83,7 +83,7 @@ jobs:
# - No Issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: Needs more information stale issues policy
uses: actions/stale@v7.0.0
uses: actions/stale@v8.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
only-labels: "needs-more-information"
-65
View File
@@ -1,65 +0,0 @@
name: Translations
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
push:
branches:
- dev
paths:
- "**strings.json"
env:
DEFAULT_PYTHON: "3.10"
jobs:
upload:
name: Upload
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Upload Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations upload
download:
name: Download
needs: upload
if: github.repository_owner == 'home-assistant' && (github.event_name == 'schedule' || github.event_name == 'workflow_dispatch')
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations download
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
with:
name: GitHub Action
email: github-action@users.noreply.github.com
- name: Update translation
run: |
git add homeassistant
git commit -am "[ci skip] Translation update"
git push
+32
View File
@@ -0,0 +1,32 @@
name: Translations
# yamllint disable-line rule:truthy
on:
workflow_dispatch:
push:
branches:
- dev
paths:
- "**strings.json"
env:
DEFAULT_PYTHON: "3.10"
jobs:
upload:
name: Upload
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v3.5.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.5.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Upload Translations
run: |
export LOKALISE_TOKEN="${{ secrets.LOKALISE_TOKEN }}"
python3 -m script.translations upload
+10 -7
View File
@@ -22,7 +22,7 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Get information
id: info
@@ -54,6 +54,9 @@ jobs:
# OpenCV headless installation
echo "CI_BUILD=1"
echo "ENABLE_HEADLESS=1"
# Use C-Extension for sqlalchemy
echo "REQUIRE_SQLALCHEMY_CEXT=1"
) > .env_file
- name: Upload env_file
@@ -79,7 +82,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Download env_file
uses: actions/download-artifact@v3
@@ -116,7 +119,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v3.3.0
uses: actions/checkout@v3.5.0
- name: Download env_file
uses: actions/download-artifact@v3
@@ -175,8 +178,8 @@ jobs:
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev"
skip-binary: aiohttp;grpcio
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
skip-binary: aiohttp;grpcio;sqlalchemy
legacy: true
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
@@ -190,8 +193,8 @@ jobs:
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev"
skip-binary: aiohttp;grpcio
apk: "libexecinfo-dev;bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
skip-binary: aiohttp;grpcio;sqlalchemy
legacy: true
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
+3
View File
@@ -8,6 +8,9 @@ tests/testing_config/home-assistant.log*
data/
.token
# Translations
homeassistant/components/*/translations
# Hide sublime text stuff
*.sublime-project
*.sublime-workspace
+4 -32
View File
@@ -1,26 +1,12 @@
repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.0.231
rev: v0.0.256
hooks:
- id: ruff
args:
- --fix
- repo: https://github.com/asottile/pyupgrade
rev: v3.3.1
hooks:
- id: pyupgrade
args: [--py310-plus]
stages: [manual]
- repo: https://github.com/PyCQA/autoflake
rev: v2.0.0
hooks:
- id: autoflake
args:
- --in-place
- --remove-all-unused-imports
stages: [manual]
- repo: https://github.com/psf/black
rev: 22.12.0
rev: 23.1.0
hooks:
- id: black
args:
@@ -31,25 +17,11 @@ repos:
hooks:
- id: codespell
args:
- --ignore-words-list=additionals,alle,alot,ba,bre,bund,datas,dof,dur,ether,farenheit,falsy,fo,haa,hass,hist,iam,iff,iif,incomfort,ines,ist,lightsensor,mut,nam,nd,pres,pullrequests,referer,resset,rime,ser,serie,sur,te,technik,ue,uint,unsecure,visability,wan,wanna,withing,zar
- --ignore-words-list=additionals,alle,alot,ba,bre,bund,currenty,datas,dof,dur,ether,farenheit,falsy,fo,haa,hass,hist,iam,iff,iif,incomfort,ines,ist,lightsensor,mut,nam,nd,pres,pullrequests,referer,resset,rime,ser,serie,sur,te,technik,ue,uint,unsecure,visability,wan,wanna,withing,zar
- --skip="./.*,*.csv,*.json"
- --quiet-level=2
exclude_types: [csv, json]
exclude: ^tests/fixtures/|homeassistant/generated/
- repo: https://github.com/PyCQA/flake8
rev: 6.0.0
hooks:
- id: flake8
additional_dependencies:
- pycodestyle==2.10.0
- pyflakes==3.0.1
- flake8-docstrings==1.6.0
- pydocstyle==6.2.3
- flake8-comprehensions==3.10.1
- flake8-noqa==1.3.0
- mccabe==0.7.0
exclude: docs/source/conf.py
stages: [manual]
- repo: https://github.com/PyCQA/bandit
rev: 1.7.4
hooks:
@@ -60,7 +32,7 @@ repos:
- --configfile=tests/bandit.yaml
files: ^(homeassistant|script|tests)/.+\.py$
- repo: https://github.com/PyCQA/isort
rev: 5.11.4
rev: 5.12.0
hooks:
- id: isort
- repo: https://github.com/pre-commit/pre-commit-hooks
+2
View File
@@ -4,3 +4,5 @@ azure-*.yml
docs/source/_templates/*
homeassistant/components/*/translations/*.json
homeassistant/generated/*
tests/components/lidarr/fixtures/initialize.js
tests/components/lidarr/fixtures/initialize-wrong.js
+8 -1
View File
@@ -84,6 +84,7 @@ homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.clickatell.*
homeassistant.components.clicksend.*
homeassistant.components.configurator.*
homeassistant.components.cover.*
homeassistant.components.cpuspeed.*
homeassistant.components.crownstone.*
@@ -98,6 +99,7 @@ homeassistant.components.dhcp.*
homeassistant.components.diagnostics.*
homeassistant.components.dlna_dmr.*
homeassistant.components.dnsip.*
homeassistant.components.dormakaba_dkey.*
homeassistant.components.dsmr.*
homeassistant.components.dunehd.*
homeassistant.components.efergy.*
@@ -184,6 +186,7 @@ homeassistant.components.ld2410_ble.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
homeassistant.components.litejet.*
homeassistant.components.litterrobot.*
homeassistant.components.local_ip.*
homeassistant.components.lock.*
@@ -246,6 +249,7 @@ homeassistant.components.recorder.*
homeassistant.components.remote.*
homeassistant.components.renault.*
homeassistant.components.repairs.*
homeassistant.components.rest.*
homeassistant.components.rfxtrx.*
homeassistant.components.rhasspy.*
homeassistant.components.ridwell.*
@@ -293,11 +297,13 @@ homeassistant.components.tag.*
homeassistant.components.tailscale.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.threshold.*
homeassistant.components.tibber.*
homeassistant.components.tile.*
homeassistant.components.tilt_ble.*
homeassistant.components.tolo.*
homeassistant.components.tplink.*
homeassistant.components.tplink_omada.*
homeassistant.components.tractive.*
homeassistant.components.tradfri.*
homeassistant.components.trafikverket_ferry.*
@@ -305,7 +311,7 @@ homeassistant.components.trafikverket_train.*
homeassistant.components.trafikverket_weatherstation.*
homeassistant.components.tts.*
homeassistant.components.twentemilieu.*
homeassistant.components.unifi.update
homeassistant.components.unifi.*
homeassistant.components.unifiprotect.*
homeassistant.components.upcloud.*
homeassistant.components.update.*
@@ -329,6 +335,7 @@ homeassistant.components.wiz.*
homeassistant.components.wled.*
homeassistant.components.worldclock.*
homeassistant.components.yale_smart_alarm.*
homeassistant.components.yalexs_ble.*
homeassistant.components.zeroconf.*
homeassistant.components.zodiac.*
homeassistant.components.zone.*
+4 -2
View File
@@ -10,7 +10,8 @@
"request": "launch",
"module": "homeassistant",
"justMyCode": false,
"args": ["--debug", "-c", "config"]
"args": ["--debug", "-c", "config"],
"preLaunchTask": "Compile English translations"
},
{
"name": "Home Assistant (skip pip)",
@@ -18,7 +19,8 @@
"request": "launch",
"module": "homeassistant",
"justMyCode": false,
"args": ["--debug", "-c", "config", "--skip-pip"]
"args": ["--debug", "-c", "config", "--skip-pip"],
"preLaunchTask": "Compile English translations"
},
{
// Debug by attaching to local Home Asistant server using Remote Python Debugger.
+7 -11
View File
@@ -10,7 +10,8 @@
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
"problemMatcher": [],
"dependsOn": ["Compile English translations"]
},
{
"label": "Pytest",
@@ -28,9 +29,9 @@
"problemMatcher": []
},
{
"label": "Flake8",
"label": "Pytest (changed tests only)",
"type": "shell",
"command": "pre-commit run flake8 --all-files",
"command": "pytest --timeout=10 --picked",
"group": {
"kind": "test",
"isDefault": true
@@ -128,19 +129,14 @@
"problemMatcher": []
},
{
"label": "Compile translations",
"label": "Compile English translations",
"detail": "In order to test changes to translation files, the translation strings must be compiled into Home Assistant's translation directories.",
"type": "shell",
"command": "python3 -m script.translations develop --integration ${input:integrationName}",
"command": "python3 -m script.translations develop --all",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
}
}
],
"inputs": [
+1 -1
View File
@@ -25,7 +25,7 @@ rules:
comments:
level: error
require-starting-space: true
min-spaces-from-content: 2
min-spaces-from-content: 1
comments-indentation:
level: error
document-end:
+39 -31
View File
@@ -135,8 +135,8 @@ build.json @home-assistant/supervisor
/tests/components/backup/ @home-assistant/core
/homeassistant/components/baf/ @bdraco @jfroy
/tests/components/baf/ @bdraco @jfroy
/homeassistant/components/balboa/ @garbled1
/tests/components/balboa/ @garbled1
/homeassistant/components/balboa/ @garbled1 @natekspencer
/tests/components/balboa/ @garbled1 @natekspencer
/homeassistant/components/bayesian/ @HarvsG
/tests/components/bayesian/ @HarvsG
/homeassistant/components/beewi_smartclim/ @alemuro
@@ -211,8 +211,8 @@ build.json @home-assistant/supervisor
/tests/components/configurator/ @home-assistant/core
/homeassistant/components/control4/ @lawtancool
/tests/components/control4/ @lawtancool
/homeassistant/components/conversation/ @home-assistant/core
/tests/components/conversation/ @home-assistant/core
/homeassistant/components/conversation/ @home-assistant/core @synesthesiam
/tests/components/conversation/ @home-assistant/core @synesthesiam
/homeassistant/components/coolmaster/ @OnFreund
/tests/components/coolmaster/ @OnFreund
/homeassistant/components/coronavirus/ @home-assistant/core
@@ -228,8 +228,6 @@ build.json @home-assistant/supervisor
/homeassistant/components/cups/ @fabaff
/homeassistant/components/daikin/ @fredrike
/tests/components/daikin/ @fredrike
/homeassistant/components/darksky/ @fabaff
/tests/components/darksky/ @fabaff
/homeassistant/components/debugpy/ @frenck
/tests/components/debugpy/ @frenck
/homeassistant/components/deconz/ @Kane610
@@ -275,6 +273,8 @@ build.json @home-assistant/supervisor
/tests/components/dnsip/ @gjohansson-ST
/homeassistant/components/doorbird/ @oblogic7 @bdraco @flacjacket
/tests/components/doorbird/ @oblogic7 @bdraco @flacjacket
/homeassistant/components/dormakaba_dkey/ @emontnemery
/tests/components/dormakaba_dkey/ @emontnemery
/homeassistant/components/dsmr/ @Robbie1221 @frenck
/tests/components/dsmr/ @Robbie1221 @frenck
/homeassistant/components/dsmr_reader/ @depl0y @glodenox
@@ -286,8 +286,10 @@ build.json @home-assistant/supervisor
/tests/components/dynalite/ @ziv1234
/homeassistant/components/eafm/ @Jc2k
/tests/components/eafm/ @Jc2k
/homeassistant/components/ecobee/ @marthoc
/tests/components/ecobee/ @marthoc
/homeassistant/components/easyenergy/ @klaasnicolaas
/tests/components/easyenergy/ @klaasnicolaas
/homeassistant/components/ecobee/ @marthoc @marcolivierarsenault
/tests/components/ecobee/ @marthoc @marcolivierarsenault
/homeassistant/components/econet/ @vangorra @w1ll1am23
/tests/components/econet/ @vangorra @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185
@@ -309,8 +311,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/emoncms/ @borpin
/homeassistant/components/emonitor/ @bdraco
/tests/components/emonitor/ @bdraco
/homeassistant/components/emulated_hue/ @bdraco
/tests/components/emulated_hue/ @bdraco
/homeassistant/components/emulated_hue/ @bdraco @Tho85
/tests/components/emulated_hue/ @bdraco @Tho85
/homeassistant/components/emulated_kasa/ @kbickar
/tests/components/emulated_kasa/ @kbickar
/homeassistant/components/energy/ @home-assistant/core
@@ -397,6 +399,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/frontend/ @home-assistant/frontend
/tests/components/frontend/ @home-assistant/frontend
/homeassistant/components/frontier_silicon/ @wlcrs
/tests/components/frontier_silicon/ @wlcrs
/homeassistant/components/fully_kiosk/ @cgarwood
/tests/components/fully_kiosk/ @cgarwood
/homeassistant/components/garages_amsterdam/ @klaasnicolaas
@@ -407,7 +410,7 @@ build.json @home-assistant/supervisor
/tests/components/generic/ @davet2001
/homeassistant/components/generic_hygrostat/ @Shulyaka
/tests/components/generic_hygrostat/ @Shulyaka
/homeassistant/components/geniushub/ @zxdavb
/homeassistant/components/geniushub/ @manzanotti
/homeassistant/components/geo_json_events/ @exxamalte
/tests/components/geo_json_events/ @exxamalte
/homeassistant/components/geo_location/ @home-assistant/core
@@ -454,8 +457,8 @@ build.json @home-assistant/supervisor
/tests/components/greeneye_monitor/ @jkeljo
/homeassistant/components/group/ @home-assistant/core
/tests/components/group/ @home-assistant/core
/homeassistant/components/growatt_server/ @indykoning @muppet3000 @JasperPlant
/tests/components/growatt_server/ @indykoning @muppet3000 @JasperPlant
/homeassistant/components/growatt_server/ @muppet3000
/tests/components/growatt_server/ @muppet3000
/homeassistant/components/guardian/ @bachya
/tests/components/guardian/ @bachya
/homeassistant/components/habitica/ @ASMfreaK @leikoilja
@@ -566,8 +569,8 @@ build.json @home-assistant/supervisor
/tests/components/integration/ @dgomes
/homeassistant/components/intellifire/ @jeeftor
/tests/components/intellifire/ @jeeftor
/homeassistant/components/intent/ @home-assistant/core
/tests/components/intent/ @home-assistant/core
/homeassistant/components/intent/ @home-assistant/core @synesthesiam
/tests/components/intent/ @home-assistant/core @synesthesiam
/homeassistant/components/intesishome/ @jnimmo
/homeassistant/components/ios/ @robbiet480
/tests/components/ios/ @robbiet480
@@ -655,8 +658,8 @@ build.json @home-assistant/supervisor
/tests/components/litejet/ @joncar
/homeassistant/components/litterrobot/ @natekspencer @tkdrob
/tests/components/litterrobot/ @natekspencer @tkdrob
/homeassistant/components/livisi/ @StefanIacobLivisi
/tests/components/livisi/ @StefanIacobLivisi
/homeassistant/components/livisi/ @StefanIacobLivisi @planbnet
/tests/components/livisi/ @StefanIacobLivisi @planbnet
/homeassistant/components/local_calendar/ @allenporter
/tests/components/local_calendar/ @allenporter
/homeassistant/components/local_ip/ @issacg
@@ -780,7 +783,8 @@ build.json @home-assistant/supervisor
/tests/components/nexia/ @bdraco
/homeassistant/components/nextbus/ @vividboarder
/tests/components/nextbus/ @vividboarder
/homeassistant/components/nextcloud/ @meichthys
/homeassistant/components/nextcloud/ @mib1185
/tests/components/nextcloud/ @mib1185
/homeassistant/components/nextdns/ @bieniu
/tests/components/nextdns/ @bieniu
/homeassistant/components/nfandroidtv/ @tkdrob
@@ -821,7 +825,8 @@ build.json @home-assistant/supervisor
/tests/components/nws/ @MatthewFlamm @kamiyo
/homeassistant/components/nzbget/ @chriscla
/tests/components/nzbget/ @chriscla
/homeassistant/components/obihai/ @dshokouhi
/homeassistant/components/obihai/ @dshokouhi @ejpenney
/tests/components/obihai/ @dshokouhi @ejpenney
/homeassistant/components/octoprint/ @rfleming71
/tests/components/octoprint/ @rfleming71
/homeassistant/components/ohmconnect/ @robbiet480
@@ -1003,8 +1008,8 @@ build.json @home-assistant/supervisor
/tests/components/ruuvi_gateway/ @akx
/homeassistant/components/ruuvitag_ble/ @akx
/tests/components/ruuvitag_ble/ @akx
/homeassistant/components/rympro/ @OnFreund
/tests/components/rympro/ @OnFreund
/homeassistant/components/rympro/ @OnFreund @elad-bar @maorcc
/tests/components/rympro/ @OnFreund @elad-bar @maorcc
/homeassistant/components/sabnzbd/ @shaiu
/tests/components/sabnzbd/ @shaiu
/homeassistant/components/safe_mode/ @home-assistant/core
@@ -1051,8 +1056,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/seven_segments/ @fabaff
/homeassistant/components/sfr_box/ @epenet
/tests/components/sfr_box/ @epenet
/homeassistant/components/sharkiq/ @JeffResc @funkybunch @AritroSaha10
/tests/components/sharkiq/ @JeffResc @funkybunch @AritroSaha10
/homeassistant/components/sharkiq/ @JeffResc @funkybunch
/tests/components/sharkiq/ @JeffResc @funkybunch
/homeassistant/components/shell_command/ @home-assistant/core
/tests/components/shell_command/ @home-assistant/core
/homeassistant/components/shelly/ @balloob @bieniu @thecode @chemelli74 @bdraco
@@ -1096,6 +1101,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/smhi/ @gjohansson-ST
/tests/components/smhi/ @gjohansson-ST
/homeassistant/components/sms/ @ocalvo
/homeassistant/components/snapcast/ @luar123
/homeassistant/components/snooz/ @AustinBrunkhorst
/tests/components/snooz/ @AustinBrunkhorst
/homeassistant/components/solaredge/ @frenck
@@ -1134,8 +1140,8 @@ build.json @home-assistant/supervisor
/tests/components/starline/ @anonym-tsk
/homeassistant/components/starlink/ @boswelja
/tests/components/starlink/ @boswelja
/homeassistant/components/statistics/ @fabaff @ThomDietrich
/tests/components/statistics/ @fabaff @ThomDietrich
/homeassistant/components/statistics/ @ThomDietrich
/tests/components/statistics/ @ThomDietrich
/homeassistant/components/steam_online/ @tkdrob
/tests/components/steam_online/ @tkdrob
/homeassistant/components/steamist/ @bdraco
@@ -1208,8 +1214,6 @@ build.json @home-assistant/supervisor
/homeassistant/components/thethingsnetwork/ @fabaff
/homeassistant/components/thread/ @home-assistant/core
/tests/components/thread/ @home-assistant/core
/homeassistant/components/threshold/ @fabaff
/tests/components/threshold/ @fabaff
/homeassistant/components/tibber/ @danielhiversen
/tests/components/tibber/ @danielhiversen
/homeassistant/components/tile/ @bachya
@@ -1229,6 +1233,8 @@ build.json @home-assistant/supervisor
/tests/components/totalconnect/ @austinmroczek
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey
/tests/components/tplink/ @rytilahti @thegardenmonkey
/homeassistant/components/tplink_omada/ @MarkGodwin
/tests/components/tplink_omada/ @MarkGodwin
/homeassistant/components/traccar/ @ludeeus
/tests/components/traccar/ @ludeeus
/homeassistant/components/trace/ @home-assistant/core
@@ -1286,8 +1292,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/velux/ @Julius2342
/homeassistant/components/venstar/ @garbled1
/tests/components/venstar/ @garbled1
/homeassistant/components/verisure/ @frenck
/tests/components/verisure/ @frenck
/homeassistant/components/verisure/ @frenck @niro1987
/tests/components/verisure/ @frenck @niro1987
/homeassistant/components/versasense/ @flamm3blemuff1n
/homeassistant/components/version/ @ludeeus
/tests/components/version/ @ludeeus
@@ -1302,6 +1308,8 @@ build.json @home-assistant/supervisor
/tests/components/vizio/ @raman325
/homeassistant/components/vlc_telnet/ @rodripf @MartinHjelmare
/tests/components/vlc_telnet/ @rodripf @MartinHjelmare
/homeassistant/components/voice_assistant/ @balloob @synesthesiam
/tests/components/voice_assistant/ @balloob @synesthesiam
/homeassistant/components/volumio/ @OnFreund
/tests/components/volumio/ @OnFreund
/homeassistant/components/volvooncall/ @molobrakos
@@ -1347,8 +1355,8 @@ build.json @home-assistant/supervisor
/tests/components/wled/ @frenck
/homeassistant/components/wolflink/ @adamkrol93
/tests/components/wolflink/ @adamkrol93
/homeassistant/components/workday/ @fabaff
/tests/components/workday/ @fabaff
/homeassistant/components/workday/ @fabaff @gjohansson-ST
/tests/components/workday/ @fabaff @gjohansson-ST
/homeassistant/components/worldclock/ @fabaff
/tests/components/worldclock/ @fabaff
/homeassistant/components/ws66i/ @ssaenger
-1
View File
@@ -5,7 +5,6 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Uninstall pre-installed formatting and linting tools
# They would conflict with our pinned versions
RUN pipx uninstall black
RUN pipx uninstall flake8
RUN pipx uninstall pydocstyle
RUN pipx uninstall pycodestyle
RUN pipx uninstall mypy
+2 -2
View File
@@ -4,7 +4,7 @@ Home Assistant |Chat Status|
Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://home-assistant.io/demo/>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
demo <https://demo.home-assistant.io>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
`tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__.
|screenshot-states|
@@ -23,6 +23,6 @@ of a component, check the `Home Assistant help section <https://home-assistant.i
.. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg
:target: https://discord.gg/c5DvZ4e
.. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/master/docs/screenshots.png
:target: https://home-assistant.io/demo/
:target: https://demo.home-assistant.io
.. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/docs/screenshot-integrations.png
:target: https://home-assistant.io/integrations/
+5 -5
View File
@@ -1,11 +1,11 @@
image: homeassistant/{arch}-homeassistant
shadow_repository: ghcr.io/home-assistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2022.11.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2022.11.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2022.11.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2022.11.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2022.11.0
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2023.02.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2023.02.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2023.02.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2023.02.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2023.02.0
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io
+2
View File
@@ -19,6 +19,7 @@ coverage:
- homeassistant/components/*/intent.py
- homeassistant/components/*/logbook.py
- homeassistant/components/*/media_source.py
- homeassistant/components/*/recorder.py
- homeassistant/components/*/scene.py
patch:
default:
@@ -36,6 +37,7 @@ coverage:
- homeassistant/components/*/intent.py
- homeassistant/components/*/logbook.py
- homeassistant/components/*/media_source.py
- homeassistant/components/*/recorder.py
- homeassistant/components/*/scene.py
comment: false
+1 -2
View File
@@ -1,5 +1,4 @@
"""
Sphinx extension for ReadTheDocs-style "Edit on GitHub" links on the sidebar.
"""Sphinx extension for ReadTheDocs-style "Edit on GitHub" links on the sidebar.
Loosely based on https://github.com/astropy/astropy/pull/347
"""
+5 -5
View File
@@ -14,7 +14,7 @@ from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.util import dt as dt_util
from . import auth_store, models
from . import auth_store, jwt_wrapper, models
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
@@ -555,9 +555,7 @@ class AuthManager:
) -> models.RefreshToken | None:
"""Return refresh token if an access token is valid."""
try:
unverif_claims = jwt.decode(
token, algorithms=["HS256"], options={"verify_signature": False}
)
unverif_claims = jwt_wrapper.unverified_hs256_token_decode(token)
except jwt.InvalidTokenError:
return None
@@ -573,7 +571,9 @@ class AuthManager:
issuer = refresh_token.id
try:
jwt.decode(token, jwt_key, leeway=10, issuer=issuer, algorithms=["HS256"])
jwt_wrapper.verify_and_decode(
token, jwt_key, leeway=10, issuer=issuer, algorithms=["HS256"]
)
except jwt.InvalidTokenError:
return None
+116
View File
@@ -0,0 +1,116 @@
"""Provide a wrapper around JWT that caches decoding tokens.
Since we decode the same tokens over and over again
we can cache the result of the decode of valid tokens
to speed up the process.
"""
from __future__ import annotations
from datetime import timedelta
from functools import lru_cache, partial
from typing import Any
from jwt import DecodeError, PyJWS, PyJWT
from homeassistant.util.json import json_loads
JWT_TOKEN_CACHE_SIZE = 16
MAX_TOKEN_SIZE = 8192
_VERIFY_KEYS = ("signature", "exp", "nbf", "iat", "aud", "iss")
_VERIFY_OPTIONS: dict[str, Any] = {f"verify_{key}": True for key in _VERIFY_KEYS} | {
"require": []
}
_NO_VERIFY_OPTIONS = {f"verify_{key}": False for key in _VERIFY_KEYS}
class _PyJWSWithLoadCache(PyJWS):
"""PyJWS with a dedicated load implementation."""
@lru_cache(maxsize=JWT_TOKEN_CACHE_SIZE)
# We only ever have a global instance of this class
# so we do not have to worry about the LRU growing
# each time we create a new instance.
def _load(self, jwt: str | bytes) -> tuple[bytes, bytes, dict, bytes]:
"""Load a JWS."""
return super()._load(jwt)
_jws = _PyJWSWithLoadCache()
@lru_cache(maxsize=JWT_TOKEN_CACHE_SIZE)
def _decode_payload(json_payload: str) -> dict[str, Any]:
"""Decode the payload from a JWS dictionary."""
try:
payload = json_loads(json_payload)
except ValueError as err:
raise DecodeError(f"Invalid payload string: {err}") from err
if not isinstance(payload, dict):
raise DecodeError("Invalid payload string: must be a json object")
return payload
class _PyJWTWithVerify(PyJWT):
"""PyJWT with a fast decode implementation."""
def decode_payload(
self, jwt: str, key: str, options: dict[str, Any], algorithms: list[str]
) -> dict[str, Any]:
"""Decode a JWT's payload."""
if len(jwt) > MAX_TOKEN_SIZE:
# Avoid caching impossible tokens
raise DecodeError("Token too large")
return _decode_payload(
_jws.decode_complete(
jwt=jwt,
key=key,
algorithms=algorithms,
options=options,
)["payload"]
)
def verify_and_decode(
self,
jwt: str,
key: str,
algorithms: list[str],
issuer: str | None = None,
leeway: int | float | timedelta = 0,
options: dict[str, Any] | None = None,
) -> dict[str, Any]:
"""Verify a JWT's signature and claims."""
merged_options = {**_VERIFY_OPTIONS, **(options or {})}
payload = self.decode_payload(
jwt=jwt,
key=key,
options=merged_options,
algorithms=algorithms,
)
# These should never be missing since we verify them
# but this is an additional safeguard to make sure
# nothing slips through.
assert "exp" in payload, "exp claim is required"
assert "iat" in payload, "iat claim is required"
self._validate_claims( # type: ignore[no-untyped-call]
payload=payload,
options=merged_options,
issuer=issuer,
leeway=leeway,
)
return payload
_jwt = _PyJWTWithVerify() # type: ignore[no-untyped-call]
verify_and_decode = _jwt.verify_and_decode
unverified_hs256_token_decode = lru_cache(maxsize=JWT_TOKEN_CACHE_SIZE)(
partial(
_jwt.decode_payload, key="", algorithms=["HS256"], options=_NO_VERIFY_OPTIONS
)
)
__all__ = [
"unverified_hs256_token_decode",
"verify_and_decode",
]
+3 -6
View File
@@ -6,15 +6,12 @@ from typing import TYPE_CHECKING
import attr
if TYPE_CHECKING:
from homeassistant.helpers import (
device_registry as dev_reg,
entity_registry as ent_reg,
)
from homeassistant.helpers import device_registry as dr, entity_registry as er
@attr.s(slots=True)
class PermissionLookup:
"""Class to hold data for permission lookups."""
entity_registry: ent_reg.EntityRegistry = attr.ib()
device_registry: dev_reg.DeviceRegistry = attr.ib()
entity_registry: er.EntityRegistry = attr.ib()
device_registry: dr.DeviceRegistry = attr.ib()
@@ -68,6 +68,7 @@ class CommandLineAuthProvider(AuthProvider):
*self.config[CONF_ARGS],
env=env,
stdout=asyncio.subprocess.PIPE if self.config[CONF_META] else None,
close_fds=False, # required for posix_spawn
)
stdout, _ = await process.communicate()
except OSError as err:
@@ -1,5 +1,4 @@
"""
Support Legacy API password auth provider.
"""Support Legacy API password auth provider.
It will be removed when auth system production ready
"""
@@ -71,8 +70,7 @@ class LegacyApiPasswordAuthProvider(AuthProvider):
async def async_user_meta_for_credentials(
self, credentials: Credentials
) -> UserMeta:
"""
Return info for the user.
"""Return info for the user.
Will be used to populate info when creating a new user.
"""
+4 -7
View File
@@ -2,17 +2,15 @@
from __future__ import annotations
from enum import Enum
from typing import Any, TypeVar
from typing import Any
_StrEnumSelfT = TypeVar("_StrEnumSelfT", bound="StrEnum")
from typing_extensions import Self
class StrEnum(str, Enum):
"""Partial backport of Python 3.11's StrEnum for our basic use cases."""
def __new__(
cls: type[_StrEnumSelfT], value: str, *args: Any, **kwargs: Any
) -> _StrEnumSelfT:
def __new__(cls, value: str, *args: Any, **kwargs: Any) -> Self:
"""Create a new StrEnum instance."""
if not isinstance(value, str):
raise TypeError(f"{value!r} is not a string")
@@ -26,8 +24,7 @@ class StrEnum(str, Enum):
def _generate_next_value_(
name: str, start: int, count: int, last_values: list[Any]
) -> Any:
"""
Make `auto()` explicitly unsupported.
"""Make `auto()` explicitly unsupported.
We may revisit this when it's very clear that Python 3.11's
`StrEnum.auto()` behavior will no longer change.
+1 -1
View File
@@ -8,7 +8,7 @@ from .util.async_ import protect_loop
def enable() -> None:
"""Enable the detection of blocking calls in the event loop."""
# Prevent urllib3 and requests doing I/O in event loop
HTTPConnection.putrequest = protect_loop( # type: ignore[assignment]
HTTPConnection.putrequest = protect_loop( # type: ignore[method-assign]
HTTPConnection.putrequest
)
+17 -12
View File
@@ -27,9 +27,11 @@ from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
device_registry,
entity,
entity_registry,
issue_registry,
recorder,
template,
)
from .helpers.dispatcher import async_dispatcher_send
from .helpers.typing import ConfigType
@@ -236,12 +238,15 @@ async def load_registries(hass: core.HomeAssistant) -> None:
platform.uname().processor # pylint: disable=expression-not-assigned
# Load the registries and cache the result of platform.uname().processor
entity.async_setup(hass)
template.async_setup(hass)
await asyncio.gather(
area_registry.async_load(hass),
device_registry.async_load(hass),
entity_registry.async_load(hass),
issue_registry.async_load(hass),
hass.async_add_executor_job(_cache_uname_processor),
template.async_load_custom_templates(hass),
)
@@ -406,7 +411,6 @@ def async_enable_logging(
if (err_path_exists and os.access(err_log_path, os.W_OK)) or (
not err_path_exists and os.access(err_dir, os.W_OK)
):
err_handler: (
logging.handlers.RotatingFileHandler
| logging.handlers.TimedRotatingFileHandler
@@ -507,19 +511,20 @@ async def async_setup_multi_components(
) -> None:
"""Set up multiple domains. Log on failure."""
futures = {
domain: hass.async_create_task(async_setup_component(hass, domain, config))
domain: hass.async_create_task(
async_setup_component(hass, domain, config), f"setup component {domain}"
)
for domain in domains
}
await asyncio.wait(futures.values())
errors = [domain for domain in domains if futures[domain].exception()]
for domain in errors:
exception = futures[domain].exception()
assert exception is not None
_LOGGER.error(
"Error setting up integration %s - received exception",
domain,
exc_info=(type(exception), exception, exception.__traceback__),
)
results = await asyncio.gather(*futures.values(), return_exceptions=True)
for idx, domain in enumerate(futures):
result = results[idx]
if isinstance(result, BaseException):
_LOGGER.error(
"Error setting up integration %s - received exception",
domain,
exc_info=(type(result), result, result.__traceback__),
)
async def _async_set_up_integrations(
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "heltun",
"name": "HELTUN",
"iot_standards": ["zwave"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "homeseer",
"name": "HomeSeer",
"iot_standards": ["zwave"]
}
+6
View File
@@ -0,0 +1,6 @@
{
"domain": "tplink",
"name": "TP-Link",
"integrations": ["tplink", "tplink_omada", "tplink_lte"],
"iot_standards": ["matter"]
}
+1 -2
View File
@@ -1,5 +1,4 @@
"""
This package contains components that can be plugged into Home Assistant.
"""Contains components that can be plugged into Home Assistant.
Component design guidelines:
- Each component defines a constant DOMAIN that is equal to its filename.
@@ -1,7 +1,6 @@
"""Support for Abode Security System binary sensors."""
from __future__ import annotations
from contextlib import suppress
from typing import cast
from jaraco.abode.devices.sensor import BinarySensor as ABBinarySensor
@@ -14,6 +13,7 @@ from homeassistant.components.binary_sensor import (
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.enum import try_parse_enum
from . import AbodeDevice, AbodeSystem
from .const import DOMAIN
@@ -54,6 +54,4 @@ class AbodeBinarySensor(AbodeDevice, BinarySensorEntity):
"""Return the class of the binary sensor."""
if self._device.get_value("is_window") == "1":
return BinarySensorDeviceClass.WINDOW
with suppress(ValueError):
return BinarySensorDeviceClass(cast(str, self._device.generic_type))
return None
return try_parse_enum(BinarySensorDeviceClass, self._device.generic_type)
+3 -3
View File
@@ -1,13 +1,13 @@
{
"domain": "abode",
"name": "Abode",
"codeowners": ["@shred86"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/abode",
"requirements": ["jaraco.abode==3.2.1"],
"codeowners": ["@shred86"],
"homekit": {
"models": ["Abode", "Iota"]
},
"iot_class": "cloud_push",
"loggers": ["jaraco.abode", "lomond"]
"loggers": ["jaraco.abode", "lomond"],
"requirements": ["jaraco.abode==3.3.0"]
}
@@ -1,26 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u0442\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u043a\u0430\u0446\u0438\u044f \u0431\u0435\u0448\u0435 \u0443\u0441\u043f\u0435\u0448\u043d\u0430",
"single_instance_allowed": "\u0420\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043d\u0430 Abode."
},
"error": {
"cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0445 \u043f\u0440\u0438 \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435"
},
"step": {
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u0430",
"username": "\u0418\u043c\u0435\u0439\u043b"
}
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u0430",
"username": "\u0418\u043c\u0435\u0439\u043b"
},
"title": "\u041f\u043e\u043f\u044a\u043b\u043d\u0435\u0442\u0435 \u0412\u0430\u0448\u0430\u0442\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0437\u0430 \u0432\u0445\u043e\u0434 \u0432 Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autenticaci\u00f3 realitzada correctament",
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"invalid_auth": "Autenticaci\u00f3 inv\u00e0lida",
"invalid_mfa_code": "Codi MFA inv\u00e0lid"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Codi MFA (6 d\u00edgits)"
},
"title": "Introdueix el codi MFA per a Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrasenya",
"username": "Correu electr\u00f2nic"
},
"title": "Introdueix la informaci\u00f3 d'inici de sessi\u00f3 d'Abode."
},
"user": {
"data": {
"password": "Contrasenya",
"username": "Correu electr\u00f2nic"
},
"title": "Introducci\u00f3 de la informaci\u00f3 d'inici de sessi\u00f3 a Abode."
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Op\u011btovn\u00e9 ov\u011b\u0159en\u00ed bylo \u00fasp\u011b\u0161n\u00e9",
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_auth": "Neplatn\u00e9 ov\u011b\u0159en\u00ed",
"invalid_mfa_code": "Neplatn\u00fd k\u00f3d MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "K\u00f3d MFA (6 \u010d\u00edslic)"
},
"title": "Zadejte k\u00f3d MFA pro Abode"
},
"reauth_confirm": {
"data": {
"password": "Heslo",
"username": "E-mail"
},
"title": "Vypl\u0148te sv\u00e9 p\u0159ihla\u0161ovac\u00ed \u00fadaje do Abode"
},
"user": {
"data": {
"password": "Heslo",
"username": "E-mail"
},
"title": "Vypl\u0148te p\u0159ihla\u0161ovac\u00ed \u00fadaje Abode"
}
}
}
}
@@ -1,16 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Det er kun n\u00f8dvendigt med en ops\u00e6tning af Abode."
},
"step": {
"user": {
"data": {
"password": "Adgangskode",
"username": "Email-adresse"
},
"title": "Udfyld dine Abode-loginoplysninger"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Die erneute Authentifizierung war erfolgreich",
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_auth": "Ung\u00fcltige Authentifizierung",
"invalid_mfa_code": "Ung\u00fcltiger MFA-Code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-Code (6-stellig)"
},
"title": "Gib deinen MFA-Code f\u00fcr Abode ein"
},
"reauth_confirm": {
"data": {
"password": "Passwort",
"username": "E-Mail"
},
"title": "Gib deine Abode-Anmeldeinformationen ein"
},
"user": {
"data": {
"password": "Passwort",
"username": "E-Mail"
},
"title": "Gib deine Abode Anmeldeinformationen ein"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u039f \u03b5\u03ba \u03bd\u03ad\u03bf\u03c5 \u03ad\u03bb\u03b5\u03b3\u03c7\u03bf\u03c2 \u03c4\u03b1\u03c5\u03c4\u03cc\u03c4\u03b7\u03c4\u03b1\u03c2 \u03ae\u03c4\u03b1\u03bd \u03b5\u03c0\u03b9\u03c4\u03c5\u03c7\u03ae\u03c2",
"single_instance_allowed": "\u0388\u03c7\u03b5\u03b9 \u03ae\u03b4\u03b7 \u03c1\u03c5\u03b8\u03bc\u03b9\u03c3\u03c4\u03b5\u03af. \u039c\u03cc\u03bd\u03bf \u03bc\u03af\u03b1 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae."
},
"error": {
"cannot_connect": "\u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2",
"invalid_auth": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b7 \u03b1\u03c5\u03b8\u03b5\u03bd\u03c4\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7",
"invalid_mfa_code": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf\u03c2 \u03ba\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 MFA (6 \u03c8\u03b7\u03c6\u03af\u03b1)"
},
"title": "\u0395\u03b9\u03c3\u03b1\u03b3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03ba\u03c9\u03b4\u03b9\u03ba\u03cc MFA \u03b3\u03b9\u03b1 \u03c4\u03bf Abode"
},
"reauth_confirm": {
"data": {
"password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
"username": "Email"
},
"title": "\u03a3\u03c5\u03bc\u03c0\u03bb\u03b7\u03c1\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b1 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03ae\u03c2 \u03c3\u03b1\u03c2 \u03c3\u03c4\u03bf Abode"
},
"user": {
"data": {
"password": "\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2",
"username": "Email"
},
"title": "\u03a3\u03c5\u03bc\u03c0\u03bb\u03b7\u03c1\u03ce\u03c3\u03c4\u03b5 \u03c4\u03b1 \u03c3\u03c4\u03bf\u03b9\u03c7\u03b5\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03ae\u03c2 \u03c3\u03b1\u03c2 \u03c3\u03c4\u03bf Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-authentication was successful",
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"error": {
"cannot_connect": "Failed to connect",
"invalid_auth": "Invalid authentication",
"invalid_mfa_code": "Invalid MFA code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA code (6-digits)"
},
"title": "Enter your MFA code for Abode"
},
"reauth_confirm": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Fill in your Abode login information"
},
"user": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Fill in your Abode login information"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La reautenticaci\u00f3n fue exitosa",
"single_instance_allowed": "Solo se permite una \u00fanica configuraci\u00f3n de Abode."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_auth": "Autenticaci\u00f3n inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA no v\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Ingrese su c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Complete su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},
"user": {
"data": {
"password": "Contrase\u00f1a",
"username": "Direcci\u00f3n de correo electr\u00f3nico"
},
"title": "Complete su informaci\u00f3n de inicio de sesi\u00f3n de Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La autenticaci\u00f3n se volvi\u00f3 a realizar correctamente",
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_auth": "Autenticaci\u00f3n no v\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA no v\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Introduce tu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Completa tu informaci\u00f3n de inicio de sesi\u00f3n de Abode"
},
"user": {
"data": {
"password": "Contrase\u00f1a",
"username": "Correo electr\u00f3nico"
},
"title": "Completa tu informaci\u00f3n de inicio de sesi\u00f3n de Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Taastuvastamine \u00f5nnestus",
"single_instance_allowed": "Juba seadistatud. V\u00f5imalik on ainult \u00fcks seadistamine."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_auth": "Tuvastamise viga",
"invalid_mfa_code": "Kehtetu MFA-kood"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA kood (6-kohaline)"
},
"title": "Sisesta oma Abode MFA kood"
},
"reauth_confirm": {
"data": {
"password": "Salas\u00f5na",
"username": "E-post"
},
"title": "Sisesta oma Abode sisselogimisteave"
},
"user": {
"data": {
"password": "Salas\u00f5na",
"username": "E-post"
},
"title": "Sisesta oma Abode sisselogimisteave"
}
}
}
}
@@ -1,12 +0,0 @@
{
"config": {
"step": {
"user": {
"data": {
"password": "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631",
"username": "\u0627\u06cc\u0645\u06cc\u0644"
}
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La r\u00e9-authentification a r\u00e9ussi",
"single_instance_allowed": "D\u00e9j\u00e0 configur\u00e9. Une seule configuration possible."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_auth": "Authentification non valide",
"invalid_mfa_code": "Code MFA non valide"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Code MFA (6 chiffres)"
},
"title": "Entrez votre code MFA pour Abode"
},
"reauth_confirm": {
"data": {
"password": "Mot de passe",
"username": "Courriel"
},
"title": "Remplissez vos informations de connexion Abode"
},
"user": {
"data": {
"password": "Mot de passe",
"username": "Courriel"
},
"title": "Remplissez vos informations de connexion Abode"
}
}
}
}
@@ -1,27 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u05d4\u05d0\u05d9\u05de\u05d5\u05ea \u05de\u05d7\u05d3\u05e9 \u05d4\u05e6\u05dc\u05d9\u05d7",
"single_instance_allowed": "\u05ea\u05e6\u05d5\u05e8\u05ea\u05d5 \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4. \u05e8\u05e7 \u05ea\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05ea \u05d0\u05e4\u05e9\u05e8\u05d9\u05ea."
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_auth": "\u05d0\u05d9\u05de\u05d5\u05ea \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9"
},
"step": {
"reauth_confirm": {
"data": {
"password": "\u05e1\u05d9\u05e1\u05de\u05d4",
"username": "\u05d3\u05d5\u05d0\"\u05dc"
}
},
"user": {
"data": {
"password": "\u05e1\u05d9\u05e1\u05de\u05d4",
"username": "\u05d3\u05d5\u05d0\"\u05dc"
},
"title": "\u05d9\u05e9 \u05dc\u05de\u05dc\u05d0 \u05d0\u05ea \u05e4\u05e8\u05d8\u05d9 \u05d4\u05db\u05e0\u05d9\u05e1\u05d4 \u05e9\u05dc\u05da \u05dc\u05d0\u05d3\u05d5\u05d1\u05d9"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Az \u00fajrahiteles\u00edt\u00e9s sikeres volt.",
"single_instance_allowed": "M\u00e1r konfigur\u00e1lva van. Csak egy konfigur\u00e1ci\u00f3 lehets\u00e9ges."
},
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
"invalid_auth": "\u00c9rv\u00e9nytelen hiteles\u00edt\u00e9s",
"invalid_mfa_code": "\u00c9rv\u00e9nytelen MFA k\u00f3d"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA k\u00f3d (6 jegy\u0171)"
},
"title": "Add meg az Abode MFA k\u00f3dj\u00e1t"
},
"reauth_confirm": {
"data": {
"password": "Jelsz\u00f3",
"username": "E-mail"
},
"title": "T\u00f6ltse ki az Abode bejelentkez\u00e9si adatait"
},
"user": {
"data": {
"password": "Jelsz\u00f3",
"username": "E-mail"
},
"title": "T\u00f6ltse ki az Abode bejelentkez\u00e9si adatait"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Autentikasi ulang berhasil",
"single_instance_allowed": "Sudah dikonfigurasi. Hanya satu konfigurasi yang diizinkan."
},
"error": {
"cannot_connect": "Gagal terhubung",
"invalid_auth": "Autentikasi tidak valid",
"invalid_mfa_code": "Kode MFA tidak valid"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Kode MFA (6 digit)"
},
"title": "Masukkan kode MFA Anda untuk Abode"
},
"reauth_confirm": {
"data": {
"password": "Kata Sandi",
"username": "Email"
},
"title": "Masukkan informasi masuk Abode Anda"
},
"user": {
"data": {
"password": "Kata Sandi",
"username": "Email"
},
"title": "Masukkan informasi masuk Abode Anda"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "La nuova autenticazione \u00e8 stata eseguita correttamente",
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"invalid_auth": "Autenticazione non valida",
"invalid_mfa_code": "Codice MFA non valido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "Codice MFA (6 cifre)"
},
"title": "Inserisci il tuo codice MFA per Abode"
},
"reauth_confirm": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Inserisci le tue informazioni di accesso Abode"
},
"user": {
"data": {
"password": "Password",
"username": "Email"
},
"title": "Inserisci le tue informazioni di accesso Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u518d\u8a8d\u8a3c\u306b\u6210\u529f\u3057\u307e\u3057\u305f",
"single_instance_allowed": "\u3059\u3067\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u8a2d\u5b9a\u3067\u304d\u308b\u306e\u306f1\u3064\u3060\u3051\u3067\u3059\u3002"
},
"error": {
"cannot_connect": "\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"invalid_auth": "\u7121\u52b9\u306a\u8a8d\u8a3c",
"invalid_mfa_code": "\u7121\u52b9\u306aMFA\u30b3\u30fc\u30c9"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA\u30b3\u30fc\u30c9(6\u6841)"
},
"title": "Abode\u306eMFA\u30b3\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"
},
"reauth_confirm": {
"data": {
"password": "\u30d1\u30b9\u30ef\u30fc\u30c9",
"username": "E\u30e1\u30fc\u30eb"
},
"title": "Abode\u306e\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"
},
"user": {
"data": {
"password": "\u30d1\u30b9\u30ef\u30fc\u30c9",
"username": "E\u30e1\u30fc\u30eb"
},
"title": "Abode\u306e\u30ed\u30b0\u30a4\u30f3\u60c5\u5831\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\uc7ac\uc778\uc99d\uc5d0 \uc131\uacf5\ud588\uc2b5\ub2c8\ub2e4",
"single_instance_allowed": "\uc774\ubbf8 \uad6c\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud558\ub098\uc758 \uc778\uc2a4\ud134\uc2a4\ub9cc \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"error": {
"cannot_connect": "\uc5f0\uacb0\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4",
"invalid_auth": "\uc778\uc99d\uc774 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4",
"invalid_mfa_code": "MFA \ucf54\ub4dc\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA \ucf54\ub4dc (6\uc790\ub9ac)"
},
"title": "Abode\uc5d0 \ub300\ud55c MFA \ucf54\ub4dc\ub97c \uc785\ub825\ud574\uc8fc\uc138\uc694"
},
"reauth_confirm": {
"data": {
"password": "\ube44\ubc00\ubc88\ud638",
"username": "\uc774\uba54\uc77c"
},
"title": "Abode \ub85c\uadf8\uc778 \uc815\ubcf4 \uc785\ub825\ud558\uae30"
},
"user": {
"data": {
"password": "\ube44\ubc00\ubc88\ud638",
"username": "\uc774\uba54\uc77c"
},
"title": "Abode \uc0ac\uc6a9\uc790 \uc815\ubcf4 \uc785\ub825\ud558\uae30"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-authentifikatioun war erfollegr\u00e4ich",
"single_instance_allowed": "Scho konfigur\u00e9iert. N\u00ebmmen eng eenzeg Konfiguratioun m\u00e9iglech."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"invalid_auth": "Ong\u00eblteg Authentifikatioun",
"invalid_mfa_code": "Ong\u00ebltege MFA Code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA code (6 Zifferen)"
},
"title": "G\u00ebff dain MFA code fir Abode un"
},
"reauth_confirm": {
"data": {
"password": "Passwuert",
"username": "E-Mail"
},
"title": "F\u00ebll deng Abode Login Informatiounen aus"
},
"user": {
"data": {
"password": "Passwuert",
"username": "E-Mail"
},
"title": "F\u00ebllt \u00e4r Abode Login Informatiounen aus."
}
}
}
}
@@ -1,12 +0,0 @@
{
"config": {
"step": {
"user": {
"data": {
"password": "Slapta\u017eodis",
"username": "El. pa\u0161tas"
}
}
}
}
}
@@ -1,12 +0,0 @@
{
"config": {
"step": {
"user": {
"data": {
"password": "Parole",
"username": "E-pasta adrese"
}
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Herauthenticatie geslaagd",
"single_instance_allowed": "Al geconfigureerd. Slechts \u00e9\u00e9n configuratie mogelijk."
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"invalid_auth": "Ongeldige authenticatie",
"invalid_mfa_code": "Ongeldige MFA-code"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-code (6-cijfers)"
},
"title": "Voer uw MFA-code voor Abode in"
},
"reauth_confirm": {
"data": {
"password": "Wachtwoord",
"username": "E-mail"
},
"title": "Vul uw Abode-inloggegevens in"
},
"user": {
"data": {
"password": "Wachtwoord",
"username": "E-mail"
},
"title": "Vul uw Abode-inloggegevens in"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autentisering var vellykket",
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"invalid_auth": "Ugyldig godkjenning",
"invalid_mfa_code": "Ugyldig MFA-kode"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-kode (6-sifre)"
},
"title": "Skriv inn din MFA-kode for Abode"
},
"reauth_confirm": {
"data": {
"password": "Passord",
"username": "E-post"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
},
"user": {
"data": {
"password": "Passord",
"username": "E-post"
},
"title": "Fyll ut innloggingsinformasjonen for Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Ponowne uwierzytelnienie powiod\u0142o si\u0119",
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"invalid_auth": "Niepoprawne uwierzytelnienie",
"invalid_mfa_code": "Nieprawid\u0142owy kod uwierzytelniania wielosk\u0142adnikowego"
},
"step": {
"mfa": {
"data": {
"mfa_code": "6-cyfrowy kod uwierzytelniania wielosk\u0142adnikowego"
},
"title": "Wprowad\u017a kod uwierzytelniania wielosk\u0142adnikowego dla Abode"
},
"reauth_confirm": {
"data": {
"password": "Has\u0142o",
"username": "Adres e-mail"
},
"title": "Wprowad\u017a informacje logowania Abode"
},
"user": {
"data": {
"password": "Has\u0142o",
"username": "Adres e-mail"
},
"title": "Wprowad\u017a informacje logowania Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "A reautentica\u00e7\u00e3o foi bem-sucedida",
"single_instance_allowed": "J\u00e1 configurado. Apenas uma configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"error": {
"cannot_connect": "Falha ao conectar",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA inv\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Digite seu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Senha",
"username": "Email"
},
"title": "Preencha as informa\u00e7\u00f5es de login da Abode"
},
"user": {
"data": {
"password": "Senha",
"username": "Email"
},
"title": "Preencha suas informa\u00e7\u00f5es de login Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Reautentica\u00e7\u00e3o bem sucedida",
"single_instance_allowed": "J\u00e1 configurado. Apenas uma \u00fanica configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"error": {
"cannot_connect": "A liga\u00e7\u00e3o falhou",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA inv\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Introduza seu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Palavra-passe",
"username": ""
},
"title": "Preencha as informa\u00e7\u00f5es de login de Abode"
},
"user": {
"data": {
"password": "Palavra-passe",
"username": ""
},
"title": "Preencha as informa\u00e7\u00f5es de login de Abode"
}
}
}
}
@@ -1,7 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Re-autentificare efectuata cu succes"
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430 \u0443\u0441\u043f\u0435\u0448\u043d\u043e.",
"single_instance_allowed": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0443\u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0443 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f.",
"invalid_auth": "\u041e\u0448\u0438\u0431\u043a\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438.",
"invalid_mfa_code": "\u041d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434 MFA."
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u041a\u043e\u0434 MFA (6 \u0446\u0438\u0444\u0440)"
},
"title": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0434 MFA \u0434\u043b\u044f Abode"
},
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"
},
"title": "Abode"
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"
},
"title": "Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Op\u00e4tovn\u00e9 overenie bolo \u00faspe\u0161n\u00e9",
"single_instance_allowed": "U\u017e je nakonfigurovan\u00fd. Mo\u017en\u00e1 len jedna konfigur\u00e1cia."
},
"error": {
"cannot_connect": "Nepodarilo sa pripoji\u0165",
"invalid_auth": "Neplatn\u00e9 overenie",
"invalid_mfa_code": "Neplatn\u00fd k\u00f3d MFA"
},
"step": {
"mfa": {
"data": {
"mfa_code": "K\u00f3d MFA (6-miestny)"
},
"title": "Zadajte svoj k\u00f3d MFA pre Abode"
},
"reauth_confirm": {
"data": {
"password": "Heslo",
"username": "Email"
},
"title": "Vypl\u0148te svoje prihlasovacie \u00fadaje do slu\u017eby Abode"
},
"user": {
"data": {
"password": "Heslo",
"username": "Email"
},
"title": "Vypl\u0148te svoje prihlasovacie \u00fadaje Abode"
}
}
}
}
@@ -1,33 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Ponovno overjanje je uspelo",
"single_instance_allowed": "Dovoljena je samo ena konfiguracija Abode."
},
"error": {
"invalid_mfa_code": "Napa\u010dna MFA koda"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA koda (6 \u0161tevilk)"
},
"title": "Vnesite MFA kodo za Abode"
},
"reauth_confirm": {
"data": {
"password": "Geslo",
"username": "E-po\u0161tni naslov"
},
"title": "Vnesite podatke za prijavo v Abode"
},
"user": {
"data": {
"password": "Geslo",
"username": "E-po\u0161tni naslov"
},
"title": "Izpolnite svoje podatke za prijavo v Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u00c5terautentisering lyckades",
"single_instance_allowed": "Endast en enda konfiguration av Abode \u00e4r till\u00e5ten."
},
"error": {
"cannot_connect": "Det gick inte att ansluta.",
"invalid_auth": "Ogiltig autentisering",
"invalid_mfa_code": "Ogiltig MFA-kod"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA-kod (6 siffror)"
},
"title": "Ange din MFA-kod f\u00f6r Abode"
},
"reauth_confirm": {
"data": {
"password": "L\u00f6senord",
"username": "E-postadress"
},
"title": "Fyll i din Abode-inloggningsinformation"
},
"user": {
"data": {
"password": "L\u00f6senord",
"username": "E-postadress"
},
"title": "Fyll i din inloggningsinformation f\u00f6r Abode"
}
}
}
}
@@ -1,9 +0,0 @@
{
"config": {
"step": {
"mfa": {
"title": "\u0e1b\u0e49\u0e2d\u0e19\u0e23\u0e2b\u0e31\u0e2a MFA \u0e08\u0e32\u0e01 Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "Yeniden kimlik do\u011frulama ba\u015far\u0131l\u0131 oldu",
"single_instance_allowed": "Zaten yap\u0131land\u0131r\u0131lm\u0131\u015f. Yaln\u0131zca tek bir konfig\u00fcrasyon m\u00fcmk\u00fcnd\u00fcr."
},
"error": {
"cannot_connect": "Ba\u011flanma hatas\u0131",
"invalid_auth": "Ge\u00e7ersiz kimlik do\u011frulama",
"invalid_mfa_code": "Ge\u00e7ersiz MFA kodu"
},
"step": {
"mfa": {
"data": {
"mfa_code": "MFA kodu (6 basamakl\u0131)"
},
"title": "Abode i\u00e7in MFA kodunuzu girin"
},
"reauth_confirm": {
"data": {
"password": "Parola",
"username": "E-posta"
},
"title": "Abode giri\u015f bilgilerinizi doldurun"
},
"user": {
"data": {
"password": "Parola",
"username": "E-posta"
},
"title": "Abode giri\u015f bilgilerinizi doldurun"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u041f\u043e\u0432\u0442\u043e\u0440\u043d\u0430 \u0430\u0432\u0442\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u044f \u043f\u0440\u043e\u0439\u0448\u043b\u0430 \u0443\u0441\u043f\u0456\u0448\u043d\u043e",
"single_instance_allowed": "\u0412\u0436\u0435 \u043d\u0430\u043b\u0430\u0448\u0442\u043e\u0432\u0430\u043d\u043e. \u041c\u043e\u0436\u043b\u0438\u0432\u0430 \u043b\u0438\u0448\u0435 \u043e\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0456\u0433\u0443\u0440\u0430\u0446\u0456\u044f."
},
"error": {
"cannot_connect": "\u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0456\u0434'\u0454\u0434\u043d\u0430\u0442\u0438\u0441\u044f",
"invalid_auth": "\u041d\u0435\u0432\u0456\u0440\u043d\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0456\u043a\u0430\u0446\u0456\u044f.",
"invalid_mfa_code": "\u041d\u0435\u0434\u0456\u0439\u0441\u043d\u0438\u0439 \u043a\u043e\u0434 MFA."
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u041a\u043e\u0434 MFA (6 \u0446\u0438\u0444\u0440)"
},
"title": "\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u043a\u043e\u0434 MFA \u0434\u043b\u044f Abode"
},
"reauth_confirm": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438"
},
"title": "Abode"
},
"user": {
"data": {
"password": "\u041f\u0430\u0440\u043e\u043b\u044c",
"username": "\u0410\u0434\u0440\u0435\u0441\u0430 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438"
},
"title": "Abode"
}
}
}
}
@@ -1,35 +0,0 @@
{
"config": {
"abort": {
"reauth_successful": "\u91cd\u65b0\u8a8d\u8b49\u6210\u529f",
"single_instance_allowed": "\u5df2\u7d93\u8a2d\u5b9a\u5b8c\u6210\u3001\u50c5\u80fd\u8a2d\u5b9a\u4e00\u7d44\u88dd\u7f6e\u3002"
},
"error": {
"cannot_connect": "\u9023\u7dda\u5931\u6557",
"invalid_auth": "\u9a57\u8b49\u78bc\u7121\u6548",
"invalid_mfa_code": "\u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc\u7121\u6548"
},
"step": {
"mfa": {
"data": {
"mfa_code": "\u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc\uff086 \u4f4d\uff09"
},
"title": "\u8f38\u5165 Abode \u591a\u6b65\u9a5f\u8a8d\u8b49\u78bc"
},
"reauth_confirm": {
"data": {
"password": "\u5bc6\u78bc",
"username": "\u96fb\u5b50\u90f5\u4ef6"
},
"title": "\u586b\u5beb Abode \u767b\u5165\u8cc7\u8a0a"
},
"user": {
"data": {
"password": "\u5bc6\u78bc",
"username": "\u96fb\u5b50\u90f5\u4ef6"
},
"title": "\u586b\u5beb Abode \u767b\u5165\u8cc7\u8a0a"
}
}
}
}
@@ -1,12 +1,12 @@
{
"domain": "accuweather",
"name": "AccuWeather",
"documentation": "https://www.home-assistant.io/integrations/accuweather/",
"requirements": ["accuweather==0.5.0"],
"codeowners": ["@bieniu"],
"config_flow": true,
"quality_scale": "platinum",
"documentation": "https://www.home-assistant.io/integrations/accuweather/",
"integration_type": "service",
"iot_class": "cloud_polling",
"loggers": ["accuweather"],
"integration_type": "service"
"quality_scale": "platinum",
"requirements": ["accuweather==0.5.0"]
}
@@ -248,7 +248,8 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
state_class=SensorStateClass.MEASUREMENT,
metric_unit=UnitOfLength.METERS,
us_customary_unit=UnitOfLength.FEET,
value_fn=lambda data, unit: round(cast(float, data[unit][ATTR_VALUE])),
value_fn=lambda data, unit: cast(float, data[unit][ATTR_VALUE]),
suggested_display_precision=0,
),
AccuWeatherSensorDescription(
key="CloudCover",
@@ -300,8 +301,10 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
),
AccuWeatherSensorDescription(
key="PressureTendency",
device_class=SensorDeviceClass.ENUM,
icon="mdi:gauge",
name="Pressure tendency",
options=["falling", "rising", "steady"],
translation_key="pressure_tendency",
value_fn=lambda data, _: cast(str, data["LocalizedText"]).lower(),
),
@@ -1,13 +0,0 @@
{
"config": {
"error": {
"requests_exceeded": "\u062a\u0645 \u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u0639\u062f\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0645\u0646 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0625\u0644\u0649 Accuweather API. \u0639\u0644\u064a\u0643 \u0627\u0644\u0627\u0646\u062a\u0638\u0627\u0631 \u0623\u0648 \u062a\u063a\u064a\u064a\u0631 \u0645\u0641\u062a\u0627\u062d API."
}
},
"system_health": {
"info": {
"can_reach_server": "\u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u062e\u0627\u062f\u0645 AccuWeather",
"remaining_requests": "\u0627\u0644\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u062a\u0628\u0642\u064a\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627"
}
}
}
@@ -1,42 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u0412\u0435\u0447\u0435 \u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0430\u043d\u043e. \u0412\u044a\u0437\u043c\u043e\u0436\u043d\u0430 \u0435 \u0441\u0430\u043c\u043e \u0435\u0434\u043d\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f."
},
"error": {
"cannot_connect": "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u0432\u044a\u0440\u0437\u0432\u0430\u043d\u0435",
"invalid_api_key": "\u041d\u0435\u0432\u0430\u043b\u0438\u0434\u0435\u043d API \u043a\u043b\u044e\u0447"
},
"step": {
"user": {
"data": {
"api_key": "API \u043a\u043b\u044e\u0447",
"latitude": "\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0430 \u0448\u0438\u0440\u0438\u043d\u0430",
"longitude": "\u0413\u0435\u043e\u0433\u0440\u0430\u0444\u0441\u043a\u0430 \u0434\u044a\u043b\u0436\u0438\u043d\u0430",
"name": "\u0418\u043c\u0435"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\u041f\u043e\u043d\u0438\u0436\u0435\u043d\u0438\u0435",
"rising": "\u041f\u043e\u0432\u0438\u0448\u0435\u043d\u0438\u0435",
"steady": "\u0421\u0442\u0430\u0431\u0438\u043b\u043d\u043e"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e"
},
"description": "\u041f\u043e\u0440\u0430\u0434\u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f\u0442\u0430 \u043d\u0430 \u0431\u0435\u0437\u043f\u043b\u0430\u0442\u043d\u0430\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 API \u043a\u043b\u044e\u0447\u0430 \u043d\u0430 AccuWeather, \u043a\u043e\u0433\u0430\u0442\u043e \u0430\u043a\u0442\u0438\u0432\u0438\u0440\u0430\u0442\u0435 \u043f\u0440\u043e\u0433\u043d\u043e\u0437\u0430\u0442\u0430 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e, \u0430\u043a\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\u0442\u0435 \u043d\u0430 \u0434\u0430\u043d\u043d\u0438 \u0449\u0435 \u0441\u0435 \u0438\u0437\u0432\u044a\u0440\u0448\u0432\u0430\u0442 \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 80 \u043c\u0438\u043d\u0443\u0442\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u0432\u0441\u0435\u043a\u0438 40 \u043c\u0438\u043d\u0443\u0442\u0438."
}
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ja configurat. Nom\u00e9s \u00e9s possible una sola configuraci\u00f3."
},
"create_entry": {
"default": "Alguns sensors no estan activats de manera predeterminada. Els pots activar des del registre d'entitats, despr\u00e9s de la configuraci\u00f3 de la integraci\u00f3.\nLa previsi\u00f3 meteorol\u00f2gica no est\u00e0 activada de manera predeterminada. Pots activar-la a les opcions de la integraci\u00f3."
},
"error": {
"cannot_connect": "Ha fallat la connexi\u00f3",
"invalid_api_key": "Clau API inv\u00e0lida",
"requests_exceeded": "S'ha superat el nombre m\u00e0xim de sol\u00b7licituds permeses a l'API d'AccuWeather. Has d'esperar-te o canviar la clau API."
},
"step": {
"user": {
"data": {
"api_key": "Clau API",
"latitude": "Latitud",
"longitude": "Longitud",
"name": "Nom"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Disminuint",
"rising": "Augmentant",
"steady": "Estable"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Previsi\u00f3 meteorol\u00f2gica"
},
"description": "Per culpa de les limitacions de la versi\u00f3 gratu\u00efta de l'API d'AccuWeather, quan activis la previsi\u00f3 meteorol\u00f2gica, les actualitzacions de dades es faran cada 80 minuts en comptes de cada 40."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Servidor d'Accuweather accessible",
"remaining_requests": "Sol\u00b7licituds permeses restants"
}
}
}
@@ -1,47 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ji\u017e nastaveno. Je mo\u017en\u00e1 pouze jedin\u00e1 konfigurace."
},
"error": {
"cannot_connect": "Nepoda\u0159ilo se p\u0159ipojit",
"invalid_api_key": "Neplatn\u00fd kl\u00ed\u010d API",
"requests_exceeded": "Byl p\u0159ekro\u010den povolen\u00fd po\u010det po\u017eadavk\u016f pro API Accuweather. Mus\u00edte po\u010dkat nebo zm\u011bnit API kl\u00ed\u010d."
},
"step": {
"user": {
"data": {
"api_key": "Kl\u00ed\u010d API",
"latitude": "Zem\u011bpisn\u00e1 \u0161\u00ed\u0159ka",
"longitude": "Zem\u011bpisn\u00e1 d\u00e9lka",
"name": "Jm\u00e9no"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"steady": "Stabiln\u00ed"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "P\u0159edpov\u011b\u010f po\u010das\u00ed"
},
"description": "Vzhledem k omezen\u00edm bezplatn\u00e9 verze kl\u00ed\u010de AccuWeather API, kdy\u017e povol\u00edte p\u0159edpov\u011b\u010f po\u010das\u00ed, aktualizace dat se budou prov\u00e1d\u011bt ka\u017ed\u00fdch 80 minut m\u00edsto ka\u017ed\u00fdch 40 minut."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Lze kontaktovat AccuWeather server",
"remaining_requests": "Zb\u00fdvaj\u00edc\u00ed povolen\u00e9 \u017e\u00e1dosti"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Bereits konfiguriert. Nur eine einzige Konfiguration m\u00f6glich."
},
"create_entry": {
"default": "Einige Sensoren sind standardm\u00e4\u00dfig nicht aktiviert. Du kannst sie nach der Integrationskonfiguration in der Entit\u00e4tsregistrierung aktivieren.\nDie Wettervorhersage ist nicht standardm\u00e4\u00dfig aktiviert. Du kannst sie in den Integrationsoptionen aktivieren."
},
"error": {
"cannot_connect": "Verbindung fehlgeschlagen",
"invalid_api_key": "Ung\u00fcltiger API-Schl\u00fcssel",
"requests_exceeded": "Die zul\u00e4ssige Anzahl von Anforderungen an die Accuweather-API wurde \u00fcberschritten. Du musst warten oder den API-Schl\u00fcssel \u00e4ndern."
},
"step": {
"user": {
"data": {
"api_key": "API-Schl\u00fcssel",
"latitude": "Breitengrad",
"longitude": "L\u00e4ngengrad",
"name": "Name"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Fallend",
"rising": "Steigend",
"steady": "Stetig"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Wettervorhersage"
},
"description": "Aufgrund der Einschr\u00e4nkungen der kostenlosen Version des AccuWeather API-Schl\u00fcssels werden bei aktivierter Wettervorhersage Datenaktualisierungen alle 80 Minuten statt alle 40 Minuten durchgef\u00fchrt."
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather-Server erreichen",
"remaining_requests": "Verbleibende erlaubte Anfragen"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u0388\u03c7\u03b5\u03b9 \u03ae\u03b4\u03b7 \u03c1\u03c5\u03b8\u03bc\u03b9\u03c3\u03c4\u03b5\u03af. \u039c\u03cc\u03bd\u03bf \u03bc\u03af\u03b1 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae."
},
"create_entry": {
"default": "\u039f\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03b9 \u03b1\u03b9\u03c3\u03b8\u03b7\u03c4\u03ae\u03c1\u03b5\u03c2 \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b7\u03bc\u03ad\u03bd\u03bf\u03b9 \u03b1\u03c0\u03cc \u03c0\u03c1\u03bf\u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae. \u039c\u03c0\u03bf\u03c1\u03b5\u03af\u03c4\u03b5 \u03bd\u03b1 \u03c4\u03b1 \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03b5\u03c4\u03b5 \u03c3\u03c4\u03bf \u03bc\u03b7\u03c4\u03c1\u03ce\u03bf \u03bf\u03bd\u03c4\u03bf\u03c4\u03ae\u03c4\u03c9\u03bd \u03bc\u03b5\u03c4\u03ac \u03c4\u03b7 \u03b4\u03b9\u03b1\u03bc\u03cc\u03c1\u03c6\u03c9\u03c3\u03b7 \u03c4\u03b7\u03c2 \u03b5\u03bd\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7\u03c2.\n \u0397 \u03c0\u03c1\u03cc\u03b3\u03bd\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9\u03c1\u03bf\u03cd \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b7\u03bc\u03ad\u03bd\u03b7 \u03b1\u03c0\u03cc \u03c0\u03c1\u03bf\u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae. \u039c\u03c0\u03bf\u03c1\u03b5\u03af\u03c4\u03b5 \u03bd\u03b1 \u03c4\u03bf \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03b5\u03c4\u03b5 \u03c3\u03c4\u03b9\u03c2 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2 \u03b5\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7\u03c2."
},
"error": {
"cannot_connect": "\u0391\u03c0\u03bf\u03c4\u03c5\u03c7\u03af\u03b1 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03b7\u03c2",
"invalid_api_key": "\u039c\u03b7 \u03ad\u03b3\u03ba\u03c5\u03c1\u03bf \u03ba\u03bb\u03b5\u03b9\u03b4\u03af API",
"requests_exceeded": "\u0388\u03c7\u03b5\u03b9 \u03be\u03b5\u03c0\u03b5\u03c1\u03b1\u03c3\u03c4\u03b5\u03af \u03bf \u03b5\u03c0\u03b9\u03c4\u03c1\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 \u03b1\u03b9\u03c4\u03ae\u03c3\u03b5\u03c9\u03bd \u03c0\u03c1\u03bf\u03c2 \u03c4\u03bf API \u03c4\u03bf\u03c5 Accuweather. \u03a0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03bd\u03b1 \u03c0\u03b5\u03c1\u03b9\u03bc\u03ad\u03bd\u03b5\u03c4\u03b5 \u03ae \u03bd\u03b1 \u03b1\u03bb\u03bb\u03ac\u03be\u03b5\u03c4\u03b5 \u03c4\u03bf \u03ba\u03bb\u03b5\u03b9\u03b4\u03af API."
},
"step": {
"user": {
"data": {
"api_key": "\u039a\u03bb\u03b5\u03b9\u03b4\u03af API",
"latitude": "\u0393\u03b5\u03c9\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc \u03c0\u03bb\u03ac\u03c4\u03bf\u03c2",
"longitude": "\u0393\u03b5\u03c9\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc \u03bc\u03ae\u03ba\u03bf\u03c2",
"name": "\u038c\u03bd\u03bf\u03bc\u03b1"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\u03a0\u03c4\u03ce\u03c3\u03b7",
"rising": "\u0391\u03c5\u03be\u03b1\u03bd\u03cc\u03bc\u03b5\u03bd\u03b7",
"steady": "\u03a3\u03c4\u03b1\u03b8\u03b5\u03c1\u03ae"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\u03a0\u03c1\u03cc\u03b3\u03bd\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9\u03c1\u03bf\u03cd"
},
"description": "\u039b\u03cc\u03b3\u03c9 \u03c4\u03c9\u03bd \u03c0\u03b5\u03c1\u03b9\u03bf\u03c1\u03b9\u03c3\u03bc\u03ce\u03bd \u03c4\u03b7\u03c2 \u03b4\u03c9\u03c1\u03b5\u03ac\u03bd \u03ad\u03ba\u03b4\u03bf\u03c3\u03b7\u03c2 \u03c4\u03bf\u03c5 \u03ba\u03bb\u03b5\u03b9\u03b4\u03b9\u03bf\u03cd AccuWeather API, \u03cc\u03c4\u03b1\u03bd \u03b5\u03bd\u03b5\u03c1\u03b3\u03bf\u03c0\u03bf\u03b9\u03b5\u03af\u03c4\u03b5 \u03c4\u03b7\u03bd \u03c0\u03c1\u03cc\u03b3\u03bd\u03c9\u03c3\u03b7 \u03ba\u03b1\u03b9\u03c1\u03bf\u03cd, \u03bf\u03b9 \u03b5\u03bd\u03b7\u03bc\u03b5\u03c1\u03ce\u03c3\u03b5\u03b9\u03c2 \u03b4\u03b5\u03b4\u03bf\u03bc\u03ad\u03bd\u03c9\u03bd \u03b8\u03b1 \u03b5\u03ba\u03c4\u03b5\u03bb\u03bf\u03cd\u03bd\u03c4\u03b1\u03b9 \u03ba\u03ac\u03b8\u03b5 80 \u03bb\u03b5\u03c0\u03c4\u03ac \u03b1\u03bd\u03c4\u03af \u03b3\u03b9\u03b1 \u03ba\u03ac\u03b8\u03b5 40 \u03bb\u03b5\u03c0\u03c4\u03ac."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u03a0\u03c1\u03bf\u03c3\u03b5\u03b3\u03b3\u03af\u03c3\u03c4\u03b5 \u03c4\u03bf\u03bd \u03b4\u03b9\u03b1\u03ba\u03bf\u03bc\u03b9\u03c3\u03c4\u03ae AccuWeather",
"remaining_requests": "\u03a5\u03c0\u03bf\u03bb\u03b5\u03b9\u03c0\u03cc\u03bc\u03b5\u03bd\u03b1 \u03b5\u03c0\u03b9\u03c4\u03c1\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b1 \u03b1\u03b9\u03c4\u03ae\u03bc\u03b1\u03c4\u03b1"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Already configured. Only a single configuration possible."
},
"create_entry": {
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration.\nWeather forecast is not enabled by default. You can enable it in the integration options."
},
"error": {
"cannot_connect": "Failed to connect",
"invalid_api_key": "Invalid API key",
"requests_exceeded": "The allowed number of requests to Accuweather API has been exceeded. You have to wait or change API Key."
},
"step": {
"user": {
"data": {
"api_key": "API Key",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Name"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Falling",
"rising": "Rising",
"steady": "Steady"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Weather forecast"
},
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 80 minutes instead of every 40 minutes."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Reach AccuWeather server",
"remaining_requests": "Remaining allowed requests"
}
}
}
@@ -1,21 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ya configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"create_entry": {
"default": "Algunos sensores no est\u00e1n habilitados de forma predeterminada. Puede habilitarlos en el registro de la entidad despu\u00e9s de la configuraci\u00f3n de la integraci\u00f3n. \nEl pron\u00f3stico del tiempo no est\u00e1 habilitado de forma predeterminada. Puedes habilitarlo en las opciones de integraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_api_key": "Clave de API no v\u00e1lida",
"requests_exceeded": "Se super\u00f3 el n\u00famero permitido de solicitudes a la API de Accuweather. Tiene que esperar o cambiar la clave de API."
}
},
"system_health": {
"info": {
"can_reach_server": "Llegar al servidor de AccuWeather",
"remaining_requests": "Solicitudes permitidas restantes"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"create_entry": {
"default": "Algunos sensores no est\u00e1n habilitados de forma predeterminada. Puedes habilitarlos en el registro de la entidad despu\u00e9s de la configuraci\u00f3n de la integraci\u00f3n.\nLa previsi\u00f3n meteorol\u00f3gica no est\u00e1 habilitada de forma predeterminada. Puedes habilitarla en las opciones de integraci\u00f3n."
},
"error": {
"cannot_connect": "No se pudo conectar",
"invalid_api_key": "Clave API no v\u00e1lida",
"requests_exceeded": "Se ha excedido el n\u00famero permitido de solicitudes a la API de Accuweather. Tienes que esperar o cambiar la Clave API."
},
"step": {
"user": {
"data": {
"api_key": "Clave API",
"latitude": "Latitud",
"longitude": "Longitud",
"name": "Nombre"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Descendente",
"rising": "Creciente",
"steady": "Estable"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Previsi\u00f3n meteorol\u00f3gica"
},
"description": "Debido a las limitaciones de la versi\u00f3n gratuita de la clave API de AccuWeather, cuando habilitas la previsi\u00f3n meteorol\u00f3gica, las actualizaciones de datos se realizar\u00e1n cada 80 minutos en lugar de cada 40 minutos."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Se puede llegar al servidor AccuWeather",
"remaining_requests": "Solicitudes permitidas restantes"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Sidumine juba tehtud. V\u00f5imalik on ainult 1 sidumine."
},
"create_entry": {
"default": "M\u00f5ned andurid ei ole vaikimisi lubatud. Saad neid lubada \u00fcksuse registris p\u00e4rast sidumise seadistamist.\nIlmaprognoos ei ole vaikimisi lubatud. Saad selle lubada sidumise valikutes."
},
"error": {
"cannot_connect": "\u00dchendamine nurjus",
"invalid_api_key": "API v\u00f5ti on vale",
"requests_exceeded": "Accuweatheri API-le esitatud p\u00e4ringute piirarv on \u00fcletatud. Peate ootama (v\u00f5i muutma API v\u00f5tit)."
},
"step": {
"user": {
"data": {
"api_key": "API v\u00f5ti",
"latitude": "Laiuskraad",
"longitude": "Pikkuskraad",
"name": "Sidumise nimi"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Langev",
"rising": "T\u00f5usev",
"steady": "\u00dchtlane"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Ilmateade"
},
"description": "AccuWeather API tasuta versioonis toimub ilmaennustuse lubamisel andmete v\u00e4rskendamine iga 80 minuti j\u00e4rel (muidu 40 minutit)."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00dchendus Accuweatheri serveriga",
"remaining_requests": "Lubatud taotlusi on j\u00e4\u00e4nud"
}
}
}
@@ -1,40 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "D\u00e9j\u00e0 configur\u00e9. Une seule configuration possible."
},
"create_entry": {
"default": "Certains capteurs ne sont pas activ\u00e9s par d\u00e9faut. Vous pouvez les activer dans le registre des entit\u00e9s une fois la configuration de l'int\u00e9gration termin\u00e9e.\nLes pr\u00e9visions m\u00e9t\u00e9orologiques ne sont pas activ\u00e9es par d\u00e9faut. Vous pouvez les activer dans les options de l'int\u00e9gration."
},
"error": {
"cannot_connect": "\u00c9chec de connexion",
"invalid_api_key": "Cl\u00e9 d'API non valide",
"requests_exceeded": "Le nombre autoris\u00e9 de requ\u00eates adress\u00e9es \u00e0 l'API AccuWeather a \u00e9t\u00e9 d\u00e9pass\u00e9. Vous devez attendre ou modifier la cl\u00e9 API."
},
"step": {
"user": {
"data": {
"api_key": "Cl\u00e9 d'API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nom"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Pr\u00e9visions m\u00e9t\u00e9orologiques"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "Acc\u00e8s au serveur AccuWeather",
"remaining_requests": "Demandes restantes autoris\u00e9es"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u05ea\u05e6\u05d5\u05e8\u05ea\u05d5 \u05db\u05d1\u05e8 \u05e0\u05e7\u05d1\u05e2\u05d4. \u05e8\u05e7 \u05ea\u05e6\u05d5\u05e8\u05d4 \u05d0\u05d7\u05ea \u05d0\u05e4\u05e9\u05e8\u05d9\u05ea."
},
"create_entry": {
"default": "\u05d7\u05d9\u05d9\u05e9\u05e0\u05d9\u05dd \u05de\u05e1\u05d5\u05d9\u05de\u05d9\u05dd \u05d0\u05d9\u05e0\u05dd \u05de\u05d5\u05e4\u05e2\u05dc\u05d9\u05dd \u05db\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc. \u05d1\u05d9\u05db\u05d5\u05dc\u05ea\u05da \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05d0\u05d5\u05ea\u05dd \u05d1\u05e8\u05d9\u05e9\u05d5\u05dd \u05d4\u05d9\u05e9\u05d5\u05d9\u05d5\u05ea \u05dc\u05d0\u05d7\u05e8 \u05ea\u05e6\u05d5\u05e8\u05ea \u05d4\u05e9\u05d9\u05dc\u05d5\u05d1.\n \u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d4\u05d0\u05d5\u05d5\u05d9\u05e8 \u05d0\u05d9\u05e0\u05d4 \u05de\u05d5\u05e4\u05e2\u05dc\u05ea \u05db\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc. \u05d1\u05d9\u05db\u05d5\u05dc\u05ea\u05da \u05dc\u05d4\u05e4\u05e2\u05d9\u05dc \u05d0\u05ea \u05d6\u05d4 \u05d1\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05d4\u05e9\u05d9\u05dc\u05d5\u05d1."
},
"error": {
"cannot_connect": "\u05d4\u05d4\u05ea\u05d7\u05d1\u05e8\u05d5\u05ea \u05e0\u05db\u05e9\u05dc\u05d4",
"invalid_api_key": "\u05de\u05e4\u05ea\u05d7 API \u05dc\u05d0 \u05d7\u05d5\u05e7\u05d9",
"requests_exceeded": "\u05d0\u05d9\u05e8\u05e2\u05d4 \u05d7\u05e8\u05d9\u05d2\u05d4 \u05de\u05de\u05e1\u05e4\u05e8 \u05d4\u05d1\u05e7\u05e9\u05d5\u05ea \u05d4\u05de\u05d5\u05ea\u05e8 \u05dc-API \u05e9\u05dc Accuweather. \u05e2\u05dc\u05d9\u05da \u05dc\u05d4\u05de\u05ea\u05d9\u05df \u05d0\u05d5 \u05dc\u05e9\u05e0\u05d5\u05ea \u05d0\u05ea \u05de\u05e4\u05ea\u05d7 \u05d4-API."
},
"step": {
"user": {
"data": {
"api_key": "\u05de\u05e4\u05ea\u05d7 API",
"latitude": "\u05e7\u05d5 \u05e8\u05d5\u05d7\u05d1",
"longitude": "\u05e7\u05d5 \u05d0\u05d5\u05e8\u05da",
"name": "\u05e9\u05dd"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\u05e9\u05d5\u05e7\u05e2\u05ea",
"rising": "\u05d6\u05d5\u05e8\u05d7\u05ea",
"steady": "\u05d9\u05e6\u05d9\u05d1"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d4\u05d0\u05d5\u05d5\u05d9\u05e8"
},
"description": "\u05d1\u05e9\u05dc \u05de\u05d2\u05d1\u05dc\u05d5\u05ea \u05d4\u05d2\u05d9\u05e8\u05e1\u05d4 \u05d4\u05d7\u05d9\u05e0\u05de\u05d9\u05ea \u05e9\u05dc \u05de\u05e4\u05ea\u05d7 \u05d4-API \u05e9\u05dc AccuWeather, \u05db\u05d0\u05e9\u05e8 \u05ea\u05e4\u05e2\u05d9\u05dc \u05ea\u05d7\u05d6\u05d9\u05ea \u05de\u05d6\u05d2 \u05d0\u05d5\u05d5\u05d9\u05e8, \u05e2\u05d3\u05db\u05d5\u05e0\u05d9 \u05e0\u05ea\u05d5\u05e0\u05d9\u05dd \u05d9\u05d1\u05d5\u05e6\u05e2\u05d5 \u05db\u05dc 80 \u05d3\u05e7\u05d5\u05ea \u05d1\u05de\u05e7\u05d5\u05dd \u05db\u05dc 40 \u05d3\u05e7\u05d5\u05ea."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u05d4\u05e9\u05d2\u05ea \u05e9\u05e8\u05ea AccuWeather",
"remaining_requests": "\u05d4\u05d1\u05e7\u05e9\u05d5\u05ea \u05d4\u05e0\u05d5\u05ea\u05e8\u05d5\u05ea \u05de\u05d5\u05ea\u05e8\u05d5\u05ea"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "M\u00e1r konfigur\u00e1lva van. Csak egy konfigur\u00e1ci\u00f3 lehets\u00e9ges."
},
"create_entry": {
"default": "Egyes \u00e9rz\u00e9kel\u0151k alap\u00e9rtelmez\u00e9s szerint nincsenek enged\u00e9lyezve. Az integr\u00e1ci\u00f3s konfigur\u00e1ci\u00f3 ut\u00e1n enged\u00e9lyezheti \u0151ket az entit\u00e1s rendszerle\u00edr\u00f3 adatb\u00e1zis\u00e1ban.\nAz id\u0151j\u00e1r\u00e1s-el\u0151rejelz\u00e9s alap\u00e9rtelmez\u00e9s szerint nincs enged\u00e9lyezve. Ezt az integr\u00e1ci\u00f3s be\u00e1ll\u00edt\u00e1sokban enged\u00e9lyezheti."
},
"error": {
"cannot_connect": "Sikertelen csatlakoz\u00e1s",
"invalid_api_key": "\u00c9rv\u00e9nytelen API kulcs",
"requests_exceeded": "Accuweather API-hoz enged\u00e9lyezett lek\u00e9r\u00e9sek sz\u00e1ma t\u00fal lett l\u00e9pve. Meg kell v\u00e1rnia m\u00edg a tilt\u00e1s lej\u00e1r vagy m\u00f3dos\u00edtania kell az API-kulcsot."
},
"step": {
"user": {
"data": {
"api_key": "API kulcs",
"latitude": "Sz\u00e9less\u00e9g",
"longitude": "Hossz\u00fas\u00e1g",
"name": "Elnevez\u00e9s"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Cs\u00f6kken\u0151",
"rising": "Emelked\u0151",
"steady": "\u00c1lland\u00f3"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Id\u0151j\u00e1r\u00e1s el\u0151rejelz\u00e9s"
},
"description": "Az AccuWeather API-kulcs ingyenes verzi\u00f3j\u00e1nak korl\u00e1tai miatt az id\u0151j\u00e1r\u00e1s-el\u0151rejelz\u00e9s enged\u00e9lyez\u00e9sekor az adatok friss\u00edt\u00e9se 40 perc helyett 80 percenk\u00e9nt t\u00f6rt\u00e9nik."
}
}
},
"system_health": {
"info": {
"can_reach_server": "\u00c9rje el az AccuWeather szervert",
"remaining_requests": "Fennmarad\u00f3 enged\u00e9lyezett k\u00e9r\u00e9sek"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Sudah dikonfigurasi. Hanya satu konfigurasi yang diizinkan."
},
"create_entry": {
"default": "Beberapa sensor tidak diaktifkan secara default. Anda dapat mengaktifkannya di registri entitas setelah konfigurasi integrasi.\nPrakiraan cuaca tidak diaktifkan secara default. Anda dapat mengaktifkannya di opsi integrasi."
},
"error": {
"cannot_connect": "Gagal terhubung",
"invalid_api_key": "Kunci API tidak valid",
"requests_exceeded": "Jumlah permintaan yang diizinkan ke API Accuweather telah terlampaui. Anda harus menunggu atau mengubah Kunci API."
},
"step": {
"user": {
"data": {
"api_key": "Kunci API",
"latitude": "Lintang",
"longitude": "Bujur",
"name": "Nama"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Turun",
"rising": "Naik",
"steady": "Tetap"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Prakiraan cuaca"
},
"description": "Karena keterbatasan versi gratis kunci API AccuWeather, ketika Anda mengaktifkan prakiraan cuaca, pembaruan data akan dilakukan setiap 80 menit, bukan setiap 40 menit."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Keterjangkauan server AccuWeather",
"remaining_requests": "Sisa permintaan yang diizinkan"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Gi\u00e0 configurato. \u00c8 possibile una sola configurazione."
},
"create_entry": {
"default": "Alcuni sensori non sono abilitati per impostazione predefinita. Puoi abilitarli nel registro delle entit\u00e0 dopo la configurazione dell'integrazione.\nLe previsioni del tempo non sono abilitate per impostazione predefinita. Puoi abilitarlo nelle opzioni di integrazione."
},
"error": {
"cannot_connect": "Impossibile connettersi",
"invalid_api_key": "Chiave API non valida",
"requests_exceeded": "\u00c8 stato superato il numero consentito di richieste all'API di Accuweather. \u00c8 necessario attendere o modificare la chiave API."
},
"step": {
"user": {
"data": {
"api_key": "Chiave API",
"latitude": "Latitudine",
"longitude": "Logitudine",
"name": "Nome"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "In diminuzione",
"rising": "In aumento",
"steady": "Stabile"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Previsioni del tempo"
},
"description": "A causa delle limitazioni della versione gratuita della chiave API AccuWeather, quando abiliti le previsioni del tempo, gli aggiornamenti dei dati verranno eseguiti ogni 80 minuti anzich\u00e9 ogni 40 minuti."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Raggiungi il server AccuWeather",
"remaining_requests": "Richieste consentite rimanenti"
}
}
}
@@ -1,31 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\u3059\u3067\u306b\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u307e\u3059\u3002\u8a2d\u5b9a\u3067\u304d\u308b\u306e\u306f1\u3064\u3060\u3051\u3067\u3059\u3002"
},
"create_entry": {
"default": "\u4e00\u90e8\u306e\u30bb\u30f3\u30b5\u30fc\u306f\u3001\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u7d71\u5408\u306e\u69cb\u6210\u5f8c\u3001\u30a8\u30f3\u30c6\u30a3\u30c6\u30a3\u30ec\u30b8\u30b9\u30c8\u30ea\u3067\u305d\u308c\u3089\u3092\u6709\u52b9\u306b\u3067\u304d\u307e\u3059\u3002\n\u5929\u6c17\u4e88\u5831\u306f\u30c7\u30d5\u30a9\u30eb\u30c8\u3067\u306f\u6709\u52b9\u306b\u306a\u3063\u3066\u3044\u307e\u305b\u3093\u3002\u7d71\u5408\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u6709\u52b9\u306b\u3067\u304d\u307e\u3059\u3002"
},
"error": {
"cannot_connect": "\u63a5\u7d9a\u306b\u5931\u6557\u3057\u307e\u3057\u305f",
"invalid_api_key": "\u7121\u52b9\u306aAPI\u30ad\u30fc",
"requests_exceeded": "Accuweather API\u3078\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u6570\u304c\u8a31\u53ef\u3055\u308c\u305f\u6570\u3092\u8d85\u3048\u307e\u3057\u305f\u3002\u6642\u9593\u3092\u7f6e\u304f\u304b\u3001API\u30ad\u30fc\u3092\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002"
},
"step": {
"user": {
"data": {
"api_key": "API\u30ad\u30fc",
"latitude": "\u7def\u5ea6",
"longitude": "\u7d4c\u5ea6",
"name": "\u540d\u524d"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather\u30b5\u30fc\u30d0\u30fc\u3078\u306e\u30a2\u30af\u30bb\u30b9",
"remaining_requests": "\u6b8b\u308a\u306e\u8a31\u53ef\u3055\u308c\u305f\u30ea\u30af\u30a8\u30b9\u30c8"
}
}
}
@@ -1,49 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "\uc774\ubbf8 \uad6c\uc131\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \ud558\ub098\uc758 \uc778\uc2a4\ud134\uc2a4\ub9cc \uad6c\uc131\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"error": {
"cannot_connect": "\uc5f0\uacb0\ud558\uc9c0 \ubabb\ud588\uc2b5\ub2c8\ub2e4",
"invalid_api_key": "API \ud0a4\uac00 \uc798\ubabb\ub418\uc5c8\uc2b5\ub2c8\ub2e4",
"requests_exceeded": "Accuweather API\uc5d0 \ud5c8\uc6a9\ub41c \uc694\uccad \uc218\uac00 \ucd08\uacfc\ub418\uc5c8\uc2b5\ub2c8\ub2e4. \uae30\ub2e4\ub9ac\uac70\ub098 API \ud0a4\ub97c \ubcc0\uacbd\ud574\uc57c \ud569\ub2c8\ub2e4."
},
"step": {
"user": {
"data": {
"api_key": "API \ud0a4",
"latitude": "\uc704\ub3c4",
"longitude": "\uacbd\ub3c4",
"name": "\uc774\ub984"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "\ud558\uac15",
"rising": "\uc0c1\uc2b9",
"steady": "\uc548\uc815\ub428"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "\ub0a0\uc528 \uc608\ubcf4"
},
"description": "\ubb34\ub8cc \ubc84\uc804 AccuWeather API \ud0a4\uc758 \uc81c\ud55c\uc73c\ub85c \uc778\ud574 \ub0a0\uc528 \uc608\ubcf4\ub97c \ud65c\uc131\ud654\ud558\uba74 \ub370\uc774\ud130 \uc5c5\ub370\uc774\ud2b8\uac00 40\ubd84\uc774 \uc544\ub2cc 80\ubd84\ub9c8\ub2e4 \uc218\ud589\ub429\ub2c8\ub2e4."
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather \uc11c\ubc84 \uc5f0\uacb0",
"remaining_requests": "\ub0a8\uc740 \ud5c8\uc6a9 \uc694\uccad \ud69f\uc218"
}
}
}
@@ -1,28 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Scho konfigur\u00e9iert. N\u00ebmmen eng eenzeg Konfiguratioun ass m\u00e9iglech."
},
"error": {
"cannot_connect": "Feeler beim verbannen",
"invalid_api_key": "Ong\u00ebltegen API Schl\u00ebssel",
"requests_exceeded": "D\u00e9i zougelooss Zuel vun Ufroen un Accuweather API gouf iwwerschratt. Du muss ofwaarden oder den API Schl\u00ebssel \u00e4nneren."
},
"step": {
"user": {
"data": {
"api_key": "API Schl\u00ebssel",
"latitude": "Breedegrad",
"longitude": "L\u00e4ngegrad",
"name": "Numm"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "AccuWeather Server ereechbar",
"remaining_requests": "Rescht vun erlaabten Ufroen"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Al geconfigureerd. Slechts \u00e9\u00e9n configuratie mogelijk."
},
"create_entry": {
"default": "Sommige sensoren zijn standaard niet ingeschakeld. U kunt ze inschakelen in het entiteitenregister na de integratieconfiguratie.\nWeersvoorspelling is niet standaard ingeschakeld. U kunt deze inschakelen in de integratieopties."
},
"error": {
"cannot_connect": "Kan geen verbinding maken",
"invalid_api_key": "Ongeldige API-sleutel",
"requests_exceeded": "Het toegestane aantal verzoeken aan de Accuweather API is overschreden. U moet wachten of de API-sleutel wijzigen."
},
"step": {
"user": {
"data": {
"api_key": "API-sleutel",
"latitude": "Breedtegraad",
"longitude": "Lengtegraad",
"name": "Naam"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Dalende",
"rising": "Stijgende",
"steady": "Stabiel"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Weersverwachting"
},
"description": "Wanneer je de weersverwachting ingeschakeld zullen updates elke 80 minuten plaatsvinden i.p.v. elke 40 minuten, dit komt door de beperkingen van de gratis versie van de AccuWeather API sleutel."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Kan AccuWeather server bereiken",
"remaining_requests": "Resterende toegestane verzoeken"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Allerede konfigurert. Bare \u00e9n enkelt konfigurasjon er mulig."
},
"create_entry": {
"default": "Noen sensorer er ikke aktivert som standard. Du kan aktivere dem i enhetsregisteret etter integrasjonskonfigurasjonen.\n V\u00e6rmelding er ikke aktivert som standard. Du kan aktivere det i integreringsalternativene."
},
"error": {
"cannot_connect": "Tilkobling mislyktes",
"invalid_api_key": "Ugyldig API-n\u00f8kkel",
"requests_exceeded": "Det tillatte antallet foresp\u00f8rsler til Accuweather API er overskredet. Du m\u00e5 vente eller endre API-n\u00f8kkel."
},
"step": {
"user": {
"data": {
"api_key": "API-n\u00f8kkel",
"latitude": "Breddegrad",
"longitude": "Lengdegrad",
"name": "Navn"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Fallende",
"rising": "Stiger",
"steady": "Jevn"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "V\u00e6rmelding"
},
"description": "P\u00e5 grunn av begrensningene til gratisversjonen av AccuWeather API-n\u00f8kkelen, n\u00e5r du aktiverer v\u00e6rmelding, vil dataoppdateringer utf\u00f8res hvert 80. minutt i stedet for hvert 40. minutt."
}
}
},
"system_health": {
"info": {
"can_reach_server": "N\u00e5 AccuWeather-serveren",
"remaining_requests": "Gjenv\u00e6rende tillatte foresp\u00f8rsler"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "Ju\u017c skonfigurowano. Mo\u017cliwa jest tylko jedna konfiguracja."
},
"create_entry": {
"default": "Niekt\u00f3re sensory nie s\u0105 domy\u015blnie w\u0142\u0105czone. Mo\u017cesz je w\u0142\u0105czy\u0107 w rejestrze encji po skonfigurowaniu integracji.\nPrognoza pogody nie jest domy\u015blnie w\u0142\u0105czona. Mo\u017cesz to w\u0142\u0105czy\u0107 w opcjach integracji."
},
"error": {
"cannot_connect": "Nie mo\u017cna nawi\u0105za\u0107 po\u0142\u0105czenia",
"invalid_api_key": "Nieprawid\u0142owy klucz API",
"requests_exceeded": "Dozwolona liczba zapyta\u0144 do interfejsu API AccuWeather zosta\u0142a przekroczona. Musisz poczeka\u0107 lub zmieni\u0107 klucz API."
},
"step": {
"user": {
"data": {
"api_key": "Klucz API",
"latitude": "Szeroko\u015b\u0107 geograficzna",
"longitude": "D\u0142ugo\u015b\u0107 geograficzna",
"name": "Nazwa"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "malej\u0105ce",
"rising": "rosn\u0105ce",
"steady": "sta\u0142e"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Prognoza pogody"
},
"description": "Ze wzgl\u0119du na ograniczenia darmowej wersji klucza API AccuWeather po w\u0142\u0105czeniu prognozy pogody aktualizacje danych b\u0119d\u0105 wykonywane co 80 minut zamiast co 40 minut."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Dost\u0119p do serwera",
"remaining_requests": "Pozosta\u0142o dozwolonych \u017c\u0105da\u0144"
}
}
}
@@ -1,52 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "J\u00e1 configurado. Apenas uma configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"create_entry": {
"default": "Alguns sensores n\u00e3o s\u00e3o ativados por padr\u00e3o. Voc\u00ea pode habilit\u00e1-los no registro da entidade ap\u00f3s a configura\u00e7\u00e3o da integra\u00e7\u00e3o.\n A previs\u00e3o do tempo n\u00e3o est\u00e1 habilitada por padr\u00e3o. Voc\u00ea pode habilit\u00e1-lo nas op\u00e7\u00f5es de integra\u00e7\u00e3o."
},
"error": {
"cannot_connect": "Falha ao conectar",
"invalid_api_key": "Chave de API inv\u00e1lida",
"requests_exceeded": "O n\u00famero permitido de solicita\u00e7\u00f5es para a API Accuweather foi excedido. Voc\u00ea precisa esperar ou alterar a chave de API."
},
"step": {
"user": {
"data": {
"api_key": "Chave da API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nome"
}
}
}
},
"entity": {
"sensor": {
"pressure_tendency": {
"state": {
"falling": "Caindo",
"rising": "Ascendente",
"steady": "Est\u00e1vel"
}
}
}
},
"options": {
"step": {
"init": {
"data": {
"forecast": "Previs\u00e3o do tempo"
},
"description": "Devido \u00e0s limita\u00e7\u00f5es da vers\u00e3o gratuita da chave API AccuWeather, quando voc\u00ea ativa a previs\u00e3o do tempo, as atualiza\u00e7\u00f5es de dados s\u00e3o realizadas a cada 80 minutos em vez de 40 minutos."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Alcance o servidor AccuWeather",
"remaining_requests": "Solicita\u00e7\u00f5es permitidas restantes"
}
}
}
@@ -1,31 +0,0 @@
{
"config": {
"abort": {
"single_instance_allowed": "J\u00e1 configurado. Apenas uma \u00fanica configura\u00e7\u00e3o \u00e9 poss\u00edvel."
},
"create_entry": {
"default": "Alguns sensores n\u00e3o s\u00e3o ativados por defeito. Podem ser ativados no registo da entidade ap\u00f3s a configura\u00e7\u00e3o da integra\u00e7\u00e3o.\nA previs\u00e3o do tempo n\u00e3o est\u00e1 ativada por defeito. Pode ativ\u00e1-la nas op\u00e7\u00f5es de integra\u00e7\u00e3o."
},
"error": {
"cannot_connect": "A liga\u00e7\u00e3o falhou",
"invalid_api_key": "Chave de API inv\u00e1lida",
"requests_exceeded": "O n\u00famero permitido de pedidos \u00e0 API do Accuweather foi excedido. \u00c9 necess\u00e1rio aguardar ou alterar a chave API."
},
"step": {
"user": {
"data": {
"api_key": "Chave da API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nome"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "Alcance o servidor AccuWeather",
"remaining_requests": "Pedidos permitidos restantes"
}
}
}

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