Ville Skyttä
5216477353
Be consistent with Home Assistant and Hass.io spelling ( #30500 )
...
* Be consistent with Home Assistant spelling
* Be consistent with Hass.io spelling
2020-01-05 14:09:17 +02:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Bas Nijholt
d3f67c3841
use isort to sort imports according to PEP8 for automation ( #29620 )
2019-12-08 21:59:39 +05:30
Alexei Chetroi
ccb0fd5e32
Register automation.reload service as an admin service. ( #29582 )
...
* homeassistant/components/automation/__init__.py
* Register automation.reload as an admin service.
2019-12-07 21:17:30 +01:00
Paulus Schoutsen
41440d4f1b
Fix litejet tests
2019-12-04 21:47:35 -08:00
Paulus Schoutsen
02d9ed5e36
Do not select all entities when omitting entity ID in service call ( #29178 )
...
* Do not select all entities when omitting entity ID
* Address comments Matthew
* Require either area_id or entity_id
* Fix tests
* Fix test
2019-12-02 16:23:12 -08:00
Erik Montnemery
42691b783e
Handle empty service in script action gracefully ( #27467 )
...
* Handle empty service in script action gracefully
* Add test
2019-10-12 12:28:47 -07:00
Santobert
cc1cca0a14
automation_reproduce_state ( #27222 )
2019-10-05 12:31:51 -07:00
Erik Montnemery
fad54cd6d8
Ensure sun conditions are using the right date ( #23664 )
...
* Ensure sun conditions are using the right date
2019-08-16 17:34:56 +02:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Phil Bruckner
9944e675a5
Add template support to state trigger's for option ( #24912 )
2019-07-08 13:59:58 -07:00
Phil Bruckner
f9b9883aba
Add template support to numeric_state trigger's for option ( #24955 )
2019-07-08 13:58:50 -07:00
Phil Bruckner
8dca73d08e
Add missing trigger.for variable to template trigger ( #24893 )
2019-07-02 17:46:26 +02:00
Phil Bruckner
3f4ce70414
Fix 'same state' monitoring in state trigger ( #24904 )
2019-07-02 17:29:38 +02:00
Phil Bruckner
945afbc6d4
Fix 'same state' monitoring in numeric_state trigger ( #24910 )
2019-07-02 17:28:02 +02:00
Phil Bruckner
03e6a92cf3
Add template support to template trigger's for option ( #24810 )
2019-06-28 22:30:47 -07:00
Franck Nijhof
d648eb1e4f
Minor improvements to automation test suite ( #24424 )
...
* Minor improvements to automation test suite
* Removes unused asyncio imports
* Removes some vars that are not needed
2019-06-08 19:10:23 -05:00
Franck Nijhof
9235b52828
Restore automation last_triggered with initial_state override ( #24400 )
...
* Restore automation last_triggered with initial_state override
* Made test async/await
* Fixes linter warning
* Update test_init.py
2019-06-08 12:48:36 -07:00
Paulus Schoutsen
7887d6d6e4
Fix automation failing to restore state ( #24390 )
...
* Fix automation off
* Fix tests
2019-06-07 23:08:22 -07:00
Phil Bruckner
61dabae6ab
Add for option for template triggers ( #24330 )
2019-06-07 21:45:37 -07:00
Paulus Schoutsen
de1fd5a7fa
WS: Improve service calling errors ( #23840 )
...
* WS: Improve service calling errors
* Docstyle
* Types
* Update text
2019-05-14 07:09:11 +02:00
Erik Montnemery
3c5abcc71a
Improve sun automation tests ( #23588 )
...
* Improve sun automation tests
* Lint
* Restore timezone after test
2019-05-02 09:46:32 +02:00
ActuallyRuben
df580b2322
Add URL query parameters to webhook trigger result data ( #23043 )
...
* Added query parameters to webhook data
* Added test for query webhook
* Add second blank line in new test for webhook trigger
2019-04-14 10:53:35 -07:00
Paulus Schoutsen
e48ef7f441
Fix broken platform components ( #22943 )
...
* Fix broken platform components
* Lint
2019-04-09 15:42:44 -07:00
Jason Hu
c82d2cb11c
Cherry pick test fix ( #22939 )
2019-04-09 13:59:15 -07:00
Paulus Schoutsen
52f337ef00
Allow chaining contexts ( #21028 )
...
* Allow chaining contexts
* Add stubbed out migration
2019-03-01 10:08:38 -08:00
emontnemery
ec5da05804
Add character encoding to MQTT automation. ( #20292 )
2019-01-24 22:43:56 -08:00
Adam Mills
336b6adc88
Split time_pattern triggers from time trigger ( #19825 )
...
* Split interval triggers from time trigger
* Default smaller interval units to zero
* Rename interval to schedule
* Rename schedule to time_pattern
2019-01-15 09:33:34 -08:00
Malte Franken
6d3343e4d1
Geo Location -> Geolocation (class names and unit test comments) ( #19877 )
...
* fixed geolocation naming in class names
* fixed geolocation naming in comments in unit test
2019-01-08 20:11:51 -08:00
Paulus Schoutsen
9d9e11372b
Make automations log errors ( #18965 )
2018-12-13 12:21:16 +01:00
Jason Hunter
b900005d1e
New Events and Context Fixes ( #18765 )
...
* Add new events for automation trigger and script run, fix context for image processing, add tests to ensure same context
* remove custom logbook entry for automation and add new automation event to logbook
* code review updates
2018-12-04 09:45:17 +01:00
Adam Mills
0d7cb54872
Update litejet automation tests to async ( #18287 )
2018-11-07 09:56:10 +01:00
Ville Skyttä
9c840f93f0
Use const.SUN_EVENT_* more ( #18039 )
2018-10-31 09:10:28 +01:00
Anders Melchiorsen
3de822a0e2
RFC: Static templates match no entities, not all ( #17991 )
...
* Static templates match no entities, not all
* Clean up test values
2018-10-30 12:03:27 +01:00
Paulus Schoutsen
e276e899cf
Convert automation tests to async ( #17794 )
...
* Convert automation tests to async
* Fix 8 last tests
* Lint
2018-10-26 11:31:14 +02:00
Paulus Schoutsen
08fe7c3ece
Pytest tests ( #17750 )
...
* Convert core tests
* Convert component tests to use pytest assert
* Lint 🤷♂️
* Fix test
* Fix 3 typos in docs
2018-10-24 12:10:05 +02:00
Malte Franken
75e42acfe7
Geo location trigger added ( #16967 )
...
* zone trigger supports entity id pattern
* fixed lint error
* fixed test code
* initial version of new geo_location trigger
* revert to original
* simplified code and added tests
* refactored geo_location trigger to be based on a source defined by the entity
* amended test cases
* small refactorings
2018-10-22 20:01:01 +02:00
Paulus Schoutsen
68472b8241
Add a webhook automation trigger ( #17246 )
2018-10-08 20:16:37 +02:00
cdce8p
fa98a27df7
Remove service helper (2) ( #16863 )
...
* alarm_control_panel
* automation
* camera
* climate
* counter
* fan
* Add legacy notes
* Fix tests
2018-09-26 09:49:55 +02:00
Paulus Schoutsen
746f4ac158
Add context to scripts and automations ( #16415 )
...
* Add context to script helper
* Update script component
* Add context to automations
* Lint
2018-09-04 21:16:24 +02:00
Ville Skyttä
dd9d53c83e
Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0 ( #14557 )
...
* Update pydocstyle to 2.1.1 and flake8-docstrings to 1.3.0
* Pydocstyle D401 fixes
2018-08-24 10:28:43 +02:00
Ville Skyttä
dbd0763f83
Grammar and spelling fixes ( #16065 )
2018-08-19 22:29:08 +02:00
Andrey
140a874917
Add typing to homeassistant/*.py and homeassistant/util/ ( #15569 )
...
* Add typing to homeassistant/*.py and homeassistant/util/
* Fix wrong merge
* Restore iterable in OrderedSet
* Fix tests
2018-07-23 10:24:39 +02:00
Anders Melchiorsen
fcbc399809
Disallow automation.trigger without entity_id ( #14724 )
2018-06-01 10:27:12 -04:00
Ville Skyttä
843789528e
Remove extra quotes from docstrings ( #14431 )
2018-05-13 11:06:15 +02: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
Adam Mills
6918993c75
Fix state for trigger with forced updates ( #11595 )
2018-01-11 22:06:09 -08:00
Pascal Vizeli
ea6ca9252c
Bugfix trigger state with multible entities ( #10857 )
...
* Bugfix trigger state with multible entities
* Fix numeric state
* fix lint
* fix dict
* fix unsub
* fix logic
* fix name
* fix new logic
* add test for state
* add numeric state test for unsub
* add test for multible entities
* Update numeric_state.py
* Update numeric_state.py
* Update state.py
* Fix logic for triple match
* Add clear to numeric state
* clear for state trigger
2017-11-30 21:03:52 +01:00
Anders Melchiorsen
61ccbb59ce
Fire numeric_state action when first state change matches criteria ( #10125 )
...
* Fire numeric_state action when first state change matches criteria
* Remove lint
* Update numeric_state.py
2017-10-25 16:01:09 +02:00
Adam Mills
5f8eb08cd9
Additional event data tests to cover recent bugs
2017-10-23 19:44:07 -04:00
Adam Mills
4e7cc110d9
Fix no data event triggers ( #10049 )
...
* Test including extra data on a no data trigger
* Match any dicts for default schema for event data
* Fix indentation
* Only check schema if one was configured
2017-10-22 20:20:38 -04: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
Adam Mills
4342d7aa17
Event trigger nested conditions ( #9732 )
...
* Test to supported nested event triggers
* Update event trigger to allow nested data tests
2017-10-07 13:13:32 -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
Anders Melchiorsen
b83ff739bc
Remove deprecated automation keywords ( #8510 )
...
* Remove deprecated automation keywords
* Remove retired test case
* Remove retired keyword
2017-07-17 22:24:05 +02:00
Paulus Schoutsen
7bf6ceafec
Split mock_service ( #8198 )
2017-06-25 10:53:15 -07:00
Pascal Vizeli
814834512a
Group service / dynamic handling ( #7971 )
...
* Add Service to group
* Finish service
* Add service functions
* fix lint
* Address paulus comments
* fix lint & cleanup
* fix lint
* fix lint
* fix lint p3
* add test for check group
* add more tests
* fix lint
* Update service.yaml
* Fix order for tests
* Fix comment
* Fix test
* Fix tests
* Fix name in tests
* Fix view
* Fix default value
* Fix lint
* Fix key error
* add name
* migrate component entity
* fix tests
* fix import
* migrate device tracker
* fix lint
* fix bug
* fix logic
* fix lint
* fix tests
* fix generator
* fix group
* fix other tests.
* Not need to load group on first stage anymore.
* fix service
* add more group depency
* fix tests
* Revert "fix tests"
This reverts commit 35a922b3a8
.
* Real fix
* fix test p2
* fix test p3
* fix test p4
* fix test p5
* fix test p6
* fix lint
* fix test p7
* Rename attribute
* fix group test
* fix bug
* fix flagy tests
* fix service.yaml
* fix lint
2017-06-16 00:52:28 +02:00
Adam Mills
beb8c05d91
Use expected behvaior for above/below ( #7857 )
2017-06-01 22:43:24 -07:00
Adam Mills
cf42303afb
Rename time trigger 'after' to 'at' ( #7846 )
2017-06-01 22:40:27 -07:00
Anders Melchiorsen
81f0826550
Ignore attribute changes in automation trigger from/to ( #7651 )
...
* Ignore attribute changes in automation trigger from/to
* Quote names in deprecation warnings
This makes it somewhat easier to read if the suggestion happens to be
named "to".
* Add test with same state, new attribute value
2017-05-20 15:18:59 -04:00
Paulus Schoutsen
e773133bcf
Fix automation failing to setup if no automations specified ( #7647 )
2017-05-17 21:57:50 -07:00
Adam Mills
e2e58e6acc
Automation State Change For timer attribute fix ( #7584 )
2017-05-15 00:34:30 -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
Paulus Schoutsen
9440ff881f
Remove listening to homeassistant_start with event automation ( #7474 )
2017-05-06 23:52:39 -07:00
Paulus Schoutsen
29f385ea76
Fix automations listening to HOMEASSISTANT_START ( #6936 )
...
* Fire EVENT_HOMEASSISTANT_START automations off right away while starting
* Actually have core state be set to 'starting' during boot
* Fix correct start implementation
* Test and deprecate event automation platform on start
* Fix doc strings
* Remove shutting down exception
* More strict when to mark an instance as finished
* Add automation platform to listen for start/shutdown
* When we stop we should wait till it's all done
* Fix testing
* Fix async bugs in tests
* Only set UVLOOP when hass starts from CLI
* This hangs normal asyncio event loop
* Clean up Z-Wave node entity test
2017-04-05 23:23:02 -07:00
Paulus Schoutsen
23645da74c
Automation: initial state > restore state ( #6911 )
...
* Automation: initial state > restore state
* Clean up code
* Ensure MQTT defaults are used.
* Ensure failed platforms always return None
* Automation: write state to state machine after start
2017-04-03 23:11:39 -07:00
Pascal Vizeli
f4e9466394
Bugfix automation fire on bootstrap ( #6770 )
...
* Bugfix automation fire on bootstrap
* Add test & fix bug
* fix lint
2017-03-24 15:52:14 -07:00
Paulus Schoutsen
2650c73a89
Split bootstrap into bs + setup ( #6416 )
...
* Split bootstrap into bs + setup
* Lint
2017-03-05 10:41:54 +01:00
Johann Kellerman
1522e67351
Restore for automation entities ( #6254 )
...
* Restore for automation entities
* coroutine
* no clue what i'm doing now
* Still passes nicely in py 3.4
2017-03-04 15:19:01 -08:00
Pascal Vizeli
41f558b181
Bootstrap / Component setup async ( #6264 )
...
* Bootstrap / Entiy setup async
* Cleanup add_job stuff / return task/future object
* Address paulus comments / part 1
* fix install pip
* Cleanup bootstrap / move config stuff to config.py
* Make demo async
* Further bootstrap improvement
* Address Martin's comments
* Fix initial tests
* Fix final tests
* Fix bug with prepare loader
* Remove no longer needed things
* Log error when invalid config
* More cleanup
* Cleanups platform events & fix lint
* Use a non blocking add_entities callback for platform
* Fix Autoamtion is setup befor entity is ready
* Better automation fix
* Address paulus comments
* Typo
* fix lint
* rename functions
* fix tests
* fix test
* change exceptions
* fix spell
2017-02-28 20:33:19 -08:00
Paulus Schoutsen
c54517de90
Convert config.components to a set ( #5824 )
2017-02-09 20:21:57 +02:00
Johann Kellerman
f0b1874d2d
Fix up docstring for tests ( #5090 )
2016-12-28 20:04:59 +02:00
Paulus Schoutsen
b2a15e17d3
MQTT Automation: parse payload as JSON ( #4703 )
2016-12-04 09:53:05 -08:00
Fabian Affolter
51e20c92f9
WIP Fix pylint and PEP257 issues (tests) ( #4120 )
...
* Fix pylint and PEP257 issues
* More PEP257 fixes
2016-12-01 21:45:19 -08:00
Lewis Juggins
66473120ab
Add test for delay on automations ( #4630 )
2016-11-29 08:45:04 -08:00
Jon Caruana
2a6c0cfc17
LiteJet: Unit tests and new trigger options held_more_than and held_less_than. ( #4473 )
...
* LiteJet: Unit tests and new trigger options held_more_than and held_less_than.
* Unit tests for the LiteJet component and associated platforms. Coverage is almost 100% -- just misses one line.
* The automation LiteJet trigger returns an empty "removal" function to ensure the automation base is happy with it. The pylitejet library doesn't actually support a real removal.
* The automation LiteJet trigger can detect hold time and act appropriately to support things like short tap or long hold.
* LiteJet: Fix indent in unit test source code.
* LiteJet: Fix test_include_switches_* unit tests on Python 3.5
* LiteJet: Remove wait for state existence from unit tests. Recent fixes to discovery make this no longer necessary.
2016-11-24 09:52:15 -08:00
Paulus Schoutsen
62785c2431
More async tests ( #4223 )
...
* Annotate test callbacks to be async
* Convert device_sun_light_trigger to be async
2016-11-05 16:36:20 -07:00
Pascal Vizeli
d5368f6f78
Async bootstrap / component init ( #3991 )
...
* Async bootstrap
* Adress comments
* Fix tests
* More fixes
* Tests fixes
2016-10-27 00:16:23 -07:00
Johann Kellerman
7b40a641ec
Continue on invalid platforms and new setup_component unit tests ( #3736 )
2016-10-08 11:27:35 -07:00
Daniel Høyer Iversen
b8beae9c6c
Merge pull request #3651 from home-assistant/automation
...
Customize initial state of automation
2016-10-05 09:48:55 +02:00
Daniel
46f3337b07
Customize initial state of automation
2016-10-05 09:20:51 +02:00
Daniel Høyer Iversen
d2d393feb5
Add automations and scripts to group.all_automations and group.all_scripts ( #3664 )
...
* Add automations to group.all_automations
* Add scripts to group.all_scripts
2016-10-04 21:20:48 -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
4076ccf639
Use setup_component in tests ( #3414 )
...
* Alarm Control Panel Manual - use setup_component
* Update automation - zone tests
* Update climate - demo tests
* Update climate - generic thermostat tests
* Update cover - command line tests
* Update cover - demo tests
* Update device tracker tests
* Update device tracker - owntracks tests
* Update fan - demo tests
* Update garage door - demo tests
* Update light tests
* Update lock - demo tests
* Update media player - demo tests
* Update notify - command line tests
* Update notify - demo tests
* Update notify - file tests
* Update notify - group tests
* Update sensor - mfi tests
* Update sensor - moldindicator tests
* Update sensor - mqtt room tests
* Update switch - command line
* Update switch - flux
* Update switch tests
* Update scene tests
* Fix wrong default port for mfi switch
2016-09-17 10:29:58 -07:00
Paulus Schoutsen
609d7ebea5
Migrate core from threads to async awesomeness ( #3248 )
...
* Add event loop to the core
* Add block_till_done to HA core object
* Fix some tests
* Linting core
* Fix statemachine tests
* Core test fixes
* fix block_till_done to wait for loop and queue to empty
* fix test_core for passing, and correct start/stop/block_till_done
* Fix remote tests
* Fix tests: block_till_done
* Fix linting
* Fix more tests
* Fix final linting
* Fix remote test
* remove unnecessary import
* reduce sleep to avoid slowing down the tests excessively
* fix remaining tests to wait for non-threadsafe operations
* Add async_ doc strings for event loop / coroutine info
* Fix command line test to block for the right timeout
* Fix py3.4.2 loop var access
* Fix SERVICE_CALL_LIMIT being in effect for other tests
* Fix lint errors
* Fix lint error with proper placement
* Fix slave start to not start a timer
* Add asyncio compatible listeners.
* Increase min Python version to 3.4.2
* Move async backports to util
* Add backported async tests
* Fix linting
* Simplify Python version check
* Fix lint
* Remove unneeded try/except and queue listener appproriately.
* Fix tuple vs. list unorderable error on version compare.
* Fix version tests
2016-09-12 19:16:14 -07:00
Paulus Schoutsen
35b388edce
Reload groups ( #3203 )
...
* Allow reloading groups without restart
* Test to make sure automation listeners are removed.
* Remove unused imports for group tests
* Simplify group config validation
* Add prepare_reload function to entity component
* Migrate group to use entity_component.prepare_reload
* Migrate automation to use entity_component.prepare_reload
* Clean up group.get_entity_ids
* Use cv.boolean for group config validation
2016-09-07 06:59:16 -07:00
Paulus Schoutsen
e9813b219e
Allow reloading automation without restarting HA ( #3002 )
2016-09-04 17:15:52 +02:00
Paulus Schoutsen
7f27cc5468
Fix tests docstring
2016-08-27 07:45:46 +01:00
Paulus Schoutsen
3fa1963345
Convert automation to entities with services
2016-08-25 23:36:48 -07:00
Paulus Schoutsen
6354399d55
Initial script condition support ( #1910 )
2016-04-28 12:03:57 +02:00
Paulus Schoutsen
612a017bc6
Automation: Allow embedding script definition
2016-04-21 22:36:14 -04:00
Paulus Schoutsen
4e568f8b99
Automation: Add trigger context and expose to action
2016-04-21 13:59:42 -07:00
Paulus Schoutsen
68d92c3196
Use standardised datetime format
2016-04-16 01:46:50 -07:00
Paulus Schoutsen
8ef542927f
Add automation config validation
...
* Add automation config validation
* Remove unnecessary dict validator
* Downgrade voluptuous to 0.8.9
* Fix linting
* Address issues
2016-04-04 12:18:58 -07:00
Paulus Schoutsen
956f6056f9
Remove support for old deprecated automation config
2016-03-13 00:00:05 -08:00
Fabian Affolter
9838697d2b
Fix PEP257 issues
2016-03-09 10:25:50 +01:00
Stefan Jonasson
e4485dcf3d
Updated structure, added more tests
2016-02-22 09:40:27 +01:00
Stefan Jonasson
6e7ca9505c
Removed unused import
2016-02-20 22:25:41 +01:00
Stefan Jonasson
f3c95adaca
Fixed now => utcnow
...
Fixed added time patch to unittest
2016-02-20 22:15:49 +01:00