mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Fix device name in zwave_js repair flow (#99414)
This commit is contained in:
parent
1d80af870d
commit
169a318ec4
@ -600,19 +600,16 @@ class NodeEvents:
|
|||||||
# device config has changed, and if so, issue a repair registry entry for a
|
# device config has changed, and if so, issue a repair registry entry for a
|
||||||
# possible reinterview
|
# possible reinterview
|
||||||
if not node.is_controller_node and await node.async_has_device_config_changed():
|
if not node.is_controller_node and await node.async_has_device_config_changed():
|
||||||
|
device_name = device.name_by_user or device.name or "Unnamed device"
|
||||||
async_create_issue(
|
async_create_issue(
|
||||||
self.hass,
|
self.hass,
|
||||||
DOMAIN,
|
DOMAIN,
|
||||||
f"device_config_file_changed.{device.id}",
|
f"device_config_file_changed.{device.id}",
|
||||||
data={"device_id": device.id},
|
data={"device_id": device.id, "device_name": device_name},
|
||||||
is_fixable=True,
|
is_fixable=True,
|
||||||
is_persistent=False,
|
is_persistent=False,
|
||||||
translation_key="device_config_file_changed",
|
translation_key="device_config_file_changed",
|
||||||
translation_placeholders={
|
translation_placeholders={"device_name": device_name},
|
||||||
"device_name": device.name_by_user
|
|
||||||
or device.name
|
|
||||||
or "Unnamed device"
|
|
||||||
},
|
|
||||||
severity=IssueSeverity.WARNING,
|
severity=IssueSeverity.WARNING,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
"""Repairs for Z-Wave JS."""
|
"""Repairs for Z-Wave JS."""
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from typing import cast
|
|
||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
from zwave_js_server.model.node import Node
|
from zwave_js_server.model.node import Node
|
||||||
|
|
||||||
@ -16,9 +14,10 @@ from .helpers import async_get_node_from_device_id
|
|||||||
class DeviceConfigFileChangedFlow(RepairsFlow):
|
class DeviceConfigFileChangedFlow(RepairsFlow):
|
||||||
"""Handler for an issue fixing flow."""
|
"""Handler for an issue fixing flow."""
|
||||||
|
|
||||||
def __init__(self, node: Node) -> None:
|
def __init__(self, node: Node, device_name: str) -> None:
|
||||||
"""Initialize."""
|
"""Initialize."""
|
||||||
self.node = node
|
self.node = node
|
||||||
|
self.device_name = device_name
|
||||||
|
|
||||||
async def async_step_init(
|
async def async_step_init(
|
||||||
self, user_input: dict[str, str] | None = None
|
self, user_input: dict[str, str] | None = None
|
||||||
@ -34,17 +33,23 @@ class DeviceConfigFileChangedFlow(RepairsFlow):
|
|||||||
self.hass.async_create_task(self.node.async_refresh_info())
|
self.hass.async_create_task(self.node.async_refresh_info())
|
||||||
return self.async_create_entry(title="", data={})
|
return self.async_create_entry(title="", data={})
|
||||||
|
|
||||||
return self.async_show_form(step_id="confirm", data_schema=vol.Schema({}))
|
return self.async_show_form(
|
||||||
|
step_id="confirm",
|
||||||
|
data_schema=vol.Schema({}),
|
||||||
|
description_placeholders={"device_name": self.device_name},
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
async def async_create_fix_flow(
|
async def async_create_fix_flow(
|
||||||
hass: HomeAssistant,
|
hass: HomeAssistant,
|
||||||
issue_id: str,
|
issue_id: str,
|
||||||
data: dict[str, str | int | float | None] | None,
|
data: dict[str, str] | None,
|
||||||
) -> RepairsFlow:
|
) -> RepairsFlow:
|
||||||
"""Create flow."""
|
"""Create flow."""
|
||||||
|
|
||||||
if issue_id.split(".")[0] == "device_config_file_changed":
|
if issue_id.split(".")[0] == "device_config_file_changed":
|
||||||
|
assert data
|
||||||
return DeviceConfigFileChangedFlow(
|
return DeviceConfigFileChangedFlow(
|
||||||
async_get_node_from_device_id(hass, cast(dict, data)["device_id"])
|
async_get_node_from_device_id(hass, data["device_id"]), data["device_name"]
|
||||||
)
|
)
|
||||||
return ConfirmRepairFlow()
|
return ConfirmRepairFlow()
|
||||||
|
@ -77,6 +77,7 @@ async def test_device_config_file_changed(
|
|||||||
|
|
||||||
flow_id = data["flow_id"]
|
flow_id = data["flow_id"]
|
||||||
assert data["step_id"] == "confirm"
|
assert data["step_id"] == "confirm"
|
||||||
|
assert data["description_placeholders"] == {"device_name": device.name}
|
||||||
|
|
||||||
# Apply fix
|
# Apply fix
|
||||||
url = RepairsFlowResourceView.url.format(flow_id=flow_id)
|
url = RepairsFlowResourceView.url.format(flow_id=flow_id)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user