Source:
<code>public void initialize() { Configuration configuration = getConfig(); if (configuration.get(CONFIG_DMX_ID) != null) { channels.clear(); DmxBridgeHandler bridgeHandler = (DmxBridgeHandler) getBridge().getHandler(); List<BaseChannel> configChannels = BaseChannel.fromString((String) configuration.get(CONFIG_DMX_ID), bridgeHandler.getUniverseId()); logger.trace("found channels in {}", configChannels.size(), this.thing.getUID()); for (BaseChannel channel : configChannels) { channels.add(bridgeHandler.getDmxChannel(channel, this.thing)); } if (configuration.get(CONFIG_CHASER_STEPS) != null) { if (parseChaserConfig((String) configuration.get(CONFIG_CHASER_STEPS))) { if (this.getBridge().getStatus().equals(ThingStatus.ONLINE)) { updateStatus(ThingStatus.ONLINE); } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, <START> "Chase configuration malformed in " + this.thing.getUID()); <END> } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Chase configuration missing in " + this.thing.getUID()); } if (configuration.get(CONFIG_CHASER_RESUME_AFTER) != null) { resumeAfter = (Boolean) configuration.get(CONFIG_CHASER_RESUME_AFTER); logger.trace("set resumeAfter to in thing {}", resumeAfter, this.thing.getUID()); } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "DMX channel configuration missing in " + this.thing.getUID()); } }</code><technical_language>do need include UID in message this is status of Thing</technical_language>

Target:
public void initialize() { Configuration configuration = getConfig(); if (getBridge() == null) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "no bridge assigned"); return; } if (configuration.get(CONFIG_DMX_ID) != null) { channels.clear(); DmxBridgeHandler bridgeHandler = (DmxBridgeHandler) getBridge().getHandler(); try { List<BaseChannel> configChannels = BaseChannel.fromString((String) configuration.get(CONFIG_DMX_ID), bridgeHandler.getUniverseId()); logger.trace("found channels in {}", configChannels.size(), this.thing.getUID()); for (BaseChannel channel : configChannels) { channels.add(bridgeHandler.getDmxChannel(channel, this.thing)); } } catch (IllegalArgumentException e) { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, e.getMessage()); dmxHandlerStatus = ThingStatusDetail.CONFIGURATION_ERROR; return; } if (configuration.get(CONFIG_CHASER_STEPS) != null) { if (parseChaserConfig((String) configuration.get(CONFIG_CHASER_STEPS))) { if (this.getBridge().getStatus().equals(ThingStatus.ONLINE)) { updateStatus(ThingStatus.ONLINE); dmxHandlerStatus = ThingStatusDetail.NONE; } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.BRIDGE_OFFLINE); } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Chase configuration malformed"); dmxHandlerStatus = ThingStatusDetail.CONFIGURATION_ERROR; } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "Chase configuration missing"); dmxHandlerStatus = ThingStatusDetail.CONFIGURATION_ERROR; } if (configuration.get(CONFIG_CHASER_RESUME_AFTER) != null) { resumeAfter = (Boolean) configuration.get(CONFIG_CHASER_RESUME_AFTER); logger.trace("set resumeAfter to {}", resumeAfter); } } else { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, "DMX channel configuration missing"); dmxHandlerStatus = ThingStatusDetail.CONFIGURATION_ERROR; } }