Commit graph

74 commits

Author SHA1 Message Date
Joakim Plate
523352c97e
Avoid keeping config dir in path () 2024-01-16 13:38:47 +01: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
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
J. Nick Koston
48485fc2bf
Complete persistent notifications migration ()
* Complete migration of persistent notifications

Persistent notifications are no longer stored in
the state machine and no longer fire events

* Complete migration of persistent notifications

Persistent notifications are no longer stored in
the state machine and no longer fire events

* fixes

* fixes

* fixes

* ws test

* update tests

* update tests

* fix more tests

* fix more tests

* more fixes

* fix

* fix person

* fix person

* keep whitelist

* use singleton
2023-05-25 23:09:13 -04:00
epenet
a51cc75f03
Add type hints to core tests (part 2) () 2023-02-21 09:27:13 +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
c98b4e3204
Add typing to tests with single hass argument (2) ()
* Add typing to tests with single hass argument (2)

* a few more
2023-02-08 08:51:43 +01:00
epenet
59ca7780fa
Add typing to tests with single hass argument () 2023-02-07 15:01:16 +01:00
Franck Nijhof
bfbf9b9751
Adjusts imports in tests to match our relative import rules () 2023-01-27 12:51:58 +01:00
Franck Nijhof
73c4ac53d2
Enable T20 (flake8-print) to ban use of print statements ()
* Enable T20 (flake8-print) to ban use of print statements

* Make compatible with flake8 config
2023-01-24 14:24:21 +01:00
Franck Nijhof
24fdd588fd
Code styling tweaks to the tests - Part 1 () 2023-01-20 13:52:46 +01: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
a697672944
Add bluetooth integration ()
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-07-08 18:55:31 -05:00
Raman Gupta
ae01ec02e2
Allow custom integrations to support application_credentials platform () 2022-05-01 16:26:22 -07: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
J. Nick Koston
615872a5d1
Align zeroconf matching with ZeroconfServiceInfo () 2021-12-19 02:09:21 -06:00
Paulus Schoutsen
cd3e51b3e7
Ensure domain is correct format () 2021-10-25 15:56:07 -07:00
Paulus Schoutsen
a4d9019ffc
Refactor persistent notification to no longer route all data via a service ()
* Convert persistent notification tests to async

* Create/dismiss persistent notifications in exposed functions, not service calls

* Fix notify persistent_notification

* Remove setting up persistent_notification

* Drop more setups

* Empty methods

* Undeprecate sync methods because too big task

* Fix setup clearing notifications

* Fix a bunch of tests

* Fix more tests

* Uno mas

* Test persistent notification events

* Clean up stale comment

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-10-07 12:58:00 +02:00
Ruslan Sayfutdinov
a9ed4fa405
Bump awesomeversion to 21.8.1 () 2021-09-11 11:40:46 -07:00
J. Nick Koston
0403ea715e
Add known devices to USB Vendor / Product IDs ()
Co-authored-by: kpine <keith.pine@gmail.com>
2021-08-21 21:56:49 +02:00
J. Nick Koston
dc74a52f58
Add support for USB discovery ()
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-20 14:04:18 -05:00
Joakim Sørensen
5d6b6deed4
Move version validation to resolver () 2021-05-31 15:32:03 -07:00
J. Nick Koston
a43561e3e6
Ensure startup can proceed if async_get_integration raises ()
* Ensure startup can proceed if async_get_integration raises

There were cases where the event would never get set and
startup would deadlock because the second attempt to load
the integration would block forever

* pylint

* reorder
2021-05-17 17:32:05 -05:00
Joakim Sørensen
2f10f59717
Block custom integrations with missing or invalid version () 2021-05-17 15:48:41 +02:00
Joakim Sørensen
06e6005fbb
Add warning to custom integrations without version ()
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-04 09:59:41 +01:00
Ville Skyttä
2ffdc4694a
Remove misleading "for" from custom integration warning message () 2021-02-01 08:36:06 +01:00
J. Nick Koston
da677f7d5a
Add support for discovery via DHCP ()
* Add support for discovery via DHCP

