diff --git a/README.md b/README.md
index 296825d..4a75373 100644
--- a/README.md
+++ b/README.md
@@ -41,6 +41,7 @@ As an alternative to Wi-Fi (which is available on any supported ESP32), the foll
- [M5Stack Atom POE](https://docs.m5stack.com/en/atom/atom_poe)
- [M5Stack PoESP32 Unit](https://docs.m5stack.com/en/unit/poesp32)
- [LilyGO-T-ETH-POE](https://github.com/Xinyuan-LilyGO/LilyGO-T-ETH-POE)
+- [GL-S10](https://www.gl-inet.com/products/gl-s10/)
Note for users upgrading from Nuki Hub 8.21 or lower:
Please go to "MQTT and Network Configuration" and select "Wi-Fi only" as the network device (unless you use other network hardware).
diff --git a/src/Network.cpp b/src/Network.cpp
index 1e3ecfa..330c2f3 100644
--- a/src/Network.cpp
+++ b/src/Network.cpp
@@ -109,6 +109,10 @@ void Network::setupDevice()
Log->println(F("LilyGO T-ETH-POE"));
_networkDeviceType = NetworkDeviceType::LilyGO_T_ETH_POE;
break;
+ case 8:
+ Log->println(F("GL-S10"));
+ _networkDeviceType = NetworkDeviceType::GL_S10;
+ break;
default:
Log->println(F("Unknown hardware selected, falling back to Wi-Fi."));
_networkDeviceType = NetworkDeviceType::WiFi;
@@ -130,6 +134,9 @@ void Network::setupDevice()
case NetworkDeviceType::M5STACK_PoESP32_Unit:
_device = new EthLan8720Device(_hostname, _preferences, _ipConfiguration, "M5STACK PoESP32 Unit", 1, 5, ETH_PHY_MDC, ETH_PHY_MDIO, ETH_PHY_IP101);
break;
+ case NetworkDeviceType::GL_S10:
+ _device = new EthLan8720Device(_hostname, _preferences, _ipConfiguration, "GL-S10", 1, 5, ETH_PHY_MDC, ETH_PHY_MDIO, ETH_PHY_IP101, ETH_CLOCK_GPIO0_IN);
+ break;
case NetworkDeviceType::LilyGO_T_ETH_POE:
_device = new EthLan8720Device(_hostname, _preferences, _ipConfiguration, "LilyGO T-ETH-POE", 0, -1, ETH_PHY_MDC, ETH_PHY_MDIO, ETH_PHY_TYPE, ETH_CLOCK_GPIO17_OUT);
break;
diff --git a/src/Network.h b/src/Network.h
index 3f99a3b..9db023c 100644
--- a/src/Network.h
+++ b/src/Network.h
@@ -19,7 +19,8 @@ enum class NetworkDeviceType
Olimex_LAN8720,
WT32_LAN8720,
M5STACK_PoESP32_Unit,
- LilyGO_T_ETH_POE
+ LilyGO_T_ETH_POE,
+ GL_S10
};
#define JSON_BUFFER_SIZE 1024
diff --git a/src/WebCfgServer.cpp b/src/WebCfgServer.cpp
index d42e11a..26dd26c 100644
--- a/src/WebCfgServer.cpp
+++ b/src/WebCfgServer.cpp
@@ -2329,7 +2329,8 @@ const std::vector> WebCfgServer::getNetworkDetectionOp
options.push_back(std::make_pair("5", "WT32-ETH01"));
options.push_back(std::make_pair("6", "M5STACK PoESP32 Unit"));
options.push_back(std::make_pair("7", "LilyGO T-ETH-POE"));
-
+ options.push_back(std::make_pair("8", "GL-S10"));
+
return options;
}