Paulus Schoutsen
08cc9fd375
Add cloud account linking support ( #28210 )
...
* Add cloud account linking support
* Update account_link.py
2019-10-25 16:04:24 -07:00
SteveDinn
25fd930d67
Add template filters to convert objects to and from JSON strings ( #27909 )
...
* Added filters to convert objects to and from JSON strings.
* Added extra spacing.
* Removed try/catch to get native exceptions
* Added tests.
2019-10-22 22:51:29 -07:00
Paulus Schoutsen
b6c26cb363
Introduce new OAuth2 config flow helper ( #27727 )
...
* Refactor the Somfy auth implementation
* Typing
* Migrate Somfy to OAuth2 flow helper
* Add tests
* Add more tests
* Fix tests
* Fix type error
* More tests
* Remove side effect from constructor
* implementation -> auth_implementation
* Make get_implementation async
* Minor cleanup + Allow picking implementations.
* Add support for extra authorize data
2019-10-18 13:06:33 -07:00
Robbert Müller
7a156059e9
Switch on/off all lights, and wait for the result ( #27078 )
...
* Switch on/off all lights, and wait for the result
Reuses the parallel_updates semaphore.
This is a small crutch which serializes platforms which already do tis
for updates. Platforms which can parallelize everything, this makes it
go faster
* Fix broken unittest
With manual validation, with help from @frenck, we found out that the
assertions are wrong and the test should be failing.
The sequence requested is
OFF
ON
without cancelation, this code should result in:
off,off,off,on,on,on
testable, by adding a `await hass.async_block_till_done()` between the
off and on call.
with cancelation. there should be less off call's so
off,on,on,on
* Adding tests for async_request_call
* Process review feedback
* Switch gather with wait
* 👕 running black
2019-10-06 08:23:12 -07:00
Matthew Donoughe
d16edb3ef0
add script shortcut for activating scenes ( #27223 )
...
* add script shortcut for activating scenes
use `- scene: scene.<scene name>` in a script to activate a scene
* Update validation
2019-10-05 13:30:43 -07:00
Santobert
46ac98379e
Add improved scene support to the light integration ( #27182 )
...
* light reproduce state
* Add types
* Fix linting error
* Add tests
* Improve test
* Fix failing tests
* Another try
* avoid repetition
* simplified if
* Remove attributes that are no attributes
2019-10-05 12:43:12 -07:00
Franck Nijhof
2e17ad86af
Adds guards for missing information in call stack frames ( #27217 )
2019-10-05 11:59:33 +02:00
Erik Montnemery
e57e7e8449
Improve validation of device trigger config ( #26910 )
...
* Improve validation of device trigger config
* Remove action and condition checks
* Move config validation to own file
* Fix tests
* Fixes
* Fixes
* Small tweak
2019-09-27 17:48:48 +02:00
Bram Kragten
b75639d9d1
Remove lamps and groups from ha when removed from Hue ( #26881 )
...
* Remove light when removed from hue
* add remove_config_entry_id
* Review + bump aiohue
* lint
* Add tests
2019-09-25 14:00:18 -07:00
Paulus Schoutsen
6f27c5ae46
Fix tests
2019-09-10 13:07:55 -07:00
Erik Montnemery
f7dc537275
Add device automation condition ( #26313 )
...
* Add support for device conditions
* Lint
* Update test case
* Make and+or conditions async, adjust tests
* Cleanup tests
* Remove non callback versions of conditions, correct typing
* Correct typing
* Update light/strings.json
* Address review comments
* Make device automation lists simple lists, not dicts
* Add device_automation/const.py
* Use IS_ON/IS_OFF everywhere for conditions
2019-09-05 16:49:32 +02:00
SukramJ
cf3bb300e6
Fix for 0.98: Don't update disabled entities (Homematic IP Cloud) ( #26236 )
...
* Homematic IP Cloud Fix: Don't update disabled entities
* Added enabled to entity.py
* Update test for enabled
* Update entity.py
2019-08-28 13:38:20 -07:00
Paulus Schoutsen
f704a8e90e
Reload config entry when entity enabled in entity registry, remove entity if disabled. ( #26120 )
...
* Reload config entry when disabled_by updated in entity registry
* Add types
* Remove entities that get disabled
* Remove unnecessary domain checks.
* Attach handler in async_setup
* Remove unused var
* Type
* Fix test
* Fix tests
2019-08-22 19:32:43 -05:00
Paulus Schoutsen
aa56b4dd30
Log warning if disabled entities receive updates. ( #26143 )
...
* Log warning if disabled entities receive updates.
* Fix test
* Always set entity ID on disabled entities
2019-08-22 14:12:24 -07:00
Robert Svensson
a2589f56e1
Add system options to config entries ( #25926 )
...
* Add system options to config entries
* For feedback
* Follow most of balloobs comments
* Fix balloobs comments
* Improvements
* Fix second round of Balloobs comments
* Fix third round
* Add system options to mock config entry
* Fix integration tests
* Fix the last failing tests
* Fix disabled string
* Fix failing disabled_by tests
* New tests
* Config entry WS API tests
* Fix comments
2019-08-17 21:34:11 -07:00
Paulus Schoutsen
eba6caf8a1
Entity registry api update disable ( #26015 )
...
* Clean up entity registry WS commands
* Allow updating disabled_by in entity registry
* Allow changing disabled_by via API
* Update tests/components/config/test_entity_registry.py
Co-Authored-By: Robert Svensson <Kane610@users.noreply.github.com>
2019-08-16 16:22:45 -07:00
Paulus Schoutsen
57ef721d5d
Hue tweak registered device type + discovery exception ( #25977 )
...
* Include location name in create user
* Guard against no host in context
* Fix tests and typing
2019-08-16 16:19:00 -07:00
Paulus Schoutsen
6c292846be
Allow entities to indicate they should be disabled by default ( #26011 )
2019-08-16 16:17:16 -07:00
Paulus Schoutsen
cf90e49b50
Make reproduce state use platform instead of rely on function ( #25856 )
...
* Make reproduce state use platform instead of rely on function
* Fix types
* address comment Martin.
2019-08-11 20:03:21 -07:00
Tomi Lehto
5b516fc0cd
Add arcus trigonometry functions to templates ( #25510 )
2019-08-09 11:16:47 -07:00
Joakim Plate
d1b9ebc7b2
Integration requirement check refactor ( #25626 )
...
* Factor out code getting requirements for integration
* Have process requirements raise an exception
* One more lint fix
* Blackify
* Catch new exception
* Let RequirementsNotFound be a HomeAssistantError
* Correct another test
* Split catching of exceptions and avoid complete log
2019-08-07 15:35:50 -07:00
Paulus Schoutsen
7a90808e52
Add service to reload scenes from configuration.yaml ( #25680 )
...
* Allow reloading scenes
* Update requirements
* address comments
* fix typing
* fix tests
* Update homeassistant/components/homeassistant/scene.py
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* Address comments
2019-08-05 23:04:19 +02:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
aschamberger
3512d05467
Add ord() to template filters ( #25398 )
...
* Add ord() to template filters
* Remove trailing whitespace
* add test
2019-07-25 15:06:51 -07:00
Paulus Schoutsen
27d750db1c
Guard module being None ( #25077 )
2019-07-11 09:38:58 +02:00
Paulus Schoutsen
073327831f
Correctly store removed entities for restore state ( #25073 )
...
* Correctly store removed entities for restore state
* Lint
* Do not assume about set encoding
2019-07-10 20:41:03 -07:00
Johann Kellerman
2e26f0bd2b
Add check_config helper ( #24557 )
...
* check_config
* no ignore
* tests
* try tests again
2019-07-10 11:56:50 -07:00
Aaron Bach
a491f97eb9
Allow updating of via_device in device registry ( #24921 )
...
* Allow updating of via_device in device registry
* Added test
2019-07-04 19:10:23 -04:00
Daniel Høyer Iversen
3d2f843c1d
Upgrade pytest to 5.0.0 ( #24885 )
...
* Upgrade pytest to 5.0.0
* exception message for pytest 5
2019-07-01 10:47:42 -04:00
Paulus Schoutsen
06af6f19a3
Entity to handle updates via events ( #24733 )
...
* Entity to handle updates via events
* Fix a bug
* Update entity.py
2019-06-26 09:22:51 -07:00
Penny Wood
22d9bee41a
Template: Expand method to expand groups, and closest as filter ( #23691 )
...
* Implement expand method
* Allow expand and closest to be used as filters
* Correct patch
* Addresses review comments
2019-06-22 00:32:32 -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
Penny Wood
84e6813779
Rename via_hub to via_device ( #24360 )
...
* Rename via_hub to via_device
* Fixed registry interactions
2019-06-10 09:10:44 -07:00
Penny Wood
b30f4b8fc0
Improve boolean validator ( #24294 )
...
* Improve boolean validator
* Remove extra throw
* Remove None test as discussed
* Fix for tests depending on None == False
2019-06-07 22:18:02 -07:00
Paulus Schoutsen
f32d1c0dea
Allow discovery flows to be discovered via zeroconf/ssdp ( #24199 )
2019-05-30 14:08:05 -07:00
Paulus Schoutsen
59ce31f44f
No longer allow invalid slugs or extra keys ( #24176 )
...
* No longer allow slugs
* Lint
* Remove HASchema
* Lint
* Fix tests
2019-05-30 13:33:26 +02:00
Paulus Schoutsen
f995ab9d54
Don't pass in loop ( #23984 )
...
* Don't pass in loop
* Revert some changes
* Lint + Axis revert
* reinstate loop
* Fix a test
* Set loop
* Update camera.py
* Lint
2019-05-22 21:09:59 -07:00
Penny Wood
f991ec15f2
Delete devices / entities when we remove a config entry. ( #23983 )
...
* Remove device when last config entry removed
* Remove entities when config entry removed
* Update tests to use new behaviour
2019-05-19 11:41:39 +02:00
Paulus Schoutsen
1e22c8daca
Automatically generate config flow list ( #23802 )
...
* Add config flow to manifest.json
* Still load config flows via config flow platform
* Fix typo
* Lint
* Update config_flows.py"
* Catch import error when setting up entry
* Lint
* Fix tests
* Fix imports
* Lint
* Fix Unifi tests
* Fix translation test
* Add homekit_controller config flow
2019-05-13 01:16:55 -07:00
Ties de Kock
4004867eda
Split up yaml loaders into multiple files ( #23774 )
...
* Start moving parts of yaml utils to own module
Move parts of yaml loader out of the single large file and start
to create the structure of the yaml loaders in Ansible [0].
[0]: https://github.com/ansible/ansible/tree/devel/lib/ansible/parsing/yaml
* Finish yaml migration, update tests and mocks
* Move code around to finish the migration
* Update the mocks so that `open` is patched in
`homeassistant.util.yaml.loader` instead of
`homeassistant.util.yaml`.
* Updated mypy ignores
* Updated external API of `homeasistant.util.yaml`, see below:
Checked what part of the api of `homeassistant.util.yaml` was actually
called from outside the tests and added an `__ALL__` that contains only
these elements.
Updated the tests so that references to internal parts of the API (e.g.
the yaml module imported into `homeassistant.util.yaml.loader`) are
referenced directly from `homeassistant.util.yaml.loader`.
In `tests/test_yaml.py` the import `yaml` refers to
`homeassistant.util.yaml` and `yaml_loader` refers to `~.loader`.
Future work that remains for the next iteration is to create a custom
SafeConstructor and refers to that instead of monkey patching `yaml` with
custom loaders.
* Update mocks in yaml dumper, check_config
2019-05-09 09:07:56 -07:00
Paulus Schoutsen
07ee3b2eb9
Add update events to registries ( #23746 )
...
* Add update events to registries
* Add to websocket
2019-05-07 20:04:57 -07:00
Penny Wood
5b9d01139d
render_with_collect method for template ( #23283 )
...
* Make entity_filter be a modifiable builder
* Add render_with_collect method
* Use sync render_with_collect and non-class based test case
* Refactor: Template renders to RenderInfo
* Freeze with exception too
* Finish merging test changes
* Removed unused sync interface
* Final bits of the diff
2019-05-01 10:54:25 +08:00
Andrew Sayre
cfaaae661a
Add core APIs to migrate device identifiers and entity unique_id ( #23481 )
...
* Add device identifiers migration
* Add entity unique_id migration
* Update per arch issue
* Move to existing update methods
2019-04-30 10:04:37 -07:00
Erik Montnemery
407e0c58f9
Migrate tests to pytest ( #23544 )
...
* Migrate tests to pytest
* Fixup
* Use loop fixture in test_check_config
* Lint
2019-04-30 09:20:38 -07:00
Andrew Sayre
b5725f8f19
Fix supported features gates in media_player volume up/down services ( #23419 )
...
* Correct media player feature gates
* Fix failing test
* Lint...
2019-04-25 21:42:39 -07:00
Paulus Schoutsen
b0d893afc9
Remove loader.get_component ( #23111 )
...
* Remove get_component
* Lint
2019-04-14 22:31:01 -07:00
Paulus Schoutsen
d722f4d64a
Further integration load cleanups ( #23104 )
...
* Further integration load cleanups
* Fix tests
* Unflake MQTT vacuum command test
2019-04-14 19:07:05 -07:00
Paulus Schoutsen
6b0180f753
Fix demo ( #23087 )
...
* Fix demo
* Fix types
* Fix all the things
* Fix type
* Fix test
* Lint
2019-04-14 16:59:06 -07:00
Aaron Bach
fc481133e7
Create decorator to check service permissions ( #22667 )
...
* Create decorator to check service permissions
* Typing
* Linting
* Member comments
* Linting
* Member comments
* Updated import
* Owner comments
* Linting
* Linting
* More work
* Fixed tests
* Removed service helper tests in RainMachine
* Linting
* Owner comments
* Linting
* Owner comments
Co-Authored-By: bachya <bachya1208@gmail.com>
2019-04-13 13:54:29 -06:00
Paulus Schoutsen
3f69d0283d
Convert translation helper to use async_get_integration ( #23054 )
...
* Convert translation helper to use async_get_integration
* Simplify after comments
* Lint
* Fix typing
* Typo
2019-04-12 17:10:19 -07:00