1
0
mirror of https://github.com/home-assistant/core.git synced 2025-08-11 06:20:01 +00:00
Commit Graph

190 Commits

Author SHA1 Message Date
J. Nick Koston
bb30bfa225 Reduce zeroconf matcher complexity () 2023-12-23 11:04:05 +01:00
Aarni Koskela
706add4a57 Switch formatting from black to ruff-format ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
Erik Montnemery
50e11a7a37 Tweak loader.resolve_dependencies () 2023-11-12 17:27:32 +01:00
Erik Montnemery
97cc05d0b4 Make it possible to restart core in safe mode () 2023-10-24 14:47:58 +02:00
Erik Montnemery
c481fdb7d0 Rename safe mode to recovery mode () 2023-10-23 20:33:08 +02:00
Erik Montnemery
17779c5f0c Add loader.async_suggest_report_issue and loader.async_get_issue_tracker ()
* Add loader.async_suggest_report_issue and loader.async_get_issue_tracker

* Update tests

* Add tests

* Address review comments

* Address review comments
2023-10-04 13:40:33 +02:00
Artur Pragacz
e1771ae01e Fix circular dependancy detection ()
* Fix _async_component_dependencies

Fix bug with circular dependency detection
Fix bug with circular after_dependency detection
Simplify interface and make the code more readable

* Implement review feedback

* Pass all conflicting deps to Exception

* Change inner docstring

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-09-28 08:05:00 +02:00
J. Nick Koston
e5ebba0753 Fix module check in _async_get_flow_handler ()
We should have been checking for the module in hass.data[DATA_COMPONENTS]
and not hass.config.components as the check was ineffective if there were
no existing integrations instances for the domain which is the case for
discovery or when the integration is ignored
2023-09-04 14:19:10 -04:00
Erik Montnemery
7643820e59 Add loader.async_get_loaded_integration ()
* Add loader.async_get_loaded_integration

* Decorate async_get_loaded_integration with @callback
2023-09-04 14:12:33 +02:00
Ville Skyttä
6399d74c15 Remove unnnecessary pylint configs from core () 2023-08-22 23:12:12 +02:00
Erik Montnemery
91faa53843 Don't allow hass.config.config_dir to be None () 2023-08-16 13:00:14 +02:00
Erik Montnemery
3b9d6f2dde Add setup function to the component loader ()
* Add setup function to the component loader

* Update test

* Setup the loader in safe mode and in check_config script
2023-08-15 10:59:42 +02:00
Erik Montnemery
f809ce9033 Update bind_hass docstring to discourage its use () 2023-07-20 13:34:24 +02:00
J. Nick Koston
53fe74e055 Reduce overhead to fetch integrations ()
We call this path over and over during startup and most
of the time the integration is already loaded. We want
that case to be the short path
2023-05-29 20:58:51 -04:00
J. Nick Koston
d5a0824924 Use futures instead of asyncio.Event for async_get_integrations ()
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-05-14 14:42:04 -05:00
rlippmann
3a72054f93 Make dataclasses in HA core slotted () 2023-04-11 07:58:28 -10:00
epenet
611d4135fd Add ComponentProtocol to improve type checking () 2023-03-31 14:19:58 -04:00
epenet
ba23816a0c Inverse json import logic ()
* Fix helpers and util

* Adjust components

* Move back errors

* Add report

* mypy

* mypy

* Assert deprecation messages

* Move test_json_loads_object

* Adjust tests

* Fix rebase

* Adjust pylint plugin

* Fix plugin

* Adjust references

* Adjust backup tests
2023-02-16 11:37:57 +01:00
J. Nick Koston
c83ea297b5 Refactor zeroconf task handling ()
* Refactor zeroconf task handling

- Avoid the need to create tasks for most callbacks
- Fixes the untracked task that could get unexpectedly GCed

* be consistant

* be consistant

* fix zeroconf tests

* runtime

* Revert "runtime"

This reverts commit 19e6b61837.

* precalc

* refactor

* tweak

* update tests
2023-02-15 21:44:11 -05:00
epenet
a202588fd2 Add return type to json_loads ()
* Add JSON type definitions

* Sample use

* Keep mutable for a follo-up PR (avoid dead code)

* Use list/dict

* Remove JsonObjectType

* Remove reference to Union

