diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 8996ff9..e7753ea 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -33,6 +33,11 @@ jobs:
run: pip install --upgrade platformio
- name: Install ESPTool
run: pip install --upgrade esptool
+ - name: Add version info
+ env:
+ Version: ${{ github.run_id }}.${{ github.run_number }}.${{ github.run_attempt }}
+ run: |
+ sed -i "s/unknownbuildnr/$Version (release)/g" src/Config.h
- name: Build PlatformIO Project esp32dev
run: |
pio run --environment esp32dev
@@ -96,6 +101,11 @@ jobs:
with:
name: esp32solo1-assets
path: release/esp32solo1
+ - name: Add version info
+ env:
+ Version: ${{ github.run_id }}.${{ github.run_number }}.${{ github.run_attempt }}
+ run: |
+ sed -i "s/$Version (release)/$Version (debug)/g" src/Config.h
- name: Build PlatformIO Project esp32dev_dbg
run: |
pio run --environment esp32dev_dbg
diff --git a/src/Config.h b/src/Config.h
index d26d6eb..a29022c 100644
--- a/src/Config.h
+++ b/src/Config.h
@@ -23,3 +23,5 @@
#define MQTT_CLEAN_SESSIONS false
#define GPIO_DEBOUNCE_TIME 200
+
+#define NUKI_HUB_BUILD "unknownbuildnr"
\ No newline at end of file
diff --git a/src/MqttTopics.h b/src/MqttTopics.h
index f52dbbd..b3eb9ab 100644
--- a/src/MqttTopics.h
+++ b/src/MqttTopics.h
@@ -66,6 +66,7 @@
#define mqtt_topic_info_hardware_version "/info/hardwareVersion"
#define mqtt_topic_info_firmware_version "/info/firmwareVersion"
#define mqtt_topic_info_nuki_hub_version "/info/nukiHubVersion"
+#define mqtt_topic_info_nuki_hub_build "/info/nukiHubBuild"
#define mqtt_topic_info_nuki_hub_latest "/info/nukiHubLatest"
#define mqtt_topic_info_nuki_hub_ip "/info/nukiHubIp"
diff --git a/src/Network.cpp b/src/Network.cpp
index e267f08..a34df7e 100644
--- a/src/Network.cpp
+++ b/src/Network.cpp
@@ -353,6 +353,7 @@ bool Network::update()
}
if (!_versionPublished) {
publishString(_maintenancePathPrefix, mqtt_topic_info_nuki_hub_version, NUKI_HUB_VERSION);
+ publishString(_maintenancePathPrefix, mqtt_topic_info_nuki_hub_build, NUKI_HUB_BUILD);
_versionPublished = true;
}
_lastMaintenanceTs = ts;
@@ -928,6 +929,23 @@ void Network::publishHASSConfig(char* deviceType, const char* baseTopic, char* n
"",
{ { (char*)"en", (char*)"true" },
{(char*)"ic", (char*)"mdi:counter"}});
+
+ // Nuki Hub build
+ publishHassTopic("sensor",
+ "nuki_hub_build",
+ uidString,
+ "_nuki_hub_build",
+ "Nuki Hub build",
+ name,
+ baseTopic,
+ _lockPath + mqtt_topic_info_nuki_hub_build,
+ deviceType,
+ "",
+ "",
+ "diagnostic",
+ "",
+ { { (char*)"en", (char*)"true" },
+ {(char*)"ic", (char*)"mdi:counter"}});
if(_preferences->getBool(preference_check_updates))
{
@@ -3141,6 +3159,7 @@ void Network::removeHASSConfig(char* uidString)
removeHassTopic((char*)"sensor", (char*)"firmware_version", uidString);
removeHassTopic((char*)"sensor", (char*)"hardware_version", uidString);
removeHassTopic((char*)"sensor", (char*)"nuki_hub_version", uidString);
+ removeHassTopic((char*)"sensor", (char*)"nuki_hub_build", uidString);
removeHassTopic((char*)"sensor", (char*)"nuki_hub_latest", uidString);
removeHassTopic((char*)"update", (char*)"nuki_hub_update", uidString);
removeHassTopic((char*)"sensor", (char*)"nuki_hub_ip", uidString);
diff --git a/src/WebCfgServer.cpp b/src/WebCfgServer.cpp
index 50451fa..6e4fe85 100644
--- a/src/WebCfgServer.cpp
+++ b/src/WebCfgServer.cpp
@@ -1003,9 +1003,6 @@ void WebCfgServer::buildHtml(String& response)
buildHtmlHeader(response);
response.concat("