Meine Schwester hätte die Box nachts gerne komplett dunkel. Wenn ich im Webinterface für die Helligkeit im Nachtmodus 0 wähle, hat das aber keinen Einfluss, auf 1 oder so setzten funktioniert, aber 0 geht irgendwie nicht. Es bleibt dann bei der zuvor gewählten Helligkeit.
Kann mir jemand verraten, wie ich alternativ die gespeicherte Helligkeit ändern kann, um den LED-Ring im Nachtmodus abzuschalten?
Ich mache das immer über MQTT .
Was du machen könntest: ESPuino/Led.cpp at 42d6ca80f9cd8099c8b90de3548e13ed5a17b416 · biologist79/ESPuino · GitHub auf 0 setzen und neu kompilieren. Und dann wird jedes Mal, wenn eine Sleep-Modkarte aufgelegt wird, auf 0 gedimmt. Das gilt für alle Sleep-Modkarten; gibt ja verschiedene.
Geht das dann nur mit Sleepmode-Karten oder auch direkt mit CMD_DIMM_LEDS_NIGHTMODE
was mit einer Tastenkombination verknüpft ist?
Das hatte ich gestern sogar probiert, hat aber irgendwie auch nicht geklappt, aber es war ja schon spät, ich probiere es nochmal
So nochmal probiert. Es wird aber trotzdem noch „2“ aus dem nvs geladen.
Ich habe das selbe.
Den Wert „Nach dem Einschalten:“ auf 0 zu setzen im Webinterface klappt nicht.
Das klappt absichtlich nicht.
Weil sonst macht das irgendwer und wundert sich, dass der Neopixel nicht geht.
Edit:
Das hatte ich ehrlich gesagt auch vergessen, dass ich das so gebaut habe, aber ich hatte gerade gestern einen Bugfix in der Ecke und da ist es mir wieder aufgefallen.
Hier sieht man, dass der Wert aus dem NVS geholt wird und mit 0 vorbelegt wird. D.h. da kommt 0 raus, wenn der Eintrag nicht existiert (und natürlich aber auch 0, wenn er tatsächlich 0 ist).
In die Bedingung in Zeile 55 läuft man rein, wenn der Wert > 0 ist. In den ansonsten-Fall in Zeile 60 im gegenteiligen Fall. Hier wird dann der Standardwert 16 gesetzt.
Wenn du das anders haben willst, dann könntest du in Zeile 54 aus der 0 z.B. eine 999 machen und aus uint8_t ein uint16_t. Dann passt du die If-Bedingung in Zeile 55 auf
if (nvsILedBrightness != 999) {
an. Dann solltest du von 0 bis 255 initialisieren können.
Bezieht sich das auf die Helligkeit im Nachtmodus oder die grundsätzliche Helligkeit?
Ach stimmt, ich habe falsch geschaut. Das bezieht sich auf die grundsätzliche Helligkeit.
Für Nachtmodus befindet sich das Gleiche ein paar Zeilen tiefer. Da muss ich zugeben, dass das tatsächlich ein Bug ist. Weil diese auf 0 stellen zu wollen, das ist durchaus ein Anwendungsfall.
Das werde ich fixen.
Da liegt bei den Sleepmodes generell noch bissl was im Argen. Das habe ich schon lange nicht mehr benutzt offenbar und es ist niemand aufgefallen bzw. es hat niemand gemeckert .
So, ich habe eben mal einen Commit hochgeladen. Ich hoffe mal, dass das jetzt alles läuft.
Auf jeden Fall muss ich da nochmal Hand anlegen. Durch verschiedene Anpassungen ist die ganze Flag-Verwaltung relativ undurchsichtig geworden und davon ab ist einiges der MQTT-Behandlung auch redundant. Das werde ich umstellen, so dass auch MQTT, soweit möglich, in Cmd_Action() reinläuft.
Bitte mal testen.
Hast du den Bug inzwischen erfolgreich gefixt? Wollte die LEDs gerade für den Nachtmodus auf 0 stellen und die Einstellung springt immer wieder auf 6.
Hmm, eigentlich bin ich der Meinung, dass es in diese Richtung vor ner Weile mal nen Bugfix gegeben hat (nicht von mir). Bzw. ganz generell gab es im MQTT-Bereich auch verschiedene Anpassungen seitdem.
Ich bin inzwischen in zu viele andere Projekte eingebunden, so dass ich für SW-Entwicklung nicht mehr wirklich Zeit habe. Letztlich reduziert sich meine Arbeit an ESPuino seit geraumer Zeit größtenteils um die Hardware-Bereitstellung. Sorry.
Ich habe es geschafft. Über den Browser am Mac konnte ich die Neopixel auf 0 stellen. Am Handy wollte es nicht funktionieren.