Je viens de mettre en place l'incrémentation / décrémentation des valeurs de la page8.
Comme prévu, le code fonctionne, mais l'affichage ne suit pas : je dois recharger manuellement la page à chaque click pour afficher la valeur modifiée.
J'ai codé comme suit :
Sur la page, chacune des 4 valeurs de paramètre à changer est précédée d'un bouton décrémenter et suivie d'un autre incrémenter.
Exemple issu de la page8, les boutons envoient "tpjdown" et "tpjup" pour température de jour :
<a class="btn btn-basic" href='/tpjdown' role="button"><B>◀</a>
Temp. J %TEMPJ%°
<a class="btn btn-basic" href='/tpjup' role="button"><B>▶</a>
Si je traite ces "GET /" chacun dans une fonction en ne traitant que le calcul, j'ai une erreur de page, normal.
J'ai donc écrit ceci (exemple pour incrémentation) :
void tpjincr() {
Serial.println("GET /tpjup");
if (local == "Salon")
{ tjs = tjs + 0.5;
if (tjs > 22.0)
{ tjs = 22.0; }
message.replace("%TEMPJ%", String(tjs,1));}
...... //idem pour les 3 autre locaux , puis ......
server.send(200, "text/html", message); // à la fin de la fonction
le message étant élaboré pour la page8 reste donc valable, balise de TEMPJ exceptée, donc actualisée avant.
L'incrémentation se passe bien "en dessous" mais la page réaffichée reste sur sa valeur d'ouverture. Je dois remonter à la page pointant vers la page8 par un choix "valider" pour réafficher cette dernière, cette fois avec la valeur modifiée.
Cette gymnastique a le mérite d'être fonctionnelle, mais va vite m'énerver...