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 647114843839aef335b5337cb62e744870d3a0e3..79d19c6d146d8800062da40016f06199aeaf4b51 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
@@ -40,7 +40,9 @@ public class MQTTUpdater implements AutoCloseable {
   public void setRoot(Root root) {
     ExternalHost host = root.getMqttRoot().getHost();
     delegatee.setHost(host.getHostName(), host.getPort());
-    delegatee.setOnMessage((topicString, message) ->
+    delegatee.setUsername(root.getMqttRoot().getUser());
+    delegatee.setPassword(root.getMqttRoot().getPassword());
+    delegatee.setOnMessage((topicString, message)->
         root.getMqttRoot().resolveTopic(topicString).ifPresent(topic ->
             topic.getItems().forEach(
                 item -> itemUpdate(item, message))));
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 75bbfe3c434e95adfe3474c3ad571db46403748a..4c448c27b2751190048a15e527c4a15b4da6ee6a 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
@@ -28,6 +28,8 @@ public class MqttReceiver implements AutoCloseable {
 
   /** The host running the MQTT broker. */
   private URI host;
+  private String username;
+  private String password;
   /** The connection to the MQTT broker. */
   private CallbackConnection connection;
   /** Whether we are subscribed to the topics yet */
@@ -54,6 +56,14 @@ public class MqttReceiver implements AutoCloseable {
     logger.debug("Host is {}", this.host);
   }
 
+  public void setUsername(String username) {
+    this.username = username;
+  }
+
+  public void setPassword(String password) {
+    this.password = password;
+  }
+
   public void setOnMessage(BiConsumer<String, String> callback) {
     this.onMessageCallback = callback;
   }
@@ -101,6 +111,8 @@ public class MqttReceiver implements AutoCloseable {
     Objects.requireNonNull(this.host, "Host need to be set!");
     MQTT mqtt = new MQTT();
     mqtt.setHost(this.host);
+    mqtt.setPassword(this.password);
+    mqtt.setUserName(this.username);
     connection = mqtt.callbackConnection();
     AtomicReference<Throwable> error = new AtomicReference<>();
     connection.listener(new ExtendedListener() {