Smart Home DIY: Transforming an Old Lamp for Movie Magic!
My wife and I love our home movie nights. It’s our way of winding down after a long day, and I’m slowly getting her caught up on all the pop culture references she’s missed—while she’s making sure I know everything about the Harry Potter franchise. Again.
We don’t live near a cinema anymore, and honestly, shelling out $100 for a date night every time isn’t really ideal. But there’s something special about the movie theater experience—the surround sound, the massive screen, the smell of popcorn, and the dimming lights that signal it’s time for the show to begin.
We’ve managed to recreate a lot of that at home. We’ve got the surround sound, plenty of microwave popcorn, a solid TV, and a comfy couch. But I wanted to go further. One of my favorite parts of the movie theater experience is how the lights slowly fade out at the start of the film and gently come back up at the credits. It’s a subtle but effective way of setting the scene and building anticipation.
So, I set out to bring that experience into our living room.
The Perfect Lamp for the Job
We already had a fluted glass lamp in the corner of the room that my wife picked up on Facebook Marketplace for $100. We love the warm glow it casts on the wall at night, and it adds a nice touch to the space. We had been using a cheap smart plug to control it from our phones, but it wasn’t quite delivering the smooth, luxurious experience I wanted.
For one, the lamp was always at full brightness. While the warm light was great, it could feel blinding at midnight after finishing a film. Also, the smart plug made an annoyingly loud click when switching on, completely ruining the smooth transition I was aiming for.
I thought about switching to a smart bulb, but since the lamp’s shade is glass, most smart bulbs didn’t look quite right. I even tried vintage-style smart bulbs, but I ran into another issue—color accuracy.
Why CRI Matters
One thing I learned during this process is the importance of CRI (Color Rendering Index). CRI measures how natural a light source appears, with incandescent bulbs scoring a perfect 100. Most cheap LED bulbs have a CRI closer to 80, which can result in an odd purple or green tint. I wanted that warm, inviting glow of an old-school incandescent bulb—something that just feels right. Sure, incandescent bulbs aren’t the most energy-efficient, but for an accent lamp that only runs occasionally, I’m fine with the trade-off.
So, I needed a way to make the lamp dimmable and smart, without sacrificing aesthetics.
Enter the Shelly Dimmer 2
After some research, I found a great solution: the Shelly Dimmer 2. This little WiFi-connected smart dimmer module is designed to be installed behind light switches but works just as well for inline applications like this lamp. It even monitors power consumption (which is probably more useful in other applications, but still cool).
There are similar devices available for Z-Wave and Zigbee, but I went with the Shelly because it’s simple to set up, doesn’t require a hub, and integrates well with Home Assistant—which would be key for the automations I had in mind.
Before attempting any project that involves mains power, always check your local regulations. If you’re not comfortable working with electrical wiring, seek help from someone qualified.
Custom 3D-Printed Enclosure
The lamp already had an inline foot switch that we no longer needed, so I decided to design a custom inline enclosure for the Shelly Dimmer 2 using my favorite CAD software. One of the best things about 3D printing is how quickly you can iterate designs. After a few PLA prototypes, I landed on a design that worked well and printed the final version in black PETG for durability.
I removed the foot switch, wired the Shelly module according to the manual, and secured everything inside the custom enclosure. For added durability, I included cable tie slots for strain relief and countersunk screws to keep everything snug.
Want to build one yourself? I’ve uploaded the 3D printable files here.
Setting Up the Shelly Dimmer
Once the hardware was done, it was time to configure the Shelly Dimmer. When first powered on, the Shelly broadcasts its own WiFi network. I connected to it, added it to my IoT VLAN, and calibrated it to my bulb of choice. The process was mostly smooth, though I had to temporarily allow internet access to update the firmware for Home Assistant integration.
Now, I could control the lamp seamlessly from Home Assistant, unlocking a world of automation possibilities.
Smart Automations for the Ultimate Experience
Over the next couple of weeks, I experimented with different automations, tweaking things until everything felt just right. Here are some of my favorites:
Welcome Home Lighting: The lamp turns on automatically when we open the front door after sunset, making it easier to navigate the house. This one is simple, here’s the YAML:
alias: Welcome Home Lighting description: "" triggers: - trigger: state entity_id: - binary_sensor.front_door_sensor_window_door_is_open from: null to: "on" conditions: - condition: sun before: sunrise after: sunset after_offset: "-00:30:00" actions: - type: turn_on device_id: entity_id: domain: light brightness_pct: 100 mode: single
Late-Night Snack Mode: If motion is detected in the living room after bedtime, the lamp turns on dimly to provide enough light without blinding us. This is the same as the previous automation, but using a motion sensor as the trigger instead.
Cinematic Dimming: When we start a movie on Plex, the lamp slowly dims over a few seconds.
Pause/Stop Adjustments: When we pause or stop the movie, the lamp gradually brightens, making it easy to grab more popcorn or a drink.
Bedtime Transition: If the TV turns off for the night, the lamp stays on for an hour—or until both our phones are plugged in—so we can make our way to bed without stumbling around in the dark.
These are all technically the same automation, the YAML is below
alias: Turn off lamp when playing description: "" triggers: - trigger: state entity_id: - media_player.TV to: playing - trigger: state entity_id: - media_player.plex to: playing from: null conditions: [] actions: - type: turn_off device_id: 0a92032d6a0822cb27b18ed465a62c77 entity_id: 54e614cc04b2a8fe5461d9b016ad02ad domain: light mode: single ------------------------- alias: Turn on lamp when paused description: "" triggers: - trigger: state entity_id: - media_player.TV from: playing to: null - trigger: state entity_id: - media_player.plex from: playing to: null - type: turned_off device_id: entity_id: domain: remote trigger: device conditions: - condition: sun before: sunrise after: sunset after_offset: "-00:30:00" actions: - type: turn_on device_id: entity_id: domain: light brightness_pct: 100 - delay: hours: 1 minutes: 0 seconds: 0 milliseconds: 0 - type: turn_off device_id: entity_id: domain: light mode: single
These simple automations make our movie nights feel so much more immersive. It really does bring in a bit of that movie theater magic!
Why This Project Was Worth It
This project was a simple weekend job, but it made such a difference in our home. Not only did it enhance our home theater experience, but it also gave new life to an old lamp that could have otherwise ended up in a landfill. It’s a great example of how smart home tech can make everyday life just a little more enjoyable.
Unlike some smart home setups that require constant input or app control, this just works. No need to fumble with a phone—it simply reacts to what we’re doing. And honestly, it’s just nice to have warm ambient lighting that adapts to our needs.
Download the 3D print files here
What do you think? Would you upgrade an old lamp like this? Would you have done something differently? Let me know in the comments!
We have more DIY home automation projects in the works, so if you enjoyed this, subscribe or leave a comment to keep the algorithm gods happy.
Until next time—happy automating!