diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/mqtt/MQTTUpdater.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/mqtt/MQTTUpdater.java index eb7d9b44069cbca3dd73c8034851b26f81c01a15..829726efc57bec4f931de8c1e0e046a63a9a40eb 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/mqtt/MQTTUpdater.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/openhab2/mqtt/MQTTUpdater.java @@ -57,9 +57,12 @@ public class MQTTUpdater implements AutoCloseable { } private void itemUpdate(Item item, String state) { - this.logger.debug("Update state of {} [{}] from '{}' to '{}'.", - item.getLabel(), item.getID(), item.getStateAsString(), state); - item.setStateFromString(state, false); + String oldState = item.getStateAsString(); + if (oldState == null || !oldState.equals(state)) { + this.logger.debug("Update state of {} [{}] from '{}' to '{}'.", + item.getLabel(), item.getID(), oldState, state); + item.setStateFromString(state, false); + } } /** diff --git a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java index 34210900bdfb26ef7ef38a98cac2f6f157161c78..1f013ea25872e57e452a603616e95126bdd69e11 100644 --- a/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java +++ b/eraser-base/src/main/java/de/tudresden/inf/st/eraser/util/MqttReceiver.java @@ -1,6 +1,5 @@ package de.tudresden.inf.st.eraser.util; -import de.tudresden.inf.st.eraser.openhab2.mqtt.MQTTUpdater; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.fusesource.hawtbuf.Buffer; @@ -40,7 +39,7 @@ public class MqttReceiver implements AutoCloseable { private QoS qos; public MqttReceiver() { - this.logger = LogManager.getLogger(MQTTUpdater.class); + this.logger = LogManager.getLogger(MqttReceiver.class); this.readyLock = new ReentrantLock(); this.readyCondition = readyLock.newCondition(); this.ready = false;