* Cleanup

* Improve rest

* Rename json_dict => json_data

* Add docstring

* Add type hint to json_loads

* Add cast

* Move type alias to json helpers

* Cleanup

* Create and use json_loads_object

* Make error more explicit and add tests

* Use JsonObjectType in conversation

* Remove quotes
2023-02-07 17:21:55 +01:00
Franck Nijhof
ca1a12898c Enable Ruff D212 () 2023-02-03 23:08:48 +01:00
Franck Nijhof
79b52a2b41 Stricter pylint message control () 2023-01-20 13:47:55 +01:00
Franck Nijhof
64c2340fab Core code styling improvements () 2023-01-15 23:00:51 +01:00
Franck Nijhof
b0cee0bc46 String formatting and max line length - Part 1 ()
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
Bram Kragten
9ed31bb8df fix integration descriptions () 2022-10-26 12:39:23 +02:00
Franck Nijhof
bb287dd0ed Integrations v2.1: Virtual integrations () 2022-10-20 23:09:06 -04:00
Paulus Schoutsen
5cb8749ae3 Fix custom components not working with integration descriptions () 2022-10-20 13:25:24 -04:00
Franck Nijhof
c4bbc439a5 Integrations v2.1: Differentiating hubs, devices and services ()
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02:00
Erik Montnemery
b173ae7f44 Add support for integrations v2 ()
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 11:31:48 -04:00
Erik Montnemery
cce23683f1 Add additional integration_type options for integration manifests ()
* Add additional integration_type options for integration manifests

* Rename integration_type internal to system
2022-09-28 14:17:39 +02:00
Erik Montnemery
27599ea0ee Minor tweaks of hassfest and loader.py () 2022-09-22 21:54:22 -04:00
Joakim Sørensen
0caf998547 Bump awesomeversion from 22.6.0 to 22.8.0 () 2022-08-28 14:52:23 -04:00
J. Nick Koston
c76dec138a Discover new bluetooth adapters when they are plugged in () 2022-08-22 15:45:08 -10:00
J. Nick Koston
3938015c93 Add support for scanners that do not provide connectable devices () 2022-08-22 14:02:26 -04:00
J. Nick Koston
bbb9443b00 Fix bluetooth integration matching with service_data_uuids and service_uuids ()
* 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
J. Nick Koston
91f2550bc3 Change manufacturer_data_first_byte to manufacturer_data_start () 2022-07-17 17:25:45 -05:00
J. Nick Koston
61cc9f5288 Consolidate executor jobs when loading integration manifests () 2022-07-14 13:06:08 -07:00
J. Nick Koston
a697672944 Add bluetooth integration ()
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-08 18:55:31 -05:00
J. Nick Koston
cb46bb5bfa Revert "Partially revert "Switch loader to use json helper ()" ()" () 2022-06-28 09:34:56 +02:00
Franck Nijhof
21b842cf9c Partially revert "Switch loader to use json helper ()" () 2022-06-28 00:48:18 +02:00
J. Nick Koston
164eba7e5d Switch loader to use json helper () 2022-06-22 21:57:38 -05:00
Raman Gupta
ae01ec02e2 Allow custom integrations to support application_credentials platform () 2022-05-01 16:26:22 -07:00
Paulus Schoutsen
3213091b8d Add integration type () 2022-03-20 20:38:13 -07:00
Marc Mueller
be7ef6115c Make TypeVars private (1) () 2022-03-17 18:52:38 +01:00
J. Nick Koston
076fe97110 Strict typing for dhcp () 2022-02-28 18:49:44 -10:00
Marc Mueller
8d2fb72cc3 Add type ignore error codes [core] () 2022-02-17 23:09:22 -08:00
J. Nick Koston
f069a37f7d Allow integrations to request dhcp discovery flows for registered devices () 2022-02-15 11:02:52 -06:00
J. Nick Koston
5b755b74fb Add loggers to integration manifest.json () 2022-01-28 13:37:53 -08:00
Paulus Schoutsen
24546dfdf9 Catch all exceptions on import component/platform () 2022-01-25 20:39:32 -08:00
Marc Mueller
12757a8cd2 Update typing - collections.abc (1) ()
* Update typing - collections.abc (1)

* Additional typing updates
2022-01-12 07:56:35 +01:00