diff --git a/octoprint/server.py b/octoprint/server.py index 49ad367..88e43f7 100644 --- a/octoprint/server.py +++ b/octoprint/server.py @@ -573,7 +573,7 @@ def setSettings(): if "serial" in data.keys(): if "autoconnect" in data["serial"].keys(): s.setBoolean(["serial", "autoconnect"], data["serial"]["autoconnect"]) - if "port" in data["serial"].keys(): s.set(["serial", "port"], data["serial", "port"]) + if "port" in data["serial"].keys(): s.set(["serial", "port"], data["serial"]["port"]) if "baudrate" in data["serial"].keys(): s.setInt(["serial", "baudrate"], data["serial"]["baudrate"]) if "folder" in data.keys(): @@ -851,7 +851,10 @@ class Server(): eventManager.fire("Startup") if settings().getBoolean(["serial", "autoconnect"]): - printer.connect(settings().get(["serial", "port"]), settings().getInt(["serial", "baudrate"])) + (port, baudrate) = settings().get(["serial", "port"]), settings().getInt(["serial", "baudrate"]) + connectionOptions = getConnectionOptions() + if port in connectionOptions["ports"]: + printer.connect(port, baudrate) IOLoop.instance().start() def _createSocketConnection(self, session, endpoint=None): diff --git a/octoprint/static/js/ui.js b/octoprint/static/js/ui.js index eb78006..4058529 100644 --- a/octoprint/static/js/ui.js +++ b/octoprint/static/js/ui.js @@ -190,6 +190,8 @@ function ConnectionViewModel(loginStateViewModel, settingsViewModel) { data: data }) + self.settings.serial_port(self.selectedPort()) + self.settings.serial_baudrate(self.selectedBaudrate()) self.settings.saveData(); } else { self.requestData();