/ha-tplink-deco

Home Assistant TP-Link Deco Custom Component

Primary LanguagePythonMIT LicenseMIT

TP-Link Deco

GitHub Release GitHub Activity License

pre-commit Black

hacs Project Maintenance BuyMeCoffee

Community Forum

Functionality

This integration is a local polling integration that logs into the admin web UI for TP-Link Deco routers. Currently the only feature implemented is device trackers for active devices.

Device Trackers

Besides the device being present (connected to the router), the following attributes are also exposed:

Attribute Example Values (comma separated)
mac 1A-B2-C3-4D-56-EF
ip_address 192.168.0.100
connection_type band5, band2_4
interface main, guest
down_kilobytes_per_s 100
up_kilobytes_per_s 100

{% if not installed %}

Installation

HACS

  1. Install HACS
  2. Go to HACS "Integrations >" section
  3. In the lower right click "+ Explore & Download repositories"
  4. Search for "TP-Link Deco" and add it
    • HA Restart is not needed since it is configured in UI config flow
  5. In the Home Assistant (HA) UI go to "Configuration"
  6. Click "Integrations"
  7. Click "+ Add Integration"
  8. Search for "TP-Link Deco"

Manual

  1. Using the tool of choice open the directory (folder) for your HA configuration (where you find configuration.yaml).
  2. If you do not have a custom_components directory (folder) there, you need to create it.
  3. In the custom_components directory (folder) create a new folder called tplink_deco.
  4. Download all the files from the custom_components/tplink_deco/ directory (folder) in this repository.
  5. Place the files you downloaded in the new directory (folder) you created.
  6. Restart Home Assistant
  7. In the Home Assistant (HA) UI go to "Configuration"
  8. Click "Integrations"
  9. Click "+ Add Integration"
  10. Search for "TP-Link Deco"

{% endif %}

Configuration (Important! Please Read)

Config is done in the HA integrations UI.

The login credentials must be the deco owner credentials and the username should be left as admin. Manager credentials will not work. Also when this integration is logged in, all other sessions for the owner will be logged out. Recommend that you create a separate manager account with full permissions to manage the router manually and use the owner credentials only for this integration.

Disable new entities

If you prefer new entities to be disabled by default:

  1. In the Home Assistant (HA) UI go to "Configuration"
  2. Click "Integrations"
  3. Click the three dots in the bottom right corner fo the TP-Link Deco integration
  4. Click "System options"
  5. Disable "Enable newly added entities"

Tested Devices

  • Deco M4
  • Deco M5
  • Deco M9 Plus
  • Deco P7
  • Deco S4
  • Deco X20
  • Deco X60

Contributions are welcome!

If you want to contribute to this please read the Contribution guidelines

Credits

This project was generated from @oncleben31's Home Assistant Custom Component Cookiecutter template.

Code template was mainly taken from @Ludeeus's integration_blueprint template