Commit graph

57183 commits

Author SHA1 Message Date
IceBotYT
55cf3b60eb
Add light platform to Nice G.O. (#124019)
* Add light platform to Nice G.O.

* Update homeassistant/components/nice_go/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-18 15:57:05 +02:00
Eric Trudeau
69843e9ac4
Add support for Levoit EverestAir air purifiers (#123428) 2024-08-18 15:42:05 +02:00
Antoine Reversat
1afed8ae15
Add Fujitsu FGLair integration (#109335)
* Add support for Fujitsu HVAC devices

* Add the entity code to .coveragerc

* Only include code that can fail in the try/except block

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove empty keys from manifest

* Remove VERSION as it's already the default

* Remve the get_devices function and use asyncio.gather to parallelize dev updates

* Move initial step to a function

* Let KeyError bubble up. If we are passed an invalid mode it's probably worth raising an exception.

* Await the gather

* Use the async version of the refresh_auth call

* Use the serial number as unique id

* Use HA constant for precision

* Use dev instead of self._dev

* Move to property decorated methods

* Remove bidict dependency

* Setup one config entry for our api credentials instead of per device

* Remove bidict from requirements

* Signout and remove our api object on unload

* Use app credentials from ayla_iot_unofficial

* Use entry_id as a key to store our API object

* Delete unused code

* Create reverse mappings from forward mapping instead of hardcoding them

* Clean up the property methods

* Only import part of config_entries we are using

* Implement suggested changes

* Fix tests to use new API consts

* Add support for reauth

* Use a coordinator instead of doing per-entity refresh

* Auto is equivalent to HEAT_COOL not AUTO

* Add ON and OFF to list of supported features

* Use the mock_setup_entry fixture for the reauth tests

* Parametrize testing of config flow exceptions

* Only wrap fallable code in try/except

* Add tests for coordinator

* Use self.coordinator_context instead of self._dev.device_serial_number

* Move timeout to ayla_iot_unofficial

* Add description for is_europe field

* Bump version of ayla-iot-unofficial

* Remove turn_on/turn_off warning

* Move coordinator creating to __init__

* Add the type of coordinator to the CoordiatorEntity

* Update docstring for FujitsuHVACDevice constructor

* Fix missed self._dev to dev

* Abort instead of showing the form again with an error when usernames are different

* Remove useless argument

* Fix tests

* Implement some suggestions

* Use a device property the maps to the coordinator data

* Fix api sign out when unloading the entry

* Address comments

* Fix device lookup

* Move API sign in to coordinator setup

* Get rid of FujitsuHVACConfigData

* Fix async_setup_entry signature

* Fix mock_ayla_api

* Cleanup common errors

* Add test to check that re adding the same account fails

* Also patch new_ayla_api in __init__.py

* Create a fixture to generate test devices

* Add a setup_integration function that does the setup for a mock config entry

* Rework unit tests for the coordinator

* Fix typos

* Use hass session

* Rework reauth config flow to only modify password

* Update name to be more use-friendly

* Fix wrong type for entry in async_unload_entry

* Let TimeoutError bubble up as teh base class handles it

* Make the mock ayla api return some devices by default

* Move test to test_climate.py

* Move tests to test_init.py

* Remove reauth flow

* Remove useless mock setup

* Make our mock devices look real

* Fix tests

* Rename fujitsu_hvac to fujitsu_fglair and rename the integration to FGLair

* Add the Fujitsu brand

* Add a helper function to generate an entity_id from a device

* Use entity_id to remove hardcoded entity ids

* Add a test to increase code coverage

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-18 15:37:33 +02:00
cdnninja
10c27c3189
Add Alt Core300s model to vesync integration (#124091) 2024-08-18 15:36:03 +02:00
Duco Sebel
565f271c5c
Bumb python-homewizard-energy to 6.3.0 (#124150) 2024-08-18 15:21:04 +02:00
Michael
0c5a3fab22
Cleanup the Fritz!Smarthome light entity (#123488)
* use self.data when ever possible

* use short hand attributes for color mode and supported color modes

* color mode can change during runtime

* group executer jobs
2024-08-18 14:53:35 +02:00
Daniel Rozycki
04b0760e27
Skip NextBus update if integration is still loading (#123564)
* Skip NextBus update if integration is still loading

Fixes a race between the loading thread and
update thread leading to an unrecoverable error

* Use async_at_started

* Use local copy of _route_stops to avoid NextBus race condition

* Update homeassistant/components/nextbus/coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-18 14:24:44 +02:00
MarkGodwin
e3287b93a5
Bump tplink-omada-api to 1.4.2 (#124136)
Fix for bad pre-registered clients
2024-08-18 14:23:47 +02:00
Maciej Bieniek
ec0012209d
Add missing sensors for Shelly Plus RGBW PM (#123589)
* Add missing sensors for Shelly Plus RGBW PM

* Add tests
2024-08-18 12:58:51 +03:00
Michael
59d72bb4ed
Use better config validation for integrations with legacy setup method, but only config entry setup (#123203)
use config_entry_only_config_schema over cv.removed

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-18 00:49:39 +02:00
Allen Porter
d72d4286db
Bump nest to 4.0.7 to increase subscriber deadline (#124131)
Bump nest to 4.0.7
2024-08-17 12:11:19 -07:00
Jordi
23fb4b50c9
Add brand selection to support additional brands who use the same API for AquaCell integration (#121817)
* Support harvey brand

* Update tests

* Moved the brand selection step to the same step as credentials

* Update tests/components/aquacell/test_init.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-17 20:45:24 +02:00
Erik Montnemery
08a76133c2
Simplify water_heater.set_temperature service schema (#124101) 2024-08-17 19:24:35 +02:00
J. Nick Koston
08234efedf
Bump aiohomekit to 3.2.3 (#124115) 2024-08-17 10:32:58 -05:00
Artem Draft
85a47ffb68
Bump pybravia to 0.3.4 (#124113) 2024-08-17 16:30:26 +02:00
Erik Montnemery
a7bca9bcea
Use BIGINT SQL type for ID columns (#123973)
Redo recorder ID migration from INT to BIGINT
2024-08-17 11:01:14 +02:00
Maciej Bieniek
69700f068f
Migrate back from pysnmp-lextudio to pysnmp (#123579) 2024-08-16 16:57:10 -05:00
Kim de Vos
a8a7d01a84
Add temperature sensors for unifi device (#122518)
* Add temperature sensors for device

* Move to single line

* Use right reference

* Always return a value

* Update tests

* Use slugify for id name

* Return default value if not present

* Make _device_temperature return value

* Add default value if temperatures is None

* Set value to go over all code paths

* Add test for no matching temperatures

* make first part deterministic
2024-08-16 21:37:24 +02:00
dontinelli
8a110abc82
Bump fyta_cli to 0.6.0 (#123816)
* Bump fyta_cli to 0.5.1

* Code adjustments to enable strit typing

* Update homeassistant/components/fyta/__init__.py

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

* Update diagnostics

* Update config_flow + init (ruff)

* Update sensor

* Update coordinator

* Update homeassistant/components/fyta/diagnostics.py

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

* Update homeassistant/components/fyta/diagnostics.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Set one ph sensor to null/none

* Update sensor

* Clean-up (ruff)

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-16 17:46:37 +02:00
Joost Lekkerkerker
06209dd94c
Bump ruff to 0.6.0 (#123985) 2024-08-16 16:54:20 +02:00
J. Nick Koston
c8b0c939e4
Ensure event entities are allowed for linked homekit config via YAML (#123994) 2024-08-16 16:48:59 +02:00
Joost Lekkerkerker
e8d57bf636
Bump aiomealie to 0.8.1 (#124047) 2024-08-16 16:48:33 +02:00
Joost Lekkerkerker
0cb0af496e
Re-enable concord232 (#124000) 2024-08-16 16:46:58 +02:00
Mr. Bubbles
ea4443f79e
Add statistics import to Ista EcoTrend integration (#118788)
* Add statistics import to Ista EcoTrend integration

* Use decorator for fixtures

* define recorder as after_dependency

* Increase test coverage

* remember initial statistic_id

* fix type checking
2024-08-16 16:12:15 +02:00
J. Nick Koston
c717e7a6f6
Bump bluetooth-adapters to 0.19.4 (#124018)
Fixes a call to enumerate USB devices that did blocking
I/O
2024-08-16 07:12:17 -05:00
Sid
738cc5095d
Bump openwebifpy to 4.2.7 (#123995)
* Bump openwebifpy to 4.2.6

* Bump openwebifpy to 4.2.7

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-16 13:53:11 +02:00
Matthias Alphart
ea52acd7bd
Fix loading KNX integration actions when not using YAML (#124027)
* Fix loading KNX integration services when not using YAML

* remove unnecessary comment

* Remove unreachable test
2024-08-16 13:43:02 +02:00
Jan Bouwhuis
183c191d63
Allow raw mqtt payload to be in mqtt publish action (#123900)
* Publish raw rendered mqtt payload as raw for mqtt publish action

* Move check out of try block

* Only try to eval `bytes` is payload starts with supported string

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Improve docst

* Add `evaluate_bytes` option to publish action

* Rename to `evaluate_payload`

* Update homeassistant/components/mqtt/strings.json

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Extend test to assert literal_eval is called or not

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-16 13:34:14 +02:00
Erik Montnemery
99ab2566c2
Correct water heater service schemas (#124038)
* Correct water heater service schemas

* Update tests
2024-08-16 12:58:05 +02:00
WebSpider
461ef33553
Bump meteoalert to 0.3.1 (#123848)
Bump meteoalertapi to 0.3.1
2024-08-16 12:27:20 +02:00
Mr. Bubbles
4b62dcfd19
Improve rate limit handling in Habitica integration (#121763)
* Adjustments to requests and update interval due to rate limiting

* Use debounced refresh for to-do lists

* Use debounced refresh in switch and buttons

* Request refresh only if a to-do was changed

* Update task order provisionally in the coordinator
2024-08-16 11:41:04 +02:00
Andre Lengwenus
6d9764185b
Bump pypck to 0.7.21 (#124023) 2024-08-16 09:22:00 +02:00
Robert Svensson
a944541c58
Bump aiounifi to v80 (#124004) 2024-08-15 21:36:06 -05:00
Brett Adams
2f8766a9ec
Fix rear trunk logic in Tessie (#124011)
Allow open to be anything not zero
2024-08-15 23:52:18 +02:00
Austin Mroczek
142469be95
TotalConnect state attribute deprecation warning (#122320)
* add warning comment

* make comments smaller and put at top

* Update homeassistant/components/totalconnect/alarm_control_panel.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-15 20:25:56 +02:00
Mr. Bubbles
7d552b64f7
Use clearCompletedTodos API endpoint for deleting Habitica todos (#121877)
Use clearCompletedTodos endpoint for deleting multiple completed todo items
2024-08-15 20:06:23 +02:00
Noah Husby
65fa4a34ed
Add configuration url to russound device (#124001)
feat: add configuration url
2024-08-15 20:05:28 +02:00
dougiteixeira
f581066747
Add config flow for platform number in Template (#121849)
* Add config flow to select platform in Template

* Remove device id duplicate in schema

* Add config flow for number platform in Template

* Remove mode
2024-08-15 20:02:51 +02:00
Noah Husby
29c0a7f324
Bump aiorussound to 2.3.2 (#123997) 2024-08-15 19:23:35 +02:00
Mr. Bubbles
bf9d621939
Revert "Rename sensor to finished downloads in pyLoad integration" (#121483)
Revert "Rename sensor to finished downloads in pyLoad integration (#120483)"

This reverts commit 8e598ec3ff.
2024-08-15 19:09:21 +02:00
Erik Montnemery
64a68b17f4
Simplify recorder.migration._drop_foreign_key_constraints (#123968) 2024-08-15 11:58:52 -05:00
IceBotYT
46357519e0
Add Nice G.O. integration (#122748)
* Convert Linear Garage Door to Nice G.O.

* Remove useless fixtures

* Update manifest (now cloud push! 🎉)

* Fix entry unload

* Extend config entry type

* Fix circular import

* Bump nice-go (hopefully fix dep conflict)

* Bump nice-go (moves type stubs to dev deps)

* Remove lingering mentions of Linear

* Add nice-go as logger

* Convert nice_go into a new integration and restore linear_garage_door

* Add missing new lines to snapshots

* Fixes suggested by @joostlek

* More fixes

* Fixes

* Fixes

* Fix coordinator tests

* Move coordinator tests

* Move test_no_connection_state from test_cover to test_init

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-15 18:46:06 +02:00
G Johansson
24a20c75eb
Add options flow to File (#120269)
* Add options flow to File

* Review comments
2024-08-15 18:21:07 +02:00
Michael
e39bfeac08
Allow shared Synology DSM Photo albums shown in media browser (#123613) 2024-08-15 18:18:05 +02:00
Glenn Waters
a50aeb0a66
Environment Canada weather format fix (#123960)
* Add missing isoformat.

* Move fixture loading to common conftest.py

* Add deepcopy.
2024-08-15 16:14:01 +02:00
Philip Vanloo
983806817b
Add ArtSound as a virtual integration (#122636)
* Add ArtSound as a virtual integration and brand

* Remove ArtSound as brand

* Add docstring for __init__

* Address hassfest
2024-08-15 15:48:02 +02:00
cnico
21c9cd1caa
Add switch platform to chacon_dio integration (#122514)
* Adding switch platform for dio devices

* Remove useless logger

* Review corrections

* review corrections
2024-08-15 15:44:49 +02:00
Erik Montnemery
f72d9a2c02
Raise on database error in recorder.migration._modify_columns (#123642)
* Raise on database error in recorder.migration._modify_columns

* Improve test coverage
2024-08-15 14:46:23 +02:00
Erik Montnemery
ab163c356f
Bump pyhomeworks to 1.1.1 (#123981) 2024-08-15 12:39:01 +02:00
Brett Adams
b3399082a8
Gold quality for Tesla Fleet (#122235)
gold quality
2024-08-15 11:33:31 +02:00