Commit Graph
73150 Commits
Author SHA1 Message Date
Niklas RothandGitHub 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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub 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 KostonandGitHub 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
5d421e249f YAML loader performance improvements (#111199)
* YAML loader performance improvements

- Cache the name of the loader since we call it multiple
  times for every line

- Add a fast path for scalar tags since they are the
  most common

* Update homeassistant/util/yaml/loader.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* remove unreachable code

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-23 13:37:09 -05:00
J. Nick KostonandGitHub b9ed315cf7 Avoid yalexs_ble delaying startup when the lock is not advertising (#111167) 2024-02-23 13:35:17 -05:00
J. Nick KostonandGitHub b6b5b1f788 Fix race in ESPHome entity test (#111179)
This test relied on the event loop overhead. Change it
to listen for the state to change instead
2024-02-23 13:34:46 -05:00
David F. MulcaheyandGitHub d485e8967b Add device counter entities to ZHA (#111175)
* Add counter entities to the ZHA coordinator device

* rework to prepare for non coordinator device counters

* counter entity test

* update log lines

* disable by default
2024-02-23 13:22:47 -05:00
J. Nick KostonandGitHub 59066c1770 Migrate zha to use Debouncer.async_schedule_call (#111103) 2024-02-23 07:28:23 -10:00
J. Nick KostonandGitHub 3ecbd05ac0 Avoid creating tasks to register hassio panels (#111206)
panel_custom never suspends so we can avoid the overhead of
creating and scheduling tasks
https://github.com/home-assistant/core/blob/e398accc3e2758080a39261adf07a71b9754676e/homeassistant/components/panel_custom/__init__.py#L74

panel_custom.async_register_panel could be converted to a normal function but it
would be a breaking change
2024-02-23 16:50:39 +01:00
J. Nick KostonandGitHub e398accc3e Convert hassio websocket_apis that did not await to normal functions (#111173)
* Convert hassio websocket_apis that did not await to normal functions

* Convert hassio websocket_apis that did not await to normal functions
2024-02-23 15:27:17 +01:00
Marc MuellerandGitHub dd51b0c6cc Update beautifulsoup4 to 4.12.3 (#111195) 2024-02-23 13:42:32 +01:00
Marc MuellerandGitHub 55e39d48eb Update coverage to 7.4.2 (#111194) 2024-02-23 13:22:19 +01:00
Joost LekkerkerkerandGitHub 730d805876 Enable SIM114 ruff rule (#111125) 2024-02-23 13:21:59 +01:00
dependabot[bot]andGitHub 26fac184b4 Bump github/codeql-action from 3.24.3 to 3.24.4 (#111184) 2024-02-23 12:15:42 +01:00
Álvaro Fernández RojasandGitHub d12335a3aa Update AEMET-OpenData to v0.5.1 (#111191)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-23 11:59:09 +01:00
Joakim SørensenandGitHub 512bc7c699 Bump pytraccar from 2.1.0 to 2.1.1 (#111188) 2024-02-23 11:57:41 +01:00
J. Nick KostonandGitHub 70d7f74f35 Convert hardware system status websocket api to a normal function (#111172)
* Convert hardware system status websocket api to a normal function

Nothing is awaited here

* tweak
2024-02-23 11:48:13 +01:00
Andriy KushnirandGitHub 87fed65fb3 Bump roombapy to 1.6.13 (#111187) 2024-02-23 10:42:13 +01:00
J. Nick KostonandGitHub 68d1fbaadc Fix race in openalpr_cloud tests (#111185)
The test would end before setup was finished and the setup
would get cancelled
2024-02-23 09:28:20 +01:00
Jan BouwhuisandGitHub afa4e76248 Optimize mqtt device cleanup (#111170)
Thnx
2024-02-23 07:29:50 +01:00
jjlawrenandGitHub 8d4569ff55 Bump plexapi to 4.15.10 (#111180) 2024-02-23 07:03:07 +01:00
Mike O'DriscollandGitHub eb9eff404d Fix stale sensors for Recollect Waste (#111174) 2024-02-22 22:05:30 -07:00
83859bd342 Rework how shade updates are processed in powerview (#110928)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-22 15:58:37 -10:00
J. Nick KostonandGitHub 98a8714705 Improve error reporting in tplink config flow (#111166)
* Improve error reporting in tplink config flow

* coverage, fixes
2024-02-23 02:38:46 +01:00
Matthew DonougheandGitHub 6712621b95 Update pylutron-caseta to 0.20.0 (#111169) 2024-02-22 14:44:30 -10:00
Christopher BaileyandGitHub ae60f59bed Add metadata for UniFi Protect Media Source (#109389) 2024-02-22 14:44:16 -10:00
ollo69andGitHub f0f3773858 Add base class AndroidTVEntity to AndroidTV (#105945) 2024-02-22 12:38:38 -10:00
2ef71289b9 Avoid creating tasks for dependencies already being setup (#111034)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-22 12:34:46 -10:00
J. Nick KostonandGitHub 32cd3ad862 Fix lingering timer in enphase_envoy test (#111165) 2024-02-22 12:33:44 -10:00
J. Nick KostonandGitHub fb7da1ba83 Simplify ESPHome entity removal process (#111076) 2024-02-22 11:39:53 -10:00
bccd9bd21f Bump brother library to version 4.0.0 (#111157)
* Bump library

* Update code to the new library version

* Improve diagnostics

* Fix tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-22 23:27:24 +02:00
Åke StrandbergandGitHub 3be83bf2f5 Correct myUplink dash replacement (#111143)
* Corrected dash replacement

* Fix comment
2024-02-22 22:26:08 +01:00
J. Nick KostonandGitHub 36c11119cf Refactor Debouncer usage in august (#111102) 2024-02-22 11:23:14 -10:00
Álvaro Fernández RojasandGitHub 78f3f67e3a Update AEMET-OpenData to v0.5.0 (#111155)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-22 21:47:21 +02:00
Christopher FennerandGitHub 88e9870f1c Add number entities to change heat pump program temperatures in ViCare integration (#109315)
* add HeatingProgram type

* use HeatingProgram type

* add heatpump number sensors

* use HeatingProgram type

* Update strings.json

* rename HeatingProgram to Program

* remove commented code

* rename heating program type

* simplify

* Apply suggestions from code review

* Update strings.json

* Update const.py

* fix

* add heating program type

* correct imports

* Revert "fix"

This reverts commit 857dda59da.

* Apply suggestions from code review

* Update strings.json
2024-02-22 18:58:38 +01:00
c1b4a21821 Bump rova to 0.4.0 (#111131)
* Bump rova to 0.4.0

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-22 19:55:45 +02:00
Mr. BubblesandGitHub eeeabfb440 bump bring-api to 0.4.1 (#111149) 2024-02-22 19:54:56 +02:00
J. Nick KostonandGitHub 5bf8086a2b Cache formatting of mac addresses (#111140) 2024-02-22 07:09:56 -10:00
Christopher BaileyandGitHub b740783f8d Bump pyunifiprotect to 4.23.3 (#111059) 2024-02-22 05:57:42 -10:00
Shay LevyandGitHub 6bbd8c7f7b Remove filter of -1 in Shelly block based sensors (#111116) 2024-02-22 17:48:14 +02:00
Artem DraftandGitHub a7a19786cc Handle media position in Bravia TV (#107080)
Handle media position in BraviaTV
2024-02-22 16:22:07 +01:00
Jan-Philipp BeneckeandGitHub ef66560744 Use async_update_reload_and_abort helper in discord (#111104) 2024-02-22 16:11:46 +01:00
Joakim SørensenandGitHub 8f83426895 Revert "Move backup/* WS commands to the backup integration" (#111136)
Revert "Move backup/* WS commands to the backup integration (#110651)"

This reverts commit ec4e6c3a74.
2024-02-22 16:08:30 +01:00
David KnowlesandGitHub 8bf0466151 Bump pydrawise to 2024.2.0 (#111080) 2024-02-22 13:00:25 +01:00
Malte FrankenandGitHub 5f9d46205c Bump georss-qld-bushfire-alert-client to 0.7 (#111075)
* bump georss-qld-bushfire-alert-client to 0.7

* fix tests
2024-02-22 12:58:54 +01:00
Åke StrandbergandGitHub 58269fefea Replace dash with hard hyphen in myuplink entity names (#111074)
Replace dash with hard hyphen in entity names
2024-02-22 12:56:42 +01:00
Álvaro Fernández RojasandGitHub b72d64a3dc Disable AEMET legacy options (#107795)
* aemet: disable legacy options

This enables proper timezone handling:
- Atlantic/Canary for the Canary Islands.
- Europe/Madrid for the Iberian Peninsula.

Also provides daily data for the current day after AEMET stops providing the
full day interval, which is normally after midday (12:00).
This is a breaking change because with the previous behaviour the daily data
for the current day wasn't available after midday and now it will be.
What the integration library does to workaround this is to fallback to the
12-24 interval data if the the 00-24 is no longer provided by the API.

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

* Fix AEMET tests with v0.4.8

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-22 12:52:57 +01:00