I made a box for the LCD and buttons, printed out of PLA. Here is the result on my print bed :
on the next picture, there is a Raspi zero for size comparison :
The LCD mounts on from the back and is secured with 3mm short screws. The buttons are inserted from the front and secured with a nut.
Once the LCD is connected (using I2C, so only 4 cables : power, ground, sda and scl), the system can be powered on : ,
here it prints the state of the first light on the first line (On/OFF).
On the second line, it prints what it is doing (turning on or turning off), since turning on or off is not instantaneous, but progressive, and takes some time. Thus, i wanted to know if it was in the process of turning on or off. With long rise and fall times, it can help.
The third line shows air temperature, and water temperature (eau, in french).
Then, the last line prints the time and date (french format)
For now, only the top button does anything : it forces the light to turn on or off (progressively, but faster than normal fade in/out times). There is an override variable in the code, and after some time, the normal light state is restored.
If it is off, and i press the button, it will quickly fade in, and stay on for 5 minutes (that's my setting). Then it fades out. If you override when on, it will do the same, although i'll change it to have it stay off untill next normal lights fading in. Indeed, if i turn it off while it's on, it's probably because i want to go to sleep early, so, it should stay off longer than 5 minutes.
The temperature is provided by two DS18B20 probes, and the time by a small RTC module.