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
Tomer Figenblat
9d8d8afa82
Added component named switcher_kis switcher water heater integration. ( #22325 )
...
* Added component named switcher_kis switcher water heater integration.
* Fixed conflicts.
* Updated requirements.
* Added manifest.json file and updated CODEOWNERS.
* Fixed requirements_all.txt.
* Better component tests.
* Removed unnecessary parameter from fixture function.
* Removed tests section from mypy.ini.
* Remove unused ENTITY_ID_FORMAT.
* Stop udp bridge when failed to setup the component.
* Replace DISCOVERY_ constants prefix with DATA_.
* Various change requests.
* Fixed constant name change remifications.
* Added explicit name to fixture.
* Various change requests.
* More various change requests.
* Added EventType for homeassistant.core.Event.
* Switched from event driven data distribution to dispatcher type plus clean-ups.
* Removed name and icon keys from the component configuration.
* Various change requests.
* Various change reqeusts and clean-ups.
* Removed unnecessary DEPENDENCIES constant from swith platform.
* Replaced configuration data guard with assert.
* Removed unused constants.
* Removed confusing type casting for mypy sake.
* Refactor property device_name to name.
* Removed None guard effecting mypy only.
* Removed unnecessary function from switch entity.
* Removed None guard in use by mypy only.
* Removed unused constant.
* Removed unnecessary context manager.
* Stopped messing around with mypy.ini.
* Referring to typing.TYPE_CHECKING for non-runtime imports.
* Added test requierment correctyly.
* Replaced queue.get() with queue.get_nowait() to avoid backing up intervals requests.
* Revert changes in mypy.ini.
* Changed attributes content to device properties instead of entity properties.
* Fixed typo in constant name.
* Remove unnecessary async keyword from callable.
* Waiting for tasks on event loop to end.
* Added callback decorator to callable.
2019-04-19 16:54:48 -05:00
Paulus Schoutsen
fda483f482
Don't load component when fetching translations ( #23196 )
2019-04-18 11:11:43 -07:00
Paulus Schoutsen
ce8ec3acb1
Don't warn for missing services ( #23182 )
2019-04-17 22:27:11 -07:00
Penny Wood
7a9c9031af
I think this is a potential bug ( #23157 )
2019-04-17 09:52:08 -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
Paulus Schoutsen
3368e30279
Migrate packages and check config ( #23082 )
...
* Migrate packages and check config
* Fix typing
* Fix check config script
2019-04-14 07:23:01 -07:00
Aaron Bach
46ee7d7b22
Fix test ( #23081 )
2019-04-13 14:32:07 -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
Paulus Schoutsen
f7d4c48199
Convert service helper to use async_get_integration ( #23023 )
...
* Convert service helper to use async_get_integration
* Fix tests
2019-04-12 10:09:17 -07:00
ehendrix23
7862fdd27e
Fix myq increasing number of network connections ( #22432 )
...
* Fix for network issues
Fix for network issues
* Further changes to network connection
* websession is created in pymyq
websession is created in pymyq instead.
Added call on stop event to close web session.
* Updated requirements file
* Added comment
* Changed back to use aiohttp_client
* Cleanup closed sockets in aiohttp
Enable automatic cleanup of closed sockets in aiohttp client helper.
* Updated manifest & requirements
* Updated comment block
2019-04-10 14:24:12 -07:00
Andrew Sayre
7624d0e79f
Check for supported features in media_player services ( #22878 )
...
* Add check for supported features
* Move logic to service helper
* Fix hacked in test for seek
* Test for service required features
2019-04-10 09:44:58 -07:00
Johann Kellerman
3453d67cfe
Person schema for merge_packages #21307 ( #21703 )
...
* Person schema for merge_packages #21307
* empty list
* skip empty persons
* hound
* test schema
* ensure_none
* remove any test changes
* remove_falsy validator
* nice!
* coretests
2019-04-02 19:43:06 -07:00
Paulus Schoutsen
e00ae35e07
Admin service to automatically add empty schema ( #22637 )
...
* Admin service to automatically add empty schema
* Lint
2019-04-02 09:34:11 -07:00
Paulus Schoutsen
42e3e878df
Cloudhooks for webhook config flows ( #22611 )
2019-04-01 14:07:12 +02:00
Paulus Schoutsen
95a7077b41
Move core services.yaml file to Home Assistant integration ( #22489 )
...
* Move services.yaml to correct dir
* Remove special case for HA servicesgs
2019-03-29 20:48:45 -07:00
Jason Hu
6ba2891604
Add trusted_users in trusted networks auth provider ( #22478 )
2019-03-27 21:53:11 -07:00
Penny Wood
646c4a7137
Bootstrap to start registry loading early ( #22321 )
...
* Registries store directly in data on loading.
* Loading registries concurent with stage 1.
* Removed comments
2019-03-27 22:06:20 +08:00
Jason Hu
e85b089eff
Set default parallel_update value should base on async_update ( #22149 )
...
* Set default parallel_update value should base on async_update
* Set default parallel_update value should base on async_update
* Delay the parallel_update_semaphore creation
* Remove outdated comment
2019-03-25 23:53:36 -07:00
Moritz Fey
f272ed3b91
Add 'method' parameter to forgiving_round method ( #21708 )
...
* Add 'method' parameter to forgiving_round method
Fixes #21707
* fix rounding behavior in round() filter
* add test cases for new rounding behaviour
2019-03-24 18:10:49 -07:00
uchagani
c5f4aa0466
show which component is causing translation errors ( #22340 )
2019-03-23 23:06:55 -07:00
Paulus Schoutsen
c15f433c3e
Add a service require_admin wrapper ( #21953 )
...
* Add a service require_admin wrapper
* Allow it to be used as a decorator
* Lint
* Add comment
* Add docstring
* Update syntax
2019-03-12 22:09:50 -07:00
Paulus Schoutsen
4f5446ff02
Add area permission check ( #21835 )
2019-03-11 11:02:37 -07:00
Brad Dixon
9ab543ab3d
Add as_timestamp() to Jinja filters. ( #21910 )
...
Add as_timestamp() to Jinja filters
2019-03-11 13:21:22 +05:30
emontnemery
fc81826763
Introduce Entity.async_write_ha_state() to not miss state transition ( #21590 )
...
* Copy state in schedule_update_ha_state
* Lint
* Fix broken test
* Review comment, improve docstring
* Preserve order of state updates
* Rewrite
* Break up async_update_ha_state
* Update binary_sensor.py
* Review comments
* Update docstring
* hass -> ha
* Update entity.py
* Update entity.py
2019-03-09 09:52:22 -08:00
Paulus Schoutsen
8213016eaf
Allow targeting areas in service calls ( #21472 )
...
* Allow targeting areas in service calls
* Lint + Type
* Address comments
2019-03-04 09:51:12 -08:00
Paulus Schoutsen
48a2e50f84
Fix calc next ( #21630 )
2019-03-03 21:36:13 -07:00
Jason Hu
f1b867dccb
Re-thrown exception occurred in the blocking service call ( #21573 )
...
* Rethrown exception occurred in the actual service call
* Fix lint and test
2019-03-01 23:09:31 -08:00
emontnemery
cd89809be5
Make time trigger data trigger.now local ( #21544 )
...
* Make time trigger data trigger.now local
* Make time pattern trigger data trigger.now local
* Lint
* Rework according to review comment
* Lint
2019-03-01 23:09:12 -08:00
Daniel Høyer Iversen
519315f9c8
pylint 2.3.0 ( #21485 )
...
* pylint 2.3.0
* remove const
* disable=syntax-error
2019-02-27 16:10:40 -05:00
David F. Mulcahey
c4400be62a
Add friendly name to devices in the device registry ( #21318 )
...
* add friendly name to devices in the device registry
* switch to name_by_user
* review comments
2019-02-26 12:20:16 -08:00
Paulus Schoutsen
f1b84962ed
Add legacy PLATFORM_SCHEMA config validation ( #21072 )
...
* Add legacy PLATFORM_SCHEMA config validation
* Fix tests
* Lint
* Add persistent notification
* Update bootstrap.py
2019-02-16 23:05:06 -08:00
Rohan Kapoor
481439d387
Deprecate conf_update_interval ( #20924 )
...
* Deprecate update_interval and replace with scan_interval
* Update tests
* Fix Darksky tests
* Fix Darksky tests correctly
This reverts commit a73384a223ba8a93c682042d9351cd5a7a399183.
* Provide the default for the non deprecated option
* Don't override default schema for sensors
2019-02-17 06:23:09 +01:00
Otto Winter
06f2aa93a4
Add persistent notification
2019-02-15 18:40:46 +01:00