DEV.co
Open-Source Observability · petretiandrea

home-assistant-tapo-p100

A Home Assistant custom integration for controlling TP-Link Tapo smart devices (plugs, light bulbs, switches, sensors) over local LAN. Supports device discovery, energy monitoring, and async operations native to Home Assistant.

Source: GitHub — github.com/petretiandrea/home-assistant-tapo-p100
962
GitHub stars
127
Forks
Python
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositorypetretiandrea/home-assistant-tapo-p100
Ownerpetretiandrea
Primary languagePython
LicenseMIT — OSI-approved
Stars962
Forks127
Open issues22
Latest release3.5.0 (2026-03-28)
Last updated2026-03-28
Sourcehttps://github.com/petretiandrea/home-assistant-tapo-p100

What home-assistant-tapo-p100 is

Python-based Home Assistant integration wrapping the plugp100 library, communicating with Tapo devices via LAN using both legacy and KLAP protocol. Provides async device control, diagnostics, firmware updates, and dynamic device-type detection through UI config flow.

Quickstart

Get the home-assistant-tapo-p100 source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/petretiandrea/home-assistant-tapo-p100.gitcd home-assistant-tapo-p100# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Local Smart Home Automation

Control TP-Link Tapo devices (P100/P110 plugs, L530 bulbs, L900 strips, S500 switches) entirely over LAN without cloud dependency, ideal for privacy-conscious deployments and low-latency home automation.

Energy Monitoring & Management

Monitor power consumption on supported devices (P110, P115, P110M, P304M) with per-outlet granularity for powerstrips, enabling demand-side energy analytics within Home Assistant.

Hub-Based Multi-Sensor Deployments

Integrate Tapo hubs (H100 with T31x, T100, T110 sensors; S220/S210 switches; S200B/S200D buttons) to aggregate sensor data and trigger automations across mixed Tapo ecosystems.

Implementation considerations

  • Email address for Tapo app authentication must be lowercase; uppercase letters cause 'Invalid authentication' errors—validate before deployment.
  • Devices require internet access for periodic Tapo cloud sync even when using LAN control; network isolation may trigger credential sync failures.
  • TP-Link is phasing in KLAP protocol via firmware updates; older firmware uses legacy protocol. Keep integration updated via HACS and monitor device firmware versions.
  • Static IP assignment mandatory for device reliability; DHCP-based discovery is supported but tracking occurs via Home Assistant's native MAC address resolution.
  • Discovery is not universal—not all Tapo models support native discovery. Manual IP+credentials configuration fallback required.

When to avoid it — and what to weigh

  • Cloud-Only or Proprietary Control Required — This integration requires local LAN access and does not support cloud-only Tapo modes or devices locked to the official Tapo app. If your deployment mandates proprietary cloud integration, this is not suitable.
  • Non-TP-Link Tapo Devices — Compatibility is limited to TP-Link Tapo brand devices. If you control other smart home brands, you will need separate integrations; this is not a multi-vendor solution.
  • Zero Configuration or Minimal Networking Knowledge — Requires manual IP configuration, static IPs for devices, email lowercase constraints, and troubleshooting of KLAP vs. legacy protocol issues. Not plug-and-play for non-technical users.
  • Production Critical 24/7 Uptime Guarantees — Maintained by a single individual with no SLA. 22 open issues and protocol-breaking firmware updates from TP-Link introduce risk for mission-critical deployments.

License & commercial use

Licensed under MIT (permissive OSI-approved license). Allows free use, modification, and distribution for commercial and private purposes, provided original license and copyright notice are included.

MIT license permits commercial use without royalty or special permission. However, this is a community-maintained project with no warranty or SLA. Commercial deployments should: (1) review the 22 open issues and single-maintainer status, (2) establish internal fork/maintenance contingency, (3) conduct security review of protocol implementation before production deployment.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityModerate
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Local LAN communication (no clear TLS enforcement documented for LAN traffic). Credentials stored in Home Assistant secrets management (standard HA pattern). No explicit audit or penetration test data provided. Protocol relies on TP-Link's KLAP and legacy encryption; upstream plugp100 library security posture unknown. Recommend: review plugp100 library security advisories, validate against TP-Link firmware release notes for protocol vulnerabilities, and isolate Tapo devices on separate VLAN if handling sensitive automations.

Alternatives to consider

Official TP-Link Kasa App + Home Assistant Cloud Integration

TP-Link's official Kasa integration exists for Home Assistant but requires cloud routing and Kasa account; trade-off of cloud dependency for official support and stability. No local-only control.

Generic MQTT + Tapo Device Firmware

Some users bridge Tapo devices via MQTT using alternative firmware or custom scripts (e.g., Tasmota derivatives). Requires flashing and offers more granular control but higher technical barrier and device warranty risk.

Lutron Caseta / Philips Hue / Native Matter Switches

If device ecosystem is not yet locked into Tapo, consider Matter-native or established proprietary solutions with larger vendor support, better documentation, and production-grade SLAs for home automation.

Software development agency

Build on home-assistant-tapo-p100 with DEV.co software developers

Install via HACS, configure device credentials, and start controlling your Tapo devices locally. For production deployments, review the maintenance status and security considerations.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

home-assistant-tapo-p100 FAQ

Do I need internet if I only control devices locally?
No and yes: LAN control works without internet, but Tapo devices periodically sync credentials with the Tapo cloud. Absence of internet may trigger 'Invalid authentication' errors on next credential refresh. Recommendation: allow intermittent internet or use a local proxy.
What is the difference between KLAP and legacy protocol?
TP-Link is transitioning Tapo devices to KLAP protocol via firmware updates. This integration supports both. Legacy protocol is older, simpler. KLAP is newer, more secure. Integration auto-detects; keep it updated to handle protocol transitions from new firmware releases.
Can I add Tapo devices not listed in the README?
Unlikely without code changes. The integration explicitly checks for supported models. If your device is not listed, open a GitHub issue with model number and device logs, or use the plugp100 library as a reference to add support.
Why do I get 'Invalid authentication' errors?
Common causes: (1) Email contains uppercase letters (convert to lowercase in Tapo app), (2) Device lacks internet to sync credentials, (3) Device IP changed and credentials were not re-entered. Troubleshoot in order: check email case, verify device internet, manually update device IP in integration settings.

Software developers & web developers for hire

From first prototype to production, DEV.co delivers software development services around tools like home-assistant-tapo-p100. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source observability and beyond.

Ready to automate Tapo devices in Home Assistant?

Install via HACS, configure device credentials, and start controlling your Tapo devices locally. For production deployments, review the maintenance status and security considerations.