Commit graph

73194 commits

Author SHA1 Message Date
J. Nick Koston
dd80157dc7
Load translations at setup time if they were not loaded at bootstrap (#110921) 2024-02-24 11:31:25 -10:00
Jan-Philipp Benecke
076ae22fdd
Freeze time in aemet diagnostics test (#111308) 2024-02-24 16:26:16 -05:00
J. Nick Koston
93a76ab519
Fix profiler.lru_stats always throwing an exception (#111249)
Remove IntegrationMatcher as its now a slotted class and cannot
be examined with the current methods (we also likely do not need
to optimize it anymore)

```
  File "/usr/src/homeassistant/homeassistant/components/profiler/__init__.py", line 201, in _lru_stats
    for maybe_lru in class_with_lru_attr.__dict__.values():
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IntegrationMatcher' object has no attribute '__dict__'. Did you mean: '__dir__'?
```
2024-02-24 16:26:01 -05:00
J. Nick Koston
bccab1bad7
Fix workday blocking the event loop (#111310)
- Avoid calling list_supported_countries to setup workday
- Only call list_supported_countries in executor in the config flow
2024-02-24 22:22:07 +01:00
Robert Svensson
efc89cd34f
Unifi websocket manager (#111041)
* Move hub into .hub.hub

* Move websocket to own module

* Minor shuffle
2024-02-24 16:20:59 -05:00
Jan-Philipp Benecke
d796085923
Bump pydiscovergy to 3.0.0 (#111305) 2024-02-24 22:07:46 +01:00
Ben Hoff
adf4392c0a
Bump opower to 0.3.1 (#111307)
bump opower instance
2024-02-24 21:56:20 +01:00
Rami Mosleh
a65d9c17c4
Fix async_validate_location arguments order (#111277)
fix `async_validate_location` arguments order
2024-02-24 21:43:00 +01:00
G Johansson
c45cae3665
Remove obsolete entities from System Monitor automatically (#111231)
* Remove obsolete entities from System Monitor automatically

* callback
2024-02-24 20:50:53 +01:00
Joost Lekkerkerker
47b7dd4a01
Set Lutron switch to device name (#111293) 2024-02-24 20:18:06 +01:00
Minims
597118d584
Add ECO temp to Generic Thermostat (#110471)
feat: add ECO temp to Generic Thermostat.
2024-02-24 20:17:22 +01:00
G Johansson
777428c36d
Add diagnostics to System Monitor (#111291)
* Add diagnostics to System Monitor

* Fix
2024-02-24 20:11:11 +01:00
Álvaro Fernández Rojas
57d169582d
Add diagnostics support for AEMET (#111218)
aemet: add diagnostics support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 20:08:50 +01:00
Federico D'Amico
bf9c4197b9
Add light platform to microBees and change docstring in sensor (#111093)
* Add light platform to microBees and change docstring in sensor

* update .coveragerc

* fixes review

* fixes review

* fixes async_add_entities
2024-02-24 20:07:04 +01:00
starkillerOG
9cebbf15f3
Bump motionblinds to 0.6.23 (#111265)
* Bump motionblinds to 0.6.22

* Bump motionblinds to 0.6.23
2024-02-24 20:05:04 +01:00
dougiteixeira
3d72f40aea
Add strings to the options attribute (#111302)
Add strings to the message attribute
2024-02-24 19:23:07 +01:00
steffenrapp
dbf70f9e0a
Nuki add battery critical binary sensor (#111285)
* Update binary_sensor.py

* Update strings.json

* Update homeassistant/components/nuki/binary_sensor.py

Co-authored-by: Pascal Reeb <pascal@reeb.io>

* Update homeassistant/components/nuki/binary_sensor.py

Co-authored-by: Pascal Reeb <pascal@reeb.io>

* Update homeassistant/components/nuki/binary_sensor.py

Co-authored-by: Pascal Reeb <pascal@reeb.io>

---------

Co-authored-by: Pascal Reeb <pascal@reeb.io>
2024-02-24 18:17:42 +01:00
J. Nick Koston
53b12d67f7
Bump yalexs-ble to 2.4.2 (#111247)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.4.1...v2.4.2
2024-02-24 19:04:19 +02:00
Marc Mueller
70790bc614
Update pytest-timeout to 2.2.0 (#111272) 2024-02-24 19:02:15 +02:00
Klaas Schoute
04a6c0b5f2
Bump odp-amsterdam to v6.0.1 (#111296) 2024-02-24 19:00:40 +02:00
Álvaro Fernández Rojas
766596abdc
Add Airzone Cloud Air Quality zone binary sensors (#106573)
* airzone_cloud: add Air Quality binary sensor

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: binary_sensor: rename Air Quality

Add "active" to indicate status.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 08:41:12 -05:00
Álvaro Fernández Rojas
d3d6870c04
Add Airzone Cloud Air Quality zone sensors (#106571)
* airzone-cloud: add Air Quality sensors

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone_cloud: add missing AQI test

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 08:39:53 -05:00
J. Nick Koston
e5ac7970ca
Bump habluetooth to 2.4.1 (#111236)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.4.0...v2.4.1
2024-02-24 08:38:50 -05:00
Marc Mueller
6d10f96980
Update coverage to 7.4.3 (#111267) 2024-02-24 14:37:07 +01:00
Marc Mueller
4e9bfd1f4a
Update pytest-sugar to 1.0.0 (#111271) 2024-02-24 14:35:58 +01:00
Marc Mueller
e7ab416ab9
Update pytest-socket to 0.7.0 (#111270) 2024-02-24 14:35:27 +01:00
Marc Mueller
d70c013ea6
Update pipdeptree to 2.15.1 (#111269) 2024-02-24 08:34:48 -05:00
Cyrill Raccaud
22480a7894
Fix bring! comment pep8 conformity (#111276)
fix bring comment pep8 conformity
2024-02-24 08:18:54 -05:00
Joakim Sørensen
79572c0a5d
Subscribe to Traccar Server events (#111262)
* Subscribe to Traccar Server events

* No need to unsubscribe on error

* typo

* rename _attrs

* arg type

* reorder return type

* more spesific

* Update stale docstring
2024-02-24 12:35:32 +01:00
Maciej Bieniek
ee57c924f2
Bump pysnmp-lextudio library to version 6.0.2 (#111193)
* Bump pysnmp-lextudio to version 6.0.2

* Update gen_requirements_all.py

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-24 11:30:00 +01:00
G Johansson
d08fc1f342
Add debugging to coordinator output in System Monitor (#111244) 2024-02-24 09:36:22 +01:00
J. Nick Koston
883d5a0842
Bump cryptography to 42.0.5 (#111259)
changelog: https://github.com/pyca/cryptography/compare/42.0.3...42.0.5
2024-02-24 08:49:46 +01:00
J. Nick Koston
5d6687503e
Bump orjson to 3.9.15 (#111233)
changelog: https://github.com/ijl/orjson/compare/3.9.14...3.9.15
2024-02-24 08:47:29 +01:00
J. Nick Koston
5b8591ec7e
Avoid reschedule churn in Storage.async_delay_save (#111091)
* Avoid circular import in Storage.async_delay_save

We call Storage.async_delay_save for every entity being added or removed
from the registry. The late import took more time than everything else
in the function.

* Avoid reschedule churn in Storage.async_delay_save

When we are adding or removing entities we will call async_delay_save
quite often which has to add and remove a TimerHandle on the event loop
which can add up when there are a lot of registry items changing.

If the timer handle still has 80% of the time remaining on it
we will avoid resceduling and let it fire at the time the
original async_delay_save call was made. This ensures we
do not force the event loop to rebuild its heapq because
too many timer handlers were cancelled at once

* div0

* add coverage for 0 since we had none

* fix bad conflict

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks

* more test fixes

* mqtt tests rely on event loop overhead
2024-02-24 08:46:00 +01:00
J. Nick Koston
ff0e0b3e77
Convert debouncer async_shutdown to be a normal function (#111257)
* Convert debouncer async_shutdown to be a normal function

nothing was being awaited here and the shutdown call was only used
in integrations marked internal and other internals. Its possible
that a custom component might have been using the method but it
seemed uncommon enough that it did not warrent marking as a breaking
change. The update coordinator is no longer awaiting anything in
async_shutdown either now but it seemed likely that this use
would get subclassed.

* fix
2024-02-24 08:37:33 +01:00
Teemu R
e0490a3ade
Improve tplink authenticate description wording (#111250) 2024-02-23 15:19:28 -10:00
J. Nick Koston
b60ca4260c
Fix bluetooth manager stop missing callback decorator (#111232) 2024-02-23 12:58:55 -10:00
David F. Mulcahey
5d4dc63118
Bump ZHA dependencies (#111227) 2024-02-23 17:57:39 -05:00
J. Nick Koston
40774101d3
Avoid creating task per device when adding legacy device trackers (#111220) 2024-02-23 23:47:43 +01:00
Marc Mueller
5f8ef37f2d
Update pylint to 3.0.4 (#111229)
* Update pylint to 3.0.4

* Use yield from

* Remove unnecessary pylint disable comments
2024-02-23 23:46:00 +01:00
rlippmann
efd1ed86ae
Code improvements for microbees component (#111208) 2024-02-23 12:35:56 -10:00
J. Nick Koston
d9addc45f9
Avoid scheduling a task to add each entity when not using update_before_add (#110951)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-23 10:49:26 -10:00
J. Nick Koston
3aecec5082
Avoid rechecking for missing platforms in the loader (#111204) 2024-02-23 10:48:47 -10:00
G Johansson
9e46c2e2b3
Isolate systemmonitor from psutil shared state (#111110)
* Isolate systemmonitor from psutil shared state

* Mods

* typing

* Fix tests

* Fix read temp issue

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-23 20:53:48 +01:00
Niklas Roth
2ff0102bce
Bump python-hpilo to 4.4.3 (#110325)
* Update hpilo version in requirements_all.txt (#109581)

The issue with the deprecated and now removed ssl.wrap_socket function was fixed years ago in the library

* Update hpilo version in manifest.json (#109581)
2024-02-23 20:51:29 +01:00
J. Nick Koston
125de17a09
Avoid linear search to remove from the entity registry index (#111138)
Avoid linear search to remove from entity registry index

Because the entity registry index needs to preserve insertion order
for backwards compat, a list was used for the index. Because some
config entries/devices/areas have a large amount of entities, removing
the entities, the O(n) time complexity of removing from a list can
slow down reloads. As python has no orderedset in stdlib, use
a dict since it preserves insertion order has O(1) add/remove
time complexity for the average case
2024-02-23 13:57:59 -05:00
J. Nick Koston
b5a2df1951
Refactor keyed event trackers to reduce future refactoring risk (#111150)
* Refactor keyed event trackers to avoid refactoring risk

Follow to https://github.com/home-assistant/core/pull/110978#discussion_r1496771106

I had to do some type ignores because of the EventType vs Event
which is hopefully not going to be needed after the next mypy

* delete constants only used one in other const

* no field

* fixes

* less refactoring later

* less refactoring later

* keep const
2024-02-23 13:55:02 -05:00
J. Nick Koston
5e16602595
Refactor storage collections to reduce tasks during startup (#111182)
* Make adding entities in storage collection a normal function

Nothing is awaited when adding

* cleanup

* cleanup

* cleanup

* cleanup

* reduce

* reduce

* reduce

* reduce

* tweak
2024-02-23 13:50:25 -05:00
J. Nick Koston
b3a8a75e75
Improve performance of filtering HomeKit entities (#111201)
Get the underlying filter with get_filter to avoid the wrapper
2024-02-23 13:42:01 -05:00
J. Nick Koston
3877a56d23
Avoid creating tasks for automation and script validation (#111181)
These functions created tasks to run small validators, and the cost of
creating all the tasks was more expensive than running the validators
themselves. Since the code is unlikely to suspend its more efficient to
await them in series.
2024-02-23 13:41:36 -05:00