Refactoring des Web Interfaces und der REST API

Da brauchen wir uns nicht rumschlagen. Ich glaube Torsten mag die Funktion nicht sonderlich. Das respektiere ich auch. Im Prinzip wird durch meinen Vorschlag das Bedienkonzept verwässert, da sich scheinbar ohne Grund die Tags unterschiedlich verhalten. Ich wollte es nur mal in den Ring werfen, wenn hier eine Baustelle offen ist. Ich mag die Box auf ohne dieser Funktion sehr gern :upside_down_face:

Der Papa :rofl: Sehr geil :smiley:.

Ja tatsächlich mag ich diese Funktion nicht wirklich und halte es für unpraktisch, wenn sich Karten unterschiedlich verhalten. Dafür sind auch einige Änderungen notwendig.
Nene :slight_smile:

Die Heartbeat Lösung finde ich sehr gut, so sieht man ob man noch verbunden ist. Ein kleiner grüner Punkt in der Ecke ist sichtbar und nicht zu aufdringlich. Die jetztigen Toast-Meldungen nerven eher als sie dienen…

Die neue Oberfläche wirkt schon recht komplett - Mir fehlt allerdings noch: der Datei-Upload über den Browser Das sollte vor allem für alle zutreffen, die die SD-Karte in der Box unereichbar eingebaut haben.

Für mehrere Alben hole ich die SD-Karte raus und spiele sie über den Computer ein, für 1-2 Hörspiele lade ich die über Web-Oberfläche hoch…

2 „Gefällt mir“

Japp, suche immer noch nach einer guten Lösung, die sich mit dem Rest gut integriert. Leider geht der Job gerade etwas vor, aber das wird. :muscle:

Leider keine Änderung, es werden immer noch alle drei Felder ausgefüllt. Ist ja aber eigentlich ne Nebensache…

Mir ist noch was zum Thema Spannungseinstellungen eingefallen.
Das, was per Default im UI steht, sind die Werte, die für LiPo mehr oder weniger sinnig sind. Inzwischen haben wir jedoch auch FePo und da müssen die Spannungen angepasst werden. Ich werde manchmal danach gefragt, warum ESPuino meckert, dass die Spannung zu niedrig sei. Insofern ist augenscheinlich, dass das nicht allen klar ist, was hier einzustellen ist. Verstehe ich auch, weil man muss die Technik dahinter verstehen, um das einschätzen zu können.

Vielleicht wär’s eine gute Maßname, dass man an der Stelle zwei Buttons (oder was auch immer) anbietet, die man sowas wie „LiPo-Voreinstellungen“ und „LiFePO4-Voreinstellungen“ nennt. Diese wirken dann auf die drei Spannungseinstellungen und stellen Presets ein:

LiPo:
LowLed: 3.3
HighLed: 4.2
LowBattery: 3.4

FePo:
LowLed: 3
HighLed: 3.3
LowBattery: 3

Das sieht jetzt ein bisschen uneinheitlich aus von den Werten, bezieht einerseits jedoch (als Kompromiss) ein, dass die Ladekurve bei FePo extrem flach ist und zwischen 3.6 => 3.3 V sehr schnell abfällt. Und andererseits, dass bei meinem FePo-Design die Akkuspannung nicht durch den LDO geht und man somit mit niedrigeren Werten arbeiten kann.
Weitere Infos zu FePo: 📗 Hinweise für Nutzer mit einem FePo-Develboard.

Ja, das macht es für Nicht-Eingeweihte deutlich einfacher. :+1:

Wäre es vllt sogar möglich, eine Kurve zu hinterlegen von Spannung zu Prozent? Oder gibt es das intern schon bzw. ist es zwischen den Grenzen eher linear? Habe nicht geschaut im Code…

Also würde man das richtig gut machen wollen, dann braucht man ein Coulomb-Meter. Das Thema hatten wir hier schon. Aber die Bauteile muss man auch immer besorgen und das alles testen - ist mir ehrlich gesagt für den Mehrwert zu viel Arbeit.
Um das zu vereinfachen habe halt einfach eine Linearität zwischen Ladestand und Spannung zugrundegelegt, die natürlich so nicht gegeben ist. Bei LiPo passt das, finde ich, recht gut. Dennoch könnte man natürlich schon über eine Messkurve mit entsprechend vielen Punkten das noch ein bisschen besser machen.
Beim FePo wäre das Interesse, sowas mit Punkten zu machen, aufgrund der extrem flachen Entladekurve, noch deutlich größer. Nur ist so ein analoger Messeingang vom ESP32 auch kein Präzisionsinstrument. Insofern bringt das aus meiner Sicht keinen Mehrwert. Aber es gibt dazu auf jeden Fall eine Messkurve, die ich mal gemacht habe: Messreihe mit LiFePO4-Akku.

Also wenn sich da jmd. verausgaben will, dann kann er/sie/es das gerne machen. Näherungsweise passt es jedoch so, wie es ist. Und das mit einfachen Mitteln. Und das ist manchmal sehr wichtig :slight_smile:

1 „Gefällt mir“

Vielleicht dazu noch als Ergänzung: die Spannung ist abhängig von der Last. Also eine Spannung die im Idle gemessen wird ist eventuell höher als wenn bei gleichem Ladestand Musik läuft.
Wobei bei großem Akku und den rund 200mA vielleicht auch kaum ein Unterschied besteht. Müsste man ausprobieren.

