Erik Montnemery
037621b796
Update _TrackStateChangeFiltered entity listener with new entities ( #64909 )
2022-01-25 18:19:12 +01:00
Marc Mueller
12757a8cd2
Update typing - collections.abc (1) ( #63933 )
...
* Update typing - collections.abc (1)
* Additional typing updates
2022-01-12 07:56:35 +01:00
Marc Mueller
d3b7bd25ef
Update typing (1) ( #63922 )
2022-01-11 21:26:03 +01:00
Marc Mueller
eb2238a9e1
Add types for HassJob [helpers.event] ( #63675 )
2022-01-08 14:26:22 +01:00
Marc Mueller
250af90acb
Improve callable typing [helpers.event] ( #63543 )
2022-01-06 21:01:27 -10:00
Marc Mueller
198ade5e2b
Fix typing `TrackTemplateResultListener` [helpers.event] ( #63541 )
2022-01-06 13:43:54 -10:00
Ruslan Sayfutdinov
55f4962c06
Fix pylint plugin which checks relative imports ( #62693 )
2021-12-23 11:14:47 -08:00
Erik Montnemery
39d6aba3bc
Improve startup of unavailable template entities ( #59827 )
2021-11-22 09:20:38 -08:00
Erik Montnemery
acf58111c6
Correct initial update of async_track_template_result ( #59705 )
2021-11-15 13:00:46 +01:00
Erik Montnemery
34e5596375
Use async_track_utc_time_change to schedule short term statistics ( #58903 )
2021-11-01 10:49:54 -07:00
Erik Montnemery
bed4096430
Allow specifying a super template for async_track_template_result ( #58477 )
2021-10-27 16:07:17 +02:00
Marc Mueller
7af67d34cf
Use assignment expressions 01 ( #56394 )
2021-09-18 13:31:35 -10:00
Ville Skyttä
59809503d1
Various type hint related improvements ( #54971 )
...
* Avoid some implicit generic Anys
* Fix hassio discovery view type hints
* Fix http view result type in assert message
2021-08-21 13:58:49 +02:00
Daniel Hjelseth Høyer
fbad453c89
Pylint 2.9.3 ( #52972 )
...
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2021-07-14 21:44:57 -07:00
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
Eduard van Valkenburg
779ef3c8e1
Add timedelta option for async_call_later ( #50164 )
2021-06-12 13:14:35 +02:00
Ruslan Sayfutdinov
391b2f8ccd
Add missing return type in Core constructors ( #50884 )
2021-05-20 18:53:29 +03: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
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
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
Ville Skyttä
970cbcbe15
Type hint improvements ( #49320 )
2021-04-17 08:35:21 +02:00
Erik Montnemery
16196e2e16
Don't log template errors from developer tool ( #48933 )
2021-04-09 12:10:02 -07:00
Marc Mueller
6fb2e63e49
Update typing 02 ( #48014 )
2021-03-17 18:34:19 +01:00
J. Nick Koston
c9df42b69a
Add support for pre-filtering events to the event bus ( #46371 )
2021-02-14 09:42:55 -10: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
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
J. Nick Koston
2ef25e7414
Fix script wait templates with now/utcnow ( #44717 )
2021-01-01 13:03:34 +01:00
Anders Melchiorsen
650c57db5b
Fix async_track_utc_time_change firing too early ( #42176 )
2020-11-05 16:34:56 +01:00
Paulus Schoutsen
bba770b411
Fix CI ( #42397 )
2020-10-26 13:36:03 +01:00
Anders Melchiorsen
cb0c937b3e
Refresh now() templates on second=0 ( #42225 )
2020-10-23 00:11:02 +02:00
J. Nick Koston
31c21126a8
Implement time tracking in templates ( #41147 )
...
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-10-19 11:02:43 +02:00
J. Nick Koston
3a9b2392f8
Suppress domain and all listeners during template rate limit ( #42005 )
2020-10-19 10:17:51 +02:00
J. Nick Koston
21cc23244d
Improve template ratelimit performance ( #41741 )
2020-10-15 12:02:05 +02:00
J. Nick Koston
53a1d92f2b
Permit event trackers to accept an empty list of entities or domains ( #41857 )
2020-10-15 09:26:51 +02:00
J. Nick Koston
1bcedd15b3
Update sun listeners to use HassJob ( #41695 )
...
Avoids checking the callable type every time sun events trigger
2020-10-13 21:37:10 +02:00
J. Nick Koston
3a863c4a0f
Fully convert async_track_time_interval to use HassJob ( #41513 )
...
The callback type for interval_listener was being determined
each time the interval hit.
This was missed in the original conversion.
2020-10-09 09:35:09 +02:00
J. Nick Koston
9e1461da62
Determine how to run listeners at setup time instead of execution time ( #41304 )
2020-10-07 16:51:50 +02:00
Franck Nijhof
ee914366a8
Add native Python types support to templates ( #41227 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-10-07 00:05:52 +02:00
J. Nick Koston
51da605b9f
Remove manual rate_limit control directive from templates ( #41225 )
...
Increase default rate limit for all states and entire
domain states to one minute
Ensure specifically referenced entities are excluded from
the rate limit
2020-10-04 22:40:04 +02:00
J. Nick Koston
ab17b4ab70
Simplify template tracking and make it easier to follow ( #41030 )
2020-10-02 07:27:39 -05:00
J. Nick Koston
b45215f1d2
Implement template rate_limit directive ( #40667 )
2020-10-01 21:39:44 +02:00
J. Nick Koston
7285c7806f
Seperate state change tracking from async_track_template_result into async_track_state_change_filtered ( #40803 )
2020-10-01 10:19:20 +02:00
J. Nick Koston
205cf57a77
Code cleanups for async_track_template_result ( #40737 )
2020-09-30 13:00:21 +02:00
J. Nick Koston
57b7559832
Ensure all jinja2 errors are trapped and displayed in the developer tools ( #40624 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-26 17:03:32 -05:00
J. Nick Koston
3261a904da
Reduce the number of template re-renders when we are only counting states ( #40272 )
2020-09-26 16:29:49 -05:00
J. Nick Koston
e9abb357e4
Log template listeners when debug logging is on ( #40180 )
2020-09-17 14:45:30 -05:00
J. Nick Koston
949bd8d738
Reduce listener cancelation code in template tracker ( #40040 )
2020-09-14 21:43:00 +02:00
J. Nick Koston
aaa8083d49
Change template loop detection strategy to allow self-referencing updates when there are multiple templates ( #39943 )
2020-09-12 14:20:21 +02:00
J. Nick Koston
741487a1fc
Return the listeners with the template result for the websocket api ( #39925 )
2020-09-11 13:18:40 -05:00
J. Nick Koston
e208aac834
Add async_track_state_removed_domain to allow tracking when a state is removed from a domain ( #39859 )
...
when a state is removed from a domain
2020-09-11 13:03:31 +02:00
J. Nick Koston
fd8a4182d9
Detect self-referencing loops in template entities and log a warning ( #39897 )
2020-09-10 20:50:11 +02:00
J. Nick Koston
e55a014e94
Undecorate RenderInfo result property ( #39108 )
2020-09-02 10:35:15 +02:00
J. Nick Koston
a77e09b2c2
Make async_track_template_result track multiple templates ( #39371 )
...
* Make async_track_template_result track multiple templates
Combine template entity updates to only write ha
state once per template group update
* Make async_track_template_result use dataclasses for input/output
* black versions
* naming
2020-08-31 19:07:40 -05:00
Ville Skyttä
1bf2c4d976
Upgrade pylint to 2.6.0 ( #39363 )
2020-08-29 07:59:24 +02:00
J. Nick Koston
f8704a2dfc
Ensure we always fire time pattern changes after microsecond 0 ( #39302 )
2020-08-28 16:27:25 +02:00
J. Nick Koston
715fe4eef8
Fix time pattern listener firing a few microseconds early ( #39281 )
2020-08-26 17:50:25 +02:00
J. Nick Koston
c87e03ee6f
Ensure template tracking can recover after the template generates an exception ( #39256 )
2020-08-26 00:33:08 +02:00
J. Nick Koston
20398cc0a6
Subscribe to state change events only if the template has entities ( #39188 )
2020-08-26 00:20:04 +02:00
J. Nick Koston
1381b279f0
Update template sensor to use async_track_template_result ( #38940 )
...
* Add template entity
* Update template tracking to work for template sensors
* add test for whitespace
* Update homeassistant/helpers/config_validation.py
* revert
* fix
* reduce
* fix _refresh missing decorator
* defer until start
* do not throw errors during startup
* defer tracking until start event
Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
2020-08-20 08:06:41 -05:00
J. Nick Koston
472b12bef5
Update TrackTemplateResultInfo to remove side effects from init ( #38934 )
...
* Verify and case
* Review comments
* Update homeassistant/helpers/event.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/helpers/event.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-16 11:16:28 -05:00
J. Nick Koston
7d0e356560
Add track_template_result method to events ( #38802 )
...
* Merge original changes from #23590
* guard
* adjust
* adjust
* adjust
* Update async_render_to_info for recent codebase changes
* no more protected access
* do not fire right away per review comments
* update test to not fire right away
* closer
* rework tests for non firing first
* augment coverage
* remove cruft
* test for complex listen add/remove
* update docs to match review feedback to not fire right away
* preserve existing behavior
* fix test
* Ensure listeners are cleaned up
* de-dupe and comment
* de-dupe and comment
* coverage
* test to login again if we go from exception to ok to exception
* Update homeassistant/core.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/helpers/event.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* rename _boolean_coerce to result_as_boolean and move it out of event
* additional coverage
* Add more tests (may still be able to trim this down)
Co-authored-by: Swamp-Ig <github@ninjateaparty.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-08-15 19:53:03 -05:00
J. Nick Koston
45526f4e8a
Add async_track_state_added_domain for tracking when states are added to a domain ( #38776 )
...
* Fire event_state_added when a state is added after start
* async_track_state_added_domain
* test
* naming
* coverage
2020-08-12 13:30:40 -05:00
J. Nick Koston
60009ec2f9
Use event loop scheduling for tracking time patterns ( #38021 )
...
* Use event loop scheduling for tracking time patterns
* make patching of time targetable
* patch time tests since time can tick to match during the test
* fix more tests
* time can only move forward
* time can only move forward
* back to 100% coverage
* simplify since the event loop time cannot move backwards
* simplify some more
* revert simplify
* Revert "revert simplify"
This reverts commit bd42f232f6
.
* Revert "simplify some more"
This reverts commit 2a6c57d514
.
* Revert "simplify since the event loop time cannot move backwards"
This reverts commit 3b13714ef4
.
* Attempt another simplify
* time does not move backwards in the last two
* remove next_time <= now check
* fix previous merge error
2020-07-20 20:18:31 -10:00
J. Nick Koston
910b6c9c2c
Index entity_registry_updated listeners ( #37940 )
2020-07-17 21:59:18 -07:00
J. Nick Koston
fa4e9c0485
Increase test line coverage of homeassistant/helpers/event.py to 100% ( #37927 )
...
* Increase test line coverage of homeassistant/helpers/event.py to 100%
* fix test
2020-07-16 21:47:53 -07:00
J. Nick Koston
b6befa2e83
Ensure a state change tracker setup from inside a state change listener does not fire immediately ( #37924 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-07-16 17:50:06 -07:00
J. Nick Koston
41cd90648e
Have async_track_point_in_utc_time call async_run_job directly from call_at ( #37790 )
...
We do not need a nested function here since call_at
takes args
2020-07-14 17:24:36 -10:00
Ville Skyttä
ac0dbb17af
Attrs cleanups ( #37849 )
2020-07-14 10:30:30 -07:00
J. Nick Koston
34ccb6588c
Cleanup async_track_state_change and augment docstring ( #37251 )
...
* Cleanup async_track_state_change and augment docstrings.
Skip from_state and to_state matching in
async_track_state_change when they are None
Optimize the state change listener for the most
common use case: no to_state and from_state
matching.
* Update benchmark to be more realistic (previously we assumed only one entity was present in the whole instance)
* Add more tests to ensure behavior is preserved
* Ensure new behavior matches test
* remove MATCH_ALL from zone automation since its the default anyways
* Might as well use async_track_state_change_event instead since MATCH_ALL is removed
2020-07-05 17:31:33 -05:00
J. Nick Koston
89a9634d35
Use eventloop for scheduling ( #37184 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-06-29 09:39:24 -07:00
J. Nick Koston
a63a11a11a
Ensure all async_track_state_change_event callbacks run if one throws ( #37179 )
2020-06-27 17:48:27 -07:00
J. Nick Koston
4acc6f333e
Improve scalability of state change event routing ( #37174 )
2020-06-27 14:46:45 -07:00
Paulus Schoutsen
5a9970e63c
Dump states in event handler for HA_Stop ( #33974 )
...
* Dump states in event handler for HA_Stop
* Fix type
2020-04-13 17:41:01 -07:00
Franck Nijhof
b9b1cee403
Enable pylint import-outside-toplevel ( #33631 )
2020-04-04 17:07:36 +02:00
Eugenio Panadero
cd57b764ce
Fix state_automation_listener when new state is None ( #32985 )
...
* Fix state_automation_listener when new state is None (fix #32984 )
* Listen to EVENT_STATE_CHANGED instead of using async_track_state_change
and use the event context on automation trigger.
* Share `process_state_match` with helpers/event
* Add test for state change automation on entity removal
2020-03-23 16:05:21 -07:00
Paulus Schoutsen
166d770ddd
Update Hue data fetching ( #31338 )
...
* Refactor Hue Lights to use DataCoordinator
* Redo how Hue updates data
* Address comments
* Inherit from Entity and remove pylint disable
* Add tests for debounce
2020-01-31 14:47:40 -08:00
Bas Nijholt
67c56c860d
Sort imports according to PEP8 for 'homeassistant' folder ( #29789 )
...
Components are already done
2019-12-09 16:42:10 +01:00
Ville Skyttä
f88ead597a
Type hint improvements ( #28260 )
...
* Add and improve core and config_entries type hints
* Complete and improve config_entries type hints
* More entity registry type hints
* Complete helpers.event type hints
2019-10-28 13:36:26 -07:00
Ville Skyttä
70ddab2f3c
Helpers type hint additions and improvements ( #27986 )
...
* Helpers type hint additions and improvements
* Fix async setup dump callback signature
2019-10-21 17:54:59 +03:00
Ville Skyttä
33e1b44b3a
Use PEP 526 type annotations, add some type hints ( #26464 )
...
* 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
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Ville Skyttä
d64f1e767c
Type check all helpers ( #25373 )
...
* Type check all helpers, add inline exclusions for work in progress
* Remove unused Script._template_cache
* Add some missing type hints
* Remove unneeded type: ignore
* Type hint fixes
* Mypy assistance tweaks
* Don't look for None in deprecated config "at most once" check
* Avoid None name slugify attempt when generating entity id
* Avoid None state store attempt on entity remove
2019-07-21 09:59:02 -07:00
Paulus Schoutsen
236c5deeee
Sun listener to adapt to core config updates ( #24464 )
...
* Adaptable sun listener
* Lint
2019-06-10 16:05:32 -07:00
Paulus Schoutsen
48a2e50f84
Fix calc next ( #21630 )
2019-03-03 21:36:13 -07:00
emontnemery
cd89809be5
Make time trigger data trigger.now local ( #21544 )
...
* Make time trigger data trigger.now local
* Make time pattern trigger data trigger.now local
* Lint
* Rework according to review comment
* Lint
2019-03-01 23:09:12 -08:00
Ville Skyttä
9c840f93f0
Use const.SUN_EVENT_* more ( #18039 )
2018-10-31 09:10:28 +01:00
Otto Winter
26cf5acd5b
Make async_track_time_change smarter ( #17199 )
...
* Make async_track_time_change smarter
* Move to util/dt
* Remove unnecessary check
* Lint
* Remove tzinfo check
* Remove check
* Add comment about async_track_point_in_utc_time
* Fix typing check
* Lint
2018-10-09 10:14:18 +02:00
Adam Mills
3abdf217bb
Homekit controller reconnect ( #17060 )
...
* Add threaded call_later helper
* Reconnect to device when connection fails
* Consolidate connection logs and warn on first
2018-10-04 09:25:05 +02:00
Ville Skyttä
b7c336a687
Pylint cleanups ( #15626 )
...
* Pylint 2 no-else-return fixes
* Remove unneeded abstract-class-not-used pylint disable
2018-07-23 10:16:05 +02:00
Ville Skyttä
b92350fb55
Lint cleanup ( #15103 )
...
* Remove unneeded inline pylint disables
* Remove unneeded noqa's
* Use symbol names instead of message ids in inline pylint disables
2018-06-25 13:05:07 -04:00
Matthias Urlichs
f5cc40024d
Rename homeassistant.util.async to .async_ ( #13088 )
...
"async" is (going to be) a reserved word.
2018-03-11 10:01:12 -07:00
Paulus Schoutsen
f2296e1ff8
Retry keyset cloud ( #12270 )
...
* Use less threads in helpers.event tests
* Add helpers.event.async_call_later
* Cloud: retry fetching keyset
2018-02-10 11:40:24 +01:00
Otto Winter
8dcfd35b8b
Spelling fixes ( #12041 )
...
* Spelling fixes
*Lots* of them.
* Spelling breaking changes
* Fix lint errors
2018-01-29 23:37:19 +01:00
Ville Skyttä
55ee8959ba
Spelling fixes ( #11940 )
2018-01-27 11:58:27 -08:00
cdce8p
be5c0b2d92
Wait_template - support for 'trigger.entity_id' and data_template values ( #9807 )
...
* *Added support for use of 'trigger.entity_id' and service->data_template->script in wait_template
* * Fixed style violations
* * Fixed regular expression (_RE_GET_POSSIBLE_ENTITIES)
* * combined 'extract_entities' and 'extract_entities_with_variables'
* fixed regular expression
* * Added first test for extract_entities_with_variables
* * Added Unittests (tests/helpers/test_template.py test_extract_entities_with_variables)
* * Added Unittests (tests/helpers/test_script.py test_wait_template_variables)
* * Added Unittests (tests/components/automation/test_template.py test_wait_template_with_trigger)
* * Added Unittests (tests/components/automation/test_state.py test_wait_template_with_trigger)
* * Added Unittests (tests/components/automation/test_numeric_state.py test_wait_template_with_trigger)
* * Fixed style violations
* * Fixed style violations
* * Fixed style violations
* * Fixed style violations
* * Fixed style violations
* * Fixed style violations
* * Updated regular expression and delete whitespaces
2017-10-12 16:57:18 +02:00
Paulus Schoutsen
8f06b35dfc
Optimize event matcher ( #9798 )
...
* Optimize event matcher
* Tweak order of checks
* Add a benchmark for time_changed helper
* Add state change benchmark
* fix lint
2017-10-10 22:26:03 +02:00
Paulus Schoutsen
a97e7bb22d
Simplify track_same_state ( #9795 )
2017-10-10 21:16:19 +02:00
Paulus Schoutsen
ca54bbfcc9
RFC: Use bind_hass for helpers ( #9745 )
...
* Add Helpers bind_hass functionality
* Update other helpers
2017-10-08 08:17:54 -07:00
Pascal Vizeli
ed699896cb
Core track same state for a period / Allow on platforms ( #9273 )
...
* Core track state period / Allow on platforms
* Add tests
* fix lint
* fix tests
* add new tracker to automation state
* update schema
* fix bug
* revert validate string
* Fix bug
* Set arguments to async_check_funct
* add logic into numeric_state
* fix numeric_state
* Add tests
* fix retrigger state
* cleanup
* Add delay function to template binary_sensor
* Fix tests & lint
* add more tests
* fix lint
* Address comments
* fix test & lint
2017-09-05 02:01:01 +02:00
Paulus Schoutsen
5779d64e98
Fix some issues for PyLint 1.7.2 ( #8356 )
...
* Fix some issues for PyLint 1.7.2
* More fixes
* Revert position change for cover
2017-07-05 20:02:16 -07:00
Adam Mills
40d27cde0e
Refactor sun component for correctness ( #7295 )
...
* Refactor sun component for correctness
* Convert datetimes to dates for astral
* Fix tests for updated code
* Fix times now that calcs are fixed
* Move sun functions to helpers
* Fix flake on new file
* Additional tweaks from review
* Update requirements
2017-05-09 00:03:34 -07:00
Fabian Affolter
a4f1f6e724
Update docstrings ( #7374 )
...
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstring
* Update docstrings
* Update docstrings
* Fix lint issues
* Update docstrings
* Revert changes in dict
2017-05-02 09:18:47 -07:00
Pascal Vizeli
e1cbd6b4c0
MQTT convert to async ( #6064 )
...
* Migrate mqtt to async
* address paulus comment / convert it complet async
* adress paulus comment / remove future
* Automation triggers should be async
* Fix MQTT async calls
* Show that event helpers are callbacks
* Fix tests
* Lint
2017-02-18 14:17:18 -08:00
Pascal Vizeli
9aac2113b6
Add 'wait_template' to script commands / Refactory track_template ( #5827 )
...
* Add 'wait' to script commands.
* Add track_template + unittest / rename wait_template
* fix lint & test
* Fix handling / change automation-template / add tests
* address paulus comments
2017-02-12 13:27:53 -08:00
Pascal Vizeli
a65388e778
Bugfix segfault with new helper track_time_interval ( #5222 )
...
* Bugfix sigfault with new helper track_time_interval
* Add none init also to sunrise/sunset for consistance
2017-01-08 14:06:15 +01:00
Nick Touran
a36ca62445
Support longer-than-60-second scan_interval and interval_seconds ( #5147 )
...
* Update scan_interval and interval_seconds max to 1 day vs. 60 seconds
* Format fixes
* Add docstring on unittest.
* Added and implemented new async_track_time_interval helper.
* Format fixes, removed unused import.
* Undid whoops on unsub_polling.
* Updated unit tests for scan_interval.
* Added unit test for track_time_interval.
* Allow other forms of time interval input for scan_interval and interval_seconds
2017-01-05 23:05:16 +01:00
Fabian Affolter
be272ac64a
Disable too-many-* ( #4107 )
...
* Disable too-many-* and too-few-public-methods
* Remove globally disabled pylint warnings
2016-10-30 22:18:53 +01:00
Paulus Schoutsen
5085cdb0f7
Add async_safe annotation ( #3688 )
...
* Add async_safe annotation
* More async_run_job
* coroutine -> async_save
* Lint
* Rename async_safe -> callback
* Add tests to core for different job types
* Add one more test with different type of callbacks
* Fix typing signature for callback methods
* Fix callback service executed method
* Fix method signatures for callback
2016-10-04 20:44:32 -07:00
Paulus Schoutsen
d58548dd1c
Address asyncio comments ( #3663 )
...
* Template platforms: create_task instead of yield from
* Automation: less yielding, more create_tasking
* Helpers.script: less yielding, more create_tasking
* Deflake logbook test
* Deflake automation reload config test
* MQTT: Use async_add_job and threaded_listener_factory
* Deflake other logbook test
* lint
* Add test for automation trigger service
* MQTT client can be called from within async
2016-10-03 22:39:27 -07:00
Paulus Schoutsen
7ab7edd81c
Make automation async
2016-10-01 14:11:16 -07:00
Paulus Schoutsen
b650b2b0db
Spread async love ( #3575 )
...
* Convert Entity.update_ha_state to be async
* Make Service.call async
* Update entity.py
* Add Entity.async_update
* Make automation zone trigger async
* Fix linting
* Reduce flakiness in hass.block_till_done
* Make automation.numeric_state async
* Make mqtt.subscribe async
* Make automation.mqtt async
* Make automation.time async
* Make automation.sun async
* Add async_track_point_in_utc_time
* Make helpers.track_sunrise/set async
* Add async_track_state_change
* Make automation.state async
* Clean up helpers/entity.py tests
* Lint
* Lint
* Core.is_state and Core.is_state_attr are async friendly
* Lint
* Lint
2016-09-30 12:57:24 -07:00
Paulus Schoutsen
325220e009
Make track_point_in_utc_time more async ( #3428 )
...
* Make track_point_in_utc_time more async
* Make track_point_in_time async friendly
2016-09-17 19:51:18 -07:00
Paulus Schoutsen
aca375c312
Asyncio event helpers ( #3415 )
...
* Automation - Event: Use coroutine
* Convert event helpers to coroutine
* Fix linting
* Add hass.async_add_job
* Automation - Event to use async_add_job
2016-09-17 18:28:01 -07:00
Paulus Schoutsen
60f540315a
Fix broken test
2016-09-01 14:40:13 +01:00
Paulus Schoutsen
d9ecc4af64
EventBus: return function to unlisten
2016-08-25 23:25:35 -07:00
Paulus Schoutsen
6dcf3682df
Tweak event helper
2016-06-12 20:37:37 -07:00
Paulus Schoutsen
3ac31b2c1b
Fix broken tests + linting
2016-05-30 10:19:12 -07:00
Paulus Schoutsen
15e329a588
Tons of fixes - WIP
2016-05-21 15:01:33 -07:00
Paulus Schoutsen
4e568f8b99
Automation: Add trigger context and expose to action
2016-04-21 13:59:42 -07:00
Fabian Affolter
4f536ac63d
Fix PEP257 issues
2016-03-07 23:39:52 +01:00
Paulus Schoutsen
e80309c03c
Fix imports (using isort)
2016-02-18 21:27:50 -08:00
Paulus Schoutsen
ada2fb4ec0
Fire event when we remove a state
2016-02-13 22:57:40 -08:00
magnusknutas
ca070a36e3
Dont wrap '/int' parameters with tuple
2016-01-26 21:38:07 +01:00
magnusknutas
33b0f4d05d
Fixes bug in time trigger and adds test for ex. /two
2016-01-26 20:43:29 +01:00
magnusknutas
ebd475b380
Unused import was the problem
2016-01-26 18:50:25 +01:00
magnusknutas
726637b867
New and improved handling of the matching! Kudos to @balloob
2016-01-26 18:37:19 +01:00
magnusknutas
ec5d88b98e
hourly periodic task
2016-01-26 17:06:50 +01:00
magnusknutas
13fbefcdf8
Running periodic tasks
2016-01-26 10:28:31 +01:00
Ryan Kraus
02e634c6a2
Fixed bugs to allow HA to boot again
...
1) helpers/event should not import the sun component unless it is
requested. This prevents circular import.
2) fixed import typo in bootstrap
2) bootstrap cannot import event_decorators until it is needed because
this leads to a circular import.
2016-01-24 15:55:47 -05:00
Ryan Kraus
81dd1515ae
Moved sunrise/sunset tracking to helpers
...
The automation component contained some very handy and generic
functions for tracking sunset and sunrise. This was moved to
helpers/event.py.
2016-01-24 15:07:09 -05:00
Paulus Schoutsen
a301d869d7
PyLint 1.5 fixes
2015-11-29 13:49:05 -08:00
Paulus Schoutsen
14023a15e6
Minor code cleanup
2015-08-04 18:13:55 +02:00
Paulus Schoutsen
e0468f8b8e
Extract helpers.event from core + misc cleanup
2015-07-26 10:45:49 +02:00