diff --git a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/ValueEncoder.java b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/ValueEncoder.java index f30a137d01717..c2519d3bf719f 100644 --- a/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/ValueEncoder.java +++ b/bundles/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/ValueEncoder.java @@ -162,8 +162,9 @@ private static String handleHSBType(String dptId, HSBType hsb) { double[] xyY = ColorUtil.hsbToXY(hsb); return String.format("(%,.4f %,.4f) %,.1f %%", xyY[0], xyY[1], xyY[2] * 100.0); case "251.600": - rgb = ColorUtil.hsbToRgb(hsb); - return String.format("%d %d %d - %%", rgb[0], rgb[1], rgb[2]); + PercentType[] rgbw = ColorUtil.hsbToRgbPercent(hsb); + return String.format("%,.1f %,.1f %,.1f - %%", rgbw[0].doubleValue(), rgbw[1].doubleValue(), + rgbw[2].doubleValue()); case "5.003": return hsb.getHue().toString(); default: