diff --git a/applications/inventory-manager-netbox/Main.go b/applications/inventory-manager-netbox/Main.go
index 833376fdacba0a4a314adfa0e90e28c10854a470..452010a2815a519f0d80a6318b556bcc3c60b7cc 100644
--- a/applications/inventory-manager-netbox/Main.go
+++ b/applications/inventory-manager-netbox/Main.go
@@ -26,6 +26,7 @@ func main() {
 			log.Println("Es ist alles cool!")
 		}
 
+		log.Println("länge von element.men: ", len(elements.Mne))
 		//if elements != nil {
 		if len(elements.Mne) != elementeFigure {
 			//log.Printf("Es wurden %d Elemente gefunden", len(elementss.Mne))
diff --git a/applications/inventory-manager-netbox/netboxManager/netboxDinge.go b/applications/inventory-manager-netbox/netboxManager/netboxDinge.go
index f81ec9e2fe646a5d792a9ba9fa2898053f1b816f..8290e61414f93f3e21106a92df557c6d798a0519 100644
--- a/applications/inventory-manager-netbox/netboxManager/netboxDinge.go
+++ b/applications/inventory-manager-netbox/netboxManager/netboxDinge.go
@@ -81,6 +81,7 @@ func createdeviceType(manufacturerID string) map[string]interface{} {
 	}
 	return device
 }
