Ich melde mich nochmal mit Eindrücken und Hintergrund-Gedanken zu dem Thema.
Es stimmt, dass die Dimmer 2 (und auch fast alle Phasenan-/abschnittdimmer anderer Hersteller) wohl recht empfindlich sind, wenn Rundsteuersignale auf den Stromleitungen aufmoduliert werden. Diese Rundsteuersignale liegen im Frequenzbereich von 110 bis 2000 Hz, sind also sehr niederfrequent und da hilft auch leider ein 0,4µF Kondensator dann nix als Tiefpass bei so niedrigen Frequenzen. Die Amplitude darf dabei bis zu 9% der Netzspannung sein (Wikipedia).
Damit ein Dimmer korrekt arbeitet, muss er den Zeitpunkt des Nulldurchgangs der 50 Hz Sinus-Netzspannung sauber erkennen können, um daraus die Zeit zu berechnen, wann der Ausgang zum Leuchtmittel ein- oder auszuschalten ist, um darüber die mittlere Leistung und damit die Helligkeit zu steuern.
Wenn nun das 50Hz Netzsignal sich im Sinusverlauf der "0" nähert, diesem Signal aber z.B: ein 40 mal so schnelles 2000 Hz Rundsteuersignal mit knapp 10% der Netzspannung überlagert ist, dann passiert es, dass die Spannung, die der Shelly sieht, um die "0" herum plötzlich z.B. 0,1ms früher oder später die 0 überquert oder im schlimmsten Fall sogar 2x während eines echten Nlldurchgangs.
Deshalb findet der Shelly in dem Fall nicht mehr sauber den korrekten Zeitpunkt des Nulldurchgangs und als Folge stimmt das Timing für den Phasenan-/abschnitt nicht mehr und das Licht "flackert", weil die abgegebene, mittlere Leistung sich dadurch verändert.
Der "Anti flickering debounce" Wert ist im Shelly selbst als "zcross_debounce" hinterlegt, also zero cross debounce und wird vermutlich bedeuten, dass der Shelly, wenn der 0-Wert erkannt wurde, danach für eine gewisse "Ruhezeit" nicht mehr versucht, erneut die 0 zu erkennen, sondern den erkannten Wert als echten Wert zu nehmen. Ich weiß nicht, welche Einheit hinter dem Wertebereich 50..150 steckt, aber Sinn macht evtl. µs, weil z.B. ein Rundsteuersignal mit 10% Amplitude einen zeitlichen Jitter von ca. 0,1ms auslösen könnte, das wären 100µs und entspricht dem Standardwert im Shelly. Trotzdem hilft eine solche Maßnahme nicht viel, die "echte 0" wird dadurch trotzdem nicht erkannt und die sichtbare Helligkeit wird sich dann in jedem Fall kurzzeitig verändern.
Das Einzige, was wohl effektiv gegen das Flackern hilft ist, sich die Sinus-Welle selbst erzeugen, also z.B. Beleuchtung hinter einer USV betreiben, aber das ist ja leider völlig unrealistisch.
Bei einem anderen Hersteller habe ich zufällig ein Thema gelesen, dass sich fast 1:1 mit diesem hier deckt.
Dort konnte man das Zero cross debounce Filter mit dem Wert "0" komplett abschalten, was wohl bei vielen eine Besserung gebracht hat.
Leider ist der Shelly Dimmer hier auf den Wertebereich 50 .. 150 begrenzt, 0 kann man leider nicht konfigurieren, auch per http API nicht, aber auch fraglich, ob das was bringen würde ...
Soweit der kleine Exkurs. Wir leben hier auf dem Land und bisher hatte ich diese Effekte nicht beobachten können, weshalb mir das Thema bisher nicht geläufig war.
Aber die Erkenntnis nach den Recherchen ist leider, dass man hier nicht viel dagegen tun kann.
Ein Ansatz wäre, man bräuchte im Shelly einen hochgenauen Timer, der beim Erkennen eines zeitlichen Nullpunkt-Sprungs, also wenn zwischen 2 Nulldurchgängen plötzlich nicht mehr exakt 10ms liegen, dies erkennt und z.B. für ein paar Sekunden einfach intern seinen 50Hz (100Hz) Takt beibehält, bis das Rundsteuersignal wieder weg ist.
Oder wie eine Art gleitender Ringpuffer, der z.B. die erkannte Null-Lage immer über z.B: 10 Perioden mittelt und damit seinen internen 10ms - Takt synchronisiert. Aber das wird mit dem µC im Shelly nicht machbar sein...
Gruß, dewaldo