Websocket auf ESP8266 Server, Datenübertragung

Hallo,
ich habe auf einem ESP einen Server (AP) mit Websocket laufen, der mir serielle Daten an meine Webseite schickt. Alles läuft stabil. Nur eine Sache bekomme ich nicht in den Griff:
Die Daten werden durch ein document.getElementById..innerHTML angezeigt. Aber die Werte kumulieren, d.h., dass ein Wert empfangen wird (z.B. NDR2) und der nächste Wert (NDR1) drangehängt ist. So wird der Text immer länger und ist natürlich nicht zu gebrauchen. Auch ein value=" " vor dem Empfang bringt nicht. Ich glaube eher, das liegt am Buffer des Websockets. Gibt es eine Möglichkeit, evtl den Buffer nach Erhalt eines Datensatzes zu löschen?

Der Empfang auf der HTML-Seite:

function start()
{
  Socket = new WebSocket('ws://' + window.location.hostname + ':81/');
  Socket.onmessage = function(evt)
  {
        document.getElementById("sender").innerHTML += evt.data;
  }
}

Das Senden vom Server aus:

   webSocket.loop();
   server.handleClient();
   if (ESPSerial.available() > 0)
   {
      char c[] = {(char)ESPSerial.read()};
      webSocket.broadcastTXT(c, sizeof(c));
    }

Ich bin für jeden Tip dankbar.

Grüße

Achso, Nachtrag: in die andere Richtung, von HTML zum Server funktioniert es super, da kommen die einzelnen Daten auch getrennt an.

HTML senden:

                    <div align="center">
                       <p class="kopf">Stationstaste:</p>
                       <select align="center" id="myselect" class="selin"
                               onchange="change_myselect(this.value)">
                              <option value="0">keine</option>
                              <option value="1">1</option>
                              <option value="2">2</option>
                              <option value="3">3</option>
                              <option value="4">4</option>
                              <option value="5">5</option>
                              <option value="6">6</option>
                              <option value="7">7</option>
                              <option value="8">8</option>
                              <option value="9">9</option>
                              <option value="10">10</option>
                         </select>
                     </div>


function change_myselect(sel)
{
   Socket.send("Taste "+sel);
}

...und Server empfang:

void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t length)
{
   if (type == WStype_TEXT)
   {
    for(int i = 0; i < length; i++) ESPSerial.print((char) payload[i]);
    ESPSerial.println();
   }
}

document.getElementById("sender").innerHTML += evt.data;

wozu das += ? ? ?

was passiert bei

document.getElementById("sender").innerHTML = evt.data;

Hallo, zur Info:

Ist erledigt, ich lade die Files für die Webseite von einer angeschlossenen SD-Karte. Der Server kann nur Dateinamen bis 8 Zeichen(8.3) händeln...

die "jquery-1.10.2.js", die ich lokal im JS-Ordner habe und für den refresh der Seite gebraucht wird, war zu lang. Jetzt heißt sie jquery.js und alles läuft Top.

Grüße