mirror of https://github.com/arendst/Tasmota.git
6.1.1.13 - Fixes
6.1.1.13 20180828 * Fix 6.1.1.12 regression of Mem and Var default handling (#3618) * Optimizations
This commit is contained in:
parent
f8666c0410
commit
55b43734d8
|
@ -1,4 +1,8 @@
|
|||
/* 6.1.1.12 20180827
|
||||
/* 6.1.1.13 20180828
|
||||
* Fix 6.1.1.12 regression of Mem and Var default handling (#3618)
|
||||
* Optimizations
|
||||
*
|
||||
* 6.1.1.12 20180827
|
||||
* Add commands ButtonDebounce 40..1000 and SwitchDebounce 40..1000 to have user control over debounce timing. Default is 50mS (#3594)
|
||||
* Add rule variables %sunrise%, %sunset%, %uptime% and %time% (#3608)
|
||||
* Fix handling use of default names when using names starting with shortcut character (#3392, #3600)
|
||||
|
|
|
@ -135,7 +135,6 @@ int ota_result = 0; // OTA result
|
|||
int restart_flag = 0; // Sonoff restart flag
|
||||
int wifi_state_flag = WIFI_RESTART; // Wifi state flag
|
||||
int tele_period = 0; // Tele period timer
|
||||
int status_update_timer = 0; // Refresh initial status
|
||||
int blinks = 201; // Number of LED blinks
|
||||
uint32_t uptime = 0; // Counting every second until 4294967295 = 130 year
|
||||
uint32_t global_update = 0; // Timestamp of last global temperature and humidity update
|
||||
|
@ -1593,16 +1592,6 @@ void PerformEverySecond()
|
|||
}
|
||||
}
|
||||
|
||||
if (status_update_timer) {
|
||||
status_update_timer--;
|
||||
if (!status_update_timer) {
|
||||
for (byte i = 1; i <= devices_present; i++) {
|
||||
MqttPublishPowerState(i);
|
||||
if (SONOFF_IFAN02 == Settings.module) { break; } // Only report status of light relay
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ResetGlobalValues();
|
||||
|
||||
if (Settings.tele_period) {
|
||||
|
@ -2528,7 +2517,7 @@ void setup()
|
|||
save_data_counter = Settings.save_data;
|
||||
sleep = Settings.sleep;
|
||||
|
||||
if ((resetInfo.reason == REASON_WDT_RST) || (resetInfo.reason == REASON_EXCEPTION_RST) || (resetInfo.reason == REASON_SOFT_WDT_RST)) {
|
||||
if ((resetInfo.reason == REASON_WDT_RST) || (resetInfo.reason == REASON_EXCEPTION_RST) || (resetInfo.reason == REASON_SOFT_WDT_RST) || OsWatchBlockedLoop()) {
|
||||
for (byte i = 0; i < MAX_RULE_SETS; i++) {
|
||||
if (bitRead(Settings.rule_stop, i)) { bitWrite(Settings.rule_enabled, i, 0); }
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
#ifndef _SONOFF_VERSION_H_
|
||||
#define _SONOFF_VERSION_H_
|
||||
|
||||
#define VERSION 0x0601010C
|
||||
#define VERSION 0x0601010D
|
||||
|
||||
#define D_PROGRAMNAME "Sonoff-Tasmota"
|
||||
#define D_AUTHOR "Theo Arends"
|
||||
|
|
|
@ -82,6 +82,10 @@ String GetResetReason()
|
|||
}
|
||||
}
|
||||
|
||||
boolean OsWatchBlockedLoop()
|
||||
{
|
||||
return oswatch_blocked_loop;
|
||||
}
|
||||
/*********************************************************************************************\
|
||||
* Miscellaneous
|
||||
\*********************************************************************************************/
|
||||
|
|
|
@ -376,10 +376,13 @@ void MqttConnected()
|
|||
snprintf_P(mqtt_data, sizeof(mqtt_data), PSTR("{\"" D_JSON_RESTARTREASON "\":\"%s\"}"),
|
||||
(GetResetReason() == "Exception") ? ESP.getResetInfo().c_str() : GetResetReason().c_str());
|
||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_INFO "3"));
|
||||
for (byte i = 1; i <= devices_present; i++) {
|
||||
MqttPublishPowerState(i);
|
||||
if (SONOFF_IFAN02 == Settings.module) { break; } // Only report status of light relay
|
||||
}
|
||||
if (Settings.tele_period) {
|
||||
tele_period = Settings.tele_period -9;
|
||||
}
|
||||
status_update_timer = 2;
|
||||
rules_flag.system_boot = 1;
|
||||
XdrvCall(FUNC_MQTT_INIT);
|
||||
}
|
||||
|
|
|
@ -548,13 +548,13 @@ boolean RulesCommand()
|
|||
}
|
||||
else if ((CMND_VAR == command_code) && (index > 0) && (index <= MAX_RULE_VARS)) {
|
||||
if (XdrvMailbox.data_len > 0) {
|
||||
strlcpy(vars[index -1], (SC_CLEAR == Shortcut(XdrvMailbox.data)) ? "" : XdrvMailbox.data, sizeof(vars[index -1]));
|
||||
strlcpy(vars[index -1], ('"' == XdrvMailbox.data[0]) ? "" : XdrvMailbox.data, sizeof(vars[index -1]));
|
||||
}
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, index, vars[index -1]);
|
||||
}
|
||||
else if ((CMND_MEM == command_code) && (index > 0) && (index <= MAX_RULE_MEMS)) {
|
||||
if (XdrvMailbox.data_len > 0) {
|
||||
strlcpy(Settings.mems[index -1], (SC_CLEAR == Shortcut(XdrvMailbox.data)) ? "" : XdrvMailbox.data, sizeof(Settings.mems[index -1]));
|
||||
strlcpy(Settings.mems[index -1], ('"' == XdrvMailbox.data[0]) ? "" : XdrvMailbox.data, sizeof(Settings.mems[index -1]));
|
||||
}
|
||||
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_INDEX_SVALUE, command, index, Settings.mems[index -1]);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue