109 lines
3.3 KiB
YAML
109 lines
3.3 KiB
YAML
rules:
|
|
# Adjust platform files for consistent flow:
|
|
# [entity description classes]
|
|
# [entity descriptions]
|
|
# [async_setup_entry]
|
|
# [entity classes])
|
|
# Remove RequiredKeyMixins and add kw_only to classes
|
|
# Wrap multiline lambdas in parenthesis
|
|
# Extend entity description in switch.py to use value_fn instead of getattr
|
|
# Deprecate extra state attributes in vacuum.py
|
|
# Bronze
|
|
action-setup:
|
|
status: todo
|
|
comment: |
|
|
Action async_set_sleep_mode is currently setup in the vacuum platform
|
|
appropriate-polling:
|
|
status: done
|
|
comment: |
|
|
Primarily relies on push data, but polls every 5 minutes for missed updates
|
|
brands: done
|
|
common-modules:
|
|
status: todo
|
|
comment: |
|
|
hub.py should be renamed to coordinator.py and updated accordingly
|
|
Also should not need to return bool (never used)
|
|
config-flow-test-coverage: done
|
|
config-flow: done
|
|
dependency-transparency: done
|
|
docs-actions:
|
|
status: todo
|
|
comment: Can be finished after async_set_sleep_mode is moved to async_setup
|
|
docs-high-level-description: done
|
|
docs-installation-instructions: todo
|
|
docs-removal-instructions: todo
|
|
entity-event-setup:
|
|
status: todo
|
|
comment: Do we need to subscribe to both the coordinator and robot itself?
|
|
entity-unique-id: done
|
|
has-entity-name: done
|
|
runtime-data: done
|
|
test-before-configure: done
|
|
test-before-setup: done
|
|
unique-config-entry: done
|
|
|
|
# Silver
|
|
action-exceptions: todo
|
|
config-entry-unloading: done
|
|
docs-configuration-parameters:
|
|
status: done
|
|
comment: No options to configure
|
|
docs-installation-parameters: todo
|
|
entity-unavailable: todo
|
|
integration-owner: done
|
|
log-when-unavailable: todo
|
|
parallel-updates: todo
|
|
reauthentication-flow: done
|
|
test-coverage:
|
|
status: todo
|
|
comment: |
|
|
Move big data objects from common.py into JSON fixtures and oad them when needed.
|
|
Other fields can be moved to const.py. Consider snapshots and testing data updates
|
|
|
|
# Gold
|
|
devices:
|
|
status: done
|
|
comment: Currently uses the device_info property, could be moved to _attr_device_info
|
|
diagnostics: todo
|
|
discovery-update-info:
|
|
status: done
|
|
comment: The integration is cloud-based
|
|
discovery:
|
|
status: todo
|
|
comment: Need to validate discovery
|
|
docs-data-update: todo
|
|
docs-examples: todo
|
|
docs-known-limitations: todo
|
|
docs-supported-devices: todo
|
|
docs-supported-functions: done
|
|
docs-troubleshooting: todo
|
|
docs-use-cases: todo
|
|
dynamic-devices: todo
|
|
entity-category: done
|
|
entity-device-class: done
|
|
entity-disabled-by-default:
|
|
status: todo
|
|
comment: Check if we should disable any entities by default
|
|
entity-translations:
|
|
status: todo
|
|
comment: Make sure all translated states are in sentence case
|
|
exception-translations: todo
|
|
icon-translations:
|
|
status: todo
|
|
comment: BRIGHTNESS_LEVEL_ICON_MAP should be migrated to icons.json
|
|
reconfiguration-flow: todo
|
|
repair-issues:
|
|
status: done
|
|
comment: |
|
|
This integration doesn't have any cases where raising an issue is needed
|
|
stale-devices:
|
|
status: todo
|
|
comment: |
|
|
Currently handled via async_remove_config_entry_device,
|
|
but we should be able to remove devices automatically
|
|
|
|
# Platinum
|
|
async-dependency: done
|
|
inject-websession: done
|
|
strict-typing: done
|