diff --git a/homeassistant/brands/denon.json b/homeassistant/brands/denon.json new file mode 100644 index 0000000000000000000000000000000000000000..a60750e1a31985d94da1ffb96fe0efa10363b685 --- /dev/null +++ b/homeassistant/brands/denon.json @@ -0,0 +1,5 @@ +{ + "domain": "denon", + "name": "Denon", + "integrations": ["denon", "denonavr", "heos"] +} diff --git a/homeassistant/generated/integrations.json b/homeassistant/generated/integrations.json index 790d1cd9c3e553c84adbb866d7357a82702cdbca..c0891bea0a282855716e3e3a6f5ae06660199dc1 100644 --- a/homeassistant/generated/integrations.json +++ b/homeassistant/generated/integrations.json @@ -805,14 +805,24 @@ "iot_class": "calculated" }, "denon": { - "config_flow": false, - "iot_class": "local_polling", - "name": "Denon Network Receivers" - }, - "denonavr": { - "config_flow": true, - "iot_class": "local_polling", - "name": "Denon AVR Network Receivers" + "name": "Denon", + "integrations": { + "denon": { + "config_flow": false, + "iot_class": "local_polling", + "name": "Denon Network Receivers" + }, + "denonavr": { + "config_flow": true, + "iot_class": "local_polling", + "name": "Denon AVR Network Receivers" + }, + "heos": { + "config_flow": true, + "iot_class": "local_push", + "name": "Denon HEOS" + } + } }, "deutsche_bahn": { "config_flow": false, @@ -1770,11 +1780,6 @@ "iot_class": "local_polling", "name": "Heatmiser" }, - "heos": { - "config_flow": true, - "iot_class": "local_push", - "name": "Denon HEOS" - }, "here_travel_time": { "config_flow": true, "iot_class": "cloud_polling", diff --git a/script/hassfest/brand.py b/script/hassfest/brand.py index 80e2495573e72bc5f9a6f717e9f0af7398b85a65..c35f50599ff166753bb3889e2d24eaccd2916ab3 100644 --- a/script/hassfest/brand.py +++ b/script/hassfest/brand.py @@ -38,7 +38,7 @@ def _validate_brand( if not brand.integrations and not brand.iot_standards: config.add_error( "brand", - f"Invalid brand file {brand.path.name}: At least one of integrations or " + f"{brand.path.name}: At least one of integrations or " "iot_standards must be non-empty", ) @@ -47,8 +47,7 @@ def _validate_brand( if sub_integration not in integrations: config.add_error( "brand", - f"Invalid brand file {brand.path.name}: Can't add non core domain " - f"'{sub_integration}' to 'integrations'", + f"{brand.path.name}: References unknown integration {sub_integration}", ) if brand.domain in integrations and ( @@ -56,7 +55,7 @@ def _validate_brand( ): config.add_error( "brand", - f"Invalid brand file {brand.path.name}: Brand '{brand.brand['domain']}' " + f"{brand.path.name}: Brand '{brand.brand['domain']}' " f"is an integration but is missing in the brand's 'integrations' list'", )