J. Nick Koston
6173bfe873
Cache commonly called Integration manifest properties ( #108141 )
2024-01-16 21:05:44 +01:00
Joakim Plate
523352c97e
Avoid keeping config dir in path ( #107760 )
2024-01-16 13:38:47 +01:00
J. Nick Koston
bb30bfa225
Reduce zeroconf matcher complexity ( #105880 )
2023-12-23 11:04:05 +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
Erik Montnemery
50e11a7a37
Tweak loader.resolve_dependencies ( #103851 )
2023-11-12 17:27:32 +01:00
Erik Montnemery
97cc05d0b4
Make it possible to restart core in safe mode ( #102606 )
2023-10-24 14:47:58 +02:00
Erik Montnemery
c481fdb7d0
Rename safe mode to recovery mode ( #102580 )
2023-10-23 20:33:08 +02:00
Erik Montnemery
17779c5f0c
Add loader.async_suggest_report_issue and loader.async_get_issue_tracker ( #101336 )
...
* 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 ( #100458 )
...
* 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 ( #99509 )
...
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 ( #99440 )
...
* 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 ( #98704 )
2023-08-22 23:12:12 +02:00
Erik Montnemery
91faa53843
Don't allow hass.config.config_dir to be None ( #98442 )
2023-08-16 13:00:14 +02:00
Erik Montnemery
3b9d6f2dde
Add setup function to the component loader ( #98148 )
...
* 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 ( #96933 )
2023-07-20 13:34:24 +02:00
J. Nick Koston
53fe74e055
Reduce overhead to fetch integrations ( #93767 )
...
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 ( #93060 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-05-14 14:42:04 -05:00
rlippmann
3a72054f93
Make dataclasses in HA core slotted ( #91208 )
2023-04-11 07:58:28 -10:00
epenet
611d4135fd
Add ComponentProtocol to improve type checking ( #90586 )
2023-03-31 14:19:58 -04:00
epenet
ba23816a0c
Inverse json import logic ( #88099 )
...
* 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 ( #88204 )
...
* 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 ( #85672 )
...
* 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 ( #87347 )
2023-02-03 23:08:48 +01:00
Franck Nijhof
79b52a2b41
Stricter pylint message control ( #86154 )
2023-01-20 13:47:55 +01:00
Franck Nijhof
64c2340fab
Core code styling improvements ( #85963 )
2023-01-15 23:00:51 +01:00
Franck Nijhof
b0cee0bc46
String formatting and max line length - Part 1 ( #84390 )
...
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-12-22 10:12:50 +01:00
Bram Kragten
9ed31bb8df
fix integration descriptions ( #81008 )
2022-10-26 12:39:23 +02:00
Franck Nijhof
bb287dd0ed
Integrations v2.1: Virtual integrations ( #80613 )
2022-10-20 23:09:06 -04:00
Paulus Schoutsen
5cb8749ae3
Fix custom components not working with integration descriptions ( #80686 )
2022-10-20 13:25:24 -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
b173ae7f44
Add support for integrations v2 ( #78801 )
...
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 ( #79193 )
...
* 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 ( #78929 )
2022-09-22 21:54:22 -04: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
c76dec138a
Discover new bluetooth adapters when they are plugged in ( #77006 )
2022-08-22 15:45:08 -10:00
J. Nick Koston
3938015c93
Add support for scanners that do not provide connectable devices ( #77132 )
2022-08-22 14:02:26 -04: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
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
61cc9f5288
Consolidate executor jobs when loading integration manifests ( #75176 )
2022-07-14 13:06:08 -07: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
J. Nick Koston
cb46bb5bfa
Revert "Partially revert "Switch loader to use json helper ( #73872 )" ( #74077 )" ( #74087 )
2022-06-28 09:34:56 +02:00
Franck Nijhof
21b842cf9c
Partially revert "Switch loader to use json helper ( #73872 )" ( #74077 )
2022-06-28 00:48:18 +02:00
J. Nick Koston
164eba7e5d
Switch loader to use json helper ( #73872 )
2022-06-22 21:57:38 -05:00
Raman Gupta
ae01ec02e2
Allow custom integrations to support application_credentials platform ( #71129 )
2022-05-01 16:26:22 -07:00
Paulus Schoutsen
3213091b8d
Add integration type ( #68349 )
2022-03-20 20:38:13 -07:00
Marc Mueller
be7ef6115c
Make TypeVars private (1) ( #68205 )
2022-03-17 18:52:38 +01:00
J. Nick Koston
076fe97110
Strict typing for dhcp ( #67361 )
2022-02-28 18:49:44 -10:00
Marc Mueller
8d2fb72cc3
Add type ignore error codes [core] ( #66773 )
2022-02-17 23:09:22 -08: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