I’ll give answering a shot. I think the reason why you haven’t gotten any responses just yet is because there’s a lot of different ways you could go about this (and figuring it out is half the fun). But, in any case, here’s my suggestions (2 ideas).
First, I would suggest picking up a few esp8266 devices. You can buy sets of 3-5 of these on Amazon for <20$. There are two main flavors that would be reasonable to pursue, a device called a NodeMCU, and a device called a WEMOS D1 Mini. I think the NodeMCU route is probably going to be easier, unless you’re extremely comfortable with soldering (as the WEMOS D1 typically doesn’t have header pins attached).
With your microcontroller in hand, you can go the route of installing esphome on it. The first time you set it up, you will hook it directly to your PC and flash it with the esphome firmware. I would recommend you try the excellent esphome home assistant add-on, which will help you easily compile esphome with settings to (for instance) connect to your wifi network. Once you’ve got the device setup to connect to your wifi, you can then later rely on “over the air” capabilities and disconnect from your PC. Once you have esphome installed, you can try out the light component (https://esphome.io/index.html#light-components). Depending on the number of rooms you have, and the number of lights you want to have, you may need something like this (to increase the number of GPIO pins you can have available): https://www.adafruit.com/product/815. Or, you could just use another device. BTW, one of the issues in using many small single LED lights is you’ll probably need to use resistors (not necessarily a challenge but just one more thing to buy and solder). This should be enough info to get you started with my first suggested approach.
The second approach is similar but uses a different tool. Again, start with an esp8266 microcontroller, such as the NodeMCU or WEMOS D1 Mini device, but this time install something called WLED firmware (https://github.com/Aircoookie/WLED). Using this firmware, which is built for controlling LED lights, you can essentially buy standard LED strips (a common useful individually addressable LED strip would be ws2812b). If you use a ws2812b strip (which runs at 5v), you can then power the microcontroller off of the same power supply (specifically, with a WEMOS D1 Mini). Caution, again, this will take soldering. Another benefit of going with a standard strip like ws2812b is you can literally cut the strip where you want and then use lead wires to the next LED. With WLED installed, setup segments for each room in your home, and those segments (I think) will show up and be individually controllable in home assistant (so, each room has a segment).
So, the above are examples of two potential routes you could take. If you go with esphome you can also likely build in other cool things. I’ve used it to control servo motors, like the really cheap sg90, or you can build in reed switches (basically open/closed sensors which can be used to show door/window open status, etc.). The world is your oyster if you’re willing to spend the time and are willing to solder, etc.
Here’s a sample bill of materials:
- Microcontrollers (esp8266 - either a NodeMCU or WEMOS D1 Mini)
- A power supply (both microcontrollers power off a standard micro USB plug, but if you want to drive a lot of lights you’ll need another power source).
- Resistors (you can buy a kit of 600+ for sub 20$)
- A soldering iron
- The lights (either a strip, or loose LEDs, depending on your approach).
- Lots and lots of patience and time, depending on the quality you want to achieve. I’m not sure I’d take this project on with a 5 year old…