Only show zwave_js firmware action if no other updates in progress (#13002)
* Only show zwave_js firmware update action if no other updates in progress * readability
This commit is contained in:
parent
535fe2686b
commit
c03849d30b
|
@ -674,6 +674,15 @@ export const fetchZwaveNodeIsFirmwareUpdateInProgress = (
|
|||
device_id,
|
||||
});
|
||||
|
||||
export const fetchZwaveIsAnyFirmwareUpdateInProgress = (
|
||||
hass: HomeAssistant,
|
||||
entry_id: string
|
||||
): Promise<boolean> =>
|
||||
hass.callWS({
|
||||
type: "zwave_js/get_any_firmware_update_progress",
|
||||
entry_id,
|
||||
});
|
||||
|
||||
export const fetchZwaveNodeFirmwareUpdateCapabilities = (
|
||||
hass: HomeAssistant,
|
||||
device_id: string
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import { getConfigEntries } from "../../../../../../data/config_entries";
|
||||
import { DeviceRegistryEntry } from "../../../../../../data/device_registry";
|
||||
import {
|
||||
fetchZwaveIsAnyFirmwareUpdateInProgress,
|
||||
fetchZwaveNodeFirmwareUpdateCapabilities,
|
||||
fetchZwaveNodeIsFirmwareUpdateInProgress,
|
||||
fetchZwaveNodeStatus,
|
||||
} from "../../../../../../data/zwave_js";
|
||||
import { showConfirmationDialog } from "../../../../../../dialogs/generic/show-dialog-box";
|
||||
|
@ -85,10 +87,20 @@ export const getZwaveDeviceActions = async (
|
|||
return actions;
|
||||
}
|
||||
|
||||
const firmwareUpdateCapabilities =
|
||||
await fetchZwaveNodeFirmwareUpdateCapabilities(hass, device.id);
|
||||
const [
|
||||
firmwareUpdateCapabilities,
|
||||
isAnyFirmwareUpdateInProgress,
|
||||
isNodeFirmwareUpdateInProgress,
|
||||
] = await Promise.all([
|
||||
fetchZwaveNodeFirmwareUpdateCapabilities(hass, device.id),
|
||||
fetchZwaveIsAnyFirmwareUpdateInProgress(hass, entryId),
|
||||
fetchZwaveNodeIsFirmwareUpdateInProgress(hass, device.id),
|
||||
]);
|
||||
|
||||
if (firmwareUpdateCapabilities.firmware_upgradable) {
|
||||
if (
|
||||
firmwareUpdateCapabilities.firmware_upgradable &&
|
||||
(!isAnyFirmwareUpdateInProgress || isNodeFirmwareUpdateInProgress)
|
||||
) {
|
||||
actions.push({
|
||||
label: hass.localize(
|
||||
"ui.panel.config.zwave_js.device_info.update_firmware"
|
||||
|
|
Loading…
Reference in New Issue