Merged with branch 'mpy_network' to get the latest MicroPython related additions. eric7

Sat, 06 May 2023 19:23:10 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 06 May 2023 19:23:10 +0200
branch
eric7
changeset 10023
a842dbf8c0df
parent 10020
3f2e1d0ef4e2 (current diff)
parent 10022
a95800b414b7 (diff)
child 10024
3bbf6dbec0bd

Merged with branch 'mpy_network' to get the latest MicroPython related additions.

--- a/docs/changelog.md	Sat May 06 15:15:27 2023 +0200
+++ b/docs/changelog.md	Sat May 06 19:23:10 2023 +0200
@@ -5,6 +5,7 @@
 - MicroPython
     - Added support of th WebREPL device interface available on some boards with
       builtin network capability.
+    - Added the capability to enable/disable the WebREPL via the WiFi menu.
 
 ### Version 23.5
 - bug fixes
--- a/eric7.epj	Sat May 06 15:15:27 2023 +0200
+++ b/eric7.epj	Sat May 06 19:23:10 2023 +0200
@@ -353,6 +353,7 @@
       "src/eric7/MicroPython/MicroPythonFileManagerWidget.ui",
       "src/eric7/MicroPython/MicroPythonProgressInfoDialog.ui",
       "src/eric7/MicroPython/MicroPythonWebreplConnectionDialog.ui",
+      "src/eric7/MicroPython/MicroPythonWebreplParametersDialog.ui",
       "src/eric7/MicroPython/MicroPythonWebreplUrlAddEditDialog.ui",
       "src/eric7/MicroPython/MicroPythonWebreplUrlsConfigDialog.ui",
       "src/eric7/MicroPython/MicroPythonWidget.ui",
@@ -1355,6 +1356,7 @@
       "src/eric7/MicroPython/MicroPythonSerialPort.py",
       "src/eric7/MicroPython/MicroPythonWebreplConnectionDialog.py",
       "src/eric7/MicroPython/MicroPythonWebreplDeviceInterface.py",
+      "src/eric7/MicroPython/MicroPythonWebreplParametersDialog.py",
       "src/eric7/MicroPython/MicroPythonWebreplSocket.py",
       "src/eric7/MicroPython/MicroPythonWebreplUrlAddEditDialog.py",
       "src/eric7/MicroPython/MicroPythonWebreplUrlsConfigDialog.py",
--- a/src/eric7/APIs/Python3/eric7.api	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/APIs/Python3/eric7.api	Sat May 06 19:23:10 2023 +0200
@@ -2688,9 +2688,11 @@
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.deactivateEthernet?4()
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.deactivateInterface?4(interface)
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.deviceName?4()
+eric7.MicroPython.Devices.DeviceBase.BaseDevice.disableWebrepl?4()
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.disconnectFromLan?4()
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.disconnectWifi?4()
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.downloadFirmware?4()
+eric7.MicroPython.Devices.DeviceBase.BaseDevice.enableWebrepl?4(password)
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.ensurePath?4(target)
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.executeCommands?4(commands, *, mode="raw", timeout=0)
 eric7.MicroPython.Devices.DeviceBase.BaseDevice.exists?4(pathname)
@@ -2767,7 +2769,9 @@
 eric7.MicroPython.Devices.EspDevices.EspDevice.deactivateBluetoothInterface?4()
 eric7.MicroPython.Devices.EspDevices.EspDevice.deactivateInterface?4(interface)
 eric7.MicroPython.Devices.EspDevices.EspDevice.deviceName?4()
+eric7.MicroPython.Devices.EspDevices.EspDevice.disableWebrepl?4()
 eric7.MicroPython.Devices.EspDevices.EspDevice.disconnectWifi?4()
+eric7.MicroPython.Devices.EspDevices.EspDevice.enableWebrepl?4(password)
 eric7.MicroPython.Devices.EspDevices.EspDevice.forceInterrupt?4()
 eric7.MicroPython.Devices.EspDevices.EspDevice.getBluetoothStatus?4()
 eric7.MicroPython.Devices.EspDevices.EspDevice.getConnectedClients?4()
@@ -2884,8 +2888,10 @@
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.deactivateEthernet?4()
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.deactivateInterface?4(interface)
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.deviceName?4()
+eric7.MicroPython.Devices.RP2040Devices.RP2040Device.disableWebrepl?4()
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.disconnectFromLan?4()
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.disconnectWifi?4()
+eric7.MicroPython.Devices.RP2040Devices.RP2040Device.enableWebrepl?4(password)
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.forceInterrupt?4()
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.getConnectedClients?4()
 eric7.MicroPython.Devices.RP2040Devices.RP2040Device.getDocumentationUrl?4()
@@ -3081,6 +3087,8 @@
 eric7.MicroPython.MicroPythonWebreplDeviceInterface.MicroPythonWebreplDeviceInterface.probeDevice?4()
 eric7.MicroPython.MicroPythonWebreplDeviceInterface.MicroPythonWebreplDeviceInterface.write?4(data)
 eric7.MicroPython.MicroPythonWebreplDeviceInterface.MicroPythonWebreplDeviceInterface?1(parent=None)
+eric7.MicroPython.MicroPythonWebreplParametersDialog.MicroPythonWebreplParametersDialog.getParameters?4()
+eric7.MicroPython.MicroPythonWebreplParametersDialog.MicroPythonWebreplParametersDialog?1(parent=None)
 eric7.MicroPython.MicroPythonWebreplSocket.MicroPythonWebreplSocket.connectToDevice?4(host, port)
 eric7.MicroPython.MicroPythonWebreplSocket.MicroPythonWebreplSocket.disconnect?4()
 eric7.MicroPython.MicroPythonWebreplSocket.MicroPythonWebreplSocket.hasTimedOut?4()
--- a/src/eric7/APIs/Python3/eric7.bas	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/APIs/Python3/eric7.bas	Sat May 06 19:23:10 2023 +0200
@@ -670,6 +670,7 @@
 MicroPythonSerialPort QSerialPort
 MicroPythonWebreplConnectionDialog QDialog Ui_MicroPythonWebreplConnectionDialog
 MicroPythonWebreplDeviceInterface MicroPythonDeviceInterface
+MicroPythonWebreplParametersDialog QDialog Ui_MicroPythonWebreplParametersDialog
 MicroPythonWebreplSocket QWebSocket
 MicroPythonWebreplUrlAddEditDialog QDialog Ui_MicroPythonWebreplUrlAddEditDialog
 MicroPythonWebreplUrlsConfigDialog QDialog Ui_MicroPythonWebreplUrlsConfigDialog
Binary file src/eric7/Documentation/Help/source.qch has changed
--- a/src/eric7/Documentation/Help/source.qhp	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Help/source.qhp	Sat May 06 19:23:10 2023 +0200
@@ -332,6 +332,7 @@
             <section title="eric7.MicroPython.MicroPythonSerialPort" ref="eric7.MicroPython.MicroPythonSerialPort.html" />
             <section title="eric7.MicroPython.MicroPythonWebreplConnectionDialog" ref="eric7.MicroPython.MicroPythonWebreplConnectionDialog.html" />
             <section title="eric7.MicroPython.MicroPythonWebreplDeviceInterface" ref="eric7.MicroPython.MicroPythonWebreplDeviceInterface.html" />
+            <section title="eric7.MicroPython.MicroPythonWebreplParametersDialog" ref="eric7.MicroPython.MicroPythonWebreplParametersDialog.html" />
             <section title="eric7.MicroPython.MicroPythonWebreplSocket" ref="eric7.MicroPython.MicroPythonWebreplSocket.html" />
             <section title="eric7.MicroPython.MicroPythonWebreplUrlAddEditDialog" ref="eric7.MicroPython.MicroPythonWebreplUrlAddEditDialog.html" />
             <section title="eric7.MicroPython.MicroPythonWebreplUrlsConfigDialog" ref="eric7.MicroPython.MicroPythonWebreplUrlsConfigDialog.html" />
@@ -2100,9 +2101,11 @@
       <keyword name="BaseDevice.deactivateEthernet" id="BaseDevice.deactivateEthernet" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.deactivateEthernet" />
       <keyword name="BaseDevice.deactivateInterface" id="BaseDevice.deactivateInterface" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.deactivateInterface" />
       <keyword name="BaseDevice.deviceName" id="BaseDevice.deviceName" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.deviceName" />
+      <keyword name="BaseDevice.disableWebrepl" id="BaseDevice.disableWebrepl" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.disableWebrepl" />
       <keyword name="BaseDevice.disconnectFromLan" id="BaseDevice.disconnectFromLan" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.disconnectFromLan" />
       <keyword name="BaseDevice.disconnectWifi" id="BaseDevice.disconnectWifi" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.disconnectWifi" />
       <keyword name="BaseDevice.downloadFirmware" id="BaseDevice.downloadFirmware" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.downloadFirmware" />
+      <keyword name="BaseDevice.enableWebrepl" id="BaseDevice.enableWebrepl" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.enableWebrepl" />
       <keyword name="BaseDevice.ensurePath" id="BaseDevice.ensurePath" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.ensurePath" />
       <keyword name="BaseDevice.executeCommands" id="BaseDevice.executeCommands" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.executeCommands" />
       <keyword name="BaseDevice.exists" id="BaseDevice.exists" ref="eric7.MicroPython.Devices.DeviceBase.html#BaseDevice.exists" />
@@ -6314,7 +6317,9 @@
       <keyword name="EspDevice.deactivateBluetoothInterface" id="EspDevice.deactivateBluetoothInterface" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.deactivateBluetoothInterface" />
       <keyword name="EspDevice.deactivateInterface" id="EspDevice.deactivateInterface" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.deactivateInterface" />
       <keyword name="EspDevice.deviceName" id="EspDevice.deviceName" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.deviceName" />
+      <keyword name="EspDevice.disableWebrepl" id="EspDevice.disableWebrepl" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.disableWebrepl" />
       <keyword name="EspDevice.disconnectWifi" id="EspDevice.disconnectWifi" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.disconnectWifi" />
