Commit Graph
52 Commits
Author SHA1 Message Date
epenetandGitHub 9b1977e02c Remove import annotations from script (#169548) 2026-04-30 20:39:12 +02:00
Joost LekkerkerkerandGitHub b1578a0c8c Add hassfest check to make sure new integrations have an integration type (#164001) 2026-03-16 18:10:30 +01:00
Abílio CostaandGitHub 0576dd91b7 Validate core_files.yaml base_platforms completeness (#162826) 2026-02-12 11:59:19 +00:00
Franck NijhofandGitHub 482b5d49a3 Introduce Home Assistant Labs (#156840) 2025-11-20 21:22:37 +01:00
f5535db24c Automatically generate entity platform enum (#152193)
Co-authored-by: Copilot <[email protected]>
2025-09-14 22:44:48 +02:00
510fd09163 Allow core integrations to describe their conditions (#147529)
Co-authored-by: Abílio Costa <[email protected]>
2025-07-04 16:03:42 +02:00
1fb587bf03 Allow core integrations to describe their triggers (#147075)
Co-authored-by: Abílio Costa <[email protected]>
2025-06-25 17:35:15 +01:00
1a4738b1d4 Fix scaffolding integration generation (#138247)
* fix(scaffold): integration generation

Fix script.scaffold integration generation which was failing due to
hassfest quality check.

Add the required `quality_scale` to the generated integration
manifest.json.

Use the new `--skip-plugins` flag to skip the hassfest quality check
when generating integrations, as the quality scale rules are marked as
todo, and only run against the generated integration.

Correct typo in help for hassfest command `--plugins` flag.

Update Integration.core method to use absolute path to ensure it returns
the true if the integration is a core integration, which was causing
other checks to fail, as the integration was not being marked as core.

Always output subprocess output as it contains the error message when a
command fails, without this the user would not know why the command
failed.

Fixes: #128639

* Adjust comment language

---------

Co-authored-by: Martin Hjelmare <[email protected]>
2025-02-11 16:24:04 +01:00
Robert ReschandGitHub af838077cc Fix docker hassfest (#132823) 2024-12-11 08:55:00 +01:00
Joost LekkerkerkerandGitHub 2cd05e224a Add quality_scale.yaml to track IQS progress (#130953) 2024-11-20 13:49:02 +01:00
1db68327f9 Enable Ruff PTH for the script directory (#124441)
* Enable Ruff PTH for the script directory

* Address review comments

* Fix translations script

* Update script/hassfest/config_flow.py

Co-authored-by: Martin Hjelmare <[email protected]>

---------

Co-authored-by: Martin Hjelmare <[email protected]>
2024-09-06 11:33:01 +02:00
Robert ReschandGitHub 45bb2cdd82 Build hassfest docker image and pushlish it on beta/stable releases (#124706) 2024-08-28 16:38:12 +02:00
Franck NijhofandGitHub afb184db73 Remove coveragerc (#121286) 2024-07-05 11:03:31 +02:00
Marc MuellerandGitHub 19ab3d6daf Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
01372024f5 Add icon translations support (#103294)
Co-authored-by: Robert Resch <[email protected]>
Co-authored-by: Paul Bottein <[email protected]>
2024-01-19 16:56:56 +01:00
Erik MontnemeryandGitHub 999875d0e4 Autogenerate Dockerfile (#104669) 2023-11-29 11:26:50 +01:00
J. Nick KostonandGitHub 035fea3ee0 Replace lambda with attrgetter in hassfest (#99662) 2023-09-05 16:40:25 +02:00
Erik MontnemeryandGitHub 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 MontnemeryandGitHub 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
f17773233b Add check for integration config schema to hassfest (#93587)
Co-authored-by: epenet <[email protected]>
2023-06-12 10:26:02 +02:00
Aarni KoskelaandGitHub 97b40b5f49 Make hassfest strictly typed (#82091) 2022-11-23 19:05:31 +01:00
Franck NijhofandGitHub bb287dd0ed Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04:00
b173ae7f44 Add support for integrations v2 (#78801)
Co-authored-by: Martin Hjelmare <[email protected]>
2022-09-28 11:31:48 -04:00
Paulus SchoutsenandGitHub 41ec8cd354 Expose supported brands via API (#75074) 2022-07-12 13:49:54 -07:00
a697672944 Add bluetooth integration (#74653)
Co-authored-by: Paulus Schoutsen <[email protected]>
2022-07-08 18:55:31 -05:00
00b5d30e24 Add application credentials platform (#69148)
* Initial developer credentials scaffolding
- Support websocket list/add/delete
- Add developer credentials protocol from yaml config
- Handle OAuth credential registration and de-registration
- Tests for websocket and integration based registration

* Fix pydoc text

* Remove translations and update owners

* Update homeassistant/components/developer_credentials/__init__.py

Co-authored-by: Paulus Schoutsen <[email protected]>

* Update homeassistant/components/developer_credentials/__init__.py

Co-authored-by: Paulus Schoutsen <[email protected]>

* Remove _async_get_developer_credential

* Rename to application credentials platform

* Fix race condition and add import support

* Increase code coverage (92%)

* Increase test coverage 93%

* Increase test coverage (94%)

* Increase test coverage (97%)

* Increase test covearge (98%)

* Increase test coverage (99%)

* Increase test coverage (100%)

* Remove http router frozen comment

* Remove auth domain override on import

* Remove debug statement

* Don't import the same client id multiple times

* Add auth dependency for local oauth implementation

* Revert older oauth2 changes from merge

* Update homeassistant/components/application_credentials/__init__.py

Co-authored-by: Martin Hjelmare <[email protected]>

* Move config credential import to its own fixture

* Override the mock_application_credentials_integration fixture instead per test

* Update application credentials

* Add dictionary typing

* Use f-strings as per feedback

* Add additional structure needed for an MVP application credential

Add additional structure needed for an MVP, including a target
component Xbox

* Add websocket to list supported integrations for frontend selector

* Application credentials config

* Import xbox credentials

* Remove unnecessary async calls

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <[email protected]>

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <[email protected]>

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <[email protected]>

* Update script/hassfest/application_credentials.py

Co-authored-by: Martin Hjelmare <[email protected]>

* Import credentials with a fixed auth domain

Resolve an issue with compatibility of exisiting config entries when importing
client credentials

Co-authored-by: Paulus Schoutsen <[email protected]>
Co-authored-by: Martin Hjelmare <[email protected]>
2022-04-30 08:06:43 -07:00
Marc MuellerandGitHub 75f39f9ca2 Move version metadata key to setup.cfg (#65091)
* Move version to setup.cfg
* Move python_requires to setup.cfg
* Add script to validate project metadata
* Add dedicated pre-commit hook
2022-01-28 13:36:20 +01:00
Marc MuellerandGitHub f6c679699f Add plugin option [hassfest] (#65024) 2022-01-26 20:52:09 -08:00
c8f584f4ef Validate requirements format in hassfest (#55094)
Co-authored-by: Joakim Sørensen <[email protected]>
2021-08-24 08:51:07 +02:00
dc74a52f58 Add support for USB discovery (#54904)
Co-authored-by: Martin Hjelmare <[email protected]>
2021-08-20 14:04:18 -05:00
Ruslan SayfutdinovandGitHub 37466ae423 Don't ignore mypy errors by default (#49270) 2021-04-26 14:23:21 +02:00
Marc MuellerandGitHub 8e2b5b36b5 Bump pyupgrade to 2.12.0 (#48943) 2021-04-09 09:58:27 -07:00
edfb8c3423 Add version to hassfest for custom integrations (#45523)
Co-authored-by: Paulus Schoutsen <[email protected]>
2021-01-25 13:31:14 +01:00
J. Nick KostonandGitHub da677f7d5a Add support for discovery via DHCP (#45087)
* Add support for discovery via DHCP

* additional tesla ouis

* merge tests

* dhcp test

* merge requirements test

* dhcp test

* dhcp discovery

* dhcp discovery

* pylint

* pylint

* pylint

* fix

* Add matching tests

* 100% cover

* cleanup

* fix codespell

* Update exception handling

* remove unneeded comment

* fix options handling exception

* fix options handling exception
2021-01-14 09:09:08 +01:00
343e5d64b8 Add MQTT integration discovery (#41332)
* Add MQTT integration discovery

* Add script/hassfest/mqtt.py

* Unsubscribe if config entry exists

* Add homeassistant/generated/mqtt.py

* Fix bad loop

* Improve tests

* Improve tests

* Apply suggestions from code review

Co-authored-by: Fabian Affolter <[email protected]>

* Prevent initiating multiple config flows

Co-authored-by: Fabian Affolter <[email protected]>
2020-10-07 18:30:51 +02:00
Paulus SchoutsenandGitHub c9f87afd8b Optimize requirements check with stdlib (#39871)
* Check requirements don't conflict stdlib

* Use regex
2020-09-10 10:51:13 +02:00
Martin HjelmareandGitHub 8eed7110a1 Add hassfest requirements validation (#39329) 2020-09-06 23:41:41 +02:00
ca08b70984 Revert removal of JSON validator in hassfest (#34504)
Co-Authored-By: Paulus Schoutsen <[email protected]>
2020-04-21 14:42:04 -07:00
Paulus SchoutsenandGitHub 2326a2941e Improve error message when people have not moved config flow title yet (#34321) 2020-04-16 18:00:30 -07:00
Paulus SchoutsenandGitHub 371bea03d6 Allow hassfest to validate specific integrations (#34277) 2020-04-16 09:00:04 -07:00
Paulus SchoutsenandGitHub 1ffc3a00e7 Add translations check script (#34272) 2020-04-15 16:58:20 -07:00
Paulus SchoutsenandGitHub 98bac43228 Validate coveragerc with hassfest (#31112)
* Validate coveragerc

* Test if files exists

* Print progress

* Flush
2020-01-24 10:25:46 -08:00
Franck NijhofandGitHub 38a6fffecb Add JSON files validation to hassfest (#29799) 2019-12-09 22:43:38 +01:00
Bas NijholtandFranck Nijhof 5cb6d1b21f Sort imports according to PEP8 for 'script' folder (#29790) 2019-12-09 16:24:03 +01:00
Franck NijhofandPaulus Schoutsen decf13b948 Use literal string interpolation in core (f-strings) (#26166) 2019-08-23 09:53:33 -07:00
Paulus Schoutsen 4de97abc3a Black 2019-07-31 12:25:30 -07:00
Paulus SchoutsenandGitHub 9debbfb1a8 Add SSDP integration (#24090)
* Add SSDP integration

* Fix tests

* Sort all the things

* Add netdisco to test requirements
2019-05-26 19:48:27 -07:00
Robert SvenssonandPaulus Schoutsen 636077c74d Zeroconf discovery for config entries (#23919)
* Proof of concept

* Follow comments

* Fix line length and bad imports

* Move imports to top

* Exception handling for unicode decoding
Create debug print for new service types
Add empty test files

* First try at a test

* Add type and name to service info
Fix static check

* Add aiozeroconf to test dependencies
2019-05-21 15:36:26 -07:00
Paulus SchoutsenandGitHub 1e22c8daca Automatically generate config flow list (#23802)
* Add config flow to manifest.json

* Still load config flows via config flow platform

* Fix typo

* Lint

* Update config_flows.py"

* Catch import error when setting up entry

* Lint

* Fix tests

* Fix imports

* Lint

* Fix Unifi tests

* Fix translation test

* Add homekit_controller config flow
2019-05-13 01:16:55 -07:00
Paulus SchoutsenandMartin Hjelmare 00d26b3049 Random hassfest fixes (#23314) 2019-04-23 08:34:36 +02:00