diff --git a/mobile/src/main/java/org/openhab/habdroid/model/Widget.java b/mobile/src/main/java/org/openhab/habdroid/model/Widget.java index 2609526853..a2c860c7c0 100644 --- a/mobile/src/main/java/org/openhab/habdroid/model/Widget.java +++ b/mobile/src/main/java/org/openhab/habdroid/model/Widget.java @@ -319,12 +319,16 @@ public static Widget updateFromEvent(Widget source, JSONObject eventPayload, Item item = Item.updateFromEvent( source.item(), eventPayload.getJSONObject("item")); + String icon = eventPayload.optString("icon", source.icon()); String iconPath = determineOH2IconPath(item, source.type(), - source.icon(), iconFormat, !source.mappings().isEmpty()); + icon, iconFormat, !source.mappings().isEmpty()); return source.toBuilder() .label(eventPayload.optString("label", source.label())) .state(determineWidgetState(eventPayload.optString("state", null), item)) + .labelColor(eventPayload.optString("labelcolor", source.labelColor())) + .valueColor(eventPayload.optString("valuecolor", source.valueColor())) .item(item) + .icon(icon) .iconPath(iconPath) .build(); }