Franck Nijhof
3cc94f7d6a
ConfigFlow default discovery without unique ID ( #36754 )
2020-06-15 13:38:38 +02:00
Paulus Schoutsen
1ffa8fcbba
Platforms cleanup when adding entity fails ( #36742 )
2020-06-12 17:54:46 -07:00
Erik Montnemery
14bff5a375
Abort other config flows on import ( #36608 )
...
* Abort other flows on import
* Add test
2020-06-10 22:46:14 +02:00
Paulus Schoutsen
8f3c84b349
Mark config dependency of frontend ( #36587 )
2020-06-09 23:27:47 -07:00
Ville Skyttä
29b8f76e57
Use past tense in messages for already invalidated deprecated configs ( #36591 )
2020-06-09 23:26:55 -07:00
Ville Skyttä
0c5ca3084e
Add and fix type hints ( #36501 )
...
* Fix exceptions.Unauthorized.permission type
* Use auth.permission consts more
* Auth typing improvements
* Helpers typing improvements
* Calculate self.state only once
2020-06-06 20:34:56 +02:00
Erik Montnemery
7722e417ad
Stable device id when a deleted device is restored ( #36309 )
...
* Stable device id when a deleted device is restored.
* Tweak
* Store only basic data for deleted devices
* Simplify code
* Simplify code
* Address review comments.
* Improve test
* Fix missing save
2020-06-02 21:22:08 +02:00
Franck Nijhof
e86bedb223
Prevent possible secret values to show up in deprecation logs ( #36368 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-02 17:29:59 +02:00
Franck Nijhof
0629b30ade
Correct inst method names in system info, add Docker version ( #36360 )
2020-06-02 10:50:34 +02:00
Paulus Schoutsen
276f3afb00
Do async_setup_platform in background ( #36244 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2020-05-31 22:18:30 -07:00
Phil Bruckner
1e9ec917f6
Add support for simultaneous runs of Script helper - Part 3 ( #36202 )
2020-05-27 15:10:28 -07:00
Ville Skyttä
f8416484f8
More data entry flow and HTTP related type hints ( #34430 )
2020-05-26 09:28:22 -05:00
Robert Chmielowiec
d21cfd869e
Fix service registration supported features check ( #35718 )
2020-05-23 18:11:51 +02:00
Andre Lengwenus
919f3243de
Fix device_registry cleanup behavior ( #35977 )
...
* Fix: Only decives which are not referenced by an entity or a config_entry are removed
* Adapted test for async_cleanup
* Changed variable names
2020-05-23 09:46:03 +02:00
J. Nick Koston
6d03496372
Ensure storage write consume the data under the lock ( #35889 )
...
If two writes trigger at the same time the data would already
be consumed.
2020-05-21 10:27:40 +02:00
Bram Kragten
cb7b8d94c0
Add check for HTML in translations ( #35615 )
...
* Add check for HTML in translations
and remove existing html
* Add test
2020-05-14 19:33:14 +02:00
Martin Hjelmare
2a120d9045
Patch aiohttp client session close ( #34769 )
...
* Patch aiohttp client session close
* Add test
* Restore close regardless of auto_cleanup
* Close session instead of detaching and do not restore
* Delint test
* Add frame helper
* Use frame helper
* Test warning log when closing session
* Clean up
* Correct docstring
* Do not change shutdown
* Fix tests
2020-05-13 09:58:33 +02:00
Franck Nijhof
eddb5c6c3f
Add more system information from Supervisor ( #35560 )
2020-05-12 15:27:34 -07:00
Thomas Hollstegge
8f285c15d3
Listen for group member state changes when using `expand` in templates ( #35398 )
...
* Re-evaluate template on group member state change
* Use named groups for entity extraction regex
This will avoid unnecessary edits of match indices if the regex is
amended in the future
* Improve test coverage
2020-05-10 10:48:56 -05:00
Franck Nijhof
e3e3a113e9
async_get_url -> get_url ( #35382 )
2020-05-08 21:53:28 +02:00
Franck Nijhof
e56dd8ed50
Detect use of deprecated base_url ( #35353 )
...
* Detect use of deprecated base_url
* Update get_url helper
* Update core migration
* Migrate all tests
2020-05-08 17:52:32 +02:00
Franck Nijhof
2223592486
Add get_url helper, deprecate base_url ( #35224 )
2020-05-08 02:29:47 +02:00
Paulus Schoutsen
a330eba61c
Guard bad entity ID in entity registry ( #35271 )
2020-05-05 15:07:54 -07:00
Paulus Schoutsen
4ae31bc938
Clean up device registry if entity registry updates ( #35106 )
2020-05-05 10:53:46 -07:00
Paulus Schoutsen
e54e9279e3
Extract instance ID helper from updater ( #35043 )
2020-05-04 11:23:12 -07:00
Martin Hjelmare
39431c0764
Add required features to cover service registration ( #35073 )
...
* Fix typing in component service method
* Add required features to cover service registration
* Fix template cover tilt features
* Delint template cover tests
2020-05-03 23:21:12 +02:00
Paulus Schoutsen
b90cb09fd1
Add type to device registry ( #35095 )
2020-05-03 13:56:58 -07:00
Ville Skyttä
752679c55d
Check isinstance on collections.abc, not typing classes ( #35087 )
2020-05-02 23:57:48 +02:00
Paulus Schoutsen
b3201523aa
Fix translation merging for custom components without translations ( #35032 )
2020-05-01 11:34:09 -07:00
Paulus Schoutsen
8f9467492d
Remove some passings of loop ( #34995 )
2020-04-30 21:34:51 -07:00
J. Nick Koston
793592b2b8
Config flow for homekit ( #34560 )
...
* Config flow for homekit
Allows multiple homekit bridges to run
HAP-python state is now stored at .storage/homekit.{entry_id}.state
aids is now stored at .storage/homekit.{entry_id}.aids
Overcomes 150 device limit by supporting
multiple bridges.
Name and port are now automatically allocated
to avoid conflicts which was one of the main
reasons pairing failed.
YAML configuration remains available in order to offer entity
specific configuration.
Entries created by config flow can add and remove
included domains and entities without having to restart
* Fix services as there are multiple now
* migrate in executor
* drop title from strings
* Update homeassistant/components/homekit/strings.json
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Make auto_start advanced mode only, add coverage
* put back title
* more references
* delete port since manual config is no longer needed
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-04-30 23:05:06 -05:00
Paulus Schoutsen
6056753a9c
Introduce a singleton decorator ( #34803 )
2020-04-30 16:47:14 -07:00
Franck Nijhof
928d9ec117
Fix not condition validation and entity/device extraction ( #34959 )
2020-05-01 00:15:53 +02:00
J. Nick Koston
13f4393042
Fix flapping reload tests ( #34837 )
2020-04-28 22:58:55 -07:00
Paulus Schoutsen
87801d8aca
Minor helpers cleanup ( #34786 )
2020-04-28 14:31:25 -07:00
Paulus Schoutsen
28f6e79385
Parallelize collections helper ( #34783 )
2020-04-28 14:31:16 -07:00
Paulus Schoutsen
cc14dfa31c
Allow ignoring discovery config flow helper ( #34740 )
2020-04-26 23:35:04 -07:00
Franck Nijhof
c93c6a66e8
Add NOT condition helper ( #34624 )
2020-04-24 09:40:23 -07:00
Paulus Schoutsen
6404882ec4
Allow flows to know if user is in advanced mode ( #34629 )
2020-04-24 09:31:56 -07:00
Paulus Schoutsen
d3bbd9ec65
Delay sync for Google and limit updates to relevant info ( #34622 )
2020-04-24 10:49:11 +02:00
Paulus Schoutsen
e9ff1940d6
Translation fixes and tweaks ( #34489 )
...
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-21 17:57:21 -07:00
J. Nick Koston
96649a7e27
Use registry to find linked batteries for homekit ( #33519 )
2020-04-21 17:43:49 -07:00
Joakim Sørensen
730a257f3c
Rename translations dir for integrations ( #34494 )
2020-04-21 16:11:05 -07:00
Martin Hjelmare
fbde040f59
Complete device registry update ( #34500 )
...
* Add manufacturer and model parameters to device registry update
method.
2020-04-21 19:40:16 +02:00
Franck Nijhof
bc5a2da7b7
Add transition support to scenes, cleanup blocking parameter ( #34434 )
2020-04-20 18:07:50 -07:00
Mikael Svensson
ccc818266b
Fix relative_time datetime object without timezone ( #34273 )
2020-04-20 10:29:12 -07:00
Paulus Schoutsen
4720a7a891
Add foundation for state translations ( #34443 )
2020-04-19 20:35:49 -07:00
J. Nick Koston
0abcf2d176
Optimize async_generate_entity_id ( #34440 )
2020-04-19 18:19:11 -05:00
Paulus Schoutsen
26f78132ae
Fix circular import ( #34441 )
2020-04-19 14:41:52 -07:00
Paulus Schoutsen
d10f5a48d4
Fix translations merging ( #34417 )
...
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
2020-04-19 12:37:44 -07:00
Paulus Schoutsen
98f1548f2d
Allow fetching translations by categories ( #34329 )
2020-04-18 17:13:13 -07:00
Ville Skyttä
267d98b5eb
Type hint improvements ( #33082 )
2020-04-17 11:33:58 -07:00
Paulus Schoutsen
ff469cb592
Update Coordinator: Only schedule a refresh if listenerrs ( #34317 )
2020-04-16 16:44:14 -07:00
Paulus Schoutsen
94a3cec4bf
Take integration title from manifest if not translated ( #34283 )
2020-04-16 08:38:54 -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
6d24a65313
Various light test improvements ( #34131 )
2020-04-13 15:33:04 +02:00
springstan
00b6409b76
Use LENGTH_METERS constant ( #34110 )
2020-04-12 21:44:56 +02:00
Ville Skyttä
9b7e31eca3
Make f-strings without placeholder normal strings ( #33938 )
2020-04-10 09:59:06 +02:00
springstan
9a40d5b7ed
Use HTTP_NOT_FOUND constant ( #33835 )
2020-04-09 00:57:47 +02:00
springstan
fca90a8ddc
Improve string formatting v5 ( #33697 )
...
* Improve string formatting v5
* Address review comments
2020-04-05 17:48:55 +02:00
Franck Nijhof
7d3c974747
Use set & dict literals ( #33636 )
...
Co-authored-by: Daniel Høyer Iversen <mail@dahoiv.net>
2020-04-04 20:05:15 +02:00
Franck Nijhof
b9b1cee403
Enable pylint import-outside-toplevel ( #33631 )
2020-04-04 17:07:36 +02:00
Paulus Schoutsen
dc7127aacf
Data Coordinator to return unsub func ( #33588 )
2020-04-03 20:15:42 +02:00
Paulus Schoutsen
aef06a3544
Directly call write state 2 ( #33513 )
...
* Directly call async_write_ha_state pt2
* Directly call async_write_ha_state pt2
* Fix mock
* Address comments
2020-04-03 09:34:50 +02:00
David F. Mulcahey
8b0a0ee521
Don't write storage to disk while stopping ( #33456 )
...
* Don't write storage to disk while stopping
* rework change
* lint
* remove delay save and schedule final write at stop
* update tests
* fix test component using private methods
* cleanup
* always listen
* use stop in restore state again
* whitelist JSON exceptions for later
* review comment
* make zwave tests use mock storage
2020-04-02 10:25:28 -07:00
Ziv
4dbbf93af9
Replace asyncio.wait with asyncio.gather since wait ignores exceptions ( #33380 )
...
* replace asyncio.wait with asyncio.gather since wait ignores exceptions
fix for test_entity_platform so it expects the exception
* changed to log on failed domains
* discovered that this fix actually removes other uncaught exceptions
* fix in the list of ignored exceptions
* replaced a few ignores on dyson tests that work locally but fail in the CI
* two more tests that are failing on the CI and not locally
* removed assertion on multiple entries with same unique_id - replaced with log and return
reverted test_entity_platform to its original since now there is no exception thrown
* entered all the dyson tests. they all pass locally and probabilistically fail in the CI
* removed unnecessary str() for exception
* added log message for duplicate entity_id / unique_id
* removed log in case of False return value
* added exc_info
* change the use of exc_info
2020-04-01 07:09:13 -07:00
David F. Mulcahey
bcd1eb952c
RFC - Add a 3rd state to the HA shutdown sequence for writing… ( #33358 )
...
* add third stage to hass shutdown
* use 3rd stage in storage
* update core state
* add writing data to multi stop ignore
* update core test
* review comment
* update name based on feedback
2020-03-30 10:18:39 -07:00
Paulus Schoutsen
73c52e668e
Fix dispatcher logging ( #33299 )
2020-03-26 20:44:44 -07:00
Erik Montnemery
867630a4a7
Remove state when entity is removed from registry ( #32184 )
2020-03-26 16:33:50 -07:00
Fabian Affolter
2647296475
Refactor API documentation ( #33217 )
...
* Upgrade Sphinx to 2.4.4
* Refactor API documentation
* Remove left-over
* Remove Markdown from docstring
* Update titels
2020-03-25 13:21:04 -07:00
Eugenio Panadero
fb22f6c301
Add Context support for async_entity removal ( #33209 )
...
* Add Context for async_remove
* Check context in state automation on entity removal
2020-03-24 09:59:17 -07: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
1ff245d9c2
Make sure entity platform services work for all platforms of d… ( #33176 )
...
* Make sure entity platform services work for all platforms of domain
* Register a bad service handler
* Fix cleaning up
* Tiny cleanup
2020-03-23 12:59:36 -07:00
Paulus Schoutsen
f95c3e265d
Fix script logging with name ( #33120 )
2020-03-22 13:29:50 +01:00
Eugenio Panadero
d5e606640c
Fix scheduled update time-drift in data update coordinator ( #32974 )
...
* Fix scheduled update time-drift in data update coordinator
As next schedule is calculated **after** the update is done,
setting now + update_interval makes 1 second drift in practice,
as the tick is 1Hz.
* Floor the utcnow timestamp
to remove sub-second error precision, and generate constant frequency updates
as long as the update takes < 1s.
2020-03-21 16:57:12 -07:00
Ville Skyttä
05abf37046
Type hint improvements ( #32905 )
...
* Complete helpers.entity_component type hints
* Add discovery info type
2020-03-18 19:27:25 +02:00
Franck Nijhof
ff92a8b260
Add update class method to DataUpdateCoordinator ( #32724 )
...
* Add update class method to DataUpdateCoordinator
* Update homeassistant/helpers/update_coordinator.py
Co-Authored-By: Paulus Schoutsen <balloob@gmail.com>
* Move update_method param
* Rename async_update_data to _async_update_data
* Raise NotImplementedError
* Re-raise NotImplementedError
* Remove caplog, not needed anymore
* Don't set last_update_success on NotImplementedError
* Fix test
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-03-13 00:27:19 +01:00
Ville Skyttä
221d5205e4
Upgrade mypy to 0.770, tighten config a bit ( #32715 )
...
* Upgrade mypy to 0.770, related cleanups
https://mypy-lang.blogspot.com/2020/03/mypy-0770-released.html
* Clean up config and make it a notch stricter, address findings
2020-03-12 11:52:20 +01:00
Phil Bruckner
5f5cb8bea8
Add support for simultaneous runs of Script helper - Part 2 ( #32442 )
...
* Add limit parameter to service call methods
* Break out prep part of async_call_from_config for use elsewhere
* Minor cleanup
* Fix improper use of asyncio.wait
* Fix state update
Call change listener immediately if its a callback
* Fix exception handling and logging
* Merge Script helper if_running/run_mode parameters into script_mode
- Remove background/blocking _ScriptRun subclasses which are no longer needed.
* Add queued script mode
* Disable timeout when making fully blocking script call
* Don't call change listener when restarting script
This makes restart mode behavior consistent with parallel & queue modes.
* Changes per review
- Call all script services (except script.turn_off) with no time limit.
- Fix handling of lock in _QueuedScriptRun and add comments to make it
clearer how this code works.
* Changes per review 2
- Move cancel shielding "up" from _ScriptRun.async_run to Script.async_run
(and apply to new style scripts only.) This makes sure Script class also
properly handles cancellation which it wasn't doing before.
- In _ScriptRun._async_call_service_step, instead of using script.turn_off
service, just cancel service call and let it handle the cancellation
accordingly.
* Fix bugs
- Add missing call to change listener in Script.async_run
in cancelled path.
- Cancel service task if ServiceRegistry.async_call cancelled.
* Revert last changes to ServiceRegistry.async_call
* Minor Script helper fixes & test improvements
- Don't log asyncio.CancelledError exceptions.
- Make change_listener a public attribute.
- Test overhaul
- Parametrize tests.
- Use common test functions.
- Mock timeout so tests don't need to wait for real time to elapse.
- Add common function for waiting for script action step.
2020-03-11 16:34:50 -07:00
Alexei Chetroi
440c837eb6
Allow sw_version update of a device registry entry. ( #32630 )
2020-03-11 09:31:02 -07:00
Paulus Schoutsen
6a21afa2a8
Improve script validation ( #32461 )
2020-03-05 11:44:42 -08:00
Paulus Schoutsen
b27c46750c
Update error handling in update coordinator ( #32452 )
2020-03-04 08:05:46 -08:00
Paulus Schoutsen
fcbea47c74
Coronavirus updates ( #32417 )
...
* Sort countries alphabetically
* Update sensor name
* Add migration to stable unique IDs
* Update sensor.py
2020-03-02 17:59:32 -08:00
Paulus Schoutsen
deda2f86e7
Allow managing Lovelace storage dashboards ( #32241 )
...
* Allow managing Lovelace storage dashboards
* Make sure we do not allow duplicate url paths
* Allow setting sidebar to None
* Fix tests
* Delete storage file on delete
* List all dashboards
2020-02-28 12:43:17 -08:00
Balazs Sandor
75e8d49af1
Show kernel version on linux ( #32276 )
2020-02-27 13:59:30 -08:00
Paulus Schoutsen
2a88ae559e
Improve debounce cooldown ( #32161 )
2020-02-26 11:27:37 -08:00
Paulus Schoutsen
7d8da47309
Revert "Use orjson to parse json faster ( #32153 )" ( #32185 )
...
This reverts commit 2365e2e8cf
.
2020-02-25 21:07:16 +01:00
Paulus Schoutsen
536b31305a
Support multiple Lovelace dashboards ( #32134 )
...
* Support multiple Lovelace dashboards
* Mark collection maintenance as unfinished
* Fix import
* Add websockets commands for resource management
* Revert "Add websockets commands for resource management"
This reverts commit 7d140b2bcc
.
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2020-02-25 11:18:21 -08:00
Ruslan Sayfutdinov
2365e2e8cf
Use orjson to parse json faster ( #32153 )
...
* [recorder] Use orjson to parse json faster
* Remove from http manifest
* Bump to orjson 2.5.1
* Empty commit to trigger CI
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-25 10:20:51 -08:00
Erik Montnemery
7e387f93d6
Add MQTT WS command to remove device ( #31989 )
...
* Add MQTT WS command to remove device
* Review comments, fix test
* Fix tests
2020-02-24 20:46:02 -08:00
Ville Skyttä
9b2544c923
Remove some unneeded pylint suppressions ( #32152 )
2020-02-24 16:47:15 -08:00
Phil Bruckner
b2d7bc40dc
Add support for simultaneous runs of Script helper ( #31937 )
...
* Add tests for legacy Script helper behavior
* Add Script helper if_running and run_mode options
- if_running controls what happens if Script run while previous run
has not completed. Can be:
- error: Raise an exception
- ignore: Return without doing anything (previous run continues as-is)
- parallel: Start run in new task
- restart: Stop previous run before starting new run
- run_mode controls when call to async_run will return. Can be:
- background: Returns immediately
- legacy: Implements previous behavior, which is to return when done,
or when suspended by delay or wait_template
- blocking: Returns when run has completed
- If neither is specified, default is run_mode=legacy (and if_running
is not used.) Otherwise, defaults are if_running=parallel and
run_mode=background. If run_mode is set to legacy then if_running must
be None.
- Caller may supply a logger which will be used throughout instead of
default module logger.
- Move Script running state into new helper classes, comprised of an
abstract base class and two concrete clases, one for legacy behavior
and one for new behavior.
- Remove some non-async methods, as well as call_from_config which has
only been used in tests.
- Adjust tests accordingly.
* Change per review
- Change run_mode default from background to blocking.
- Make sure change listener is called, even when there's an unexpected
exception.
- Make _ScriptRun.async_stop more graceful by using an asyncio.Event for
signaling instead of simply cancelling Task.
- Subclass _ScriptRun for background & blocking behavior.
Also:
- Fix timeouts in _ScriptRun by converting timedeltas to float seconds.
- General cleanup.
* Change per review 2
- Don't propagate exceptions if call from user has already returned
(i.e., for background runs or legacy runs that have suspended.)
- Allow user to specify if exceptions should be logged. They will still
be logged regardless if exception is not propagated.
- Rename _start_script_delay and _start_wait_template_delay for
clarity.
- Remove return value from Script.async_run.
- Fix missing await.
- Change call to self.is_running in Script.async_run to direct test of
self._runs.
* Change per review 3 and add tests
- Remove Script.set_logger().
- Enhance existing tests to check all run modes.
- Add tests for new features.
- Fix a few minor bugs found by tests.
2020-02-24 14:56:00 -08:00
Paulus Schoutsen
ca01e9a537
Improve condition validation error msg ( #32135 )
2020-02-24 09:59:34 +01:00
MatthewFlamm
6c9d4a6d15
Add missing name to logging in DataUpdateCoordinator ( #32023 )
2020-02-20 16:51:15 +01:00
Paulus Schoutsen
7be3a4cd37
Fix entity registry not saving name/icon ( #31932 )
2020-02-18 08:32:34 -08:00
Ville Skyttä
03f7fe483b
Type hint improvements ( #31876 )
...
* Complete components.remote type hints
* Define ConfigType only in helpers.typing
2020-02-16 13:47:55 +01:00
jjlawren
91018034b6
Use new custom_serializer ( #31871 )
2020-02-15 15:36:57 -08:00
Ville Skyttä
733f1e1101
Helpers typing improvements ( #31865 )
2020-02-15 13:03:53 -08:00
Paulus Schoutsen
52b045ed30
Fix person device_trackers null ( #31829 )
2020-02-14 15:27:31 -08:00
Robert Svensson
043d36f7c6
Change multi_select config validator to class ( #31828 )
...
* Move multi_select to class
* Fix serializer and add test
* Serializer should also return options
2020-02-14 11:09:40 -08:00
Paulus Schoutsen
e019280d94
Annotate more async functions correctly ( #31802 )
2020-02-14 10:00:22 -08:00
Robert Svensson
6211a2bb98
Add multi select support to config validation and to custom serializer ( #31798 )
2020-02-13 13:12:09 -08:00
Paulus Schoutsen
9e7185c676
Write state if schedule update state from async context ( #31758 )
...
* Write state if schedule update state from async context
* Fix most tests
* Fix test and PS4 I/O in event loop
* Fix ps4 better
2020-02-13 10:22:06 -08:00
Paulus Schoutsen
51c35ab9a8
Entity Registry to store and restore name/icon ( #31714 )
...
* Entity Registry to store and restore name/icon
* Update test_entity_registry.py
* Add original name/icon to JSON result
2020-02-11 09:40:50 -08:00
Paulus Schoutsen
5a0f21cbe3
Adjust entity slow warning for custom component ( #31711 )
2020-02-10 16:32:47 -08:00
Paulus Schoutsen
12de3f1e47
Clean up frontend services and events ( #31654 )
...
* Clean up frontend services and events
* Fix bug in core instead
* Add test that core works correctly with callback marked async funcs
2020-02-09 19:47:16 -08:00
Paulus Schoutsen
0d474e1183
Update the update coordinator API to make it easier to use ( #31471 )
...
* Update the update coordinator API to make it easier to use
* failed_last_update -> last_update_success
2020-02-06 09:29:29 -08:00
Paulus Schoutsen
a3b3924e21
Update link when IO in event loop ( #31519 )
2020-02-06 11:37:35 +01:00
Paulus Schoutsen
e970177eeb
Use entity.async_request_call in service helper ( #31454 )
...
* Use entity.async_request_call in service helper
* Clean up semaphore handling
* Address comments
* Simplify call entity service helper
* Fix stupid rflink test
2020-02-04 15:30:15 -08:00
Paulus Schoutsen
f41623ca64
Log warning when entities referenced in service call not found ( #31427 )
...
* Raise entities not found error
* Make it a warning, not an error
* Add support for MATCH_ENTITY_NONE
* Fix lint
* Fix tests
2020-02-04 14:42:07 -08:00
Paulus Schoutsen
7687ac8b91
Fix service annotations ( #31402 )
...
* Fix service annotations
* Filter area_id from service data
* Fix services not accepting entities
* Typo
2020-02-02 15:36:39 -08:00
Paulus Schoutsen
c67f53dc43
Remove hour delay before checking for updates ( #31368 )
...
* Check for updates at startup
* Add 100% test coverage for update_coordinator
* Address comments
2020-02-01 08:14:28 -08: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
Christian Clauss
df7d2b3aeb
Fix typos found by codespell ( #31243 )
...
* Fix typos found by codespell
* Fix typos found by codespell
* codespell: Furture ==> Future
* Update test_config_flow.py
* Update __init__.py
* Spellcheck: successfull ==> successful
* Codespell: unsuccesful ==> unsuccessful
* Codespell: cant ==> can't
* Codespell: firware ==> firmware
* Codespell: mimick ==> mimic
2020-01-31 08:33:00 -08:00
Paulus Schoutsen
d405069406
Guard for callbacks in service helper ( #31339 )
2020-01-31 09:32:43 +01:00
Paulus Schoutsen
d24e397a80
Handle service calls that do not refer entity IDs ( #31317 )
2020-01-30 09:28:06 -08:00
Paulus Schoutsen
01dad31adc
Fix service helper not handling sync methods ( #31254 )
...
* Fix service helper not handling sync methods
* Add legacy support for returning coroutine objects
* Fix tests
* Fix tests
* Convert demo cover to async
2020-01-29 16:27:25 -08:00
Paulus Schoutsen
424e15c7a7
Find related items scripts/automations ( #31293 )
...
* Find related items scripts/automations
* Update manifest
2020-01-29 16:19:13 -08:00
Paulus Schoutsen
e9e44dbd97
Fix callback and async ( #31281 )
...
* Fix callback and async
* Fix a return
* Fix test
* Fix mqtt tests
* Fix some more callbacks
2020-01-29 13:59:45 -08:00
Paulus Schoutsen
0fba9e44ed
Migrate zone to use collection helpers ( #30774 )
2020-01-22 12:36:25 -08:00
Paulus Schoutsen
0c3ffbe282
Add foundation for integration services ( #30813 )
...
* Add foundation for integration services
* Fix tests
* Remove async_get_platform
* Migrate Sonos partially to EntityPlatform.async_register_entity_service
* Tweaks
* Move other Sonos services to media player domain
* Move other Sonos services to media player domain
* Address comments
* Remove lock
* Fix typos
* Use make_entity_service_schema
* Add area extraction to async_extract_entities
Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-01-19 17:55:18 -08:00
Alexei Chetroi
8a78b65f0d
Extract collection entity registry cleaner into a helper ( #30844 )
...
* Extract entity_registry_keeper into separate helper
* Refactor input_*, timer and person to use new helper.
* Make Mypy happy.
* Better name.
2020-01-17 11:41:46 -05:00
Jc2k
de26108b23
Restore unit_of_measurement from entity registry ( #30780 )
...
* Restore unit_of_measurement from entity registry
* Lint fix
2020-01-15 08:09:05 -08:00
Paulus Schoutsen
5fdc60e067
Add Safe Mode ( #30723 )
...
* Store last working HTTP settings
* Add safe mode
* Fix tests
* Add cloud to safe mode
* Update logging text
* Fix camera tests leaving files behind
* Make emulated_hue tests not leave files behind
* Make logbook tests not leave files behind
* Make tts tests not leave files behind
* Make image_processing tests not leave files behind
* Make manual_mqtt tests not leave files behind
2020-01-14 13:03:02 -08:00
Paulus Schoutsen
c4673ddee1
Update Ring to 0.6.0 ( #30748 )
...
* Update Ring to 0.6.0
* Update sensor tests
* update -> async_update
* Delete temp files
* Address comments
* Final tweaks
* Remove stale print
2020-01-14 12:54:45 -08:00
Franck Nijhof
1b739f9555
Removes unneeded abort if unique id in Oauth2 discovery flow ( #30733 )
2020-01-13 05:29:19 -08:00
Franck Nijhof
6729902010
Fix discovery for oauth2 flow implementations ( #30700 )
...
* Fix discovery for oauth2 flow implementations
* Fix user step
* Add tests
2020-01-12 07:37:34 -08:00
Paulus Schoutsen
abe727fbbc
Log error when integration is missing platform setup ( #30690 )
2020-01-11 18:21:57 -08:00
Jc2k
669c89e8c0
Fix HomeKit with entity registry restoration where supported_features is a non-None falsey ( #30657 )
...
* Fix homekit with #30094
* Fix test
2020-01-10 16:33:48 -08:00
Paulus Schoutsen
3348f4f6d1
Add search integration ( #30511 )
...
* Add search integration
* Add scenes and config entry support
* Update comments
* Add support for groups
* Allow querying config entry
* Update manifest
* Fix scene tests
2020-01-10 19:57:37 +01:00
Paulus Schoutsen
9aa02e35a7
Entity Component to no longer generate automatic groups ( #23789 )
2020-01-07 17:30:53 +01:00
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
Paulus Schoutsen
24b25b8917
Restore state helper to work with entity registry restoration ( #30451 )
...
* Restore state helper to work with entity registry restoratino
* Update restore_state.py
2020-01-05 11:58:59 +01:00
Paulus Schoutsen
30076d1843
Add person reload service ( #30493 )
2020-01-05 11:16:37 +01:00
Paulus Schoutsen
b9aba30a6e
Extract Collection helper from Person integration ( #30313 )
...
* Add CRUD foundation
* Use collection helper in person integration
* Lint/pytest
* Add tests
* Lint
* Create notification
2020-01-03 21:37:11 +01:00
Ville Skyttä
fa4fa30461
Various string cleanups ( #30435 )
...
* Remove some unnecessary string concatenations
* Replace some simple str.formats with f-strings
* Replace some string concatenations with f-strings
2020-01-03 14:47:06 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Paulus Schoutsen
bb14a083f0
Store capabilities and supported features in entity registry, restore registered entities on startup ( #30094 )
...
* Store capabilities and supported features in entity registry
* Restore states at startup
* Restore non-disabled entities on HA start
* Fix test
* Pass device class from entity platform
* Clean up restored entities from state machine
* Fix Z-Wave test?
2019-12-31 14:29:43 +01:00
Ville Skyttä
868eb3c735
More helpers type improvements ( #30145 )
2019-12-22 19:51:39 +01:00
Ville Skyttä
6604680793
Helpers type hint improvements ( #30106 )
2019-12-21 09:23:48 +02:00
Ville Skyttä
ecdc1adf90
Upgrade mypy to 0.761 ( #30104 )
...
https://mypy-lang.blogspot.com/2019/12/mypy-0760-released.html
https://github.com/python/mypy/releases/tag/v0.761
2019-12-20 22:35:02 +01:00
Paulus Schoutsen
a470a72ec5
Add integration platform helper ( #29914 )
2019-12-13 15:38:41 +01:00
Ville Skyttä
130571c478
Remove no longer needed auth.util, use secrets instead ( #29861 )
2019-12-12 16:46:33 +01: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
Paulus Schoutsen
eef91f843d
Rendering complex template objects to leave non-template values alone ( #29353 )
2019-12-03 14:15:45 -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
Paulus Schoutsen
9771826ed6
Add capability-attributes ( #29306 )
2019-12-02 11:15:50 -08:00
Nikolay Vasilchuk
a37260faa9
StarLine integration ( #27197 )
...
* Device Tracker works
* Device Tracker works
* Binary Sensor
* Sensor
* Lock
* Switch and service
* New switches
* Update interval options
* WIP
* Translation errors
* Check online state
* WIP
* Move to aiohttp
* Some checks
* CI
* CI
* .coveragerc
* Black
* icon_for_signal_level test
* update_interval renamed to scan_interval
* async logic
* Fix cookie read
* Requirement starline
* Reformat
* Requirements updated
* ConfigEntryNotReady
* Requirement starline
* Lint fix
* Requirement starline
* available status
* Translations
* Expiration to config
* CI
* Linter fix
* Small renaming
* Update slnet token
* Starline version bump
* Fix updates
* Black
* Small fix
* Removed unused fields
* CI
* set_scan_interval service
* deps updated
* Horn switch
* Starline lib updated
* Starline lib updated
* Black
* Support multiple integrations
* Review
* async_will_remove_from_hass
* Deps updated
* Test config flow
* Requirements
* CI
* Review
* Review
* Review
* Review
* Review
* CI
* pylint fix
* Review
* Support "mayak" devices
* Icons removed
* Removed options_flow
* Removed options_flow test
* Removed options_flow test
2019-11-26 11:17:11 -08:00
Paulus Schoutsen
c76f768a82
Make conversation and intent context aware ( #28965 )
...
* WIP
* LINT
2019-11-26 11:30:21 +01:00
Ville Skyttä
99c7608fb4
Lint config cleanups ( #28864 )
...
* Remove bunch of unneeded lint exclusions
* Use symbolic names instead of identifiers in pylint disables
* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
Tobias Perschon
d92f48646a
Add round to half template method ( #28948 )
...
* added round to half method
Signed-off-by: Tobias Perschon <tobias@perschon.at>
* testcase for new round method
Signed-off-by: Tobias Perschon <tobias@perschon.at>
2019-11-22 10:08:41 -08:00
Paulus Schoutsen
94675ca5a7
Mark entity abc ( #28869 )
...
* Mark entity abc
* Use abstractmethod in climate
* Lint
2019-11-19 13:42:09 -06:00
Paulus Schoutsen
5961215e6e
Set up Almond Web to connect to HA ( #28603 )
...
* Set up Almond Web to connect to HA
* Add missing string
* Add type
2019-11-12 11:01:19 -08:00
Bas Nijholt
3ce850234f
fix typo in comments ( #28694 )
...
The global is called `PARALLEL_UPDATES` not `PARALLEL_UPDATE`.
2019-11-11 13:51:26 +01:00
Paulus Schoutsen
552fbda58b
Remove legacy reproduce state ( #28458 )
...
* Remove legacy reproduce state
* Fix imports
2019-11-04 11:12:04 +01:00
Paulus Schoutsen
79ac77a93d
Almond integration ( #28282 )
...
* Initial Almond integration
* Hassfest
* Update library
* Address comments
* Fix inheritance issue py36
* Remove no longer needed check
* Fix time
2019-10-28 23:47:31 -07: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
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
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ä
381d423fec
Upgrade mypy to 0.740 ( #27913 )
...
* Upgrade mypy to 0.740
http://mypy-lang.blogspot.com/2019/10/mypy-0740-released.html
* Type hint additions
* Type fixes
* Remove no longer needed type ignores and casts
* Disable untyped definition checks in bunch of files
2019-10-19 11:35:57 -07:00
Paulus Schoutsen
758fcc9b00
Remove helper imports relying on installed requirements ( #27898 )
2019-10-19 11:33:21 -07:00
Paulus Schoutsen
6391a68fd5
Better header check for OAuth2 helper ( #27897 )
2019-10-18 20:11:54 -05:00
Paulus Schoutsen
d98114d2ab
Guard cloud check ( #27901 )
...
* Guard cloud check
* Fix pos args
2019-10-18 20:08:53 -05: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
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
Ville Skyttä
761d7f21e9
Upgrade pylint ( #27279 )
...
* Upgrade pylint to 2.4.2 and astroid to 2.3.1
https://pylint.readthedocs.io/en/latest/whatsnew/2.4.html
https://pylint.readthedocs.io/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-1
https://pylint.readthedocs.io/en/latest/whatsnew/changelog.html#what-s-new-in-pylint-2-4-2
* unnecessary-comprehension fixes
* invalid-name fixes
* self-assigning-variable fixes
* Re-enable not-an-iterable
* used-before-assignment fix
* invalid-overridden-method fixes
* undefined-variable __class__ workarounds
https://github.com/PyCQA/pylint/issues/3090
* no-member false positive disabling
* Remove some no longer needed disables
* using-constant-test fix
* Disable import-outside-toplevel for now
* Disable some apparent no-value-for-parameter false positives
* invalid-overridden-method false positive disables
https://github.com/PyCQA/pylint/issues/3150
* Fix unintentional Entity.force_update override in AfterShipSensor
2019-10-07 08:17:39 -07:00
Ville Skyttä
3adac699c7
Note snake_case state attribute name convention in entity docs ( #27287 )
...
https://github.com/home-assistant/home-assistant/pull/26675#discussion_r331763063
2019-10-07 08:16:26 -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
Franck Nijhof
2e17ad86af
Adds guards for missing information in call stack frames ( #27217 )
2019-10-05 11:59:33 +02:00
Erik Montnemery
c43eeee62f
Improve validation of device condition config ( #27131 )
...
* Improve validation of device condition config
* Fix typing
2019-10-02 15:58:14 -07:00
Erik Montnemery
65ce3b49c1
Add support for `for` to binary_sensor, light and switch device triggers ( #26658 )
...
* Add support for `for` to binary_sensor, light and switch device triggers
* Add WS API device_automation/trigger/capabilities
2019-10-02 22:14:52 +02:00
Erik Montnemery
5a1da72d5e
Improve validation of device action config ( #27029 )
2019-10-01 20:35:36 -07:00
Pascal Vizeli
c1851a2d94
Cleanup coroutine threadsafe ( #27080 )
...
* Cleanup coroutine threadsafe
* fix lint
* Fix typing
* Fix tests
* Fix black
2019-10-01 16:59:06 +02:00
Ville Skyttä
f259ff17d5
Type hint additions ( #26831 )
...
* Type hint additions
* Remove optional from sidebar_icon comment
Co-Authored-By: Franck Nijhof <frenck@frenck.nl>
* Remove optional from sidebar_title comment
Co-Authored-By: Franck Nijhof <frenck@frenck.nl>
* Fix issues after rebase and mypy 0.730
2019-09-29 20:07:49 +03:00
Ville Skyttä
fde128d66c
Upgrade mypy to 0.730, address raised issues ( #26959 )
...
https://mypy-lang.blogspot.com/2019/09/mypy-730-released.html
2019-09-27 22:57:59 +03: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
Franck Nijhof
9c9c921922
Use Python3 new super syntax sugar ( #26890 )
2019-09-24 15:38:20 -07:00
Paulus Schoutsen
6fdff9ffab
Reorg device automation ( #26880 )
...
* async_trigger -> async_attach_trigger
* Reorg device automations
* Update docstrings
* Fix types
* Fix extending schemas
2019-09-24 14:57:05 -07:00
Franck Nijhof
b52cfd3409
Add comment for clarity to helper.entity.enabled() ( #26793 )
...
* Fixes entity enabled expression
* Ensure True is returned when there is no registry_entity
* Add comment for clarity to helper.entity.enabled()
2019-09-24 14:21:00 -07:00
Franck Nijhof
6f9ccb5434
Add and corrects typehints in Entity helper & core class ( #26805 )
...
* Add and corrects typehints in Entity class
* Adjust state type based on comments
2019-09-24 14:20:04 -07:00
Franck Nijhof
b1118cb8ff
Removes unnecessary else/elif blocks ( #26884 )
2019-09-24 13:53:03 -07:00
Ville Skyttä
54242cd65c
Type hint additions ( #26765 )
2019-09-20 08:23:34 -07:00
Erik Montnemery
02ded7a4a8
Remove device from device action schema ( #26536 )
2019-09-09 10:40:22 -07:00
Erik Montnemery
b14b14c3c9
Add device automation support to switch entities ( #26466 )
...
* Add device automation support to switch entities
* Update switch translations
* Address review comments
2019-09-09 16:55:47 +02: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
Erik Montnemery
b1c2a5fa08
Add device automation action ( #26455 )
...
* Add support for device actions, with light as example.
* Add translation; return list
2019-09-05 16:26:22 -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
Penny Wood
4004879ae0
Entity registry doesn't overwrite with None ( #24275 )
2019-09-04 09:49:22 -07:00
Franck Nijhof
2f0eb07624
Migrate legacy typehints in core to PEP-526 ( #26403 )
...
* Migrate legacy typehints in core to PEP-526
* Fix one type
2019-09-03 20:36:04 -07:00
Paulus Schoutsen
0cffd61481
Allow passing dictionaries to async_register_entity_service ( #26370 )
2019-09-03 09:50:24 +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
Franck Nijhof
decf13b948
Use literal string interpolation in core (f-strings) ( #26166 )
2019-08-23 09:53:33 -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
Jeff Irion
7090970436
Add descriptive fields to script config ( #26056 )
...
* Add descriptive fields to script config
* Add script descriptions to hass.data["service_description_cache"]
* Import SERVICE_DESCRIPTION_CACHE
* Register script descriptions via async_set_service_schema
* Add scripts test for loading and reloading service descriptions
* Minor cleanup
* Clean up script schema
2019-08-21 14:08:46 -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
8b66c11706
Fix config entry has options check ( #25976 )
...
* Fix config entry has options check
* Register webhook/discovery config flows with classes
* Fix types
* Apply suggestions from code review
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
2019-08-16 16:19:19 -07:00
Paulus Schoutsen
6c292846be
Allow entities to indicate they should be disabled by default ( #26011 )
2019-08-16 16:17:16 -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
Ville Skyttä
aa508b5106
Complete some incomplete type hints in helpers ( #25953 )
2019-08-15 08:53:25 -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
Johann Kellerman
8b9d0593b1
Allow components with empty list config (i.e. person) in packages ( #25827 )
...
* Fix #23424
* mypy Lists
2019-08-10 16:30:33 -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
Ville Skyttä
a54ade1189
Spelling fixes ( #25666 )
2019-08-02 23:20:06 +02:00
Paulus Schoutsen
620cb74050
Type
2019-07-31 13:08:31 -07:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Joakim Plate
3d11c45edd
Log platform import errors and correct reqs for config check ( #25425 )
...
* Log failures to load plaforms
* Drop unused exception variable
* Also load pip requirements with check config
* Fix lint
* More lint
* Drop invalid parameters for error call
2019-07-31 09:09:00 -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
Ville Skyttä
17d754dbbf
Optional and Union simplifications ( #25365 )
2019-07-21 10:59:51 -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
David F. Mulcahey
0653f57fb4
change and condition to or condition ( #25374 )
2019-07-21 09:57:40 -07:00
nierob
979f801488
Avoid creating temporary lists ( #25317 )
...
That gives nano performance improvements as *() is slightly faster
then *[].
2019-07-19 13:36:18 -07:00
Ville Skyttä
56841da2d3
Upgrade mypy to 0.720, turn on unreachability warnings ( #25157 )
...
* Upgrade mypy to 0.720
* Turn on mypy unreachability warnings, address raised issues
2019-07-16 15:11:38 -07:00
Paulus Schoutsen
7aae490a85
Allow area ID in service call schemas ( #25121 )
...
* Allow area ID in service call schemas
* Remove ATTR_ENTITY_ID from service light turn off schcema
2019-07-15 11:31:53 -07:00
Paulus Schoutsen
27d750db1c
Guard module being None ( #25077 )
2019-07-11 09:38:58 +02:00
Paulus Schoutsen
cde3f670c2
pylint
2019-07-10 20:47:27 -07: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
Joakim Plate
2fbbcafaed
Support config flow on custom components ( #24946 )
...
* Support populating list of flows from custom components
* Re-allow custom component config flows
* Add tests for custom component retrieval
* Don't crash view if no handler exist
* Use get_custom_components instead fo resolve_from_root
* Switch to using an event instead of lock
* Leave list of integrations as set
* The returned list is not guaranteed to be ordered
Backend uses a set to represent them.
2019-07-09 01:19:37 +02:00
Pascal Vizeli
84cf76ba36
Climate 1.0 ( #23899 )
...
* Climate 1.0 / part 1/2/3
* fix flake
* Lint
* Update Google Assistant
* ambiclimate to climate 1.0 (#24911 )
* Fix Alexa
* Lint
* Migrate zhong_hong
* Migrate tuya
* Migrate honeywell to new climate schema (#24257 )
* Update one
* Fix model climate v2
* Cleanup p4
* Add comfort hold mode
* Fix old code
* Update homeassistant/components/climate/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/climate/const.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* First renaming
* Rename operation to hvac for paulus
* Rename hold mode to preset mode
* Cleanup & update comments
* Remove on/off
* Fix supported feature count
* Update services
* Update demo
* Fix tests & use current_hvac
* Update comment
* Fix tests & add typing
* Add more typing
* Update modes
* Fix tests
* Cleanup low/high with range
* Update homematic part 1
* Finish homematic
* Fix lint
* fix hm mapping
* Support simple devices
* convert lcn
* migrate oem
* Fix xs1
* update hive
* update mil
* Update toon
* migrate deconz
* cleanup
* update tesla
* Fix lint
* Fix vera
* Migrate zwave
* Migrate velbus
* Cleanup humity feature
* Cleanup
* Migrate wink
* migrate dyson
* Fix current hvac
* Renaming
* Fix lint
* Migrate tfiac
* migrate tado
* Fix PRESET can be None
* apply PR#23913 from dev
* remove EU component, etc.
* remove EU component, etc.
* ready to test now
* de-linted
* some tweaks
* de-lint
* better handling of edge cases
* delint
* fix set_mode typos
* apply PR#23913 from dev
* remove EU component, etc.
* ready to test now
* de-linted
* some tweaks
* de-lint
* better handling of edge cases
* delint
* fix set_mode typos
* delint, move debug code
* away preset now working
* code tidy-up
* code tidy-up 2
* code tidy-up 3
* address issues #18932 , #15063
* address issues #18932 , #15063 - 2/2
* refactor MODE_AUTO to MODE_HEAT_COOL and use F not C
* add low/high to set_temp
* add low/high to set_temp 2
* add low/high to set_temp - delint
* run HA scripts
* port changes from PR #24402
* manual rebase
* manual rebase 2
* delint
* minor change
* remove SUPPORT_HVAC_ACTION
* Migrate radiotherm
* Convert touchline
* Migrate flexit
* Migrate nuheat
* Migrate maxcube
* Fix names maxcube const
* Migrate proliphix
* Migrate heatmiser
* Migrate fritzbox
* Migrate opentherm_gw
* Migrate venstar
* Migrate daikin
* Migrate modbus
* Fix elif
* Migrate Homematic IP Cloud to climate-1.0 (#24913 )
* hmip climate fix
* Update hvac_mode and preset_mode
* fix lint
* Fix lint
* Migrate generic_thermostat
* Migrate incomfort to new climate schema (#24915 )
* initial commit
* Update climate.py
* Migrate eq3btsmart
* Lint
* cleanup PRESET_MANUAL
* Migrate ecobee
* No conditional features
* KNX: Migrate climate component to new climate platform (#24931 )
* Migrate climate component
* Remove unused code
* Corrected line length
* Lint
* Lint
* fix tests
* Fix value
* Migrate geniushub to new climate schema (#24191 )
* Update one
* Fix model climate v2
* Cleanup p4
* Add comfort hold mode
* Fix old code
* Update homeassistant/components/climate/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Update homeassistant/components/climate/const.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* First renaming
* Rename operation to hvac for paulus
* Rename hold mode to preset mode
* Cleanup & update comments
* Remove on/off
* Fix supported feature count
* Update services
* Update demo
* Fix tests & use current_hvac
* Update comment
* Fix tests & add typing
* Add more typing
* Update modes
* Fix tests
* Cleanup low/high with range
* Update homematic part 1
* Finish homematic
* Fix lint
* fix hm mapping
* Support simple devices
* convert lcn
* migrate oem
* Fix xs1
* update hive
* update mil
* Update toon
* migrate deconz
* cleanup
* update tesla
* Fix lint
* Fix vera
* Migrate zwave
* Migrate velbus
* Cleanup humity feature
* Cleanup
* Migrate wink
* migrate dyson
* Fix current hvac
* Renaming
* Fix lint
* Migrate tfiac
* migrate tado
* delinted
* delinted
* use latest client
* clean up mappings
* clean up mappings
* add duration to set_temperature
* add duration to set_temperature
* manual rebase
* tweak
* fix regression
* small fix
* fix rebase mixup
* address comments
* finish refactor
* fix regression
* tweak type hints
* delint
* manual rebase
* WIP: Fixes for honeywell migration to climate-1.0 (#24938 )
* add type hints
* code tidy-up
* Fixes for incomfort migration to climate-1.0 (#24936 )
* delint type hints
* no async unless await
* revert: no async unless await
* revert: no async unless await 2
* delint
* fix typo
* Fix homekit_controller on climate-1.0 (#24948 )
* Fix tests on climate-1.0 branch
* As part of climate-1.0, make state return the heating-cooling.current characteristic
* Fixes from review
* lint
* Fix imports
* Migrate stibel_eltron
* Fix lint
* Migrate coolmaster to climate 1.0 (#24967 )
* Migrate coolmaster to climate 1.0
* fix lint errors
* More lint fixes
* Fix demo to work with UI
* Migrate spider
* Demo update
* Updated frontend to 20190705.0
* Fix boost mode (#24980 )
* Prepare Netatmo for climate 1.0 (#24973 )
* Migration Netatmo
* Address comments
* Update climate.py
* Migrate ephember
* Migrate Sensibo
* Implemented review comments (#24942 )
* Migrate ESPHome
* Migrate MQTT
* Migrate Nest
* Migrate melissa
* Initial/partial migration of ST
* Migrate ST
* Remove Away mode (#24995 )
* Migrate evohome, cache access tokens (#24491 )
* add water_heater, add storage - initial commit
* add water_heater, add storage - initial commit
delint
add missing code
desiderata
update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
delint
* Add Broker, Water Heater & Refactor
add missing code
desiderata
* update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
* bugfix - loc_idx may not be 0
more refactor - ensure pure async
more refactoring
appears all r/o attributes are working
tweak precsion, DHW & delint
remove unused code
remove unused code 2
remove unused code, refactor _save_auth_tokens()
* support RoundThermostat
bugfix opmode, switch to util.dt, add until=1h
revert breaking change
* store at_expires as naive UTC
remove debug code
delint
tidy up exception handling
delint
add water_heater, add storage - initial commit
delint
add missing code
desiderata
update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
add water_heater, add storage - initial commit
delint
add missing code
desiderata
update honeywell client library & CODEOWNER
add auth_tokens code, refactor & delint
refactor for broker
delint
bugfix - loc_idx may not be 0
more refactor - ensure pure async
more refactoring
appears all r/o attributes are working
tweak precsion, DHW & delint
remove unused code
remove unused code 2
remove unused code, refactor _save_auth_tokens()
support RoundThermostat
bugfix opmode, switch to util.dt, add until=1h
revert breaking change
store at_expires as naive UTC
remove debug code
delint
tidy up exception handling
delint
* update CODEOWNERS
* fix regression
* fix requirements
* migrate to climate-1.0
* tweaking
* de-lint
* TCS working? & delint
* tweaking
* TCS code finalised
* remove available() logic
* refactor _switchpoints()
* tidy up switchpoint code
* tweak
* teaking device_state_attributes
* some refactoring
* move PRESET_CUSTOM back to evohome
* move CONF_ACCESS_TOKEN_EXPIRES CONF_REFRESH_TOKEN back to evohome
* refactor SP code and dt conversion
* delinted
* delinted
* remove water_heater
* fix regression
* Migrate homekit
* Cleanup away mode
* Fix tests
* add helpers
* fix tests melissa
* Fix nehueat
* fix zwave
* add more tests
* fix deconz
* Fix climate test emulate_hue
* fix tests
* fix dyson tests
* fix demo with new layout
* fix honeywell
* Switch homekit_controller to use HVAC_MODE_HEAT_COOL instead of HVAC_MODE_AUTO (#25009 )
* Lint
* PyLint
* Pylint
* fix fritzbox tests
* Fix google
* Fix all tests
* Fix lint
* Fix auto for homekit like controler
* Fix lint
* fix lint
2019-07-08 14:00:24 +02: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
Penny Wood
23dd644f4a
Update IDs for rename node/value ( #24646 )
...
* Update IDs for rename node/value
* Rename devices and entities
* Improved coverage
2019-07-01 15:54:19 -07: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
David F. Mulcahey
d9420c1f73
Remove device and entity registry entries when removing a ZHA device ( #24369 )
...
* cleanup when device is removed
fixes
* cleanup
2019-06-24 11:26:44 -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
Tomer Figenblat
fe8a330a45
Update requirement version and add switcher_kis services ( #23477 )
...
* Update aioswitcher requirement to 2019.4.26.
* Removed unnecessary legacy function call.
* Fixed log message capital first letter.
* Replaced None argument with empty dict.
* Replaced guard.
* Added ServiceCallType.
* Added set_auto_off and update_device_name services to the component.
* Added test cases for service calls.
* Conditioned the component services registry with the platform discovery.
* Update homeassistant/components/switcher_kis/__init__.py
Co-Authored-By: TomerFi <tomer.figenblat@gmail.com>
* Update homeassistant/components/switcher_kis/__init__.py
Co-Authored-By: TomerFi <tomer.figenblat@gmail.com>
* Resolved change requests.
* Added ContextType.
* Addes permission verification for service calls.
* Added test cases for permision verification and more.
* Replaced POLICY_CONTROL with the more suited POLICY_EDIT.
* More appropriate function name.
* Added domain and entity_id validation for calling services.
* Removed service for setting the vendor's device name.
2019-06-14 15:48:21 -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
3c1cdecb88
Add manifest support for homekit discovery ( #24225 )
...
* Add manifest support for homekit discovery
* Add a space after model check
* Update comment
2019-05-31 11:58:48 -07:00
Paulus Schoutsen
440e4289e4
Instantiate lock inside event loop ( #24203 )
2019-05-31 11:26:05 -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
6947f8cb2e
Cloud: Websocket API to manage Google assistant entity config ( #24153 )
...
* Extract exposed devices function
* Add might_2fa info to trait
* Do not filter with should_expose in Google helper func
* Cloud: allow setting if Google entity is exposed
* Allow disabling 2FA via config
* Cloud: allow disabling 2FA
* Lint
* More changes
* Fix typing
2019-05-29 08:39:12 -07: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
Penny Wood
9da74dda43
Quiet the chatty sun.sun ( #23832 )
...
* Split up method to allow caching event
* Lower frequency of updates.
* Code review patches.
* Minor changes to test
* Skip end of period at fixed multiple of delta.
Improved documentation.
2019-05-15 15:02:29 +08: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
Paulus Schoutsen
5888e32360
Add support for an external step in config flow ( #23782 )
...
* Add support for an external step in config flow
* Types
* Lint
2019-05-10 14:33:49 +02: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
8d775caaac
Always print invalid configuration data ( #21972 )
...
* Always print invalide configuration data
* Print offending data as yaml
* Revert "Print offending data as yaml"
This reverts commit 01721a21a9ff918ed2c8595151ebfe55eb2f7d36.
* Do not print sensitive data
* Print MQTT topic
* Add line break
* Review comments
* review comments
2019-04-29 13:45:53 -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