# Reduzierung der #defines, stattdessen Einstellungen in Web-UI

**URL:** <https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798>\
**Category:** Software\
**Created:** [12. Februar 2024 um 09:43 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798 "2024-02-12T09:43:42Z")\
**Posts on this page:** 20\
**Page:** 3

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [17. Dezember 2024 um 06:17 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/42 "2024-12-17T06:17:25Z")

</div>

> [@QDaniel](#):
>
> @trainbird Ist der aktuelle Stand mit dem Arkordion schon irgendwo online?

Nein, der existiert bisher nur als Mockup bei mir. Ich wollte mal warten, bis der vorherige stand eingepflegt ist bevor ich weiter mache. Und Zeit hatte ich auch grad keine 😃

---

<div class="post-metadata">

**Author:** ![biologist](https://forum.espuino.de/user_avatar/forum.espuino.de/biologist/32/66_2.png) [@biologist](https://forum.espuino.de/u/biologist)\
**Post date:** [17. Dezember 2024 um 08:11 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/43 "2024-12-17T08:11:56Z")

</div>

> [@QDaniel](#):
>
> Wie weit soll den nun die Config gehen? Auch PIN Settings?

Ja, auf jeden Fall alles rein.  
Wir brauch folgende Sachen:

a) Komplett konfigurierbar über WebUI  
b) Wir brauchen eine Beschreibung hier in der Kategorie [Dokumentation - ESPuino :: Rfid-controlled musicplayer](https://forum.espuino.de/c/dokumentation/9), so dass man den User vom WebUI drauf verweisen kann. Also dass man eine Vorstellung davon kriegt, was dieses Feature macht.  
c) Das hat @tueddy ja schon erwähnt: Es braucht, am besten im Rahmen von b, auch eine Beschreibung, was zu tun ist, um den Serverdienst selbst aufzusetzen.  
d) Ansonsten muss der Code noch CLANG-konform werden und etwaige Loggings müssen, statt über serial.print() entsprechend über unser Logging laufen. Aber du hattest ja gesagt, dass das Ganze noch WIP ist. Ich will’s nur erwähnt haben 🙂

Wenn das dann soweit getestet ist, dann einen PR für den dev bereitstellen und dann mergen wir das rein.  
An der Stelle schon mal danke für deine Arbeit 👍.

---

<div class="post-metadata">

