Variabile Arduino in value Javascript[RISOLTO]

Grazie per l’eventuale aiuto e mi scuso sin da ora se ho sbagliato topic.

Nel mio progetto ho una pagina html con un campo testo denominatp passwd il mio problema è che vorrei che all’apertura della pagina la casella di testo fosse riempita con la password corrente memorizzata nella variabile prova.
Come da sketch che vi invio se metto nella value del campo testo, tramite javascript, il valore “test” tutto funziona , ma se metto il valore prova non va.
Ho contollato e sia la pagina html che lo script funzionano.
Dove sbaglio?

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
ESP8266WebServer server(80);
String ssidPasswd = "1234567890123", ssidNome = "GuestOne"; //SSID password e nome
String prova = "test";//---------------------------------------------<<<<<<<<<<<<<<<<<<<<<<variabile da inserire
//----------------------pagina html
String  page() {
  String html = "<!DOCTYPE HTML>\r\n<html><head>\r\n<title>Prova</title>\r\n";
  html += "<script>\r\n";
  html += "function Load()\r\n";
  html += "{\r\n";
  //html += "document.getElementById('pass').value = 'test'; \r\n";//<<<<<<<<<<<<<<<<< metto questo mi appare test nel box txt
  html += "document.getElementById('pass').value = prova; \r\n";//<<<<<<<<<<<<<<<<<< metto questo non appare nulla dovrebbe apparire la parola test
  html += "}\r\n";
  html += "</script>\r\n";
  html += "</head >\r\n<body onload = 'Load()'>\r\n";
  html += "<p><label>La mia password &egrave :</label>";
  html += "<input name = 'passw' input id='pass' input type='text' length=64 value=''></p>\r\n";//valore andrebbe qui
  html += "<p>";
  html += "</h2>\r\n</body>\r\n</html>";
  return html;
}
//----------------------------------------
void setup() {
  int c = 0;
  WiFi.mode(WIFI_OFF);
  Serial.begin(115200);
  server.on("/", rootPage);//-avvio il webserver
  server.begin();
  WiFi.mode(WIFI_STA);//--mi connetto alla WiFi e aspetto la connessione
  WiFi.begin(ssidNome.c_str(), ssidPasswd.c_str());
  while (c < 20) {
    if (WiFi.status() == WL_CONNECTED) {

      rootPage();
      return;
    }
    delay(500);
    Serial.print(WiFi.status());
    c++;
  }
}
void rootPage() {

  server.send(200, "text/html", page());

  Serial.println("Server attivo");
}
void loop() {
  server.handleClient();
}

Ho cercato in molti forum, ma non ho trovato niente.

  html += "document.getElementById('pass').value = prova; \r\n";//<<<<<<<<<<<<<<<<<< metto questo non appare nulla dovrebbe apparire la parola test

Questa è la parte incriminata.
Grazie

Ciao per passare il valore contenuto nella tua variabile devi chiudere la stringa html, aggiungere la variabile e poi aprire nuovamente la stringa html per mettere la restante parte, ad esempio:

html += "document.getElementById('pass').value = '" + prova + "';";

in questo modo nella stringa html avrai la carte fissa (Es. document.getElementById...) e tra apici singoli il valore contenuto nella variabile. Una password passata in chiaro e contenuta nel codice javascript della pagina equivale a non avere una password... :)

grazie per la dritta, in verità lo sketch è un po' complicato quello che ho postato era solo per esempio. Grazie di nuovo