+
 func createdeviceTypeWithParameter(manufacturerID, model, slug, uHeight string) map[string]interface{} {
 	// /dcim/device-types/ 		Gerätetyp
 	device := map[string]interface{}{
diff --git a/applications/inventory-manager-netbox/netboxManager/netboxManager.go b/applications/inventory-manager-netbox/netboxManager/netboxManager.go
index cab2dafffadef3fca6c5c4ac6f468992dd0fc870..c60d608b5666582f40d1074534614c5e8a421e26 100644
--- a/applications/inventory-manager-netbox/netboxManager/netboxManager.go
+++ b/applications/inventory-manager-netbox/netboxManager/netboxManager.go
@@ -93,8 +93,8 @@ func Netboxmanager() error {
 	deviceTypeID := id
 	log.Printf("Gerätetyp erfolgreich erstellt oder gefunden mit der deviceTypeID: %d\n", deviceTypeID)
 
-	deviceTypeID = 16
-	log.Printf("Hacki lösung DeviceRoleID manuell ändern: %d\n", deviceTypeID) //TODO
+	//deviceTypeID = 16
+	//log.Printf("Hacki lösung DeviceRoleID manuell ändern: %d\n", deviceTypeID) //TODO
 
 	//device-roles	Geräterolle
 	device = createDeviceRoleWithParameter("name2", "slug5", "description", "ff0000", "offline")
@@ -135,14 +135,14 @@ func Netzworhandling(netboxURL, apiToken, api string, device map[string]interfac
 	// JSON kodieren
 	body, err := json.Marshal(device)
 	if err != nil {
-		log.Printf("JSON-Fehler: %v", err)
+		log.Fatalf("JSON-Fehler: %v", err)
 		return 0, err
 	}
 
 	// HTTP-Request vorbereiten
 	req, err := http.NewRequest("POST", url, bytes.NewReader(body))
 	if err != nil {
-		log.Printf("Request-Fehler: %v", err)
+		log.Fatalf("Request-Fehler: %v", err)
 		return 0, err
 	}
 
@@ -152,7 +152,7 @@ func Netzworhandling(netboxURL, apiToken, api string, device map[string]interfac
 	// Request senden
 	resp, err := http.DefaultClient.Do(req)
 	if err != nil {
-		log.Printf("Sende-Fehler: %v", err)
+		log.Fatalf("Sende-Fehler: %v", err)
 		return 0, err
 	}
 	defer resp.Body.Close()
@@ -178,7 +178,9 @@ func Netzworhandling(netboxURL, apiToken, api string, device map[string]interfac
 
 	// Wenn ID fehlt: Fallback → über Gerätename suchen
 	if name, ok := device["name"].(string); ok {
-		log.Println("Keine ID erhalten – versuche bestehendes Gerät mit Namen zu finden:", name)
+
+		//log.Println("Kein Gerät mit dem Namen gefunden:", name)
+		//log.Println("Keine ID erhalten – versuche bestehendes Gerät mit Namen zu finden:", name)
 
 		queryURL := "http://" + netboxURL + "/api" + api + "?name=" + name
 		log.Println("url zum namen suchen lautet: ", queryURL)
@@ -213,6 +215,45 @@ func Netzworhandling(netboxURL, apiToken, api string, device map[string]interfac
 		}
 
 		log.Printf("Kein Gerät mit dem Namen gefunden.")
+	} else {
+
+		if model, ok := device["model"].(string); ok {
+			//log.Println("Kein Gerät mit dem Model gefunden:", model)
+			//log.Println("Keine ID erhalten – versuche bestehendes Gerät mit Model zu finden:", model)
+
+			queryURL := "http://" + netboxURL + "/api" + api + "?model=" + model
+			log.Println("url zum model suchen lautet: ", queryURL)
+
+			reqGet, err := http.NewRequest("GET", queryURL, nil)
+			if err != nil {
+				log.Printf("GET-Request-Fehler: %v", err)
+				return 0, err
+			}
+			reqGet.Header.Set("Authorization", "Token "+apiToken)
+
+			respGet, err := http.DefaultClient.Do(reqGet)
+			if err != nil {
+				log.Printf("GET-Fehler: %v", err)
+				return 0, err
+			}
+			defer respGet.Body.Close()
+
+			var getResult map[string]interface{}
+			if err := json.NewDecoder(respGet.Body).Decode(&getResult); err != nil {
+				log.Printf("GET-Antwort-Parsing: %v", err)
+				return 0, err
+			}
+
+			if results, ok := getResult["results"].([]interface{}); ok && len(results) > 0 {
+				if first, ok := results[0].(map[string]interface{}); ok {
+					if id, ok := first["id"].(float64); ok {
+						log.Printf("Bestehendes Gerät gefunden mit ID: %d", int64(id))
+						return int64(id), nil
+					}
+				}
+			}
+			log.Printf("Kein Gerät mit dem Model gefunden.")
+		}
 	}
 
 	log.Printf("keine ID in Antwort gefunden und kein Gerät per Namen auffindbar")
@@ -222,11 +263,6 @@ func Netzworhandling(netboxURL, apiToken, api string, device map[string]interfac
 func FeedNetbox(elements *networkelement.GetAllResponse, configPathNetbox *string) error {
 	var device map[string]interface{}
 
-	if elements != nil {
-		log.Printf("Es wurden %d Elemente gefunden", len(elements.Mne))
-	}
-	//gehMirNichtAufdenSack()
-	//configPathNetbox := flag.String("configNetbox", "config/configNetbox.yaml", "Pfad zur NetBox-Konfigurationsdatei")
 	flag.Parse()
 
 	log.Printf("Config-Pfad: %s", *configPathNetbox)
@@ -244,11 +280,11 @@ func FeedNetbox(elements *networkelement.GetAllResponse, configPathNetbox *strin
 		log.Printf("Fehler beim Parsen der YAML-Datei: %v", err)
 		return err
 	}
-	//log.Printf("Netbox Config Adresse: %v", netboxconfig.NetboxAddress)
-	//log.Printf("Netbox Config Token: %v", netboxconfig.ApiToken)
+	log.Printf("Netbox Config Adresse: %v", netboxconfig.NetboxAddress)
+	log.Printf("Netbox Config Token: %v", netboxconfig.ApiToken)
 
 	//Manufacturers Hersteller
-	device = createManufacturerWithParameter("UniController", "UniController", "Die Wichtige große Box. nicht ausschalten")
+	device = createManufacturerWithParameter("Uni Controller", "Uni-Controller", "Die Wichtige große Box. nicht ausschalten")
 	id, err := Netzworhandling(netboxconfig.NetboxAddress, netboxconfig.ApiToken, "/dcim/manufacturers/", device)
 	if err != nil {
 		log.Printf("Fehler beim erstellen eines Herstellers: %v", err)
@@ -258,7 +294,7 @@ func FeedNetbox(elements *networkelement.GetAllResponse, configPathNetbox *strin
 	log.Printf("Hersteller erfolgreich erstellt oder gefunden mit der manufacturerID: %d\n", manufacturerID)
 
 	//Device Types Gerätetyp device_type
-	device = createdeviceTypeWithParameter(strconv.FormatInt(manufacturerID, 10), "MainController", "MainController", "1")
+	device = createdeviceTypeWithParameter(strconv.FormatInt(manufacturerID, 10), "Main Controller", "Main-Controller", "1")
 	id, err = Netzworhandling(netboxconfig.NetboxAddress, netboxconfig.ApiToken, "/dcim/device-types/", device)
 	if err != nil {
 		log.Printf("Fehler beim erstellen des Gerätetyps: %v", err)
@@ -267,11 +303,8 @@ func FeedNetbox(elements *networkelement.GetAllResponse, configPathNetbox *strin
 	deviceTypeID := id
 	log.Printf("Gerätetyp erfolgreich erstellt oder gefunden mit der deviceTypeID: %d\n", deviceTypeID)
 
-	//deviceTypeID = 16
-	//log.Printf("Hacki lösung DeviceRoleID manuell ändern: %d\n", deviceTypeID) //TODO
-
 	//device-roles	Geräterolle
-	device = createDeviceRoleWithParameter("HauptController", "HauptController", "Ganz wichtig Kiste", "ff0000", "offline")
+	device = createDeviceRoleWithParameter("Haupt Controller", "Haupt-Controller", "Ganz wichtig Kiste", "ff0000", "offline")
 	id, err = Netzworhandling(netboxconfig.NetboxAddress, netboxconfig.ApiToken, "/dcim/device-roles/", device)
 	if err != nil {
 		log.Printf("Fehler beim erstellen der Geräterolle: %v", err)
@@ -280,7 +313,7 @@ func FeedNetbox(elements *networkelement.GetAllResponse, configPathNetbox *strin
 	deviceRoleID := id
 	log.Printf("Geräterolle erfolgreich erstellt oder gefunden mit der deviceRoleID: %d\n", deviceRoleID)
 
-	device = createSiteWithParameter("Darmstadt", "darmstadt", "description", "physicalAddress", "shippingAddress", "comments", "active")
+	device = createSiteWithParameter("Darmstadt V1", "darmstadt-v1", "description", "physicalAddress", "shippingAddress", "comments", "active")
 	id, err = Netzworhandling(netboxconfig.NetboxAddress, netboxconfig.ApiToken, "/dcim/sites/", device)
 	if err != nil {
 		log.Printf("Fehler beim erstellen der Geräterolle: %v", err)
@@ -301,7 +334,7 @@ func FeedNetbox(elements *networkelement.GetAllResponse, configPathNetbox *strin
 	if elements != nil {
 		for _, element := range elements.Mne {
 
-			deviceTypeID = 3
+			//deviceTypeID = 3
 			device = createDeviceWithParameter(element.Name, strconv.FormatInt(deviceTypeID, 10), strconv.FormatInt(deviceRoleID, 10), strconv.FormatInt(siteID, 10), element.Id, element.Plugin.String(), "active")
 			id, err = Netzworhandling(netboxconfig.NetboxAddress, netboxconfig.ApiToken, "/dcim/devices/", device)
 			if err != nil {