Erik Montnemery
1cc8280959
Enable basic type checking for the homeassistant component ( #52464 )
...
* Enable basic type checking for the homeassistant component
* Tweak
2021-07-05 11:26:31 +02:00
Erik Montnemery
14dd6478d1
Enable basic type checking for trace ( #52468 )
2021-07-03 17:52:31 +02:00
Shay Levy
ab73ce00a0
Change "Not adding entity" log level to debug ( #52240 )
2021-06-28 11:22:10 +02:00
Raman Gupta
bef8be9256
Support dynamic schema validation in device conditions and actions ( #52007 )
...
* Allow integrations to provide dynamic schema validation in device conditions and actions
* Add tests
* re-add type
* mypy
2021-06-28 09:23:46 +02:00
Erik Montnemery
b916247e8e
Improve editing of device automation referring non added select entity ( #52047 )
...
* Improve editing of device automation referring non added select entity
* Update tests
2021-06-21 14:49:51 +02:00
Erik Montnemery
4c9f12b9c5
Correct trace path for trigger with custom id ( #51847 )
2021-06-14 17:09:20 +02:00
Eduard van Valkenburg
779ef3c8e1
Add timedelta option for async_call_later ( #50164 )
2021-06-12 13:14:35 +02:00
Erik Montnemery
b01b33c304
Add trigger condition ( #51710 )
...
* Add trigger condition
* Tweaks, add tests
2021-06-11 15:05:57 +02:00
Erik Montnemery
ba6b527d61
Improve editing of device actions referencing non-added HVAC ( #51706 )
...
* Improve editing of device actions referencing non-added HVAC
* Improve test coverage
2021-06-11 11:13:55 +02:00
Erik Montnemery
49bec86dae
Add base schema for triggers ( #51727 )
...
* Add base schema for triggers
* Tweak
* Make TRIGGER_BASE_SCHEMA a voluptuous schema
* Make state trigger BASE_SCHEMA a voluptuous schema
2021-06-11 09:51:12 +02:00
Erik Montnemery
a1e3283f8f
Improve editing of device automations referencing non-added sensors ( #51312 )
2021-06-08 23:28:08 -07:00
Franck Nijhof
4c51299dcc
Add easy converting string timestamps/dates to datetime objects in templates ( #51576 )
2021-06-07 15:02:15 +02:00
Franck Nijhof
f35929ba63
Allow referencing sensor entities for before/after in time conditions ( #51444 )
...
* Allow referencing sensor entities for before/after in time conditions
* Fix typo in variable naming
* Improve test coverage
2021-06-07 14:50:31 +02:00
Franck Nijhof
05241a7a68
Allow number/sensor entities in numeric state conditions/triggers ( #51439 )
2021-06-04 18:14:48 +02:00
Paulus Schoutsen
ede7932a57
Protect our user agent ( #51486 )
...
* Protect our user agent
* Fix expected error
2021-06-04 09:14:18 -07:00
Franck Nijhof
d51fc5814a
Define ToggleEntity entity attributes as class variables ( #51231 )
...
* Define ToggleEntity entity attributes as class variables
* Fix upcloud overriding state property
* Implement available state for upcloud, to compensate removed state
2021-06-02 08:53:55 +02:00
Paulus Schoutsen
ee2c950716
Merge system options into pref properties ( #51347 )
...
* Make system options future proof
* Update tests
* Add types
2021-06-01 22:34:31 +02:00
Franck Nijhof
c5dc99c052
Fix time condition microsecond offset when using input helpers ( #51337 )
2021-06-01 17:57:23 +02:00
Erik Montnemery
63e16de6c0
Improve time condition trace ( #51335 )
2021-06-01 17:07:45 +02:00
Paulus Schoutsen
45e1473f83
Improve config validation for key_value_schemas ( #49429 )
2021-06-01 11:23:59 +02:00
Paulus Schoutsen
f472219c68
Set up cloud semi-dependencies at start ( #51313 )
2021-06-01 01:35:31 +02:00
Paulus Schoutsen
4821484d2c
Add system option to disable polling ( #51299 )
2021-05-31 15:36:40 -07:00
Erik Montnemery
837220cce4
Add deprecated backwards compatible history.LazyState ( #51144 )
2021-05-28 11:01:28 +02:00
Raman Gupta
58e37435b3
Make more max lengths constants and add additional MaxLengthExceeded checks ( #50337 )
...
* Add more MaxLengthExceeded checks
* remove some validations to reduce performance impact
* check length of generated entity ID
* dont check entity ID twice and use single context id length constant
* fix test
* add missing test
2021-05-25 19:58:01 +02:00
Erik Montnemery
abd6f739e8
Pylint fix ( #51083 )
2021-05-25 10:53:18 -07:00
Erik Montnemery
7b5e63132c
Prevent parallel reload of automations ( #50008 )
2021-05-25 08:50:50 -07:00
Matt Zimmerman
e964c607a3
jinja2.contextfilter decorator renamed to pass_context ( #51007 )
...
* jinja2.contextfilter decorator renamed to pass_context
* bump jinja2 dependency
2021-05-24 17:38:37 +02:00
Ruslan Sayfutdinov
44bbd9396d
Fix typing in config flow helper ( #50994 )
2021-05-23 14:08:21 +02:00
Franck Nijhof
38d095aa18
Define entity attributes as entity class variables ( #50925 )
...
* Define entity attributes as entity class variables
* Example coronavirus integration
* Example verisure
* Cleanup/typing fixes
* Fix Coronavirus
* Revert "Fix Coronavirus"
This reverts commit 060843860f
.
* Revert "Cleanup/typing fixes"
This reverts commit 659b79e75a
.
* Define entity attributes as entity class variables (attr alternative)
* Example coronavirus
* Example nut
* Example verisure
* Mark private
* Cleanup after all reverting/cherrypicking/merging
* Implement all entity properties
* Update coronavirus example
* Update nut example
* Update verisure example
* Lets not talk about this one...
* Fix multiple class attribute
2021-05-22 09:13:50 -07:00
Ruslan Sayfutdinov
391b2f8ccd
Add missing return type in Core constructors ( #50884 )
2021-05-20 18:53:29 +03:00
Erik Montnemery
1ea0d8ae02
Correct trace of condition actions ( #50800 )
2021-05-17 16:54:17 -07:00
Ruslan Sayfutdinov
6b38adaa3d
Downgrade setuptools to fix CI ( #50734 )
2021-05-16 20:36:23 -07:00
Ville Skyttä
ed10856cc4
UpCloud API and typing update ( #50624 )
2021-05-14 21:49:41 -07:00
Martin Hjelmare
e32dc306e1
Fix oauth2 helper user step typing ( #50618 )
2021-05-14 23:39:14 +02:00
Erik Montnemery
bcd8f43e7b
Update light intents to check supported_color_modes ( #50625 )
2021-05-14 14:23:29 -07:00
Ruslan Sayfutdinov
0cb08f9516
Add missing type hints in entity_platform ( #50453 )
2021-05-12 16:28:44 +02:00
Erik Montnemery
b35f229674
Include _StopScript.__cause__ in trace ( #50441 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-11 22:27:11 -07:00
Martin Hjelmare
7c4893cbb1
Fix event action return value typing ( #50353 )
...
Co-authored-by: Ruslan Sayfutdinov <ruslan@sayfutdinov.com>
2021-05-11 16:23:59 +02:00
Ruslan Sayfutdinov
ce15f28642
Add missing type hints in http component ( #50411 )
2021-05-10 14:30:47 -07:00
Ville Skyttä
b89c53f759
Type hint device registry identifiers as set of str 2-tuples ( #50355 )
...
* Type hint device registry identifiers as set of str 2-tuples
* Fix airly test
* Really fix airly test, add another migration test
2021-05-10 12:13:45 +02:00
Franck Nijhof
44383f25ce
Clean up pylint comments ( #49334 )
2021-05-05 08:56:50 +02:00
Franck Nijhof
96f69fb9fb
Finalize clean up connection classes ( #49895 )
2021-05-04 20:08:51 +02:00
Franck Nijhof
efb1bb08a4
Add small async_get_current_platform helper method ( #50014 )
2021-05-03 16:46:42 +02:00
Franck Nijhof
378cee01b4
Add typing to async_register_entity_service ( #50015 )
2021-05-03 14:22:38 +02:00
Ville Skyttä
ddd7e79ee9
Improve device registry internal typing ( #49924 )
2021-05-01 12:33:31 -10:00
Franck Nijhof
1b5596b4c2
Remove ServiceCallType alias from codebase ( #49844 )
2021-05-02 00:15:27 +02:00
Ville Skyttä
59f32f7c9c
Make device info a TypedDict ( #49670 )
2021-04-30 23:21:39 +02:00
Ruslan Sayfutdinov
f53284b200
Make CoordinatorEntity generic ( #49854 )
2021-04-30 13:24:27 -07:00
Ville Skyttä
a19f757120
Allow str 1..n-tuples in device registry identifier type hints ( #49864 )
...
This reflects current practice, but the intent has been to have them as
2-tuples, and a future change is likely to start enforcing that (again).
Refs https://github.com/home-assistant/core/pull/49670#discussion_r622344872
2021-04-30 08:56:55 +02:00
Franck Nijhof
c68b259bd3
Cleanup of unused connection_class logic ( #49865 )
...
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
Ruslan Sayfutdinov
183220008d
Rename FlowResultDict to FlowResult ( #49847 )
2021-04-29 13:40:51 +02:00
Ruslan Sayfutdinov
0301706fc6
Define AddEntitiesCallback type ( #49812 )
2021-04-29 12:28:14 +02:00
Ruslan Sayfutdinov
5008c27e7a
Relax type annotation for DataUpdateCoordinator data ( #49827 )
2021-04-28 18:31:08 -10:00
Erik Montnemery
d2fd504442
Limit precision when stringifying float states ( #48822 )
...
* Limit precision when stringifying float states
* Add test
* Fix typing
* Move StateType
* Update
* Move conversion to entity helper
* Address review comments
* Tweak precision
* Tweak
* Make _stringify_state an instance method
2021-04-27 21:48:24 +02:00
J. Nick Koston
3fa8ffa731
Enable mccabe complexity checks in flake8 ( #49616 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-04-25 12:38:40 +02:00
Marc Mueller
f1d48ddfe3
Update pylint to 2.8.0 ( #49637 )
2021-04-24 14:39:24 -10:00
jan iversen
49c23bad29
Revert "Remove HomeAssistantType from typing.py as it is no...2 ( #49617 )
...
This reverts commit 39cb22374d
.
Added comment that HomeAssistantType is not to be used, but only
kept in order not to break custom components.
2021-04-24 09:10:07 -10:00
jan iversen
39cb22374d
Remove HomeAssistantType from typing.py as it is no longer used. ( #49593 )
2021-04-23 11:08:58 +02:00
Erik Montnemery
d28b959a09
Improve sun condition trace ( #49551 )
2021-04-22 16:46:27 -07:00
Paulus Schoutsen
1016d4ea28
Support trigger-based template binary sensors ( #49504 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-22 14:54:28 -07:00
Marc Mueller
c07646db5d
Update typing syntax ( #49480 )
...
* Update typing syntax
* Replace typing imports with ones from collections where possible
* Changes after review
2021-04-20 17:40:41 +02:00
Erik Montnemery
a968dea152
Fix deadlock when restarting scripts ( #49410 )
2021-04-19 14:45:01 +02:00
J. Nick Koston
6048e88c8b
Improve debuggability by providing job as an arg to loop.call_later ( #49328 )
...
Before
`<TimerHandle when=1523538.181864923 async_track_point_in_utc_time.<locals>.run_action() at /usr/src/homeassistant/homeassistant/helpers/event.py:1177>`
After
`<TimerHandle when=1524977.1818648616 async_track_point_in_utc_time.<locals>.run_action(<Job HassJobType.Coroutinefunction <bound method DataUpdateCoordinator._handle_refresh_interval of <homeassistant.components.roku.RokuDataUpdateCoordinator object at 0x7fcc978a51c0>>>) at /usr/src/homeassistant/homeassistant/helpers/event.py:1175>`
2021-04-19 11:02:17 +02:00
J. Nick Koston
f96a6e878f
Ensure restore state is not written after the stop event ( #49329 )
...
If everything lined up, the states could be written
while Home Assistant is shutting down after the stop
event because the interval tracker was not canceled on
the stop event.
2021-04-17 09:03:18 +02:00
Ville Skyttä
970cbcbe15
Type hint improvements ( #49320 )
2021-04-17 08:35:21 +02:00
Erik Montnemery
2c8b7c56f5
Fix race when restarting script ( #49247 )
2021-04-16 09:03:34 +02:00
Mike Degatano
236d274351
Add `search` and `match` as Jinja tests ( #49229 )
2021-04-15 20:13:27 +02:00
Ruslan Sayfutdinov
80f66f301b
Define data flow result type ( #49260 )
...
* Define data flow result type
* Revert explicit definitions
* Fix tests
* Specific mypy ignore
2021-04-15 07:17:07 -10:00
J. Nick Koston
8bee25c938
Fix stop listener memory leak in DataUpdateCoordinator on retry ( #49186 )
...
* Fix stop listener leak in DataUpdateCoordinator
When an integration retries setup it will add a new stop listener
* Skip scheduled refreshes when hass is stopping
* Update homeassistant/helpers/update_coordinator.py
* ensure manual refresh after stop
2021-04-14 12:16:59 -10:00
Tobias Sauerwein
9d4ad1821e
Fix logic of entity id extraction ( #49164 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-14 14:12:26 +02:00
J. Nick Koston
44beff31c2
Cancel config entry retry, platform retry, and polling at the stop event ( #49138 )
2021-04-13 16:16:26 -10:00
J. Nick Koston
82790cd28d
Do not compile static templates ( #49148 )
...
self._compiled_code is unreachable if self.is_static
2021-04-13 16:51:56 +02:00
Raman Gupta
769923e8dd
Raise exception for invalid call to DeviceRegistry.async_get_or_create ( #49038 )
...
* Raise exception instead of returning None for DeviceRegistry.async_get_or_create
* fix entity_platform logic
2021-04-13 14:18:51 +02:00
J. Nick Koston
53853f035d
Prevent calling stop or restart services during db upgrade ( #49098 )
2021-04-12 17:18:38 -07:00
Erik Montnemery
ff5fbea1fb
Improve trace of template conditions ( #49101 )
...
* Improve trace of template conditions
* Refactor
* Fix wait_template trace
* Update tests
2021-04-12 20:22:28 +02:00
Franck Nijhof
a610076001
Support min()/max() as template function ( #48996 )
2021-04-12 10:02:04 +02:00
Erik Montnemery
7e4be921a8
Add helper to get an entity's supported features ( #48825 )
...
* Add helper to check entity's supported features
* Move get_supported_features to helpers/entity.py, add tests
* Fix error handling and improve tests
2021-04-10 08:19:16 +02:00
J. Nick Koston
4cd7f9bd8b
Raise ConfigEntryAuthFailed during setup or coordinator update to start reauth ( #48962 )
2021-04-09 19:41:29 -10:00
Jason
7cc857a298
Add custom JSONEncoder for subscribe_trigger WS endpoint ( #48664 )
2021-04-09 20:47:10 -07:00
Erik Montnemery
16196e2e16
Don't log template errors from developer tool ( #48933 )
2021-04-09 12:10:02 -07:00
J. Nick Koston
40450b9cfd
Detach aiohttp.ClientSession created by config entry setup on unload ( #48908 )
2021-04-09 10:14:33 -07:00
Marc Mueller
8e2b5b36b5
Bump pyupgrade to 2.12.0 ( #48943 )
2021-04-09 09:58:27 -07:00
Erik Montnemery
d1df6e6fba
Don't get code_context when calling inspect.stack ( #48849 )
...
* Don't get code_context when calling inspect.stack
* Update homeassistant/helpers/config_validation.py
2021-04-09 07:26:09 +02:00
Erik Montnemery
9f5db2ce3f
Improve warnings on undefined template errors ( #48713 )
2021-04-06 12:11:42 -07:00
J. Nick Koston
12e3bc8101
Provide api to see which integrations are being loaded ( #48274 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-04 22:11:44 -10:00
J. Nick Koston
b5c679f3d0
Apply ConfigEntryNotReady improvements to PlatformNotReady ( #48665 )
...
* Apply ConfigEntryNotReady improvements to PlatformNotReady
- Limit log spam #47201
- Log exception reason #48449
- Prevent startup blockage #48660
* coverage
2021-04-04 12:31:58 +02:00
J. Nick Koston
3bc583607f
Optimize storage collection entity operations with asyncio.gather ( #48352 )
2021-04-03 23:35:33 -10:00
Paulus Schoutsen
e882460933
Support modern config for the trigger based template entity ( #48635 )
2021-04-02 16:57:16 -07:00
FMKaiba
09eb74fd9d
Upgrade Astral to 2.2 ( #48573 )
2021-04-02 00:29:08 +02:00
Franck Nijhof
4e3c12883e
Allow templatable service target to support scripts ( #48600 )
2021-04-01 13:10:01 -07:00
Erik Montnemery
9f481e1642
Include script script_execution in script and automation traces ( #48576 )
2021-04-01 09:42:23 -07:00
Ruslan Sayfutdinov
a6759d731d
Use Mapping[str, Any] instead of dict in Entity ( #48421 )
2021-03-31 19:34:00 +02:00
Erik Montnemery
b26779a27a
Add id to automation triggers ( #48464 )
2021-03-31 14:56:04 +02:00
Bram Kragten
d1a1e70726
Search for areas used in automations and scripts ( #48499 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-03-30 15:01:56 -07:00
Marc Mueller
2956eb0902
Update pylint to 2.7.3 ( #48488 )
...
* Update pylint to 2.7.3
* Add class-const-naming-style
* Remove unused-import message
* Additional cleanup
2021-03-29 18:02:56 -10:00
J. Nick Koston
a851bff95a
Create async_config_entry_first_refresh to reduce coordinator boilerplate ( #48451 )
2021-03-29 12:51:39 -10:00
Franck Nijhof
38d14702fa
Remove HomeAssistantType alias from helpers ( #48400 )
2021-03-27 12:55:24 +01:00
Franck Nijhof
45f77ccccf
Merge of nested IF-IF cases - Core ( #48364 )
2021-03-27 09:23:32 +01:00
J. Nick Koston
79af18a8ab
Bump httpx to 0.17.1 ( #48388 )
...
* Bump httpx to 0.17.1
* git add
* typing
* add test
* tweak
2021-03-27 09:02:01 +01:00
Paulus Schoutsen
63e3012380
Fix script default trace ( #48390 )
2021-03-26 23:56:40 -07:00
Erik Montnemery
c6a20d0fc1
Improve traces for nested script runs ( #48366 )
2021-03-26 10:14:01 -07:00
J. Nick Koston
c4f98a3084
Small speed up to adding entities ( #48353 )
2021-03-26 12:05:19 +01:00
Franck Nijhof
f0e5e616a7
Fix device discovery of OAuth2 config flows ( #48326 )
2021-03-25 10:35:01 -07:00
Erik Montnemery
8896ae0d56
Add support for tracing script execution ( #48276 )
...
* Add support for tracing script execution
* Tweak
2021-03-24 17:56:22 +01:00
Erik Montnemery
9f8b697e64
Refactor tracing: Prepare for tracing of scripts ( #48231 )
2021-03-23 14:53:38 -07:00
Franck Nijhof
6932cf9534
Use contextlib.suppress where possible ( #48189 )
2021-03-23 14:36:43 +01:00
Franck Nijhof
dc15f243e6
Upgrade pyupgrade to v2.11.0 ( #48220 )
2021-03-22 13:29:39 +01:00
Erik Montnemery
272dffc384
Improve script tracing ( #48100 )
...
* Improve script tracing
* Fix test
2021-03-22 13:15:45 +01:00
Erik Montnemery
f8755a52c2
Warn on undefined variables in templates ( #48140 )
...
* Warn on undefined variables in templates
* Add test
* fix tests
* fix tests
2021-03-20 15:16:04 +01:00
Franck Nijhof
fb849b81b5
Rewrite of not a == b occurances ( #48132 )
2021-03-20 01:27:04 +01:00
J. Nick Koston
c820dd4cb5
Have pylint warn when user visible log messages do not start with capital letter or end with a period ( #48064 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-03-19 09:26:36 -05:00
Marc Mueller
4cb7718192
Update typing 16 ( #48087 )
2021-03-18 22:58:19 +01:00
Erik Montnemery
7b717bc437
Correct trace for repeat script actions ( #48031 )
2021-03-18 13:14:06 -07:00
J. Nick Koston
08db262972
Add a service to reload config entries that can easily be called though automations ( #46762 )
2021-03-17 21:27:21 -07:00
Marc Mueller
6fb2e63e49
Update typing 02 ( #48014 )
2021-03-17 18:34:19 +01:00
Alan Tse
f86e7535e0
Add location details to deprecation warning ( #47155 )
2021-03-16 21:16:07 +01:00
Erik Montnemery
1cde1074c9
Correct trace for choose and repeat script actions ( #47973 )
...
* Correct trace for choose and repeat script actions
* only choose-wrap the choices
* Update tests
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-03-16 08:49:16 +01:00
Erik Montnemery
f82e59c32a
Make it possible to list debug traces for a specific automation ( #47744 )
2021-03-15 16:51:04 -07:00
Franck Nijhof
5d5a110a20
None optional hass typing in base entity and notify ( #47528 )
2021-03-15 15:11:41 +01:00
Paulus Schoutsen
ff94e920e4
Do not use AsyncTrackStates ( #47255 )
2021-03-11 23:18:09 -08:00
Erik Montnemery
a9a9e1f199
Tweak automation tracing ( #47721 )
2021-03-10 14:42:13 -08:00
Erik Montnemery
704000c049
Add support for breakpoints in scripts ( #47632 )
2021-03-09 21:23:11 -08:00
Erik Montnemery
3a054c3be7
Replace Entity.device_state_attributes with Entity.extra_state_attributes ( #47304 )
2021-03-09 13:58:43 +01:00
Erik Montnemery
ea4f3e31d5
Include changed variables in automation trace ( #47549 )
...
* Include changed variables in automation trace
* Deduplicate some code
* Tweak
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Fix format
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-03-08 22:48:36 +01:00
Paulus Schoutsen
67effbc8c4
Config flow to allow marking itself as confirm only ( #47607 )
2021-03-08 10:54:51 -08:00
Erik Montnemery
2f9d03d115
Merge action and condition traces ( #47373 )
...
* Merge action and condition traces
* Update __init__.py
* Add typing to AutomationTrace
* Make trace_get prepare a new trace by default
* Correct typing of trace_cv
* Fix tests
2021-03-06 12:57:21 +01:00
tkdrob
3baeed3684
Clean up constants ( #47323 )
2021-03-05 19:08:04 +01:00
Franck Nijhof
7a8b7224c8
Don't raise on known non-matching states in numeric state condition ( #47378 )
2021-03-04 13:09:08 -08:00
Erik Montnemery
17401cbc29
Initial automation tracing ( #46755 )
...
* Initial prototype of automation tracing
* Small fixes
* Lint
* Move trace helpers to its own file
* Improve trace for state and numeric_state conditions
* Tweaks + apply suggestions from code review
* Index traces by automation_id, trace while script is running
* Refactor condition tracing
* Improve WS API to get traces for single automation
* Add tests
* Fix imports
* Fix imports
* Address review comments
* Cap logging of loops
* Remove unused ContextVar action_config
2021-03-04 14:16:24 +01:00
Erik Montnemery
504e5b77ca
Improve behaviour when disabling or enabling config entries ( #47301 )
2021-03-03 10:12:37 -08:00
Paulus Schoutsen
2df644c6cc
Clean up secret loading ( #47034 )
2021-03-02 12:58:53 -08:00
Ville Skyttä
dc880118a4
Lint suppression cleanups ( #47248 )
...
* Unused pylint suppression cleanups
* Remove outdated pylint bug references
* Add flake8-noqa config and note to run it every now and then
* Add codes to noqa's
* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
Marc Mueller
16dcbf1467
Update pylint ( #47205 )
2021-02-28 22:09:01 -10:00
Paulus Schoutsen
557ec374f1
Convert discovery helper to use dispatcher ( #47008 )
2021-02-24 13:37:31 -08:00
Joakim Sørensen
11a89bc3ac
Add addon selector ( #46789 )
2021-02-24 17:02:48 +01:00
Franck Nijhof
42fd3be0e8
Add template support to service targets ( #46977 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-23 22:46:00 -08:00
Bram Kragten
afa91e886b
Add description to tts and notify services ( #46764 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-02-23 14:29:57 +01:00
Franck Nijhof
c8ffac20b9
Add name to services ( #46905 )
2021-02-22 16:26:46 +01:00
Anders Melchiorsen
d61d39de08
Handle ConditionError with multiple entity_id for state/numeric_state ( #46855 )
2021-02-22 08:11:59 +01:00
Anders Melchiorsen
d33a1a5ff8
Refine printing of ConditionError ( #46838 )
...
* Refine printing of ConditionError
* Improve coverage
* name -> type
2021-02-21 14:54:36 +01:00
Erik Montnemery
5e26bda52d
Add support for disabling config entries ( #46779 )
2021-02-20 19:21:39 -08:00
Erik Montnemery
2d70806035
Add support for "alias" in script steps device, device_condition, and conditions ( #46647 )
...
Co-authored-by: Donnie <donniekarnsinsb@hotmail.com>
2021-02-20 19:21:09 -08:00
Anders Melchiorsen
9f4874bb81
Explicitly create_task for asyncio.wait ( #46325 )
2021-02-20 19:57:46 +01:00
Erik Montnemery
54cf954353
Add device_entities template function/filter ( #46406 )
2021-02-19 21:50:59 -08:00
J. Nick Koston
bb7e4d7daa
Implement suggested_area in the device registry ( #45940 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-02-19 19:34:33 -10:00
Anders Melchiorsen
bfea7d0baa
Raise ConditionError for and/or/not errors ( #46767 )
2021-02-19 13:15:30 +01:00
Anders Melchiorsen
e7e3e09063
Raise ConditionError for zone errors ( #46253 )
...
* Raise ConditionError for zone errors
* Do not test missing state
* Handle multiple entities/zones
2021-02-19 13:14:47 +01:00
Bram Kragten
6986fa4eb6
Add target to services.yaml ( #46410 )
...
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-02-16 09:35:27 +01:00
J. Nick Koston
aa061e5818
Fix variable name from script refactoring ( #46503 )
2021-02-14 10:52:18 -10:00
J. Nick Koston
c9df42b69a
Add support for pre-filtering events to the event bus ( #46371 )
2021-02-14 09:42:55 -10:00
Erik Montnemery
f1714dd541
Make some Area and EntityRegistry member functions callbacks ( #46433 )
2021-02-12 17:00:35 +01:00
Franck Nijhof
9b7c39d20b
Postponed evaluation of annotations in core ( #46434 )
...
* Postponed evaluation of annotations in core
* Remove unneeded future
2021-02-12 10:58:20 +01:00
Erik Montnemery
ed31cc363b
Wait for registries to load at startup ( #46265 )
...
* Wait for registries to load at startup
* Don't decorate new functions with @bind_hass
* Fix typing errors in zwave_js
* Load registries in async_test_home_assistant
* Tweak
* Typo
* Tweak
* Explicitly silence mypy errors
* Fix tests
* Fix more tests
* Fix test
* Improve docstring
* Wait for registries to load
2021-02-11 17:36:19 +01:00
Anders Melchiorsen
888c9e120d
Raise ConditionError for time errors ( #46250 )
2021-02-11 17:29:17 +01:00
Anders Melchiorsen
1f5fb8f28a
Raise ConditionError for template errors ( #46245 )
2021-02-11 10:30:09 +01:00
Paulus Schoutsen
538df17a28
Restore Google/Alexa extra significant change checks ( #46335 )
2021-02-10 16:30:29 +01:00
Franck Nijhof
22389043eb
Remove base_url fallback ( #46316 )
2021-02-10 14:31:11 +01:00
Ville Skyttä
a6358430b4
Fix deprecated asyncio.wait use with coroutines ( #44981 )
...
https://docs.python.org/3/library/asyncio-task.html#asyncio-example-wait-coroutine
2021-02-10 14:16:58 +01:00
Bram Kragten
4b493c5ab9
Add target to service call API ( #45898 )
...
* Add target to service call API
* Fix _async_call_service_step
* CONF_SERVICE_ENTITY_ID overrules target
* Move merging up before processing schema
* Restore services.yaml
* Add test
2021-02-10 12:42:28 +01:00
Erik Montnemery
78b7fbf7b1
Fix race in EntityRegistry.async_device_modified ( #46319 )
2021-02-10 10:50:44 +01:00
Anders Melchiorsen
f27066e773
Raise ConditionError for state errors ( #46244 )
2021-02-09 09:46:36 +01:00
tkdrob
c2302784c2
Use core constants for helpers ( #46240 )
2021-02-08 22:53:17 +01:00
Erik Montnemery
0780e52ca4
Support templates in event triggers ( #46207 )
...
* Support templates in event triggers
* Don't validate trigger schemas twice
2021-02-08 14:06:27 +01:00
Matteo Agnoletto
eaa2d371a7
Add select selector for blueprints ( #45803 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-02-08 14:03:26 +01:00
Ville Skyttä
82607977ef
Various type hint improvements ( #46144 )
2021-02-08 11:59:46 +01:00
Erik Montnemery
047f16772f
Support templating MQTT triggers ( #45614 )
...
* Add support for limited templates (no HASS access)
* Pass variables to automation triggers
* Support templates in MQTT triggers
* Spelling
* Handle trigger referenced by variables
* Raise on unsupported function in limited templates
* Validate MQTT trigger schema in MQTT device trigger
* Add trigger_variables to automation config schema
* Don't print stacktrace when setting up trigger throws
* Make pylint happy
* Add trigger_variables to variables
* Add debug prints, document limited template
* Add tests
* Validate MQTT trigger topic early when possible
* Improve valid_subscribe_topic_template
2021-02-08 10:50:38 +01:00
Anders Melchiorsen
b9b1caf4d7
Raise ConditionError for numeric_state errors ( #45923 )
2021-02-08 10:47:57 +01:00
Paulus Schoutsen
9e07910ab0
Mark entities as unavailable when they are removed but are still registered ( #45528 )
...
* Mark entities as unavailable when they are removed but are still registered
* Add sync_entity_lifecycle to collection helper
* Remove debug print
* Lint
* Fix tests
* Fix tests
* Update zha
* Update zone
* Fix tests
* Update hyperion
* Update rfxtrx
* Fix tests
* Pass force_remove=True from integrations
Co-authored-by: Erik <erik@montnemery.com>
2021-02-08 10:45:46 +01:00
Erik Montnemery
8a7e0241ab
Fix race in script wait for trigger step ( #46055 )
...
* Fix race in script wait for trigger step
* Update script.py
* Update script.py
2021-02-06 10:01:30 +01:00
Joakim Sørensen
90973f471f
Add integration name to the deprecation warnings ( #45901 )
2021-02-03 14:40:11 +01:00
Ville Skyttä
d13b58a4e6
Upgrade mypy to 0.800 ( #45485 )
...
* Upgrade mypy to 0.800
https://mypy-lang.blogspot.com/2021/01/mypy-0800-released.html
* Fix issues flagged by mypy 0.800
* Add overloads + small changes
* Apply grammar
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-01-30 22:33:53 +01:00
Philip Allgaier
84f506efb7
Set default position value for cover action ( #45670 )
...
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-01-29 21:11:12 +01:00
Marc Mueller
7673f57248
Add additional error handling for automation script run ( #45613 )
2021-01-28 09:26:41 +01:00
J. Nick Koston
a1662b3bb9
Restore the device id after deleting and re-adding an integration ( #45348 )
2021-01-27 17:10:57 +01:00
CtrlZvi
1433cdaa12
Prefer shorter keys for intent matching ( #43672 )
...
When using fuzzy matching to match entity names for intents, whichever
entity is first is preferred in the case of equal matches. This leads
to situations where entities with similar names (such as entities named
for their area and then specific area location) may be used when the
whole area is wanted.
I ran into this with the my Phillips Hue lights. I have each individual
light named such that its room is the first part of the name, and its
location within the room after. So my living room has:
Living Room West
Living Room Northwest
Living Room North
Living Room Northeast
I then have a group for the whole room:
Living Room
Because the group is the last of the entities, trying to adjust the
whole room only activates one light, because all of the lights match
equally well.
By preferring the shortest of equal matches, we prefer keys that have
the least amount of extra information, causing "Living Room" to match
the group instead of an individual light.
2021-01-27 12:16:19 +01:00
Thomas Lovén
06ade6129c
Add selectors for text and arbitrary objects ( #45112 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-27 09:20:19 +01:00
Paulus Schoutsen
352d0870e3
Light significant changes + sensor tweaks ( #45583 )
2021-01-26 22:11:06 +01:00
Joakim Sørensen
b1c2cde40b
Changes to filename and path validation ( #45529 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-26 15:53:21 +01:00
Paulus Schoutsen
d082be787f
Add "significant change" base ( #45555 )
2021-01-26 14:13:27 +01:00
Philip Allgaier
89fc92f68a
Slightly improve error message in case of duplicate entity IDs ( #45424 )
2021-01-22 09:16:13 -05:00
Shay Levy
f117ddc6fa
Stop update_coordinator schedule refresh when HA is stopping ( #45338 )
...
* Stop update_coordinator schedule refresh when HA is stopping
* Add unittests
* Fix event type
2021-01-22 00:23:50 +01:00
J. Nick Koston
a7741be9bb
Wait for all triggers when one fails to attach ( #45361 )
2021-01-20 22:13:21 +01:00
Ville Skyttä
94dbcc9d2b
Generics and other type hint improvements ( #45250 )
2021-01-18 22:23:25 +01:00
jlvaillant
a50fba4e0b
more graceful shutdown in the presence of a proxy_stream ( #45246 )
2021-01-17 17:10:22 +01:00
J. Nick Koston
da677f7d5a
Add support for discovery via DHCP ( #45087 )
...
* 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
Alexei Chetroi
de8f273bd0
Allow input_number entity_id as for numeric_state trigger thresholds ( #45091 )
...
* Allow input_number as limits for numeric_state trigger
* Rename threshold schema
2021-01-13 16:20:59 +01:00
Ville Skyttä
3a88a4120e
Helpers type hint improvements ( #44964 )
2021-01-09 00:08:34 +01:00
J. Nick Koston
7c93a11aba
Fix wait_template incorrectly matching falsey values ( #44938 )
2021-01-08 13:07:50 +01:00
Ville Skyttä
20e2493f68
Improve device registry type hints ( #44919 )
...
* Fix async_get_or_create via_device type hint
* Specify collection element types
2021-01-08 02:38:57 +01:00
Ville Skyttä
2fb3be50ab
Make DeviceRegistry.async_get_device connections arg optional ( #44897 )
...
* Make async_get_device connections Optional, default None
* Remove unnecessary async_get_device connections arg usages
Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
2021-01-07 13:49:45 +01:00
Ville Skyttä
67eebce55a
Better general/fallback error message and traceback for unknown config errors ( #44655 )
...
* Include error repr in config error message is str(error) yields nothing
* Log traceback for config errors we don't have a "friendly" formatter for
2021-01-05 13:55:38 +01:00
Ville Skyttä
65e56d03bf
Complete device and entity registry type hints ( #44406 )
2021-01-05 02:03:16 +01:00
J. Nick Koston
2ef25e7414
Fix script wait templates with now/utcnow ( #44717 )
2021-01-01 13:03:34 +01:00
Ville Skyttä
1c8fbc7e6a
Upgrade codespell to 2.0.0 ( #44695 )
...
* Upgrade codespell to 2.0.0
* Fix newly found spelling errors
2020-12-31 19:14:07 +01:00
Allen Porter
eb07282e9b
Add debug logging for failed OAuth token refreshes to help users diagnose ( #44637 )
2020-12-30 10:03:27 +01:00
Philip Allgaier
392c058d34
Ensure consistent spelling of "ID" ( #44585 )
2020-12-28 18:34:08 +01:00
Ville Skyttä
317ed418dd
Use singleton enum for "not set" sentinels ( #41990 )
...
* Use singleton enum for "not set" sentinel
https://www.python.org/dev/peps/pep-0484/#support-for-singleton-types-in-unions
* Remove unused variable
2020-12-19 12:46:27 +01:00
Paulus Schoutsen
594e905742
Remove invalidation_version from deprecated ( #44156 )
...
* Remove invalidation_version from deprecated. We don't follow up and just hurts releases
* Revert change to ZHA
2020-12-12 22:24:16 +01:00
J. Nick Koston
dd0afc3b66
Create httpx helper to wrap a shared httpx.AsyncClient ( #43877 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-12-09 17:18:57 +01:00
Paulus Schoutsen
ac2af69d26
Fix extracting entity and device IDs from scripts ( #44048 )
...
* Fix extracting entity and device IDs from scripts
* Fix extracting from data_template
2020-12-08 13:06:29 +01:00
Erik Montnemery
30baf333c3
Improve handling of disabled devices ( #43864 )
2020-12-02 21:20:14 +01:00
Bram Kragten
d93687b5ac
Update area and target selectors add sequence selector ( #43831 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-12-02 09:30:49 +01:00
Paulus Schoutsen
1c9c99571e
Use !input instead of !placeholder ( #43820 )
...
* Use !input instead of !placeholder
* Update input name
* Lint
* Move tests around
2020-12-01 18:21:36 +01:00
Paulus Schoutsen
69710cb664
Base area IDs on initial name ( #43804 )
2020-12-01 12:45:56 +01:00
Paulus Schoutsen
cf5be049b3
Warn when referencing missing devices/areas ( #43787 )
2020-12-01 08:01:27 +01:00
Paulus Schoutsen
a5c79a1f84
Add support for device class in target selector ( #43768 )
2020-11-30 23:35:24 +01:00
Paulus Schoutsen
0de9e8e952
Allow specifying device_id as target ( #43767 )
2020-11-30 14:27:02 +01:00
Paulus Schoutsen
dd513147a5
Add a service target ( #43725 )
2020-11-28 23:33:32 +01:00
Paulus Schoutsen
5b6d9abe2a
Await callbacks to keep cleaner stacktraces ( #43693 )
2020-11-27 17:48:43 +01:00
Paulus Schoutsen
d34753473d
Use run_job for service helper ( #43696 )
2020-11-27 16:12:39 +01:00
Erik Montnemery
a5e5c5c7e6
Exclude disabled entities from async_entries_for_device ( #43665 )
2020-11-27 09:03:44 +01:00
Paulus Schoutsen
f9fa24950b
OAuth2 to use current request header ( #43668 )
2020-11-27 08:55:34 +01:00
Paulus Schoutsen
e1de36fda8
Fix check config ( #43663 )
2020-11-26 22:25:21 +01:00
Paulus Schoutsen
edf70e9f06
Make input_datetime better handle timezones ( #43396 )
...
* Make input_datetime better handle timezones
* Improve test coverage
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Revert change to time format
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-11-26 20:20:10 +01:00
Erik Montnemery
dc8364fd3a
Support disabling devices ( #43293 )
2020-11-26 16:45:02 +01:00
Bram Kragten
4aa181416c
Add area selector, remove date selector ( #43658 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-11-26 15:44:25 +01:00
Bram Kragten
3767af14f3
Add more selectors ( #43639 )
2020-11-25 20:03:56 +01:00
Paulus Schoutsen
1de2554f70
Tweak template digit detection ( #43621 )
2020-11-25 16:10:33 +01:00
Paulus Schoutsen
b3be708db6
Add default config if not there ( #43321 )
...
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-11-25 15:10:04 +01:00
Paulus Schoutsen
43ba053030
Add support for checking minimum HA version ( #43350 )
2020-11-20 15:24:42 +01:00
Paulus Schoutsen
390668e192
Check config to use config platforms ( #43407 )
2020-11-19 22:05:36 +01:00
Bram Kragten
5dcbb634f6
Fix selector to return the selector type ( #43395 )
2020-11-19 16:48:43 +01:00
Paulus Schoutsen
bae026a6fe
Add support for selectors in services.yaml ( #43162 )
...
* Add support for selectors in services.yaml
* Add base schema validation
2020-11-13 22:53:55 +01:00
Paulus Schoutsen
0a717f313e
Improve entity domain validator ( #43164 )
2020-11-13 13:31:43 +01:00
Paulus Schoutsen
8dbd54bed1
Disable parsing scientific/complex number notation in template type ( #43170 )
2020-11-13 13:22:29 +01:00
Paulus Schoutsen
560afc31ad
Use internal url for Squeezebox if possible ( #43089 )
2020-11-11 14:49:08 +01:00
J. Nick Koston
94bf55e29b
Limit concurrency of async_get_integration to avoid creating extra threads ( #43085 )
...
* Limit concurrency of async_get_integration to avoid creating extra threads
Since async_get_integration is waiting on the disk most of the time
it would end up creating many new threads because the disk could
not deliver the data in time.
* pylint
2020-11-10 21:34:54 -10:00
Paulus Schoutsen
7745408440
System health improvement ( #43066 )
2020-11-10 23:56:50 +01:00
Erik Montnemery
8a7febcfbe
Improve restore of deleted devices ( #42703 )
...
* Improve restore of deleted devices
* Simplify
2020-11-10 22:14:39 +01:00
J. Nick Koston
c7f35b20fb
Make all translations cacheable ( #42892 )
2020-11-09 22:36:45 +01:00
Paulus Schoutsen
aec191b558
Support datetime sensor in time trigger ( #42899 )
2020-11-09 14:50:54 +01:00
J. Nick Koston
b47a5449e3
Ensure storage task loads are always garbage collected ( #42917 )
2020-11-07 06:54:56 -10:00
J. Nick Koston
3ec7258c21
Ensure instances of async_add_entities can be garbage collected ( #42919 )
2020-11-07 06:54:20 -10:00
Anders Melchiorsen
650c57db5b
Fix async_track_utc_time_change firing too early ( #42176 )
2020-11-05 16:34:56 +01:00
Tom Parker-Shemilt
b1ed5a3e79
Fix circular import of config_validation and template ( #41802 )
2020-11-04 19:06:19 -10:00
Paulus Schoutsen
0fb587727c
Add initial blueprint support ( #42469 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2020-11-02 15:00:13 +01:00
Paulus Schoutsen
1844e30858
Add support for manual updating a data coordinator ( #42746 )
2020-11-02 09:54:08 +01:00
springstan
92379ad8d2
Use list literal without using dict.keys() ( #42573 )
2020-10-30 09:19:13 -05:00
J. Nick Koston
df552f08c3
Purge unused constants from template helper ( #42618 )
2020-10-30 09:29:12 +01:00
J. Nick Koston
2bbd2a6e70
Reduce complexity of storage writes ( #42576 )
...
* Reduce complexity of storage writes
* add test
* stop hass
* workaround bad test
2020-10-29 22:35:51 -05:00
J. Nick Koston
7f1683c731
Remove legacy template extract_entities ( #42601 )
2020-10-30 00:06:08 +01:00
J. Nick Koston
c8f00a7b38
Gather all collection listeners and changes at the same time ( #42497 )
2020-10-29 10:06:55 +01:00
springstan
a967f689c7
Remove unnecessary instances of dict.keys() ( #42518 )
2020-10-28 20:43:48 +01:00
J. Nick Koston
94219c2266
Ensure the oauth2 token is refreshed before it is expired ( #42487 )
...
The current implementation assumed clocks were in sync and did
not account for the time it took to refresh the token. A 20
second buffer has been added to ensure that the token is refreshed
before it expires as OAuth2Session.valid_token would assume the
token was still good even though the remote would reject it
and would not refresh because it was not time yet.
2020-10-28 07:47:54 -05:00
Paulus Schoutsen
e21e28e49f
Fix string representation of template result wrappers ( #42494 )
2020-10-28 09:11:08 +01:00
Paulus Schoutsen
d4efa938dd
Improve mqtt test ( #42490 )
2020-10-27 23:22:59 +01:00
Paulus Schoutsen
711b7d4605
Make result wrappers more robust ( #42488 )
2020-10-27 22:51:58 +01:00
J. Nick Koston
5ca4b4cd0f
Set the translations cache under the lock ( #42470 )
2020-10-27 22:02:38 +01:00
Franck Nijhof
45aba9bdf2
Allow skip parsing template result ( #42401 )
2020-10-26 16:01:09 +01:00
Paulus Schoutsen
bba770b411
Fix CI ( #42397 )
2020-10-26 13:36:03 +01:00