diff --git a/src/mqtt_influx_backend/jsonhandler.py b/src/mqtt_influx_backend/jsonhandler.py
index cbfddea17cb52dacafdbfed7ad17cfdacc30bc66..9b28ec34354681fc099c8c122b5b273213ba122f 100644
--- a/src/mqtt_influx_backend/jsonhandler.py
+++ b/src/mqtt_influx_backend/jsonhandler.py
@@ -1,7 +1,6 @@
 import json
 
-file_name = "mac_to_room.json"
-
+file_name = "src/mqtt_influx_backend/mac_to_room.json"
 
 def load_json():
     with open(file_name) as f:
diff --git a/src/mqtt_influx_backend/mQTTClientHandler.py b/src/mqtt_influx_backend/mQTTClientHandler.py
index 8e8d3f3ecc4dc10a95d6026fb60782f652ff2ceb..f19664594e145b5cca2b04417df37ad15111f9b0 100644
--- a/src/mqtt_influx_backend/mQTTClientHandler.py
+++ b/src/mqtt_influx_backend/mQTTClientHandler.py
@@ -1,20 +1,28 @@
 import json
+
 from datetime import datetime
 import paho.mqtt.client as mqtt
+from src.mqtt_influx_backend import jsonhandler
 from src.mqtt_influx_backend import influxDBWriter
 
-
 class MQTTClientHandler:
+
+    MEASUREMENT_NAME = "sensor_data"
+    TAG_ROOM = "room"
+    TAG_MAC = "mac"
+    FIELD_CO2 = "co2"
+    FIELD_TEMP = "temperature"
+    FIELD_HUMIDITY = "humidity"
+
     # Konstruktor
-    def __init__(
-        self, broker_url: str, topic: str, influx_writer: influxDBWriter
-    ):
+    def __init__(self, broker_url: str, topic: str, influx_writer: influxDBWriter):
         # logger sollte hier zugeweist werden
+        self.mac_to_room = jsonhandler.load_json()
         self.broker_url = broker_url
         self.topic = topic
         self.influx_writer = influx_writer
         self.client = mqtt.Client()
-        # Events werden hier methoden
+        # Methoden werden hier Events zugeteilt 
         self.client.on_connect = self.on_connect
         self.client.on_message = self.on_message
 
@@ -23,46 +31,44 @@ class MQTTClientHandler:
         print("Connected with result code " + str(rc))
         client.subscribe(self.topic)
 
-    # def save_mapping(self):
-    # with open(self.mapping_file, "w") as f:
-    #    json.dump(self.mac_to_room, f, indent=4)
-
     # eventuell refactorn und die Aufgaben in Methoden aufteilen
     def on_message(self, client, userdata, msg):
         """
         Wenn das Topic eine Nachricht bekommt wird diese Methode ausgeführt
-        self: ist die MQTTClientHandler instanz, die wird gebraucht
+        self: ist die MQTTClientHandler instanz, die wird gebraucht um die Einträge in 
+        die InfluxDB zu schreiben
         """
-        # log
         msg = json.loads(msg.payload)
         metadate = msg["metadata"]
         # key: mac : value : room
         # hier prüfen, ob die Mac-Adresse einen Raum hat,
         # wenn nicht trage es in mac_to_room leer ein
         # "aa:bb:cc:dd:ee:ff" : ""
-        mac = metadate["mac"]
-
-        # ToImplement
-        """
+        mac = metadate["mac-address"]
+        
         if mac not in self.mac_to_room:
+            # log
             print(f"Neue MAC-Adresse gefunden: {mac}. Mapping wird ergänzt.")
             self.mac_to_room[mac] = ""  # leerer Platzhalter
-            self.save_mapping()
+            jsonhandler.write_json(self.mac_to_room)
+            self.mac_to_room = jsonhandler.load_json()
+            return
+        
+        self.write_to_influxDB(msg,metadate)
 
-        room = self.mac_to_room[mac]
-        """
 
+    def write_to_influxDB(self, msg, metadate):
         try:
             self.influx_writer.write_point(
-                measurement="sensor_data",
+                measurement=self.MEASUREMENT_NAME,
                 tags={
-                    # ToDo "room":  metadate["todo"],
-                    "mac": metadate["mac-address"]
+                    self.TAG_ROOM : self.mac_to_room[metadate["mac-address"]],
+                    self.TAG_MAC: metadate["mac-address"]
                 },
                 fields={
-                    "co2": msg["co2"],
-                    "temperature": msg["temp"],
-                    "humidity": msg["rh"],
+                    self.FIELD_CO2: msg["co2"],
+                    self.FIELD_TEMP: msg["temp"],
+                    self.FIELD_HUMIDITY: msg["rh"],
                 },
                 timestamp=metadate["time"],
             )
@@ -71,7 +77,9 @@ class MQTTClientHandler:
             )  # muss später rausgeschmiessen werden
         except Exception as e:
             # log
-            print("Error processing message:", e)
+            print("Failed writing to InfluxDb: ",e)
+    
+    
 
     def start(self):
         self.client.connect(self.broker_url)
diff --git a/src/mqtt_influx_backend/mac_to_room.json b/src/mqtt_influx_backend/mac_to_room.json
index dfbc6ed30aad9ba5966e03e78e4e2b803ad705f6..8c3f01a2d7412684ee3756f31f107c3d6b5e1456 100644
--- a/src/mqtt_influx_backend/mac_to_room.json
+++ b/src/mqtt_influx_backend/mac_to_room.json
@@ -1,5 +1,6 @@
 {
-  "AA:BB:CC:DD:EE:FF": "Wohnzimmer",
-  "11:22:33:44:55:66": "Küche",
-  "77:88:99:AA:BB:CC": "Schlafzimmer"
+    "AA:BB:CC:DD:EE:FF": "Wohnzimmer",
+    "11:22:33:44:55:66": "K\u00fcche",
+    "77:88:99:AA:BB:CC": "Schlafzimmer",
+    "DE:AD:BE:EF:12:34": ""
 }
\ No newline at end of file