@Олег Поляков, Ладно, спасибо за помощь, я понял что нифига не понял. Буду ждать обновление gyverportal, может что для меня нужное появится.
								Вставьте в GiverPortal.h@Олег Поляков, Ладно, спасибо за помощь, я понял что нифига не понял. Буду ждать обновление gyverportal, может что для меня нужное появится.
  void UPDATE(const char* value) {
        *_gp_sptr += F("<meta http-equiv=\"Refresh" );
        *_gp_sptr += "\" content=\"";
        *_gp_sptr += value;
        *_gp_sptr += F("\">\n");
    }
	  if (en_start) {
    if (fl_b) {
      fl_b = 0;
      portal.attachBuild(build);
      portal.start();
    }
  }
  else fl_b = 1;
  portal.tick();
	   if(theme_dark) add.THEME(GP_DARK);
    else add.THEME(GP_LIGHT);
	  if (portal.form())
    {
            if (portal.form("/update"))
        {
            if (theme_dark == LOW) theme_dark = HIGH;
            else theme_dark = LOW;
        }
    }
	
    // вернёт true, если был клик по указанному элементу (кнопка, чекбокс, свитч, слайдер, селектор)
    bool click(const char* name) {
        return _clickF ? server.argName(0).equals(name) : 0;
    }
	void AJAX_UPDATE(const char* list, int prd = 1000) { // Код страницы,  отправка запросов
        *_gp_sptr += F("<script>setInterval(function(){\n");
        *_gp_sptr += "var elms=[";
        char buf[strlen(list) + 1];
        strcpy(buf, list);
        char* str = buf;
        splitList(NULL);
        while ((str = splitList(buf)) != NULL) {
            *_gp_sptr += "'";
            if (str[0] == ' ') *_gp_sptr += (str + 1);
            else *_gp_sptr += str;
            *_gp_sptr += "',";
        }
        *_gp_sptr += F("];\n"
        "elms.forEach(function(elm){\n"
        "var xhttp=new XMLHttpRequest();\n"
        "xhttp.onreadystatechange=function(){\n"
        "if(this.readyState==4&&this.status==200){\n"
        "var resp=this.responseText;\n"
        "var item=document.getElementById(elm);\n"
        "if(elm == \"ResetWeb\" && resp == 1){location.reload();}\n"
        "else{"
        "if (elm == \"ResetWeb\" && resp == 0){}else{"
        "if(item.type==\"checkbox\"||item.type==\"radio\")item.checked=Number(resp);\n"
        "else if(item.type==undefined)item.innerHTML=resp;\n"
        "else item.value=resp;}\n"
        "}}};xhttp.open(\"GET\",\"GP_update\"+elm,true);xhttp.send();});},");
        *_gp_sptr += prd;
        *_gp_sptr += F(");</script>\n");
    }
	add.AJAX_UPDATE(PSTR("var1, var2, var3, var4, var5, var6, ResetWeb"),1000);
	if (portal.update()){
    if (portal.update("ResetWeb")){
        if(flag==true){                     
          portal.answer(String(1)); // перезагрузит страницу
          flag = false;             // сброс флага
         } else{
          portal.answer(String(0)); //не перезагружать страницу
        }
    }
    if (portal.update("var1")){}
}
	этот код приводит к крашу ESP32.C++:void BLOCK_BEGIN(const char* name="") { *_gp_sptr += F("<div class=\"block\" id=\"blockBack\">\n"); if (name != "") { *_gp_sptr += F("<div class=\"blockHeader\">"); *_gp_sptr += name; *_gp_sptr += F("</div>\n"); } }
#include <GyverPortal.h>
GyverPortal portal;
// объявил переменную
GPtime valTime = {
        (uint16_t)21, (uint8_t)28,(uint8_t)0
      };
void action() {
  // одна из форм была submit
  if (portal.form()) {
    // проверяем, была ли это форма "/save"
    if (portal.form("/save")) {
      // забираем значения и обновляем переменные
      brDisp = portal.getInt("br");
      valTime = portal.getTime("time");
      // выводим для отладки
      Serial.print(brDisp);
      Serial.print(',');
      Serial.print(valTime.encode());   // - тут выдаёт ошибку
    }
  }
}
	<head>
 <link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon">
</head>
	 *_GP += F("<!DOCTYPE HTML><html><head>\n"
        "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n"
        "<meta charset=\"utf-8\"></head><body>\n");
	<input type='button' onclick='window.location.reload()'  value ='обновить' />