diff --git a/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/api/dto/MetadataType.java b/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/api/dto/MetadataType.java index 5815da059c3b2..640cea57b231c 100644 --- a/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/api/dto/MetadataType.java +++ b/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/api/dto/MetadataType.java @@ -33,5 +33,7 @@ public enum MetadataType { @SerializedName("number") NUMBER, @SerializedName("boolean") - BOOLEAN + BOOLEAN, + @SerializedName("timeout") + TIMEOUT } diff --git a/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/BaseMetadata.java b/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/BaseMetadata.java index 7697f3ebed93c..32d32ffcac643 100644 --- a/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/BaseMetadata.java +++ b/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/BaseMetadata.java @@ -420,8 +420,6 @@ protected MetadataType correctedType(MetadataType type, @Nullable Object value, switch (type) { case ANY: return determineTypeFromValue(value, commandClass); - case DURATION: - return MetadataType.NUMBER; case NUMBER: if (COMMAND_CLASS_ALARM == commandClass && optionList != null && optionList.size() == 2) { return MetadataType.BOOLEAN; @@ -486,6 +484,9 @@ protected String itemTypeFromMetadata(MetadataType type, @Nullable Object value, type = correctedType(type, value, commandClass, optionList); switch (type) { + case DURATION: + case TIMEOUT: + return CoreItemFactory.NUMBER + ":Time"; case NUMBER: Unit unit = this.unit; if (unit != null) { diff --git a/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/ConfigMetadata.java b/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/ConfigMetadata.java index 554856bb95a5f..fc34264c7321d 100644 --- a/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/ConfigMetadata.java +++ b/bundles/org.openhab.binding.zwavejs/src/main/java/org/openhab/binding/zwavejs/internal/conversion/ConfigMetadata.java @@ -46,6 +46,7 @@ public ConfigMetadata(int nodeId, Event data) { private Type configTypeFromMetadata(MetadataType type, Object value, int commandClass) { type = correctedType(type, value, commandClass, null); switch (type) { + case TIMEOUT: case NUMBER: return Type.INTEGER; // Might be future cases that require DECIMAL, might depend on scale?