Well, this was a long description, but the forum software decided to throw me back to the overview when I clicked "Preview". Back button brought me to an empty form. Awesome.
Anyway, quick description: I gutted a ceiling lamp and made it controllable via MQTT. Status is stored in EEPROM. Sketch is included as an example in my MqttLight library, which does most of the work for reading incoming MQTT messages, translating linear light level to perceived brightness and reporting actual status back to MQTT. Saves a lot of code especially when more lights are involved.
The hardware is a 12V source, which feeds an LDB-300L constant current driver and a Wemos D1 Mini, mounted on a board I made which combines a perfboard with an LDO and an MP1584 switching supply, all fitted under the D1 Mini.
The LDB is controlled via PWM from the D1 Mini and drives 3 3W 300mA COB LEDs.
Here are some photos, perhaps somebody finds something useful: