diff --git a/Einrichtung_RPI/files/mqtt_node_client.py b/Einrichtung_RPI/files/mqtt_node_client.py
index 2460a0e8028f26d7988331350262e242b6d29b21..42e9497c7048e57fa210577b06db5b024fa50d75 100755
--- a/Einrichtung_RPI/files/mqtt_node_client.py
+++ b/Einrichtung_RPI/files/mqtt_node_client.py
@@ -629,6 +629,6 @@ client.mqtt_node_client_init(remote_ip=_IP_ADDR_REMOTE, port=_MQTT_PORT, topic=_
 # Initialize the Modbus RTU resp. M-Bus master depending on the operation mode
 # and start the periodical readout of the defined devices
 if (_OP_MODE == 0):
-    client.bus_init(port=_BUS_PORT, address=_BUS_ADDRESS, baudrate=_BAUDRATE, register=_MODBUS_REGISTER, register_count=_MODBUS_REGISTER_COUNT, timeout=_MODBUS_TIMEOUT, stopbits=_MODBUS_STOPBITS, bytesize=_MODBUS_BYTESIZE, parity=_MODBUS_PARITY, signed=_MODBUS_SIGNED, endianness=_MODBUS_ENDIANNESS, bit_significance=_MODBUS_BIT_SIGNIFICANCE)
+    client.bus_init(port=_BUS_PORT, address=_BUS_ADDRESS, baudrate=_BAUDRATE, read_interval=_READ_INTERVAL, register=_MODBUS_REGISTER, register_count=_MODBUS_REGISTER_COUNT, timeout=_MODBUS_TIMEOUT, stopbits=_MODBUS_STOPBITS, bytesize=_MODBUS_BYTESIZE, parity=_MODBUS_PARITY, signed=_MODBUS_SIGNED, endianness=_MODBUS_ENDIANNESS, bit_significance=_MODBUS_BIT_SIGNIFICANCE)
 elif (_OP_MODE == 1):
-    client.bus_init(port=_BUS_PORT, address=_BUS_ADDRESS, baudrate=_BAUDRATE)
+    client.bus_init(port=_BUS_PORT, address=_BUS_ADDRESS, baudrate=_BAUDRATE, read_interval=_READ_INTERVAL)
diff --git a/Einrichtung_RPI/files/mqtt_server_client.py b/Einrichtung_RPI/files/mqtt_server_client.py
index 6bb6e9b8602a53305b0839c453a8d0bd5689d148..9ecdaa78e1a2ffdf148678e0851e399dc727ccf0 100755
--- a/Einrichtung_RPI/files/mqtt_server_client.py
+++ b/Einrichtung_RPI/files/mqtt_server_client.py
@@ -10,7 +10,7 @@
 # connect to a MQTT broker and log the data published on definable topics.
 # Furthermore, it provides the functionality to act as an interface towards other,
 # non-MQTT based applications like e.g. an OPC UA server by generating
-# data-exchange-files in the CSV format, containing the most current values
+# data-exchange-files, containing the most current values
 # published on the subscribed topics at all times.
 
 import paho.mqtt.client as mqtt
@@ -71,8 +71,8 @@ class MQTT_Server_Client(object):
 
     Furthermore, it provides the functionality to act as an interface towards
     other, non-MQTT based applications like e.g. an OPC UA server by generating
-    data-exchange-files in the CSV format, containing the most current values
-    published on the subscribed topics at all times.
+    data-exchange-files, containing the most current values published on the
+    subscribed topics at all times.
     '''
 
     # Initialization method, that is called on the creation of every new client
@@ -154,7 +154,7 @@ class MQTT_Server_Client(object):
             # Exit the program
             sys.exit()
         else:
-            log_buffer+=(self.get_datetime()+' _on_disconnect_cb: Trying to reconnect!')
+            log_buffer+=(self.get_datetime()+' _on_disconnect_cb: Trying to reconnect!\n')
 
         # Write the buffer to the log (the usage of a buffer allows to minimalize
         # file is opened (and therewith occupied) by the program, thus reducing
@@ -210,7 +210,7 @@ class MQTT_Server_Client(object):
         #       "If successful, the renaming will be an atomic operation (this is
         #       a POSIX requirement)."
         try:
-            os.rename(self._exchange_dir+msg.topic+'.temp', self._exchange_dir+msg.topic)
+            os.rename(_exchange_file+'.temp', _exchange_file)
         except:
             log_buffer+=(self.get_datetime()+'_on_message_cb: Error: '+str(sys.exc_info()[1])+'\n')
 
diff --git a/Einrichtung_RPI/scripts/mqtt_node_client_cleanup.sh b/Einrichtung_RPI/scripts/mqtt_node_client_cleanup.sh
index 3eddd680c3a23bef1e0f3e34c0c9d09ec597fdb0..78ae75e0cb038009f497906dc57f6f5497a79eae 100755
--- a/Einrichtung_RPI/scripts/mqtt_node_client_cleanup.sh
+++ b/Einrichtung_RPI/scripts/mqtt_node_client_cleanup.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 # Paths
 LOG_PATH=/var/log/mqtt_node_client/mqtt_node_client.log
-DB_PATH=/var/lib/mqtt_node_client/mqtt_node_client.db
+DB_PATH=/var/lib/mqtt_node_client/mqtt_node_client.db.csv
 
 # Lines to keep
 LOG_LINES=1728
diff --git a/Einrichtung_RPI/scripts/mqtt_server_client_cleanup.sh b/Einrichtung_RPI/scripts/mqtt_server_client_cleanup.sh
index 79cf8c9add6a168883a99893b0f05d5374b4007f..eaa8d6c9db5f51c4eee40b92935a9981634a40d0 100755
--- a/Einrichtung_RPI/scripts/mqtt_server_client_cleanup.sh
+++ b/Einrichtung_RPI/scripts/mqtt_server_client_cleanup.sh
@@ -1,7 +1,7 @@
 #!/bin/bash
 # Paths
 LOG_PATH=/var/log/mqtt_server_client/mqtt_server_client.log
-DB_PATH=/var/lib/mqtt_server_client/mqtt_server_client.db
+DB_PATH=/var/lib/mqtt_server_client/mqtt_server_client.db.csv
 EX_PATH=/usr/local/var
 
 # Lines to keep
diff --git a/Router/include/user_config.h b/Router/include/user_config.h
index 58f7f0fbe832029dac452a6bc707849e6aa1f862..dbfd039e698efdbdf1e994ea6491f74f6e4c16c1 100644
--- a/Router/include/user_config.h
+++ b/Router/include/user_config.h
@@ -122,18 +122,18 @@
 #define PORTMAP_ENABLE_1 1
 
   #define PORTMAP_PROTO_1 6
-  #define PORTMAP_MPORT_1 22
-  #define PORTMAP_DADDR_1 "192.168.13.3"
-  #define PORTMAP_DPORT_1 22
-  #define PORTMAP_DIR_1 1
-
-#define PORTMAP_ENABLE_2 1
-
-  #define PORTMAP_PROTO_2 6
-  #define PORTMAP_MPORT_2 8883
-  #define PORTMAP_DADDR_2 "192.168.13.37"
-  #define PORTMAP_DPORT_2 8883
-  #define PORTMAP_DIR_2 2
+  #define PORTMAP_MPORT_1 8883
+  #define PORTMAP_DADDR_1 "192.168.13.37"
+  #define PORTMAP_DPORT_1 8883
+  #define PORTMAP_DIR_1 2
+
+#define PORTMAP_ENABLE_2 0
+
+  #define PORTMAP_PROTO_2 0
+  #define PORTMAP_MPORT_2 0
+  #define PORTMAP_DADDR_2 0
+  #define PORTMAP_DPORT_2 0
+  #define PORTMAP_DIR_2 0
 
 #define PORTMAP_ENABLE_3 0
 
diff --git a/doc/5_umsetzung.tex b/doc/5_umsetzung.tex
index c157b6fca36c006c10f5a068f93a98e825b65966..2198ddf3412d5c1724bdd614b6d99f1c51d7a4c8 100644
--- a/doc/5_umsetzung.tex
+++ b/doc/5_umsetzung.tex
@@ -55,10 +55,8 @@ Bei Erwerb ist auf einem Raspberry Pi (im Folgenden auch \enquote{RPI} genannt)
 	Anschließend sollte das System aktualisiert und auf den neusten Stand gebracht werden. Dies geschieht mittels
 
 	\begin{lstlisting}[caption=Aktualisierung des Systems]
-		network={
-				sudo apt-get update
-				sudo apt-get upgrade
-		}
+		sudo apt-get update
+		sudo apt-get upgrade
 	\end{lstlisting}
 
 	Beim ersten Mal muss dieser Update-Prozess u.\,U.\ mehrfach durchgeführt werden, bis alle Systemdateien auf aktuellstem Stand sind\footnote{Dieser Prozess benötigt eine funktionsfähige Internetverbindung. Sollte dies zu diesem Zeitpunkt noch nicht gegeben sein, kann die Aktualisierung des Systems alternativ auch bis nach der Netzwerkkonfiguration (s.\,u.) verschoben werden. Sie sollte jedoch auf jeden Fall ausgeführt werden, bevor der Raspberry Pi endgültig in Betrieb genommen wird, um potentielle, inzwischen behobene Sicherheitslücken zu schließen.}.
@@ -67,9 +65,7 @@ Bei Erwerb ist auf einem Raspberry Pi (im Folgenden auch \enquote{RPI} genannt)
 	Eine weitere, jedoch optionale Sicherheitsmaßnahme stellt das Versehen der Ausführung von \lstinline{sudo} mit einem Passwort dar. Schließlich ist es unerwünscht, wenn jeder den RPI mit vollen Administratorberechtigungen bedienen kann, falls eine autorisierte Person vergessen sollte, sich abzumelden oder eine bestehende SSH-Verbindung zu schließen. Dies kann realisiert werden, indem der Inhalt der Datei \lstinline{/etc/sudoers.d/010_pi-nopasswd} wie folgt abgeändert wird:
 
 	\begin{lstlisting}[caption=Versehen von sudo mit einem Passwort]
-		network={
-				pi ALL=(ALL) ALL: PASSWD
-		}
+		pi ALL=(ALL) ALL: PASSWD
 	\end{lstlisting}
 
 	Es sollte in Betracht gezogen werden, den Namen der Datei aus Gründen der Verständlichkeit zu \lstinline{010_pi-passwd} zu ändern.
@@ -101,7 +97,7 @@ Bei Erwerb ist auf einem Raspberry Pi (im Folgenden auch \enquote{RPI} genannt)
 		das Schlüsselwort \lstinline{manual} durch \lstinline{static} ersetzt und im Anschluss daran die gewünschten Parameter nach dem Muster
 
 		\begin{lstlisting}
-			address   192.168.42.42
+					address   192.168.42.42
 	      	netmask   255.255.255.0
 	      	gateway   192.168.42.1
 	      	network   192.168.42.0		# Optional
diff --git a/doc/Bachelorarbeit.pdf b/doc/Bachelorarbeit.pdf
index 6fdb072c96289a7c2095147cffac2ae0277a2ff6..447c8cb5bde39b18131b14708a7c5eb852b94a09 100644
Binary files a/doc/Bachelorarbeit.pdf and b/doc/Bachelorarbeit.pdf differ
diff --git a/doc/anhang.tex b/doc/anhang.tex
index 94dbc522e057f675945606d3f9878ec3d9d5d32c..9918268bfe371798cdf9435de7a5103888240775 100644
--- a/doc/anhang.tex
+++ b/doc/anhang.tex
@@ -111,7 +111,7 @@ Diverse (MIT License, GNU General Public License, GNU Lesser General Public Lice
 \item{
 lwIP\\
 Modified BSD License\\
-\item{https://savannah.nongnu.org/projects/lwip/}
+\url{https://savannah.nongnu.org/projects/lwip/}
 }
 \end{itemize}
 
diff --git a/doc/graphics/diagrams/architecture/architecture_abstract.png b/doc/graphics/diagrams/architecture/architecture_abstract.png
new file mode 100644
index 0000000000000000000000000000000000000000..c351a9d21a32adbad634f91414777c6941f3e95c
Binary files /dev/null and b/doc/graphics/diagrams/architecture/architecture_abstract.png differ
diff --git a/doc/graphics/diagrams/architecture/architecture_components.png b/doc/graphics/diagrams/architecture/architecture_components.png
new file mode 100644
index 0000000000000000000000000000000000000000..6279f23bfb98233c3744ab33f1bf40c0c2513a5c
Binary files /dev/null and b/doc/graphics/diagrams/architecture/architecture_components.png differ
diff --git a/doc/graphics/diagrams/architecture/architecture_node.png b/doc/graphics/diagrams/architecture/architecture_node.png
new file mode 100644
index 0000000000000000000000000000000000000000..21d91061e206b603d86d51105b212459f7ce5e62
Binary files /dev/null and b/doc/graphics/diagrams/architecture/architecture_node.png differ
diff --git a/doc/graphics/diagrams/architecture/architecture_router.png b/doc/graphics/diagrams/architecture/architecture_router.png
new file mode 100644
index 0000000000000000000000000000000000000000..4e8164de860e863a6d36b77fe5f29c7649a93b04
Binary files /dev/null and b/doc/graphics/diagrams/architecture/architecture_router.png differ
diff --git a/doc/graphics/diagrams/architecture/architecture_server.png b/doc/graphics/diagrams/architecture/architecture_server.png
new file mode 100644
index 0000000000000000000000000000000000000000..fbea677f63717787c4089fd751b2cdf66187ce5b
Binary files /dev/null and b/doc/graphics/diagrams/architecture/architecture_server.png differ
diff --git a/doc/graphics/diagrams/architecture/architecture_technologies.png b/doc/graphics/diagrams/architecture/architecture_technologies.png
new file mode 100644
index 0000000000000000000000000000000000000000..62ca277d419c76be7247d3a8b42f48986983c5c7
Binary files /dev/null and b/doc/graphics/diagrams/architecture/architecture_technologies.png differ
diff --git "a/presentation/Pr\303\244sentation_Kolloquium.pdf" "b/presentation/Pr\303\244sentation_Kolloquium.pdf"
new file mode 100644
index 0000000000000000000000000000000000000000..5f0aa340e6c653e7b28fd6234db25250e3111c13
Binary files /dev/null and "b/presentation/Pr\303\244sentation_Kolloquium.pdf" differ
diff --git "a/presentation/Pr\303\244sentation_Kolloquium.pptx" "b/presentation/Pr\303\244sentation_Kolloquium.pptx"
new file mode 100644
index 0000000000000000000000000000000000000000..5ba394f4902fd0c31c3c59f08fa043128af6b2c4
Binary files /dev/null and "b/presentation/Pr\303\244sentation_Kolloquium.pptx" differ
diff --git "a/presentation/Pr\303\244sentation_Kolloquium_Handout.docx" "b/presentation/Pr\303\244sentation_Kolloquium_Handout.docx"
new file mode 100644
index 0000000000000000000000000000000000000000..daaeff41be85ac9ed8e2aac34ef95433840e40ad
Binary files /dev/null and "b/presentation/Pr\303\244sentation_Kolloquium_Handout.docx" differ
diff --git "a/presentation/Pr\303\244sentation_Kolloquium_Handout.pdf" "b/presentation/Pr\303\244sentation_Kolloquium_Handout.pdf"
new file mode 100644
index 0000000000000000000000000000000000000000..cf700bcf72c5a8574fcc0c16c33b5f32f4dbe8a3
Binary files /dev/null and "b/presentation/Pr\303\244sentation_Kolloquium_Handout.pdf" differ
diff --git "a/presentation/~$Pr\303\244sentation_Kolloquium.pptx" "b/presentation/~$Pr\303\244sentation_Kolloquium.pptx"
new file mode 100644
index 0000000000000000000000000000000000000000..81cae438bb9518d81c1521b46a9cc28d6cfdc3a0
Binary files /dev/null and "b/presentation/~$Pr\303\244sentation_Kolloquium.pptx" differ