Fixed bug that all locks are triggered at the same time.
This commit is contained in:
@@ -5,8 +5,8 @@
|
|||||||
#define NUKI_HUB_VERSION "9.15"
|
#define NUKI_HUB_VERSION "9.15"
|
||||||
#define NUKI_HUB_VERSION_INT (uint32_t)915
|
#define NUKI_HUB_VERSION_INT (uint32_t)915
|
||||||
#define NUKI_HUB_BUILD "unknownbuildnr"
|
#define NUKI_HUB_BUILD "unknownbuildnr"
|
||||||
#define NUKI_HUB_DATE "2026-03-20"
|
#define NUKI_HUB_DATE "2026-03-27"
|
||||||
#define NUKI_HUB_DATE "2026-03-20"
|
#define NUKI_HUB_DATE "2026-03-27"
|
||||||
|
|
||||||
#define GITHUB_LATEST_RELEASE_URL (char*)"https://github.com/technyon/nuki_hub/releases/latest"
|
#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"
|
#define GITHUB_OTA_MANIFEST_URL (char*)"https://raw.githubusercontent.com/technyon/nuki_hub/binary/ota/manifest.json"
|
||||||
|
|||||||
@@ -14,9 +14,22 @@ extern bool forceEnableWebServer;
|
|||||||
extern const uint8_t x509_crt_imported_bundle_bin_start[] asm("_binary_x509_crt_bundle_start");
|
extern const uint8_t x509_crt_imported_bundle_bin_start[] asm("_binary_x509_crt_bundle_start");
|
||||||
extern const uint8_t x509_crt_imported_bundle_bin_end[] asm("_binary_x509_crt_bundle_end");
|
extern const uint8_t x509_crt_imported_bundle_bin_end[] asm("_binary_x509_crt_bundle_end");
|
||||||
|
|
||||||
static String normalizedLockMqttName(Preferences* preferences, const char* prefKey)
|
static const char* defaultLockMqttNameForSlot(uint8_t lockSlot)
|
||||||
{
|
{
|
||||||
String in = preferences->getString(prefKey, "lock");
|
switch(lockSlot)
|
||||||
|
{
|
||||||
|
case 2:
|
||||||
|
return "lock2";
|
||||||
|
case 3:
|
||||||
|
return "lock3";
|
||||||
|
default:
|
||||||
|
return "lock";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static String normalizedLockMqttName(Preferences* preferences, const char* prefKey, const char* fallback)
|
||||||
|
{
|
||||||
|
String in = preferences->getString(prefKey, fallback);
|
||||||
in.trim();
|
in.trim();
|
||||||
in.toLowerCase();
|
in.toLowerCase();
|
||||||
|
|
||||||
@@ -33,7 +46,7 @@ static String normalizedLockMqttName(Preferences* preferences, const char* prefK
|
|||||||
|
|
||||||
if(out.length() < 3 || out.length() > 32)
|
if(out.length() < 3 || out.length() > 32)
|
||||||
{
|
{
|
||||||
return String("lock");
|
return String(fallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
return out;
|
return out;
|
||||||
@@ -67,9 +80,10 @@ void NukiNetworkLock::initialize()
|
|||||||
_saveLogEnabled = true;
|
_saveLogEnabled = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char* defaultMqttName = defaultLockMqttNameForSlot(_lockSlot);
|
||||||
String mqttPath = _preferences->getString(preference_mqtt_lock_path, "");
|
String mqttPath = _preferences->getString(preference_mqtt_lock_path, "");
|
||||||
mqttPath.concat("/");
|
mqttPath.concat("/");
|
||||||
mqttPath.concat(normalizedLockMqttName(_preferences, mqttNamePreferenceKey()));
|
mqttPath.concat(normalizedLockMqttName(_preferences, mqttNamePreferenceKey(), defaultMqttName));
|
||||||
|
|
||||||
size_t len = mqttPath.length();
|
size_t len = mqttPath.length();
|
||||||
for(int i=0; i < len; i++)
|
for(int i=0; i < len; i++)
|
||||||
|
|||||||
Reference in New Issue
Block a user