Commit Graph
71040 Commits
Author SHA1 Message Date
J. Nick KostonandGitHub da9fc77333 Save the HassJob type in wemo discovery to avoid checking it each time (#107998) 2024-01-13 23:50:21 -05:00
J. Nick KostonandGitHub 8d3f693907 Avoid useless time fetch in DataUpdateCoordinator (#107999)
* Avoid useless time fetch in DataUpdateCoordinator

Since we used the async_call_at helper, it would always call dt_util.utcnow()
to feed the _handle_refresh_interval which threw it away. This meant we had
to fetch time twice as much as needed for each update

* tweak

* compat

* adjust comment
2024-01-13 23:40:07 -05:00
J. Nick KostonandGitHub 9033f1f3e8 Break long lines in powerwall integration (#108002) 2024-01-14 04:22:17 +01:00
J. Nick KostonandGitHub 659ee51914 Refactor event time trackers to avoid using nonlocal (#107997) 2024-01-13 17:17:55 -10:00
J. Nick KostonandGitHub e7c25d1c36 Migrate powerwall unique ids to use the gateway din (#107509) 2024-01-13 16:17:37 -10:00
J. Nick KostonandGitHub e4a15354f4 Fix logger creating many thread locks when reloading the integrations page (#93768)
* Fix logger creating many thread locks

We call getLogger for each integration to get the current
log level when loading the integrations page. This creates
a storm of threading locks

* fixes
2024-01-13 21:11:34 -05:00
J. Nick KostonandGitHub d8564eba17 Bump lxml to 5.1.0 (#106696)
* Bump lxml to 5.0.0

cython 3.0.7+ is required ?

* bump

* Apply suggestions from code review

* 5.1.0
2024-01-13 21:08:42 -05:00
J. Nick KostonandGitHub 454c62b5b4 Avoid total_seconds conversion every state write when context is set (#107617) 2024-01-13 21:04:32 -05:00
J. Nick KostonandGitHub bc2738c3a1 Avoid entity registry check in live logbook on each state update (#107622)
Avoid entity registry fetch in live logbook

There is no need to check the entity registry for the
state class since we already have the state
2024-01-13 21:04:04 -05:00
J. Nick KostonandGitHub f1228a1cfb Add H5106 support to govee-ble (#107781)
* Bump govee-ble to 0.27.0

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.26.0...v0.27.0

note: H5106 is partially supported, full support will be added in another PR + docs

* .1

* Add Govee H5106 support

* 0.27.2

* commit the tests
2024-01-13 21:02:38 -05:00
J. Nick KostonandGitHub 9c82df4b98 Fix duplicate config entry additions in tests (#107984)
zha and plex still add the same config entry multiple times
but they are going to need seperate PRs as they have more
complex logic
2024-01-13 21:01:18 -05:00
Marc MuellerandGitHub 3c1e2e17a0 Use prometheus_client module directly (#107918) 2024-01-14 02:56:22 +01:00
Dorian BenechandGitHub 2584de6324 Add TICMeter Energy Metering sensors (#107956) 2024-01-13 16:53:53 -05:00
Simone ChemelliandGitHub ef8d394c16 Update sleep period for Shelly devices with buggy fw (#107961)
* update sleep period for Shelly devices with buggy fw

* code quality

* update model list

* add test

* Apply review comments

* fix test

* use costant
2024-01-13 22:33:02 +01:00
puddlyandGitHub b0adaece25 Reload ZHA only a single time when the connection is lost multiple times (#107963)
* Reload only a single time when the connection is lost multiple times

* Ignore when reset task finishes, allow only one reset per `ZHAGateway`
2024-01-13 16:32:25 -05:00
J. Nick KostonandGitHub 6ada825805 Use faster is_admin check for websocket state and event subscriptions (#107621) 2024-01-13 10:42:41 -10:00
Marc MuellerandGitHub 5e79a0e583 Enable strict typing for search (#107912) 2024-01-13 10:40:50 -10:00
J. Nick KostonandGitHub 3649cb96de Refactor config entry storage and index (#107590) 2024-01-13 10:34:15 -10:00
J. Nick KostonandGitHub 2c6aa80bc7 Use more shorthand attributes in ESPHome fans (#107923) 2024-01-13 15:28:43 -05:00
J. Nick KostonandGitHub 5a198e05ad Small cleanups to ESPHome (#107924)
- Remove unused variables
- Remove unneeded static info lookups
2024-01-13 15:27:58 -05:00
J. Nick KostonandGitHub b1d0c6a4f1 Refactor User attribute caching to be safer and more efficient (#96723)
* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* modernize

* coverage

* coverage

* verify caching

* verify caching

* fix type

* fix mocking
2024-01-13 15:10:50 -05:00
J. Nick KostonandGitHub d7910841ef Add an index for devices and config entries to the entity registry (#107516)
* Add an index for devices and config entries to the entity registry

* fixes

* tweak

* use a list for now since the tests check order
2024-01-13 14:49:41 -05:00
G JohanssonandGitHub 5d3e069655 Don't load entities for docker virtual ethernet interfaces in System Monitor (#107966) 2024-01-13 20:39:34 +01:00
J. Nick KostonandGitHub 852a73267f Fix atag test mutating config entry after its adding to hass (#107603) 2024-01-13 20:34:49 +01:00
Marc MuellerandGitHub 9221f5da10 Enable strict typing for webhook (#107946) 2024-01-13 09:08:26 -10:00
Antoni CzaplickiandGitHub ca421d4f86 Add support for Uonet+ Vulcan integration on Python 3.12 (#107959)
* Bump vulcan-api to 2.3.2

* Enable vulcan integration on Python 3.12

* Stop skipping tests for vulcan integration on Python 3.12
2024-01-13 19:58:02 +01:00
Daniel GanglandGitHub d5c3c19d12 Bump zamg to 0.3.5 (#107939) 2024-01-13 19:53:28 +01:00
J. Nick KostonandGitHub 1cf96a6558 Remove useless _update function in ESPHome (#107927)
This function is never overwritten so we can remove it
2024-01-13 19:39:27 +01:00
Brett AdamsandGitHub 6cbf1da76a Add charge cable lock to Tessie (#107212)
* Add cable lock

* Translate exception

* Use ServiceValidationError
2024-01-13 19:03:10 +01:00
J. Nick KostonandGitHub 7db8a52c23 Bump aiohomekit to 3.1.3 (#107929)
changelog: https://github.com/Jc2k/aiohomekit/compare/3.1.2...3.1.3

fixes maybe #97888
2024-01-13 18:27:52 +01:00
b1a246b817 Add account sensors to electric kiwi integration (#97681)
* add account sensors

* tidy up same issues as other sensors

* add unit tests for sensors

edit and remove comments

assert state and remove HOP sensor types since they aren't being used

* try and fix tests

* add frozen true

* Update tests/components/electric_kiwi/test_sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* return proper native types

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* tidy up attr unique id

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* add entities once and use native values properly

* Improve conftest

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* tidy tests/components/electric_kiwi/test_sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* add assert to component_setup

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* add extra parameters to test

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update tests/components/electric_kiwi/test_sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Update tests/components/electric_kiwi/test_sensor.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* change coordinator name

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* tidy up sensor translation names

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 18:12:40 +01:00
8395d84bbb Add fan mode support to SmartThings fan entity (#106794)
* Fix the fan to support preset modes

* Add more tests and fix some comments

* Don't override inherited member

* Don't check for supported feature as the check is already performed before here

* Do not check for feature on properties

* Update homeassistant/components/smartthings/fan.py

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Fix tests

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 17:25:26 +01:00
Jan RiegerandGitHub 058759c76a Bump python-holidays to 0.40 (#107888) 2024-01-13 17:21:49 +01:00
Marc MuellerandGitHub 0cc43d0915 Enable strict typing for xiaomi_ble (#107948) 2024-01-13 16:57:54 +01:00
Arie CatsmanandGitHub 45fec1d404 Bump pyenphase to 1.17.0 (#107950) 2024-01-13 16:53:48 +01:00
G JohanssonandGitHub 1d2c23d81c Skip disk types in System Monitor (#107943)
* Skip disk types in System Monitor

* change back
2024-01-13 14:34:24 +01:00
G JohanssonandGitHub c49246dd07 Fix duplicate unique id in System Monitor (again) (#107947)
Fix duplicate unique id in System Monitor
2024-01-13 13:48:02 +01:00
Erik MontnemeryandGitHub 24c23d7323 Warn if integrations call async_show_progress without passing a task (#107796) 2024-01-13 11:56:05 +01:00
Joost LekkerkerkerandGitHub 9471f81a18 Give name to Netatmo device snapshots (#107938) 2024-01-13 11:09:47 +01:00
Joost LekkerkerkerandGitHub f601104418 Snapshot Netatmo devices (#107935) 2024-01-13 10:59:36 +01:00
Joost LekkerkerkerandGitHub 902619a4db Add snapshot tests to Netatmo platforms (#107932)
* Add snapshot tests to Netatmo platforms

* Add snapshot tests to Netatmo platforms
2024-01-13 10:18:21 +01:00
J. Nick KostonandGitHub 0458bd68d9 Avoid duplicate search for existing config entries in homekit_controller (#107613) 2024-01-12 22:11:42 -10:00
Marc MuellerandGitHub 7c98c1e544 Enable strict typing for rest_command (#107911) 2024-01-13 08:48:42 +01:00
Marc MuellerandGitHub ca1aaacc90 Enable strict typing for system_log (#107914) 2024-01-12 21:21:11 -10:00
Joost LekkerkerkerandGitHub 7bcfcfef5f Improve Netatmo tests (#107902)
* Improve Netatmo tests

* Improve Netatmo tests
2024-01-12 23:27:31 +01:00
Jan-Philipp BeneckeandGitHub 68698cacac Remove deprecated YAML support from litejet (#107884) 2024-01-12 16:50:15 -05:00
J. Nick KostonandGitHub 71aecab38b Revert "Restrict Version Disclosure to Authenticated Requests in Home Assistant" (#107904) 2024-01-12 11:06:59 -10:00
J. Nick KostonandGitHub a7d21c709d Bump orjson to 3.9.10 (#107898) 2024-01-12 11:06:44 -10:00
J. Nick KostonandGitHub 3a4c64b0a7 Fix missing timeout exception check in powerwall config flow (#107899)
* Fix missing timeout exception check in powerwall config flow

powerwall recently switched to asyncio, and every place we
check for unreachable we need to check for timeout error.
There was one missed

```
09:08 homeassistant homeassistant[546]: 2024-01-12 10:09:08.899 ERROR (MainThread) [homeassistant.components.powerwall.config_flow] Unexpected exception
Jan 12 20:09:08 homeassistant homeassistant[546]: Traceback (most recent call last):
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 168, in _async_try_connect
Jan 12 20:09:08 homeassistant homeassistant[546]:     info = await validate_input(self.hass, user_input)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 76, in validate_input
Jan 12 20:09:08 homeassistant homeassistant[546]:     site_info, gateway_din = await _login_and_fetch_site_info(
Jan 12 20:09:08 homeassistant homeassistant[546]:                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 43, in _login_and_fetch_site_info
Jan 12 20:09:08 homeassistant homeassistant[546]:     await power_wall.login(password)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 58, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.login_as(User.CUSTOMER, password, email, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 49, in login_as
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._api.login(user, email, password, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 172, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 146, in post
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._http_session.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 601, in _request
Jan 12 20:09:08 homeassistant homeassistant[546]:     await resp.start(conn)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 960, in start
Jan 12 20:09:08 homeassistant homeassistant[546]:     with self._timer:
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/helpers.py", line 735, in __exit__
Jan 12 20:09:08 homeassistant homeassistant[546]:     raise asyncio.TimeoutError from None
Jan 12 20:09:08 homeassistant homeassistant[546]: TimeoutError

```

* cov
2024-01-12 21:39:27 +01:00
XiteeandGitHub 86e608d04f Handle missing fields from Roomba (#107893)
Add default values to mission_stats and run_stats
2024-01-12 21:35:09 +01:00