mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 09:17:10 +00:00
Remove doubtful repairs issue from UniFi Protect (#83463)
This commit is contained in:
parent
31725d5411
commit
12a81cc9f4
@ -12,10 +12,7 @@ from homeassistant.config_entries import ConfigEntry
|
|||||||
from homeassistant.const import Platform
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
from homeassistant.helpers import entity_registry as er, issue_registry as ir
|
from homeassistant.helpers import entity_registry as er
|
||||||
from homeassistant.helpers.issue_registry import IssueSeverity
|
|
||||||
|
|
||||||
from .const import DOMAIN
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -33,23 +30,6 @@ async def async_migrate_data(
|
|||||||
await async_migrate_device_ids(hass, entry, protect)
|
await async_migrate_device_ids(hass, entry, protect)
|
||||||
_LOGGER.debug("Completed Migrate: async_migrate_device_ids")
|
_LOGGER.debug("Completed Migrate: async_migrate_device_ids")
|
||||||
|
|
||||||
entity_registry = er.async_get(hass)
|
|
||||||
for entity in er.async_entries_for_config_entry(entity_registry, entry.entry_id):
|
|
||||||
if (
|
|
||||||
entity.domain == Platform.SENSOR
|
|
||||||
and entity.disabled_by is None
|
|
||||||
and "detected_object" in entity.unique_id
|
|
||||||
):
|
|
||||||
ir.async_create_issue(
|
|
||||||
hass,
|
|
||||||
DOMAIN,
|
|
||||||
"deprecate_smart_sensor",
|
|
||||||
is_fixable=False,
|
|
||||||
breaks_in_ha_version="2023.2.0",
|
|
||||||
severity=IssueSeverity.WARNING,
|
|
||||||
translation_key="deprecate_smart_sensor",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
async def async_get_bootstrap(protect: ProtectApiClient) -> Bootstrap:
|
async def async_get_bootstrap(protect: ProtectApiClient) -> Bootstrap:
|
||||||
"""Get UniFi Protect bootstrap or raise appropriate HA error."""
|
"""Get UniFi Protect bootstrap or raise appropriate HA error."""
|
||||||
|
@ -75,10 +75,6 @@
|
|||||||
"ea_setup_failed": {
|
"ea_setup_failed": {
|
||||||
"title": "Setup error using Early Access version",
|
"title": "Setup error using Early Access version",
|
||||||
"description": "You are using v{version} of UniFi Protect which is an Early Access version. An unrecoverable error occurred while trying to load the integration. Please [downgrade to a stable version](https://www.home-assistant.io/integrations/unifiprotect#downgrading-unifi-protect) of UniFi Protect to continue using the integration.\n\nError: {error}"
|
"description": "You are using v{version} of UniFi Protect which is an Early Access version. An unrecoverable error occurred while trying to load the integration. Please [downgrade to a stable version](https://www.home-assistant.io/integrations/unifiprotect#downgrading-unifi-protect) of UniFi Protect to continue using the integration.\n\nError: {error}"
|
||||||
},
|
|
||||||
"deprecate_smart_sensor": {
|
|
||||||
"title": "Smart Detection Sensor Deprecated",
|
|
||||||
"description": "The unified \"Detected Object\" sensor for smart detections is now deprecated. It has been replaced with individual smart detection binary sensors for each smart detection type. Please update any templates or automations accordingly."
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"entity": {
|
"entity": {
|
||||||
|
@ -51,10 +51,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"issues": {
|
"issues": {
|
||||||
"deprecate_smart_sensor": {
|
|
||||||
"description": "The unified \"Detected Object\" sensor for smart detections is now deprecated. It has been replaced with individual smart detection binary sensors for each smart detection type. Please update any templates or automations accordingly.",
|
|
||||||
"title": "Smart Detection Sensor Deprecated"
|
|
||||||
},
|
|
||||||
"ea_setup_failed": {
|
"ea_setup_failed": {
|
||||||
"description": "You are using v{version} of UniFi Protect which is an Early Access version. An unrecoverable error occurred while trying to load the integration. Please [downgrade to a stable version](https://www.home-assistant.io/integrations/unifiprotect#downgrading-unifi-protect) of UniFi Protect to continue using the integration.\n\nError: {error}",
|
"description": "You are using v{version} of UniFi Protect which is an Early Access version. An unrecoverable error occurred while trying to load the integration. Please [downgrade to a stable version](https://www.home-assistant.io/integrations/unifiprotect#downgrading-unifi-protect) of UniFi Protect to continue using the integration.\n\nError: {error}",
|
||||||
"title": "Setup error using Early Access version"
|
"title": "Setup error using Early Access version"
|
||||||
|
@ -6,7 +6,7 @@ from copy import copy
|
|||||||
from http import HTTPStatus
|
from http import HTTPStatus
|
||||||
from unittest.mock import Mock
|
from unittest.mock import Mock
|
||||||
|
|
||||||
from pyunifiprotect.data import Camera, Version
|
from pyunifiprotect.data import Version
|
||||||
|
|
||||||
from homeassistant.components.repairs.issue_handler import (
|
from homeassistant.components.repairs.issue_handler import (
|
||||||
async_process_repairs_platforms,
|
async_process_repairs_platforms,
|
||||||
@ -16,9 +16,7 @@ from homeassistant.components.repairs.websocket_api import (
|
|||||||
RepairsFlowResourceView,
|
RepairsFlowResourceView,
|
||||||
)
|
)
|
||||||
from homeassistant.components.unifiprotect.const import DOMAIN
|
from homeassistant.components.unifiprotect.const import DOMAIN
|
||||||
from homeassistant.const import Platform
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers import entity_registry as er
|
|
||||||
|
|
||||||
from .utils import MockUFPFixture, init_entry
|
from .utils import MockUFPFixture, init_entry
|
||||||
|
|
||||||
@ -126,53 +124,3 @@ async def test_ea_warning_fix(
|
|||||||
data = await resp.json()
|
data = await resp.json()
|
||||||
|
|
||||||
assert data["type"] == "create_entry"
|
assert data["type"] == "create_entry"
|
||||||
|
|
||||||
|
|
||||||
async def test_deprecate_smart_default(
|
|
||||||
hass: HomeAssistant, ufp: MockUFPFixture, hass_ws_client, doorbell: Camera
|
|
||||||
):
|
|
||||||
"""Test Deprecate Sensor repair does not exist by default (new installs)."""
|
|
||||||
|
|
||||||
await init_entry(hass, ufp, [doorbell])
|
|
||||||
|
|
||||||
await async_process_repairs_platforms(hass)
|
|
||||||
ws_client = await hass_ws_client(hass)
|
|
||||||
|
|
||||||
await ws_client.send_json({"id": 1, "type": "repairs/list_issues"})
|
|
||||||
msg = await ws_client.receive_json()
|
|
||||||
|
|
||||||
assert msg["success"]
|
|
||||||
issue = None
|
|
||||||
for i in msg["result"]["issues"]:
|
|
||||||
if i["issue_id"] == "deprecate_smart_sensor":
|
|
||||||
issue = i
|
|
||||||
assert issue is None
|
|
||||||
|
|
||||||
|
|
||||||
async def test_deprecate_smart_active(
|
|
||||||
hass: HomeAssistant, ufp: MockUFPFixture, hass_ws_client, doorbell: Camera
|
|
||||||
):
|
|
||||||
"""Test Deprecate Sensor repair exists for existing installs."""
|
|
||||||
|
|
||||||
registry = er.async_get(hass)
|
|
||||||
registry.async_get_or_create(
|
|
||||||
Platform.SENSOR,
|
|
||||||
DOMAIN,
|
|
||||||
f"{doorbell.mac}_detected_object",
|
|
||||||
config_entry=ufp.entry,
|
|
||||||
)
|
|
||||||
|
|
||||||
await init_entry(hass, ufp, [doorbell])
|
|
||||||
|
|
||||||
await async_process_repairs_platforms(hass)
|
|
||||||
ws_client = await hass_ws_client(hass)
|
|
||||||
|
|
||||||
await ws_client.send_json({"id": 1, "type": "repairs/list_issues"})
|
|
||||||
msg = await ws_client.receive_json()
|
|
||||||
|
|
||||||
assert msg["success"]
|
|
||||||
issue = None
|
|
||||||
for i in msg["result"]["issues"]:
|
|
||||||
if i["issue_id"] == "deprecate_smart_sensor":
|
|
||||||
issue = i
|
|
||||||
assert issue is not None
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user