Looks like I missed Smart Bulb Mode. SBM should also behave like this - producing the full sine wave when possible, then falling back to the leading-edge dimming waveform otherwise.
Crucially, outputMode shouldn’t change what waveform you get in SBM - you should still get full sine wave when possible, even if outputMode = “Dimmer”.
Right now, in SBM, the switch generates a waveform as-if it wasn’t in SBM mode (just locked at 100% brightness).
Here is the full table of all possible smartBulbMode + outputMode + switchType configurations and their resulting waveforms, as observed with FW 2.14 and a neutral connection:
smartBulbMode | outputMode | switchType: | Single Pole | 3-Way Dumb | 3-Way Aux | Full Sine |
---|---|---|---|---|---|---|
SBM Off | On/Off | trailing | leading | trailing | full sine | |
SBM Off | Dimmer | trailing | leading | trailing | trailing | |
SBM On | On/Off | trailing | leading | trailing | full sine | |
SBM On | Dimmer | trailing | leading | trailing | trailing |
This is what I'd like to see:
smartBulbMode | outputMode | switchType: | Single Pole | 3-Way Dumb | 3-Way Aux | Full Sine |
---|---|---|---|---|---|---|
SBM Off | On/Off | full sine | leading | leading | full sine | |
SBM Off | Dimmer | edgeMode | leading | edgeMode | full sine (ignore dimming) | |
SBM On | On/Off | full sine | leading | leading | full sine | |
SBM On | Dimmer | full sine | leading | leading | full sine |
Entries with edgeMode would use leading-edge or trailing-edge dimming, based on the setting of the upcoming configuration option.
Adopting this table would result in using the safest/most-compatible waveform in all cases. Trailing-edge would only ever be used in dumb bulb dimming applications when the user has explicitly opted into it (via the new edgeMode option).