diff --git a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py index 59c1b47076..ff704945eb 100644 --- a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py +++ b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDevice.py @@ -45,9 +45,6 @@ class LocalClusterOutputDevice(UltimakerNetworkedPrinterOutputDevice): self._setInterfaceElements() self._active_camera_url = QUrl() # type: QUrl - # Get the cluster configuration at least once to check if it is a host. - self._update() - ## Set all the interface elements and texts for this output device. def _setInterfaceElements(self) -> None: self.setPriority(3) # Make sure the output device gets selected above local file output diff --git a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py index 64a806e3a7..e5ae7b83ac 100644 --- a/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py +++ b/plugins/UM3NetworkPrinting/src/Network/LocalClusterOutputDeviceManager.py @@ -154,14 +154,24 @@ class LocalClusterOutputDeviceManager: break device = LocalClusterOutputDevice(key, address, properties) - CuraApplication.getInstance().getDiscoveredPrintersModel().addDiscoveredPrinter( - ip_address=address, - key=device.getId(), - name=device.getName(), - create_callback=self._createMachineFromDiscoveredDevice, - machine_type=device.printerType, - device=device - ) + discovered_printers_model = CuraApplication.getInstance().getDiscoveredPrintersModel() + if address in list(discovered_printers_model.discoveredPrintersByAddress.keys()): + # The printer was already added, we just update the available data. + discovered_printers_model.updateDiscoveredPrinter( + ip_address=address, + name=device.getName(), + machine_type=device.printerType + ) + else: + # The printer was not added yet so let's do that. + discovered_printers_model.addDiscoveredPrinter( + ip_address=address, + key=device.getId(), + name=device.getName(), + create_callback=self._createMachineFromDiscoveredDevice, + machine_type=device.printerType, + device=device + ) self._discovered_devices[device.getId()] = device self.discoveredDevicesChanged.emit() self._connectToActiveMachine()