Paulus Schoutsen
9384e2c963
Pr/11430 ( #11587 )
...
* Fix error when name is non-latin script
When the name is non-latin script (e.g. Japanese), slugify returns empty string and causes failure in a later stage. This commit fixes the issue by using default name.
* Add test
2018-01-11 15:26:48 -08:00
Anders Melchiorsen
9e0ca719ed
Deprecate explicit entity_id in template platforms ( #11123 )
...
* Deprecate explicit entity_id in template platforms
* Use config validator for deprecation
* Fix copy/paste typos
* Also print the config value
* Add test for config validator
* Assert the module name that logged the message
2018-01-10 00:06:26 -08:00
Anders Melchiorsen
8267a21bfe
Lazy loading of service descriptions ( #11479 )
...
* Lazy loading of service descriptions
* Fix tests
* Load YAML in executor
* Return a copy of available services to allow mutations
* Remove lint
* Add zha/services.yaml
* Only cache descriptions for known services
* Remove lint
* Remove description loading during service registration
* Remove description parameter from async_register
* Test async_get_all_descriptions
* Remove lint
* Fix typos from multi-edit
* Remove unused arguments
* Remove unused import os
* Remove unused import os, part 2
* Remove unneeded coroutine decorator
* Only use executor for loading files
* Cleanups suggested in review
* Increase test coverage
* Fix races in existing tests
2018-01-07 14:54:16 -08:00
Odin Ugedal
0668fba7bd
Add support for logarithm in templates ( #10824 )
...
* Add support for logarithm in templates
This adds a 'log' filter that takes the logarithm of the given value,
with an optional base number. The base defaults to 'e' - the natural
logarithm
* Remove usage of log10 in template filter 'log'
* Add logarithm as a global
This makes it possible to write:
'{{ log(4, 2) }}'
2017-11-27 21:29:01 -08:00
Fabian Affolter
d25f676711
Move temperature display helper from components to helpers ( #10555 )
2017-11-14 10:36:18 +01:00
Paulus Schoutsen
4e8e04fe66
Clean up core ( #10305 )
...
* Clean up core
* Lint
* Fix tests
* Address comment
* Update entity.py
* romve test for forward update to async_update
* fix lint
2017-11-03 14:19:36 +01:00
Matt White
9eaa057739
Add EntityFilter helper ( #10221 )
...
* Add EntityFilter helper
* Changes in entityfilter after code review
* Convert recorder to use EntityFilter
* Fix flake/lint errors in recorder
* Update entity filter helper to return function
* Update recorder to use updated entity filter
* Better docstrings in entityfilter
* Update entityfilter.py
2017-10-31 21:54:50 -07:00
Adam Mills
ee56e33193
Add regression test for entity ID update bug ( #10037 )
2017-10-22 14:23:20 -04:00
Pascal Vizeli
56cbfb5f2a
Fix device update / entity_id with names ( #10029 )
...
* Fix device update
* Add tests
* add test for disabled warning
2017-10-22 08:40:00 -07:00
Pascal Vizeli
c1b197419d
Fix async probs ( #9924 )
...
* Update entity.py
* Update entity_component.py
* Update entity_component.py
* Update __init__.py
* Update entity_component.py
* Update entity_component.py
* Update entity.py
* cleanup entity
* Update entity_component.py
* Update entity_component.py
* Fix names & comments / fix tests
* Revert deadlock protection
* Add tests for entity
* Add test fix name
* Update other code
* Fix lint
* Remove restore state from template entities
* Lint
2017-10-19 10:56:25 +02: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
happyleavesaoc
b83059c828
move icon battery function from util to helpers ( #9708 )
2017-10-05 20:55:19 -07:00
BioSehnsucht
3c0d02f057
Rename input_slider to input_number and add numeric text box option ( #9494 )
...
* * Rename input_slider to input_number
* Update input_number to optionally display slider, input box, or both
* input_number support either input box or slider mode, but not both
* input_number : change service from select_value to set_value
* input_number : add test for mode setting to tests
2017-10-03 21:34:13 +02:00
Adam Mills
c4810da82f
Unit tests to improve core coverage ( #9659 )
...
* Code coverage of logging util
* Improve async util coverage
* Add test coverage for restore_state
* get_random_string test
2017-10-02 20:25:04 -07:00
Lukas Barth
236d5f8742
Add an input_datetime ( #9313 )
...
* Initial proposal for the input_datetime
* Linting
* Further linting, don't define time validation twice
* Make pylint *and* flake8 happy at the same time
* Move todos to the PR to make lint happy
* Actually validate the type of date/time
* First testing
* Linting
* Address code review issues
* Code review: Remove forgotten print()s
* Make set_datetime a coroutine
* Create contains_at_least_one_key_value CV method, use it
* Add timestamp to the attributes
* Test and fix corner case where restore data is bogus
* Add FIXME
* Fix date/time setting
* Fix Validation
* Merge date / time validation, add tests
* Simplify service data validation
* No default for initial state, allow 'unknown' as state
* cleanup
* fix schema
2017-09-28 23:57:49 +02:00
Michael Prokop
08b0629eca
Fix a bunch of typos ( #9545 )
...
s/Addres /Address /
s/Chnage/Change/
s/Converion/Conversion/
s/Supressing/Suppressing/
s/agains /against /
s/allready/already/
s/analagous/analogous/
s/aquired/acquired/
s/arbitray/arbitrary/
s/argment/argument/
s/aroung/around/
s/attibute/attribute/
s/auxillary/auxiliary/
s/befor /before /
s/commmand/command/
s/conatin/contain/
s/conection/connection/
s/coresponding/corresponding/
s/entites/entities/
s/enviroment/environment/
s/everyhing/everything/
s/expected expected/expected/
s/explicity/explicitly/
s/formated/formatted/
s/incomming/incoming/
s/informations/information/
s/inital/initial/
s/inteface/interface/
s/interupt/interrupt/
s/mimick/mimic/
s/mulitple/multiple/
s/multible/multiple/
s/occured/occurred/
s/occuring/occurring/
s/overrided/overridden/
s/overriden/overridden/
s/platfrom/platform/
s/positon/position/
s/progess/progress/
s/recieved/received/
s/reciever/receiver/
s/recieving/receiving/
s/reponse/response/
s/representaion/representation/
s/resgister/register/
s/retrive/retrieve/
s/reuqests/requests/
s/segements/segments/
s/seperated/separated/
s/sheduled/scheduled/
s/succesfully/successfully/
s/suppport/support/
s/targetting/targeting/
s/thats/that's/
s/the the/the/
s/unkown/unknown/
s/verison/version/
s/while loggin out/while logging out/
2017-09-23 17:15:46 +02:00
Pascal Vizeli
90f9a6bc0a
Cleanup and simplitfy the async state update ( #9390 )
...
* Cleanup and simplitfy the async state update
* Update test_entity.py
2017-09-12 10:01:03 +02: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
5629157740
Allow getting number of available states in template ( #9158 )
2017-08-27 18:33:25 +02:00
Paulus Schoutsen
b282167f26
Add state_with_unit property to state objects in templates ( #9014 )
...
* Wrap state objects in templates
* Fix tests
* Fix bugs
* Lint
* Remove invalid state warning
2017-08-17 23:19:35 -07:00
Russell Cloran
ac72dea09a
Add support for Prometheus ( #8211 )
...
Prometheus (https://prometheus.io/ ) is an open source metric and alerting
system. This adds support for exporting some metrics to Prometheus, using
its Python client library.
2017-07-10 21:20:17 -07:00
Paulus Schoutsen
d73b695e73
EntityComponent to retry platforms that are not ready yet ( #8209 )
...
* Add PlatformNotReady Exception
* lint
* Remove cap, adjust algorithm
2017-06-26 09:41:48 -07:00
Paulus Schoutsen
18935440ed
Fix EntityComponent handle entities without a name ( #8065 )
...
* Fix EntityComponent handle entities without a name
* Implement solution by Anders
2017-06-17 10:50:59 -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
Paulus Schoutsen
f43db3c615
Replace executor with async_add_job ( #7658 )
...
* Remove executor
* Lint
* Lint
* Fix tests
2017-05-26 08:28:07 -07:00
Paulus Schoutsen
d0c9d6b69a
Remove usage of event_loop fixture ( #7776 )
2017-05-25 21:40:36 -07:00
Anton Sarukhanov
7055fddfb4
Don't block startup more than 60 seconds while waiting for components. ( #7739 )
2017-05-23 14:29:27 -07:00
Anton Sarukhanov
f3dabe21ab
Prevent the random template filter from caching its output. Fixes #5678 ( #7716 )
2017-05-23 10:32:06 -07:00
Anders Melchiorsen
bb8de5845a
Sort entities in default groups by name ( #7681 )
...
* Sort entities in default groups by name
* Cleanups from review
2017-05-21 17:05:48 -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
Adam Mills
7dd7f509ca
Add tests for deprecation helpers ( #7452 )
2017-05-06 10:10:48 -07:00
Paulus Schoutsen
9afbbbf3fe
Remove ordered_dict validator ( #7375 )
...
* Remove ordered_dict validator
* Lint
* Update test_config_validation.py
2017-04-30 10:55:03 -07:00
Anders Melchiorsen
5fa8037231
Always return True/False from is_state and is_state_attr ( #7138 )
...
* Always return True/False from is_state and is_state_attr
These functions are documented to always return True/False but the
short-circuit evaluation would return None if the entity_id did not exist.
* Reword into a single statement
2017-04-16 16:36:15 -07:00
Pascal Vizeli
d7ca9e7a66
Make core to look avilable state of device on servicecall ( #7045 )
2017-04-11 08:59:46 -07:00
Paulus Schoutsen
714b516176
aiohttp 2 ( #6835 )
...
* Upgrade aiohttp2
* Fix resource caching
* Fix helpers.aiohttp_client
* Lint
* Use static path for api error_log
* Fix ClientErrors import
* Remove not needed DisconnectError
* Remove releasing responses code
* Add timeout if stream starts non responding
* More async_aiohttp_proxy_stream cleanup
* Fix references to ClientError
* Fix fingerprinting
* Fix aiohttp stream tests
* Rename aiohttp_proxy_stream
* Remove impossible darksky test
* Fix sleepiq requests escaping mocker
* Lint
* Remove deprecated parameter
* Break up aiohttp_proxy_stream in 2 methods
* Lint
* Upgrade to aiohttp 2.0.4
* Convert connector close to a callback
* Fix static fingerprinted links
2017-03-30 00:50:53 -07:00
Adam Mills
efbd66bca1
Fix flaky template test ( #6768 )
2017-03-23 20:56:39 -07:00
Paulus Schoutsen
96e22c7b41
Remove event decorators ( #6634 )
2017-03-15 14:46:57 +01:00
Pascal Vizeli
5529d77c62
Prevent entities running multiple updates simultaneously ( #6511 )
...
* Protect entity for multible updates on same time.
* Address all comments / make update more robust
* fix unittest
* fix lint
* address comments
2017-03-14 09:26:55 -07:00
Paulus Schoutsen
bb4f23f8e7
Add warning for slow platforms/components ( #6467 )
...
* Add warning for slow platforms/components
* Add test for slow component setup.
* Add test for slow platform setup
* Fix tests on Py34
2017-03-07 20:31:57 -08:00
Paulus Schoutsen
e8a22cb4a8
Tweak recorder/restore_state ( #6412 )
...
* Tweak recorder/restore_state
* Lint
2017-03-05 10:52:08 +01:00
Paulus Schoutsen
2650c73a89
Split bootstrap into bs + setup ( #6416 )
...
* Split bootstrap into bs + setup
* Lint
2017-03-05 10:41:54 +01:00
Pascal Vizeli
8232f1ef65
Cleanup async handling ( #6388 )
...
* Cleanups unneeded blocks
* Cleanup bootstrap
* dedicated update_ha_state
* Fix imap_email_content
* fx tests
* Fix lint & spell
2017-03-04 15:10:36 -08:00
Jose Juan Montes
4da2156ebf
Return None instead of raising ValueException from as_timestamp template function. ( #6155 )
2017-03-02 22:18: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
61909e873f
Feature/reorg recorder ( #6237 )
...
* Re-organize recorder
* Fix history
* Fix history stats
* Fix restore state
* Lint
* Fix session reconfigure
* Move imports around
* Do not start recording till HASS started
* Lint
* Fix logbook
* Fix race condition recorder init
* Better reporting on errors
2017-02-26 14:38:06 -08:00
Johann Kellerman
5d007e636b
No wait for start and more async
2017-02-25 17:51:37 +02:00
Pascal Vizeli
81ca978413
Move mqtt from eventbus to dispatcher / add unsub for dispatcher ( #6206 )
...
* Move mqtt from eventbus to dispatcher / add unsub for dispatcher
* Fix lint
* Fix test
* Fix lint v2
* fix dispatcher_send
2017-02-24 17:11:50 -08:00