Add Apple brand (#79227)

pull/79642/head
Paulus Schoutsen 2022-09-28 16:21:09 -04:00
parent 0d462b6a14
commit 0c05e0e019
4 changed files with 42 additions and 28 deletions

View File

@ -106,7 +106,7 @@ repos:
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/manifest\.json|pyproject\.toml|\.pre-commit-config\.yaml|script/gen_requirements_all\.py)$
files: ^(homeassistant/.+/manifest\.json|homeassistant/brands/.+\.json|pyproject\.toml|\.pre-commit-config\.yaml|script/gen_requirements_all\.py)$
- id: hassfest
name: hassfest
entry: script/run-in-env.sh python3 -m script.hassfest

View File

@ -0,0 +1,11 @@
{
"domain": "apple",
"name": "Apple",
"integrations": [
"icloud",
"ibeacon",
"apple_tv",
"homekit",
"homekit_controller"
]
}

View File

@ -189,10 +189,34 @@
"iot_class": null,
"name": "Home Assistant API"
},
"apple_tv": {
"config_flow": true,
"iot_class": "local_push",
"name": "Apple TV"
"apple": {
"name": "Apple",
"integrations": {
"icloud": {
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Apple iCloud"
},
"ibeacon": {
"config_flow": true,
"iot_class": "local_push",
"name": "iBeacon Tracker"
},
"apple_tv": {
"config_flow": true,
"iot_class": "local_push",
"name": "Apple TV"
},
"homekit": {
"config_flow": true,
"iot_class": "local_push",
"name": "HomeKit"
},
"homekit_controller": {
"config_flow": true,
"iot_class": "local_push"
}
}
},
"application_credentials": {
"config_flow": false,
@ -1816,15 +1840,6 @@
"iot_class": null,
"name": "Home Assistant Alerts"
},
"homekit": {
"config_flow": true,
"iot_class": "local_push",
"name": "HomeKit"
},
"homekit_controller": {
"config_flow": true,
"iot_class": "local_push"
},
"homematic": {
"config_flow": false,
"iot_class": "local_push",
@ -1924,16 +1939,6 @@
"iot_class": "cloud_polling",
"name": "Jandy iAqualink"
},
"ibeacon": {
"config_flow": true,
"iot_class": "local_push",
"name": "iBeacon Tracker"
},
"icloud": {
"config_flow": true,
"iot_class": "cloud_polling",
"name": "Apple iCloud"
},
"idteck_prox": {
"config_flow": false,
"iot_class": "local_push",

View File

@ -51,10 +51,8 @@ def _validate_brand(
f"'{sub_integration}' to 'integrations'",
)
if (
brand.domain in integrations
and not brand.integrations
or brand.domain not in brand.integrations
if brand.domain in integrations and (
not brand.integrations or brand.domain not in brand.integrations
):
config.add_error(
"brand",