Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add HEOS quality scale #132311

Merged
merged 4 commits into from
Dec 12, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions homeassistant/components/heos/quality_scale.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
rules:
# Bronze
action-setup: done
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
appropriate-polling:
status: done
comment: Integration is a local push integration
Comment on lines +6 to +8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity, is

    async def async_update(self) -> None:
        """Update supported features of the player."""
        controls = self._player.now_playing_media.supported_controls
        current_support = [CONTROL_TO_SUPPORT[control] for control in controls]
        self._attr_supported_features = reduce(
            ior, current_support, BASE_SUPPORTED_FEATURES
        )

only there for people using homeassistant.update_entity or did I miss a use case here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh I did see the update_before_add=True in async_add_entities. Is that the only moment this is called?

Copy link
Member Author

@andrewsayre andrewsayre Dec 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, that's the only place it's called. This was the former guidance for how a push integration should set initial states before getting added. Is there a better way now?

brands: done
common-modules: todo
config-flow-test-coverage: done
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
config-flow: done
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
dependency-transparency: done
docs-actions: done
docs-high-level-description: done
docs-installation-instructions: done
docs-removal-instructions: todo
entity-event-setup: done
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
entity-unique-id: done
has-entity-name: done
runtime-data: done
test-before-configure: todo
test-before-setup: done
unique-config-entry:
status: todo
comment: |
The HEOS integration only supports a single config entry, but needs to be migrated to use
the `single_config_entry` flag. HEOS devices interconnect to each other, so connecting to
a single node yields access to all the devices setup with HEOS on your network. The HEOS API
documentation does not recommend connecting to multiple nodes which would provide no bennefit.
# Silver
action-exceptions: todo
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
config-entry-unloading: done
docs-configuration-parameters:
status: done
comment: |
The integration doesn't provide any additional configuration parameters.
docs-installation-parameters: done
entity-unavailable: done
integration-owner: done
log-when-unavailable:
status: todo
comment: |
The integration currently spams the logs until reconnected
parallel-updates:
status: todo
comment: Needs to be set to 0. The underlying library handles parallel updates.
reauthentication-flow:
status: exempt
comment: |
This integration doesn't require re-authentication.
test-coverage: done
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
# Gold
devices: done
andrewsayre marked this conversation as resolved.
Show resolved Hide resolved
diagnostics: todo
discovery-update-info:
status: todo
comment: Explore if this is possible.
discovery: done
docs-data-update: todo
docs-examples: todo
docs-known-limitations: todo
docs-supported-devices: todo
docs-supported-functions: done
docs-troubleshooting:
status: todo
comment: Has some troublehsooting setps, but needs to be improved
docs-use-cases: done
dynamic-devices: todo
entity-category: done
entity-device-class: done
entity-disabled-by-default: done
entity-translations: done
exception-translations: todo
icon-translations: done
reconfiguration-flow: todo
repair-issues: todo
stale-devices: todo
# Platinum
async-dependency: done
inject-websession:
status: done
comment: The integration does not use websession
strict-typing: todo
1 change: 0 additions & 1 deletion script/hassfest/quality_scale.py
Original file line number Diff line number Diff line change
Expand Up @@ -482,7 +482,6 @@ class Rule:
"hddtemp",
"hdmi_cec",
"heatmiser",
"heos",
"here_travel_time",
"hikvision",
"hikvisioncam",
Expand Down