Erik Montnemery
56278a4421
Simplify device registry ( #77715 )
...
* Simplify device registry
* Fix test fixture
* Update homeassistant/helpers/device_registry.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
* Update device_registry.py
* Remove dead code
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-03 12:50:55 +02:00
Erik Montnemery
dfed3ba75e
Move issue_registry to homeassistant.helpers ( #77299 )
...
* Move issue_registry to homeassistant.helpers
* Add backwards compatibility
2022-08-25 11:32:06 +02:00
Erik Montnemery
fd6ffef52f
Support non-live database migration ( #72433 )
...
* Support non-live database migration
* Tweak startup order, add test
* Address review comments
* Fix typo
* Clarify comment about promoting dependencies
* Tweak
* Fix merge mistake
* Fix some tests
* Fix additional test
* Fix additional test
* Adjust tests
* Improve test coverage
2022-07-22 15:11:34 +02:00
Erik Montnemery
26a85c6644
Add Entity.has_entity_name attribute ( #73217 )
2022-06-28 09:38:05 -07:00
J. Nick Koston
9b157f974d
Reduce overhead to refire events from async_track_point_in_utc_time when an asyncio timer fires early ( #73295 )
...
* Reduce overhead to refire events
- asyncio timers can fire early for a varity of reasons including
poor clock resolution and performance. To solve this problem
we re-arm async_track_point_in_utc_time and try again later
when this happens.
- On some platforms this means the async_track_point_in_utc_time can
end up trying many times to prevent firing the timer early since as
soon as it rearms it fires again and this repeats until we reach
the appointed time. While there is not much we can do to prevent
asyncio from firing the timer callback early, we can reduce the
overhead when this happens by using avoiding creating datetime
objects
* tweak mocking
* -vvv
* fix time freeze being too broad in litterrobot
* adjust
2022-06-14 07:46:00 -10:00
J. Nick Koston
222baa53dd
Make database access in the eventloop raise an exception ( #71547 )
2022-05-09 15:22:08 -05:00
Erik Montnemery
3016b5fbfc
Use recorder fixtures and helpers in tests ( #70773 )
2022-04-26 06:08:00 -10:00
Martin Hjelmare
09b4b7eb37
Remove hass.helpers from config_entries ( #70660 )
2022-04-25 14:21:03 +02:00
Erik Montnemery
982e314de6
Use recorder_mock in tests ( #70363 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-04-22 19:29:44 -10:00
Franck Nijhof
7b75a16745
Add visible by default property to base Entity ( #70370 )
2022-04-21 22:06:34 -07:00
Erik Montnemery
64381acbaf
Mark device actions from hidden or auxiliary entities as secondary ( #70278 )
2022-04-20 10:48:46 -07:00
J. Nick Koston
fe6a4bfb1d
Remove EVENT_TIME_CHANGED and EVENT_TIMER_OUT_OF_SYNC ( #69643 )
...
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-04-09 09:05:54 -10:00
Erik Montnemery
949b0e1b65
Don't allow in-memory SQLite database ( #69616 )
2022-04-08 00:43:09 +02:00
Erik Montnemery
0ad9da9dd0
Always use a commit interval of 0 for the in memory db in tests ( #69556 )
2022-04-07 13:04:08 +02:00
J. Nick Koston
bde3646293
Always use a commit interval of 0 for the in memory db in tests ( #69330 )
2022-04-05 12:06:06 -10:00
Franck Nijhof
15cffbe496
Clean up async_dispatcher_connect helper usage ( #68613 )
2022-03-24 13:19:11 +01:00
Erik Montnemery
cf4033b1bc
Simplify time zone setting in tests ( #68330 )
...
* Simplify timezone setting in tests
* Fix typo
* Adjust caldav tests
* Adjust input_datetime tests
* Adjust time_date tests
* Adjust tod tests
* Adjust helper tests
* Adjust recorder tests
* Adjust risco tests
* Adjust aemet tests
* Adjust flux tests
* Adjust forecast_solar tests
* Revert unnecessary change in forecast_solar test
* Adjust climacell tests
* Adjust google tests
* Adjust sensor tests
* Adjust sonarr tests
* Adjust template tests
* Adjust zodiac tests
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-03-20 10:25:15 +01:00
Erik Montnemery
c496748125
Add WS API for removing a config entry from a device ( #66188 )
...
* Add WS API for removing a config entry from a device
* Address review comments
* Address review comments
* Remove entity cleanup from ConfigEntries
* Update + add tests
* Improve comments in test
* Add negative test
* Refactor according to review comments
* Add back async_remove_config_entry_device
* Remove unnecessary error handling
* Simplify error handling
2022-02-21 10:11:18 +01:00
Erik Montnemery
009b31941a
Support restoring SensorEntity native_value ( #66068 )
2022-02-08 14:00:26 -08:00
Paulus Schoutsen
5da923c341
Protect state.as_dict from mutation ( #65693 )
2022-02-04 14:45:25 -08:00
Marc Mueller
d057850971
Update typing - collections.abc (3) ( #63947 )
2022-01-12 08:04:17 +01:00
Paulus Schoutsen
689504af86
Raise if trying to store mocks in storage ( #63622 )
2022-01-09 21:20:21 -08:00
Paulus Schoutsen
ad8af5fc7a
Allow mobile app registrations only supporting websocket push ( #63208 )
2022-01-03 11:02:41 -08:00
Ville Skyttä
9b437ef146
Remaining DeviceAutomationType bits ( #62508 )
...
* Use DeviceAutomationType in missed tests/components/*
* Tighten device automation type hints
2021-12-21 20:05:48 +02:00
Ville Skyttä
334c6c5c02
Make device automation type an enum ( #62354 )
2021-12-20 19:16:30 +01:00
Stefan Agner
f0006b92be
Allow to lock SQLite database during backup ( #60874 )
...
* Allow to set CONF_DB_URL
This is useful for test which need a custom DB path.
* Introduce write_lock_db helper to lock SQLite database
* Introduce Websocket API which allows to lock database during backup
* Fix isort
* Avoid mutable default arguments
* Address pylint issues
* Avoid holding executor thread
* Set unlock event in case timeout occures
This makes sure the database is left unlocked even in case of a race
condition.
* Add more unit tests
* Address new pylint errors
* Lower timeout to speedup tests
* Introduce queue overflow test
* Unlock database if necessary
This makes sure that the test runs through in case locking actually
succeeds (and the test fails).
* Make DB_LOCK_TIMEOUT a global
There is no good reason for this to be an argument. The recorder needs
to pick a sensible value.
* Add Websocket Timeout test
* Test lock_database() return
* Update homeassistant/components/recorder/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fix format
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-12-07 13:16:24 +01:00
Erik Montnemery
c85bb27d0d
Teach state trigger about entity registry ids ( #60271 )
...
* Teach state trigger about entity registry ids
* Tweak
* Add tests
* Tweak tests
* Fix tests
* Resolve entity ids during config validation
* Update device_triggers
* Fix mistake
* Tweak trigger validator to ensure we don't modify the original config
* Add index from entry id to entry
* Update scaffold
* Pre-compile UUID regex
* Address review comment
* Tweak mock_registry
* Tweak
* Apply suggestion from code review
2021-12-02 14:26:45 +01:00
Erik Montnemery
0df2904b89
Improve some entity registry tests ( #59902 )
2021-11-22 10:24:37 +01:00
Erik Montnemery
30f7bc0f18
Use freezegun in DST tests ( #58939 )
2021-11-02 18:11:39 +01:00
Paulus Schoutsen
31153ac155
Move fixtures part 1 ( #58902 )
2021-11-01 20:47:05 -07:00
J. Nick Koston
e880f1c8f9
Index config entries by domain ( #56316 )
2021-09-17 10:39:00 -10:00
J. Nick Koston
4bde4504ec
Add api to device_automation to return all matching devices ( #53361 )
2021-08-10 14:21:34 -05:00
Erik Montnemery
4d32e1ed01
Minor improvements of MQTT typing ( #52578 )
...
* Minor improvements of MQTT typing
* Tweak
2021-07-06 14:38:48 +02:00
Paulus Schoutsen
ee2c950716
Merge system options into pref properties ( #51347 )
...
* Make system options future proof
* Update tests
* Add types
2021-06-01 22:34:31 +02:00
J. Nick Koston
bf2d40adfe
Migrate from pytz to python-dateutil ( #49643 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-05-07 22:46:26 -07:00
Dermot Duffy
809c1394d4
Enable mypy for motionEye (aye aye!) ( #49738 )
2021-05-04 08:19:41 +02:00
Franck Nijhof
c68b259bd3
Cleanup of unused connection_class logic ( #49865 )
...
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2021-04-29 23:12:58 +02:00
Paulus Schoutsen
265fdea83b
Allow config entries to store a reason ( #49581 )
2021-04-23 09:23:43 +02:00
Alan Tse
125161df6b
Only raise integrationnotfound for dependencies ( #48241 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-04-01 11:30:52 -07:00
Franck Nijhof
52475c108f
Make integration setup optional ( #48381 )
2021-03-29 13:53:47 -07:00
J. Nick Koston
3f2ca16ad7
Index config entries by id ( #48199 )
2021-03-21 21:44:29 -07:00
Franck Nijhof
8a56dbf587
Add flake8 comprehensions checks to pre-commit & CI ( #48111 )
2021-03-19 13:41:09 +01:00
Marc Mueller
4cb7718192
Update typing 16 ( #48087 )
2021-03-18 22:58:19 +01:00
Marc Mueller
54d1e9985f
Update typing 15 ( #48079 )
2021-03-18 15:13:22 +01:00
Ville Skyttä
dc880118a4
Lint suppression cleanups ( #47248 )
...
* Unused pylint suppression cleanups
* Remove outdated pylint bug references
* Add flake8-noqa config and note to run it every now and then
* Add codes to noqa's
* Unused noqa cleanups
2021-03-02 09:02:04 +01:00
Paulus Schoutsen
557ec374f1
Convert discovery helper to use dispatcher ( #47008 )
2021-02-24 13:37:31 -08:00
Erik Montnemery
5e26bda52d
Add support for disabling config entries ( #46779 )
2021-02-20 19:21:39 -08:00
Erik Montnemery
ed31cc363b
Wait for registries to load at startup ( #46265 )
...
* Wait for registries to load at startup
* Don't decorate new functions with @bind_hass
* Fix typing errors in zwave_js
* Load registries in async_test_home_assistant
* Tweak
* Typo
* Tweak
* Explicitly silence mypy errors
* Fix tests
* Fix more tests
* Fix test
* Improve docstring
* Wait for registries to load
2021-02-11 17:36:19 +01:00
Erik Montnemery
58b4a91a5b
Test that variables are passed to wait_for_trigger script action ( #46221 )
2021-02-09 00:34:18 +01:00
Franck Nijhof
65cf2fcb6f
Drop asynctest ( #44746 )
2021-01-01 22:31:56 +01:00