diff --git a/src/Config.h b/src/Config.h index 1258509..eb22aa0 100644 --- a/src/Config.h +++ b/src/Config.h @@ -5,7 +5,7 @@ #define NUKI_HUB_VERSION "9.13" #define NUKI_HUB_VERSION_INT (uint32_t)913 #define NUKI_HUB_BUILD "unknownbuildnr" -#define NUKI_HUB_DATE "2025-09-28" +#define NUKI_HUB_DATE "2025-09-29" #define GITHUB_LATEST_RELEASE_URL (char*)"https://github.com/technyon/nuki_hub/releases/latest" #define GITHUB_OTA_MANIFEST_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/manifest.json" diff --git a/src/WebCfgServer.cpp b/src/WebCfgServer.cpp index 3210136..629f6fd 100644 --- a/src/WebCfgServer.cpp +++ b/src/WebCfgServer.cpp @@ -6217,7 +6217,7 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse* PsychicStreamResponse response(resp, "text/html"); response.beginSend(); buildHtmlHeader(&response); - response.print("
");
+ response.print("
System Information
");
response.print("------------ NUKI HUB ------------");
response.print("\nDevice: ");
response.print(NUKI_HUB_HW);
@@ -6381,18 +6381,22 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
response.print("\nInternet connected: ");
response.print(_network->isInternetConnected() ? "Yes" : "No");
- response.print("\nIP Address: ");
+ response.print("\nIP Address: ");
response.print(_network->localIP());
+ response.print("");
if(_network->networkDeviceName() == "Built-in Wi-Fi")
{
#ifndef CONFIG_IDF_TARGET_ESP32H2
- response.print("\nSSID: ");
+ response.print("\nSSID: ");
response.print(WiFi.SSID());
- response.print("\nBSSID of AP: ");
+ response.print("");
+ response.print("\nBSSID of AP: ");
response.print(_network->networkBSSID());
- response.print("\nESP32 MAC address: ");
+ response.print("");
+ response.print("\nESP32 MAC address: ");
response.print(WiFi.macAddress());
+ response.print("");
#endif
}
else
@@ -6410,14 +6414,18 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
else
{
response.print("\nDHCP enabled: No");
- response.print("\nStatic IP address: ");
+ response.print("\nStatic IP address: ");
response.print(_preferences->getString(preference_ip_address, ""));
- response.print("\nStatic IP subnet: ");
+ response.print("");
+ response.print("\nStatic IP subnet: ");
response.print(_preferences->getString(preference_ip_subnet, ""));
- response.print("\nStatic IP gateway: ");
+ response.print("");
+ response.print("\nStatic IP gateway: ");
response.print(_preferences->getString(preference_ip_gateway, ""));
- response.print("\nStatic IP DNS server: ");
+ response.print("");
+ response.print("\nStatic IP DNS server: ");
response.print(_preferences->getString(preference_ip_dns_server, ""));
+ response.print("");
}
if(_network->networkDeviceName() == "Built-in Wi-Fi")
{
@@ -6457,10 +6465,12 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
response.print("\n\n------------ MQTT ------------");
response.print("\nMQTT connected: ");
response.print(_network->mqttConnectionState() > 0 ? "Yes" : "No");
- response.print("\nMQTT broker address: ");
+ response.print("\nMQTT broker address: ");
response.print(_preferences->getString(preference_mqtt_broker, ""));
- response.print("\nMQTT broker port: ");
+ response.print("");
+ response.print("\nMQTT broker port: ");
response.print(_preferences->getInt(preference_mqtt_broker_port, 1883));
+ response.print("");
response.print("\nMQTT username: ");
response.print(_preferences->getString(preference_mqtt_user, "").length() > 0 ? "***" : "Not set");
response.print("\nMQTT password: ");
@@ -6562,10 +6572,12 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
response.print("Yes");
response.print("\nHome Assistant auto discovery topic: ");
response.print(_preferences->getString(preference_mqtt_hass_discovery, "") + "/");
- response.print("\nNuki Hub configuration URL for HA: ");
+ response.print("\nNuki Hub configuration URL for HA: ");
response.print(_preferences->getString(preference_mqtt_hass_cu_url, "").length() > 0 ? _preferences->getString(preference_mqtt_hass_cu_url, "") : "http://" + _network->localIP());
- response.print("\nNuki Hub ID: ");
+ response.print("");
+ response.print("\nNuki Hub ID: ");
response.print(_preferences->getULong64(preference_nukihub_id, 0));
+ response.print("");
}
else
{
@@ -6756,27 +6768,31 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
nukiBlePref.getBytes("authorizationId", authorizationId, 4);
nukiBlePref.end();
response.print("\n\n------------ NUKI LOCK PAIRING ------------");
- response.print("\nBLE Address: ");
+ response.print("\nBLE Address: ");
for (int i = 0; i < 6; i++)
{
sprintf(tmp, "%02x", currentBleAddress[i]);
response.print(tmp);
}
- response.print("\nSecretKeyK: ");
+ response.print("");
+ response.print("\nSecretKeyK: ");
for (int i = 0; i < 32; i++)
{
sprintf(tmp, "%02x", secretKeyK[i]);
response.print(tmp);
}
- response.print("\nAuthorizationId: ");
+ response.print("");
+ response.print("\nAuthorizationId: ");
for (int i = 0; i < 4; i++)
{
sprintf(tmp, "%02x", authorizationId[i]);
response.print(tmp);
}
uint32_t authorizationIdInt = authorizationId[0] + 256U*authorizationId[1] + 65536U*authorizationId[2] + 16777216U*authorizationId[3];
- response.print("\nAuthorizationId (UINT32_T): ");
+ response.print("");
+ response.print("\nAuthorizationId (UINT32_T): ");
response.print(authorizationIdInt);
+ response.print("");
response.print("\nPaired to Nuki Lock Ultra/Go/5th gen: ");
response.print(nukiBlePref.getBool("isUltra", false) ? "Yes" : "No");
}
@@ -6926,27 +6942,31 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
nukiBlePref.getBytes("authorizationId", authorizationIdOpn, 4);
nukiBlePref.end();
response.print("\n\n------------ NUKI OPENER PAIRING ------------");
- response.print("\nBLE Address: ");
+ response.print("\nBLE Address: ");
for (int i = 0; i < 6; i++)
{
sprintf(tmp, "%02x", currentBleAddressOpn[i]);
response.print(tmp);
}
- response.print("\nSecretKeyK: ");
+ response.print("");
+ response.print("\nSecretKeyK: ");
for (int i = 0; i < 32; i++)
{
sprintf(tmp, "%02x", secretKeyKOpn[i]);
response.print(tmp);
}
- response.print("\nAuthorizationId: ");
+ response.print("");
+ response.print("\nAuthorizationId: ");
for (int i = 0; i < 4; i++)
{
sprintf(tmp, "%02x", authorizationIdOpn[i]);
response.print(tmp);
}
uint32_t authorizationIdOpnInt = authorizationIdOpn[0] + 256U*authorizationIdOpn[1] + 65536U*authorizationIdOpn[2] + 16777216U*authorizationIdOpn[3];
- response.print("\nAuthorizationId (UINT32_T): ");
+ response.print("");
+ response.print("\nAuthorizationId (UINT32_T): ");
response.print(authorizationIdOpnInt);
+ response.print("");
}
}
@@ -6956,7 +6976,8 @@ esp_err_t WebCfgServer::buildInfoHtml(PsychicRequest *request, PsychicResponse*
String gpioStr = "";
_gpio->getConfigurationText(gpioStr, _gpio->pinConfiguration());
response.print(gpioStr);
- response.print("