+      <keyword name="EspDevice.enableWebrepl" id="EspDevice.enableWebrepl" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.enableWebrepl" />
       <keyword name="EspDevice.forceInterrupt" id="EspDevice.forceInterrupt" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.forceInterrupt" />
       <keyword name="EspDevice.getBluetoothStatus" id="EspDevice.getBluetoothStatus" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.getBluetoothStatus" />
       <keyword name="EspDevice.getConnectedClients" id="EspDevice.getConnectedClients" ref="eric7.MicroPython.Devices.EspDevices.html#EspDevice.getConnectedClients" />
@@ -10969,6 +10974,11 @@
       <keyword name="MicroPythonWebreplDeviceInterface.isConnected" id="MicroPythonWebreplDeviceInterface.isConnected" ref="eric7.MicroPython.MicroPythonWebreplDeviceInterface.html#MicroPythonWebreplDeviceInterface.isConnected" />
       <keyword name="MicroPythonWebreplDeviceInterface.probeDevice" id="MicroPythonWebreplDeviceInterface.probeDevice" ref="eric7.MicroPython.MicroPythonWebreplDeviceInterface.html#MicroPythonWebreplDeviceInterface.probeDevice" />
       <keyword name="MicroPythonWebreplDeviceInterface.write" id="MicroPythonWebreplDeviceInterface.write" ref="eric7.MicroPython.MicroPythonWebreplDeviceInterface.html#MicroPythonWebreplDeviceInterface.write" />
+      <keyword name="MicroPythonWebreplParametersDialog" id="MicroPythonWebreplParametersDialog" ref="eric7.MicroPython.MicroPythonWebreplParametersDialog.html#MicroPythonWebreplParametersDialog" />
+      <keyword name="MicroPythonWebreplParametersDialog (Constructor)" id="MicroPythonWebreplParametersDialog (Constructor)" ref="eric7.MicroPython.MicroPythonWebreplParametersDialog.html#MicroPythonWebreplParametersDialog.__init__" />
+      <keyword name="MicroPythonWebreplParametersDialog (Module)" id="MicroPythonWebreplParametersDialog (Module)" ref="eric7.MicroPython.MicroPythonWebreplParametersDialog.html" />
+      <keyword name="MicroPythonWebreplParametersDialog.__updateOk" id="MicroPythonWebreplParametersDialog.__updateOk" ref="eric7.MicroPython.MicroPythonWebreplParametersDialog.html#MicroPythonWebreplParametersDialog.__updateOk" />
+      <keyword name="MicroPythonWebreplParametersDialog.getParameters" id="MicroPythonWebreplParametersDialog.getParameters" ref="eric7.MicroPython.MicroPythonWebreplParametersDialog.html#MicroPythonWebreplParametersDialog.getParameters" />
       <keyword name="MicroPythonWebreplSocket" id="MicroPythonWebreplSocket" ref="eric7.MicroPython.MicroPythonWebreplSocket.html#MicroPythonWebreplSocket" />
       <keyword name="MicroPythonWebreplSocket (Constructor)" id="MicroPythonWebreplSocket (Constructor)" ref="eric7.MicroPython.MicroPythonWebreplSocket.html#MicroPythonWebreplSocket.__init__" />
       <keyword name="MicroPythonWebreplSocket (Module)" id="MicroPythonWebreplSocket (Module)" ref="eric7.MicroPython.MicroPythonWebreplSocket.html" />
@@ -14029,8 +14039,10 @@
       <keyword name="RP2040Device.deactivateEthernet" id="RP2040Device.deactivateEthernet" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.deactivateEthernet" />
       <keyword name="RP2040Device.deactivateInterface" id="RP2040Device.deactivateInterface" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.deactivateInterface" />
       <keyword name="RP2040Device.deviceName" id="RP2040Device.deviceName" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.deviceName" />
+      <keyword name="RP2040Device.disableWebrepl" id="RP2040Device.disableWebrepl" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.disableWebrepl" />
       <keyword name="RP2040Device.disconnectFromLan" id="RP2040Device.disconnectFromLan" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.disconnectFromLan" />
       <keyword name="RP2040Device.disconnectWifi" id="RP2040Device.disconnectWifi" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.disconnectWifi" />
+      <keyword name="RP2040Device.enableWebrepl" id="RP2040Device.enableWebrepl" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.enableWebrepl" />
       <keyword name="RP2040Device.forceInterrupt" id="RP2040Device.forceInterrupt" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.forceInterrupt" />
       <keyword name="RP2040Device.getConnectedClients" id="RP2040Device.getConnectedClients" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.getConnectedClients" />
       <keyword name="RP2040Device.getDocumentationUrl" id="RP2040Device.getDocumentationUrl" ref="eric7.MicroPython.Devices.RP2040Devices.html#RP2040Device.getDocumentationUrl" />
@@ -18993,7 +19005,9 @@
       <keyword name="WifiController.__checkInternet" id="WifiController.__checkInternet" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__checkInternet" />
       <keyword name="WifiController.__connectWifi" id="WifiController.__connectWifi" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__connectWifi" />
       <keyword name="WifiController.__deactivateInterface" id="WifiController.__deactivateInterface" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__deactivateInterface" />
+      <keyword name="WifiController.__disableWebrepl" id="WifiController.__disableWebrepl" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__disableWebrepl" />
       <keyword name="WifiController.__disconnectWifi" id="WifiController.__disconnectWifi" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__disconnectWifi" />
+      <keyword name="WifiController.__enableWebrepl" id="WifiController.__enableWebrepl" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__enableWebrepl" />
       <keyword name="WifiController.__removeCredentials" id="WifiController.__removeCredentials" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__removeCredentials" />
       <keyword name="WifiController.__scanNetwork" id="WifiController.__scanNetwork" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__scanNetwork" />
       <keyword name="WifiController.__setNetworkTime" id="WifiController.__setNetworkTime" ref="eric7.MicroPython.WifiDialogs.WifiController.html#WifiController.__setNetworkTime" />
@@ -20655,6 +20669,7 @@
       <file>eric7.MicroPython.MicroPythonSerialPort.html</file>
       <file>eric7.MicroPython.MicroPythonWebreplConnectionDialog.html</file>
       <file>eric7.MicroPython.MicroPythonWebreplDeviceInterface.html</file>
+      <file>eric7.MicroPython.MicroPythonWebreplParametersDialog.html</file>
       <file>eric7.MicroPython.MicroPythonWebreplSocket.html</file>
       <file>eric7.MicroPython.MicroPythonWebreplUrlAddEditDialog.html</file>
       <file>eric7.MicroPython.MicroPythonWebreplUrlsConfigDialog.html</file>
--- a/src/eric7/Documentation/Source/eric7.MicroPython.Devices.DeviceBase.html	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.Devices.DeviceBase.html	Sat May 06 19:23:10 2023 +0200
@@ -235,6 +235,10 @@
 <td>Public method to get the name of the device.</td>
 </tr>
 <tr>
+<td><a href="#BaseDevice.disableWebrepl">disableWebrepl</a></td>
+<td>Public method to write the given WebREPL password to the connected device and modify the start script to start the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="#BaseDevice.disconnectFromLan">disconnectFromLan</a></td>
 <td>Public method  to disconnect from the LAN.</td>
 </tr>
@@ -247,6 +251,10 @@
 <td>Public method to download the device firmware.</td>
 </tr>
 <tr>
+<td><a href="#BaseDevice.enableWebrepl">enableWebrepl</a></td>
+<td>Public method to write the given WebREPL password to the connected device and modify the start script to start the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="#BaseDevice.ensurePath">ensurePath</a></td>
 <td>Public method to ensure, that the given target path exists.</td>
 </tr>
@@ -1015,6 +1023,26 @@
 str
 </dd>
 </dl>
+<a NAME="BaseDevice.disableWebrepl" ID="BaseDevice.disableWebrepl"></a>
+<h4>BaseDevice.disableWebrepl</h4>
+<b>disableWebrepl</b>(<i></i>)
+
+<p>
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating success and an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="BaseDevice.disconnectFromLan" ID="BaseDevice.disconnectFromLan"></a>
 <h4>BaseDevice.disconnectFromLan</h4>
 <b>disconnectFromLan</b>(<i></i>)
@@ -1060,6 +1088,33 @@
 <p>
         Public method to download the device firmware.
 </p>
+<a NAME="BaseDevice.enableWebrepl" ID="BaseDevice.enableWebrepl"></a>
+<h4>BaseDevice.enableWebrepl</h4>
+<b>enableWebrepl</b>(<i>password</i>)
+
+<p>
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+</p>
+<dl>
+
+<dt><i>password</i> (str)</dt>
+<dd>
+password needed to authenticate
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating success and an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="BaseDevice.ensurePath" ID="BaseDevice.ensurePath"></a>
 <h4>BaseDevice.ensurePath</h4>
 <b>ensurePath</b>(<i>target</i>)
--- a/src/eric7/Documentation/Source/eric7.MicroPython.Devices.EspDevices.html	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.Devices.EspDevices.html	Sat May 06 19:23:10 2023 +0200
@@ -180,10 +180,18 @@
 <td>Public method to get the name of the device.</td>
 </tr>
 <tr>
+<td><a href="#EspDevice.disableWebrepl">disableWebrepl</a></td>
+<td>Public method to write the given WebREPL password to the connected device and modify the start script to start the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="#EspDevice.disconnectWifi">disconnectWifi</a></td>
 <td>Public method to disconnect a device from the WiFi network.</td>
 </tr>
 <tr>
+<td><a href="#EspDevice.enableWebrepl">enableWebrepl</a></td>
+<td>Public method to write the given WebREPL password to the connected device and modify the start script to start the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="#EspDevice.forceInterrupt">forceInterrupt</a></td>
 <td>Public method to determine the need for an interrupt when opening the serial connection.</td>
 </tr>
@@ -669,6 +677,26 @@
 str
 </dd>
 </dl>
+<a NAME="EspDevice.disableWebrepl" ID="EspDevice.disableWebrepl"></a>
+<h4>EspDevice.disableWebrepl</h4>
+<b>disableWebrepl</b>(<i></i>)
+
+<p>
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating success and an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="EspDevice.disconnectWifi" ID="EspDevice.disconnectWifi"></a>
 <h4>EspDevice.disconnectWifi</h4>
 <b>disconnectWifi</b>(<i></i>)
