Commit Graph

71014 Commits (d5c3c19d12949240c47ab544114125464a59503d)

Author SHA1 Message Date
J. Nick Koston 50edc334de
Refactor sensor recorder _get_sensor_states to check for state class first (#107046)
The state class check is cheap and the entity filter check is much
more expensive, so do the state class check first
2024-01-07 22:36:03 -05:00
J. Nick Koston 0b9992260a
Improve logbook context augment performance (#106926)
Makes LazyEventPartialState a bit lazier since almost all the
properties are never called.
2024-01-07 22:35:28 -05:00
J. Nick Koston d8c6534aff
Refactor recorder for common event case (#106753)
Almost 99% of items that are put into the recorder queue are
Events. Avoid wrapping them in tasks since we have to unwrap
them right away and its must faster to check for both RecorderTask
and Events since events are the common case.
2024-01-07 22:31:40 -05:00
J. Nick Koston 368feec712
Refactor translations to reduce dict lookups (#107425)
* Refactor translations to reduce dict lookups

All of our cache lookups used:

`cache[language][O(component)][category]`

The cache was designed as

`cache[language][component][category][flatted_key]`

The lookups are now

`cache[language][category][O(component)]`

The cache is now stored as

`cache[language][category][component][flatted_key]`

This allows the catch fetch to avoid looking up
the category each loop

* already a set, and we do not mutate
2024-01-07 22:29:27 -05:00
Matthias Alphart f53109f513
Move KNX service registration to `async_setup` (#106635) 2024-01-07 23:26:46 +01:00
Joost Lekkerkerker 426a1511d5
Mark Ring battery and signal strength sensors as diagnostic (#107503) 2024-01-07 23:14:38 +01:00
tronikos 810c6ea5ae
Google Generative AI: Add a service for prompts consisting of text and images using Gemini Pro Vision (#105789)
* Bump google-generativeai to 0.3.1

* Migrate to the new API and default to gemini-pro

* Add max output tokens option

* Add generate_content service

* Add  tests

* additional checks

* async read_bytes

* Add tests for all errors
2024-01-07 16:21:27 -05:00
Marc Mueller fd52172c33
Improve harmony typing (#107447) 2024-01-07 09:35:55 -10:00
Matthias Alphart a9b51f0255
Fix KNX telegram device trigger not firing after integration reload (#107388) 2024-01-07 20:32:17 +01:00
David Bonnes 2a8444b245
Fix evohome high_precision temps not retreived consistently (#107366)
* initial commit

* doctweak

* remove hint

* doctweak
2024-01-07 20:04:14 +01:00
J. Nick Koston 75d591593d
Remove calls to distribution and legacy zip support from package util (#107427) 2024-01-07 07:39:48 -10:00
J. Nick Koston 901b9365b4
Small cleanups to ESPHome callbacks (#107428) 2024-01-07 07:39:33 -10:00
Joost Lekkerkerker 15ce70606f
Add typing to Lutron platforms (#107408)
* Add typing to Lutron platforms

* Update homeassistant/components/lutron/switch.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update homeassistant/components/lutron/__init__.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update homeassistant/components/lutron/entity.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Update homeassistant/components/lutron/scene.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Fix typing

* Fix typing

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-07 17:48:23 +01:00
Cyrill Raccaud 3139e92696
Fix Swiss public transport initial data for attributes (#107452)
faster initial data for attributes
2024-01-07 16:19:58 +01:00
Cyrill Raccaud da8ce7bbf3
Fix local_todo typo (#107454)
local todo typo
2024-01-07 14:20:37 +01:00
G Johansson 840089b8ac
Handle OSError during setup for System Monitor (#107396)
* Handle OSError during setup for System Monitor

* Clean string copy

* debug

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-07 13:15:34 +01:00
Raman Gupta d19037a36b
Clean up zwave_js test_removed_device test (#107346) 2024-01-07 12:26:08 +01:00
Marc Mueller cd8adfc84e
Improve flume typing (#107444) 2024-01-07 11:39:41 +01:00
Joost Lekkerkerker cecb12a93c
Remove name from faa_delays (#107418) 2024-01-07 11:27:13 +01:00
Michael 84b20edeca
Add missing wifi data in AVM!Fritz Tools tests (#107373) 2024-01-07 10:51:31 +01:00
RJPoelstra c833f275d6
Add select platform to Vogel's MotionMount integration (#107132) 2024-01-06 23:44:28 -10:00
Marc Mueller e4ff51fa9a
Enable strict typing for youtube (#107440) 2024-01-07 10:43:54 +01:00
Marc Mueller d8c79964c8
Enable strict typing for waqi (#107439) 2024-01-07 10:43:42 +01:00
Marc Mueller be68feffdd
Enable strict typing for enphase_envoy (#107436) 2024-01-06 23:42:38 -10:00
Marc Mueller 5a39503acc
Enable strict typing for led_ble (#107437) 2024-01-06 23:41:54 -10:00
Marc Mueller de3fde5901
Enable strict typing for oralb (#107438) 2024-01-06 23:41:31 -10:00
Aaron Bach c96f9864c5
Remove leftover Guardian mixin (#107424) 2024-01-06 23:06:45 -07:00
Aaron Bach e446857001
Clean up buggy Guardian `switch` context managers (#107426) 2024-01-06 23:06:28 -07:00
Aaron Bach 50fbcaf20f
Streamline exception handling in Guardian (#107053) 2024-01-06 12:56:19 -10:00
Elvio fce869248c
Update Apprise to 1.7.1 (#107383) 2024-01-06 23:44:20 +01:00
Brandon Rothweiler 3f2170bd06
Bump py-aosmith to 1.0.6 (#107409) 2024-01-06 12:01:11 -10:00
Marc Mueller 4ea8c174f5
Improve homekit_controller typing (#107381) 2024-01-06 11:02:30 -10:00
Ben Morton 427f7a7866
Add support for the Spotify DJ (#107268)
* Add support for the Spotify DJ playlist by mocking the playlist response
Add error handling for playlist lookup to ensure it doesn't break current playback state loading

* Run linters
Add exception type to playlist lookup error handling

* Fix typo in comment

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-06 17:22:46 +01:00
Brandon Rothweiler 4af47a4815
Add diagnostics to A. O. Smith integration (#106343)
* Add diagnostics to A. O. Smith integration

* Bump py-aosmith to 1.0.4

* remove redactions from test fixture
2024-01-06 17:16:24 +01:00
Marc-Olivier Arsenault 94885b9868
remove marcolivierarsenault from ecobee codeowners (#107377) 2024-01-06 16:29:50 +01:00
Josef Zweck 7385da626e
Add new locks automatically to tedee integration (#107372)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* remove other PR stuff

* add pullspring lock to test for coverage

* requested changes
2024-01-06 16:02:07 +01:00
Jan Bouwhuis d6aaaf1f1a
Only mock config_entries.HANDLERS for the current test in mock_config_flow (#107357) 2024-01-06 11:46:12 +01:00
J. Nick Koston 65985c4e0b
Fix name of 64bit intel/amd arch in builder and wheels workflow (#107335) 2024-01-06 11:30:20 +01:00
Sid 9b1a8a1129
enigma2: fix exception when device in deep sleep, fix previous track (#107296)
enigma2: fix exception when device in deep sleep; previous track
2024-01-06 11:18:32 +01:00
Joost Lekkerkerker a03ac3ddcd
Fix passing correct location id to streamlabs water (#107291) 2024-01-06 10:50:06 +01:00
Marc Mueller 3086d33261
Fix rainforest_raven typing (#107309) 2024-01-06 10:41:25 +01:00
Marc Mueller 902d5a79ca
Enable strict typing for p1_monitor (#107301) 2024-01-06 10:38:50 +01:00
Marc Mueller 135a718a0e
Enable strict typing for energyzero (#107300) 2024-01-06 10:33:22 +01:00
Marc Mueller 28c0c2d2ad
Enable strict typing for easyenergy (#107299) 2024-01-06 10:31:55 +01:00
J. Nick Koston 6ff990e2c2
Avoid fetching logger in check_if_deprecated_constant if there is nothing to log (#107341)
getLogger needs a threading lock so its nice to avoid
calling it if we are not going to log anything
2024-01-06 10:20:30 +01:00
J. Nick Koston 851ad21d11
Small cleanup to zeroconf properties matcher (#107342)
* Small cleanup to zeroconf properties matcher

- Switch to dict.items() to avoid dict key lookup
- return early when a match is rejected

* tweak
2024-01-06 10:16:57 +01:00
J. Nick Koston 44018a4183
Use faster identity checks for SupportsResponse Enum (#107351) 2024-01-06 10:12:31 +01:00
Aidan Timson ba60290431
Fix support for play/pause functionality in System Bridge (#103423)
Fix support for play/pause functionality
2024-01-06 10:06:23 +01:00
jimmyd-be ee67c97274
Add time entity to Renson (#105031)
* Add time entity to Renson

* Update homeassistant/components/renson/time.py

Co-authored-by: Robert Resch <robert@resch.dev>

* remove deleted sensors from strings.json

* Fix Ruff issue

* Fixed loading issue

* Try to fix frozen error

* Revert "Try to fix frozen error"

This reverts commit 803104c2925e6d5acecc0a9d45170a0c85ee7f0e.

* Try to fix frozen error

* Revert "Try to fix frozen error"

This reverts commit 8ba2dcce9444fadcf6bf79e86295f93359b6d7b8.

* Update homeassistant/components/renson/time.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Change import + api argument

* use _attr_has_entity_name

* Update homeassistant/components/renson/time.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-06 09:27:34 +01:00
Paulus Schoutsen f1d2868fd0
Add API to fetch Assist devices (#107333)
* Add API to fetch Assist devices

* Revert some changes to fixture, make a single fixture for an Assist device
2024-01-05 23:30:18 -05:00