Commit Graph

90 Commits (86637f71713f0a55169c1eac27a0e26beb200b62)

Author SHA1 Message Date
Sid ccd2e989c3
Enable ruff RUF005 and fix occurrences (#113589) 2024-03-16 07:37:20 -10:00
Paulus Schoutsen f416d67d21
Remove built-in support for import_executor in manifest (#112725) 2024-03-08 12:02:32 -05:00
Marc Mueller 19ab3d6daf
Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
J. Nick Koston 4ea1c5cc3c
Add support for importing integrations in the executor (#111336)
* Add support for pre-imports at setup time

alternative solution to #111331

* refactor

* refactor

* refactor

* mark >1.0s integrations

* no point in executor if already loaded

* no point in executor if already loaded

* cleanup

* cleanup

* two more

* one more

* analytics loads a lot more integrations

* cloud

* debug

* psutil, hardwre

* try zha

* Update homeassistant/setup.py

* await

* comments

* coverage

* coverage

* coverage

* move logic to loader

* move logic to loader

* preserve comments
2024-02-26 14:49:43 -05:00
Jan-Philipp Benecke baf84b6fba
Add `single_config_entry` manifest option (#109505)
* Allow setting if we support multiple config entries in config flow

* Move property to config flow instead of flow handler

* Move marking an integration as single instance only to manifest

* Revert line remove

* Avoid init a config flow or adding a new entry on a single instance with an entry

* Revert changes in test

* Process code review comments

* Apply code review suggestion
2024-02-26 19:00:33 +01:00
Erik Montnemery b953f2998c
Rename the safe_mode integration to recovery_mode (#102581)
* Rename safe mode integration to recovery mode

* Update code
2023-10-24 09:11:14 +02:00
Raman Gupta 2ad0fd1ce1
Adjust hassfest.manifest based on config.action (#100577) 2023-09-19 17:30:38 +02:00
Erik Montnemery f9b2e10f72
Add new board type (#99334) 2023-08-30 16:37:13 +02:00
Erik Montnemery 7e7cb15d5b
Revert "Allows defining list of attributes excluded from history in manifest.json" (#99300)
Revert "Allows defining list of attributes excluded from history in manifest.json (#99283)"

This reverts commit 0366e14630.
2023-08-30 08:26:26 +02:00
Erik Montnemery 0366e14630
Allows defining list of attributes excluded from history in manifest.json (#99283)
* Move list of attributes excluded from history to manifest.json

* Address comments
2023-08-29 20:14:33 +02:00
Ville Skyttä 6399d74c15
Remove unnnecessary pylint configs from core (#98704) 2023-08-22 23:12:12 +02:00
Ville Skyttä 3094991236
Upgrade ruff to 0.0.285 (#98647) 2023-08-19 08:17:17 -04:00
Franck Nijhof 22d0f4ff0a
Remove legacy discovery integration (#96856) 2023-07-19 07:10:07 +02:00
Franck Nijhof 3e85a29b86
Move overlapping pylint rules to ruff, disable mypy overlap (#94359) 2023-06-27 17:42:46 +02:00
Erik Montnemery 0cfb937d07
Enforce sorting of manifests (#87020) 2023-02-08 21:48:58 +01:00
Franck Nijhof ca1a12898c
Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
epenet 8fbcb93ab4
Use IntEnum for hassfest quality scale (#85817) 2023-01-14 10:19:18 +01:00
epenet e75c85f679
Downgrade integrations without code owner (#85752) 2023-01-13 10:08:15 +01:00
Franck Nijhof 80b3572627
Rename image integration to image_upload (#84063)
* Rename image integration to image_upload

* fix test
2022-12-16 08:16:38 -05:00
Aarni Koskela 16fc2972d3
Remove more useless manifest truthiness checks in hassfest (#82914) 2022-11-29 21:57:58 +01:00
Aarni Koskela 69d519418e
Remove unnecessary truthiness checks for integration.manifest (#82319) 2022-11-28 15:33:14 +01:00
Aarni Koskela 97b40b5f49
Make hassfest strictly typed (#82091) 2022-11-23 19:05:31 +01:00
Erik Montnemery aaec464627
Add support for managing the silabs multiprotocol add-on (#82170)
* Add support for managing the silabs multiprotocol add-on

* Fix passing context when starting option flow

* Allow unloading a ha yellow config entry

* Fix tests

* Log data passed to ZHA option flow

* Improve ZHA migration logic

* Move tests

* Improve test coverage

* Remove dead code

* Drop automatic ZHA migration
2022-11-16 17:38:07 +01:00
Bram Kragten 36bb0bbc1a
Fix `integrations.json` creation, make `iot_standards` a list (#80945) 2022-10-25 13:43:40 +02:00
Franck Nijhof bb287dd0ed
Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04:00
Franck Nijhof c4bbc439a5
Integrations v2.1: Differentiating hubs, devices and services (#80524)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02:00
Erik Montnemery cce23683f1
Add additional integration_type options for integration manifests (#79193)
* Add additional integration_type options for integration manifests

* Rename integration_type internal to system
2022-09-28 14:17:39 +02:00
Joakim Sørensen 0caf998547
Bump awesomeversion from 22.6.0 to 22.8.0 (#77436) 2022-08-28 14:52:23 -04:00
J. Nick Koston 3938015c93
Add support for scanners that do not provide connectable devices (#77132) 2022-08-22 14:02:26 -04:00
Erik Montnemery bb74730e96
Add support for USB dongles to the hardware integration (#76795)
* Add support for USB dongles to the hardware integration

* Update hardware integrations

* Adjust tests

* Add USB discovery for SkyConnect 1.0

* Improve test coverage

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Fix frozen dataclass shizzle

* Adjust test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-08-18 21:52:12 +02:00
Paulus Schoutsen 6e92931087
Add file selector and file upload integration (#76672) 2022-08-18 12:02:12 -04:00
Franck Nijhof f0827a20c3
Add schedule helper (#76566)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-08-11 16:14:01 +02:00
Erik Montnemery 51c3836ec2
Create Repairs based on Alerts (#75397)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-07-27 10:13:16 +02:00
J. Nick Koston bbb9443b00
Fix bluetooth integration matching with service_data_uuids and service_uuids (#75687)
* Fix bluetooth integration with service_data and service_uuids

We would only dispatch a new flow when the address was seen for
the first time or the manufacturer_data appeared in a followup
advertisement. Its also possible for the service_data and
service_uuids to appear in a followup advertisement so we
need to track these as well

* improve logging to avoid overly large messages

* improve logging to avoid overly large messages

* adjust

* adjsut

* split

* coverage

* coverage

* coverage

* coverage

* fix matcher

* more coverage

* more coverage

* more coverage

* revert switchbot changes and move to seperate PR
2022-07-24 16:39:53 -05:00
Franck Nijhof 39dc9aa179
Rename Resolution Center -> Repairs (#75486) 2022-07-20 12:06:52 +02:00
J. Nick Koston 91f2550bc3
Change manufacturer_data_first_byte to manufacturer_data_start (#75379) 2022-07-17 17:25:45 -05:00
J. Nick Koston a697672944
Add bluetooth integration (#74653)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-08 18:55:31 -05:00
Erik Montnemery 0e3f7bc63a
Resolution center MVP (#74243)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-07-07 20:49:07 -07:00
Erik Montnemery e3b6c7a66f
Add Home Assistant Yellow integration (#73272)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-06-13 23:25:11 -07:00
Erik Montnemery 0cca73fb23
Add hardkernel hardware integration (#72489)
* Add hardkernel hardware integration

* Remove debug prints

* Improve tests

* Improve test coverage
2022-05-26 13:15:44 -07:00
Erik Montnemery 2bc093a04d
Hardware integration MVP (#71677) 2022-05-25 20:39:15 +02:00
Allen Porter 00b5d30e24
Add application credentials platform (#69148)
* Initial developer credentials scaffolding
- Support websocket list/add/delete
- Add developer credentials protocol from yaml config
- Handle OAuth credential registration and de-registration
- Tests for websocket and integration based registration

* Fix pydoc text

* Remove translations and update owners

* Update homeassistant/components/developer_credentials/__init__.py

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

* Update homeassistant/components/developer_credentials/__init__.py

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

* Remove _async_get_developer_credential

* Rename to application credentials platform

* Fix race condition and add import support

* Increase code coverage (92%)

* Increase test coverage 93%

* Increase test coverage (94%)

* Increase test coverage (97%)

* Increase test covearge (98%)

* Increase test coverage (99%)

* Increase test coverage (100%)

* Remove http router frozen comment

* Remove auth domain override on import

* Remove debug statement

* Don't import the same client id multiple times

* Add auth dependency for local oauth implementation

* Revert older oauth2 changes from merge

* Update homeassistant/components/application_credentials/__init__.py

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

* Move config credential import to its own fixture

* Override the mock_application_credentials_integration fixture instead per test

* Update application credentials

* Add dictionary typing

* Use f-strings as per feedback

* Add additional structure needed for an MVP application credential

Add additional structure needed for an MVP, including a target
component Xbox

* Add websocket to list supported integrations for frontend selector

* Application credentials config

* Import xbox credentials

* Remove unnecessary async calls

* Update script/hassfest/application_credentials.py

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

* Update script/hassfest/application_credentials.py

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

* Update script/hassfest/application_credentials.py

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

* Update script/hassfest/application_credentials.py

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

* Import credentials with a fixed auth domain

Resolve an issue with compatibility of exisiting config entries when importing
client credentials

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-04-30 08:06:43 -07:00
Paulus Schoutsen 3213091b8d
Add integration type (#68349) 2022-03-20 20:38:13 -07:00
Franck Nijhof aa82f96c16
Use Platform StrEnum in Hassfest manifest plugin (#68234) 2022-03-16 11:21:51 +01:00
Paulus Schoutsen 7c7a86242e
Allow supported brands in manifests (#67015) 2022-02-22 08:42:57 +01:00
J. Nick Koston f069a37f7d
Allow integrations to request dhcp discovery flows for registered devices (#66528) 2022-02-15 11:02:52 -06:00
J. Nick Koston 5b755b74fb
Add loggers to integration manifest.json (#65083) 2022-01-28 13:37:53 -08:00
Paulus Schoutsen 6055cd20c8
Add diagnostics integration (#64330) 2022-01-17 20:42:18 -08:00
Franck Nijhof fc6c0b1d4a
Add input_button (#62008)
* Add input_button

* Update homeassistant/components/input_button/__init__.py

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

* Improve test coverage

* Add reload test: not affecting state

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-12-20 16:18:58 +01:00
J. Nick Koston 615872a5d1
Align zeroconf matching with ZeroconfServiceInfo (#62133) 2021-12-19 02:09:21 -06:00