Commit Graph

63147 Commits

Author SHA1 Message Date
Erik Montnemery
5d138b64d9 Improve test coverage of script (#94883) 2023-06-19 22:40:49 +02:00
boozer2
51326bd8c7 Add Switchbot Indoor/Outdoor Meter (#94836)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-06-19 13:35:44 -05:00
Jan Bouwhuis
8b6d2fc3ce Remove unreachable template validation for imap config flow (#94862) 2023-06-19 20:20:10 +02:00
Jan Bouwhuis
ce8217acf5 Explicitly opt-in to device name in the imap integration (#94861) 2023-06-19 19:58:41 +02:00
Erik Montnemery
5303bef83e Add image entity component (#90564) 2023-06-19 17:03:48 +02:00
Erik Montnemery
43c4dec3ed Explicitly opt-in to device name in the demo integration (#94647) 2023-06-19 15:56:48 +02:00
Erik Montnemery
3ee63ba2c2 Add tests for kitchen_sink sensor platform (#94724)
* Add tests for kitchen_sink sensor platform

* Address review comments
2023-06-19 14:16:18 +02:00
Erik Montnemery
e49c2fde14 Add tests for kitchen_sink lock platform (#94723) 2023-06-19 13:24:36 +02:00
Mike Heath
d3bf52c136 Register Fully Kiosk services regardless of setup result (#88647)
* Register services at integration level

If HA is unable to connect to Fully Kiosk, the services don't get
registered. This can cause repair to create notifications saying
that the 'fully_kiosk.load_url' service is unknown.

Fixes #85444

* Validate config entry is loaded

* Refactor service invocation

Raises `HomeAssistantError` when the user provides an device id that is
not in the device registry or a device that is not a Fully Kiosk
device. If the device's config entry is not loaded, a warning is
logged.

* Update homeassistant/components/fully_kiosk/services.py

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

* Assert HomeAssistantError when integration unloaded

* Remove unused import

* Set CONFIG_SCHEMA

* Update homeassistant/components/fully_kiosk/__init__.py

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

* Add test for non fkb devices targets in service calls

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-06-19 13:12:04 +02:00
J. Nick Koston
a027a01535 Log a traceback when importing a component fails (#94778)
`2023-06-17 12:44:37.961 ERROR (MainThread) [homeassistant.setup] Setup failed for switchbot: Unable to import component: cannot import name DEFAULT_CIPHERS from urllib3.util.ssl_ (/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/urllib3/util/ssl_.py)` is not very helpful as it does not show which module tried to import.

adding a traceback makes it more obvious, and since ImportError is usually not something
the user can easily solve, it makes issue reports much more helpful

```
DEFAULT_CIPHERS from urllib3.util.ssl_ (/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/urllib3/util/ssl_.py)
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/setup.py", line 213, in _async_setup_component
    component = integration.get_component()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/loader.py", line 813, in get_component
    ComponentProtocol, importlib.import_module(self.pkg_path)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/Cellar/python@3.11/3.11.3/Frameworks/Python.framework/Versions/3.11/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/Users/bdraco/home-assistant/homeassistant/components/switchbot/__init__.py", line 5, in <module>
    import switchbot
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/switchbot/__init__.py", line 22, in <module>
    from .devices.lock import SwitchbotLock
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/switchbot/devices/lock.py", line 12, in <module>
    import boto3
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/boto3/__init__.py", line 16, in <module>
    from boto3.session import Session
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/boto3/session.py", line 17, in <module>
    import botocore.session
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/session.py", line 29, in <module>
    import botocore.credentials
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/credentials.py", line 34, in <module>
    from botocore.config import Config
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/config.py", line 16, in <module>
    from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/endpoint.py", line 22, in <module>
    from botocore.awsrequest import create_request_object
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/awsrequest.py", line 24, in <module>
    import botocore.utils
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/utils.py", line 32, in <module>
    import botocore.httpsession
  File "/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/botocore/httpsession.py", line 10, in <module>
    from urllib3.util.ssl_ import (
ImportError: cannot import name DEFAULT_CIPHERS from urllib3.util.ssl_ (/Users/bdraco/home-assistant/venv/lib/python3.11/site-packages/urllib3/util/ssl_.py)
```
2023-06-19 13:10:39 +02:00
Maciej Bieniek
c7e460ccab Return None as BraviaTV media_player/remote entity name (#94804) 2023-06-19 12:04:50 +02:00
Maciej Bieniek
546139e491 Return None as Accuweather weather entity name (#94803) 2023-06-19 12:04:25 +02:00
J. Nick Koston
80d4f90e70 Add missing abort string to apple_tv (#94818) 2023-06-19 11:51:39 +02:00
Joost Lekkerkerker
a7f3bde3ac Add Twitch codeowner (#94851) 2023-06-19 11:51:04 +02:00
Erik Montnemery
17797c04c3 Explicitly opt-in to device name in the uptime integration (#94846) 2023-06-19 11:47:54 +02:00
Erik Montnemery
c7d636a371 Explicitly opt-in to device name in the season integration (#94845) 2023-06-19 11:47:44 +02:00
Erik Montnemery
76a5e6d7ce Explicitly opt-in to device name in the cpuspeed integration (#94844) 2023-06-19 11:47:29 +02:00
Erik Montnemery
e6a7ff97c8 Explicitly opt-in to device name in the cast integration (#94847) 2023-06-19 11:04:59 +02:00
J. Nick Koston
24add59d15 Bump zeroconf to 0.69.0 (#94828)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.68.0...0.69.0
2023-06-19 07:39:03 +02:00
Maciej Bieniek
15ddf69c6a Bump Shelly backend library to version 5.4.0 (#94829)
Bump aioshelly to version 5.4.0
2023-06-19 00:10:29 +02:00
Ernst Klamer
13a217ad89 Bump bthome to 2.12.0 (#94822) 2023-06-18 15:06:09 -05:00
J. Nick Koston
5834d70037 Bump zeroconf to 0.68.0 (#94786) 2023-06-18 09:33:42 -05:00
starkillerOG
ee7f44b3da Bump reolink-aio to 0.7.1 (#94761) 2023-06-18 13:13:21 +02:00
Richard Kroegel
52f49fc32d bmw_conected_drive: Allow WASHING_FLUID in condition based service (#94762)
Allow WASHING_FLUID
2023-06-18 09:19:31 +02:00
Joost Lekkerkerker
9f83e4b2de Make YouTube select lower quality thumbnails (#94652)
* Make YouTube select lower quality thumbnails

* Make YouTube select lower quality thumbnails

* Make YouTube select lower quality thumbnails

* Make YouTube select lower quality thumbnails

* Add tests

* Add tests

* Add tests

* Add tests

* Add tests
2023-06-17 21:59:06 -04:00
Eric Severance
7f7b7aee6d pyWeMo serialnumber is deprecated, use serial_number (#94791) 2023-06-17 20:59:19 -04:00
Ian Foster
0513117a11 Add hub to keyboard_remote manifest (#94788)
added hub to keyboard_remote manifest
2023-06-17 23:07:18 +02:00
J. Nick Koston
be638d3772 Bump recommended esphome version for bluetooth to 2023.6.0 (#94773)
2023.6.0 is needed for #94138 to work
2023-06-17 16:23:33 -04:00
J. Nick Koston
b5e1d35e18 Bump cryptography to 41.0.1 and PyOpenSSL to 23.2.0 (#94777)
changelog: https://cryptography.io/en/latest/changelog/
changelog: https://www.pyopenssl.org/en/latest/changelog.html
2023-06-17 16:23:06 -04:00
disforw
71e8ee52e5 Fix QNAP Sensor Entity Descriptions (#94749) 2023-06-17 16:06:28 +02:00
Allen Porter
c4284c07b6 Allow scripts to capture service response data in variables (#94757)
* Allow scripts service actions to save return values

* Simplify script service response data

* Rename result_variable to response_variable based on feedback
2023-06-16 22:59:44 -04:00
Erik Montnemery
4f669b326f Fix typo in tts tests (#94725) 2023-06-16 21:08:14 -04:00
J. Nick Koston
68cf796be8 Speed up entity service calls (#94731)
* Speed up entity service calls

- Avoid permissions check if the caller is an admin
- Use set intersection instead of linear search of entity platforms to find entities

* tweak

* fix light test to not use an admin user
2023-06-16 21:07:57 -04:00
Michał Modzelewski
3778e1cd77 Support launching app deep links in apple_tv integration (#94705) 2023-06-16 13:05:46 -05:00
Jan Čermák
d7755a92c3 Fix warning from rapt_ble caused by payload version 2 (#94718) 2023-06-16 12:12:52 -05:00
Allen Porter
84c66b3cad Add support for services to return data (#94401)
* Add support for service calls with resopnse data.

Update the service calls to allow returning responses with data,
with an initial use case supporting basic service calls usable
within script.

* Revert enttiy platform/component changes

* Remove unnecessary comma diff

* Revert additional unnecessary changes

* Simplify service call

* Simplify and fix typing and revert whitespace

* Clarify typing intent

* Revert more entity service calls

* Revert additional entity service changes

* Set blocking=True for group notify service call

* Revert unnecessary changes

* Reverting more whitespace changes

* Revert more service changes

* Add test coverage for None return case

* Add parameter to service calls indicating return values were requested

* Update tests/test_core.py

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

* Add additional service call tests

* Update test comment

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-06-16 12:43:35 -04:00
Allen Porter
12129e9d21 Update service call return values and error handling (#94657)
* Update return signature of service calls

* Add timeout error handling in websocket api for service calls

* Update recorder tests to remove assertion on service call

* Remove timeout behavior and update callers that depend on it today

* Fix tests

* Add missing else

* await coro directly

* Fix more tests

* Update the intent task to use wait instead of timeout

* Remove script service call limits and limit constants

* Update tests that depend on service call limits

* Use wait instead of wait_for and add test

* Update homeassistant/helpers/intent.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-06-16 07:01:40 -07:00
Erik Montnemery
950b25bf42 Remove unnecessary assert from Entity (#94711) 2023-06-16 14:07:25 +02:00
Erik Montnemery
92bba4d7be Fix typo in binary_sensor tests (#94712) 2023-06-16 13:57:42 +02:00
Matthias Alphart
0ac50b4933 Update xknxproject to 3.2.0: support ETS 4 project files (#94692)
Update xknxproject to 3.2.0
2023-06-16 10:16:31 +02:00
Tom Harris
ea0e1c54d6 Handle Insteon events correctly (#94549)
Make events generalized
2023-06-16 09:35:44 +02:00
Raman Gupta
934e1a1603 Fix zwave_js trigger event reattach logic (#94702) 2023-06-16 09:35:29 +02:00
Alistair Tudor
843a15b1bb Fix unit for Habitica text sensors (#94550) 2023-06-16 09:33:02 +02:00
Joost Lekkerkerker
4eefbfd4f2 Add strings for YouTube reauthentication (#94655) 2023-06-16 09:10:55 +02:00
G Johansson
72c1273d25 Fix Command Line update twice issue (#94672)
Command Line update twice issue
2023-06-16 09:08:51 +02:00
Franck Nijhof
be05a749c5 Add preheating HVAC action to climate (#94677)
* Add preheating HVAC action to climate

* Fix MQTT tests
2023-06-15 22:16:12 -04:00
J. Nick Koston
26be0fab78 Fix debouncer not scheduling timer when wrapped function raises (#94689)
* Fix debouncer not scheduling timer when callback function raises

* test coro as well

* preen
2023-06-15 22:15:49 -04:00
J. Nick Koston
34b725bb99 Debounce discoveries to improve event loop stability at the started event (#94690)
* Debounce discoveries to improve event loop stability at the started event

The first one is immediate and anything that fires within the next
second will be debounced to only happen once every second

* fix mock
2023-06-15 22:15:07 -04:00
J. Nick Koston
7e3510800d Bump bluetooth-data-tools to 1.2.0 (#94696)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.1.0...v1.2.0

benchmark (0.4.0) currently in 2023.6.x: Parsing 100000 bluetooth messages took 8.928823958034627 seconds
benchmark (1.2.0) this PR: Parsing 100000 bluetooth messages took 1.6808899159659632 seconds
2023-06-15 22:11:14 -04:00
Dirk Sarodnick
3440c1615d Fix bluetooth tracker asyncio usage (#94695)
* fix for asyncio usage

fixes the error "Passing coroutines is forbidden, use tasks explicitly", caused by passing an async function into asyncio.wait directly instead of creating a task for it.

* removes unnecessary default param

* corrects formatting for black
2023-06-15 22:10:04 -04:00