# 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:** 2

<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:** [7. November 2024 um 08:41 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/22 "2024-11-07T08:41:08Z")

</div>

> [@trainbird](#):
>
> Sollte im `settings.h` dann die Zeile einfach kommentarlos raus fallen oder soll ich sie mit Verweis auf die Weboberfläche auskommentieren?

Ich würde dann die Zeilen nach und nach **komplett** entfernen. So können wir auch gut sehen welche Einstellungen noch portiert werden müssen.

> [@biologist](#):
>
> Und das treibt man im besten Falle so weit, dass man auch den RFID-Reader wählen kann, so dass man ein universal build anstreben kann. Aber der Weg wird echt super lang: Man kann ja Tod und Teufel konfigurieren in ESPuino.

Die Hardware zur Laufzeit konfigurierbar zu machen - Das ist ein weiterer Schritt den ich hier erstmal rauslassen würde. Nachher startet der ESPuino nicht mehr wenn man sich den PortExpander in der Web-UI abgeschaltet hat 😉 Man müsste dann auch so eine Testfunktion haben die auf vorhandene Hardware prüft…

---

<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:** [7. November 2024 um 15:06 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/23 "2024-11-07T15:06:21Z")

</div>

> [@tueddy](#):
>
> Ich würde dann die Zeilen nach und nach **komplett** entfernen. So können wir auch gut sehen welche Einstellungen noch portiert werden müssen.

Passt, dann mach ich das demnächst noch. Inklusive der Änderung mit den Defaults und `ifndef`.

> [@tueddy](#):
>
> Nachher startet der ESPuino nicht mehr wenn man sich den PortExpander in der Web-UI abgeschaltet hat 😉

Das hab ich mir auch schon gedacht, das is sicher ein Mega-Umbau

---

<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:** [10. November 2024 um 11:16 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/24 "2024-11-10T11:16:46Z")

</div>

Habe mir das Feature mal angeschaut:

- In `settings.h` gibt es diverse persönliche Anpassungen. Bevor ich die ganze Liste poste, führe am besten mal `git diff dev defines-in-web-ui src/settings.h` aus.
- „Abspielposition beim Ausschalten merken“ und „Abspielposition bei RFID-Tag Wechsel merken“ funktioniert scheinbar nicht.

Ansonsten gefällt’s mir. Ich denke wir werden das langfristig eher bisschen anders strukturieren müssen, wenn ganz viel aus der setttings.h dann umzieht. Aber das wird man sehen wenn es soweit ist.

Bin auch noch in einen Restart gelaufen, aber das wird mit deinen Änderungen wohl eher nix zu tun haben (erwähne es nur, damit es mal dokumentiert ist). Das kam einfach beim Abspielen so nach 2-3 Minuten bei einem mp3-File mit 256 kBit/s:

> E (246038) task\_wdt: Task watchdog got triggered. The following tasks did not reset the watchdog in time:  
> E (246038) task\_wdt: - IDLE0 (CPU 0)  
> E (246038) task\_wdt: Tasks currently running:  
> E (246038) task\_wdt: CPU 0: PeriodicTask  
> E (246038) task\_wdt: CPU 1: IDLE1  
> E (246038) task\_wdt: Aborting.

---

<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:** [10. November 2024 um 20:11 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/25 "2024-11-10T20:11:09Z")

</div>

> [@biologist](#):
>
> In `settings.h` gibt es diverse persönliche Anpassungen. Bevor ich die ganze Liste poste, führe am besten mal `git diff dev defines-in-web-ui src/settings.h` aus.

Jap, wurde auch auf github darauf hingewiesen, ich bin da mit vscode und GitLens ein bissl überfordert 🤦‍♂️  
Oder mit dem Fakt, dass man in ei gecheckten files configs vornehmen muss… Könnte man das nicht mal in ein File in .gitignore schieben, damit das nicht so ein Krampf wird beim einchecken?

> [@biologist](#):
>
> „Abspielposition beim Ausschalten merken“ und „Abspielposition bei RFID-Tag Wechsel merken“ funktioniert scheinbar nicht.

Okay, das muss ich mir dann ansehen 🤔

---

<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:** [10. November 2024 um 20:22 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/26 "2024-11-10T20:22:59Z")

</div>

> [@trainbird](#):
>
> Könnte man das nicht mal in ein File in .gitignore schieben, damit das nicht so ein Krampf wird beim einchecken?

Warum nutzt du nicht einfach `settings-override.h`?

---

<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:** [11. November 2024 um 07:06 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/27 "2024-11-11T07:06:38Z")

</div>

Weil ich nicht wusste, dass es die gibt! Das werde ich gleich machen 😉

In der Doku zur `settings.h` wird die auch nicht erwähnt, drum ist sie mir durch gerutscht…

---

<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:** [23. November 2024 um 06:37 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/28 "2024-11-23T06:37:20Z")

</div>

> [@biologist](#):
>
> „Abspielposition beim Ausschalten merken“ und „Abspielposition bei RFID-Tag Wechsel merken“ funktioniert scheinbar nicht.

„Abspielposition beim Ausschalten“: Funktioniert bei mir soweit ich das verstehe. Also, Tag spielt, ich drücke auf den Ausschaltknopf, nächstes Mal booten spielt er den Tag an der Stelle weiter - das ist was ich beobachten kann.

„Abspielposition bei RFID-Tag Wechsel merken“: Bei mir passiert es ungefähr bei ein in zehn Wechsel, dass es nicht speichert. War es vorher noch verlässlicher? Hab das nämlich im Normalfall `PAUSE_WHEN_RFID_REMOVED` aktiv, das hebelt den Punkt etwas aus …

Ich glaube außerdem, dass man rebooten muss, damit die Änderungen aktiv werden - oder zumindest manche … kann es daran liegen?  
Weil wenn ja, dann sollte die UI das vermutlich irgendwie kundtun 🙈

---

<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:** [23. November 2024 um 06:44 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/29 "2024-11-23T06:44:24Z")

</div>

`settings.h` ist jetz auch um die `#define`s ärmer geworden und die personal settings hab ich auch aufgeräumt 😉

---

<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:** [24. November 2024 um 20:47 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/30 "2024-11-24T20:47:06Z")

</div>

Habe es jetzt testen können, passt soweit, denke wir sind da auf der Zielgeraden! @trainbird gute Arbeit!

Was ich in der Weboberfläche nicht finden konnte ist die Einstellung für `VOLUMECURVE`, ist die irgendwie noch rausgefallen?

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

---

<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:** [25. November 2024 um 12:16 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/31 "2024-11-25T12:16:58Z")

</div>

> [@tueddy](#):
>
> Was ich in der Weboberfläche nicht finden konnte ist die Einstellung für `VOLUMECURVE`, ist die irgendwie noch rausgefallen?

Gut gesehen! Die Checkbox hat sich bei der Migration offenbar vor mir versteckt … Der Code dahinter ist nämlich schon eingecheckt 🙈  
Ist jetzt korrigiert 😂

---

<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:** [25. November 2024 um 16:21 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/32 "2024-11-25T16:21:52Z")

</div>

Und von der Funktion her: klappt bei dir alles so wie es soll? Oder sind noch Bugs drin?

---

<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:** [25. November 2024 um 16:59 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/33 "2024-11-25T16:59:25Z")

</div>

Was ich so testen konnte scheint gut zu funktionieren. Ich würde es so in den DEV-Branch übernehmen wollen damit wir hier auch weiter kommen 😉

 ![grafik](https://forum.espuino.de/uploads/default/original/2X/1/199552f2678a3a87856a284d5073a4a11f93ee49.png)

---

<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:** [25. November 2024 um 17:40 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/34 "2024-11-25T17:40:43Z")

</div>

clang scheitert noch bei `Bluetooth.cpp` wenn ich mich nicht täusche … Könnte da noch jemand mit weniger streikenden vscode oder Idee was da anders gehörte unter die arme greifen? 🙏

---

<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:** [25. November 2024 um 20:11 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/35 "2024-11-25T20:11:34Z")

</div>

> [@biologist](#):
>
> Ansonsten gefällt’s mir. Ich denke wir werden das langfristig eher bisschen anders strukturieren müssen, wenn ganz viel aus der setttings.h dann umzieht. Aber das wird man sehen wenn es soweit ist.

Was haltet ihr von [Akkordeons](https://getbootstrap.com/docs/5.3/components/accordion/)? Würde die Gruppierung etwas klarer machen und man kann sich einzeln durchklicken ohne gleich von allen Slidern erschlagen zu werden.  
Ich hab außerdem mal die Checkboxes mit Lautstärkenbezug ebendorthin verschoben 😉

 ![{A7EDDEB3-29E6-41BC-AF8D-8500E6799F42}](https://forum.espuino.de/uploads/default/original/2X/c/c439d219e94f94e117544fcf6b7b65de47dc2291.png)  
 ![{6DF953D6-FC58-48B2-A879-36F2ADAA863F}](https://forum.espuino.de/uploads/default/original/2X/5/575afee4a9cc6f114a407b852e22c33e59c96fd8.png)  
 ![{B24A771D-4222-4C50-A87D-47607E8FA39B}](https://forum.espuino.de/uploads/default/original/2X/8/80c22f7e81af66abed8c57f5c5a25c6b03f5ed70.png)  
 ![{77D910CA-37DD-4AC7-8F92-6AAB7A391486}](https://forum.espuino.de/uploads/default/original/2X/2/2d6a017c8bf1598378d1385c25e6accbb94e36c1.png)

---

<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:** [25. November 2024 um 20:37 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/36 "2024-11-25T20:37:10Z")

</div>

Ist für mich auch ok.  
Was ich mal einbauen muss sind andere Defaults.  
a) Max. Lautstärke für Lautsprecher + Kopfhörer aus maximal. Wer das anders will, der kann sich das ja begrenzen.  
b) Spannungseinstellungen angepasst auf LFP. Weil die meisten Leute verwenden eh meine LFP-Boards.

---

<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:** [25. November 2024 um 20:38 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/37 "2024-11-25T20:38:24Z")

</div>

> clang scheitert noch bei `Bluetooth.cpp` wenn ich mich nicht täusche

Ich habe den clang Fehler [hier](https://github.com/biologist79/ESPuino/pull/350/commits/10b405e921ee1f42d3a304748ec5370a39c98871) korrigiert, es fehlte nur ein Zeilenumbruch.

> Was haltet ihr von [Akkordeons](https://getbootstrap.com/docs/5.3/components/accordion/)? Würde die Gruppierung etwas klarer machen und man kann sich einzeln durchklicken ohne gleich von allen Slidern erschlagen zu werden.

Ja finde ich gut, wird ja auch schon auf der „Tools“ Seite verwendet. Allerdings müsste man schon einen guten „Gruppierungsplan“ mit allen (auch kommenden) Einstellungen haben.

Vom zeitlichen Aspekt würde ich es jetzt so übernehmen wollen. Dann können es mehr User testen & Vorschläge machen. Dafür ist der DEV-Branch auch gedacht.

---

<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:** [25. November 2024 um 20:55 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/38 "2024-11-25T20:55:06Z")

</div>

> [@tueddy](#):
>
> Ich habe den clang Fehler [hier](https://github.com/biologist79/ESPuino/pull/350/commits/10b405e921ee1f42d3a304748ec5370a39c98871) korrigiert, es fehlte nur ein Zeilenumbruch.

Merci! ❤

> [@tueddy](#):
>
> Vom zeitlichen Aspekt würde ich es jetzt so übernehmen wollen. Dann können es mehr User testen & Vorschläge machen. Dafür ist der DEV-Branch auch gedacht.

Jap, klingt gut!

> [@tueddy](#):
>
> Ja finde ich gut, wird ja auch schon auf der „Tools“ Seite verwendet. Allerdings müsste man schon einen guten „Gruppierungsplan“ mit allen (auch kommenden) Einstellungen haben.

Ist die Frage, ob man den Plan schon vorher braucht, oder einfach ad hoc neu verteilt?

* * *

Und ein weiteres Fass wäre dann, ob man vielleicht irgendwie die ganzen Einstellungsseiten in eine bringt. Ich meine Bluetooth, WLAN, FTP, General - das sind alles im Grunde Einstellungen, die man eher nur anfangs oder sehr selten braucht.  
MQTT auch? Hab das nicht 🤔  
Sogar Tools könnte man loswerden indem man RFID-spezifisches nach ebenda packt (muss man schauen, dass das noch bedienbar bleibt) und das Firmware-Update packt man in die Einstellungen.  
Wenn dann die Hilfe noch einen Dialog aus dem Menü im Header bekommt dann wird das sogar auf Mobil clean 🙂

 ![{48B5D104-9C2F-4D4B-8E95-F327C51DBE82}](https://forum.espuino.de/uploads/default/original/2X/d/dfef2afd47d5ae267f91f954f6e3bdf58b5de727.png)

---

<div class="post-metadata">

**Author:** ![joker](https://forum.espuino.de/letter_avatar_proxy/v4/letter/j/5f9b8f/32.png) [@joker](https://forum.espuino.de/u/joker)\
**Post date:** [25. November 2024 um 21:09 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/39 "2024-11-25T21:09:30Z")

</div>

> [@trainbird](#):
>
> Und ein weiteres Fass wäre dann, ob man vielleicht irgendwie die ganzen Einstellungsseiten in eine bringt. Ich meine Bluetooth, WLAN, FTP, General - das sind alles im Grunde Einstellungen, die man eher nur anfangs oder sehr selten braucht.

Das hatte @sonovice in seinem 2 Jahre alten UI Entwurf auch schon teilweise gemacht. Jetzt ist unsere Weboberfläche mittlerweile viel mächtiger geworden.

Hier noch mal.der Link zur Vorschau:  
[ESPuino](https://sonovice.github.io/espuino-ui/) bei SSID irgendwas eingeben

---

<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:** [25. November 2024 um 21:27 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/40 "2024-11-25T21:27:22Z")

</div>

> [@trainbird](#):
>
> MQTT auch? Hab das nicht 🤔

Im Endausbau sollen mal alle MQTT-Topics im Frontend sein, dazu will man es noch aktivieren und deaktivieren können. Und Credentials halt.  
Aber das ist nix, wo man dauernd was dran ändert (falls das deine Frage war). Das stellt man eher einmal ein und wird’s dann für gewöhnlich nicht mehr ändern.

---

<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:** [16. Dezember 2024 um 22:17 UTC](https://forum.espuino.de/t/reduzierung-der-defines-stattdessen-einstellungen-in-web-ui/2798/41 "2024-12-16T22:17:22Z")

</div>

@trainbird Ist der aktuelle Stand mit dem Arkordion schon irgendwo online?

@biologist

Wie weit soll den nun die Config gehen? Auch PIN Settings?

Ich würde ein Config Struct mit allen Settings machen, und dann vier Funktionen, einmal lesen und schreiben Flash und einmal decode / encode Json.  
Die Standardwerte kann man wenn gewünscht dort ändern.

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

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