Als Hinweis würde ich noch ergänzen, dass ich bisher wenig gutes über die ADC des ESP32 gehört habe.

In einem Projekt wurde während der Messung das WLan abgeschaltet. In vielen Artikeln wurde das Ergebnis über Korrekturkurven oder Lookuptable linearisiert.

Disclaimer: Ich habe mir nicht angeschaut, wie @biologist die Messwerte verarbeitet und ich habe in Richtung Genauigkeit mit dem ESP auch noch keine Tests gemacht. Nur als Hinweis…

Ich habe die Messwerte extern über ein Multimeter gemessen im Normalbetrieb (spielen von Webstream). Nicht jedes Mal, aber doch oft, habe ich die Werte dann mit dem ADC des ESP32 gemessen. Das hat schon gut gepasst. Allerdings bildet ESPuino auch eh immer 20 Messwerte und macht daraus das Mittel. Also ein bisschen was an Fehler wird kompensiert.

Gut, ich will das hier im Thread auch gar nicht weiter vertiefen. Ich halte auf jeden Fall solche Presets für sinnvoll.

Würde es nicht mehr Sinn machen, dass die Voreinstellung per define aus settings.h kommt? Ich denke da an Fälle wo man eine Box verschenkt. Den Beschenkten interessiert es doch in den wenigsten Fällen was für ein Batterietyp verbaut ist. Wenn es jemand weiß, dann der, der die Firmware kompiliert.

1 „Gefällt mir“

Dem stimme ich zu. Es sollte unterschieden werden zwischen Nutzereinstellungen und Hardware-Konfiguration.

Also für Leute die wissen was sie tun gerne die Hardwareoptionen hinter eine „ich weiß was ich tue“ Warnung packen.

Als Vergleich: Man kann in der UI ja auch nicht zwischen RFID-Leser oder SPI vs MMC auswählen.

Das ist ja schon so:

Aber ganz ehrlich: Das liest doch keiner alles :slight_smile:. Am besten wäre es, man könnte alles über die GUI parametrieren. Dann hätte man ein Universal Build und die Benutzer müssten sich Platformio & Co gar nicht installieren. Aber so, wie das aktuell ist, ist das für mich erstmal ok.

So, und jetzt hören wir mal auf, den Thread von @sonovice zu kapern :smiley:.

Ich finde die Kritik durchaus berechtigt: Es gibt Settings, die eher dem „Erbauer“ denn dem Endbenutzer zugänglich sein sollten. Alles mittelfristig in die UI auszulagern hat aber deutlich mehr Vorteile. Es würde dann jedoch Sinn machen, eine extra „DANGER ZONE“ mit Hardware-kritischen Einstellung mit aufzunehmen.

Die aktuellen Einstellungen zur Spannung sind ja gar nicht kritisch oder gefährlich. Sie definieren nur, wie Neopixel auf die Spannungen reagiert. Sie befinden sich im UI, da man dann halt nachträglich, ohne neues Kompilieren, darauf reagieren kann, wenn man zB die Unterspannungsprüfung erst bei weniger Spannung (oder mehr) möchte, weil es sich in der Praxis als unpassend erwiesen hat.

Moin, coole Initiative. Ich habe mich mal bisschen durchgeklickt und folgende Sachen sind mir noch aufgefallen (ich nutze Firefox am Desktop):

  • diese Range-Guielemente (für Volume und so) kann ich nur verstellen, indem ich den weißen Punkt/Istwert mit dem Cursor greife. Intuitiv würde ich sie eher verstellen wollen, indem ich auf die Position klicke und der Punkt/Istwert springt da hin, das ist aber nicht möglich
  • auf den Unterseiten in „Settings“ wird die Scrollposition geteilt. D.h. wenn man zb in „General“ ganz runter scrollt, dann ist man auch unter „Wifi“ unten. Am besten wäre vllt, wenn jede Unterseite ihre eigene Position speichert, die aber zurück gesetzt wird wenn man den Settingsbereich verlässt (oder dahin navigiert)
  • die Animation des NFC-Logos unter „Tags“ ist meiner persönlichen Meinung nach zu unruhig bzw aufdringlich

Sind aber alles eher mäßig wichtige Sachen. :wink:
Ich bin schon gespannt wann das Backend angegangen wird.

Sonst kann man am Smartphone aber kaum scollen ohne alles zu verstellen.

Erstmal Danke für das Feedback, @HansKlaus!

Hmm, das verstehe ich nicht so ganz. Es ist bei den Settings nur eine einzige Seite und die Links ganz oben scrollen lediglich an die entsprechende Stelle, damit man ein bisschen schneller am Ziel ist. Magst du vllt noch etwas Details dazugeben, was dich stört?

Wie @moin schon geschrieben hat, war das ein Fix für mobile Endgeräte. Vllt muss ich da tatsächlich zwischen Desktop/Tablet und Smartphone unterscheiden, danke.

Ja, geht nach etwas Zeit auf dem Screen schon auf die Nerven, das stimmt. :sweat_smile: Ich werde es etwas abdämpfen.

1 „Gefällt mir“

ach stimmt, da hab ich wohl zu flüchtig hingeschaut. Das mit dem Scrollen passt einwandfrei.
Ja, man käme, wenn man es allen recht machen wollen würde, wohl um eine Unterscheidung Touch/nicht Touch (dürfte generischer sein als Desktop/Tablet) wohl nicht drum rum. Ist mMn aber von der Prio eher „goldener Wasserhahn“.