My earliest memories of Christmas at home of coarse is the gifts, the family, the food. The other memory was the chore of running around the house and “Turning Christmas on” and “off” throughout the day and before people came to visit. As our decorations grew, this was just an annoying chore that needed to be done as part of the holidays. We currently have two Christmas, lighted garland, and an array of Studio 54 house not to mention outdoor sights. The primary issue was the over the years, the number of electrical devices and a two story house, there was about eight decorative areas which required power. I wanted the ability to turn all of my decorations on or off with one button.
Years ago, I was playing around with the X10 protocol to automate the process. The X10 protocol is a longstanding communication standard for home automation, developed in 1975 by Pico Electronics in Scotland, that enables remote control of electrical devices such as lights and appliances primarily through existing power line wiring. It transmits digital signals as short bursts of 120 kHz radio frequency overlaid on the 50/60 Hz AC mains voltage.
The problem with X10 is that although innovative for the time, it was clunky and unreliable. Addon components included wireless transmitters, which required a transmitter module to receive the signal and inject the signal into your home wiring. Additionally, due to the wiring in the electrical panel, not all power plugs are connected to each other. So, the specific modules needed to be plugged into specific electrical outlets. The X10 automation systems worked, but it did not work very well and more importantly, it was never updated to keep current with technology. I ran X10 for years but every year, it became more and more annoying to support.
Home Assistant to the Rescue
This year, I finally built a Home Assistant Server. The server is running virtualized on a TrueNAS server, which is ideal for my, as I am not contributing significantly to my power bill.
Home Assistant is an open-source home automation platform that prioritizes local control, privacy, and sustainability, allowing users to connect and manage thousands of smart devices from various brands without relying on cloud services. Powered by a vibrant worldwide community of tinkerers and DIY enthusiasts, it runs locally on devices like Raspberry Pi or dedicated hardware, processing all data on-site while supporting powerful automations, customizable dashboards, voice control through its built-in Assist feature, and companion mobile apps for remote access and notifications. With seamless integrations for protocols like Zigbee, Z-Wave, and Matter, Home Assistant empowers users to create a truly unified, private smart home experience tailored to their needs.
Christmas Setup
In other to setup the automation, it was a simple manner to order just a few parts.
The first part to purchase is a Zigbee enabled power outlet. I chose to purchase a THIRDREALITY Zigbee Smart Plug with Real-time Power Monitoring,15A Smart Outlet with the power meter. I ordered eight of these little power plugs and an additionally one for one of my development servers. They are super simple to integrate with Home Assistant. As I configured each one, I added a label to each power outlet, so that I could repurpose them for other projects and easily address each individual power outlet.
Although I could automate my christmas lights and control them with the phone app or the Home Assistant web interface, I chose to also purchase two THIRDREALITY ZigBee Smart Button, 3-Way Remote Control. Each Button is again labelled as added into Home Assistant so it may be easily identified.
Each button is configured to toggle all in the inside decorations off and on. One button is downstairs and the other is upstairs to allow easy and quick control of the inside decorations.
Once each Zigbee is labelled and added into my home Zigbee network my next step was to update all of the firmware on each device. I don’t think that is a required step, but it seems like a good idea to do so. This process is easy enough, but it does take a few minutes to complete all of the updates for each device.
The final step is to create an automation for each button. This is pretty easy to accomplish using the web interface for Home Assistant. To navigate, click on the little gear wheel for “Settings” and then “Automations and Scenes”. To create an automation, click the “Create Automation” button to open the “Create Automation” wizard. Then select “Create new automation.”
My settings for this automation, is that for “Decorations Btn 1”, I create an event trigger on “remote_button_short_press” pressed, the system will toggle six inside power outlets which are setup with my inside decorations.

The outside decorations will operate from sunset to sunrise automation in Home Assistant which is based off of previously configured to control our front door light and a few inside lights. I also set to carriage lights on either side of the garage be be red and green. This is a nice extra bit of color and holiday flair.