* additional tesla ouis

* merge tests

* dhcp test

* merge requirements test

* dhcp test

* dhcp discovery

* dhcp discovery

* pylint

* pylint

* pylint

* fix

* Add matching tests

* 100% cover

* cleanup

* fix codespell

* Update exception handling

* remove unneeded comment

* fix options handling exception

* fix options handling exception
2021-01-14 09:09:08 +01:00
Franck Nijhof
65cf2fcb6f
Drop asynctest () 2021-01-01 22:31:56 +01:00
Ville Skyttä
1c8fbc7e6a
Upgrade codespell to 2.0.0 ()
* Upgrade codespell to 2.0.0

* Fix newly found spelling errors
2020-12-31 19:14:07 +01:00
Paulus Schoutsen
5b6d9abe2a
Await callbacks to keep cleaner stacktraces () 2020-11-27 17:48:43 +01:00
Paulus Schoutsen
ea55051161
Stub finding custom integrations in tests () 2020-11-27 12:53:16 +01:00
Erik Montnemery
343e5d64b8
Add MQTT integration discovery ()
* Add MQTT integration discovery

* Add script/hassfest/mqtt.py

* Unsubscribe if config entry exists

* Add homeassistant/generated/mqtt.py

* Fix bad loop

* Improve tests

* Improve tests

* Apply suggestions from code review

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>

* Prevent initiating multiple config flows

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2020-10-07 18:30:51 +02:00
J. Nick Koston
9389a7c9be
Limit zeroconf discovery to name/macaddress when provided ()
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-11 12:19:21 +02:00
J. Nick Koston
d0d0403664
Add zeroconf/homekit/ssdp discovery support for custom components ()
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-05 15:50:56 +02:00
Paulus Schoutsen
5642027ffb
Improve after_dependencies handling () 2020-06-19 17:24:33 -07:00
Paulus Schoutsen
ec47216388
Use built-in test helpers on 3.8 () 2020-04-30 13:29:50 -07:00
Paulus Schoutsen
beee1298c5
Extend safe mode ()
* Extend safe mode

* Add safe mode boolean to config JSON output and default Lovelace

* Add safe mode to frontend

* Update accent color
2020-02-18 11:52:38 -08:00
Ville Skyttä
fa4fa30461 Various string cleanups ()
* Remove some unnecessary string concatenations

* Replace some simple str.formats with f-strings

* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Bas Nijholt
f60125b5c9 Sort imports according to PEP8 for 'tests' () 2019-12-09 16:52:24 +01:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Joakim Plate
2fbbcafaed
Support config flow on custom components ()
* Support populating list of flows from custom components

* Re-allow custom component config flows

* Add tests for custom component retrieval

* Don't crash view if no handler exist

* Use get_custom_components instead fo resolve_from_root

* Switch to using an event instead of lock

* Leave list of integrations as set

* The returned list is not guaranteed to be ordered

Backend uses a set to represent them.
2019-07-09 01:19:37 +02:00
Paulus Schoutsen
319ac23736
Warn when user tries run custom config flow () 2019-06-20 13:22:12 -07:00
Paulus Schoutsen
8b86bf7dd2
Load integrations only once () 2019-04-15 20:38:24 -07:00
Paulus Schoutsen
b0d893afc9 Remove loader.get_component ()
* Remove get_component

* Lint
2019-04-14 22:31:01 -07:00
Paulus Schoutsen
d722f4d64a
Further integration load cleanups ()
* Further integration load cleanups

* Fix tests

* Unflake MQTT vacuum command test
2019-04-14 19:07:05 -07:00
Paulus Schoutsen
6b0180f753
Fix demo ()
* Fix demo

* Fix types

* Fix all the things

* Fix type

* Fix test

* Lint
2019-04-14 16:59:06 -07:00