mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-28 11:46:42 +00:00
Add device button on the Z-Wave controller's device page (#25636)
This commit is contained in:
parent
1485d1a1de
commit
414d46be65
@ -4,6 +4,7 @@ import {
|
|||||||
mdiDeleteForever,
|
mdiDeleteForever,
|
||||||
mdiHospitalBox,
|
mdiHospitalBox,
|
||||||
mdiInformation,
|
mdiInformation,
|
||||||
|
mdiPlus,
|
||||||
mdiUpload,
|
mdiUpload,
|
||||||
mdiWrench,
|
mdiWrench,
|
||||||
} from "@mdi/js";
|
} from "@mdi/js";
|
||||||
@ -13,6 +14,7 @@ import {
|
|||||||
fetchZwaveIntegrationSettings,
|
fetchZwaveIntegrationSettings,
|
||||||
fetchZwaveIsAnyOTAFirmwareUpdateInProgress,
|
fetchZwaveIsAnyOTAFirmwareUpdateInProgress,
|
||||||
fetchZwaveIsNodeFirmwareUpdateInProgress,
|
fetchZwaveIsNodeFirmwareUpdateInProgress,
|
||||||
|
fetchZwaveNetworkStatus,
|
||||||
fetchZwaveNodeStatus,
|
fetchZwaveNodeStatus,
|
||||||
} from "../../../../../../data/zwave_js";
|
} from "../../../../../../data/zwave_js";
|
||||||
import { showConfirmationDialog } from "../../../../../../dialogs/generic/show-dialog-box";
|
import { showConfirmationDialog } from "../../../../../../dialogs/generic/show-dialog-box";
|
||||||
@ -24,6 +26,7 @@ import { showZWaveJSRemoveFailedNodeDialog } from "../../../../integrations/inte
|
|||||||
import { showZWaveJSUpdateFirmwareNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node";
|
import { showZWaveJSUpdateFirmwareNodeDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-update-firmware-node";
|
||||||
import type { DeviceAction } from "../../../ha-config-device-page";
|
import type { DeviceAction } from "../../../ha-config-device-page";
|
||||||
import { showZWaveJSHardResetControllerDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-hard-reset-controller";
|
import { showZWaveJSHardResetControllerDialog } from "../../../../integrations/integration-panels/zwave_js/show-dialog-zwave_js-hard-reset-controller";
|
||||||
|
import { showZWaveJSAddNodeDialog } from "../../../../integrations/integration-panels/zwave_js/add-node/show-dialog-zwave_js-add-node";
|
||||||
|
|
||||||
export const getZwaveDeviceActions = async (
|
export const getZwaveDeviceActions = async (
|
||||||
el: HTMLElement,
|
el: HTMLElement,
|
||||||
@ -160,6 +163,19 @@ export const getZwaveDeviceActions = async (
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (nodeStatus.is_controller_node) {
|
if (nodeStatus.is_controller_node) {
|
||||||
|
const networkStatus = await fetchZwaveNetworkStatus(hass, {
|
||||||
|
entry_id: entryId,
|
||||||
|
});
|
||||||
|
actions.unshift({
|
||||||
|
label: hass.localize("ui.panel.config.zwave_js.common.add_node"),
|
||||||
|
icon: mdiPlus,
|
||||||
|
action: async () => {
|
||||||
|
showZWaveJSAddNodeDialog(el, {
|
||||||
|
entry_id: entryId,
|
||||||
|
longRangeSupported: networkStatus.controller?.supports_long_range,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
actions.push({
|
actions.push({
|
||||||
label: hass.localize(
|
label: hass.localize(
|
||||||
"ui.panel.config.zwave_js.device_info.hard_reset_controller"
|
"ui.panel.config.zwave_js.device_info.hard_reset_controller"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user