Commit Graph

1740 Commits (eb651a8a71418288d199e479c6eee11d7e98acaa)

Author SHA1 Message Date
Marc Mueller 37ffe09add
Update mypy-dev to 1.12.0a1 (#121428) 2024-07-07 16:10:17 +02:00
Joost Lekkerkerker cf34b46b5a
Fix Audit license script comments (#121374) 2024-07-06 15:24:45 +02:00
Joost Lekkerkerker f2c9188e46
Add audit license script (#120683)
* Add license script

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Remove packages

* Remove packages

* Remove packages

* Remove packages

* Fix

* Remove packages

* Remove packages

* Fix

* Fix

* Fix

* Fix exceptions
2024-07-05 22:04:21 +02:00
Franck Nijhof afb184db73
Remove coveragerc (#121286) 2024-07-05 11:03:31 +02:00
Marc Mueller ca55986057
Import Generator from collections.abc (1) (#120914) 2024-07-01 11:51:51 +02:00
Erik Montnemery 75c7ae7c69
Support in service descriptions for input sections (#116100) 2024-06-25 20:00:48 +02:00
Erik Montnemery 0545ed8082
Section support for data entry flows (#118369)
* Add expandable support for data entry form flows

* Update config_validation.py

* optional options

* Adjust

* Correct translations of data within sections

* Update homeassistant/components/kitchen_sink/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Add missing import

* Update tests/components/kitchen_sink/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Format code

* Match frontend when serializing

* Move section class to data_entry_flow

* Correct serializing

* Fix import in kitchen_sink

* Move and update test

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-25 11:02:00 +02:00
Marc Mueller a4e22bcba6
Update tenacity constraint (#120348) 2024-06-24 18:52:49 +02:00
Robert Resch 641507a45a
Add change username endpoint (#109057) 2024-06-24 18:51:19 +02:00
J. Nick Koston 7375764301
Bump anyio to 4.4.0 (#120061) 2024-06-21 10:31:37 +02:00
Marc Mueller e5846fdffd
Update pydantic to 1.10.17 (#119430) 2024-06-21 10:16:36 +02:00
Marc Mueller 1d873115f3
Pin tenacity to 8.3.0 (#119815) 2024-06-17 11:17:35 +02:00
Matthias Alphart 171707e8b7
Translation support for device automation extra fields (#115892)
* Translation support for device trigger extra fields

* Move extra_fields translations to backend
2024-06-12 14:10:02 +02:00
Erik Montnemery 8620bef5b0
Support shared keys starting with period in services.yaml (#118789) 2024-06-11 16:31:19 +02:00
Ruben Bokobza 35347929ca
Bump pyElectra to 1.2.1 (#118958) 2024-06-11 07:04:25 +02:00
epenet e818de1da8
Use service_calls fixture in scaffold (#119266) 2024-06-10 10:44:00 +02:00
Erik Montnemery 6c15351c18
Add support for common references in strings.json (#118783)
* Add support for common references in strings.json

* Update tests
2024-06-07 20:59:26 +02:00
Marc Mueller fe21e2b8ba
Import Generator from typing_extensions (1) (#118986) 2024-06-06 17:02:13 +02:00
tronikos 2b7685b71d
Add Google Assistant SDK diagnostics (#118513) 2024-05-30 22:13:54 -04:00
Erik Montnemery 4b95ea864f
Fix a typo in hassfest (#118482) 2024-05-30 15:46:08 +02:00
epenet ef6c7621cf
Use registry fixtures in scaffold (#118308) 2024-05-28 14:20:01 +02:00
tronikos 63227f14ed
Add diagnostics to Google Generative AI (#118262)
* Add diagnostics for Google Generative AI

* Remove quality scale from manifest

* include options in diagnostics
2024-05-28 00:02:32 -04:00
tronikos 0588806922
Promote Google Generative AI to platinum quality (#118158)
* Promote Google Generative AI to platinum quality

* make exception for diagnostics
2024-05-26 17:07:31 -04:00
Matthias Alphart 344bb568f4
Add diagnostics support for Fronius (#117845)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-25 14:01:24 +02:00
epenet 6a10e89f6d
Exclude gold and platinum integrations from .coveragerc (#117563) 2024-05-24 16:10:22 +02:00
Marc Mueller dc47792ff2
Update codespell to 2.3.0 (#118001) 2024-05-24 08:22:29 +02:00
Matthias Alphart fc4ea774ca
Fix run-in-env script for not running in venv (#117961) 2024-05-23 09:14:59 +02:00
Joost Lekkerkerker 5229f0d0ef
Exclude modbus from diagnostics hassfest check (#117855) 2024-05-22 13:09:20 +02:00
Jakob Schlyter 2e68363755
Improve typing via hassfest serializer (#117382) 2024-05-22 08:22:18 +02:00
epenet 54d048fb11
Remove silver integrations from NO_DIAGNOSTICS (#117840) 2024-05-21 10:01:13 +02:00
Robert Resch 5e3483ac3c
Use uv instead of pip in development env (#113517) 2024-05-21 09:56:31 +02:00
Marc Mueller 26fb7627ed
Update scaffold templates to use runtime_data (#117819) 2024-05-21 07:15:08 +02:00
epenet 067c9e63e9
Adjust bootstrap script to use correct version of pre-commit (#117621) 2024-05-17 16:18:44 +02:00
Marc Mueller 4edee94a81
Update mypy-dev to 1.11.0a2 (#117630) 2024-05-17 13:32:20 +02:00
epenet eacbebce22
Prevent `const.py` in coverage ignore list (#117625) 2024-05-17 12:53:58 +02:00
MatthewFlamm 9aa7d3057b
Add diagnostics for nws (#117587)
* add diagnostics

* remove hassfezt exception
2024-05-16 21:26:22 +02:00
epenet 996132f3f8
Ensure gold and platinum integrations implement diagnostic (#117565) 2024-05-16 11:33:23 -04:00
Sid 2cc916db6d
Replace pylint broad-except with Ruff BLE001 (#116250) 2024-05-07 14:00:27 +02:00
Sid b456d97e65
Replace pylint protected-access with Ruff SLF001 (#115735) 2024-05-06 20:33:26 +02:00
Marc Mueller 1ec7a515d2
Add constraint for tuf (#116627) 2024-05-02 09:12:26 -05:00
Christopher Bailey c7a84b1c7b
Bump pydantic constraint (#116401)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-30 13:13:56 -05:00
puddly 380f192c93
Expose the SkyConnect integration with a firmware config/options flow (#115363)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-04-24 17:06:24 +02:00
Robert Resch a4829330f6
Add strict connection for cloud (#115814)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-24 09:57:38 +02:00
Volker Stolz 5e250d8a76
Augment SyntaxError raised during dependency collection with offending filename (#109204)
* Capture parsing exception when collecting dependencies and augment with offending filename.

Whereas before any syntax error in some component-file would result in an opaque SyntaxError without pointing out the file, now the result will show as:

```
  File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 873, in next
    raise value
SyntaxError: Can't parse file homeassistant/components/your/file.py
```

* tweak

* D'oh, had pre-commit hook still off.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 17:13:25 +02:00
Erik Montnemery 2caca7fbe3
Generate requirements per supported architecture (#115708)
* Generate requirements per supported architecture

* Don't store wheels requirements in the repo

* Dry run

* Set Python version

* Install base packages

* Fix

* Fix

* Fix

* Fix typo

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

* Genarate requirements_all_pytest.txt

* Fix hassfest

* Reenable building wheels

* Remove unneeded code

* Address review comment

* Fix lying comment

* Add tests, address review comments

* Deduplicate

* Fix file name

* Add comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-22 19:23:08 +02:00
Martin Hjelmare 47f0d5ed1f
Add script to compare alexa locales with upstream (#114247)
* Add script to compare alexa locales with upstream

* Use a function in script

* Add test base

* Complete output assertion

* Add type annotation

* Add note to docstring

* Update script call example

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-18 13:41:34 +02:00
Erik Montnemery 5c018f6ffc
Improve standard library violation check in hassfest (#115752)
* Improve standard library violation check in hassfest

* Improve prints

* Improve error message
2024-04-17 14:10:26 +02:00
Erik Montnemery fee1f2833d
Fix hassfest requirements check (#115744)
* Fix hassfest requirements check

* Add electrasmart to ignore list
2024-04-17 12:27:48 +02:00
Erik Montnemery ff1ac1a544
Remove useless any in gen_requirements_all.comment_requirement (#115751) 2024-04-17 12:12:51 +02:00
Erik Montnemery a3c767da2d
Correct normalize_package_name (#115750) 2024-04-17 12:03:06 +02:00
J. Nick Koston 135fe26704
Bump httpcore to 1.0.5 (#115672)
Fixes missing handling of EndOfStream errors
2024-04-16 18:13:47 +03:00
Martin Hjelmare d1ed8d817c
Remove Adafruit-BBIO from commented requirements (#115689) 2024-04-16 10:50:51 +02:00
Marc Mueller 881e201a15
Set platform for mypy (#115638) 2024-04-15 14:12:26 +02:00
Marc Mueller 6422bc4c19
Set follow_imports to normal [mypy] (#115521) 2024-04-15 00:26:06 +02:00
J. Nick Koston 33412dd9f6
Remove unused legacy state translations (#112023)
* Remove unused state translations

There have been replaced with entity translations
https://github.com/home-assistant/developers.home-assistant/pull/1557
https://github.com/home-assistant/core/pull/82701

* nothing does merging anymore

* useless dispatch

* remove

* remove platform code from hassfest

* preen

* Update homeassistant/helpers/translation.py

* ruff

* fix merge

* check is impossible now since we already know if translations exist or not

* keep the function for now

* remove unreachable code since we filter out `.` before now

* reduce

* reduce

* fix merge conflict (again)
2024-04-14 07:13:17 -04:00
Marc Mueller 27f6a7de43
Revert mypy_config formatting (#115518) 2024-04-13 10:48:34 +02:00
epenet bea4c52d10
Ignore coverage for aiohttp_resolver backport helper (#115177)
* Ignore coverage for aiohttp_resolver backport helper

* Adjust generate to sort core items

* Adjust validate to sort core items

* Split line

* Apply suggestion

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

* Fix suggestion

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-04-12 16:33:05 +02:00
Sid 9bf87329da
Enable Ruff FLY002 rule (#115112)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-12 09:04:16 +02:00
konsti cad4c3c0c2
Remove pip jemalloc config from dockerfile (#115206) 2024-04-09 15:08:55 +02:00
Paulus Schoutsen f9a7e6bb9f
Add migration logic to assist_pipeline (#115172) 2024-04-08 11:29:55 -04:00
Sid 376aafc83e
Enable Ruff INP001 (#115082) 2024-04-08 15:43:58 +02:00
Joost Lekkerkerker ecda6b70ff
Filter out fuzzy translations from Lokalise (#114968) 2024-04-08 10:04:16 +02:00
Jan Bouwhuis 2e3cb1a767
Correct changes hassfest coverage backports (#115044) 2024-04-06 21:17:44 +02:00
Joost Lekkerkerker 57cc3495c2
Sort coveragerc again (#115017)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-06 15:51:56 +02:00
Øyvind Matheson Wergeland fdef3ece13
Fix placeholder quotes (#114974)
* When quoting placeholders, always use double quotes so Lokalise recognizes the placeholder.

* Ensure that strings does not contain placeholders in single quotes.

* Avoid redefining value

* Moved string_with_no_placeholders_in_single_quotes

* Define regex once

* Fix tests
2024-04-06 13:01:56 +02:00
Sid 0d66d298ec
Enable Ruff RET504 (#114528)
* Enable Ruff RET504

* fix test

* Use noqa instead of cast

* fix sonos RET504

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-06 11:07:37 +02:00
Michael Hansen 1c2499b03a
Add "conversation" key to translations (#114887)
* Use translated trigger response

* Use conversation key instead
2024-04-04 14:45:27 -05:00
Robert Resch ed88c2abc9
Replace pytest-test-groups by custom tests splitter (#114381)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-03 15:43:12 +02:00
epenet ad3577804b
Ensure coverage entries are sorted (#114424)
* Ensure coverage entries are sorted

* Use autofix

* Adjust

* Add comment to coverage file

* test CI

* revert CI test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-01 14:12:24 +02:00
Sid d846676e84
Enable first batch of Ruff RET rules (#114480)
* Enable first batch of Ruff RET rules

* disable pylint rules
2024-03-31 11:30:59 +02:00
Franck Nijhof 192fad040a
Fix hassfest service icons check for custom integrations (#114389) 2024-03-28 16:20:20 +01:00
Robert Resch 4a9c592f3c
Mark core as codeowner for some folders (#114357) 2024-03-28 10:54:10 +01:00
Sid f7b7f74d10
Enable Ruff TRY201 (#114269)
* Enable Ruff TRY201

* remove redundant rules
2024-03-28 10:18:07 +01:00
Robert Resch 1a64be6da6
Fix version_bump --set-nightly-version (#114304) 2024-03-27 14:45:28 +01:00
Robert Resch aaecbbdc40
Update bump_version.py to append also the time to nightlies and add possibility to set manual a nightly version (#114300) 2024-03-27 14:12:45 +01:00
J. Nick Koston 6599b9a36d
Restore scapy pin to >=2.5.0 (#114253) 2024-03-26 10:31:52 -10:00
Joost Lekkerkerker 6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston 27219b6962
Bump anyio to 4.3.0 (#114198) 2024-03-25 23:52:28 +01:00
Jan Bouwhuis a4f52cc622
Use a constant to reference `homeassistant` domain (#113889)
* Use CONF_CORE to reference `homeassistant` domain

* Just use DOMAIN

* USE DOMAIN for `homeasistant` domain in config_schema.py

* Use DOMAIN_HA as constant for homeassistant domain

* Rename CONF_CORE to DOMAIN_HA

* Rename DOMAIN_HA to HA_DOMAIN

* Use relative import

* Use direct imports
2024-03-23 19:58:39 +01:00
Robert Resch ce48e6e574
Fix building images for nightlies (#114054) 2024-03-23 11:22:38 +01:00
Robert Resch c282172252
Use uv instead of pip on production images (#112496) 2024-03-22 16:50:07 +01:00
Sid 00ec7f11f0
Enable Ruff rule PT007 (#113764)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-19 09:01:07 +01:00
Joost Lekkerkerker 85e13bdb87
Require an icon for a service (#112373) 2024-03-19 08:29:29 +01:00
Sid 727581eea3
Add first batch of Ruff PT rules (#113665)
* Add first batch of Ruff PT rules

* fix weather test

* Fix pilight test

* Update test_intent.py

* Update pilight test_init.py

* Update test_init.py
2024-03-18 13:26:14 +01:00
Johnny Willemsen 0d279ccd13
Improve scaffold test_config_flow (#113229)
Update test_config_flow.py

Use DOMAIN constant
2024-03-18 00:47:11 +01:00
Sid 6ee273a548
Clean up unneeded ruff noqa directives (#113616) 2024-03-16 09:48:37 -10:00
Sid ccd2e989c3
Enable ruff RUF005 and fix occurrences (#113589) 2024-03-16 07:37:20 -10:00
Shay Levy e0b1531afa
Remove OpenCV integration (#113455) 2024-03-15 12:23:30 +01:00
Jan Bouwhuis b1c636c886
Fix hassfest icons check for notify and image_processing (#113446) 2024-03-14 22:51:18 +01:00
Joost Lekkerkerker 36123717be
Allow entity platforms without entity_component in icon validation (#113422)
* Allow entity platforms without entity_component

* Rename variable

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-03-14 19:10:52 +01:00
Erik Montnemery a16ea3d7bd
Deprecate the map integration (#113215)
* Deprecate the map integration

* Revert changes in DashboardsCollection._async_load_data

* Add option to allow single word in dashboard URL

* Update tests

* Translate title

* Add icon

* Improve test coverage
2024-03-14 14:04:41 +01:00
Joost Lekkerkerker 05172d8e4d
Improve loops and lists (#113269)
* Enable PERF

* Enable PERF rule

* Enable PERF rule

* Don't enable flag yet
2024-03-14 10:22:20 +01:00
J. Nick Koston f3984a9d3e
Constrain pycountry to >=23.12.11 (#112849) 2024-03-13 13:53:52 +01:00
Joost Lekkerkerker cddce0ce0d
Enable more SIM ruff rules (#113015)
* SIM101 SIM103

* SIM107 SIM109

* SIM110

* SIM112 SIM113

* SIM115

* SIM116

* Fix

* Fix

* Fix
2024-03-10 23:20:37 -04:00
Marc Mueller aa16a9d707
Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
Marc Mueller a6b842f818
Add empty line after module docstring (2) [other] (#112738) 2024-03-08 19:16:38 +01:00
Paulus Schoutsen f416d67d21
Remove built-in support for import_executor in manifest (#112725) 2024-03-08 12:02:32 -05:00
Marc Mueller 19ab3d6daf
Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
Erik Montnemery fa4c0d78e9
Restore the juicenet integration (#112578) 2024-03-07 16:41:54 +01:00
Erik Montnemery a0e558c457
Add generic classes BaseFlowHandler and BaseFlowManager (#111814)
* Add generic classes BaseFlowHandler and BaseFlowManager

* Migrate zwave_js

* Update tests

* Update tests

* Address review comments
2024-02-29 16:52:39 +01:00
Paulus Schoutsen 4eb0f86a65
Remove 'values' from services validation (#111440)
* Remove 'values' from services validation

* Remove extra blank line
2024-02-29 02:53:03 +01:00
Erik Montnemery b336095239
Allow translating device names (#110711)
* Allow translating device names

* Don't keep a reference to translations in config entry

* Update kitchen_sink tests

* Add tests
2024-02-28 15:59:59 +01:00
J. Nick Koston 49eb664a05
Update httpx to 0.27.0 and httpcore to 1.0.4 (#111681) 2024-02-27 13:15:33 -10:00
J. Nick Koston 4ea1c5cc3c
Add support for importing integrations in the executor (#111336)
* Add support for pre-imports at setup time

alternative solution to #111331

* refactor

* refactor

* refactor

* mark >1.0s integrations

* no point in executor if already loaded

* no point in executor if already loaded

* cleanup

* cleanup

* two more

* one more

* analytics loads a lot more integrations

* cloud

* debug

* psutil, hardwre

* try zha

* Update homeassistant/setup.py

* await

* comments

* coverage

* coverage

* coverage

* move logic to loader

* move logic to loader

* preserve comments
2024-02-26 14:49:43 -05:00
Erik Montnemery 730fe760cf
Remove JuiceNet integration (#111477)
* Remove JuiceNet integration

* Adjust issue

* Add test

* Fix stale DOMAIN constant
2024-02-26 21:08:36 +02:00
Jan-Philipp Benecke baf84b6fba
Add `single_config_entry` manifest option (#109505)
* Allow setting if we support multiple config entries in config flow

* Move property to config flow instead of flow handler

* Move marking an integration as single instance only to manifest

* Revert line remove

* Avoid init a config flow or adding a new entry on a single instance with an entry

* Revert changes in test

* Process code review comments

* Apply code review suggestion
2024-02-26 19:00:33 +01:00
Maciej Bieniek ee57c924f2
Bump `pysnmp-lextudio` library to version 6.0.2 (#111193)
* Bump pysnmp-lextudio to version 6.0.2

* Update gen_requirements_all.py

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-24 11:30:00 +01:00
Steven Barth 5d0d3a5c2b
Remove matplotlib pinning due to Python 3.12 incompatibility (#110706) 2024-02-16 12:33:57 +01:00
puddly 6295f91a1f
Pin `chacha20poly1305-reuseable>=0.12.1` (#109807)
* Pin `chacha20poly1305-reuseable`
Prevents a runtime `assert isinstance(cipher, AESGCM)` error

* Update `gen_requirements_all.py` as well
2024-02-06 16:55:51 +01:00
Marc Mueller 545b888034
Update ruff to 0.2.1 (#109796)
* Update ruff to 0.2.1

* Rename config sections

* Update remapped error codes

* Add ignores
2024-02-06 15:41:34 +01:00
Michael Hansen 5b1e0b2602
Set default for OSTYPE in run-in-env script (#109731) 2024-02-05 20:23:52 +01:00
Joost Lekkerkerker 2c0b897658
Allow the helper integrations to omit icon translation field (#109648) 2024-02-04 22:57:11 +01:00
Paul Bottein 4170a447fc
Allow system and helper integrations to provide entity_component icons (#109045) 2024-01-29 19:26:55 +01:00
J. Nick Koston 601988ecf2
Bump cryptography to 42.0.1 and pyOpenSSL to 24.0.0 (#108956)
* Bump cryptography to 42.0.1

changes: https://github.com/pyca/cryptography/compare/41.0.7...42.0.1

Note that more of the non-rust backend code has been removed
I had to handle that in
https://github.com/bdraco/chacha20poly1305-reuseable/releases/tag/v0.12.1

So there may be other downstream consumers that have a problem

* need pyOpenSSL as well

* too early before coffee
2024-01-27 21:30:00 +01:00
Franck Nijhof fa485513d5
Ensure icon translations aren't the same as the default (#108568) 2024-01-21 12:02:15 +01:00
Franck Nijhof 2b90d968b4
Fix hassfest icon schema for service only (#108494) 2024-01-20 14:39:05 -05:00
Franck Nijhof 6cf8a3e5d1
Pin pandas to 2.1.4 (#108509) 2024-01-20 18:08:35 +01:00
Franck Nijhof 01372024f5
Add icon translations support (#103294)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2024-01-19 16:56:56 +01:00
Robert Resch edd7feaf10
Add task to install all requirements of an integration (#108262)
* Add task to install the requirements of an integration

* Gather recursive requirements

* Move valid_integration to util

* Apply suggestions from code review

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Implement suggestions

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-18 22:11:02 +01:00
J. Nick Koston d8564eba17
Bump lxml to 5.1.0 (#106696)
* Bump lxml to 5.0.0

cython 3.0.7+ is required ?

* bump

* Apply suggestions from code review

* 5.1.0
2024-01-13 21:08:42 -05:00
J. Nick Koston 298e2e2b99
Attempt to fix 32bit docker builds (#107210) 2024-01-05 08:23:04 +01:00
steffenrapp 608d52f167
Add translatable title to holiday (#106825) 2024-01-02 23:40:38 +01:00
Sid 729a0fbcd5
Move urllib3 constraint to pyproject.toml (#106768) 2024-01-02 13:34:19 +01:00
Luke Lashley cc18b9a2d8
Constrain dacite to at least 1.7.0 (#105709) 2024-01-01 18:00:17 -10:00
J. Nick Koston a49999e984
Pin lxml to 4.9.4 (#106694) 2023-12-30 11:29:19 +01:00
Denis Shulyaka 9ba53e03ee
Bump httpx to 0.26.0 and httpcore to 1.0.2 (#106194) 2023-12-21 10:11:00 -10:00
J. Nick Koston f4ee2a1ab4
Bump anyio to 4.1.0 (#105529) 2023-12-12 08:24:24 +01:00
Tudor Sandu 636e38f4b3
Trigger Home Assistant shutdown automations right before the stop event instead of during it (#91165)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-05 11:24:41 -10:00
Erik Montnemery 5b55c7da5f
Remove logic converting empty or falsy YAML to empty dict (#103912)
* Correct logic converting empty YAML to empty dict

* Modify according to github comments

* Add load_yaml_dict helper

* Update check_config script

* Update tests
2023-12-05 18:08:11 +01:00
Joost Lekkerkerker a8ca73a7dd
Finish scaffold config flow with either abort or create entry (#105012) 2023-12-05 17:13:29 +01:00
Joost Lekkerkerker 374b1cfd0c
Fix bug in config flow scaffold (#104965) 2023-12-04 07:48:05 +01:00
Joost Lekkerkerker b56cd169ac
Use constants in config flow scaffold (#104964) 2023-12-04 07:46:36 +01:00
Erik Montnemery 61d82ae9ab
Tweak dockerfile generation (#104717) 2023-11-29 15:20:21 +01:00
Erik Montnemery 999875d0e4
Autogenerate Dockerfile (#104669) 2023-11-29 11:26:50 +01:00
Teemu R 28a3d36bc1
Remove eq3btsmart integration (#94698) 2023-11-28 09:11:32 +01:00
Ville Skyttä fd5cda4ec6
Issue bytes vs str related warnings from tests (#101186) 2023-11-27 21:59:54 +01:00
Aarni Koskela 706add4a57
Switch formatting from black to ruff-format (#102893)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-27 14:38:59 +01:00
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
J. Nick Koston d90605f9bc
Bump protobuf to 4.25.1 (#104231)
changelog: https://github.com/protocolbuffers/protobuf/releases/tag/v25.1
2023-11-20 12:34:58 +01:00
Ruslan Sayfutdinov 1610dd94f9
Add 'do not edit' comment to generated files (#103923) 2023-11-13 18:33:42 +00:00
Jan Bouwhuis f94167a4bb
Fix invalid oauth2_unauthorized translation ref (#103873)
* Fix invalids oauth2_unauthorized translation ref

* Fix oauth2_failed
2023-11-12 21:13:38 +01:00
Allen Porter 787fb3b954
Improve OAuth error handling in configuration flows (#103157)
* Improve OAuth error handling in configuration flows

* Update strings for all integrations that use oauth2 config flow

* Remove invalid_auth strings

* Revert change to release

* Revert close change in aiohttp mock
2023-11-11 11:02:51 +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
J. Nick Koston b9b986dc8d
Bump protobuf to 4.25.0 (#103373) 2023-11-04 10:54:34 -05:00
Matthias Alphart 5cd27a877e
Use `setdefault()` in scaffold script for setting `hass.data` (#103338) 2023-11-04 10:51:34 +01:00
Joost Lekkerkerker c3da075554
Use present wording in version bump script (#102897) 2023-10-27 17:50:33 +02: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
Erik Montnemery d5af6c595d
Fix runaway regex in translations.develop (#102386)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-10-23 12:34:32 +02:00
Robert Resch 0c5b963847
Add lokalise multi reference check to hassfest (#101876) 2023-10-23 10:57:19 +02:00
Erik Montnemery 164872e1af
Improve error messages from translation script (#102098)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-22 23:45:27 +02:00
J. Nick Koston 0adb6fb02c
Bump anyio to 4.0.0 (#102552) 2023-10-22 10:34:34 -10:00
J. Nick Koston 7fe2bfa990
Revert "Update numpy to 1.26.1" (#102036) 2023-10-15 05:42:25 -10:00
Marc Mueller 1f1a27d6a5
Update numpy to 1.26.1 (#102021) 2023-10-14 16:30:43 -10:00
Marc Mueller 0b2b486754
Update mypy to 1.6.0 (#101780) 2023-10-11 13:25:11 +02:00
J. Nick Koston 6420cdb42b
Bump httpx to 0.25.0 and httpcore to 0.18.0 (#101635) 2023-10-08 19:08:04 +02:00
Ville Skyttä f7aad4a9e6
Call pytest as python3 -m pytest (#101185) 2023-10-06 13:22:56 +02:00
Marc Mueller 67dfd1a86b
Update grpcio to 1.59.0 (#101287) 2023-10-06 10:08:01 +02:00
Ville Skyttä 5551a345ea
Remove some unnecessary uses of regular expressions (#101182) 2023-10-03 20:55:00 -05:00
Franck Nijhof 44acc88365
Update Lokalise CLI to v2.6.8 (#101297) 2023-10-02 23:01:30 +02:00
Franck Nijhof a19c6fe9ff
Revert pin on AlexaPy (#101123) 2023-09-29 19:40:13 +02:00
Franck Nijhof b8a7ad916a
Pin charset-normalizer in our package constraints (#101107) 2023-09-29 14:43:03 +02:00
Marc Mueller 809abc1445
Fix circular dependency on homeassistant (#101099) 2023-09-29 11:49:19 +02:00
Joost Lekkerkerker f255a0e546
Pin pydantic to 1.10.12 (#101044) 2023-09-28 19:06:45 +02:00
Raman Gupta 2ad0fd1ce1
Adjust hassfest.manifest based on config.action (#100577) 2023-09-19 17:30:38 +02:00
Marc Mueller 48f9a38c74
Update numpy to 1.26.0 (#100512) 2023-09-17 09:49:21 -05:00
J. Nick Koston 3cc9410a62
Bump grpcio to 1.58.0 (#100314)
* Bump grpcio to 1.58.0

attempt to fix nightly

https://github.com/home-assistant/core/actions/runs/6167125867/job/16737677629

```
```

* forgot the script as well
2023-09-13 20:26:55 -04:00
J. Nick Koston fe8156f013
Bump protobuf to 4.24.3 (#100329)
changelog: https://github.com/protocolbuffers/protobuf/compare/v24.0...v24.3
2023-09-13 20:25:52 -04:00
J. Nick Koston a1359c1ce3
Replace lambda in script/gen_requirements_all.py with str.lower (#99665) 2023-09-05 22:44:59 +02:00
J. Nick Koston abb0537928
Replace lambda with itemgetter in script/gen_requirements_all.py (#99661) 2023-09-05 10:36:01 -05: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
Marc Mueller cc9f0aaf80
Escape core version [ci] (#99364) 2023-08-30 23:56:25 +02: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ä 9da192c752
Avoid use of `datetime.utc*` methods deprecated in Python 3.12 (#93684)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-08-24 16:38:22 +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ä 2399cd283a
Python 3.10 support cleanups (#98640) 2023-08-21 19:14:07 +02:00
Ville Skyttä 3094991236
Upgrade ruff to 0.0.285 (#98647) 2023-08-19 08:17:17 -04:00
J. Nick Koston c671b1069e
Bump protobuf to 4.24.0 (#98468) 2023-08-15 18:52:18 -05: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 af286a8feb
Add urllib3<2 package constraint (#97339) 2023-07-27 18:57:13 +02:00
Jan-Philipp Benecke 55beb26190
Fix authlib version constraint required by point (#97228) 2023-07-27 08:54:20 +02:00
J. Nick Koston f8705a8074
Bump anyio to 3.7.1 (#97165) 2023-07-24 20:34:59 +02: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 ce1f5f997e
Drop Python 3.10 support (#97007) 2023-07-22 23:03:45 +02:00
J. Nick Koston 52ab6b0b9d
Bump httpcore to 0.17.3 (#97032) 2023-07-21 19:15:28 -05:00
Franck Nijhof 14b553ddbc
Disable wheels building for pycocotools (#96937) 2023-07-20 13:16:02 +02:00
Franck Nijhof 22d0f4ff0a
Remove legacy discovery integration (#96856) 2023-07-19 07:10:07 +02:00
Paulus Schoutsen 7859be6481
Add deduplicate translations script (#96384)
* Add deduplicate script

* Fix forecast_solar incorrect key with space

* Fix utf-8

* Do not create references to other arbitrary other integrations

* Add commented code to only allow applying to referencing integrations

* Tweak

* Bug fix

* Add command line arg for limit reference

* never suggest to update common keys

* Output of script

* Apply suggestions from code review

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2023-07-13 11:52:50 -04: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
J. Nick Koston 9109b5fead
Bump protobuf to 4.23.3 (#95875) 2023-07-05 08:55:25 +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 071d3a474f
Base entity ids on English for languages not using Latin script (#91357) 2023-06-27 14:37:50 +02:00
Marc Mueller f5975d4039
Update build system (#95237) 2023-06-26 19:03:56 +02:00
Erik Montnemery 732ce34a66
Remove assert_lists_same test helper (#94904) 2023-06-21 12:10:28 +02:00
J. Nick Koston 0d1bcd8a8f
Bump httpcore to 0.17.2 (#94515) 2023-06-13 10:38:51 +02:00
J. Nick Koston e8c87874b3
Bump anyio to 3.7.0 (#94516) 2023-06-13 10:36:25 +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
Franck Nijhof c3936e6f14
Replace isort with ruff (#94302) 2023-06-08 23:43:56 +02:00
Allen Porter 52ba58c782
Require pydantic 1.10.8 or higher (#94208)
* Requied pydantic 1.10.9 or higher

* Simplify constraint to 2.0

* Drop constraint by one patch release to 1.10.8 or higher

* Add package constraints to gen requirements script
2023-06-08 09:41:45 +02:00
J. Nick Koston 5078bb3bef
Remove miniaudio pin now that upstream package has been fixed (#94034)
see https://github.com/irmen/pyminiaudio/issues/67#issuecomment-1575602707
2023-06-04 20:27:42 -04:00
J. Nick Koston 7995d3777a
Fix package names to match pypi index metadata (#93883)
* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* Fix package names to match pypi index metadata

* uses _

* uses -

* fix metadata
2023-05-31 21:12:53 -04:00
c0ffeeca7 c3a3ddcfa4
Standardize spelling of TTS and STT (#93857)
* Standardize spelling of TTS and STT

* Apply suggestions from code review

* Update homeassistant/components/tts/media_source.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-05-31 11:00:19 -04:00
Mark Kennedy b03dbeaed5
Block legacy get-mac in preference of getmac (#87712)
Co-authored-by: GnatorX <garvinpang@protonmail.com>
2023-05-31 16:57:45 +02:00
Dara Adib 663f66a2b2
Scrape Microsoft TTS supported languages (#91988)
* Update Microsoft TTS supported languages

`script.microsoft_tts` scrapes Microsoft Azure documentation for
the list of supported languages and saves them to
`homeassistant.generated.microsoft_tts` for use in the component.

This adds support for more TTS languages, like fa-ir (Persian).

* Improve xpath query for Microsoft TTS languages

* Remove asserts for Microsoft TTS languages

* Add more tests for Microsoft TTS languages
2023-05-25 10:46:34 +02:00
J. Nick Koston ee62584570
Add constraint for pyminiaudio to 1.57 (#93501) 2023-05-24 17:03:37 -05:00
Ludy a310b5c1c3
remove template deprecated function `device_trigger.py` (#93419)
remove template deprecated fun `device_trigger.py`
2023-05-24 09:42:44 +02:00
J. Nick Koston bb8dfc9470
Bump protobuf to 4.23.1 (#93338) 2023-05-23 13:16:20 +02:00
Kashif Khan 7439ca5b1a
Bump azure-servicebus to 7.10.0 (#92866) 2023-05-10 12:36:44 +02:00
J. Nick Koston f95f2d1cfc
Prevent pysnmp from being installed as it does not work with newer python (#92292) 2023-04-30 20:13:47 +02:00
J. Nick Koston f38d45151a
Pin `pyasn1` and `pysnmplib` since `pyasn1` 0.5.0 has breaking changes and `pysnmp-pyasn1` and `pyasn1` are both using the `pyasn1` namespace (#92254) 2023-04-29 21:32:57 +02:00
Franck Nijhof cdbffee781
Remove legacy pip resolver (#92124)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-04-27 22:39:29 +02:00
Franck Nijhof 0f80d0625a
Wheels: Don't build azure-servicebus on cp311 (#91862) 2023-04-22 19:29:42 +02:00
epenet d1b8f2987c
Fix incorrect regex in translation script (#91536) 2023-04-17 12:18:34 +02:00
J. Nick Koston 9985516f80
Build protobuf upb wheels (#90812) 2023-04-17 10:30:22 +02:00
epenet d26160a509
Prevent combined translations in strings.json (#91334) 2023-04-17 09:36:25 +02:00
J. Nick Koston 6dbe67e909
Bump httpx to 0.24.0 and httpcore to 0.17.0 (#91308) 2023-04-12 20:11:59 -10:00
Aaron Bach 175f38b68a
Bump `aioambient` to 2023.04.0 (#90991) 2023-04-06 19:22:27 -10:00
J. Nick Koston 0fb210b886
Bump websockets constraint to 11.0.1+ (#90901) 2023-04-06 18:03:33 -10:00
J. Nick Koston ef5d8d83cb
Add constraint for websockets to <11.0 (#90868) 2023-04-05 08:03:47 -10: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
J. Nick Koston ce9099a386
Bump cryptography to 40.0.1 (#90326) 2023-03-26 12:30:17 -10:00
epenet 92bcb04e4f
Adjust scaffold docstring (#90157)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-03-23 10:13:53 +01:00
Franck Nijhof b1a3bfb298
Drop flake8 in favor of Ruff (#89863) 2023-03-17 13:30:06 +01: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 bf5f7c53d8
Move mock_setup_entry to conftest (#88484) 2023-03-06 11:31:50 +01:00
Marc Mueller cf369ff1a5
Unpin pandas for Python 3.11 (#89033) 2023-03-05 13:40:10 +01:00
epenet 699cc6c092
Adjust docstring on hassfest generated files (#89080) 2023-03-03 11:34:20 +01:00
epenet bdbec491eb
Enable RUFF ICN001 for registries (#88875)
* Add issue_registry to RUFF extend aliases

* Add area_registry to RUFF extend aliases

* Add device_registry to RUFF extend aliases

* Add entity_registry to RUFF extend aliases

* Adjust scaffold
2023-03-01 12:40:26 -05:00
Erik Montnemery 29b049fc57
Don't create new venv if script/setup is run from within a venv (#88906) 2023-03-01 11:11:29 +01:00
avee87 ac70612ec5
Improve helper integration scaffold (#88713) 2023-02-27 16:25:27 +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
J. Nick Koston ec53c26f90
Constrain faust-cchardet to first version that builds wheels successfully (#88563) 2023-02-21 16:32:15 -06: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
epenet 5dda1de5bd
Adjust async_setup_entry in config_flow scaffold (#88319) 2023-02-17 13:43:56 +01:00
J. Nick Koston c79157208b
Add python 3.11 to the CI (#88038)
* Remove profiler.memory service

guppy3 is not python3.11 compat
https://github.com/zhuyifei1999/guppy3/issues/41

This service will return if and when guppy3 becomes
python3.11 compat

* squash

* temp remove

* temp dump tests

* temp dump tests

* drop a few more to get a run

* drop a few more to get a run

* Account for changed python3.11 enum.IntFlag behavior in zha

There may be additional changes needed, but I could only
see what needed to be updated based on the tests

* merge

* restore

* restore

* legacy value

* tweak a bit for the python 3.11 timings

* block cchardet

* conditional

* adjust est

* test

* not yet

* tweak

* give a little leeway for timing

* Fix otbr tests

* Increase database test timeout

It looks like we need a little more time to run
with the addiitonal tests in #87019

* Increase database test timeout

It looks like we need a little more time to run
with the addiitonal tests in #87019

* Fix aprs tests with python 3.11

* merge fix

* hints

* Update homeassistant/package_constraints.txt

* Update script/gen_requirements_all.py

* Constrain uamqp for Python 3.10 only

* Bump vulcan-api to 2.3.0

see https://github.com/kapi2289/vulcan-api/pull/126
see https://github.com/home-assistant/core/pull/88038
see https://github.com/home-assistant/docker/pull/260

* add ban

* Bump python-matter-server to 2.1.1

* revert

* Update tests/asyncio_legacy.py

---------

Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-02-16 12:38:32 -05: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
Franck Nijhof a1efd59760
Constrain uamqp for Python 3.10 only (#88198) 2023-02-15 14:24:31 -06:00
J. Nick Koston 61539686a4
Disable profiler.memory service with python 3.11 (#88136) 2023-02-15 16:20:47 +01:00
Franck Nijhof c3a70a7ec5
Remove uamqp version constrain (#88176) 2023-02-15 15:24:58 +01:00
Franck Nijhof 9030ca05b1
Enable Ruff SIM118 (#87772) 2023-02-15 12:39:12 +01:00
Luke bb4d6c0d2c
Rework user_input check in config flow scaffold (#87820)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-02-12 22:02:14 +01:00
Dustin Rodrigues c7e9afcef8
Fix typo in requires-python hassfest error message (#87896) 2023-02-12 09:11:56 -06:00
Luke 8de321253b
Reorganize manifest scaffold (#87819)
* reorganize manifest.json

* add iot_class to manifest
2023-02-10 07:52:00 +01:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
Marc Mueller 67499e0204
Enable pydantic mypy plugin (#87415) 2023-02-09 13:33:10 +01:00
Franck Nijhof 769e0356ad
Clean up unnecessary registry mocks from scaffolding templates (#87732) 2023-02-09 08:22:41 +01:00
Marc Mueller 18a3fe1237
Remove platformdirs constraint (#87735) 2023-02-08 15:32:03 -06: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
epenet aa00114c2f
Add return type to async tests without arguments (#87612) 2023-02-07 10:26:56 +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
Marc Mueller e348c25e18
Pin platformdirs to resolve dependency conflict (#87589) 2023-02-06 18:58:00 -06:00
Franck Nijhof 939eef3b28
Remove translations from Core (#87543)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-02-06 15:06:43 +01:00
Franck Nijhof ca1a12898c
Enable Ruff D212 (#87347) 2023-02-03 23:08:48 +01:00
Franck Nijhof 9f9873b39a
Add ability to generate development translations for all integrations (#87197) 2023-02-02 16:27:51 -05:00
Franck Nijhof 5e81d28116
Update black to 23.1.0 (#87188) 2023-02-02 18:35:24 +01:00
Joakim Sørensen 80ffac48a3
Revert "Mark repo as safe directory to git config (#83755)" (#86888)
This reverts commit dc000d2289.
2023-01-29 13:07:50 -05:00
Franck Nijhof e738924780
Enable Ruff SIM105 (#86759)
* Enable Ruff SIM105

* Adjust existing cases
2023-01-26 21:06:22 -05:00
Franck Nijhof 021ac84405
Add recorder platform to required test category (#86704) 2023-01-26 11:03:56 +01:00
J. Nick Koston 1d1d69ca02
Update scaffold scripts to use async_forward_entry_setups (#86647) 2023-01-25 21:26:31 +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
Aarni Koskela bf41a971a2
Introduce ruff (eventually replacing autoflake, pyupgrade, flake8) (#86224) 2023-01-24 12:15: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
Willem-Jan van Rootselaar 711c92a87f
Bump version python-bsblan to 0.5.9 (#86373)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-22 17:57:17 +01:00
Franck Nijhof 79b52a2b41
Stricter pylint message control (#86154) 2023-01-20 13:47:55 +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
J. Nick Koston 8b893b7062
Bump cryptography to 39.0.0 (#85846)
* Bump cryptography to 39.0.0

changelog: https://github.com/pyca/cryptography/compare/38.0.3...39.0.0

The change that is significant is https://github.com/pyca/cryptography/pull/7601 which
should help with esphome noise encryption performance

* constraints

* fix botocore not loading
2023-01-13 19:58:01 -05:00
epenet e75c85f679
Downgrade integrations without code owner (#85752) 2023-01-13 10:08:15 +01:00
Martin Hjelmare 4895f2e7c2
Fix gen_requirements_all script permissions (#85745) 2023-01-12 15:46:36 +01:00
Franck Nijhof 3bb435c292
Pin matplotlib to 3.6.1 (#85540) 2023-01-09 18:34:10 +01:00
RoboMagus dc000d2289
Mark repo as safe directory to git config (#83755)
Fixes https://github.com/home-assistant/core/issues/83753
fixes undefined
2023-01-08 00:11:12 +01:00
Jack Boswell 3ad4caa3d7
Add Starlink Integration (#77091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-07 10:13:37 -10:00
J. Nick Koston b470c3484b
Bump httpx to 0.23.2 (#85023)
changelogs:
https://github.com/encode/httpcore/compare/0.16.2...0.16.3
https://github.com/encode/httpx/compare/0.23.1...0.23.2
2023-01-02 20:45:52 -05:00
Franck Nijhof 139dd22ce6
Replace attrs with dataclasses in hassfest (#84475) 2022-12-23 15:46:00 +01:00
Jesse Hills 1b803454ce
Install all test requirements in bootstrap (#84469)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-12-22 22:21:49 +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
Franck Nijhof 5e81f853e6
Bump pip_check conflicts +1 (#83536)
* Bump pip_check conflicts +1

* Update script/pip_check

Co-authored-by: Philip Allgaier <mail@spacegaier.de>

Co-authored-by: Philip Allgaier <mail@spacegaier.de>
2022-12-08 12:44:33 +01:00
Franck Nijhof 552a87dfcc
Upgrade grpcio(-status) to 1.51.1 (#83420) 2022-12-06 21:57:06 +01:00
Michaël Arnauts 5a8cf38552
Update pycomfoconnect to 0.5.1 (#83124) 2022-12-02 10:38:29 -10:00
J. Nick Koston 8eeba490d1
Update aiobafi6 to 0.7.3 (#83073) 2022-12-02 14:56:02 +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
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 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
Allen Porter 682486c864
Bump pyrainbird to 0.6.3 and drop dependency conflict count (#82800) 2022-11-27 14:49:47 -05:00
J. Nick Koston 8345176ccc
Adjust pip check for four conflicts (#82777) 2022-11-27 10:31:32 +01:00
uvjustin 9390359fe3
Bump httpx to 0.23.1 (#82725) 2022-11-26 10:04:22 -10:00
Erik Montnemery 7b5c80720a
Tweak scaffold script (#82705) 2022-11-25 20:12:27 +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 97b40b5f49
Make hassfest strictly typed (#82091) 2022-11-23 19:05:31 +01:00
Franck Nijhof 4ea9926497
Not to Tox (#76582) 2022-11-23 14:40:37 +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
epenet 0538154767
Add type hints to requirements script (#82075) 2022-11-16 13:00:35 +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
Erik Montnemery c3d4a9cd99
Create repairs issue if an outdated currency code is configured (#81717)
* Create repairs issue if an outdated currency code is configured

* Add script for updating list of currencies

* Use black for formatting

* Move currency codes to a separate file

* Address review comments
2022-11-08 07:21:09 +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 e510dd64f1
Pin uamqp==1.6.0 (#80678) 2022-10-20 18:30:00 +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
Quentame 3379e14417
Bump Météo-France to 1.1.0 (#80255) 2022-10-13 19:31:59 +02:00
Marc Mueller 4e5b5dfb93
Update pyupgrade to 3.1.0 (#80058)
* Update pyupgrade to 3.1.0

* Remove redundant open modes - text is the default
2022-10-11 09:04:52 +02:00
Marc Mueller 33c94b0052
Add strict typing for WLED (#79822)
* Add strict typing for WLED

* Update backoff constraint
2022-10-07 21:56:29 +03: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