Internetadressleiste in Ursprungsform über einen Befehl des Arduinos bringen!?!?

Hallo an alle!!
Ich habe folgendes Problem: Ich nutze meinen Arduino Mega 2560 R3 als Webserver und alles funktioniert jetzt soweit gut.
Durch das Betätigen eines Buttons auf der Webseite wird ein Befehl über die Adressleiste die der Arduino ausliest geschickt.
Der Befehl besteht aus z.B. pinD22=0 (Pin, Digital, Port 22, LOW) dies wird der IP-Adresse der Webseite hinzugefügt und der Arduino sucht in ihr nach pin, variable (D oder A) und value (High, LOW).
Nachdem der Befehl ausgeführt wurde ist jedoch in der Adressleiste immernoch das hinzugefügte und beim erneuten aktualisieren der seite wird dieser nochmal ausgeführt und erst dann ist die Adressleiste wieder auf der Standard-IP.
Mein Ziel ist es das jedesmal wenn ein Befehl ausgelesen wurde die Adressleiste wieder automatisch auf ihre ursprungsform gebracht wird, aber alles was ich versucht habe über links oder sonstiges hat nicht geklappt.
Ich hoffe das jemand mir helfen kann und bedanke mich im Voraus !!!

Wenn Du eine Seite nochmal lädst (F5) wird der GET-Teil natürlich nochmal übertragen. Ich weiß keine Lösung dafür.
Grüße Uwe

hi,

Du darfst dann nicht mit get arbeiten, sondern mit post.

gruß stefan

Wenn du eine Adresse an den Arduino sendest, kannst du ja auch immer etwas zurück senden. Sende da einfach eine html seite mit javascript weiterleitung auf die Seite ohne den get parameter. dann hast oben drin wieder die normale adresse stehen.

TobiasR1991:
Nachdem der Befehl ausgeführt wurde ist jedoch in der Adressleiste immernoch das hinzugefügte und beim erneuten aktualisieren der seite wird dieser nochmal ausgeführt und erst dann ist die Adressleiste wieder auf der Standard-IP.

HTTP ist ein Client-Server Protokoll. Wenn Dein Client(Webbrowser) eine GET-Anfrage mit übermittelten Parametern macht und der Server (Arduino) daraufhin als Status Code "200 OK" ausliefert, dann ist das für den Client so in Ordnung und er zeigt die GET-Parameter auch wieder in der URL-Adresse an. Eben genau die URL-Adresse, die vom Server angefordert wurde.

Wenn das nicht OK ist, dann darfst Du eben nicht
client.println("HTTP/1.1 200 OK");
an den Server zurücksenden.

Einfach zu merken: Sende NICHT ein OK, wenn es tatsächlich nicht OK ist!

Was Du möchtest, ist womöglich den Server anzuweisen, dass der Client lieber eine andere Adresse ohne Parameter abrufen soll, und dass geht beim HTTP-Protokoll auch zig Jahre nach der Erfindung des Internets damit, dass Du dem Cient nach der Verarbeitung der Parameter einen Statuscode entweder "301 Moved Permanently" oder "302 Moved Temporarily" zurücksendest. Natürlich mit der Angabe, wo der Client denn die "verschobene" URL Adresse abrufen soll. Wenn ich mich richtig erinnere ungefähr so, falls stattdessen die Datei index.htm ohne Parameter abgerufen werden soll:
client.println("HTTP/1.1 302 Moved Temporarily");
client.println("Location: /index.htm");

Dann brauchst Du nach diesem Header nichts weiter als eine Leerzeile senden und die Verbindung schließen. Sobald der Webbrowser diese Serverantwort erhält, ruft er dann gleich danach die "verschobene" Adresse mit einer neuen Anfrage an den Server ab. Und wenn diese Serveranfrage dann mit Status "200 OK" abgewickelt wird, steht die neue URL auch im Browser.

Zu erst möchte ich euch vielmals danken !!!
Ich werde später versuchen das Problem mit euren Tipps zu lösen.
Anbei habe ich nur mal den Programmcode hochgeladen, da ich jetzt erst noch in die Technikerabendschule muss und falls jemand schon vorab etwas helfen möchte :stuck_out_tongue:

So habe jetzt mal bissel rumprobiert und bin dank jurs Tip bzw. Lösung zu einer akzeptablen Zustand der Steuerung gekommen !
Es wird zwar ein paar millisekunden benötigt um die Befehle zu verarbeiten und die Adressleiste wieder “sauber” zu machen, aber es funktioniert wenn man nicht mehrmals hintereinander auf den Bestätigen-Button drückt (wer das Skript ansieht bzw. ausprobieren sollte der weiß welcher Button ich meine).
Im Normalgebrauch wird dies aber nie der Fall sein XD

Vielen Dank nochmal an alle für die schnelle und große Hilfe, vorallem an jurs für deinen direkten Treffer <---- 10 von 10 Punkte XD

Anbei der nun akzeptabel funktionierende Programmcode für diejenigen die vielleicht interesse daran haben oder nachschauen wollen, ob ich das richtig gemacht habe XD

Haussteuerung___Arduino_Mega___INO_Datei.ino (15.8 KB)