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