Commit Graph

197 Commits

Author SHA1 Message Date
Erik Montnemery
8e617bbc1d Add translation_key property to entites (#82701)
* Add translation_key attribute to entity state

* Update accuweather test

* Index entity translation keys by platform

* Store translation key in entity registry
2022-12-01 09:34:09 +01:00
Joakim Plate
c576a68d33 Upgrade pytest-aiohttp (#82475)
* Upgrade pytest-aiohttp

* Make sure executors, tasks and timers are closed

Some test will trigger warnings on garbage collect, these warnings
spills over into next test.

Some test trigger tasks that raise errors on shutdown, these spill
over into next test.

This is to mimic older pytest-aiohttp and it's behaviour on test
cleanup.

Discussions on similar changes for pytest-aiohttp are here:
https://github.com/pytest-dev/pytest-asyncio/pull/309

* Replace loop with event_loop

* Make sure time is frozen for tests

* Make sure the ConditionType is not async

  /home-assistant/homeassistant/helpers/template.py:2082: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited
    def wrapper(*args, **kwargs):
  Enable tracemalloc to get traceback where the object was allocated.
  See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.

* Increase litejet press tests with a factor 10

The times are simulated anyway, and we can't stop the normal
event from occuring.

* Use async handlers for aiohttp

tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_still_image_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_get_stream_from_camera
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
tests/components/motioneye/test_camera.py::test_camera_option_stream_url_template
  /Users/joakim/src/hass/home-assistant/venv/lib/python3.9/site-packages/aiohttp/web_urldispatcher.py:189: DeprecationWarning: Bare functions are deprecated, use async ones
    warnings.warn(

* Switch to freezegun in modbus tests

The tests allowed clock to tick in between steps

* Make sure skybell object are fully mocked

Old tests would trigger attempts to post to could services:

```
DEBUG:aioskybell:HTTP post https://cloud.myskybell.com/api/v3/login/ Request with headers: {'content-type': 'application/json', 'accept': '*/*', 'x-skybell-app-id': 'd2b542c7-a7e4-4e1e-b77d-2b76911c7c46', 'x-skybell-client-id': '1f36a3c0-6dee-4997-a6db-4e1c67338e57'}
```

* Fix sorting that broke after rebase
2022-11-29 22:36:36 +01:00
Erik Montnemery
e1338adf1a Allow configuring country and language in core config (#81734)
* Allow configuring country and language in core config

* Add script for updating list of countries

* Use black for formatting

* Fix quoting

* Move country codes to a separate file

* Address review comments

* Add generated/countries.py

* Get default language from owner account

* Remove unused variable

* Add script to generate list of supported languages

* Add tests

* Fix stale docsring

* Use format_python_namespace

* Correct async_user_store

* Improve typing

* Fix with_store decorator

* Initialize language in core store migration

* Fix startup

* Tweak

* Apply suggestions from code review

Co-authored-by: Franck Nijhof <git@frenck.dev>

* Update storage.py

Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-11-24 23:25:50 +01:00
Aarni Koskela
e4c73259f7 Configure autoflake for pre-commit (#82414) 2022-11-22 08:10:36 +01:00
Erik Montnemery
de313dcc3f Improve config tests (#81898)
* Improve config tests

* Fix stale docstring

* Use os.path.basename
2022-11-14 11:13:20 +01:00
epenet
b23a66d776 Add websocket type hints in entity_registry (#80657)
* Add websocket type hints in entity_registry

* Adjust websocket_list_entities

* Fix update

* Fix websocket_update_entity

* Apply suggestion

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply suggestion

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-20 12:20:39 +02:00
Franck Nijhof
c4bbc439a5 Integrations v2.1: Differentiating hubs, devices and services (#80524)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02:00
Erik Montnemery
53263ea9bc Revert "Add serial_number to device registry entries" (#79139) 2022-09-27 16:36:38 +02:00
Erik Montnemery
cba3b6ad94 Add serial_number to device registry entries (#77713) 2022-09-27 09:08:54 +02:00
Bram Kragten
7e9be812ca Add unique id to entity reg list response (#78945)
* Add unique id to entity reg list response

* Update test_entity_registry.py
2022-09-27 08:25:56 +02:00
J. Nick Koston
016a59ac94 Add support for subscribing to config entry changes (#77803) 2022-09-04 22:57:43 -05:00
Erik Montnemery
8924725d69 Improve some device registry tests (#77659) 2022-09-02 08:54:02 +02:00
Erik Montnemery
d65eaf11f4 Include entity registry id in entity registry WS API (#77668) 2022-09-01 11:51:27 -04:00
Erik Montnemery
4655ed995e Fix resetting of attributes in EntityRegistry.async_get_or_create (#77516)
* Fix resetting of attributes in EntityRegistry.async_get_or_create

* Fix typing

* Fix resetting config entry

* Improve test

* Update tests
2022-08-30 21:07:50 +02:00
Erik Montnemery
2e228b2608 Tweak handling of entities with has_entity_name set (#74948)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-07-11 15:10:53 -07:00
Franck Nijhof
7cd68381f1 Search/replace RESULT_TYPE_* by FlowResultType enum (#74642) 2022-07-07 19:57:36 +03:00
J. Nick Koston
ce35324e73 Cache the response from config/entity_registry/list (#74443) 2022-07-05 21:11:51 -07:00
J. Nick Koston
3875fc5953 Cache the response from config/device_registry/list (#74483) 2022-07-05 21:08:39 -07:00
Erik Montnemery
26a85c6644 Add Entity.has_entity_name attribute (#73217) 2022-06-28 09:38:05 -07:00
J. Nick Koston
adf0f62963 Add websocket api to fetch config entries (#73570)
* Add websocket api to fetch config entries

* add coverage for failure case
2022-06-21 20:09:22 +02:00
Franck Nijhof
bfb47eb212 Final clean up of helpers accessed via hass (#72032)
* Final clean up of helpers accessed via hass

* Fix circular dep

* Fix import
2022-05-17 23:42:37 +03:00
Erik Montnemery
546ba8169d Remove entity registry entries when script is removed (#71193) 2022-05-02 13:15:19 +02:00
Erik Montnemery
91f6e58e9a Allow customizing unit for temperature and pressure sensors (#64366)
* Allow customizing unit for temperature and pressure sensors

* pylint

* Adjust google_wifi tests

* Address review comments and add tests

* Improve rounding when scaling

* Tweak rounding

* Further tweak rounding

* Allow setting entity options with config/entity_registry/update

* Address review comments

* Tweak tests

* Load custom unit when sensor is added

* Override async_internal_added_to_hass

* Adjust tests after rebase

* Apply suggestions from code review

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* Address review comments

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-03-30 15:43:04 +02:00
Paulus Schoutsen
3213091b8d Add integration type (#68349) 2022-03-20 20:38:13 -07: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
Franck Nijhof
2686be921c Remove deprecated (old) Z-Wave integration (#67221)
* Remove deprecated (old) Z-Wave integration

* Mark migration tests as skip, for later cleanup
2022-03-18 13:09:10 +01:00
Erik Montnemery
f134219c74 Minor tweak of config entity_registry test (#68141) 2022-03-14 23:07:52 +01:00
Erik Montnemery
314175135f Hide switch_as_x tracked entity (#67949)
* Hide switch_as_x tracked entity

* Hide wrapped switch during config flow

* Allow setting/getting entity disabled by via WS

* Adjust tests

* Improve test coverage

* Improve tests
2022-03-14 19:39:07 +01:00
Franck Nijhof
5965b015dd Adjust data entry flow to have an option data_schema (#67637) 2022-03-04 16:42:02 +01:00
J. Nick Koston
9a5eec561a Only set require_restart on config entry reload if its not recoverable (#66994) 2022-02-21 10:27:23 -08: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
Joakim Sørensen
38f7213002 Add more tests to device registry updates (#65989) 2022-02-07 11:15:04 +01:00
Erik Montnemery
0eb2caabcf Report unmet dependencies for failing config flows (#65061)
* Report unmet dependencies for failing config flows

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update homeassistant/setup.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Modify error message

* Add test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-02-02 15:06:27 +01:00
Bram Kragten
c82aa1606a Allow removing keys from automation (#65374) 2022-02-01 09:45:08 -08:00
Erik Montnemery
55ff1e9c1d Revert "Allow setting entity options with config/entity_registry/update" (#64693) 2022-01-23 21:07:12 -08:00
Paulus Schoutsen
63f8e437ed Add Home Assistant Content user (#64337) 2022-01-21 10:06:39 -08:00
Erik Montnemery
3575009330 Store remote domain in Cloud preferences (#64532) 2022-01-21 09:42:34 -08:00
Erik Montnemery
c60bb1890d Remove unused group config view (#63434) 2022-01-05 12:16:11 +01:00
J. Nick Koston
04153c0075 Add hardware version to the device registry (#61650) 2021-12-16 05:16:19 -06:00
Ville Skyttä
5bf67cac66 Use RegistryEntryDisabler (#60436) 2021-12-15 23:25:40 +02:00
Ville Skyttä
7db3246de4 Make config entry disabled_by an enum (#60445)
* Make config entry disabled_by an enum

* Update homeassistant/config_entries.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-12-15 20:53:21 +01:00
Marcel van der Veldt
7c7df5bb51 Change check for existence of options flow (#61147)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-07 12:50:34 -08:00
Bram Kragten
ef458b237c Return if user is local only (#60917) 2021-12-03 16:34:26 +01:00
Ville Skyttä
9f4de8df18 Make device entry disabled by an enum (#60239) 2021-11-24 22:32:16 +01:00
J. Nick Koston
af51aeb6dc Show how user input is malformed in the UI on error (#60057) 2021-11-23 22:50:54 +01:00
Ville Skyttä
39691faccc Use DeviceEntryType in non-typechecked code too (#58646) 2021-11-23 10:04:33 +01:00
Erik Montnemery
49a27e12ad Add support to entity registry for overriding device_class (#59985) 2021-11-22 08:38:06 -08:00
Franck Nijhof
8b30cb509f Cleanup customize API endpoint (#59824) 2021-11-22 12:01:56 +01:00
Erik Montnemery
0df2904b89 Improve some entity registry tests (#59902) 2021-11-22 10:24:37 +01:00
J. Nick Koston
ebb25ab0e6 Make yaml file writes safer (#59384) 2021-11-10 22:19:56 -08:00