Commit Graph

69052 Commits (a9a95ad8819b0c93c564b5c34daccf7fee9e758c)

Author SHA1 Message Date
Jan-Philipp Benecke a9a95ad881
Revert "Introduce base entity for ping" (#104682) 2023-11-29 08:42:02 +01:00
Stefan Rado 017d05c03e
Add humidity and aux heat support to ESPHome climate entities (#103807)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-29 17:57:30 +13:00
J. Nick Koston 3c25d95481
Bump aioesphomeapi to 19.2.0 (#104677) 2023-11-29 16:57:39 +13:00
J. Nick Koston de3b608e78
Remove BLE connection state unsubscribe workaround from ESPHome (#104674)
aioesphomeapi now has explict coverage to ensure calling
the unsubscribe function after the connection drops is safe
and will not raise anymore
2023-11-28 23:38:00 +01:00
Alex Hermann bdef0ba6e5
Significantly improve performance for some cases of the history start time state query (#99450)
* recorder: Apply filter in the outer query too

Function _get_start_time_state_for_entities_stmt() produced a query which
is dead-slow in my installation. On analysis, the outer query produced
millions of rows which had to be joined to the subquery. The subquery has
a filter which would eliminate almost all of the outer rows.

To speed up the query, apply the same filter to the outer query, so way
less rows have to be joined.

This reduced the query time on my system from more than half an hour to
mere milliseconds.

* lint

* merge filter

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-28 16:23:49 -06:00
Ville Skyttä 21d842cb58
Fix human readable huawei_lte sensor names (#104672)
Regression from 7c85d84133, #98631
2023-11-28 23:44:35 +02:00
Adrian Huber 2c196baa7a
Add DeviceInfo to Wolf SmartSet Entities (#104642)
* Fix await warning

* Add DeviceInfo to Wolflink sensors

* Remove comment

* Don't pass device name to DeviceInfo

* Use _attr_device_info instead of property
2023-11-28 22:24:25 +01:00
J. Nick Koston 93aa31c835
Bump aioesphomeapi to 19.1.7 (#104644)
* Bump aioesphomeapi to 19.1.5

changelog: https://github.com/esphome/aioesphomeapi/compare/v19.1.4...v19.1.5

- Removes the need to watch for BLE connection drops with a seperate
  future as the library now raises BluetoothConnectionDroppedError when
  the connection drops during a BLE operation

* reduce stack

* .6

* tweak

* 19.1.7
2023-11-28 21:51:35 +01:00
Daniel Hjelseth Høyer 63ef9efa26
Bump pyAdax to 0.4.0 (#104660)
Updata Adax lib

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-11-28 21:22:48 +01:00
mkmer 595663778c
Bump aiosomecomfort to 0.0.24 (#104649)
* Bump aiosomecomfort to 0.0.24

* PascalCase change
2023-11-28 19:34:30 +01:00
c0ffeeca7 9bdf82eb32
Add info what to enter into host field (#104658)
* Add info what to enter into host field

* Fix style
2023-11-28 19:32:11 +01:00
mkmer 56f2f17ed1
Bump aiosomecomfort to 0.0.23 (#104641) 2023-11-28 15:51:47 +01:00
glanch 7533895a3d
Add tag name to `tag_scanned` event data (#97553)
* Add tag name to tag scanned event data

* Make name in event data optional, add test cases for events

* Simplify sanity None check of tag data

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

* Apply suggestions from code review

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-28 13:58:40 +01:00
fwestenberg d3b04a5a58
Add Devialet integration (#86551)
* Add Devialet

* Bump Devialet==1.4.0

* Bump Devialet==1.4.1

* Sort manifest and add shorthand

* Black formatting

* Fix incompatible type

* Add type guarding for name

* Rename host keywork in tests

* Fix Devialet tests

* Add update coordinator

* Update devialet tests

* Create unique_id from entry data
2023-11-28 13:56:17 +01:00
Jan-Philipp Benecke 61a5c0de5e
Use shorthand attributes in HVV departures (#104637)
* Use shorthand attributes in HVV departures

* Apply code review suggestion

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>

* Apply code review sugesstion

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

---------

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 13:44:40 +01:00
fwestenberg 9dc5d4a1bb
Update stookwijzer api to atlas leefomgeving (#103323)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 13:23:51 +01:00
Allen Porter b8cc3349be
Add To-do due date and description fields (#104128)
* Add To-do due date and description fields

* Fix due date schema

* Revert devcontainer change

* Split due date and due date time

* Add tests for config validation function

* Add timezone converstion tests

* Add local todo due date/time and description implementation

* Revert configuration

* Revert test changes

* Add comments for the todo item field description

* Rename function _validate_supported_features

* Fix issues in items factory

* Readability improvements

* Apply suggestions from code review

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

* Rename CONF to ATTR usages

* Simplify local time validator

* Rename TodoListEntityFeature fields for setting extended fields

* Remove duplicate validations

* Update subscribe test

* Fix local_todo tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-28 13:01:12 +01:00
Franck Nijhof 2a4a5d0a07
Update cryptography to 41.0.7 (#104632) 2023-11-28 12:09:12 +01:00
Maciej Bieniek 2d2e215e2c
Fix Tractive switch availability (#104502) 2023-11-28 12:08:12 +01:00
Christopher Fenner 1ef97ab6f8
Set min, max, and step for ViCare number entities (#104593)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-28 10:53:59 +01:00
Christopher Fenner d1463a81d3
Fix async issue in ViCare climate entity (#104619)
* use async executor

* use async executor

* Revert "use async executor"

This reverts commit 4913e05b1c.

* Revert "use async executor"

This reverts commit 40abc10362.

* fix async issue
2023-11-28 10:19:20 +01:00
Franck Nijhof f149c809c2
Add field description for Roku host (#104631)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 10:03:57 +01:00
Teemu R 28a3d36bc1
Remove eq3btsmart integration (#94698) 2023-11-28 09:11:32 +01:00
mkmer d318155f09
Move to new service handeling methods in Blink (#103435) 2023-11-28 08:34:41 +01:00
Allen Porter a1aff5f4a0
Add websocket `todo/item/subscribe` for subscribing to changes to todo list items (#103952)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-28 08:27:51 +01:00
J. Nick Koston e048ad5a62
Bump aioesphomeapi to 19.1.4 (#104629) 2023-11-28 08:20:04 +01:00
J. Nick Koston 7d45227a59
Bump aioesphomeapi to 19.1.3 (#104628)
- small fix for aioesphomeapi-discover
- 100% line coverage for the library
- fix not backing off on encryption errors (fixes #104624)

changelog: https://github.com/esphome/aioesphomeapi/compare/v19.1.1...v19.1.3
2023-11-27 19:48:29 -06:00
Ville Skyttä e594c19c1e
Upgrade huawei-lte-api to 1.7.3 (#104613) 2023-11-27 22:05:46 +01:00
Ville Skyttä fd5cda4ec6
Issue bytes vs str related warnings from tests (#101186) 2023-11-27 21:59:54 +01:00
sdb9696 5cde367366
Bump ring_doorbell to 0.8.3 (#104611) 2023-11-27 21:49:33 +01:00
Ville Skyttä 04ba7fcbf4
Update leftover comment reference from black to ruff (#104605) 2023-11-27 21:42:11 +01:00
Jan-Philipp Benecke 7efc581a48
Remove duplicate fixture from bsblan (#104612) 2023-11-27 21:35:13 +01:00
Aarni Koskela b994141bc6
CI: simplify Ruff-related things (#104602) 2023-11-27 21:23:37 +01:00
On Freund ba33ad6b18
OurGroceries review comments (#104606) 2023-11-27 20:21:07 +01:00
Thijs Putman 360ef894a7
Use non-persistent connection for MPD (#94507)
* Do not use a persistent connection to MPD

In other words, don't rely on the connection management provided by
"python-mpd2". Instead of keeping the connection to MPD open, we
explicitly connect before and disconnect after each command.

There is probably a bit of overhead to this, but as the integration
uses a local-polling approach to begin with, no functionality is lost or
degraded.

This change greatly hardens the MPD integration against both network
issues and problems with the daemon itself. All connection-related
failure modes have effectively been removed.

* Update state retrieval methods

Only "async_get_media_image" attempts to connect, all others are either
called from there, or from the main "async_update" method (see previous
commit) which also attempts to connect.

So, this commit mainly revolves around gracefully handling situations
where no connection is available when trying to retrieve MPD state.

Finally, note the removal of "self._commands". This property is only
used at the start of "_async_get_file_image_response" and was thus
changed into a local variable.

* Update media-player control methods

These all need to explicitly connect to MPD as part of their flow.

* Correct ruff failure (auto-fixed)

* Use "async_timeout.timeout" context manager

* Minor changes

* Replace "async_timeout" with "asyncio.timeout"

* Initialise "self._status" to empty dictionary

Used to be initialised as None, which caused "NoneType is not iterable"
type of issues in case of an unexpected disconnect (at which point
status gets set to None again). Instead of guarding against None
everywhere, using an empty dictionary seemed more prudent...

Furthermore, more cautiously access its members to prevent potential
KeyError-s in similar cases.

* Fix livelock in "async_mute_volume()"

This method doesn't need a connection; it calls into two other methods
that actually connect to MPD – attempting to connect from here resulted
in a livelock.
2023-11-27 18:35:46 +01:00
Ville Skyttä 2a4ab3d53d
Support HTTPS connections to Huawei LTE devices (#86119)
* Support HTTPS connections to Huawei LTE devices

Not all devices support HTTPS, so we default to plain HTTP still.

Ones that do are very likely to have certificates that do not pass
hostname verification, and are either self signed or issued by an
untrusted CA. Add option to use unverified HTTPS to make it possible to
connect to these, and when in effect, filter urllib3's related warnings
about insecure connections to the hostname in question.

* Use common config key and strings for certificate verification settings

Even though the wording might be slightly suboptimal here, it's better
to be consistent across the codebase than to finetune on this level.

This also switches the default the other way around: verification is
now disabled by default. This is not a good general default, but for
this particular case setups where the verification would succeed would
be so rare and require considerable local setup that it's very
unlikely to happen in practice.

* Add config flow tests

* Mock logout for better test coverage

* Set up custom requests session only when using unverified https

* Add https config flow test case

* Make better use of verify SSL default
2023-11-27 18:03:29 +01:00
Pascal Reeb 239d7c9d80
Enable the use of non-encrypted token in Nuki (#104007) 2023-11-27 17:28:13 +01:00
Allen Porter 664aca2c68
Fix rainbird duplicate devices (#104528)
* Repair duplicate devices added to the rainbird integration

* Apply suggestions from code review

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

* Update tests/components/rainbird/test_init.py

* Remove use of config_entry.async_setup

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-27 07:43:03 -08:00
J. Nick Koston 74d7d02833
Bump aiohttp-fast-url-dispatcher to 0.3.0 (#104592) 2023-11-27 09:04:04 -06:00
Christopher Fenner a5934e9acc
Handle preset change errors in ViCare integration (#103992) 2023-11-27 15:35:43 +01:00
Aarni Koskela 706add4a57
Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Robert Resch cf9b0e804f
Deprecate legacy api auth provider (#104409)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:16:18 +01:00
Matthias Alphart 5550dcbec8
Add textual representation entities for Fronius status codes (#94155)
* optionally decouple `EntityDescription.key` from API response key

this makes it possible to have multiple entities for a single API response field

* Add optional `value_fn` to EntityDescriptions

eg. to be able to map a API response value to a different value (status_code -> message)

* Add inverter `status_message` entity

* Add meter `meter_location_description` entity

* add external battery state

* Make Ohmpilot entity state translateable

* use built-in StrEnum

* test coverage

* remove unnecessary checks

None is handled before
2023-11-27 13:59:25 +01:00
Marc Mueller ba8e2ed7d6
Improve picnic typing (#104587) 2023-11-27 13:13:02 +01:00
epenet a5fd479608
Bump sfrbox-api to 0.0.8 (#104580) 2023-11-27 12:30:51 +01:00
Maciej Bieniek 855c2da64e
Bump `gios` to version 3.2.2 (#104582) 2023-11-27 12:15:55 +01:00
CodingSquirrel b4553f19a1
Poll econet water heater once an hour (#90961) 2023-11-27 11:16:10 +01:00
mkmer 669b347ed1
Add init test to Blink (#103263) 2023-11-27 11:13:40 +01:00
Joost Lekkerkerker ccc8804906
Bump aiowithings to 2.0.0 (#104579) 2023-11-27 10:53:41 +01:00
ufodone 9907e11b03
Remove code owner for envisalink integration (#103864) 2023-11-27 09:59:18 +01:00