Evaluate all rules

This commit is contained in:
Robert Resch 2024-12-16 15:45:33 +01:00
parent 877b796a98
commit 3d3771732b
No known key found for this signature in database
GPG Key ID: 9D9D9DCB43120143
3 changed files with 85 additions and 42 deletions

View File

@ -172,7 +172,13 @@ class EcovacsConfigFlow(ConfigFlow, domain=DOMAIN):
errors = {} errors = {}
if user_input: if user_input:
self._async_abort_entries_match({CONF_USERNAME: user_input[CONF_USERNAME]}) self._async_abort_entries_match(
{
CONF_USERNAME: user_input[CONF_USERNAME],
CONF_OVERRIDE_REST_URL: user_input.get(CONF_OVERRIDE_REST_URL),
CONF_OVERRIDE_MQTT_URL: user_input.get(CONF_OVERRIDE_MQTT_URL),
}
)
errors = await _validate_input(self.hass, user_input) errors = await _validate_input(self.hass, user_input)

View File

@ -1,60 +1,95 @@
rules: rules:
# Bronze # Bronze
config-flow: done config-flow: done
brands: done test-before-configure: done
dependency-transparency: todo unique-config-entry: done
common-modules: todo config-flow-test-coverage: done
has-entity-name: todo runtime-data: done
action-setup: todo test-before-setup:
appropriate-polling: todo status: todo
test-before-configure: todo comment: Legacy code will not raise on setup currently
entity-event-setup: todo appropriate-polling:
unique-config-entry: todo status: todo
entity-unique-id: todo comment: |
@mib1185 Please check legacy code.
deebot-client pulls only once at beginning and afterwards is pushed based
entity-unique-id: done
has-entity-name: done
entity-event-setup: done
dependency-transparency:
status: todo
comment: Currently unsure if all dependencies need to validated or only direct ones.
action-setup:
status: done
comment: "`raw_get_positions` is a entity service"
common-modules: done
docs-high-level-description: todo
docs-installation-instructions: todo docs-installation-instructions: todo
docs-removal-instructions: todo docs-removal-instructions: todo
test-before-setup: todo
docs-high-level-description: todo
config-flow-test-coverage: todo
docs-actions: todo docs-actions: todo
runtime-data: todo brands: done
# Silver # Silver
config-entry-unloading: done
log-when-unavailable: todo log-when-unavailable: todo
config-entry-unloading: todo entity-unavailable: done
reauthentication-flow: todo
action-exceptions: todo action-exceptions: todo
docs-installation-parameters: todo reauthentication-flow: todo
integration-owner: todo parallel-updates:
parallel-updates: todo status: todo
comment: |
@mib1185 Please check legacy code.
deebot-client uses internally semaphores to prevent to many parallel requests
test-coverage: todo test-coverage: todo
integration-owner: done
docs-installation-parameters: todo
docs-configuration-parameters: todo docs-configuration-parameters: todo
entity-unavailable: todo
# Gold # Gold
docs-examples: todo entity-translations:
discovery-update-info: todo status: todo
entity-device-class: todo comment: |
entity-translations: todo @mib1185 Legacy entities are not translated
docs-data-update: todo entity-device-class: done
entity-disabled-by-default: todo devices: done
discovery: todo entity-category: done
exception-translations: todo entity-disabled-by-default: done
devices: todo discovery:
docs-supported-devices: todo status: exempt
icon-translations: todo comment: Not supported as we don't talk directly to the devices
docs-known-limitations: todo
stale-devices: todo stale-devices: todo
docs-supported-functions: todo diagnostics: done
repair-issues: todo exception-translations: todo
icon-translations: done
reconfiguration-flow: todo reconfiguration-flow: todo
entity-category: todo dynamic-devices:
dynamic-devices: todo status: todo
docs-troubleshooting: todo comment: New devices are discovered only on boot currently
diagnostics: todo discovery-update-info:
status: exempt
comment: Not supported as we don't talk directly to the devices
repair-issues: todo
docs-use-cases: todo docs-use-cases: todo
docs-supported-devices: todo
docs-supported-functions: todo
docs-data-update: todo
docs-known-limitations: todo
docs-troubleshooting: todo
docs-examples: todo
# Platinum # Platinum
async-dependency: todo async-dependency:
strict-typing: todo status: todo
inject-websession: todo comment: |
@mib1185 Please check legacy code.
deebot-client is async
inject-websession:
status: todo
comment: |
@mib1185 Please check legacy code.
deebot-client uses the passed websession
strict-typing:
status: todo
comment: |
@mib1185 Please check legacy code.
deebot-client is typed

View File

@ -67,6 +67,7 @@ ENTITY_DESCRIPTIONS: tuple[EcovacsSensorEntityDescription, ...] = (
capability_fn=lambda caps: caps.stats.clean, capability_fn=lambda caps: caps.stats.clean,
value_fn=lambda e: e.area, value_fn=lambda e: e.area,
translation_key="stats_area", translation_key="stats_area",
device_class=SensorDeviceClass.AREA,
native_unit_of_measurement=UnitOfArea.SQUARE_METERS, native_unit_of_measurement=UnitOfArea.SQUARE_METERS,
), ),
EcovacsSensorEntityDescription[StatsEvent]( EcovacsSensorEntityDescription[StatsEvent](
@ -84,6 +85,7 @@ ENTITY_DESCRIPTIONS: tuple[EcovacsSensorEntityDescription, ...] = (
value_fn=lambda e: e.area, value_fn=lambda e: e.area,
key="total_stats_area", key="total_stats_area",
translation_key="total_stats_area", translation_key="total_stats_area",
device_class=SensorDeviceClass.AREA,
native_unit_of_measurement=UnitOfArea.SQUARE_METERS, native_unit_of_measurement=UnitOfArea.SQUARE_METERS,
state_class=SensorStateClass.TOTAL_INCREASING, state_class=SensorStateClass.TOTAL_INCREASING,
), ),