diff --git a/src/data/zwave_js.ts b/src/data/zwave_js.ts
index b0e5ae8cbe..8f756d9d1c 100644
--- a/src/data/zwave_js.ts
+++ b/src/data/zwave_js.ts
@@ -439,6 +439,7 @@ export interface ZwaveJSProvisioningEntry {
dsk: string;
securityClasses: SecurityClass[];
nodeId?: number;
+ status: ProvisioningEntryStatus;
[prop: string]: any;
}
diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts
index 70776bb5bd..085defbdfa 100644
--- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts
+++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-config-dashboard.ts
@@ -37,6 +37,7 @@ import {
fetchZwaveNetworkStatus,
fetchZwaveProvisioningEntries,
InclusionState,
+ ProvisioningEntryStatus,
restoreZwaveNVM,
setZwaveDataCollectionPreference,
subscribeS2Inclusion,
@@ -134,7 +135,10 @@ class ZWaveJSConfigDashboard extends SubscribeMixin(LitElement) {
return this._renderErrorScreen();
}
const provisioningDevices =
- this._provisioningEntries?.filter((entry) => !entry.nodeId).length ?? 0;
+ this._provisioningEntries?.filter(
+ (entry) =>
+ !entry.nodeId && entry.status === ProvisioningEntryStatus.Active
+ ).length ?? 0;
const notReadyDevices =
(this._network?.controller.nodes.filter((node) => !node.ready).length ??
0) + provisioningDevices;
diff --git a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts
index e4b13608d6..48be58c639 100644
--- a/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts
+++ b/src/panels/config/integrations/integration-panels/zwave_js/zwave_js-provisioned.ts
@@ -6,6 +6,7 @@ import type { DataTableColumnContainer } from "../../../../../components/data-ta
import type { ZwaveJSProvisioningEntry } from "../../../../../data/zwave_js";
import {
fetchZwaveProvisioningEntries,
+ ProvisioningEntryStatus,
SecurityClass,
unprovisionZwaveSmartStartNode,
} from "../../../../../data/zwave_js";
@@ -68,6 +69,14 @@ class ZWaveJSProvisioned extends LitElement {
>
`,
},
+ active: {
+ title: localize("ui.panel.config.zwave_js.provisioned.active"),
+ type: "icon",
+ template: (entry) =>
+ entry.status === ProvisioningEntryStatus.Active
+ ? html``
+ : html``,
+ },
dsk: {
main: true,
title: localize("ui.panel.config.zwave_js.provisioned.dsk"),
diff --git a/src/translations/en.json b/src/translations/en.json
index 55aa8e75b6..4d556e38d7 100644
--- a/src/translations/en.json
+++ b/src/translations/en.json
@@ -6192,9 +6192,10 @@
"security_classes": "Security classes",
"unprovision": "Unprovision",
"included": "Included",
- "not_included": "Not Included",
+ "not_included": "Not included",
"confirm_unprovision_title": "Remove device?",
- "confirm_unprovision_text": "{name} will be permanently removed from Home Assistant and your Z-Wave network."
+ "confirm_unprovision_text": "{name} will be permanently removed from Home Assistant and your Z-Wave network.",
+ "active": "Active"
},
"security_classes": {
"None": {