diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 7ffc97bed2..81c5b42a42 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -500,6 +500,7 @@ public: int m_active_state = 0; // 0 - not active, 1 - active but print_sequence_id not valid, 1 - active but no update-to-date state, 2 - update-to-date bool is_support_tunnel_mqtt = false; int print_sequence_id = 0; + bool is_tunnel_mqtt = false; /* ams properties */ std::map amsList; // key: ams[id], start with 0 diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 35aae2b33c..cfba8ef38c 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1868,9 +1868,11 @@ void GUI_App::init_networking_callbacks() GUI::wxGetApp().CallAfter([this, dev_id] { if (m_is_closing) return; + bool tunnel = boost::algorithm::starts_with(dev_id, "tunnel/"); /* request_pushing */ - MachineObject* obj = m_device_manager->get_my_machine(dev_id); + MachineObject* obj = m_device_manager->get_my_machine(tunnel ? dev_id.substr(7) : dev_id); if (obj) { + obj->is_tunnel_mqtt = tunnel; obj->command_request_push_all(); obj->command_get_version(); }