ESP RGBWW Controller - Firmware v5

Begonnen von pjakobs, 01 Januar 2025, 21:14:31

Vorheriges Thema - Nächstes Thema

pjakobs

@weini - zieh Dir mal den aktuellen Build von heute (V5.0-415-develop) - da sollte das Problem behoben sein, ich habe die Erkennung für aktive Controller stark überarbeitet

pjakobs

Ich hab die Synchronisation der Gruppen und Szenen nochmal überarbeitet, das sollte jetzt wesentlich stabiler sein, unter anderem gibt es ein verteiltes Datenbanklock, dass dafür sorgt, dass immer nur ein Synchronisationstask im Netz läuft.

V5.0-424-develop


weini

Zitat von: pjakobs am 18 September 2025, 12:58:38@weini - zieh Dir mal den aktuellen Build von heute (V5.0-415-develop) - da sollte das Problem behoben sein, ich habe die Erkennung für aktive Controller stark überarbeitet
funktioniert, vielen Dank!

pjakobs

Mal ein paar neue Snapshots:


Die Controller Konfiguration
und zuletzt

Du darfst diesen Dateianhang nicht ansehen.

Du darfst diesen Dateianhang nicht ansehen.

Du darfst diesen Dateianhang nicht ansehen.

Du darfst diesen Dateianhang nicht ansehen.

Du darfst diesen Dateianhang nicht ansehen.

pjakobs

hm... gestern hab ich noch die versprochenen virtuellen presets für "an" und "aus" eingebaut - wobei "an" das letzte Setting vor dem Ausschalten war, und dabei ist mir aufgefallen, dass ich dafür "last_color" nicht wirklich nutzen kann.
Wie schon in der alten Software wird "last_color" immer dann gesetzt, wenn sich die aktuelle Farbe stabil nicht ändert (aktuell für 2 Sekunden). Die wird dann benutzt, um diese Farbe wieder zu laden, wenn der Controller neu gestartet wurde (Stromausfall, Reboot oder über Schalter geschaltet).
Wenn der Controller auf "Aus" gesetzt wird, dann heißt das ja nur, dass die Helligkeit (v) auf null gesetzt wird, und das ist eine valide Farbe, deshalb wird die in "last_color" gespeichert.
Ich muss mir was einfallen lassen, um zusätzlich die Farbe vor dem letzten /off oder /{"v":0} zu speichern.

weini

Nur so eine Idee: Jedesmal, wenn du last_color setzt, kopierst du den alten Wert von last_color nach 2nd_last_color. Dann würde beim "off" der Farbwert fürs wieder Anschalten in 2nd_last_color stehen.

pjakobs

ich hab das jetzt erstmal als eigene /on und /off API Endpoints gebaut, ganz zufrieden bin ich damit aber noch nicht. Mal sehen.

weini

Anfang Oktober hatte ich von der 424 ein update auf den 450 gemacht. Als mein Controller (erste Generation, ESP8266) damit nicht stabil lief, bin ich schrittweise zurückgegangen. Leider haben ich bis runter zur 429 immer noch Reboots und Hänger innerhalb von 24-48h.

Die 424 wird in der WebUI nicht mehr angeboten. Ich habe es daher ein manuelles Downgrade versucht, etweder mit
curl --header "Content-Type: application/json"   --request POST   --data '{"rom": { "url": "http://lightinator.de/download/develop/V5.0-424-develop/esp8266/release/rom0.bin" },  "spiffs": { "url": "http://rgbww.dronezone.de/testing/spiff_rom.bin"}}'   http://rgbww1.weinberger.lan/update{"success":true}root@nas2:~# curl --header "Content-Type: application/json"   --request POST   --data '{"rom": { "url": "http://lightinator.de/download/develop/V5.0-424-develop/esp8266/release/rom0.bin" },  <ip>/updateoder mit
curl --header "Content-Type: application/json"   --request POST   --data '{"rom": { "url": "http://lightinator.de/download/develop/V5.0-424-develop/esp8266/release/rom0.bin" }}'   <ip>/update.

Beide Versuche enden mit Status 3, OTA failed und die alte Version (429) bleibt aktiv.
Hat sich hier die Syntax geändert oder woran könnte es liegen, dass ich nicht manuell update / downgraden kann?

pjakobs

interessant, in einer der Versionen in den 440ern hatte ich ein Memory Leak, das zu dem von dir beschriebenen Problem führte, das sollte aber um den 18. September gefixt worden sein.

die 450 läuft bei mir seit Wochen stabil. Ich nehme an, Du hast keine Möglichkeit, die Logs des Controllers mit V5.450 einzusammeln?

weini

Logging geht nicht über WLAN, oder? Der Controller ist schlecht zugänglich verbaut und ich würde es mir gerne ersparen, ihn rauszuholen.
Nutzt du die 450 auch mit einem esp8266? Sonst versuche ich die nochmal. Kann es sein, dass meine Konfiguration das Problem verursacht? Die ist eigentlich nicht exotisch, ich könnte sie aber mal zurücksetzen.

pjakobs

Zitat von: weini am 19 Oktober 2025, 18:24:43Logging geht nicht über WLAN, oder? Der Controller ist schlecht zugänglich verbaut und ich würde es mir gerne ersparen, ihn rauszuholen.
Nutzt du die 450 auch mit einem esp8266? Sonst versuche ich die nochmal. Kann es sein, dass meine Konfiguration das Problem verursacht? Die ist eigentlich nicht exotisch, ich könnte sie aber mal zurücksetzen.
Nee, ich hatte mal lan logging implementiert, aber auf dem Esp8266 ist einfach nicht genug RAM dafür da. Auf dem Esp32 werde ich das vermutlich wieder aktivieren.
Bei mir laufen noch 12 der alten Controller in meiner "normalen" Beleuchtung, das sind aktuell fast alles Controller aus der zweiten Serie (die kleinen, grünen Platinen). - aber es sind eben alles Esp8266 - und die laufen bei mir wochenlang durch.