From 7dd947a58422a2a4d0a11a375ce48aac0f4dfbc9 Mon Sep 17 00:00:00 2001 From: Flole998 Date: Sat, 11 Dec 2021 11:35:33 +0100 Subject: [PATCH] [Hueemulation] Fix xy change response (#10692) Signed-off-by: Flole --- .../dto/response/HueSuccessResponseStateChanged.java | 5 +++++ .../io/hueemulation/internal/rest/LightsAndGroupsTests.java | 1 + 2 files changed, 6 insertions(+) diff --git a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/response/HueSuccessResponseStateChanged.java b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/response/HueSuccessResponseStateChanged.java index 06ef0d4516fbb..f921dded31682 100644 --- a/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/response/HueSuccessResponseStateChanged.java +++ b/bundles/org.openhab.io.hueemulation/src/main/java/org/openhab/io/hueemulation/internal/dto/response/HueSuccessResponseStateChanged.java @@ -13,7 +13,9 @@ package org.openhab.io.hueemulation.internal.dto.response; import java.lang.reflect.Type; +import java.util.List; +import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; @@ -65,6 +67,9 @@ public JsonElement serialize(HueSuccessResponseStateChanged product, Type type, if (product.value instanceof String) { jObj.addProperty(product.relURI, (String) product.value); } + if (product.value instanceof List) { + jObj.add(product.relURI, new Gson().toJsonTree(product.value)); + } return jObj; } } diff --git a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java index 5a86a0fe5123e..2d23689800a6b 100644 --- a/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java +++ b/bundles/org.openhab.io.hueemulation/src/test/java/org/openhab/io/hueemulation/internal/rest/LightsAndGroupsTests.java @@ -306,6 +306,7 @@ public void switchOnWithXY() { .put(Entity.json(body)); assertEquals(200, response.getStatus()); assertThat(response.readEntity(String.class), containsString("success")); + assertThat(response.readEntity(String.class), containsString("xy")); assertThat(((HueStateColorBulb) cs.ds.lights.get("2").state).on, is(true)); assertThat(((HueStateColorBulb) cs.ds.lights.get("2").state).bri, is(200)); assertThat(((HueStateColorBulb) cs.ds.lights.get("2").state).xy[0], is(0.5119));