diff --git a/tasmota/support_statistics.ino b/tasmota/support_statistics.ino index 1907b1edc..78334e7eb 100644 --- a/tasmota/support_statistics.ino +++ b/tasmota/support_statistics.ino @@ -27,7 +27,43 @@ String GetStatistics(void) { char data[40]; - snprintf_P(data, sizeof(data), PSTR(",\"CR\":\"%d/%d\""), GetSettingsTextLen(), settings_text_size); // Char Usage Ratio + + if (Settings.version < 0x08000000) { + uint32_t str_len = 0; + for (uint32_t i = 0; i < 2; i++) { + str_len += strlen(Settings.sta_ssid[i]); + str_len += strlen(Settings.sta_pwd[i]); + } + for (uint32_t i = 0; i < 3; i++) { + str_len += strlen(Settings.mqtt_prefix[i]); + str_len += strlen(Settings.ntp_server[i]); + } + for (uint32_t i = 0; i < 4; i++) { + str_len += strlen(Settings.state_text[i]); + str_len += strlen(Settings.friendlyname[i]); + } + for (uint32_t i = 0; i < MAX_RULE_MEMS; i++) { + str_len += strlen(Settings.mems[i]); + } + + str_len += strlen(Settings.ota_url); + str_len += strlen(Settings.hostname); + str_len += strlen(Settings.syslog_host); + str_len += strlen(Settings.mqtt_host); + str_len += strlen(Settings.mqtt_client); + str_len += strlen(Settings.mqtt_user); + str_len += strlen(Settings.mqtt_pwd); + str_len += strlen(Settings.mqtt_topic); + str_len += strlen(Settings.button_topic); + str_len += strlen(Settings.switch_topic); + str_len += strlen(Settings.mqtt_grptopic); + str_len += strlen(Settings.web_password); + str_len += strlen(Settings.mqtt_fulltopic); + str_len += strlen(Settings.cors_domain); + snprintf_P(data, sizeof(data), PSTR(",\"CR\":\"%d/1151\""), str_len); // Char Usage Ratio + } else { + snprintf_P(data, sizeof(data), PSTR(",\"CR\":\"%d/%d\""), GetSettingsTextLen(), settings_text_size); // Char Usage Ratio + } return String(data); }