mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-06-25 03:26:50 +00:00
222 lines
4.5 KiB
Markdown
222 lines
4.5 KiB
Markdown
---
|
|
title: TP-Link Smart Home
|
|
description: Instructions on integrating TP-Link Smart Home Devices to Home Assistant.
|
|
ha_category:
|
|
- Hub
|
|
- Light
|
|
- Sensor
|
|
- Switch
|
|
ha_release: 0.89
|
|
ha_iot_class: Local Polling
|
|
ha_config_flow: true
|
|
ha_codeowners:
|
|
- '@rytilahti'
|
|
- '@thegardenmonkey'
|
|
- '@bdraco'
|
|
- '@sdb9696'
|
|
ha_domain: tplink
|
|
ha_platforms:
|
|
- diagnostics
|
|
- light
|
|
- sensor
|
|
- switch
|
|
ha_dhcp: true
|
|
ha_quality_scale: platinum
|
|
ha_integration_type: integration
|
|
---
|
|
|
|
The `tplink` integration allows you to control your [TP-Link Kasa Smart Home Devices](https://www.tp-link.com/kasa-smart/) and [TP-Link Tapo Devices](https://www.tapo.com/) such as plugs, power strips, wall switches and bulbs.
|
|
|
|
You need to provision your newly purchased device to connect to your network before it can be added via the integration. This can be done either by using [kasa command-line tool](https://python-kasa.readthedocs.io/en/latest/cli.html#provisioning) or by adding it to the official Kasa or Tapo app before trying to add them to Home Assistant.
|
|
|
|
If your device is a newer Kasa or Tapo device it will require your TP-Link cloud username and password to authenticate for local access.
|
|
If you have an older device that does not currently require authentication, you may consider disabling automatic firmware updates to keep it that way.
|
|
|
|
{% include integrations/config_flow.md %}
|
|
|
|
## Supported Devices
|
|
|
|
See [Supported Devices in python-kasa](https://github.com/python-kasa/python-kasa#supported-devices) for an up to date list.
|
|
|
|
Devices not listed below may work but if you encounter issues submit a bug report to [python-kasa](https://github.com/python-kasa/python-kasa).
|
|
|
|
### Not requiring authentication
|
|
|
|
#### Plugs
|
|
|
|
- HS100
|
|
- HS103
|
|
- HS105
|
|
- HS107
|
|
- HS110
|
|
- KP100
|
|
- KP105
|
|
- KP115
|
|
- KP125
|
|
- KP401
|
|
- EP10
|
|
- EP25 (Hardware version < 2.6)
|
|
|
|
#### Power Strips
|
|
|
|
- EP40
|
|
- HS300
|
|
- KP303
|
|
- KP200
|
|
- KP400
|
|
- KP405
|
|
|
|
#### Wall switches
|
|
|
|
- ES20M
|
|
- HS200
|
|
- HS210
|
|
- HS220
|
|
- KS200M
|
|
- KS220M
|
|
- KS230
|
|
|
|
#### Bulbs
|
|
|
|
- EP40
|
|
- LB100
|
|
- LB110
|
|
- LB120
|
|
- LB130
|
|
- LB230
|
|
- KL50
|
|
- KL60
|
|
- KL110
|
|
- KL120
|
|
- KL125
|
|
- KL130
|
|
- KL135
|
|
|
|
#### Light strips
|
|
|
|
- KL400
|
|
- KL420
|
|
- KL430
|
|
|
|
### Requiring authentication
|
|
|
|
#### Plugs
|
|
|
|
- EP25 (Hardware version >= 2.6)
|
|
- KP125M
|
|
- P110
|
|
- HS100 (UK Hardware version 4.1 with firmware 1.1.0)
|
|
|
|
#### Wall switches
|
|
|
|
- KS205
|
|
- KS225
|
|
|
|
#### Bulbs
|
|
|
|
- L510B
|
|
- L530E
|
|
|
|
#### Light strips
|
|
|
|
- L900-5
|
|
- L900-10
|
|
- L920
|
|
|
|
#### Power Strips
|
|
|
|
- P300
|
|
|
|
## Light strip effects
|
|
|
|
Light strip effects are currently only supported for the device types not requiring authentication.
|
|
|
|
### Random Effect - Service `tplink.random_effect`
|
|
|
|
The light strips allow setting a random effect.
|
|
|
|
| Service data attribute | Description |
|
|
| ---------------------- | ----------- |
|
|
| `entity_id` | The entity_id of the light strip to set the effect on |
|
|
| `init_states` | Initial HSV sequence |
|
|
| `backgrounds` | List of HSV sequences (Max 16) |
|
|
| `segments` | List of segments (0 for all) |
|
|
| `brightness` | Initial brightness |
|
|
| `duration` | Duration |
|
|
| `transition` | Transition |
|
|
| `fadeoff` | Fade off |
|
|
| `hue_range` | Range of hue |
|
|
| `saturation_range` | Range of saturation |
|
|
| `brightness_range` | Range of brightness |
|
|
| `transition_range` | Range of transition |
|
|
| `random_seed` | Random seed |
|
|
|
|
```yaml
|
|
#Example Service Call
|
|
service: tplink.random_effect
|
|
target:
|
|
entity_id:
|
|
- light.strip
|
|
data:
|
|
init_states: 199,99,96
|
|
backgrounds:
|
|
- - 199
|
|
- 89
|
|
- 50
|
|
- - 160
|
|
- 50
|
|
- 50
|
|
- - 180
|
|
- 100
|
|
- 50
|
|
segments: 0, 2, 4, 6, 8
|
|
brightness: 90
|
|
transition: 2000
|
|
fadeoff: 2000
|
|
hue_range: 340, 360
|
|
saturation_range: 40, 95
|
|
brightness_range: 90, 100
|
|
transition_range: 2000, 6000
|
|
random_seed: 80
|
|
```
|
|
|
|
### Sequence Effect - Service `tplink.sequence_effect`
|
|
|
|
The light strips allow setting a sequence effect.
|
|
|
|
| Service data attribute | Description |
|
|
| ---------------------- | ----------- |
|
|
| `entity_id` | The entity_id of the light strip to set the effect on |
|
|
| `sequence` | List of HSV sequences (Max 16) |
|
|
| `segments` | List of segments (0 for all) |
|
|
| `brightness` | Initial brightness |
|
|
| `duration` | Duration |
|
|
| `repeat_times` | Repetitions (0 for continuous) |
|
|
| `transition` | Transition |
|
|
| `spread` | Speed of spread |
|
|
| `direction` | Direction |
|
|
|
|
```yaml
|
|
#Example Service Call
|
|
service: tplink.sequence_effect
|
|
target:
|
|
entity_id:
|
|
- light.strip
|
|
data:
|
|
sequence:
|
|
- - 340
|
|
- 20
|
|
- 50
|
|
- - 20
|
|
- 50
|
|
- 50
|
|
- - 0
|
|
- 100
|
|
- 50
|
|
segments: 0, 2, 4, 6, 8
|
|
brightness: 80
|
|
transition: 2000
|
|
spread: 1
|
|
direction: 1
|
|
```
|