**Author:** ![QDaniel](https://forum.espuino.de/user_avatar/forum.espuino.de/qdaniel/32/122_2.png) [@QDaniel](https://forum.espuino.de/u/QDaniel)\
**Post date:** [18. Dezember 2024 um 14:45 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/44 "2024-12-18T14:45:14Z")

</div>

Ich würde gerne die commands dahin ändern, das man Parameter angeben kann.

Dann können wir die Befehle vereinfachen und besser personalisieren.

Zb. Die Timer cmds als Parameter die Zeit,  
Bei den ein/aus commands das ein/aus/toggle als Parameter  
Bei den virtual rfid die TagID  
…

Wäre zwar eine etwas größere Umstellung aber die könnte man auch fürs erste kompatibel mit dem aktuellen Code halten.

---

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [19. Dezember 2024 um 14:00 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/45 "2024-12-19T14:00:20Z")

</div>

> [@Drehencoder by ESPuino](https://forum.espuino.de/t/drehencoder-by-espuino/2414/14):
>
> Es wäre aber auf jeden Fall probat, diese Einstellung möglichst bald in das [Webinterface](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/44) zu übernehmen, so dass man dafür nicht neu kompilieren muss. Andererseits ist es aber auch keine Einstellung, die man ständig ändern muss.

Das is ein guter Punkt, vielleicht sollte man unterscheiden in Einstellungen, die direkt nach dem einrichten des AP gemacht werden müssen und solche, die man auch laufend noch anpasst? So als eine Art Installationswizard. Den kann man dann auch später noch aufrufen, aber er ist nicht so wichtig wie bspw. MaxVolume.

---

<div class="post-metadata">

**Author:** ![QDaniel](https://forum.espuino.de/user_avatar/forum.espuino.de/qdaniel/32/122_2.png) [@QDaniel](https://forum.espuino.de/u/QDaniel)\
**Post date:** [19. Dezember 2024 um 15:24 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/46 "2024-12-19T15:24:49Z")

</div>

Ja , das macht Sinn.

Gerade die PIN Configurationen oder Hardwareauswahl.

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [19. Dezember 2024 um 16:55 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/47 "2024-12-19T16:55:04Z")

</div>

Das sehe ich mehr oder weniger auch so. Für die Hauptarbeit im Backend spielt das aber erstmal keine Rolle. Der Endpunkt /settings ist für den AP/STA Modus vorhanden. Dann muss man sich nur noch entscheiden, wohin die Einstellung im Frontend gehen soll.

Die Drehrichtungsumkehr oder z.B. die Anzahl der Neopixel könnte ich mir auch gut in der management.html vorstellen, diese Einstellungen sind da so in der Mitte. Dann wären wir wieder bei dem Thema AP/ Verwaltungsseite zusammenführen.

Aus Nutzersicht: Ich habe alles eingerichtet und stelle dann fest, dass die Lautstärkeregelung falsch herum ist. Dann müsste ich die WLAN Verbindung löschen um wieder in den AP Modus zu kommen und dann die Einstellung vornehmen, danach wieder mit dem WLAN verbinden.  
Also etwas umständlich 😉

Mein Vorschlag: Wir nehmen diese Einstellungen zunächst in management.html rein. Edit: Und dann solche Einstellungen z.B. über ein „Erweitert“ Akkordeon einblenden

---

<div class="post-metadata">

**Author:** ![JHB](https://forum.espuino.de/letter_avatar_proxy/v4/letter/j/67e7ee/32.png) [@JHB](https://forum.espuino.de/u/JHB)\
**Post date:** [19. Dezember 2024 um 17:18 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/48 "2024-12-19T17:18:04Z")

</div>

> [@tueddy](#):
>
> Dann müsste ich die WLAN Verbindung löschen um wieder in den AP Modus zu kommen und dann die Einstellung vornehmen

oder es gibt einen Knopf „Wizard neu starten“ und dann startet der AP mit allen vorherigen Infos vorausgefüllt 😃  
oder der Wizard ist von beiden Seiten erreichbar, sowohl vom AP als auch vom STA Modus… (natürlich auch mit den Daten von vorher ausgefüllt)

---

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [19. Dezember 2024 um 19:22 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/49 "2024-12-19T19:22:42Z")

</div>

> [@JHB](#):
>
> oder es gibt einen Knopf „Wizard neu starten“ und dann startet der AP mit allen vorherigen Infos vorausgefüllt 😃

Den Teil hatte ich auch gedacht aber offenbar vergessen niederzuschreiben 😉

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [20. Dezember 2024 um 13:15 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/50 "2024-12-20T13:15:19Z")

</div>

Ja finde ich auch eine gute Idee.  
[Aktualisierung ArduinoJson von 6 auf 7](https://forum.espuino.de/t/aktualisierung-arduinojson-von-6-auf-7/3431/1) würde ich als nächstes vorschlagen

---

<div class="post-metadata">

**Author:** ![MacGyver](https://forum.espuino.de/letter_avatar_proxy/v4/letter/m/ac91a4/32.png) [@MacGyver](https://forum.espuino.de/u/MacGyver)\
**Post date:** [24. Dezember 2024 um 22:49 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/51 "2024-12-24T22:49:50Z")

</div>

Ich verstehe zwar nur einen Bruchteil des hier Geschriebenen, aber die Grundidee finde ich als Anfänger sehr gut!

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [28. Dezember 2024 um 21:10 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/52 "2024-12-28T21:10:32Z")

</div>

Ich habe mal die Machbarkeit für dynamische Hardware-Einstellungen getestet, so könnte es aussehen:

 ![grafik](https://forum.espuino.de/uploads/default/original/2X/5/5c7d09c0605a49bc8dfde3bedf636e2eeed0f66c.png)

Das ist mir beim Testen aufgefallen:

Ich habe die Accespoint-Seite über [http://espuino.local/ap](http://espuino.local/ap) auch im Stationsmodus aufrufbar gemacht, ein Schalter „Hardware“ in der Management-Seite ist also möglich & einfach. Aber auch unschön, da es mit dem Single-Page Konzept & Design bricht. Mein Vorschlag wäre hier die Hardwareeinstellungen sowohl in der Ersteinrichtung (Accesspoint.html) als auch in einem Reiter „Hardware“ oder aufklappbares Akkordeon in der management.html unterzubringen. Im Frontend zweimal, im Backend (Web.cpp) nur einmal.

Ein einziger „Submit“-Button erscheint mir nicht möglich, da sonst das bereits gespeicherte WLAN-Passwort wieder an das Web-UI übertragen werden müsste, was eine Sicherheitslücke wäre. Hier also ein „Submit“ für die WLAN-Einstellungen und einer für die Hardware-Konfiguration.

Die Umkehrung der Encoder-Drehrichtung funktioniert bei mir schon direkt nach dem Speichern, perfekt!

Schwieriger wird es mit dem dynamischen Ändern von `NUM_INDICATOR_LEDS`, `NUM_CONTROL_LEDS` und den anderen LED-Parametern. Das ist derzeit einfach zu [statisch in Led.cpp](https://github.com/biologist79/ESPuino/blob/f1d75de634a6f6c122158dd2daf82b7f846b400b/src/Led.cpp#L54)! Wer hat das gemacht & wer kann helfen? @laszloh oder @Joe91 oder @fschrempf ?

Hier mein Testcode:

> <https://github.com/tueddy/ESPuino/commit/7edd3304ec8aee33d376017796b09b049959e74e>

Ich freue mich über eure Meinung!

---

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [29. Dezember 2024 um 07:43 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/53 "2024-12-29T07:43:31Z")

</div>

Ich würde das lieber vollständig im `management.html` realisieren und da per overlays und seitenweise wie es bei OS-installationen läuft. Damit hat man mehr Spielraum mit dem code, es ist cleaner von der ui her, es kann direkt wieder aufgerufen werden und spart die doppelte Implementierung.

Absenden kann man dann per „Weiter“ jeden schritt einzeln.

Insgesamt kann man auch überlegen das in ein eigenes HTML zu packen um den code zu reduzieren, aber da scheint es bedenken zu geben?

Die Frage ist, ob wir irgendwoher wissen, ob schon mal eingerichtet wurde? Vllt per LEDs auf -1 setzen und entsprechend den wizard starten?

> [@tueddy](#):
>
> Die Umkehrung der Encoder-Drehrichtung funktioniert bei mir schon direkt nach dem Speichern, perfekt!

Cool, dass das gleich funktioniert!

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [29. Dezember 2024 um 10:25 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/54 "2024-12-29T10:25:53Z")

</div>

> [@trainbird](#):
>
> Insgesamt kann man auch überlegen das in ein eigenes HTML zu packen um den code zu reduzieren, aber da scheint es bedenken zu geben?

Wie soll das funktionieren? Mit so einem IFRAME, wird das überhaupt noch von den modernen Browsern unterstützt? Für die Accesspoint-Seite haben wir auch kein Bootstrap, JQuery usw. Ich sehe jetzt noch keine Möglichkeit den HTML-Code für beide Seiten zu verwenden?

---

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [29. Dezember 2024 um 15:50 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/55 "2024-12-29T15:50:26Z")

</div>

Nein, kein iframe, das funktioniert nicht.

> [@tueddy](#):
>
> Ich habe die Accespoint-Seite über [http://espuino.local/ap](http://espuino.local/ap) auch im Stationsmodus aufrufbar gemacht, ein Schalter „Hardware“ in der Management-Seite ist also möglich & einfach. Aber auch unschön, da es mit dem Single-Page Konzept & Design bricht.

Ich hatte gemeint, eine neue HTML, die per [http://espuino.local/wizard](http://espuino.local/wizard) oder so erreichbar wäre. Dann wäre es schön getrennt und einfach wiederaufrufbar, aber hätte (nach der AP-Einstellung) auch schon mehr Power mit bootstrap und jquery per cdn.

Es würde dann auch nicht irgendeine Logik für die Entscheidung benötigt, ob man den wizard startet oder nicht.

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [29. Dezember 2024 um 19:23 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/56 "2024-12-29T19:23:22Z")

</div>

Ja das habe ich schon verstanden die Einstellungen nur einmal anzulegen.

Aber wie sähe das konkret aus? Mit einem [\< embed\>](https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_embed_html)Tag? Evt. könnt Ihr es mal an einem Codeschipsel zeigen.

---

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [29. Dezember 2024 um 22:03 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/57 "2024-12-29T22:03:52Z")

</div>

Ich hab leider grad keinen Computer bei der Hand, kann das also nicht prototypen, ist mal ein Gedanke.

Also der Ablauf wäre in etwa so:

- Erster Start: Accesspoint vom ESPuino, man kommt zur wifi-Konfiguration → save (wie bisher), dann weiterleiten auf [http://espuino.local/wizard](http://espuino.local/wizard)
- zweiter Start (im WLAN): der wizard führt einen Schritt für Schritt durch. Am Ende leitet es weiter auf [http://espuino.local/](http://espuino.local/) und man kann alles wie gewohnt nutzen.
- In den Settings gibt es dann einen Link zu [http://espuino.local/wizard](http://espuino.local/wizard), damit man den wieder neu starten kann.

Kein einbetten, kein frame. Im Hintergrund liegt einfach eine separate HTML, über einen neuen Pfad ([http://espuino.local/wizard](http://espuino.local/wizard)), den man jederzeit wieder aufrufen kann.  
Aber ich lese da große Ablehnung raus, weil alles single-page bleiben sollte … Versteh ich das richtig?

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [29. Dezember 2024 um 22:30 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/58 "2024-12-29T22:30:41Z")

</div>

> [@trainbird](#):
>
> Aber ich lese da große Ablehnung raus, weil alles single-page bleiben sollte … Versteh ich das richtig?

Nein, das hast Du falsch verstanden, ich bin da offen für alle Schweinereien, solange es das grundlegende Designkonzept nicht über den Haufen wirft. Und hier entscheide nicht ich sondern auch die Gemeinschaft & wenn’s mal ganz falsch läuft auch mal Papa ;-). Ein Wizard wäre OK für mich, es können da schon einige Eiinstellungen zusammenkommen, macht evt. Sinn die über mehrere Schritte zu verteilen…

Meine Bedenken gehen eher in Richtung Umsetzung, freue mich daher auf einen ersten Entwurf!

---

<div class="post-metadata">

**Author:** ![QDaniel](https://forum.espuino.de/user_avatar/forum.espuino.de/qdaniel/32/122_2.png) [@QDaniel](https://forum.espuino.de/u/QDaniel)\
**Post date:** [29. Dezember 2024 um 22:47 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/59 "2024-12-29T22:47:57Z")

</div>

Alles was Grundeinstellungen sind welche eigentlich nie geändert werden,  
wäre ich für nen Wizard der extra aufrufbar ist.

Evtl. ne NVS Setting ob der Wizard schon durchlaufen wurde und dann beim ersten Connect nach den WLAN-Settings anzeigen.  
Oder auch wenn z.B. SDCard oder RFID nicht geladen werden kann.

Grundsettings sind für mich:

- PIN-Konfig
- Rfid PN5180 / MFRC522
- SDCard Mode
- Cloud-Url
- …

---

<div class="post-metadata">

**Author:** ![trainbird](https://forum.espuino.de/letter_avatar_proxy/v4/letter/t/49beb7/32.png) [@trainbird](https://forum.espuino.de/u/trainbird)\
**Post date:** [30. Dezember 2024 um 06:54 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/60 "2024-12-30T06:54:32Z")

</div>

> [@tueddy](#):
>
> Ein Wizard wäre OK für mich, es können da schon einige Eiinstellungen zusammenkommen, macht evt. Sinn die über mehrere Schritte zu verteilen…

Auf jeden Fall! Das macht wenig Sinn, das auszulagern und dann alles auf einen screen zu packen 😃

> [@QDaniel](#):
>
> Evtl. ne NVS Setting ob der Wizard schon durchlaufen wurde und dann beim ersten Connect nach den WLAN-Settings anzeigen.  
> Oder auch wenn z.B. SDCard oder RFID nicht geladen werden kann.

Da bin ich eben zu wenig bewandert, wie das am ESP funktioniert und was da technisch die schönste/geschickteste Lösung ist und entsprechend offen für Inputs 🙂

---

<div class="post-metadata">

**Author:** ![tueddy](https://forum.espuino.de/user_avatar/forum.espuino.de/tueddy/32/22_2.png) [@tueddy](https://forum.espuino.de/u/tueddy)\
**Post date:** [3. Januar 2025 um 12:35 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/61 "2025-01-03T12:35:40Z")

</div>

Zunächst ein frohes neues Jahr!

Bevor es zu den Hardwareeinstellungen geht habe ich mal diese #defines in zur Laufzeit änderbare Einstellungen umgewandelt:

```auto
NUM_INDICATOR_LEDS
NUM_CONTROL_LEDS
CONTROL_LEDS_COLORS
NUM_LEDS_IDLE_DOTS
OFFSET_PAUSE_LEDS
PROGRESS_HUE_START
PROGRESS_HUE_END
DIMMABLE_STATES

REVERSE_ROTARY

BUTTON_0_SHORT - BUTTON_5_SHORT
BUTTON_0_LONG - BUTTON_5_LONG
BUTTON_MULTI_01 - BUTTON_MULTI_45

```

Damit kann zur Laufzeit z.B. Anzahl der Neopixel oder [Kontroll-LEDs](https://forum.espuino.de/t/statische-ws2812-leds/1703), Richtung des Drehimpulsgebers oder die Zuweisung der Tasten geändert werden.

Weil es so viel ist habe ich zunächst **nur** das Backend als PR eingestellt. Der PR ist voll abwärtkompatibel, d.h solange die Einstellungen im Web-UI noch nicht verfügbar sind fallen sie auf die #defines zurück.

Schaut es euch hier mal an, vor allem Led.cpp:

> <https://github.com/biologist79/ESPuino/pull/358>
>
> This PR makes these settings configurable at runtime:
> 
> \`\`\`
> NUM\_INDICATOR\_LEDS…
> NUM\_CONTROL\_LEDS
> CONTROL\_LEDS\_COLORS
> NUM\_LEDS\_IDLE\_DOTS
> OFFSET\_PAUSE\_LEDS
> PROGRESS\_HUE\_START
> PROGRESS\_HUE\_END
> DIMMABLE\_STATES
> 
> REVERSE\_ROTARY
> 
> BUTTON\_0\_SHORT - BUTTON\_5\_SHORT
> BUTTON\_0\_LONG - BUTTON\_5\_LONG
> BUTTON\_MULTI\_01 - BUTTON\_MULTI\_45
> \`\`\`
> PR is fully backwards compatible. All existing #defines are used for now.
> PR does not yet contain the HTML frontend (work in progress)

Ich habe die Einstellungen in management.html getestet, so könnte es dann aussehen.

 ![grafik](https://forum.espuino.de/uploads/default/original/2X/3/3afa86b7592427ace28eefebc89336968f943620.png)

 ![grafik](https://forum.espuino.de/uploads/default/original/2X/d/d48eb6ff17a17d75cb18f13c493162bd3305760e.png)

 ![grafik](https://forum.espuino.de/uploads/default/original/2X/9/96149da2f24344016e3a1e19ebda4e6deabf2d7d.png)

Für die Fertigstellung/Verschönerung des Web-UI könnte ich noch etwas Hilfe gebrauchen, wer möchte sich beteiligen, evt. @trainbird ?

[Vorherige Seite](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798.md?page=2)

[Nächste Seite](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798.md?page=4)
