Coder Social home page Coder Social logo

isaa-ctaylor / home-assistant-tapo-p100 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from petretiandrea/home-assistant-tapo-p100

0.0 0.0 0.0 735 KB

A custom integration to control Tapo devices from home assistant.

License: MIT License

Shell 1.17% Python 98.56% Dockerfile 0.27%

home-assistant-tapo-p100's Introduction

Home Assistant Tapo Integration

This is a custom integration to control Tapo devices from home assistant.

The core of the integration is provied by plugp100 python library based on work of @K4CZP3R.

Stable Release hacs Project Maintenance License BuyMeCoffee

Please help me to complete the new roadmap

Sponsors

Gold Sponsors

Silver Sponsors

George ChapmanJames Mac

Warnings

Tapo protocol

Tapo is updating its devices with a new firmware which use a new protocol called KLAP. This integration support it's but if you running older version your devices maybe cannot works. So please keep this integration up to date by using HACS!

Local Integration

Although the integration works using LAN, the tapo device needs internet access to synchronize with tapo cloud, especially for credentials, a missing internet access could lead into "Invalida authentication error". Also a static IP must be set for device.

Authentication

For some unknown reason email with capital letter thrown an "Invalid authentication" error. So before open an new issue check your email address on Tapo App Settings. If contains capital letter, the integration won't work. I've opened an issue that explain this #122, I will fix asap. As workaround you can create a new account using all lower-case in your email address.

Features

Discovery

The integration now supports native tapo discovery! To enable it you must add at least one tapo device or this line to your tapo configuration file

tapo:
  discovery: true # you can omit "discovery" by default, with "tapo:" it will enable discovery automatically.

This will enable tapo device discovery. Not all tapo devices supports tapo discovery, so if you not find it, try adding manually. Also tapo integration discovery filters out not supported devices!

Screenshot

Discovery

You can disable integration discovery by editing configuration.yaml in the following way:

tapo:
  discovery: false

Device IP Tracking

By using DHCP home assistant discovery the feature of mac tracking is now disabled, cause HA can track it automatically now. Please be sure to have DHCP discovery not disabled on your configuration.yaml (by default is active).

[BREAKING] Tracking mac address feature is now disabled cause not recommended by HA. The tracking is now performed by HA itself.

Supported devices

  • pure async home assistant's method
  • support for tapo H100 hub and siren
  • support for tapo H100 hub is currently Work In Progress!
  • support for T31x temperature and humidity sensor hub's device
  • support for T100 motion sensor hub's device
  • support for T110 smart door hub's device
  • support for S220, S210 switch hub's device
  • partial support for S200B button hub's device (actually no events are reported to HA)
  • support for tapo powerstrip (P300). A special thanks go to @alxlk to support me with max one-time contribution which allows me to buy the device
  • support for tapo switch (P100, P110, P105, P115, P125, P110M)
  • support for tapo light bulb with or without color (L530, L510, L520, L630, L610, L530B, L530E)
  • support for tapo light strip with or without color (L900)
  • partial support for tapo light strip (L920, L930 (including light effects)). Only RGB works not the addressable feature of strip.
  • support for energy monitoring (P110, P115, P110M)
  • support for tapo light switches with or without the dimmer (S500, S500d, S505d)
  • support for KE100 by @delatt
  • support for additional tapo sensors: overheat and wifi_signal
  • allow configuration from home assistant UI with config flow
  • allow configuration from configuration.yaml. supported domains are switch, light, sensor

Additional features

  • manually change ip address. Now you can change the ip address of a tapo device wihtout removing and re-adding it.

How to install

This integration is part of HACS store, so you don't need anymore to add this repository as a custom repository. You can find it directly on HACS Store: search for tapo and you will find Tapo Controller. (HACS >= 1.6.0 is required)

This video show installation steps:

Install Steps

How to add a Tapo device (after installing the integration)

Using UI

  1. Be sure the integration is installed successfully
  2. Go to integrations menu
  3. Search for Tapo integration
  4. Insert host (ip address), username and password for control your tapo device (the same used for tapo app). If you have a problem in this phase, like "invalid auth" error, please see #122, and if error persist write a comment in the same issue
  5. Wait for connection. It automatically recognize if the tapo device is switch or light or something else :)

Configuration by configuration.yaml

[BREAKING]

The latest version of this integration remove configuration.yaml device configuration support. This is due to follow home assistant best practices https://developers.home-assistant.io/docs/configuration_yaml_index/ and https://github.com/home-assistant/architecture/blob/master/adr/0010-integration-configuration.md#decision

Beta versions

To access to beta version, you must install it as custom

  1. Install from HACS, add this repository as custom repository
  2. Search into HACS store the tapo integration and install
  3. Full restart of home assistant is recommended

Contributions are welcome!

Open a pull request, every contribution are welcome.


home-assistant-tapo-p100's People

Contributors

petretiandrea avatar dependabot[bot] avatar renovate[bot] avatar leandroissa avatar codyc1515 avatar ludy87 avatar veggielane avatar jamesonuk avatar niciliketo avatar rbrtribeiro avatar stoufiler avatar sbte avatar kisty avatar develolongscript avatar gpancot avatar multiflexi avatar rfnunes avatar sapphire-sh avatar soruh avatar thanasiskalos avatar thisischrisnow avatar imbaczek avatar freality avatar jfox-sk avatar josecoelho96 avatar irubnich avatar hobiano avatar dimiterz avatar delatt avatar daniviga avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.