mirror of https://github.com/arendst/Tasmota.git
Fix InfoRetain and StatusRetain
Fix InfoRetain and StatusRetain clean up if disabled
This commit is contained in:
parent
103808ce44
commit
1fe39bb620
|
@ -1652,11 +1652,15 @@ void CmndInfoRetain(void) {
|
||||||
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 1)) {
|
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 1)) {
|
||||||
if (!XdrvMailbox.payload) {
|
if (!XdrvMailbox.payload) {
|
||||||
ResponseClear();
|
ResponseClear();
|
||||||
MqttPublishPrefixTopic_P(TELE, PSTR(D_RSLT_INFO), Settings->flag5.mqtt_info_retain); // CMND_INFORETAIN
|
char stemp1[10]; // STATUS11
|
||||||
|
for (uint32_t i = 1; i <= 3; i++) { // Relates to INFO1, INFO2 and INFO3
|
||||||
|
snprintf_P(stemp1, sizeof(stemp1), PSTR(D_RSLT_INFO "%d"), i);
|
||||||
|
MqttPublishPrefixTopic_P(TELE, stemp1, Settings->flag5.mqtt_info_retain); // CMND_INFORETAIN
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Settings->flag5.mqtt_info_retain = XdrvMailbox.payload; // CMND_INFORETAIN
|
Settings->flag5.mqtt_info_retain = XdrvMailbox.payload; // CMND_INFORETAIN
|
||||||
}
|
}
|
||||||
ResponseCmndStateText(Settings->flag5.mqtt_info_retain); // CMND_INFORETAIN
|
ResponseCmndStateText(Settings->flag5.mqtt_info_retain); // CMND_INFORETAIN
|
||||||
}
|
}
|
||||||
|
|
||||||
void CmndStateRetain(void) {
|
void CmndStateRetain(void) {
|
||||||
|
@ -1674,11 +1678,17 @@ void CmndStatusRetain(void) {
|
||||||
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 1)) {
|
if ((XdrvMailbox.payload >= 0) && (XdrvMailbox.payload <= 1)) {
|
||||||
if (!XdrvMailbox.payload) {
|
if (!XdrvMailbox.payload) {
|
||||||
ResponseClear();
|
ResponseClear();
|
||||||
MqttPublishPrefixTopic_P(STAT, PSTR(D_RSLT_STATE), Settings->flag5.mqtt_status_retain); // CMND_STATUSRETAIN
|
char cmnd_status[10]; // STATUS11
|
||||||
|
char number[4] = { 0 };
|
||||||
|
for (uint32_t i = 0; i <= 13; i++) { // Relates to STATUS, STATUS1 .. STATUS13
|
||||||
|
snprintf_P(cmnd_status, sizeof(cmnd_status), PSTR(D_CMND_STATUS "%s"), (i) ? itoa(i, number, 10) : "");
|
||||||
|
MqttPublishPrefixTopic_P(STAT, cmnd_status, Settings->flag5.mqtt_status_retain); // CMND_STATUSRETAIN
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Settings->flag5.mqtt_status_retain = XdrvMailbox.payload; // CMND_STATUSRETAIN
|
Settings->flag5.mqtt_status_retain = XdrvMailbox.payload; // CMND_STATUSRETAIN
|
||||||
}
|
}
|
||||||
ResponseCmndStateText(Settings->flag5.mqtt_status_retain); // CMND_STATUSRETAIN
|
ResponseCmndStateText(Settings->flag5.mqtt_status_retain); // CMND_STATUSRETAIN
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************************************\
|
/*********************************************************************************************\
|
||||||
|
|
Loading…
Reference in New Issue