Commit graph

109 commits

Author SHA1 Message Date
Paulus Schoutsen
440570244d
Don't swallow all errors when checking for config validator platform () 2020-10-19 17:09:57 +02: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
Paulus Schoutsen
2a9da208d4
Allow disabling integrations in manifest, block uuid package being installed and disable ezviz () 2020-08-26 10:20:14 +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
8f3c84b349
Mark config dependency of frontend () 2020-06-09 23:27:47 -07:00
Franck Nijhof
4395fe9298
Remove logo & icon from manifest () 2020-05-10 11:10:44 -04:00
Ville Skyttä
b4404b071f
Pylint cleanups ()
* Avoid some outer name redefinitions

* Remove unneeded directives

* Narrow directive scope

* Don't disable redefined-variable-type
2020-05-09 14:08:40 +03:00
Franck Nijhof
9983c43697
Add issue_tracker property to manifest () 2020-05-05 11:00:00 -07:00
Paulus Schoutsen
9f1bffe3be
Add command to get integration manifests ()
* Add command to get integration manifests

* Add is_built_in value to manifest

* Update APIs
2020-04-15 13:36:16 -07:00
springstan
b2af1de273
Improve string formatting v9 ()
* Improve string formatting v9

* Address review comments
2020-04-12 17:18:09 +02:00
springstan
fca90a8ddc
Improve string formatting v5 ()
* Improve string formatting v5

* Address review comments
2020-04-05 17:48:55 +02:00
Franck Nijhof
b9b1cee403
Enable pylint import-outside-toplevel () 2020-04-04 17:07:36 +02:00
Ville Skyttä
e86919a997
Type hint improvements () 2020-03-14 11:39:28 +01:00
Dave T
df86668dfc
Correct grammatical error in CUSTOM_WARNING () 2020-03-09 09:40:08 +01: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
Franck Nijhof
0173c61fee
Spelling: Config(uration) () 2020-02-13 08:27:00 -08:00
Franck Nijhof
c0bc4bb550 Add logo & icon support to Manifest ()
* Add logo & icon support to Manifest

* Add URL validation
2020-01-24 14:36:22 -08:00
Franck Nijhof
e18426051b Add Integration Quality Scale to manifest () 2020-01-07 17:21:56 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations () 2020-01-02 21:17:10 +02:00
Franck Nijhof
0439d6964c Fix persistent setup error notification content ()
* Fix persistent setup error notification content

* Use documentation from manifest, enriched error messages

* Fix issue caught by mypy
2019-12-16 20:16:23 +01:00
Paulus Schoutsen
27244e29c4 Install discovery requirements if used ()
* Install discovery requirements if used

* Update loader.py

* Fix types
2019-12-10 09:24:49 +01:00
Bas Nijholt
67c56c860d Sort imports according to PEP8 for 'homeassistant' folder ()
Components are already done
2019-12-09 16:42:10 +01:00
Ville Skyttä
99c7608fb4 Lint config cleanups ()
* Remove bunch of unneeded lint exclusions

* Use symbolic names instead of identifiers in pylint disables

* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
Ville Skyttä
d88ca0f5cb Lint exclusions ()
* Remove malformed pylint disable markers

* Remove some unused imports

* Remove some unneeded lint exclusions

* Remove more unneeded lint exclusions

* Add specific codes to all noqa's
2019-11-16 10:22:07 +01:00
Franck Nijhof
04ab20846a Bump black to 19.10b0 () 2019-10-28 23:32:34 -07:00
Erik Montnemery
e57e7e8449
Improve validation of device trigger config ()
* Improve validation of device trigger config

* Remove action and condition checks

* Move config validation to own file

* Fix tests

* Fixes

* Fixes

* Small tweak
2019-09-27 17:48:48 +02:00
Ville Skyttä
33e1b44b3a
Use PEP 526 type annotations, add some type hints ()
* Add some more type hints to helpers.event

* Change most type comments to variable types

* Remove some superfluous type hints
2019-09-07 09:48:58 +03:00
Franck Nijhof
2f0eb07624 Migrate legacy typehints in core to PEP-526 ()
* Migrate legacy typehints in core to PEP-526

* Fix one type
2019-09-03 20:36:04 -07:00
Franck Nijhof
decf13b948 Use literal string interpolation in core (f-strings) () 2019-08-23 09:53:33 -07:00
Paulus Schoutsen
4de97abc3a Black 2019-07-31 12:25:30 -07:00
Ville Skyttä
17d754dbbf Optional and Union simplifications () 2019-07-21 10:59:51 -07:00
nierob
979f801488 Avoid creating temporary lists ()
That gives nano performance improvements as *() is slightly faster
then *[].
2019-07-19 13:36:18 -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
Franck Nijhof
31f569ada9 Batch of Component(s) -> Integration(s) () 2019-07-05 15:24:26 -07:00
Paulus Schoutsen
319ac23736
Warn when user tries run custom config flow () 2019-06-20 13:22:12 -07:00
Paulus Schoutsen
72bbe2203e
Dont cache integrations that are not found () 2019-04-22 22:06:58 -07:00
Paulus Schoutsen
77244eab1e Fix empty components () 2019-04-17 19:17:13 -07:00
Paulus Schoutsen
10e8f4f70a
Add support for after_dependencies ()
* Add support for after_dependencies

* Remove assert false"

* Fix types
2019-04-16 13:40:21 -07:00
Paulus Schoutsen
8b86bf7dd2
Load integrations only once () 2019-04-15 20:38:24 -07:00
Paulus Schoutsen
6a2da9f9a5
load cleanups ()
* load cleanups

* Remove unused methods

* Allow importing requirements at the top of a file

* Fix test

* Lint

* Install reqs ASAP when loading platforms
2019-04-15 16:45:46 -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
Paulus Schoutsen
3368e30279
Migrate packages and check config ()
* Migrate packages and check config

* Fix typing

* Fix check config script
2019-04-14 07:23:01 -07:00
Paulus Schoutsen
f7d4c48199
Convert service helper to use async_get_integration ()
* Convert service helper to use async_get_integration

* Fix tests
2019-04-12 10:09:17 -07:00
Rohan Kapoor
6ba9ccf052 Load requirements and dependencies from manifests. Fallback to current REQUIREMENTS and DEPENDENCIES ()
* Load dependencies from manifests. Fallback to current DEPENDENCIES

* Fix typing

* Ignore typing correctly

* Split out dependency processing to a new method

* Fix tests

* Only pull from manifest if dependencies is non empty

* Inline temporary function

* Fix light tests [skip ci]

* Fix tests/common

* Fix some mqtt tests [skip ci]

* Fix tests and component manifests which have only one platform

* Fix rflink tests

* Fix more tests and manifests

* Readability over shorthand format

* Fix demo/notify tests

* Load dependencies from manifests. Fallback to current DEPENDENCIES

* Load requirements from manifests. Fallback to current REQUIREMENTS

* Fix typing

* Ignore typing correctly

* Split out dependency processing to a new method

* Only pull from manifest if dependencies is non empty

* Inline temporary function

* Fix tests and component manifests which have only one platform

* Fix rflink tests

* Readability over shorthand format

* Clean up requirements

* Use integration to resolve deps/reqs

* Lint

* Lint

* revert a change

* Revert a test change

* Fix types

* Fix types

* Add back cache for load component

* Fix test_component_not_found

* Move light.test and device_tracker.test into test package instead with manifest to fix tests

* Fix broken device_tracker tests

* Add docstrings to __init__

* Fix all of the light tests that I broke earlier

* Embed the test.switch platform to fix other tests

* Embed and fix the test.imagimage_processing platform

* Fix tests for nx584

* Add dependencies from platform file's DEPENDENCIES

* Try to setup component when entity_platform is setting up

Fix tests in helpers folder

* Rewrite test_setup

* Simplify

* Lint

* Disable demo component if running in test

Temp workaround to unblock CI tests

* Skip demo tests

* Fix config entry test

* Fix repeat test

* Clarify doc

* One extra guard

* Fix import

* Lint

* Workaround google tts
2019-04-11 01:26:36 -07:00
Paulus Schoutsen
e48ef7f441
Fix broken platform components ()
* Fix broken platform components

* Lint
2019-04-09 15:42:44 -07:00
Paulus Schoutsen
cac00f5b26 Test for circular dependencies using manifests ()
* Integration dependencies

* Lint

* Lint

* Fix one test

* Lint

* Fix load custom component integration

Fix async issue
Add circular dependency detection in manifest validation

* Fix test

* Address review comment

* Apply suggestions from code review

Co-Authored-By: balloob <paulus@home-assistant.io>
2019-04-09 09:30:32 -07:00