Paulus Schoutsen
6ee3c1b3e5
Hello Python 3.5 ( #12610 )
...
* Hello Python 3.5
* Fix test
* Fix tests
* Fix never awaited block till done warnings
2018-02-22 23:22:27 -08:00
Ville Skyttä
55ee8959ba
Spelling fixes ( #11940 )
2018-01-27 11:58:27 -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
Paulus Schoutsen
1b4be0460c
Log exceptions that happen during service call ( #11394 )
...
* Log exceptions that happen during service call
* Lint
2018-01-01 15:32:39 -08: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
milanvo
7987065ad7
Fix recorder crash for long state string - enforce at core level ( #9696 )
...
* Recorder exception catch for long state string
* Revert - Recorder exception catch for long state string
* Validate state length at core level
* Revert - this reverts commit 9d6bd017d9
.
* Revert - Recorder exception catch for long state string
* Fix state TypeError
* Test for long state exception
2017-10-25 09:05:30 -07: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
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
Daniel Høyer Iversen
1892eb654f
Is_allowed_path raise for None path ( #8953 )
...
* is_allowed_path
* Fix #8948
* assert path is not None
* Update test_core.py
* Update test_core.py
* Update test_core.py
2017-08-15 15:41:37 +02:00
Paulus Schoutsen
d3be056d15
Expose all components on hass [Concept] ( #8490 )
...
* Add components concept
* Lint
* Raise ImportError if component not found
2017-07-16 09:23:06 -07: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
Pascal Vizeli
ee7d4710c4
Fix pathlib resolve ( #8311 )
...
* Fix pathlib resolve
* fix test
2017-07-03 07:24:08 +02:00
Eugenio Panadero
e39f7d3ef5
Fix homeassistant.start trigger ( #8220 )
...
* Fix homeassistant.start trigger
* ooops
* set sleep(0) just before changing to running state, revert async_block_till_done changes
2017-06-27 10:36:00 +02:00
Pascal Vizeli
442dcd584b
Improve executor pool size / speedup python 3.5 ( #8215 )
...
* Improve executor pool size / speedup python36
* fix style
* Add comment
2017-06-26 18:18:42 -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
Pascal Vizeli
2dd7f0616e
Add security layer to send file output things ( #8189 )
...
* Add security layer to send file output things
* Make telegram secure
* fix lint
* fix handling
* invert check
* resolve relative paths
* add test for relative paths
* fix lint
* fix tests
* Address paulus comments
* fix style
* fix tests
* Add more tests
* fix tests
* fix tests
* fix test p2
* fix lint
* fix tests
* Make it available for windows
* Change name / address comments
* fix set
* fix test
* fix tests
* fix test
* fix lint
2017-06-26 00:10:30 +02:00
Paulus Schoutsen
db0efc647d
New component: Python Script ( #7950 )
...
* Add initial version
* Fix requirements
* Prefer logging over printing
* Set executor thread name on >Py36 only
* Add tests
* Lint
* Add restrictedpython to test dependencies
* Create python_script.py
From doc:
```
However, an empty dict ({}) is treated as is. If you want to specify a list that can contain anything, specify it as dict:
>>> schema = Schema({}, extra=ALLOW_EXTRA) # don't do this
>>> try:
... schema({'extra': 1})
... raise AssertionError('MultipleInvalid not raised')
... except MultipleInvalid as e:
... exc = e
>>> str(exc) == "not a valid value"
True
>>> schema({})
{}
>>> schema = Schema(dict) # do this instead
>>> schema({})
{}
>>> schema({'extra': 1})
{'extra': 1}
```
2017-06-09 12:38:40 +02:00
Fabian Affolter
4d52b0ecd5
Update docstrings ( #7405 )
...
* Update docstrings
* Fix lint issues
* Update docstrings
2017-05-02 22:47:20 +02:00
Fabian Affolter
3ee4d1060f
Update docstrings ( #7361 )
...
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* Update docstrings
* Update tomato.py
* Update isy994.py
* Lint + fix tests
* Lint
2017-04-29 22:04:49 -07:00
Fabian Affolter
cfc023e128
Don't use len(SEQUENCE) as condition value ( #7249 )
...
* Don't use len(SEQUENCE) as condition value
* Update volvooncall.py
2017-04-23 20:41:09 -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
b52cabf2c0
Bugfix wait on start event ( #7013 )
...
* Bugfix wait on start event
* Paulus sugestion
* Change handling with stop_track_task
* Add new unittests
* Update test_core.py
2017-04-11 09:09:31 -07:00
Paulus Schoutsen
5d3fe83e62
Warn if start takes a long time. ( #6975 )
...
* Warn if start takes a long time.
* ps - cleanup
* Tweak message
* Add tests
* Tweak messagE
2017-04-08 14:53:32 -07:00
Paulus Schoutsen
64174f5763
Fix control+c quitting HASS ( #6974 )
2017-04-07 21:02:49 +02:00
Pascal Vizeli
74ac160355
Bugfix time and task coro ( #6968 )
...
* Bugfix time and task coro
* fix also other create_task
* fix tests
* fix lint in test
2017-04-06 21:00:58 -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
e265401cd0
self.loop.create_task -> self.add_job ( #6632 )
...
* self.loop.create_task -> self.add_job
* Core to use create task
2017-03-16 06:58:54 +01:00
Pascal Vizeli
c937a7bcb0
Add support for remove services / Reload script support ( #6441 )
...
* Add support for remove services / Reload script support
* Reload support for scripts
* Add more unittest for services
* Add unittest for script reload
* Address paulus comments
2017-03-07 22:51:34 -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
Pascal Vizeli
41849eab06
Core cleanup: two stage shutdown ( #5876 )
...
* Core cleanup: two stage shutdown
* fix spell
* fix
* add async logger to close
* change aiohttp to use CLOSE
* address paulus comments
* Fix tests
* Add unittest
2017-02-13 06:24:07 +01:00
Paulus Schoutsen
6ffab53377
Core: cleanup timer ( #5825 )
...
* Minor core cleanup
* Cleanup timer
* Lint
* timeout with correct loop
* Improve timer thanks to pvizeli
* Update core.py
* More tests
2017-02-10 09:00:17 -08:00
Paulus Schoutsen
c54517de90
Convert config.components to a set ( #5824 )
2017-02-09 20:21:57 +02:00
Pascal Vizeli
2cbed9cd96
Move signal handling out of core to bootstrap ( #5815 )
...
* Move signal handling out of core to bootstrap
* Fix tests
2017-02-08 21:58:45 -08:00
Pascal Vizeli
3f82ef64a1
Move core service from core to components ( #5787 )
...
* Move core servcie from core to components
* add new handler for signals/exception
* Static persistent id
* Move unittest
* fix coro/callback
* Add more unittest for new services
* Address comments
* Update __init__.py
2017-02-08 09:17:52 -08:00
andrey-git
f774538e66
Check config before restarting ( #5609 )
...
* Check config before restarting.
* Make check_config on restart async
* don't check if notification service exists
* Use .communicate()
* Reduce the number of notifications. Add tests.
2017-02-07 01:19:08 -08:00
Fabian Affolter
2ed0e76e7c
Add elevation to as_dict and use unified style for quoting ( #5448 )
2017-01-19 23:55:29 -08:00
Pascal Vizeli
50a8ec7335
Bugfix aiohttp connector pool close on shutdown ( #5190 )
...
* Bugfix aiohttp connector pool close on shutdown
* fix circular import
* remove lint disable
2017-01-05 23:09:04 +01:00
Paulus Schoutsen
01e6bd2c92
Gracefully exit with async logger ( #4965 )
...
* Gracefully exit with async logger
* Lint
2016-12-18 00:14:59 -08:00
Pascal Vizeli
50c8224365
Bugfix async log handler ( #4954 )
...
* Bugfix async log handler
* fix boostrap test
* Use hass.data for store handler and cleanup on async_stop
* Update bootstrap.py
2016-12-17 12:21:52 -08:00
Pascal Vizeli
1d60760e21
Protect add_job ( #4932 )
2016-12-15 21:30:09 -08:00
Paulus Schoutsen
b35fa4f1c1
Finish all tasks before setup phase is done ( #4606 )
2016-11-30 13:02:45 -08:00
Pascal Vizeli
cf57db919e
Refactory aiohttp clientsession handling in HA ( #4602 )
...
* Refactory aiohttp clientsession handling in HA
* remove from core / update platforms / rename file
2016-11-27 16:26:46 -08:00
Paulus Schoutsen
febe16d700
Set executor pool size to 10 ( #4571 )
2016-11-24 14:56:33 -08:00
Paulus Schoutsen
eacdce9ed9
Track tasks only during shutdown and tests ( #4428 )
...
* Track tasks only when needed
* Tweak async_block_till_done
2016-11-24 14:49:29 -08:00
Paulus Schoutsen
42c99b0ccb
Pass hass object to ServiceRegistry constructor ( #4570 )
2016-11-24 14:02:39 -08:00
Pascal Vizeli
c04a002c55
Hotfix executor pool size ( #4552 )
2016-11-23 09:52:03 -08:00
Paulus Schoutsen
726bc5b670
Do not report on shutting down errors ( #4431 )
...
* Do not report on shutting down errors
* Lint
2016-11-17 12:02:43 -08:00
Paulus Schoutsen
38d201a54a
Increase logging level of errors while doing jobs ( #4429 )
2016-11-16 23:01:14 -08:00
Pascal Vizeli
c8bc1e3c5d
change add_job to use call_soon_threadsafe ( #4410 )
...
* change add_job to use call_soon_threadsafe
* address comments from paulus
* Tweak core tests
* Fix tests Python 3.4.2
2016-11-16 20:00:08 -08:00
Pascal Vizeli
71da21dcc8
Change pending task sheduler to time based cleanup ( #4324 )
...
* Change pending task sheduler to time based cleanup
* update unittest
2016-11-09 08:41:17 -08:00