@@ -688,6 +716,33 @@
 tuple of (bool, str)
 </dd>
 </dl>
+<a NAME="EspDevice.enableWebrepl" ID="EspDevice.enableWebrepl"></a>
+<h4>EspDevice.enableWebrepl</h4>
+<b>enableWebrepl</b>(<i>password</i>)
+
+<p>
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+</p>
+<dl>
+
+<dt><i>password</i> (str)</dt>
+<dd>
+password needed to authenticate
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating success and an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="EspDevice.forceInterrupt" ID="EspDevice.forceInterrupt"></a>
 <h4>EspDevice.forceInterrupt</h4>
 <b>forceInterrupt</b>(<i></i>)
--- a/src/eric7/Documentation/Source/eric7.MicroPython.Devices.RP2040Devices.html	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.Devices.RP2040Devices.html	Sat May 06 19:23:10 2023 +0200
@@ -148,6 +148,10 @@
 <td>Public method to get the name of the device.</td>
 </tr>
 <tr>
+<td><a href="#RP2040Device.disableWebrepl">disableWebrepl</a></td>
+<td>Public method to write the given WebREPL password to the connected device and modify the start script to start the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="#RP2040Device.disconnectFromLan">disconnectFromLan</a></td>
 <td>Public method  to disconnect from the LAN.</td>
 </tr>
@@ -156,6 +160,10 @@
 <td>Public method to disconnect a device from the WiFi network.</td>
 </tr>
 <tr>
+<td><a href="#RP2040Device.enableWebrepl">enableWebrepl</a></td>
+<td>Public method to write the given WebREPL password to the connected device and modify the start script to start the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="#RP2040Device.forceInterrupt">forceInterrupt</a></td>
 <td>Public method to determine the need for an interrupt when opening the serial connection.</td>
 </tr>
@@ -622,6 +630,26 @@
 str
 </dd>
 </dl>
+<a NAME="RP2040Device.disableWebrepl" ID="RP2040Device.disableWebrepl"></a>
+<h4>RP2040Device.disableWebrepl</h4>
+<b>disableWebrepl</b>(<i></i>)
+
+<p>
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating success and an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="RP2040Device.disconnectFromLan" ID="RP2040Device.disconnectFromLan"></a>
 <h4>RP2040Device.disconnectFromLan</h4>
 <b>disconnectFromLan</b>(<i></i>)
@@ -660,6 +688,33 @@
 tuple of (bool, str)
 </dd>
 </dl>
