Set single_config_entry in System monitor manifest (#134838)

This commit is contained in:
G Johansson 2025-01-06 04:17:08 +01:00 committed by GitHub
parent e95bfe438b
commit bf0cf1c30f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 6 additions and 23 deletions

View File

@ -8,8 +8,6 @@ from typing import Any
import voluptuous as vol
from homeassistant.components.binary_sensor import DOMAIN as BINARY_SENSOR_DOMAIN
from homeassistant.config_entries import ConfigFlowResult
from homeassistant.core import callback
from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.schema_config_entry_flow import (
SchemaCommonFlowHandler,
@ -100,12 +98,3 @@ class SystemMonitorConfigFlowHandler(SchemaConfigFlowHandler, domain=DOMAIN):
def async_config_entry_title(self, options: Mapping[str, Any]) -> str:
"""Return config entry title."""
return "System Monitor"
@callback
def async_create_entry(
self, data: Mapping[str, Any], **kwargs: Any
) -> ConfigFlowResult:
"""Finish config flow and create a config entry."""
if self._async_current_entries():
return self.async_abort(reason="already_configured")
return super().async_create_entry(data, **kwargs)

View File

@ -6,5 +6,6 @@
"documentation": "https://www.home-assistant.io/integrations/systemmonitor",
"iot_class": "local_push",
"loggers": ["psutil"],
"requirements": ["psutil-home-assistant==0.0.1", "psutil==6.1.1"]
"requirements": ["psutil-home-assistant==0.0.1", "psutil==6.1.1"],
"single_config_entry": true
}

View File

@ -1,7 +1,7 @@
{
"config": {
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_service%]"
"single_instance_allowed": "[%key:common::config_flow::abort::already_configured_service%]"
},
"step": {
"user": {

View File

@ -6183,7 +6183,8 @@
"name": "System Monitor",
"integration_type": "hub",
"config_flow": true,
"iot_class": "local_push"
"iot_class": "local_push",
"single_config_entry": true
},
"tado": {
"name": "Tado",

View File

@ -48,17 +48,9 @@ async def test_form_already_configured(
result = await hass.config_entries.flow.async_init(
DOMAIN, context={"source": config_entries.SOURCE_USER}
)
assert result["step_id"] == "user"
assert result["type"] is FlowResultType.FORM
result = await hass.config_entries.flow.async_configure(
result["flow_id"],
{},
)
await hass.async_block_till_done()
assert result["type"] is FlowResultType.ABORT
assert result["reason"] == "already_configured"
assert result["reason"] == "single_instance_allowed"
async def test_add_and_remove_processes(