mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-25 11:46:31 +00:00
Allow increase in friendlynames
Allow increase in friendlynames (#3098)
This commit is contained in:
parent
03ae4098b5
commit
2a62356172
@ -986,7 +986,7 @@ void MqttDataHandler(char* topic, byte* data, unsigned int data_len)
|
|||||||
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_NVALUE_SVALUE, command, Settings.sta_config, stemp1);
|
snprintf_P(mqtt_data, sizeof(mqtt_data), S_JSON_COMMAND_NVALUE_SVALUE, command, Settings.sta_config, stemp1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ((CMND_FRIENDLYNAME == command_code) && (index > 0) && (index <= 4)) {
|
else if ((CMND_FRIENDLYNAME == command_code) && (index > 0) && (index <= MAX_FRIENDLYNAMES)) {
|
||||||
if ((data_len > 0) && (data_len < sizeof(Settings.friendlyname[0]))) {
|
if ((data_len > 0) && (data_len < sizeof(Settings.friendlyname[0]))) {
|
||||||
if (1 == index) {
|
if (1 == index) {
|
||||||
snprintf_P(stemp1, sizeof(stemp1), PSTR(FRIENDLY_NAME));
|
snprintf_P(stemp1, sizeof(stemp1), PSTR(FRIENDLY_NAME));
|
||||||
@ -1293,7 +1293,7 @@ void ExecuteCommand(char *cmnd, int source)
|
|||||||
void PublishStatus(uint8_t payload)
|
void PublishStatus(uint8_t payload)
|
||||||
{
|
{
|
||||||
uint8_t option = STAT;
|
uint8_t option = STAT;
|
||||||
char stemp[MAX_FRIENDLYNAMES * (sizeof(Settings.friendlyname[0]) +4)];
|
char stemp[MAX_FRIENDLYNAMES * (sizeof(Settings.friendlyname[0]) +MAX_FRIENDLYNAMES)];
|
||||||
|
|
||||||
// Workaround MQTT - TCP/IP stack queueing when SUB_PREFIX = PUB_PREFIX
|
// Workaround MQTT - TCP/IP stack queueing when SUB_PREFIX = PUB_PREFIX
|
||||||
if (!strcmp(Settings.mqtt_prefix[0],Settings.mqtt_prefix[1]) && (!payload)) option++; // TELE
|
if (!strcmp(Settings.mqtt_prefix[0],Settings.mqtt_prefix[1]) && (!payload)) option++; // TELE
|
||||||
|
@ -1076,16 +1076,14 @@ void HandleSaveSettings()
|
|||||||
WebGetArg("b2", tmp, sizeof(tmp));
|
WebGetArg("b2", tmp, sizeof(tmp));
|
||||||
Settings.flag2.emulation = (!strlen(tmp)) ? 0 : atoi(tmp);
|
Settings.flag2.emulation = (!strlen(tmp)) ? 0 : atoi(tmp);
|
||||||
#endif // USE_EMULATION
|
#endif // USE_EMULATION
|
||||||
WebGetArg("a1", tmp, sizeof(tmp));
|
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_OTHER D_MQTT_ENABLE " %s, " D_CMND_EMULATION " %d, " D_CMND_FRIENDLYNAME), GetStateText(Settings.flag.mqtt_enabled), Settings.flag2.emulation);
|
||||||
strlcpy(Settings.friendlyname[0], (!strlen(tmp)) ? FRIENDLY_NAME : tmp, sizeof(Settings.friendlyname[0]));
|
for (byte i = 0; i < MAX_FRIENDLYNAMES; i++) {
|
||||||
WebGetArg("a2", tmp, sizeof(tmp));
|
snprintf_P(stemp, sizeof(stemp), PSTR("a%d"), i +1);
|
||||||
strlcpy(Settings.friendlyname[1], (!strlen(tmp)) ? FRIENDLY_NAME"2" : tmp, sizeof(Settings.friendlyname[1]));
|
WebGetArg(stemp, tmp, sizeof(tmp));
|
||||||
WebGetArg("a3", tmp, sizeof(tmp));
|
snprintf_P(stemp2, sizeof(stemp2), PSTR(FRIENDLY_NAME"%d"), i +1);
|
||||||
strlcpy(Settings.friendlyname[2], (!strlen(tmp)) ? FRIENDLY_NAME"3" : tmp, sizeof(Settings.friendlyname[2]));
|
strlcpy(Settings.friendlyname[i], (!strlen(tmp)) ? (i) ? stemp2 : FRIENDLY_NAME : tmp, sizeof(Settings.friendlyname[i]));
|
||||||
WebGetArg("a4", tmp, sizeof(tmp));
|
snprintf_P(log_data, sizeof(log_data), PSTR("%s%s %s"), log_data, (i) ? "," : "", Settings.friendlyname[i]);
|
||||||
strlcpy(Settings.friendlyname[3], (!strlen(tmp)) ? FRIENDLY_NAME"4" : tmp, sizeof(Settings.friendlyname[3]));
|
}
|
||||||
snprintf_P(log_data, sizeof(log_data), PSTR(D_LOG_OTHER D_MQTT_ENABLE " %s, " D_CMND_EMULATION " %d, " D_CMND_FRIENDLYNAME " %s, %s, %s, %s"),
|
|
||||||
GetStateText(Settings.flag.mqtt_enabled), Settings.flag2.emulation, Settings.friendlyname[0], Settings.friendlyname[1], Settings.friendlyname[2], Settings.friendlyname[3]);
|
|
||||||
AddLog(LOG_LEVEL_INFO);
|
AddLog(LOG_LEVEL_INFO);
|
||||||
break;
|
break;
|
||||||
case 6:
|
case 6:
|
||||||
|
@ -169,9 +169,9 @@ void TmInit()
|
|||||||
void TmLoop()
|
void TmLoop()
|
||||||
{
|
{
|
||||||
byte buttons = Tm1638GetButtons();
|
byte buttons = Tm1638GetButtons();
|
||||||
for (byte i = 0; i < 8; i++) {
|
for (byte i = 0; i < MAX_SWITCHES; i++) {
|
||||||
virtualswitch[i] = buttons &1;
|
virtualswitch[i] = buttons &1;
|
||||||
byte color = virtualswitch[i] ? TM1638_COLOR_RED : TM1638_COLOR_NONE;
|
byte color = (virtualswitch[i]) ? TM1638_COLOR_RED : TM1638_COLOR_NONE;
|
||||||
Tm1638SetLED(color, i);
|
Tm1638SetLED(color, i);
|
||||||
buttons >>= 1;
|
buttons >>= 1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user