+<a NAME="RP2040Device.enableWebrepl" ID="RP2040Device.enableWebrepl"></a>
+<h4>RP2040Device.enableWebrepl</h4>
+<b>enableWebrepl</b>(<i>password</i>)
+
+<p>
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+</p>
+<dl>
+
+<dt><i>password</i> (str)</dt>
+<dd>
+password needed to authenticate
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating success and an error message
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
 <a NAME="RP2040Device.forceInterrupt" ID="RP2040Device.forceInterrupt"></a>
 <h4>RP2040Device.forceInterrupt</h4>
 <b>forceInterrupt</b>(<i></i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.MicroPythonWebreplParametersDialog.html	Sat May 06 19:23:10 2023 +0200
@@ -0,0 +1,118 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric7.MicroPython.MicroPythonWebreplParametersDialog</title>
+<meta charset="UTF-8">
+<link rel="stylesheet" href="styles.css">
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric7.MicroPython.MicroPythonWebreplParametersDialog</h1>
+
+<p>
+Module implementing a dialog to enter the parameters for the WebREPL server.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#MicroPythonWebreplParametersDialog">MicroPythonWebreplParametersDialog</a></td>
+<td>Class implementing a dialog to enter the parameters for the WebREPL server.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="MicroPythonWebreplParametersDialog" ID="MicroPythonWebreplParametersDialog"></a>
+<h2>MicroPythonWebreplParametersDialog</h2>
+
+<p>
+    Class implementing a dialog to enter the parameters for the WebREPL server.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_MicroPythonWebreplParametersDialog
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#MicroPythonWebreplParametersDialog.__init__">MicroPythonWebreplParametersDialog</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#MicroPythonWebreplParametersDialog.__updateOk">__updateOk</a></td>
+<td>Private slot to update the enabled state of the OK button.</td>
+</tr>
+<tr>
+<td><a href="#MicroPythonWebreplParametersDialog.getParameters">getParameters</a></td>
+<td>Public method to retrieve the entered data.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="MicroPythonWebreplParametersDialog.__init__" ID="MicroPythonWebreplParametersDialog.__init__"></a>
+<h4>MicroPythonWebreplParametersDialog (Constructor)</h4>
+<b>MicroPythonWebreplParametersDialog</b>(<i>parent=None</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>parent</i> (QWidget (optional))</dt>
+<dd>
+reference to the parent widget (defaults to None)
+</dd>
+</dl>
+<a NAME="MicroPythonWebreplParametersDialog.__updateOk" ID="MicroPythonWebreplParametersDialog.__updateOk"></a>
+<h4>MicroPythonWebreplParametersDialog.__updateOk</h4>
+<b>__updateOk</b>(<i></i>)
+
+<p>
+        Private slot to update the enabled state of the OK button.
+</p>
+<a NAME="MicroPythonWebreplParametersDialog.getParameters" ID="MicroPythonWebreplParametersDialog.getParameters"></a>
+<h4>MicroPythonWebreplParametersDialog.getParameters</h4>
+<b>getParameters</b>(<i></i>)
+
+<p>
+        Public method to retrieve the entered data.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing the password
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (str,)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/src/eric7/Documentation/Source/eric7.MicroPython.WifiDialogs.WifiController.html	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.MicroPython.WifiDialogs.WifiController.html	Sat May 06 19:23:10 2023 +0200
@@ -71,10 +71,18 @@
 <td>Private method to deactivate a given WiFi interface of the connected device.</td>
 </tr>
 <tr>
+<td><a href="#WifiController.__disableWebrepl">__disableWebrepl</a></td>
+<td>Private slot to disable the WebREPL server of the device.</td>
+</tr>
+<tr>
 <td><a href="#WifiController.__disconnectWifi">__disconnectWifi</a></td>
 <td>Private slot to disconnect the current device from the WiFi network.</td>
 </tr>
 <tr>
+<td><a href="#WifiController.__enableWebrepl">__enableWebrepl</a></td>
+<td>Private slot to enable the WebREPL server of the device.</td>
+</tr>
+<tr>
 <td><a href="#WifiController.__removeCredentials">__removeCredentials</a></td>
 <td>Private slot to remove the saved WiFi credentials from the connected device.</td>
 </tr>
@@ -168,6 +176,17 @@
             or 'STA')
 </dd>
 </dl>
+<a NAME="WifiController.__disableWebrepl" ID="WifiController.__disableWebrepl"></a>
+<h4>WifiController.__disableWebrepl</h4>
+<b>__disableWebrepl</b>(<i></i>)
+
+<p>
+        Private slot to disable the WebREPL server of the device.
+</p>
+<p>
+        This will not remove the 'webrepl_cfg.py' file. It will just modify the boot
+        script.
+</p>
 <a NAME="WifiController.__disconnectWifi" ID="WifiController.__disconnectWifi"></a>
 <h4>WifiController.__disconnectWifi</h4>
 <b>__disconnectWifi</b>(<i></i>)
@@ -175,6 +194,16 @@
 <p>
         Private slot to disconnect the current device from the WiFi network.
 </p>
+<a NAME="WifiController.__enableWebrepl" ID="WifiController.__enableWebrepl"></a>
+<h4>WifiController.__enableWebrepl</h4>
+<b>__enableWebrepl</b>(<i></i>)
+
+<p>
+        Private slot to enable the WebREPL server of the device.
+</p>
+<p>
+        This will also modify the boot script.
+</p>
 <a NAME="WifiController.__removeCredentials" ID="WifiController.__removeCredentials"></a>
 <h4>WifiController.__removeCredentials</h4>
 <b>__removeCredentials</b>(<i></i>)
--- a/src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Source/eric7.Testing.TestingWidget.html	Sat May 06 19:23:10 2023 +0200
@@ -225,7 +225,7 @@
 </tr>
 <tr>
 <td><a href="#TestingWidget.__updateProgress">__updateProgress</a></td>
-<td>Private slot update the progress indicators.</td>
+<td>Private slot to update the progress indicators.</td>
 </tr>
 <tr>
 <td><a href="#TestingWidget.clearRecent">clearRecent</a></td>
@@ -715,7 +715,7 @@
 <b>__updateProgress</b>(<i></i>)
 
 <p>
-        Private slot update the progress indicators.
+        Private slot to update the progress indicators.
 </p>
 <a NAME="TestingWidget.clearRecent" ID="TestingWidget.clearRecent"></a>
 <h4>TestingWidget.clearRecent</h4>
--- a/src/eric7/Documentation/Source/index-eric7.MicroPython.html	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/Documentation/Source/index-eric7.MicroPython.html	Sat May 06 19:23:10 2023 +0200
@@ -104,6 +104,10 @@
 <td>Module  implementing an interface to talk to a connected MicroPython device via a webrepl connection.</td>
 </tr>
 <tr>
+<td><a href="eric7.MicroPython.MicroPythonWebreplParametersDialog.html">MicroPythonWebreplParametersDialog</a></td>
+<td>Module implementing a dialog to enter the parameters for the WebREPL server.</td>
+</tr>
+<tr>
 <td><a href="eric7.MicroPython.MicroPythonWebreplSocket.html">MicroPythonWebreplSocket</a></td>
 <td>Module implementing a websocket class to be connect to the MicroPython webrepl interface.</td>
 </tr>
--- a/src/eric7/MicroPython/Devices/DeviceBase.py	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/MicroPython/Devices/DeviceBase.py	Sat May 06 19:23:10 2023 +0200
@@ -1578,6 +1578,28 @@
         """
         return [], ""
 
+    def enableWebrepl(self, password):
+        """
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+
+        @param password password needed to authenticate
+        @type str
+        @return tuple containing a flag indicating success and an error message
+        @rtype tuple of (bool, str)
+        """
+        return False, ""
+
+    def disableWebrepl(self):
+        """
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+
+        @return tuple containing a flag indicating success and an error message
+        @rtype tuple of (bool, str)
+        """
+        return False, ""
+
     ##################################################################
     ## Methods below implement Ethernet related methods
     ##################################################################
--- a/src/eric7/MicroPython/Devices/EspDevices.py	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/MicroPython/Devices/EspDevices.py	Sat May 06 19:23:10 2023 +0200
@@ -1116,6 +1116,95 @@
         clientsList = ast.literal_eval(out.decode("utf-8"))
         return clientsList, ""
 
+    def enableWebrepl(self, password):
+        """
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+
+        @param password password needed to authenticate
+        @type str
+        @return tuple containing a flag indicating success and an error message
+        @rtype tuple of (bool, str)
+        """
+        command = """
+def modify_boot():
+    import os
+
+    try:
+        with open('/boot.py', 'r') as old_f, open('/boot.py.tmp', 'w') as new_f:
+            found = False
+            for l in old_f.read().splitlines():
+                if 'webrepl' in l:
+                    found = True
+                    if l.startswith('#'):
+                        l = l[1:]
+                new_f.write(l + '\\n')
+            if not found:
+                new_f.write('\\nimport webrepl\\nwebrepl.start()\\n')
+
+        os.remove('/boot.py')
+        os.rename('/boot.py.tmp', '/boot.py')
+    except:
+        pass
+
+    print(True)
+
+modify_boot()
+del modify_boot
+"""
+
+        try:
+            # write config file
+            config = "PASS = {0}\n".format(repr(password))
+            self.putData("/webrepl_cfg.py", config.encode("utf-8"))
+        except OSError as err:
+            return False, str(err)
+
+        # modify boot.py
+        out, err = self.executeCommands(command, mode=self._submitMode)
+        if err:
+            return False, err
+
+        return out.decode("utf-8").strip() == "True", ""
+
+    def disableWebrepl(self):
+        """
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+
+        @return tuple containing a flag indicating success and an error message
+        @rtype tuple of (bool, str)
+        """
+        command = """
+def modify_boot():
+    import os
+
+    try:
+        with open('/boot.py', 'r') as old_f, open('/boot.py.tmp', 'w') as new_f:
+            for l in old_f.read().splitlines():
+                if 'webrepl' in l:
+                    if not l.startswith('#'):
+                        l = '#' + l
+                new_f.write(l + '\\n')
+
+        os.remove('/boot.py')
+        os.rename('/boot.py.tmp', '/boot.py')
+    except:
+        pass
+
+    print(True)
+
+modify_boot()
+del modify_boot
+"""
+
+        # modify boot.py
+        out, err = self.executeCommands(command, mode=self._submitMode)
+        if err:
+            return False, err
+
+        return out.decode("utf-8").strip() == "True", ""
+
     ##################################################################
     ## Methods below implement Bluetooth related methods
     ##################################################################
--- a/src/eric7/MicroPython/Devices/RP2040Devices.py	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/MicroPython/Devices/RP2040Devices.py	Sat May 06 19:23:10 2023 +0200
@@ -1172,6 +1172,99 @@
         clientsList = ast.literal_eval(out.decode("utf-8"))
         return clientsList, ""
 
+    def enableWebrepl(self, password):
+        """
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+
+        @param password password needed to authenticate
+        @type str
+        @return tuple containing a flag indicating success and an error message
+        @rtype tuple of (bool, str)
+        """
+        command = """
+def modify_boot():
+    import os
+
+    try:
+        with open('/boot.py', 'r') as old_f, open('/boot.py.tmp', 'w') as new_f:
+            found = False
+            for l in old_f.read().splitlines():
+                if 'webrepl' in l:
+                    found = True
+                    if l.startswith('#'):
+                        l = l[1:]
+                new_f.write(l + '\\n')
+            if not found:
+                new_f.write('\\nimport webrepl\\nwebrepl.start()\\n')
+
+        os.remove('/boot.py')
+        os.rename('/boot.py.tmp', '/boot.py')
+    except:
+        pass
+
+    print(True)
+
+modify_boot()
+del modify_boot
+"""
+
+        if self._deviceData["wifi_type"] == "picow":
+            config = "PASS = {0}\n".format(repr(password))
+        else:
+            return False, self.tr("WebREPL is not supported on this device.")
+
+        try:
+            # write config file
+            self.putData("/webrepl_cfg.py", config.encode("utf-8"))
+        except OSError as err:
+            return False, str(err)
+
+        # modify boot.py
+        out, err = self.executeCommands(command, mode=self._submitMode)
+        if err:
+            return False, err
+
+        return out.decode("utf-8").strip() == "True", ""
+
+    def disableWebrepl(self):
+        """
+        Public method to write the given WebREPL password to the connected device and
+        modify the start script to start the WebREPL server.
+
+        @return tuple containing a flag indicating success and an error message
+        @rtype tuple of (bool, str)
+        """
+        command = """
+def modify_boot():
+    import os
+
+    try:
+        with open('/boot.py', 'r') as old_f, open('/boot.py.tmp', 'w') as new_f:
+            for l in old_f.read().splitlines():
+                if 'webrepl' in l:
+                    if not l.startswith('#'):
+                        l = '#' + l
+                new_f.write(l + '\\n')
+
+        os.remove('/boot.py')
+        os.rename('/boot.py.tmp', '/boot.py')
+    except:
+        pass
+
+    print(True)
+
+modify_boot()
+del modify_boot
+"""
+
+        # modify boot.py
+        out, err = self.executeCommands(command, mode=self._submitMode)
+        if err:
+            return False, err
+
+        return out.decode("utf-8").strip() == "True", ""
+
     ##################################################################
     ## Methods below implement Ethernet related methods
     ##################################################################
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/MicroPythonWebreplParametersDialog.py	Sat May 06 19:23:10 2023 +0200
@@ -0,0 +1,55 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2023 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a dialog to enter the parameters for the WebREPL server.
+"""
+
+from PyQt6.QtCore import pyqtSlot
+from PyQt6.QtWidgets import QDialog, QDialogButtonBox
+
+from .Ui_MicroPythonWebreplParametersDialog import Ui_MicroPythonWebreplParametersDialog
+
+
+class MicroPythonWebreplParametersDialog(
+    QDialog, Ui_MicroPythonWebreplParametersDialog
+):
+    """
+    Class implementing a dialog to enter the parameters for the WebREPL server.
+    """
+
+    def __init__(self, parent=None):
+        """
+        Constructor
+
+        @param parent reference to the parent widget (defaults to None)
+        @type QWidget (optional)
+        """
+        super().__init__(parent)
+        self.setupUi(self)
+
+        self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(False)
+
+        self.passwordEdit.textChanged.connect(self.__updateOk)
+        self.passwordConfirmEdit.textChanged.connect(self.__updateOk)
+
+    @pyqtSlot()
+    def __updateOk(self):
+        """
+        Private slot to update the enabled state of the OK button.
+        """
+        pw = self.passwordEdit.text()
+        self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled(
+            4 <= len(pw) <= 9 and self.passwordConfirmEdit.text() == pw
+        )
+
+    def getParameters(self):
+        """
+        Public method to retrieve the entered data.
+
+        @return tuple containing the password
+        @rtype tuple of (str,)
+        """
+        return (self.passwordEdit.text(),)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/eric7/MicroPython/MicroPythonWebreplParametersDialog.ui	Sat May 06 19:23:10 2023 +0200
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MicroPythonWebreplParametersDialog</class>
+ <widget class="QDialog" name="MicroPythonWebreplParametersDialog">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>400</width>
+    <height>108</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>WebREPL Server Parameters</string>
+  </property>
+  <property name="sizeGripEnabled">
+   <bool>true</bool>
+  </property>
+  <layout class="QGridLayout" name="gridLayout">
+   <item row="0" column="0">
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>Password (4-9 characters):</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="1">
+    <widget class="QLineEdit" name="passwordEdit">
+     <property name="toolTip">
+      <string>Enter the password for the device WebREPL server.</string>
+     </property>
+     <property name="maxLength">
+      <number>9</number>
+     </property>
+     <property name="echoMode">
+      <enum>QLineEdit::Password</enum>
+     </property>
+     <property name="clearButtonEnabled">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0">
+    <widget class="QLabel" name="label_2">
+     <property name="text">
+      <string>Confirm Password:</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="1">
+    <widget class="QLineEdit" name="passwordConfirmEdit">
+     <property name="toolTip">
+      <string>Repeat the WebREPL server password.</string>
+     </property>
+     <property name="maxLength">
+      <number>9</number>
+     </property>
+     <property name="echoMode">
+      <enum>QLineEdit::Password</enum>
+     </property>
+     <property name="clearButtonEnabled">
+      <bool>true</bool>
+     </property>
+    </widget>
+   </item>
+   <item row="2" column="0" colspan="2">
+    <widget class="QDialogButtonBox" name="buttonBox">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="standardButtons">
+      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <resources/>
+ <connections>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>accepted()</signal>
+   <receiver>MicroPythonWebreplParametersDialog</receiver>
+   <slot>accept()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>248</x>
+     <y>254</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>157</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+  <connection>
+   <sender>buttonBox</sender>
+   <signal>rejected()</signal>
+   <receiver>MicroPythonWebreplParametersDialog</receiver>
+   <slot>reject()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>316</x>
+     <y>260</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>286</x>
+     <y>274</y>
+    </hint>
+   </hints>
+  </connection>
+ </connections>
+</ui>
--- a/src/eric7/MicroPython/WifiDialogs/WifiController.py	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/MicroPython/WifiDialogs/WifiController.py	Sat May 06 19:23:10 2023 +0200
@@ -54,6 +54,9 @@
         wifiMenu.addSeparator()
         wifiMenu.addAction(self.tr("Write WiFi Credentials"), self.__writeCredentials)
         wifiMenu.addAction(self.tr("Remove WiFi Credentials"), self.__removeCredentials)
+        if not self.__mpy.getDevice().hasCircuitPython():
+            wifiMenu.addAction(self.tr("Enable WebREPL"), self.__enableWebrepl)
+            wifiMenu.addAction(self.tr("Disable WebREPL"), self.__disableWebrepl)
         wifiMenu.addSeparator()
         wifiMenu.addAction(self.tr("Start WiFi Access Point"), self.__startAccessPoint)
         wifiMenu.addAction(
@@ -455,3 +458,71 @@
                     self.tr("Set Network Time"),
                     msg,
                 )
+
+    @pyqtSlot()
+    def __enableWebrepl(self):
+        """
+        Private slot to enable the WebREPL server of the device.
+
+        This will also modify the boot script.
+        """
+        from ..MicroPythonWebreplParametersDialog import (
+            MicroPythonWebreplParametersDialog,
+        )
+
+        dlg = MicroPythonWebreplParametersDialog()
+        if dlg.exec() == QDialog.DialogCode.Accepted:
+            (password,) = dlg.getParameters()
+            success, error = self.__mpy.getDevice().enableWebrepl(password)
+            if success:
+                EricMessageBox.information(
+                    None,
+                    self.tr("Enable WebREPL"),
+                    self.tr(
+                        "<p>The WebREPL server of the device will be activated after a"
+                        " reboot.</p>"
+                    ),
+                )
+            else:
+                EricMessageBox.critical(
+                    None,
+                    self.tr("Enable WebREPL"),
+                    self.tr(
+                        "<p>The WebREPL server of the device could not be enabled.</p>"
+                        "<p>Reason: {0}</p>"
+                    ).format(error if error else self.tr("unknown")),
+                )
+
+    @pyqtSlot()
+    def __disableWebrepl(self):
+        """
+        Private slot to disable the WebREPL server of the device.
+
+        This will not remove the 'webrepl_cfg.py' file. It will just modify the boot
+        script.
+        """
+        ok = EricMessageBox.yesNo(
+            None,
+            self.tr("Disable WebREPL"),
+            self.tr("Shall the WebREPL server of the device really be disabled?"),
+        )
+        if ok:
+            success, error = self.__mpy.getDevice().disableWebrepl()
+            if success:
+                EricMessageBox.information(
+                    None,
+                    self.tr("Disable WebREPL"),
+                    self.tr(
+                        "<p>The WebREPL server of the device will not be enabled"
+                        " at boot time anymore.</p>"
+                    ),
+                )
+            else:
+                EricMessageBox.critical(
+                    None,
+                    self.tr("Disable WebREPL"),
+                    self.tr(
+                        "<p>The WebREPL server of the device could not be disabled."
+                        "</p><p>Reason: {0}</p>"
+                    ).format(error if error else self.tr("unknown")),
+                )
--- a/src/eric7/i18n/eric7_cs.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_cs.ts	Sat May 06 19:23:10 2023 +0200
@@ -1845,22 +1845,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished">Ano</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished">Ne</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished">ano</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished">ne</translation>
     </message>
@@ -20607,8 +20607,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20619,7 +20619,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20670,8 +20670,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20742,57 +20742,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished">Aktivní</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">Jméno</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -50998,6 +50998,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69484,47 +69512,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished">Aktivní</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished">Status</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -84087,19 +84120,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -84109,29 +84142,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished">Zobrazit zdroj</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -84438,87 +84471,87 @@
       <translation type="unfinished">Běží</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">Příprava soupravy testu</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished">běžící</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -100687,22 +100720,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -100713,214 +100746,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished">neznámý</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
Binary file src/eric7/i18n/eric7_de.qm has changed
--- a/src/eric7/i18n/eric7_de.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_de.ts	Sat May 06 19:23:10 2023 +0200
@@ -1788,22 +1788,22 @@
       <translation>Befehl wird nicht unterstützt.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation>Ja</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation>Nein</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation>ja</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation>nein</translation>
     </message>
@@ -20533,8 +20533,8 @@
       <translation>Zeige MicroPython Versionen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation>Flash löschen</translation>
@@ -20545,7 +20545,7 @@
       <translation>MicroPython Firmware flashen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation>Zusätzliche Firmware flashen</translation>
@@ -20596,8 +20596,8 @@
       <translation>Ausgabe von 'esptool read_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation>Ausgabe von 'esptool write_flash'</translation>
@@ -20668,57 +20668,57 @@
       <translation>unbekannt ({0})</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation>Aktiv</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation>Name</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation>MAC-Addresse</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation>Adresstyp</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation>Öffentlich</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation>Zufällig</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation>MTU</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation>{0} Bytes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation>Soll der Flashspeicher des ausgewählten Gerätes wirklich gelöscht werden?</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation>Ausgabe von 'esptool erase_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation>µPy/CPy Firmware flashen</translation>
     </message>
@@ -50878,6 +50878,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation>WebREPL Server Parameter</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation>Kennwort (4-9 Zeichen):</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation>Gib das Kennwort für den WebREPL Server des Gerätes ein.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation>Kennwortbestätigung:</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation>Wiederhole das Kennwort des WebREPL Servers.</translation>
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69138,47 +69166,52 @@
       <translation>Pico Wireless unterstützt nicht die Ermittlung verbundener Geräte.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation>WebREPL wird auf diesem Gerät nicht unterstützt.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation>Aktiv</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation>Verbunden</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation>Status</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation>Hostname</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation>IPv4 Adresse</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation>Netzmaske</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation>Gateway</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation>DNS</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation>MAC-Addresse</translation>
     </message>
@@ -83807,12 +83840,12 @@
       <translation>Dauer [ms]</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation>Keine Ergebnisse zum Anzeigen</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation>
         <numerusform>%n Test ermittelt</numerusform>
@@ -83820,7 +83853,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation>
         <numerusform>%n Test/Subtest gesamt, {0} fehlgeschlagen, {1} erfolgreich, {2} übersprungen, {3} anstehend</numerusform>
@@ -83831,29 +83864,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation>Einklappen</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation>Ausklappen</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation>Zeige Quelltext</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation>Alle einklappen</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation>Alle aufklappen</translation>
     </message>
@@ -84164,68 +84197,68 @@
       <translation>Aktiv</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation>Python3 Dateien ({0});;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Python-Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Versionen der Testrahmen und ihrer Erweiterungen&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation>Keine Versionsinformationen verfügbar.</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation>Versionen</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation>Bereite Testlauf vor</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation>ausstehend</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation>Fehlschlag</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation>Ermittlungsfehler</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Es gab einen Fehler während der Testermittlung.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation>läuft</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>%n Test in {0}s ausgeführt</numerusform>
@@ -84233,7 +84266,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>%n Test ausgeführt</numerusform>
@@ -84241,12 +84274,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation>nicht ausgeführt</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation>Ausgabe Testlauf</translation>
     </message>
@@ -100469,22 +100502,22 @@
       <translation>Zeige WLAN Status</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation>WLAN verbinden</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation>Internetverbindung prüfen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation>WLAN trennen</translation>
@@ -100495,214 +100528,256 @@
       <translation>Netzwerkscan</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation>WLAN Berechtigungen schreiben</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation>WLAN Berechtigungen löschen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation>WebREPL aktivieren</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation>WebREPL deaktivieren</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation>WLAN Access Point starten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation>WLAN Access Point mit IP starten</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation>Zeige verbundene Geräte</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation>WLAN Access Point stoppen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation>Deaktiviere Geräteschnittstelle</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation>Deaktiviere Access Point Schnittstelle</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation>Netzwerkzeit setzen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät wurde erfolgreich mit &lt;b&gt;{0}&lt;/b&gt; verbunden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät konnte nicht mit &lt;b&gt;{0}&lt;/b&gt; verbunden werden.&lt;/p&gt;&lt;p&gt;Ursache: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation>unbekannt</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät wurde vom WLAN Netzwerk getrennt.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät konnte nicht getrennt werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Die Internetverbindung ist &lt;b&gt;verfügbar&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Die Internetverbindung ist &lt;b&gt;verfügbar&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Internetverbindung ist &lt;b&gt;nicht verfügbar&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Internet ist nicht verfügbar.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die WLAN Berechtigungen wurden auf dem Gerät gespeichert. Das Gerät wird sich beim Start mit dem WLAN Netzwerk verbinden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die WLAN Berechtigungen wurden auf dem Gerät gespeichert. Verwende das Skript durch einen simplen Import.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die WLAN Berechtigungen konnten nicht auf dem Gerät gespeichert werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation>Sollen die gespeicherten WLAN Berechtigungen wirklich vom verbundenen Gerät gelöscht werden?</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die WLAN Berechtigungen wurden auf dem Gerät gelöscht. Das Gerät wird sich beim Start nicht mehr mit dem WLAN Netzwerk verbinden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die WLAN Berechtigungen konnten nicht auf dem Gerät gelöscht werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation>Die WLAN Access Point Schnittstelle wurde erfolgreich gestartet.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Der WLAN Access Point konnte nicht gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation>Die WLAN Access Point Schnittstelle wurde erfolgreich gestoppt.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Der WLAN Access Point konnte nicht gestoppt werden.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation>Es sind keine Geräte mit dem Access Point verbunden.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation>WLAN Schnittstelle deaktivieren</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation>Die WLAN Schnittstelle wurde erfolgreich deaktiviert.</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation>Die WLAN Access Point Schnittstelle wurde erfolgreich gestoppt.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Der WLAN Access Point konnte nicht gestoppt werden.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation>Es sind keine Geräte mit dem Access Point verbunden.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation>WLAN Schnittstelle deaktivieren</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation>Die WLAN Schnittstelle wurde erfolgreich deaktiviert.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die WLAN Schnittstelle konnte nicht deaktiviert werden.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät unterstützt nicht die Netzwerkzeitsynchronisation. Das Modul &lt;b&gt;adafruit_ntp&lt;/b&gt; ist nicht installiert.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Das Gerät unterstützt nicht die Netzwerkzeitsynchronisation. Das Modul &lt;b&gt;ntptime&lt;/b&gt; ist nicht verfügbar.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation>Die Gerätezeit wurde erfolgreich synchronisiert.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Gerätezeit konnte nicht synchronisiert werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Die Gerätezeit konnte nicht synchronisiert werden. Ist das Gerät mit einem WLAN Netzwerk verbunden?&lt;/p&gt;</translation>
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Der WebREPL Server des Gerätes wird nach einem Neustart aktiviert.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Der WebREPL Server des Gerätes konnte nicht aktiviert werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation>Soll der WebREPL Server des Gerätes wirklich deaktiviert werden?</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation>&lt;p&gt; Der WebREPL Server des Geräts wird nicht mehr beim Start aktiviert. &lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation>&lt;p&gt; Der WebREPL Server des Geräts konnte nicht deaktiviert werden. &lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_empty.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_empty.ts	Sat May 06 19:23:10 2023 +0200
@@ -1771,22 +1771,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished" />
     </message>
@@ -20412,8 +20412,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20424,7 +20424,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20475,8 +20475,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20547,57 +20547,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -50640,6 +50640,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -68725,47 +68753,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -83249,19 +83282,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -83271,29 +83304,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -83600,87 +83633,87 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -99798,22 +99831,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -99824,214 +99857,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_en.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_en.ts	Sat May 06 19:23:10 2023 +0200
@@ -1771,22 +1771,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished" />
     </message>
@@ -20428,8 +20428,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20440,7 +20440,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20491,8 +20491,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20563,57 +20563,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation>Name</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -50682,6 +50682,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -68779,47 +68807,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -83304,12 +83337,12 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation>
         <numerusform>Collected %n test</numerusform>
@@ -83317,7 +83350,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation>
         <numerusform>%n test)/subtest total, {0} failed, {1} passed, {2} skipped, {3} pending</numerusform>
