Darkmode

OK, dann machen wir das so :+1:.

2 „Gefällt mir“

Noch nicht ausprobiert, aber es gibt offenbar sogar einen bereits eingebauten Fallbackmodus, sie „Approach 1“ in How to fallback to the local stylesheet when CDN fails ? - GeeksforGeeks

Das scheint sogar ganz generisch zu gehen: onerror Event

Ich hätte da auch Spaß dran, ist nur leider fast 5 Jahre her seit ich das letzte Mal dran programmiert hab und in dem Bereich ändert sich immer besonders schnell sehr viel.
Und es ist ein ordentliches Brett, das alles neu zu schreiben, weils ja schon ganz schön viel Funktionalität hat, die gesamte GUI.

Und weil es so groß is, würd ich das ungern als lonesome warrior machen. Das ist (wie man in der Vergangenheit gesehen hat) leicht aus der Bahn zu werfen und danach einfach tot…

Vermutlich ist aber das Zeitkonto bei allen hier eher begrenzt, so große Projekte sind dann immer ein bisschen schwierig…

Im Juli hab ich mal eine Woche ganz viel Zeit, da werd ich mich spätestens ordentlich (und nicht nur so zwischen Windeln und essen) dran setzen :wink:

Vielen Dank für die Arbeiten am Darkmode und das Verbessern der Web UI.

Nach dem ich gerade auf den aktuellen dev aktualisiert habe, sind leider die Tabs FTP, Bluetooth, Allgemein, Tools, Hilfe leer.

Die Tabs Steuerung, Rfid und Wlan werden manchmal mit falschen Inhalten angezeigt und teilweise auch mit weißen Feldern im Darkmode.

Kann das jemand bestätigen, ggf. liegt es aber auch an mir? Da ich über den Tab „Tools“ kein firmware upgrade mehr machen kann, muss ich nun die Box ausbauen (habe leider über die USB Verbindung nur Strom, keine Daten). Bzw. weiß jemand, wie man ohne den Tab Tools über wifi ein firmware update machen kann?

Edit: Ich habe ein firmware update mit swagger versucht, dort sehe ich aber nirgends wo man die firmware zum Hochladen übergeben kann. Wäre für Hilfe sehr dankbar, das Ausbauen der Box wäre sehr umständlich.

Also ich kann’s nicht bestätigen: Habe eben extra nochmal den Browser-Cache geleert. Getestet habe ich mit FF125 und Safari.

Danke für deine Rückmeldung, ich habe gerade gesehen, dass ich beim mergen einen Fehler gemacht habe.

Muss ich wohl leider ausbauen oder weiß jemand wie ich ohne die Web-UI ein firmware update machen kann?

Ich habe Folgendes und ähnliches ausprobiert

curl -X 'POST' 'http://espuino.local/update' -H 'accept: */*' -d 'firmware.bin'
curl -X POST -H "Content-Type: application/octet-stream" --data-binary @firmware.bin http://espuino.local/update

aber es hat leider nicht geklappt. Das wäre vielleicht auch für manche andere interessant. Danke.

Ja, das scheint in Swagger noch gefehlt zu haben.

ich habe es in add missing parameters for /upload and /update by caco3 · Pull Request #330 · biologist79/ESPuino · GitHub hinzugefügt.
Damit funktioniert es bei mir.
Swagger sagt, dass der CURL-Aufruf dafür wie fogt wäre:

curl -X 'POST' 'http://musikbox.local/update' -H 'accept: */*' -H 'Content-Type: multipart/form-data' -F 'firmwareUpload=@firmware.bin;type=application/octet-stream'
2 „Gefällt mir“

Danke. Habe in der Zwischenzeit die Box auseinandergebaut und das Problem gelöst. Aber für die Zukunft wird das ein life-saver sein, wenn man sich mal verflasht. Vielen Dank.

Ich habe mir webpack mal ein bisschen angeschaut, bin aber nicht wirklich warm geworden damit.
Ich habe den Eindruck, dass es das Ganze einfach noch einmal komplizierter macht.
Ob man, wie von @trainbird erwähnt wirklich viel umstellen muss, kann ich nicht beurteilen. ich fände das aber eher unglücklich.

Ich habe mich daher auch mal für Alternativen umgeschaut. Grundsätzlich denke ich, dass wir einfach alle CSS- und JS-Files jeweils in eine einzelne Datei packen müssten.
Dabei bin ich auf GULP gestossen, resp. eine Adaption in Python: pylpconcat. Letzteres würde es uns erlaufen, es direkt als Script im platformio.ini einzubinden.

Wenn nichts dagegen spricht, würde ich das mal ausprobieren.

Und ob wir die beiden Files direkt ab SD-Karte servieren können, habe ich mal getestet. Das läuft ohne Anpassung in der Firmware, allerdings stossen wir (wie erwartet) an das Limit der Anzahl offenen Dateien. Mit dem Zusammenführen in die 2 Dateien könnten wir das lösen.

grafik

Wie weiter oben bereist erwähnt, könnten wir diese beiden Dateien auf der SD-Karte als Primary Source nehmen und als 2nd Soruce eine Online-Quelle einrichten, z.b. via Github Pages.

Ich glaub, wir sollten dazu auch mal ein neues topic aufmachen. Das wird sonst schon sehr unübersichtlich und in spätestens zwei Monaten nicht mehr auffindbar, wie es zu welcher Entscheidung gekommen ist.