Home Assistant
Best outdoor smart plug for holiday lights with local Home Assistant control
Choose Tapo P400M, Kasa EP40M or Zooz ZEN05 800LR for local holiday lights: outdoor ratings, Matter vs Z-Wave, sunset schedules and watt alerts.
OUR PICKS / YOUR SETUP
Find your fit.
Choose Tapo P400M for two separately controlled Matter outlets, Kasa EP40M for an existing Kasa setup, or Zooz ZEN05 800LR for local watt reports and a lights-failed alert. Zooz needs a Z-Wave controller.
- Two-outlet pickTapo P400M
- Local watt alertsZooz ZEN05 800LR
- SchedulesSunset → 11 pm
We earn a commission if you buy through our links — it doesn’t change our picks. How we make money → As an Amazon Associate I earn from qualifying purchases.
YOUR NEXT PROJECT / THE GEAR
Parts list
- Tapo P400M outdoor Matter plugCheck price on Amazon
Control two sets of holiday lights separately over Matter, with an IP65 outdoor housing.
- Kasa EP40M outdoor Matter plugCheck price on Amazon
Keep two outdoor lights on separate schedules and add local Matter control to your Kasa setup.
- Zooz ZEN05 800LR outdoor smart plugCheck price on Amazon
Watch holiday-light power locally over Z-Wave and get an alert when the draw falls.
Your holiday lights deserve a better evening routine than “find a coat, go outside, unplug the snowman.” Tapo P400M is the outdoor plug to start with: two independently controlled outlets, local Matter control and an IP65 housing. Want Home Assistant to notice when the lights stop drawing power? Choose Zooz ZEN05 800LR instead.
This research-based guide uses maker specifications and Home Assistant documentation.
Quick picks: switching, or switching plus watts?
- Best two-outlet default: Tapo P400M. Put the lights on one outlet and a second decoration on the other. Control them separately through Matter over Wi-Fi.
- Best for Kasa users: EP40M. Two independent outlets and Matter support fit an existing Kasa setup. Its outdoor rating is IP64.
- Best for a “lights dead?” alert: Zooz ZEN05 800LR. One IP65-rated outlet, local Z-Wave control and power reports. You need a compatible Z-Wave controller; the Z-Wave setup guide covers that piece.
P400M has no energy monitoring. TP-Link confirms that explicitly. EP40M’s maker features and manual don’t specify watt reporting either. Buy those for switching; buy the current 800LR Zooz when the power reading is part of your plan.
For indoor appliance monitoring and the original holiday-light recipe, see the local energy-monitoring smart-plug guide. Find the rest of your setup in the Home Assistant hub.
Compare the outdoor plugs
| Plug | Separately controlled outlets | Maker outdoor rating | Local Home Assistant route | Power reporting for the alert below |
|---|---|---|---|---|
| Tapo P400M | Two | IP65 | Matter over Wi-Fi | No; TP-Link confirms no energy monitoring |
| Kasa EP40M | Two | IP64 | Matter over Wi-Fi; native TP-Link integration also lists EP40M | No watt feature specified by maker |
| Zooz ZEN05 800LR | One | IP65 | Z-Wave JS with a compatible controller | Yes, on 800LR hardware; older 700-series ZEN05 lacks it |
Those IP ratings describe the plug housing. Keep unused outlet covers closed, point the sockets down and mount the plug above the ground as its manual directs. A second outlet gives you another controllable load, not a second breaker circuit.
Tapo P400M: the straightforward two-outlet pick
P400M is a good fit when the main job is making two decorations follow different schedules. Its Matter connection runs over your Wi-Fi network, so you don’t need a Thread border router for this plug.
Use one Home Assistant entity for each outlet. Name them after the connected decorations while you’re setting up; “Tree lights” is much easier to pick in an automation than two nearly identical default names.
The useful distinction is simple: P400M switches the load, but it doesn’t measure watts. The sunset and vacation recipes work here; the low-power alert needs the Zooz.
Kasa EP40M: keep your existing Kasa setup
EP40M offers the same basic two-outlet job with Matter support. Choose it when you already use Kasa and want to keep the same app available alongside Home Assistant.
The native TP-Link integration also lists EP40M and the older, non-Matter EP40. Its connection is local; Tapo and newer Kasa devices require TP-Link account credentials for authentication, and some firmware needs third-party integration access enabled. That account requirement is separate from the local control path.
Already own an EP40? Try the supported native integration before replacing a working plug just to gain a Matter logo.
Zooz ZEN05 800LR: buy this one for watt alerts
The current 800LR version reports watts, current, voltage and accumulated energy to your Z-Wave controller. The older 700-series ZEN05 does not have power monitoring, so the version matters.
Use Z-Wave JS with the appropriate US-region controller. Start with the existing Z-Wave guide if this is your first Z-Wave device. Keep the plug’s power-reporting settings useful without flooding the network; Zooz’s reporting guide explains timed and change-based reports.
The maker’s LED limit is 150 W. Use the load-type limit, not the larger resistive-load headline, when sizing holiday LEDs. Zooz’s FAQ also specifies one connected device per outlet and no added power strip or splitter.
Get the outdoor fit right once
Use outdoor-rated cords and a GFCI-protected circuit, following FirstEnergy’s holiday-light guidance.
Mount the plug at the outlet as its manual directs, with the sockets facing down and unused covers closed. In particular, EP40M’s manual says not to plug the smart plug into an extension cord or relocatable power tap; put the smart plug at the receptacle, not at the far end of a lead.
Before you decorate, check the control path.
- For P400M or EP40M, set up Home Assistant’s Matter integration under Settings → Devices & services. Use the Companion app on your phone to add the Wi-Fi Matter device and scan its setup code, following the Matter instructions.
- For Zooz, add the plug through Z-Wave JS and identify its outlet switch and power entity.
- Turn each outlet on and off from Home Assistant. Confirm that you’re controlling the intended decoration.
- Choose a steady lighting mode for a power alert, then observe its healthy watt reading. Flashing modes naturally vary the draw.
Keep the Matter setup code somewhere you can find it again. Home Assistant’s documentation explains how to share an already-commissioned device from another Matter controller if you initially added it elsewhere.
Recipe 1: on at sunset, off at 11
Build two separate automations so the off time stays easy to see and change.
Lights on: open Settings → Automations & scenes → Create automation → Create new automation. Under When → Add trigger, search for Sunset in the Sun group. Leave the offset empty for sunset itself. Under Then do, select the switch Turn on action and your chosen outlet. Save.
Lights off: create another automation with a Time trigger set to 23:00 and a switch Turn off action for the same outlet. Save. Select both outlets if both should go dark together.
That’s your basic display sorted. The Sunset trigger follows the seasons, while the Time trigger keeps bedtime fixed. These are example schedules for you to adapt.
Recipe 2: “lights dead?” without an outdoor inspection
Use the ZEN05 800LR power entity for this recipe. Let the lights reach their normal steady-on draw, then choose a low threshold that would be worth investigating.
As an illustrative starting point, healthy lights drawing 20 W could trigger an alert below 10 W—half their observed draw. Use your own healthy reading to choose the threshold.
Create a new automation:
- When: add a Time pattern trigger with Minutes:
/1to check once a minute. - And if: add a State condition for the outlet, State: On, For at least: 2 minutes. That gives startup readings time to settle.
- Add a Numeric state condition for the power entity, Below your chosen watt threshold.
- Then do: select your Companion app phone-notification action and write “Holiday-light power is low—check the strand.” Save.
The check reads the current values, so it catches a strand already drawing too little when the outlet turns on, as well as one that fails later. The outlet-on condition keeps the normal 11 pm shutoff from becoming a fault alert.
It repeats while the conditions hold. Use a longer check interval if you’d prefer fewer reminders, and remember that the alert sees the latest report from the plug. A small loss among many LEDs may stay above your threshold; use the alert to investigate a noticeable drop.
The State condition, Numeric state condition and Time pattern docs cover the controls used here.
Recipe 3: a little vacation-mode variety
Make a Vacation lights Toggle helper under Settings → Devices & services → Helpers. Then select Create helper → Random → Random binary sensor. Home Assistant’s Random helper supplies random on/off states.
Create an automation with Time pattern → Minutes: /15. Under And if, require:
- Vacation lights is On.
- Sun is set, from the Sun condition group.
- A Time condition with After: 12:00 and Before: 23:00.
That time window pairs with Sun is set to select the evening rather than the hours after midnight, where sunset falls after noon. Use Home Assistant’s Sun condition guidance for this arrangement.
Under Then do → Add action → Blocks, use Choose: when the random binary sensor is On, turn your outlet on; in the default branch, turn it off. Every 15 minutes, the automation applies the helper’s current random state. The Choose documentation shows how to add the option and default actions.
Save, leave the separate 23:00 off automation enabled, and turn the Vacation lights helper on when you want variation. Turn the helper off to stop the random routine. This recipe works with all three shortlisted plugs.
Test it before the decorations go up
Test notification delivery with Run actions first. Then test the full power-check automation with a suitable lamp: leave the smart outlet on, switch the lamp off using its own switch and wait for an updated low reading and the next check. Turning the smart outlet off would deliberately block this alert.
For scheduling, temporarily move the off time a few minutes ahead, Save, watch it run, then restore 23:00 and Save again. For vacation mode, try a short test interval and inspect the trace to see which branch ran before restoring your chosen interval.
Choose P400M for two local, separately scheduled outlets; choose ZEN05 800LR when you want the watts to tell you something, too. Get the switching right first. Then let Home Assistant handle the festive chores.
Want the colours to move rather than just switch on? Use the WLED controller and holiday-scene guide for an indoor pixel-strip project; keep this plug route for ordinary strings.
Sources & methodology
Where these facts come from.
- Tapo P400M: IP65, two independent outlets and Matter · checked October 24, 2026
- TP-Link staff: P400M has no energy monitoring · checked October 24, 2026
- Kasa EP40M: Matter, independent outlets and IP64 · checked October 24, 2026
- Tapo P400M manual: installation and Matter setup · checked October 24, 2026
- Kasa EP40M manual: outdoor installation and connection requirements · checked October 24, 2026
- Zooz ZEN05 800LR manual: outdoor rating and load limits · checked October 24, 2026
- Zooz ZEN05 800LR: power reporting and hardware versions · checked October 24, 2026
- Home Assistant Matter: local control and phone commissioning · checked October 24, 2026
- Home Assistant TP-Link: local control, supported models and authentication · checked October 24, 2026
- Home Assistant Z-Wave JS: local radio setup and devices · checked October 24, 2026
- Home Assistant Sunset trigger · checked October 24, 2026
- Home Assistant Sun group: use Sun is set for new automations · checked October 24, 2026
- Home Assistant Time pattern: periodic checks · checked October 24, 2026
- Home Assistant State condition: For at least · checked October 24, 2026
- Home Assistant Numeric state condition: current watt reading · checked October 24, 2026
- Home Assistant Random helper: random binary states · checked October 24, 2026
- Home Assistant actions: Blocks and conditional choices · checked October 24, 2026
- Home Assistant Time trigger · checked October 24, 2026
- Home Assistant Time condition: before and after · checked October 24, 2026
- Companion app: phone notifications · checked October 24, 2026
- FirstEnergy: outdoor-rated cords and GFCI holiday-light protection · checked October 24, 2026
- Zooz ZEN05 FAQ: LED load, version differences and one device per outlet · checked October 24, 2026
- Home Assistant Choose block: option conditions and default actions · checked October 24, 2026
Source dates are listed above.
As an Amazon Associate I earn from qualifying purchases.
YOUR NEXT PROJECT / THE GEAR
Parts list
- Tapo P400M outdoor Matter plugCheck price on Amazon
Control two sets of holiday lights separately over Matter, with an IP65 outdoor housing.
- Kasa EP40M outdoor Matter plugCheck price on Amazon
Keep two outdoor lights on separate schedules and add local Matter control to your Kasa setup.
- Zooz ZEN05 800LR outdoor smart plugCheck price on Amazon
Watch holiday-light power locally over Z-Wave and get an alert when the draw falls.
Prepared by Racks & Watts.