Commit Graph

603 Commits (85203aeb28fa8a31cfb905eec55e32dc505358be)

Author SHA1 Message Date
Robert Resch cf9b0e804f
Deprecate legacy api auth provider (#104409)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:16:18 +01:00
Jan Bouwhuis 54cf7010cd
Add ServiceValidationError and translation support (#102592)
* Add ServiceValidationError

* Add translation support

* Extend translation support to HomeAssistantError

* Add translation support for ServiceNotFound exc

* Frontend translation & translation_key from caller

* Improve fallback message

* Set websocket_api as default translation_domain

* Add MQTT ServiceValidationError exception

* Follow up comments

* Revert removing gueard on translation_key

* Revert test changes to fix CI test

* Follow up comments

* Fix CI test

* Follow up

* Improve language

* Follow up comment
2023-11-06 15:45:04 +01:00
Allen Porter 476e867fe8
Add a Local To-do component (#102627)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-25 13:21:10 +02:00
Erik Montnemery b953f2998c
Rename the safe_mode integration to recovery_mode (#102581)
* Rename safe mode integration to recovery mode

* Update code
2023-10-24 09:11:14 +02:00
Robert Resch 0c5b963847
Add lokalise multi reference check to hassfest (#101876) 2023-10-23 10:57:19 +02:00
Marc Mueller 0b2b486754
Update mypy to 1.6.0 (#101780) 2023-10-11 13:25:11 +02:00
Raman Gupta 2ad0fd1ce1
Adjust hassfest.manifest based on config.action (#100577) 2023-09-19 17:30:38 +02:00
J. Nick Koston 035fea3ee0
Replace lambda with attrgetter in hassfest (#99662) 2023-09-05 16:40:25 +02:00
puddly 38270ee823
Create a ZHA repair when directly accessing a radio with multi-PAN firmware (#98275)
* Add the SiLabs flasher as a dependency

* Create a repair if the wrong firmware is detected on an EZSP device

* Update homeassistant/components/zha/strings.json

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>

* Provide the ZHA config entry as a reusable fixture

* Create a separate repair when using non-Nabu Casa hardware

* Add unit tests

* Drop extraneous `config_entry.add_to_hass` added in 021def44

* Fully unit test all edge cases

* Move `socket://`-ignoring logic into repair function

* Open a repair from ZHA flows when the wrong firmware is running

* Fix existing unit tests

* Link to the flashing section in the documentation

* Reduce repair severity to `ERROR`

* Make issue persistent

* Add unit tests for new radio probing states

* Add unit tests for new config flow steps

* Handle probing failure raising an exception

* Implement review suggestions

* Address review comments

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-09-01 09:05:45 -04:00
Erik Montnemery f9b2e10f72
Add new board type (#99334) 2023-08-30 16:37:13 +02:00
Erik Montnemery 7e7cb15d5b
Revert "Allows defining list of attributes excluded from history in manifest.json" (#99300)
Revert "Allows defining list of attributes excluded from history in manifest.json (#99283)"

This reverts commit 0366e14630.
2023-08-30 08:26:26 +02:00
Erik Montnemery 0366e14630
Allows defining list of attributes excluded from history in manifest.json (#99283)
* Move list of attributes excluded from history to manifest.json

* Address comments
2023-08-29 20:14:33 +02:00
Ville Skyttä 6399d74c15
Remove unnnecessary pylint configs from core (#98704) 2023-08-22 23:12:12 +02:00
Robert Resch 426fd62ee3
Adjust hassfest to require translations for core services (#98814)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-08-22 17:05:53 +02:00
Ville Skyttä 3094991236
Upgrade ruff to 0.0.285 (#98647) 2023-08-19 08:17:17 -04:00
Marc Mueller fb66ceb302
Update mypy to 1.5.0 (#98179) 2023-08-11 13:13:04 +02:00
amitfin d78e39d568
Fix allow_name_translation logic (#97701) 2023-08-04 12:51:04 +02:00
J. Nick Koston 282ae80cc2
Fix hassfest check for schema (#97713)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-08-03 12:55:33 -10:00
epenet 9df1805b3b
Remove myself from const and util codeowners (#97527) 2023-07-31 07:06:06 -07:00
Franck Nijhof b655b9d530
Allow for translating service examples (#97141) 2023-07-24 15:57:02 +02:00
Marc Mueller da6802b009
Drop tomli (#97064) 2023-07-22 17:04:45 -05:00
Franck Nijhof 22d0f4ff0a
Remove legacy discovery integration (#96856) 2023-07-19 07:10:07 +02:00
Franck Nijhof f25d5a157a
Fix service schema to allow for services without any fields/properties (#96346) 2023-07-11 19:33:07 +02:00
Franck Nijhof f2f9b20880
Fix hassfest services check (#96337) 2023-07-11 16:48:07 +02:00
Franck Nijhof f054de0ad5
Add support for service translations (#95984) 2023-07-11 15:52:12 +02:00
Joost Lekkerkerker af22a90b3a
Make Zodiac integration title translatable (#95816) 2023-07-10 15:49:25 +02:00
Franck Nijhof e7b00da662
Clean up unused device class translations from binary sensor (#96241) 2023-07-10 12:23:42 +02:00
Jan-Philipp Benecke 207721b421
Make generic camera integration title translatable (#95806) 2023-07-08 11:43:14 +02:00
Jan-Philipp Benecke 436cda1489
Make local calendar integration title translatable (#95805) 2023-07-04 23:35:32 -07:00
Franck Nijhof 3e85a29b86
Move overlapping pylint rules to ruff, disable mypy overlap (#94359) 2023-06-27 17:42:46 +02:00
Erik Montnemery f17773233b
Add check for integration config schema to hassfest (#93587)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-06-12 10:26:02 +02:00
epenet d26160a509
Prevent combined translations in strings.json (#91334) 2023-04-17 09:36:25 +02:00
Erik Montnemery 59511cc3f7
Make service field filter parameters exclusive (#90728) 2023-04-03 21:46:23 +02:00
Erik Montnemery b316ffff9b
Rename hassfest _validate_dependencies_exist (#90503) 2023-03-30 12:05:11 +02:00
Aarni Koskela 196f5702b8
Make hassfest.dependencies faster with multiprocessing (#81486)
* hassfest.dependencies: split to two loops

* hassfest.dependencies: use multiprocessing for import scan
2023-03-30 11:25:14 +02:00
Franck Nijhof f9919bb7cf
Add pre-defined entity name translations (#89792) 2023-03-16 21:10:20 +01:00
Erik Montnemery 9384ec18f8
Add filters to climate and light service descriptions (#86162)
* Add filters to climate and light service descriptions

* Allow specifying enums directly

* Update service descriptions

* Adjust test

* Cache entity features

* Lint

* Improve error handling, add list of known base components

* Don't allow specifying an entity feature as int
2023-03-16 15:59:51 +01:00
Franck Nijhof f32b7859b8
Restructure translations for entity components (#89702) 2023-03-16 12:16:08 +01:00
Erik Montnemery cf7e500a8e
Support translating entity names (#88242) 2023-03-12 15:55:04 +01:00
epenet 699cc6c092
Adjust docstring on hassfest generated files (#89080) 2023-03-03 11:34:20 +01:00
Paulus Schoutsen 9be3f86a4c
Check circular dependencies (#88778) 2023-02-26 20:25:29 -05:00
Joakim Sørensen 0f204d6502
Remove homeassistant_hardware after dependency from zha (#88751) 2023-02-25 12:01:01 +01:00
Bram Kragten bee79e351e
Allow translation for data entry submit button (#88499) 2023-02-20 19:52:39 +01:00
Ruslan Sayfutdinov 0d832c0a5a
Cleanup mypy ignore list feature (#88451) 2023-02-19 19:29:06 +01:00
J. Nick Koston c83ea297b5
Refactor zeroconf task handling (#88204)
* Refactor zeroconf task handling

- Avoid the need to create tasks for most callbacks
- Fixes the untracked task that could get unexpectedly GCed

* be consistant

* be consistant

* fix zeroconf tests

* runtime

* Revert "runtime"

This reverts commit 19e6b61837.

* precalc

* refactor

* tweak

* update tests
2023-02-15 21:44:11 -05:00
J. Nick Koston 61539686a4
Disable profiler.memory service with python 3.11 (#88136) 2023-02-15 16:20:47 +01:00
Dustin Rodrigues c7e9afcef8
Fix typo in requires-python hassfest error message (#87896) 2023-02-12 09:11:56 -06:00
Marc Mueller 67499e0204
Enable pydantic mypy plugin (#87415) 2023-02-09 13:33:10 +01:00
Erik Montnemery 0cfb937d07
Enforce sorting of manifests (#87020) 2023-02-08 21:48:58 +01:00
Marc Mueller fb4c0b4b7a
Enable error-code `redundant-self` [mypy 1.0] (#87602) 2023-02-07 14:02:38 +01:00
Marc Mueller 42008c50f3
Enable error-code `truthy-iterable` [mypy 1.0] (#87596) 2023-02-07 11:16:22 +01:00
Marc Mueller af59623601
Enable `local_partial_types` for strict typing [mypy] (#86409) 2023-02-06 20:41:39 -06:00
Paulus Schoutsen ff6e597a63
Add Matter to supported standards for brands (#87564)
* Add Matter standard to TP-Link

* --amend
2023-02-06 20:09:01 -05:00
Franck Nijhof ca1a12898c
Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Franck Nijhof 021ac84405
Add recorder platform to required test category (#86704) 2023-01-26 11:03:56 +01:00
epenet b2004e62b1
Remove ability to ignore coverage violations (#86597)
* Remove ability to ignore coverage violations

* Adjust codecov for required platforms

* Update codecov.yml
2023-01-25 14:27:16 +01:00
epenet 15ab04f97d
Prevent wilcard coverage ignore if tests exist (#86455) 2023-01-23 16:33:57 +01:00
epenet 74a76c6fe7
Don't ignore diagnostics coverage (#86440) 2023-01-23 14:55:02 +01:00
epenet ea43effcc9
Fix hassfest coverage check (#86443)
* Fix hassfest coverage check

* A-Z
2023-01-23 12:23:38 +01:00
Franck Nijhof 5102d1a5f3
Drop Python 3.9 support (#85456) 2023-01-22 20:40:33 +01:00
Jan Bouwhuis 25392655e7
Allow translating select selector options (#85531)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-17 16:22:19 +01:00
J. Nick Koston 65ca62c991
Ensure remote bluetooth adapters are loaded before integrations that need them (#85723) 2023-01-15 13:17:17 -10:00
Franck Nijhof 3cb56211f8
Make translations keys check hassfest more strict (#85221) 2023-01-15 17:43:34 +01:00
epenet 8fbcb93ab4
Use IntEnum for hassfest quality scale (#85817) 2023-01-14 10:19:18 +01:00
epenet e75c85f679
Downgrade integrations without code owner (#85752) 2023-01-13 10:08:15 +01:00
Franck Nijhof 139dd22ce6
Replace attrs with dataclasses in hassfest (#84475) 2022-12-23 15:46:00 +01:00
Erik Montnemery 255f35b979
Add support for translating custom attribute state (#83386)
* Add support for translating custom attribute state

* Address review comment

* Rename attribute to state_attributes, allow naming attributes
2022-12-21 10:43:49 +01:00
Franck Nijhof 80b3572627
Rename image integration to image_upload (#84063)
* Rename image integration to image_upload

* fix test
2022-12-16 08:16:38 -05:00
Erik Montnemery 8f761f44bd
Add support for translating state attributes (#77028)
* Allow defining state attributes in strings.json

* Add all climate attributes

* Remove support for custom device classes

* Address review comments
2022-12-09 08:22:29 +01:00
Joakim Sørensen 1d1b59b800
Fix hassfest serializer injecting commas in empty lists (#83052)
* No trailing comma for empty lists

* Update script/hassfest/serializer.py

Co-authored-by: Aarni Koskela <akx@iki.fi>

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Aarni Koskela <akx@iki.fi>
2022-12-01 20:26:30 +02:00
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
Erik Montnemery b7652c78ee
Add options flow to enable multiprotocol support on sky connect (#82525) 2022-11-29 16:34:55 -05:00
Aarni Koskela 16fc2972d3
Remove more useless manifest truthiness checks in hassfest (#82914) 2022-11-29 21:57:58 +01:00
Marc Mueller 63d519c1a8
Spelling updates (#82867) 2022-11-28 16:51:43 +01:00
Aarni Koskela 69d519418e
Remove unnecessary truthiness checks for integration.manifest (#82319) 2022-11-28 15:33:14 +01:00
Aarni Koskela 97b40b5f49
Make hassfest strictly typed (#82091) 2022-11-23 19:05:31 +01:00
epenet 89c7568515
Remove duplicate code in hassfest model (#82203) 2022-11-17 09:10:37 +01:00
Erik Montnemery aaec464627
Add support for managing the silabs multiprotocol add-on (#82170)
* Add support for managing the silabs multiprotocol add-on

* Fix passing context when starting option flow

* Allow unloading a ha yellow config entry

* Fix tests

* Log data passed to ZHA option flow

* Improve ZHA migration logic

* Move tests

* Improve test coverage

* Remove dead code

* Drop automatic ZHA migration
2022-11-16 17:38:07 +01:00
Franck Nijhof 6a1bb8c421
Deprecate Python 3.9 (#82193) 2022-11-16 15:38:10 +01:00
Aarni Koskela 322cb352ac
Use functools.cache instead of global in hassfest requirements (#82124) 2022-11-16 13:13:45 +01:00
Aarni Koskela 35c1604ea7
Remove unused hassfest helper (#82123) 2022-11-15 21:26:34 +01:00
J. Nick Koston f035223599
Make sure the config_flow key is set for brands (#82038)
Fixes https://github.com/home-assistant/frontend/issues/14376
2022-11-15 18:27:59 +01:00
epenet 7d5794cfb1
Remove unused function from hassfest model (#82073)
* Remove unused function from hassfest model

* Update model.py

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-11-14 16:18:11 +01:00
epenet 55444b15a9
Add type hints to hassfest models (#82074)
* Add type hints to hassfest models

* Implement review
2022-11-14 12:41:49 +01:00
Aarni Koskela 727dcd6df6
Keep mypy.ini and strict-typing files sorted with hassfest (#81331)
hassfest: keep mypy.ini and .strict-typing sorted
2022-11-14 06:37:47 +01:00
Aarni Koskela f3e85b6492
Deduplicate blackening (#81802) 2022-11-09 16:58:20 +01:00
Marc Mueller 0c8eeaa643
Update mypy to 0.990 (#81783)
* Update mypy to 0.990

* Remove type ignore - overriding attr with property (13475)

* Remove type ignores - hasattr (13544)

* Adjust type ignore - assignment (13549)

* New error code - type-abstract (13785)

* Disable annotation-unchecked (13851)
2022-11-08 14:41:39 +01:00
Franck Nijhof 98591cd4b6
Remove hardware and fix raspberry pi brands in integrations.json (#80970) 2022-10-25 21:05:04 +02:00
Bram Kragten 36bb0bbc1a
Fix `integrations.json` creation, make `iot_standards` a list (#80945) 2022-10-25 13:43:40 +02:00
epenet 10dbef80ae
Add myself as code owner to util and const (#80664) 2022-10-22 15:07:43 +02:00
Paulus Schoutsen 76dbd017a7
Conditionally include config flow and iot_class when relevant (#80756) 2022-10-21 20:27:59 -04:00
Franck Nijhof bb287dd0ed
Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04: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
Paulus Schoutsen e3ed4eeb76
Add Denon brand (#79230) 2022-09-28 23:09:53 +02:00
Paulus Schoutsen 62c114e849
Add Apple brand (#79227) 2022-09-28 16:21:09 -04:00
Erik Montnemery b173ae7f44
Add support for integrations v2 (#78801)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 11:31:48 -04:00
Erik Montnemery cce23683f1
Add additional integration_type options for integration manifests (#79193)
* Add additional integration_type options for integration manifests

* Rename integration_type internal to system
2022-09-28 14:17:39 +02:00
Erik Montnemery 27599ea0ee
Minor tweaks of hassfest and loader.py (#78929) 2022-09-22 21:54:22 -04:00
Erik Montnemery 1021c90bb8
Use black to format hassfest generated files (#78794) 2022-09-19 17:37:22 -04:00
Robert Hillis 73ba7a989b
Make Sonos typing more complete (#68072) 2022-09-05 13:12:37 -05:00