diff --git a/src/data/zwave_js.ts b/src/data/zwave_js.ts index c447665f40..fbd9113d5c 100644 --- a/src/data/zwave_js.ts +++ b/src/data/zwave_js.ts @@ -84,6 +84,9 @@ export interface ZWaveJSNodeStatus { ready: boolean; status: number; is_secure: boolean | string; + is_routing: boolean | null; + zwave_plus_version: number | null; + highest_security_class: SecurityClass | null; } export interface ZwaveJSNodeMetadata { diff --git a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts index ffac1d04f3..b69484180e 100644 --- a/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts +++ b/src/panels/config/devices/device-detail/integration-elements/zwave_js/ha-device-info-zwave_js.ts @@ -18,6 +18,7 @@ import { nodeStatus, ZWaveJSNodeStatus, ZWaveJSNodeIdentifiers, + SecurityClass, } from "../../../../../../data/zwave_js"; import { haStyle } from "../../../../../../resources/styles"; import { HomeAssistant } from "../../../../../../types"; @@ -117,13 +118,33 @@ export class HaDeviceInfoZWaveJS extends LitElement { : this.hass.localize("ui.common.no")}
- ${this.hass.localize("ui.panel.config.zwave_js.device_info.is_secure")}: - ${this._node.is_secure === true - ? this.hass.localize("ui.common.yes") + ${this.hass.localize( + "ui.panel.config.zwave_js.device_info.highest_security" + )}: + ${this._node.highest_security_class !== null + ? this.hass.localize( + `ui.panel.config.zwave_js.security_classes.${ + SecurityClass[this._node.highest_security_class] + }.title` + ) : this._node.is_secure === false - ? this.hass.localize("ui.common.no") + ? this.hass.localize( + "ui.panel.config.zwave_js.security_classes.none.title" + ) : this.hass.localize("ui.panel.config.zwave_js.device_info.unknown")}
+
+ ${this.hass.localize( + "ui.panel.config.zwave_js.device_info.zwave_plus" + )}: + ${this._node.zwave_plus_version + ? this.hass.localize( + "ui.panel.config.zwave_js.device_info.zwave_plus_version", + "version", + this._node.zwave_plus_version + ) + : this.hass.localize("ui.common.no")} +
`; } diff --git a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts index 088ebf5f86..b33c340cc5 100644 --- a/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts +++ b/src/panels/config/integrations/integration-panels/zwave_js/dialog-zwave_js-add-node.ts @@ -202,12 +202,12 @@ class DialogZWaveJSAddNode extends LitElement { (securityClass) => html`${this.hass.localize( - `ui.panel.config.zwave_js.add_node.security_classes.${SecurityClass[securityClass]}.title` + `ui.panel.config.zwave_js.security_classes.${SecurityClass[securityClass]}.title` )}
${this.hass.localize( - `ui.panel.config.zwave_js.add_node.security_classes.${SecurityClass[securityClass]}.description` + `ui.panel.config.zwave_js.security_classes.${SecurityClass[securityClass]}.description` )}
`} > diff --git a/src/translations/en.json b/src/translations/en.json index adba7e6f88..0adc598568 100755 --- a/src/translations/en.json +++ b/src/translations/en.json @@ -2831,8 +2831,10 @@ "reinterview_device": "Re-interview Device", "heal_node": "Heal Device", "remove_failed": "Remove Failed Device", - "is_secure": "Secure", - "unknown": "Unknown" + "highest_security": "Highest Security", + "unknown": "Unknown", + "zwave_plus": "Z-Wave Plus", + "zwave_plus_version": "Version {version}" }, "node_config": { "header": "Z-Wave Device Configuration", @@ -2868,24 +2870,27 @@ "inclusion_finished": "The device has been added.", "view_device": "View Device", "interview_started": "The device is being interviewed. This may take some time.", - "interview_failed": "The device interview failed. Additional information may be available in the logs.", - "security_classes": { - "S2_Unauthenticated": { - "title": "S2 Unauthenticated", - "description": "Like S2 Authenticated, but without verification that the correct device is included" - }, - "S2_Authenticated": { - "title": "S2 Authenticated", - "description": "Example: Lighting, Sensors and Security Systems" - }, - "S2_AccessControl": { - "title": "S2 Access Control", - "description": "Example: Door Locks and Garage Doors" - }, - "S0_Legacy": { - "title": "S0 Legacy", - "description": "Example: Legacy Door Locks without S2 support" - } + "interview_failed": "The device interview failed. Additional information may be available in the logs." + }, + "security_classes": { + "None": { + "title": "None" + }, + "S2_Unauthenticated": { + "title": "S2 Unauthenticated", + "description": "Like S2 Authenticated, but without verification that the correct device is included" + }, + "S2_Authenticated": { + "title": "S2 Authenticated", + "description": "Example: Lighting, Sensors and Security Systems" + }, + "S2_AccessControl": { + "title": "S2 Access Control", + "description": "Example: Door Locks and Garage Doors" + }, + "S0_Legacy": { + "title": "S0 Legacy", + "description": "Example: Legacy Door Locks without S2 support" } }, "remove_node": {