@@ -83328,29 +83361,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -83657,68 +83690,68 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>Ran %n test in {0}s</numerusform>
@@ -83726,7 +83759,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>Ran %n test</numerusform>
@@ -83734,12 +83767,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -99860,22 +99893,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -99886,214 +99919,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_es.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_es.ts	Sat May 06 19:23:10 2023 +0200
@@ -1785,22 +1785,22 @@
       <translation>Operación no soportada.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation>Si</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation>No</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation>si</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation>no</translation>
     </message>
@@ -20538,8 +20538,8 @@
       <translation>Mostrar Versiones de MicroPython</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation>Borrar Flash</translation>
@@ -20550,7 +20550,7 @@
       <translation>Flash MicroPython Firmware</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation>Flash Additional Firmware</translation>
@@ -20601,8 +20601,8 @@
       <translation>Salida de 'esptool read_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation>Salida de 'esptool write_flash'</translation>
@@ -20673,57 +20673,57 @@
       <translation>desconocido ({0})</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation>Activo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation>Nombre</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation>Dirección MAC</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation>Tipo de Dirección</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation>Pública</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation>Aleatoria</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation>MTU</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation>{0} Bytes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation>¿Borrar el flash del dispositivo seleccionado?</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation>Salida de 'esptool erase_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation>Flash Firmware µPy/CPy</translation>
     </message>
@@ -50894,6 +50894,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69150,47 +69178,52 @@
       <translation>La red inalámbrica Pico no soporta información de clientes conectados.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation>Activa</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation>conectada</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation>Estado</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation>Nombre de Host</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation>Dirección IPv4</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation>Máscara de Red</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation>Gateway</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation>DNS</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation>Dirección MAC</translation>
     </message>
@@ -83823,12 +83856,12 @@
       <translation>Duración [ms]</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation>No hay resultados que mostrar</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation>
         <numerusform>Recogidos %n test</numerusform>
@@ -83836,7 +83869,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation>
         <numerusform>%n test/subtest en total, {0} fallado(s) {1} pasado(s), {2} ignorado(a), {3} pendiente(s)</numerusform>
@@ -83847,29 +83880,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation>Contraer</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation>Expandir</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation>Mostrar código fuente</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation>Contraer Todo</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation>Expandir Todo</translation>
     </message>
@@ -84178,68 +84211,68 @@
       <translation>Ejecutando</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation>Archivos de Python3 ({0});;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Archivos Python (*.py);;Todos los Archivos (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Versiones de los Frameworks y sus correspondientes Plugins&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation>No hay información de versión disponible.</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation>Versiones</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation>Preparando Suite de Tests</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation>pendiente</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation>Fallo</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation>Error de Recolección</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Ha habido un error mientras se recolectaban los tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation>en ejecución</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>Ejecutado %n test en {0}s</numerusform>
@@ -84247,7 +84280,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>Ejecutado %n test</numerusform>
@@ -84255,12 +84288,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation>no ejecutado</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation>Salida de Ejecución de Test</translation>
     </message>
@@ -100483,22 +100516,22 @@
       <translation>Mostrar Estado de WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation>Conectar WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation>Comprobar Conexión Internet</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation>Desconectar WiFi</translation>
@@ -100509,214 +100542,256 @@
       <translation>Escanear Redes</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation>Escribir Credenciales WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation>Borrar Credenciales WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation>Iniciar Punto de Acceso de WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation>Iniciar Punto de Acceso de WiFi con IP</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation>Mostrar Clientes Conectados</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation>Detener Punto de Acceso de WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation>Desactivar Interfaz de Cliente</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation>Desactivar Interfaz de Punto de Acceso</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation>Establecer Tiempo de Red</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo se ha conectado a &lt;b&gt;{0}&lt;/b&gt; con éxito.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo no se ha podido conectar a &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Razón: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation>desconocido</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo se ha desconectado de la red WiFi.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo no se ha podido desconectar.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;La conexión a internet está &lt;b&gt;disponible&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;La conexión a internet está &lt;b&gt;disponible&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;La conexión a internet está &lt;b&gt;no disponible&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Internet no está disponible.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Las credenciales WiFi se han guardado en el dispositivo. El dispositivo se conectará a la WiFi durante su puesta en marcha.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Las credenciales WiFi y un scrip de conexión se han guardado en el dispositivo. Utilizar el script simplemente importándolo.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Las credenciales WiFi no se han podido guardar en el dispositivo.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation>¿Se deben eliminar las credenciales de WiFi guardadas del dispositivo conectado?</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Las credenciales WiFi se han eliminado del dispositivo. El dispositivo ya no se conectará a la LAN durante su puesta en marcha.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Las credenciales WiFi no se han podido eliminar del dispositivo.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation>La interfaz de Punto de Acceso WiFi se ha iniciado con éxito.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El Punto de Acceso WiFi no se ha podido iniciar.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation>La interfaz de Punto de Acceso WiFi se ha detenido con éxito.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;El Punto de Acceso WiFi no se ha podido detener.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation>No hay clientes conectados al punto de acceso.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation>Desactivar Interfaz WiFi</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation>La interfaz WiFi se ha desactivado con éxito.</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation>La interfaz de Punto de Acceso WiFi se ha detenido con éxito.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;El Punto de Acceso WiFi no se ha podido detener.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation>No hay clientes conectados al punto de acceso.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation>Desactivar Interfaz WiFi</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation>La interfaz WiFi se ha desactivado con éxito.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation>&lt;p&gt;La interfaz WiFi no se ha podido desactivar.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo no soporta sincronización de tiempo de red. El módulo &lt;b&gt;{0}&lt;/b&gt; no está instalado.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation>&lt;p&gt;El dispositivo no soporta sincronización de tiempo de red. El módulo &lt;b&gt;ntptime&lt;/b&gt; no está instalado.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation>La fecha/hora del dispositivo se ha sincronizado con éxito.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;La fecha/hora del dispositivo no se ha podido sincronizar.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation>&lt;p&gt;La fecha/hora del dispositivo no se ha podido sincronizar. ¿Está el dispositivo conectado a una red WiFi?&lt;/p&gt;</translation>
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_fr.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_fr.ts	Sat May 06 19:23:10 2023 +0200
@@ -1876,22 +1876,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished">Oui</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished">Non</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished">oui</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished">non</translation>
     </message>
@@ -20695,8 +20695,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20707,7 +20707,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20758,8 +20758,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20830,57 +20830,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished">Actif</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">Nom</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -51192,6 +51192,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69812,47 +69840,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished">Actif</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished">Etat (status)</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -84522,19 +84555,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -84544,29 +84577,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished">Contracter</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished">Déployer</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished">Afficher les sources</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished">Tout contracter</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -84873,87 +84906,87 @@
       <translation type="unfinished">En cours d'execution</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished">Fichiers Python3({0});; Tous les fichiers (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Fichiers Python (*.py);;Tous les fichiers (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished">Pas d'information de version disponible.</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">Préparation de Testsuite</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished">en cours</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -101174,22 +101207,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -101200,214 +101233,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished">inconnu</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_it.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_it.ts	Sat May 06 19:23:10 2023 +0200
@@ -1849,22 +1849,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished">Si</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished">No</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished">si</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished">no</translation>
     </message>
@@ -20665,8 +20665,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20677,7 +20677,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20728,8 +20728,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20800,57 +20800,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished">Attivo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">Nome</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -51119,6 +51119,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69613,47 +69641,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished">Attivo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished">Stato</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -84254,19 +84287,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -84276,29 +84309,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished">Mostra sorgenti</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -84605,87 +84638,87 @@
       <translation type="unfinished">In esecuzione</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">File Python (*.py);;Tutti i File (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">Preparazione Testsuite</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished">in esecuzione</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -100847,22 +100880,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -100873,214 +100906,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished">sconosciuto</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_pt.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_pt.ts	Sat May 06 19:23:10 2023 +0200
@@ -1859,22 +1859,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished">Sim</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished">Não</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished">sim</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished">não</translation>
     </message>
@@ -20683,8 +20683,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20695,7 +20695,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20746,8 +20746,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20818,57 +20818,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished">Ativo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">Nome</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished">Público</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -51113,6 +51113,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69467,47 +69495,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished">Ativo</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished">Estado</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -84060,19 +84093,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -84082,29 +84115,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished">Mostrar Fonte</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -84411,87 +84444,87 @@
       <translation type="unfinished">A executar</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">A preparar Suite de Testes</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished">a executar</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -100637,22 +100670,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -100663,214 +100696,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished">desconhecido</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_ru.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_ru.ts	Sat May 06 19:23:10 2023 +0200
@@ -1785,22 +1785,22 @@
       <translation>Операция не поддерживается.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation>Да</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation>Нет</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation>да</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation>нет</translation>
     </message>
@@ -20576,8 +20576,8 @@
       <translation>Показать версии MicroPython</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation>Очистить Flash-память</translation>
@@ -20588,7 +20588,7 @@
       <translation>Прошить микрокод MicroPython</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation>Прошить дополнительный микрокод</translation>
@@ -20639,8 +20639,8 @@
       <translation>Вывод команды 'esptool read_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation>Вывод команды 'esptool write_flash'</translation>
@@ -20711,57 +20711,57 @@
       <translation>неизвестная ({0})</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation>Активно</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation>Имя</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation>MAC-адрес</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation>Тип адреса</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation>Публичный</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation>Случайный</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation>MTU</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation>{0} байт</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation>Действительно ли flash-память выбранного устройства должна быть очищена?</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation>Вывод команды 'esptool erase_flash'</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation>Прошить микропрограмму µPy/CPy</translation>
     </message>
@@ -50962,6 +50962,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69314,47 +69342,52 @@
       <translation>Pico Wireless не поддерживает создание отчетов о подключенных клиентах.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation>Активно</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation>Подключено</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation>Статус</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation>Имя хоста</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation>IPv4-адрес</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation>Сетевая маска</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation>Шлюз</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation>DNS</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation>MAC-адрес</translation>
     </message>
@@ -83996,12 +84029,12 @@
       <translation>Длительность [mсек]</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation>Нет результатов для отображения</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation>
         <numerusform>Собран %n тест</numerusform>
@@ -84010,7 +84043,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation>
         <numerusform>Всего %n тест/субтест, {0} не пройдено, {1} пройдено, {2} пропущено, {3} ожидает</numerusform>
@@ -84022,29 +84055,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation>Свернуть</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation>Развернуть</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation>Показать источник</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation>Свернуть все</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation>Развернуть все</translation>
     </message>
@@ -84354,68 +84387,68 @@
       <translation>Выполнение</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation>Файлы Python3 ({0});;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation>Файлы Python (*.py);;Все файлы (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation>&lt;h3&gt;Версии фреймворков и их плагинов&lt;/h3&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation>Информация о версии недоступна.</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation>Версии</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation>Подготовка набора тестов</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation>ожидает</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation>Сбой</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation>Ошибка сборки</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;При сборке тестов произошла ошибка.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation>выполнение</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation>
         <numerusform>Выполнен %n тест за {0} сек</numerusform>
@@ -84424,7 +84457,7 @@
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation>
         <numerusform>Выполнен %n тест</numerusform>
@@ -84433,12 +84466,12 @@
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation>не выполнено</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation>Выходные данные прогона теста</translation>
     </message>
@@ -100723,22 +100756,22 @@
       <translation>Показать статус WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation>Подключить WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation>Проверить подключение к Интернету</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation>Отключить WiFi</translation>
@@ -100749,214 +100782,256 @@
       <translation>Сканировать сети</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation>Записать учетные данные WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation>Удалить учетные данные WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation>Запустить точку доступа WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation>Запустить точку доступа WiFi с IP</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation>Показать подключенных клиентов</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation>Остановить точку доступа WiFi</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation>Деактивировать клиентский интерфейс</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation>Деактивировать интерфейс точки доступа</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation>Установить сетевое время</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Устройство успешно подключено к &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Устройство не удалось подключить к &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Причина: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation>неизвестно</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Устройство было отключено от сети WiFi.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось отключить устройство.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Подключение к интернету &lt;b&gt;доступно&lt;/b&gt;.&lt;/p&gt;</translation>
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Подключение к интернету &lt;b&gt;доступно&lt;/b&gt;.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Подключение к интернету &lt;b&gt;недоступно&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Интернет недоступен.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Учетные данные WiFi сохранены на устройстве. Устройство подключится к сети WiFi во время загрузки.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Учетные данные WiFi и сценарий подключения были сохранены на устройстве. Для его использования просто импортировав его.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось сохранить учетные данные WiFi на устройстве.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation>Действительно ли сохраненные учетные данные WiFi будут удалены с подключенного устройства?</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Учетные данные WiFi удалены с устройства. Устройство больше не будет подключаться к сети WiFi во время загрузки.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось удалить учетные данные WiFi с устройства.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation>Интерфейс точки доступа WiFi успешно запущен.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось запустить точку доступа WiFi.&lt;/p&gt;</translation>
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation>Интерфейс точки доступа WiFi был успешно остановлен.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation>&lt;p&gt;Не удалось остановить точку доступа WiFi.&lt;/p&gt;</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation>К точке доступа не подключены клиенты.</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation>Деактивировать WiFi-интерфейс</translation>
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation>Интерфейс WiFi был успешно деактивирован.</translation>
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation>Интерфейс точки доступа WiFi был успешно остановлен.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation>&lt;p&gt;Не удалось остановить точку доступа WiFi.&lt;/p&gt;</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation>К точке доступа не подключены клиенты.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation>Деактивировать WiFi-интерфейс</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation>Интерфейс WiFi был успешно деактивирован.</translation>
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось отключить интерфейс WiFi.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Устройство не поддерживает синхронизацию времени по сети. Модуль &lt;b&gt;adafruit_ntp&lt;/b&gt; не установлен.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation>&lt;p&gt;Устройство не поддерживает синхронизацию времени по сети. Модуль &lt;b&gt;ntptime&lt;/b&gt; недоступен.&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation>Время устройства успешно синхронизировано.</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось синхронизировать время устройства.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation>&lt;p&gt;Не удалось синхронизировать время устройства. Подключено ли устройство к сети WiFi?&lt;/p&gt;</translation>
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_tr.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_tr.ts	Sat May 06 19:23:10 2023 +0200
@@ -1846,22 +1846,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished">Evet</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished">Hayır</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished">evet</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished">no</translation>
     </message>
@@ -20600,8 +20600,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20612,7 +20612,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20663,8 +20663,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20735,57 +20735,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished">Aktif</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">Adı</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -50985,6 +50985,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69379,47 +69407,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished">Aktif</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished">Durum</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -83973,19 +84006,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -83995,29 +84028,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished">Kaynağı Göster</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -84324,87 +84357,87 @@
       <translation type="unfinished">Çalışıyor</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished">Python Dosyaları (*.py);;Tüm Dosyalar (*)</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished">çalışıyor</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -100543,22 +100576,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -100569,214 +100602,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished">bilinmeyen</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>
--- a/src/eric7/i18n/eric7_zh_CN.ts	Sat May 06 15:15:27 2023 +0200
+++ b/src/eric7/i18n/eric7_zh_CN.ts	Sat May 06 19:23:10 2023 +0200
@@ -1874,22 +1874,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>Yes</source>
       <translation type="unfinished">是</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1787" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1809" />
       <source>No</source>
       <translation type="unfinished">否</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>yes</source>
       <translation type="unfinished">是</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/DeviceBase.py" line="1789" />
+      <location filename="../MicroPython/Devices/DeviceBase.py" line="1811" />
       <source>no</source>
       <translation type="unfinished">否</translation>
     </message>
@@ -20676,8 +20676,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1494" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1478" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1583" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1567" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="196" />
       <source>Erase Flash</source>
       <translation type="unfinished" />
@@ -20688,7 +20688,7 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1579" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1668" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="203" />
       <source>Flash Additional Firmware</source>
       <translation type="unfinished" />
@@ -20739,8 +20739,8 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1578" />
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1537" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1667" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1626" />
       <location filename="../MicroPython/Devices/EspDevices.py" line="363" />
       <source>'esptool write_flash' Output</source>
       <translation type="unfinished" />
@@ -20811,57 +20811,57 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1200" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1289" />
       <source>Active</source>
       <translation type="unfinished">活动的</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1201" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1290" />
       <source>Name</source>
       <translation type="unfinished">名称</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1202" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1291" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1205" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1294" />
       <source>Address Type</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Public</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1206" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1295" />
       <source>Random</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>MTU</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1209" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1298" />
       <source>{0} Bytes</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1479" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1568" />
       <source>Shall the flash of the selected device really be erased?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1493" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1582" />
       <source>'esptool erase_flash' Output</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/EspDevices.py" line="1538" />
+      <location filename="../MicroPython/Devices/EspDevices.py" line="1627" />
       <source>Flash µPy/CPy Firmware</source>
       <translation type="unfinished" />
     </message>
@@ -51091,6 +51091,34 @@
     </message>
   </context>
   <context>
+    <name>MicroPythonWebreplParametersDialog</name>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>WebREPL Server Parameters</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Password (4-9 characters):</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Enter the password for the device WebREPL server.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Confirm Password:</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/MicroPythonWebreplParametersDialog.ui" line="0" />
+      <source>Repeat the WebREPL server password.</source>
+      <translation type="unfinished" />
+    </message>
+  </context>
+  <context>
     <name>MicroPythonWebreplUrlAddEditDialog</name>
     <message>
       <location filename="../MicroPython/MicroPythonWebreplUrlAddEditDialog.ui" line="0" />
@@ -69629,47 +69657,52 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1248" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1215" />
+      <source>WebREPL is not supported on this device.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1341" />
       <source>Active</source>
       <translation type="unfinished">活动的</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1249" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1342" />
       <source>Connected</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1252" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1345" />
       <source>Status</source>
       <translation type="unfinished">状态</translation>
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1256" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1349" />
       <source>Hostname</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1257" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1350" />
       <source>IPv4 Address</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1258" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1351" />
       <source>Netmask</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1259" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1352" />
       <source>Gateway</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1260" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1353" />
       <source>DNS</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1261" />
+      <location filename="../MicroPython/Devices/RP2040Devices.py" line="1354" />
       <source>MAC-Address</source>
       <translation type="unfinished" />
     </message>
@@ -84300,19 +84333,19 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="392" />
+      <location filename="../Testing/TestResultsTree.py" line="400" />
       <source>No results to show</source>
       <translation type="unfinished" />
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="403" />
+      <location filename="../Testing/TestResultsTree.py" line="411" />
       <source>Collected %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestResultsTree.py" line="405" />
+      <location filename="../Testing/TestResultsTree.py" line="413" />
       <source>%n test(s)/subtest(s) total, {0} failed, {1} passed, {2} skipped, {3} pending</source>
       <translation type="unfinished">
         <numerusform />
@@ -84322,29 +84355,29 @@
   <context>
     <name>TestResultsTreeView</name>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="591" />
+      <location filename="../Testing/TestResultsTree.py" line="597" />
       <source>Collapse</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="593" />
+      <location filename="../Testing/TestResultsTree.py" line="599" />
       <source>Expand</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="598" />
+      <location filename="../Testing/TestResultsTree.py" line="604" />
       <source>Show Source</source>
       <translation type="unfinished">显示源代码</translation>
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="616" />
-      <location filename="../Testing/TestResultsTree.py" line="603" />
+      <location filename="../Testing/TestResultsTree.py" line="622" />
+      <location filename="../Testing/TestResultsTree.py" line="609" />
       <source>Collapse All</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestResultsTree.py" line="617" />
-      <location filename="../Testing/TestResultsTree.py" line="604" />
+      <location filename="../Testing/TestResultsTree.py" line="623" />
+      <location filename="../Testing/TestResultsTree.py" line="610" />
       <source>Expand All</source>
       <translation type="unfinished" />
     </message>
@@ -84651,87 +84684,87 @@
       <translation type="unfinished">正在运行</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="637" />
+      <location filename="../Testing/TestingWidget.py" line="639" />
       <source>Python3 Files ({0});;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="642" />
+      <location filename="../Testing/TestingWidget.py" line="644" />
       <source>Python Files (*.py);;All Files (*)</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="800" />
+      <location filename="../Testing/TestingWidget.py" line="802" />
       <source>&lt;h3&gt;Versions of Frameworks and their Plugins&lt;/h3&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="814" />
+      <location filename="../Testing/TestingWidget.py" line="816" />
       <source>&lt;tr&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="823" />
+      <location filename="../Testing/TestingWidget.py" line="825" />
       <source>No version information available.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="826" />
+      <location filename="../Testing/TestingWidget.py" line="828" />
       <source>Versions</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="863" />
+      <location filename="../Testing/TestingWidget.py" line="865" />
       <source>Preparing Testsuite</source>
       <translation type="unfinished">准备测试套件</translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="926" />
+      <location filename="../Testing/TestingWidget.py" line="928" />
       <source>pending</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="954" />
+      <location filename="../Testing/TestingWidget.py" line="957" />
       <source>Failure</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="964" />
-      <location filename="../Testing/TestingWidget.py" line="957" />
+      <location filename="../Testing/TestingWidget.py" line="967" />
+      <location filename="../Testing/TestingWidget.py" line="960" />
       <source>Collection Error</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="965" />
+      <location filename="../Testing/TestingWidget.py" line="968" />
       <source>&lt;p&gt;There was an error while collecting tests.&lt;/p&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="986" />
+      <location filename="../Testing/TestingWidget.py" line="990" />
       <source>running</source>
       <translation type="unfinished">运行中</translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1037" />
+      <location filename="../Testing/TestingWidget.py" line="1041" />
       <source>Ran %n test(s) in {0}s</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message numerus="yes">
-      <location filename="../Testing/TestingWidget.py" line="1049" />
+      <location filename="../Testing/TestingWidget.py" line="1053" />
       <source>Ran %n test(s)</source>
       <translation type="unfinished">
         <numerusform />
       </translation>
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1070" />
+      <location filename="../Testing/TestingWidget.py" line="1074" />
       <source>not run</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../Testing/TestingWidget.py" line="1113" />
+      <location filename="../Testing/TestingWidget.py" line="1117" />
       <source>Test Run Output</source>
       <translation type="unfinished" />
     </message>
@@ -100889,22 +100922,22 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="120" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="112" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="122" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="114" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="49" />
       <source>Connect WiFi</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="168" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="162" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="170" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="164" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="50" />
       <source>Check Internet Connection</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="142" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="136" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="144" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="138" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="51" />
       <source>Disconnect WiFi</source>
       <translation type="unfinished" />
@@ -100915,214 +100948,256 @@
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="236" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="227" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="217" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="207" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="238" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="229" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="219" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="209" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="55" />
       <source>Write WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="274" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="264" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="253" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="276" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="266" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="255" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="56" />
       <source>Remove WiFi Credentials</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="315" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="304" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="488" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="479" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="57" />
+      <source>Enable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="522" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="513" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="505" />
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="58" />
+      <source>Disable WebREPL</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="317" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="306" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
       <source>Start WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="60" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="62" />
       <source>Start WiFi Access Point with IP</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="369" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="63" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="371" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
       <source>Show Connected Clients</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="345" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="336" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="65" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="347" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="338" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="67" />
       <source>Stop WiFi Access Point</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="68" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="70" />
       <source>Deactivate Client Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="72" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="74" />
       <source>Deactivate Access Point Interface</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="455" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="439" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="419" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="410" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="76" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="457" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="441" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="421" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="412" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="78" />
       <source>Set Network Time</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="113" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="115" />
       <source>&lt;p&gt;The device was connected to &lt;b&gt;{0}&lt;/b&gt; successfully.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="121" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="123" />
       <source>&lt;p&gt;The device could not connect to &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;&lt;p&gt;Reason: {1}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="278" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="240" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="124" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="526" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="492" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="280" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="242" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="173" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="147" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="126" />
       <source>unknown</source>
       <translation type="unfinished">未知</translation>
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="137" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="139" />
       <source>&lt;p&gt;The device was disconnected from the WiFi network.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="143" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="145" />
       <source>&lt;p&gt;The device could not be disconnected.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="156" />
-      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="158" />
+      <source>&lt;p&gt;The internet connection is &lt;b&gt;available&lt;/b&gt;.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="160" />
       <source>&lt;p&gt;The internet connection is &lt;b&gt;not available&lt;/b&gt;.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="169" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="171" />
       <source>&lt;p&gt;The internet is not available.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="228" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="208" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="230" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="210" />
       <source>&lt;p&gt;The WiFi credentials were saved on the device. The device will connect to the WiFi network at boot time.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="218" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="220" />
       <source>&lt;p&gt;The WiFi credentials and a connect script were saved on the device. Use the script by simply importing it.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="237" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="239" />
       <source>&lt;p&gt;The WiFi credentials could not be saved on the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="254" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="256" />
       <source>Shall the saved WiFi credentials really be removed from the connected device?</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="265" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="267" />
       <source>&lt;p&gt;The WiFi credentials were removed from the device. The device will not connect to the WiFi network at boot time anymore.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="275" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="277" />
       <source>&lt;p&gt;The WiFi credentials could not be removed from the device.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="305" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="307" />
       <source>The WiFi Access Point interface was started successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="310" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
       <source>&lt;p&gt;The WiFi Access Point could not be started.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="393" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="344" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="314" />
+      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="339" />
+      <source>The WiFi Access Point interface was stopped successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
+      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="372" />
+      <source>No clients are connected to the access point.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="396" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="387" />
+      <source>Deactivate WiFi Interface</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="388" />
+      <source>The WiFi interface was deactivated successfully.</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
       <location filename="../MicroPython/WifiDialogs/WifiController.py" line="391" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="342" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="312" />
-      <source>&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="337" />
-      <source>The WiFi Access Point interface was stopped successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="340" />
-      <source>&lt;p&gt;The WiFi Access Point could not be stopped.&lt;/p&gt;</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="370" />
-      <source>No clients are connected to the access point.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="394" />
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="385" />
-      <source>Deactivate WiFi Interface</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="386" />
-      <source>The WiFi interface was deactivated successfully.</source>
-      <translation type="unfinished" />
-    </message>
-    <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="389" />
       <source>&lt;p&gt;The WiFi interface could not be deactivated.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="411" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="413" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;adafruit_ntp&lt;/b&gt; is not installed.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="420" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="422" />
       <source>&lt;p&gt;The device does not support network time synchronization. The module &lt;b&gt;ntptime&lt;/b&gt; is not available.&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="440" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="442" />
       <source>The device time was synchronized successfully.</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="444" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="446" />
       <source>&lt;p&gt;The device time could not be synchronized.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
     <message>
-      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="449" />
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="451" />
       <source>&lt;p&gt;The device time could not be synchronized. Is the device connected to a WiFi network?&lt;/p&gt;</source>
       <translation type="unfinished" />
     </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="480" />
+      <source>&lt;p&gt;The WebREPL server of the device will be activated after a reboot.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="489" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be enabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="506" />
+      <source>Shall the WebREPL server of the device really be disabled?</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="514" />
+      <source>&lt;p&gt;The WebREPL server of the device will not be enabled at boot time anymore.&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
+    <message>
+      <location filename="../MicroPython/WifiDialogs/WifiController.py" line="523" />
+      <source>&lt;p&gt;The WebREPL server of the device could not be disabled.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
+      <translation type="unfinished" />
+    </message>
   </context>
   <context>
     <name>WifiCountryDialog</name>

eric ide

mercurial