|
|
|
|
@ -488,10 +488,7 @@ void UpdateQuickPowerCycle(bool update)
|
|
|
|
|
* Config Settings.text char array support
|
|
|
|
|
\*********************************************************************************************/
|
|
|
|
|
|
|
|
|
|
char aws_mqtt_host[66];
|
|
|
|
|
char aws_mqtt_user[1] { 0 };
|
|
|
|
|
|
|
|
|
|
const uint32_t settings_text_size = 457; // Settings.flag4 (1E0) - Settings.ota_url (017)
|
|
|
|
|
const uint32_t settings_text_size = 699; // Settings.flag4 (2D2) - Settings.ota_url (017)
|
|
|
|
|
|
|
|
|
|
uint32_t GetSettingsTextLen(void)
|
|
|
|
|
{
|
|
|
|
|
@ -513,60 +510,43 @@ bool SettingsUpdateText(uint32_t index, const char* replace_me)
|
|
|
|
|
char replace[replace_len +1];
|
|
|
|
|
memcpy(replace, replace_me, sizeof(replace));
|
|
|
|
|
|
|
|
|
|
uint32_t idx = 0;
|
|
|
|
|
switch (index) {
|
|
|
|
|
case SET_OTAURL: strlcpy(Settings.ota_url, replace, sizeof(Settings.ota_url)); break;
|
|
|
|
|
case SET_MQTTPREFIX3: idx++;
|
|
|
|
|
case SET_MQTTPREFIX2: idx++;
|
|
|
|
|
case SET_MQTTPREFIX1: strlcpy(Settings.mqtt_prefix[idx], replace, sizeof(Settings.mqtt_prefix[idx])); break;
|
|
|
|
|
case SET_STASSID2: idx++;
|
|
|
|
|
case SET_STASSID1: strlcpy(Settings.sta_ssid[idx], replace, sizeof(Settings.sta_ssid[idx])); break;
|
|
|
|
|
case SET_STAPWD2: idx++;
|
|
|
|
|
case SET_STAPWD1: strlcpy(Settings.sta_pwd[idx], replace, sizeof(Settings.sta_pwd[idx])); break;
|
|
|
|
|
case SET_HOSTNAME: strlcpy(Settings.hostname, replace, sizeof(Settings.hostname)); break;
|
|
|
|
|
case SET_SYSLOG_HOST: strlcpy(Settings.syslog_host, replace, sizeof(Settings.syslog_host)); break;
|
|
|
|
|
case SET_WEBPWD: strlcpy(Settings.web_password, replace, sizeof(Settings.web_password)); break;
|
|
|
|
|
#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT)
|
|
|
|
|
case SET_MQTT_HOST:
|
|
|
|
|
if (strlen(replace) <= sizeof(Settings.mqtt_host)) {
|
|
|
|
|
strlcpy(Settings.mqtt_host, replace, sizeof(Settings.mqtt_host));
|
|
|
|
|
Settings.mqtt_user[0] = 0;
|
|
|
|
|
} else {
|
|
|
|
|
// need to split in mqtt_user first then mqtt_host
|
|
|
|
|
strlcpy(Settings.mqtt_user, replace, sizeof(Settings.mqtt_user));
|
|
|
|
|
strlcpy(Settings.mqtt_host, &replace[sizeof(Settings.mqtt_user)-1], sizeof(Settings.mqtt_host));
|
|
|
|
|
}
|
|
|
|
|
break;
|
|
|
|
|
case SET_MQTT_USER: break;
|
|
|
|
|
#else
|
|
|
|
|
case SET_MQTT_HOST: strlcpy(Settings.mqtt_host, replace, sizeof(Settings.mqtt_host)); break;
|
|
|
|
|
case SET_MQTT_USER: strlcpy(Settings.mqtt_user, replace, sizeof(Settings.mqtt_user)); break;
|
|
|
|
|
#endif
|
|
|
|
|
case SET_MQTT_CLIENT: strlcpy(Settings.mqtt_client, replace, sizeof(Settings.mqtt_client)); break;
|
|
|
|
|
case SET_MQTT_PWD: strlcpy(Settings.mqtt_pwd, replace, sizeof(Settings.mqtt_pwd)); break;
|
|
|
|
|
case SET_MQTT_FULLTOPIC: strlcpy(Settings.mqtt_fulltopic, replace, sizeof(Settings.mqtt_fulltopic)); break;
|
|
|
|
|
case SET_MQTT_TOPIC: strlcpy(Settings.mqtt_topic, replace, sizeof(Settings.mqtt_topic)); break;
|
|
|
|
|
case SET_MQTT_BUTTON_TOPIC: strlcpy(Settings.button_topic, replace, sizeof(Settings.button_topic)); break;
|
|
|
|
|
case SET_MQTT_SWITCH_TOPIC: strlcpy(Settings.switch_topic, replace, sizeof(Settings.switch_topic)); break;
|
|
|
|
|
case SET_MQTT_GRP_TOPIC: strlcpy(Settings.mqtt_grptopic, replace, sizeof(Settings.mqtt_grptopic)); break;
|
|
|
|
|
case SET_STATE_TXT4: idx++;
|
|
|
|
|
case SET_STATE_TXT3: idx++;
|
|
|
|
|
case SET_STATE_TXT2: idx++;
|
|
|
|
|
case SET_STATE_TXT1: strlcpy(Settings.state_text[idx], replace, sizeof(Settings.state_text[idx])); break;
|
|
|
|
|
case SET_NTPSERVER3: idx++;
|
|
|
|
|
case SET_NTPSERVER2: idx++;
|
|
|
|
|
case SET_NTPSERVER1: strlcpy(Settings.ntp_server[idx], replace, sizeof(Settings.ntp_server[idx])); break;
|
|
|
|
|
case SET_MEM5: idx++;
|
|
|
|
|
case SET_MEM4: idx++;
|
|
|
|
|
case SET_MEM3: idx++;
|
|
|
|
|
case SET_MEM2: idx++;
|
|
|
|
|
case SET_MEM1: strlcpy(Settings.mems[idx], replace, sizeof(Settings.mems[idx])); break;
|
|
|
|
|
case SET_CORS: strlcpy(Settings.cors_domain, replace, sizeof(Settings.cors_domain)); break;
|
|
|
|
|
case SET_FRIENDLYNAME4: idx++;
|
|
|
|
|
case SET_FRIENDLYNAME3: idx++;
|
|
|
|
|
case SET_FRIENDLYNAME2: idx++;
|
|
|
|
|
case SET_FRIENDLYNAME1: strlcpy(Settings.friendlyname[idx], replace, sizeof(Settings.friendlyname[idx])); break;
|
|
|
|
|
uint32_t start_pos = 0;
|
|
|
|
|
uint32_t end_pos = 0;
|
|
|
|
|
char* position = Settings.ota_url;
|
|
|
|
|
for (uint32_t size = 0; size < SET_MAX; size++) {
|
|
|
|
|
while (*position++ != '\0') { }
|
|
|
|
|
if (1 == index) {
|
|
|
|
|
start_pos = position - Settings.ota_url;
|
|
|
|
|
}
|
|
|
|
|
else if (0 == index) {
|
|
|
|
|
end_pos = position - Settings.ota_url -1;
|
|
|
|
|
}
|
|
|
|
|
index--;
|
|
|
|
|
}
|
|
|
|
|
uint32_t char_len = position - Settings.ota_url;
|
|
|
|
|
|
|
|
|
|
uint32_t current_len = end_pos - start_pos;
|
|
|
|
|
int diff = replace_len - current_len;
|
|
|
|
|
|
|
|
|
|
// AddLog_P2(LOG_LEVEL_DEBUG, PSTR("TST: start %d, end %d, len %d, current %d, replace %d, diff %d"),
|
|
|
|
|
// start_pos, end_pos, char_len, current_len, replace_len, diff);
|
|
|
|
|
|
|
|
|
|
int too_long = (char_len + diff) - settings_text_size;
|
|
|
|
|
if (too_long > 0) {
|
|
|
|
|
// AddLog_P2(LOG_LEVEL_INFO, PSTR(D_LOG_CONFIG "Text too long by %d char(s)"), too_long);
|
|
|
|
|
return false; // Replace text too long
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (diff != 0) {
|
|
|
|
|
// Shift Settings.text up or down
|
|
|
|
|
memmove_P(Settings.ota_url + start_pos + replace_len, Settings.ota_url + end_pos, char_len - end_pos);
|
|
|
|
|
}
|
|
|
|
|
// Replace text
|
|
|
|
|
memmove_P(Settings.ota_url + start_pos, replace, replace_len);
|
|
|
|
|
// Fill for future use
|
|
|
|
|
memset(Settings.ota_url + char_len + diff, 0x00, settings_text_size - char_len - diff);
|
|
|
|
|
|
|
|
|
|
AddLog_P2(LOG_LEVEL_DEBUG, PSTR(D_LOG_CONFIG "CR %d/%d"), GetSettingsTextLen(), settings_text_size);
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
@ -578,61 +558,9 @@ char* SettingsText(uint32_t index)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
char* position = Settings.ota_url;
|
|
|
|
|
|
|
|
|
|
if (Settings.version < 0x08000000) {
|
|
|
|
|
uint32_t idx = 0;
|
|
|
|
|
switch (index) {
|
|
|
|
|
case SET_MQTTPREFIX3: idx++;
|
|
|
|
|
case SET_MQTTPREFIX2: idx++;
|
|
|
|
|
case SET_MQTTPREFIX1: position = Settings.mqtt_prefix[idx]; break;
|
|
|
|
|
case SET_STASSID2: idx++;
|
|
|
|
|
case SET_STASSID1: position = Settings.sta_ssid[idx]; break;
|
|
|
|
|
case SET_STAPWD2: idx++;
|
|
|
|
|
case SET_STAPWD1: position = Settings.sta_pwd[idx]; break;
|
|
|
|
|
case SET_HOSTNAME: position = Settings.hostname; break;
|
|
|
|
|
case SET_SYSLOG_HOST: position = Settings.syslog_host; break;
|
|
|
|
|
case SET_WEBPWD: position = Settings.web_password; break;
|
|
|
|
|
#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT)
|
|
|
|
|
case SET_MQTT_HOST:
|
|
|
|
|
snprintf_P(aws_mqtt_host, sizeof(aws_mqtt_host), PSTR("%s%s"), Settings.mqtt_user, Settings.mqtt_host);
|
|
|
|
|
position = aws_mqtt_host; break;
|
|
|
|
|
case SET_MQTT_USER: position = aws_mqtt_user; break;
|
|
|
|
|
#else
|
|
|
|
|
case SET_MQTT_HOST: position = Settings.mqtt_host; break;
|
|
|
|
|
case SET_MQTT_USER: position = Settings.mqtt_user; break;
|
|
|
|
|
#endif
|
|
|
|
|
case SET_MQTT_CLIENT: position = Settings.mqtt_client; break;
|
|
|
|
|
case SET_MQTT_PWD: position = Settings.mqtt_pwd; break;
|
|
|
|
|
case SET_MQTT_FULLTOPIC: position = Settings.mqtt_fulltopic; break;
|
|
|
|
|
case SET_MQTT_TOPIC: position = Settings.mqtt_topic; break;
|
|
|
|
|
case SET_MQTT_BUTTON_TOPIC: position = Settings.button_topic; break;
|
|
|
|
|
case SET_MQTT_SWITCH_TOPIC: position = Settings.switch_topic; break;
|
|
|
|
|
case SET_MQTT_GRP_TOPIC: position = Settings.mqtt_grptopic; break;
|
|
|
|
|
case SET_STATE_TXT4: idx++;
|
|
|
|
|
case SET_STATE_TXT3: idx++;
|
|
|
|
|
case SET_STATE_TXT2: idx++;
|
|
|
|
|
case SET_STATE_TXT1: position = Settings.state_text[idx]; break;
|
|
|
|
|
case SET_NTPSERVER3: idx++;
|
|
|
|
|
case SET_NTPSERVER2: idx++;
|
|
|
|
|
case SET_NTPSERVER1: position = Settings.ntp_server[idx]; break;
|
|
|
|
|
case SET_MEM5: idx++;
|
|
|
|
|
case SET_MEM4: idx++;
|
|
|
|
|
case SET_MEM3: idx++;
|
|
|
|
|
case SET_MEM2: idx++;
|
|
|
|
|
case SET_MEM1: position = Settings.mems[idx]; break;
|
|
|
|
|
case SET_CORS: position = Settings.cors_domain; break;
|
|
|
|
|
case SET_FRIENDLYNAME4: idx++;
|
|
|
|
|
case SET_FRIENDLYNAME3: idx++;
|
|
|
|
|
case SET_FRIENDLYNAME2: idx++;
|
|
|
|
|
case SET_FRIENDLYNAME1: position = Settings.friendlyname[idx]; break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
for (;index > 0; index--) {
|
|
|
|
|
while (*position++ != '\0') { }
|
|
|
|
|
}
|
|
|
|
|
for (;index > 0; index--) {
|
|
|
|
|
while (*position++ != '\0') { }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return position;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -1132,10 +1060,6 @@ void SettingsDefaultSet2(void)
|
|
|
|
|
|
|
|
|
|
memset(&Settings.monitors, 0xFF, 20); // Enable all possible monitors, displays and sensors
|
|
|
|
|
SettingsEnableAllI2cDrivers();
|
|
|
|
|
|
|
|
|
|
if (VERSION < 0x08000000) {
|
|
|
|
|
SettingsBackwardCompat();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/********************************************************************************************/
|
|
|
|
|
@ -1175,17 +1099,6 @@ void SettingsEnableAllI2cDrivers(void)
|
|
|
|
|
Settings.i2c_drivers[2] = 0xFFFFFFFF;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SettingsBackwardCompat(void)
|
|
|
|
|
{
|
|
|
|
|
Settings.ex_seriallog_level = Settings.seriallog_level; // 09E <- 452
|
|
|
|
|
Settings.ex_sta_config = Settings.sta_config; // 09F <- EC7
|
|
|
|
|
Settings.ex_sta_active = Settings.sta_active; // 0A0 <- EC8
|
|
|
|
|
memcpy((char*)&Settings.ex_rule_stop, (char*)&Settings.rule_stop, 47); // 1A7 <- EC9
|
|
|
|
|
Settings.ex_flag4 = Settings.flag4; // 1E0 <- EF8
|
|
|
|
|
Settings.ex_mqtt_port = Settings.mqtt_port; // 20A <- EFC
|
|
|
|
|
memcpy((char*)&Settings.ex_serial_config, (char*)&Settings.serial_config, 5); // 1E4 <- EFE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/********************************************************************************************/
|
|
|
|
|
|
|
|
|
|
void SettingsDelta(void)
|
|
|
|
|
@ -1405,46 +1318,26 @@ void SettingsDelta(void)
|
|
|
|
|
memcpy((char*)&Settings.serial_config, (char*)&Settings.ex_serial_config, 5); // 1E4 -> EFE
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ((VERSION < 0x08000000) && (Settings.version >= 0x08000000)) {
|
|
|
|
|
SettingsUpdateText(SET_WEBPWD, SettingsText(SET_WEBPWD));
|
|
|
|
|
SettingsUpdateText(SET_CORS, SettingsText(SET_CORS));
|
|
|
|
|
SettingsUpdateText(SET_MQTT_FULLTOPIC, SettingsText(SET_MQTT_FULLTOPIC));
|
|
|
|
|
SettingsUpdateText(SET_MQTT_SWITCH_TOPIC, SettingsText(SET_MQTT_SWITCH_TOPIC));
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT1, SettingsText(SET_STATE_TXT1));
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT2, SettingsText(SET_STATE_TXT2));
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT3, SettingsText(SET_STATE_TXT3));
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT4, SettingsText(SET_STATE_TXT4));
|
|
|
|
|
SettingsUpdateText(SET_NTPSERVER1, SettingsText(SET_NTPSERVER1));
|
|
|
|
|
SettingsUpdateText(SET_NTPSERVER2, SettingsText(SET_NTPSERVER2));
|
|
|
|
|
SettingsUpdateText(SET_NTPSERVER3, SettingsText(SET_NTPSERVER3));
|
|
|
|
|
SettingsUpdateText(SET_MEM1, SettingsText(SET_MEM1));
|
|
|
|
|
SettingsUpdateText(SET_MEM2, SettingsText(SET_MEM2));
|
|
|
|
|
SettingsUpdateText(SET_MEM3, SettingsText(SET_MEM3));
|
|
|
|
|
SettingsUpdateText(SET_MEM4, SettingsText(SET_MEM4));
|
|
|
|
|
SettingsUpdateText(SET_MEM5, SettingsText(SET_MEM5));
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME1, SettingsText(SET_FRIENDLYNAME1));
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME2, SettingsText(SET_FRIENDLYNAME2));
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME3, SettingsText(SET_FRIENDLYNAME3));
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME4, SettingsText(SET_FRIENDLYNAME4));
|
|
|
|
|
|
|
|
|
|
char temp[strlen(SettingsText(SET_OTAURL)) +1]; strncpy(temp, SettingsText(SET_OTAURL), sizeof(temp));
|
|
|
|
|
char temp21[strlen(SettingsText(SET_MQTTPREFIX1)) +1]; strncpy(temp21, SettingsText(SET_MQTTPREFIX1), sizeof(temp21));
|
|
|
|
|
char temp22[strlen(SettingsText(SET_MQTTPREFIX2)) +1]; strncpy(temp22, SettingsText(SET_MQTTPREFIX2), sizeof(temp22));
|
|
|
|
|
char temp23[strlen(SettingsText(SET_MQTTPREFIX3)) +1]; strncpy(temp23, SettingsText(SET_MQTTPREFIX3), sizeof(temp23));
|
|
|
|
|
char temp31[strlen(SettingsText(SET_STASSID1)) +1]; strncpy(temp31, SettingsText(SET_STASSID1), sizeof(temp31));
|
|
|
|
|
char temp32[strlen(SettingsText(SET_STASSID2)) +1]; strncpy(temp32, SettingsText(SET_STASSID2), sizeof(temp32));
|
|
|
|
|
char temp41[strlen(SettingsText(SET_STAPWD1)) +1]; strncpy(temp41, SettingsText(SET_STAPWD1), sizeof(temp41));
|
|
|
|
|
char temp42[strlen(SettingsText(SET_STAPWD2)) +1]; strncpy(temp42, SettingsText(SET_STAPWD2), sizeof(temp42));
|
|
|
|
|
char temp5[strlen(SettingsText(SET_HOSTNAME)) +1]; strncpy(temp5, SettingsText(SET_HOSTNAME), sizeof(temp5));
|
|
|
|
|
char temp6[strlen(SettingsText(SET_SYSLOG_HOST)) +1]; strncpy(temp6, SettingsText(SET_SYSLOG_HOST), sizeof(temp6));
|
|
|
|
|
char temp7[strlen(SettingsText(SET_MQTT_HOST)) +1]; strncpy(temp7, SettingsText(SET_MQTT_HOST), sizeof(temp7));
|
|
|
|
|
char temp8[strlen(SettingsText(SET_MQTT_CLIENT)) +1]; strncpy(temp8, SettingsText(SET_MQTT_CLIENT), sizeof(temp8));
|
|
|
|
|
char temp9[strlen(SettingsText(SET_MQTT_USER)) +1]; strncpy(temp9, SettingsText(SET_MQTT_USER), sizeof(temp9));
|
|
|
|
|
char temp10[strlen(SettingsText(SET_MQTT_PWD)) +1]; strncpy(temp10, SettingsText(SET_MQTT_PWD), sizeof(temp10));
|
|
|
|
|
char temp11[strlen(SettingsText(SET_MQTT_TOPIC)) +1]; strncpy(temp11, SettingsText(SET_MQTT_TOPIC), sizeof(temp11));
|
|
|
|
|
char temp12[strlen(SettingsText(SET_MQTT_BUTTON_TOPIC)) +1]; strncpy(temp12, SettingsText(SET_MQTT_BUTTON_TOPIC), sizeof(temp12));
|
|
|
|
|
char temp13[strlen(SettingsText(SET_MQTT_GRP_TOPIC)) +1]; strncpy(temp13, SettingsText(SET_MQTT_GRP_TOPIC), sizeof(temp13));
|
|
|
|
|
if (Settings.version < 0x08000000) {
|
|
|
|
|
char temp[strlen(Settings.ota_url) +1]; strncpy(temp, Settings.ota_url, sizeof(temp));
|
|
|
|
|
char temp21[strlen(Settings.mqtt_prefix[0]) +1]; strncpy(temp21, Settings.mqtt_prefix[0], sizeof(temp21));
|
|
|
|
|
char temp22[strlen(Settings.mqtt_prefix[1]) +1]; strncpy(temp22, Settings.mqtt_prefix[1], sizeof(temp22));
|
|
|
|
|
char temp23[strlen(Settings.mqtt_prefix[2]) +1]; strncpy(temp23, Settings.mqtt_prefix[2], sizeof(temp23));
|
|
|
|
|
char temp31[strlen(Settings.sta_ssid[0]) +1]; strncpy(temp31, Settings.sta_ssid[0], sizeof(temp31));
|
|
|
|
|
char temp32[strlen(Settings.sta_ssid[1]) +1]; strncpy(temp32, Settings.sta_ssid[1], sizeof(temp32));
|
|
|
|
|
char temp41[strlen(Settings.sta_pwd[0]) +1]; strncpy(temp41, Settings.sta_pwd[0], sizeof(temp41));
|
|
|
|
|
char temp42[strlen(Settings.sta_pwd[1]) +1]; strncpy(temp42, Settings.sta_pwd[1], sizeof(temp42));
|
|
|
|
|
char temp5[strlen(Settings.hostname) +1]; strncpy(temp5, Settings.hostname, sizeof(temp5));
|
|
|
|
|
char temp6[strlen(Settings.syslog_host) +1]; strncpy(temp6, Settings.syslog_host, sizeof(temp6));
|
|
|
|
|
char temp7[strlen(Settings.mqtt_host) +1]; strncpy(temp7, Settings.mqtt_host, sizeof(temp7));
|
|
|
|
|
char temp8[strlen(Settings.mqtt_client) +1]; strncpy(temp8, Settings.mqtt_client, sizeof(temp8));
|
|
|
|
|
char temp9[strlen(Settings.mqtt_user) +1]; strncpy(temp9, Settings.mqtt_user, sizeof(temp9));
|
|
|
|
|
char temp10[strlen(Settings.mqtt_pwd) +1]; strncpy(temp10, Settings.mqtt_pwd, sizeof(temp10));
|
|
|
|
|
char temp11[strlen(Settings.mqtt_topic) +1]; strncpy(temp11, Settings.mqtt_topic, sizeof(temp11));
|
|
|
|
|
char temp12[strlen(Settings.button_topic) +1]; strncpy(temp12, Settings.button_topic, sizeof(temp12));
|
|
|
|
|
char temp13[strlen(Settings.mqtt_grptopic) +1]; strncpy(temp13, Settings.mqtt_grptopic, sizeof(temp13));
|
|
|
|
|
|
|
|
|
|
memset(Settings.ota_url, 0x00, settings_text_size);
|
|
|
|
|
SettingsUpdateText(SET_OTAURL, temp);
|
|
|
|
|
SettingsUpdateText(SET_MQTTPREFIX1, temp21);
|
|
|
|
|
SettingsUpdateText(SET_MQTTPREFIX2, temp22);
|
|
|
|
|
@ -1455,15 +1348,46 @@ void SettingsDelta(void)
|
|
|
|
|
SettingsUpdateText(SET_STAPWD2, temp42);
|
|
|
|
|
SettingsUpdateText(SET_HOSTNAME, temp5);
|
|
|
|
|
SettingsUpdateText(SET_SYSLOG_HOST, temp6);
|
|
|
|
|
#if defined(USE_MQTT_TLS) && defined(USE_MQTT_AWS_IOT)
|
|
|
|
|
if (!strlen(Settings.mqtt_user)) {
|
|
|
|
|
SettingsUpdateText(SET_MQTT_HOST, temp7);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_USER, temp9);
|
|
|
|
|
} else {
|
|
|
|
|
char aws_mqtt_host[66];
|
|
|
|
|
snprintf_P(aws_mqtt_host, sizeof(aws_mqtt_host), PSTR("%s%s"), temp9, temp7);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_HOST, mqtt_host);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_USER, "");
|
|
|
|
|
}
|
|
|
|
|
#else
|
|
|
|
|
SettingsUpdateText(SET_MQTT_HOST, temp7);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_CLIENT, temp8);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_USER, temp9);
|
|
|
|
|
#endif
|
|
|
|
|
SettingsUpdateText(SET_MQTT_CLIENT, temp8);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_PWD, temp10);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_TOPIC, temp11);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_BUTTON_TOPIC, temp12);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_GRP_TOPIC, temp13);
|
|
|
|
|
|
|
|
|
|
SettingsBackwardCompat();
|
|
|
|
|
SettingsUpdateText(SET_WEBPWD, Settings.web_password);
|
|
|
|
|
SettingsUpdateText(SET_CORS, Settings.cors_domain);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_FULLTOPIC, Settings.mqtt_fulltopic);
|
|
|
|
|
SettingsUpdateText(SET_MQTT_SWITCH_TOPIC, Settings.switch_topic);
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT1, Settings.state_text[0]);
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT2, Settings.state_text[1]);
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT3, Settings.state_text[2]);
|
|
|
|
|
SettingsUpdateText(SET_STATE_TXT4, Settings.state_text[3]);
|
|
|
|
|
SettingsUpdateText(SET_NTPSERVER1, Settings.ntp_server[0]);
|
|
|
|
|
SettingsUpdateText(SET_NTPSERVER2, Settings.ntp_server[1]);
|
|
|
|
|
SettingsUpdateText(SET_NTPSERVER3, Settings.ntp_server[2]);
|
|
|
|
|
SettingsUpdateText(SET_MEM1, Settings.mems[0]);
|
|
|
|
|
SettingsUpdateText(SET_MEM2, Settings.mems[1]);
|
|
|
|
|
SettingsUpdateText(SET_MEM3, Settings.mems[2]);
|
|
|
|
|
SettingsUpdateText(SET_MEM4, Settings.mems[3]);
|
|
|
|
|
SettingsUpdateText(SET_MEM5, Settings.mems[4]);
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME1, Settings.friendlyname[0]);
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME2, Settings.friendlyname[1]);
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME3, Settings.friendlyname[2]);
|
|
|
|
|
SettingsUpdateText(SET_FRIENDLYNAME4, Settings.friendlyname[3]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Settings.version = VERSION;
|
|
|
|
|
|