Part of Home Assistant Ultimate Guide
TP-Link Kasa + Home Assistant
Local control for smart plugs, switches, and bulbs
Start with your model and account
Kasa plugs, switches and lights can work locally with Home Assistant. The catch is authentication: many current models need your TP-Link login, even though Home Assistant controls them across your home network. Have the device model, hardware version and account details ready before you start.
1. Supported devices
Read the model and hardware version from the device label. KP125 and KP125M are different products; a hardware revision can also change the connection method. The python-kasa supported-device list records tested hardware and firmware versions for the library Home Assistant uses.
| Device | Examples | What to check |
|---|---|---|
| Basic plugs | HS103, HS105, EP10 | On/off control; do not assume energy metering. |
| Metering plugs | KP115, KP125, EP25, KP125M | Actual power and energy entities after setup. |
| Wall switches and dimmers | HS200, HS220, KS230 | Neutral wire, dimmable load and single-pole or three-way wiring requirements for the exact model. |
| Bulbs | KL110, KL125, KL130, KL135 | White-only versus color controls and the correct bulb base for your fixture. |
For example, TP-Link lists the North American KL125 with an E26 base. It is not a B22 bulb. The KP125M product page confirms both energy monitoring and Matter support.
Supported Tapo products use the same TP-Link Smart Home integration. A supported brand name does not guarantee every device or every app feature is available.
2. Integration setup
Connect the device to Wi-Fi first
Finish onboarding in the Kasa or Tapo app and confirm that the device responds there. Note its IP address from your router. Use a lamp for the first switching test so the result is easy to see.
- Open Settings → Devices & services in Home Assistant.
- Configure a discovered TP-Link device, or choose Add integration → TP-Link Smart Home.
- If adding manually, enter the device IP address. Supply the TP-Link account email and password when requested. The email is case-sensitive.
- Open the new device page. Give it a useful name and room, then turn the lamp on and off.
The official setup instructions distinguish account authentication from local communication. Keep the app and account available until setup is verified; removing the device from your account is not a required step.
Check the connection in both directions
Operate the physical button and watch the entity change in Home Assistant. Then send a command from Home Assistant and confirm it reaches the device. Copy the actual entity ID from its settings before using any example below. Names such as switch.living_room_lamp are placeholders.
For a separate IoT network, add the device by IP and allow Home Assistant to reach it. Automatic discovery does not cross subnets. A DHCP reservation keeps that address stable. Our home network guide covers the broader network layout.
3. Energy monitoring
Watts tell you how much power a device is using now. Kilowatt-hours tell you how much energy it used over time. A 100-watt load running for ten hours uses 1 kWh. That distinction matters when selecting a sensor for a chart or automation.
Open the device page and inspect the available sensors. Some models report today's energy; older Kasa devices may also report total consumption. Newer devices do not all provide that total sensor. Avoid copying an entity name from another model and assuming it exists on yours.
Add the right sensor to Energy
- Open the Energy dashboard configuration and find individual devices.
- Select the device's energy sensor for consumption history. If the interface also offers a power field, use the sensor measured in watts there.
- Allow time for statistics to accumulate before judging the graph.
Home Assistant documents individual-device energy tracking and the sensor units and statistics requirements. If you only have a power sensor, its Integral helper can estimate energy from those readings. Do not rename a W sensor to kWh.
Use these readings to compare an appliance's own use over time. This guide makes no meter-accuracy guarantee. A plug is not a substitute for your utility meter, and short bursts of use can be missed between readings.
4. Automation ideas
Start with a desk lamp, porch lamp or other load the plug is rated to switch. Check the device label and appliance instructions. Avoid using a generic plug example to control a space heater, electric dryer or equipment that must stay powered.
Turn a lamp on before sunset
Create an empty automation, open its YAML editor and paste this single automation. Replace the switch entity, save it, then use its Run actions command to check the lamp.
alias: "Porch lamp before sunset"
triggers:
- trigger: sun
event: sunset
offset: "-00:15:00"
conditions: []
actions:
- action: switch.turn_on
target:
entity_id: switch.porch_lamp
mode: single Create a second automation to switch the lamp off at your chosen bedtime. Keeping the two schedules separate makes each easier to adjust.
Get a reminder when a monitor stays on
This example creates a notification inside Home Assistant, so it does not depend on a phone-specific notification action. Replace the sensor and choose a threshold above your monitor's measured standby draw.
alias: "Office monitor power reminder"
triggers:
- trigger: time
at: "22:30:00"
conditions:
- condition: numeric_state
entity_id: sensor.office_monitor_power
above: 20
actions:
- action: persistent_notification.create
data:
title: "Office monitor"
message: "The monitor is still drawing more than 20 watts."
mode: single A timed check also catches equipment that was already running before the automation became active. If you later build a daily energy alert, use a daily energy sensor or a Utility Meter helper. A lifetime total above 10 kWh is not a daily budget.
5. Firmware and Matter
Firmware changes deserve a small test, not a blanket rule to keep every device on old software. Record the working firmware and entity names, read the release notes for the exact hardware revision, and update one nonessential device first. Verify switching and energy readings before continuing.
If authentication fails afterward, check the TP-Link credentials and whether the vendor app offers Third-Party Compatibility. Some firmware requires that setting. The integration troubleshooting notes describe these cases. Unofficial firmware downgrades are not part of this setup.
Does Matter replace the Kasa integration?
Only a model with Matter support can use that route. TP-Link's KP125M V1 release notes include Matter energy-monitoring changes and warn that controller support can differ. Check the sensors you actually receive before deleting a working integration.
Kasa Matter plugs use Wi-Fi. You need Home Assistant's Matter integration and server, but no Thread border router for the plug. If it already belongs to another Matter platform, follow the existing-device sharing process. If both integrations expose the same plug, choose one entity for each automation to avoid duplicate commands.
6. Troubleshooting
The app works, but Home Assistant cannot find the device
The app may be reaching it through TP-Link's cloud. Confirm the current IP in your router, add that address manually, and check guest-network isolation or rules between Home Assistant and the IoT network. Being able to control it from a phone on cellular does not prove local access works.
Authentication fails or there is a communication error
Re-enter the owning TP-Link account with the same capitalization used in the app. Check Third-Party Compatibility if offered. Disable a duplicate custom TP-Link integration while testing the built-in one. Save the exact error before trying further changes; a factory reset should come after checking credentials and connectivity.
The plug disappears after a router restart
Compare its current address with the host configured in Home Assistant. Correct a changed address and reserve it in DHCP. If the address stayed the same, look for Wi-Fi disconnections or a weak signal before rebuilding the integration.
There is no energy sensor
Check that the exact model has metering hardware. Then inspect the device's entity list, including disabled entities. A missing total-consumption entity on a newer Kasa device can be expected; use the energy sensor that is supported. If a previously available sensor stopped updating, capture the model, hardware revision, firmware and diagnostic details for an issue report.
Test the setup you will actually use
Check a manual command, a physical-button change and an automation run. If offline operation is a requirement, test a brief internet outage during a convenient window while leaving the local network powered. Record which controls still work before depending on them.
7. Sources
Documentation reviewed on 2026-09-08 for the Home Assistant 2026.9 release series. Model support can differ by region and hardware revision; this is a documentation review, not a test of every listed device.
- Home Assistant: TP-Link Smart Home
- python-kasa: tested devices and firmware
- TP-Link: KP125M specifications
- Home Assistant: individual-device energy usage
Planning more than a few plugs? Start with our Home Assistant guide or ask us about setup help.
Frequently Asked Questions
Does TP-Link Kasa need a cloud account for Home Assistant?
Newer Kasa and Tapo devices require your TP-Link account email and password to authenticate local access. Older Kasa models may not. Once connected, the TP-Link integration sends commands over your local network. A login requirement does not mean each command travels through the cloud.
Which Kasa plugs have energy monitoring?
Models such as KP115, KP125, EP25 and KP125M include energy monitoring. Check the exact model and hardware version before buying. Basic plugs such as HS103 and EP10 do not gain power measurement by connecting them to Home Assistant. The energy entities available also vary by device and firmware.
Should I avoid Kasa firmware updates?
Review the release notes for your exact hardware version and check current integration support first. Firmware can change authentication, so keep your TP-Link credentials available and test one device before updating the rest. This guide does not recommend unofficial firmware downgrades or permanently skipping every update.
Do Kasa and Tapo use the same Home Assistant integration?
Yes. Search for TP-Link Smart Home in Home Assistant. The built-in integration supports devices from both brands, although support depends on the model and its functions. You do not need a second custom integration just because a device says Tapo.
Should I use Matter or the TP-Link integration?
For an existing Kasa installation, start with TP-Link Smart Home and check which entities it exposes. A Matter-certified model such as KP125M can also use Matter. These are Wi-Fi plugs, so a Thread border router is not required. Compare the controls and energy sensors on your actual firmware before moving automations between integrations.
Need help setting up your smart home?
We install and configure Home Assistant systems throughout Oklahoma. Get professional setup with energy monitoring, automations, and ongoing support.