openhab-addons/bundles/org.openhab.binding.tapocontrol
Christian Wild 612afd2e07
[Tapocontrol] Binding to control Tapo (by TP-Link) Devices (#11111)
* [tapocontrol] New Source Upload

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] Delete bundles/org.openhab.binding.tapocontrol directory

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] Snapshot 3.2

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] Update CODEOWNERS

Fixed bindingname

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] Update README.md

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] new "Bridge-Version"

Credentials (TapoCloud) where now set in a bridge device.
Things now had to be attached to a bridge.

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] fixed device discovery bug

fixed device discovery bug
added bridge to thing-types.xml

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] Update bundles/org.openhab.binding.tapocontrol/README.md

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] code cleanup and optimization

- general code cleanup and optimization
- limited max connections and queued requests to 10 per destination
- device error handling revised
- review remarks of pull request processed

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] solved review requests

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] LightStrip L900 basicly supported

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] fixed review requests

Signed-off-by: Christian Wild <christian@wild-bw.de>

* [tapocontrol] fixed compiler warnings

Signed-off-by: Christian Wild <christian@wild-bw.de>

Co-authored-by: Fabian Wolter <github@fabian-wolter.de>
2021-11-28 15:29:21 +01:00
..
src [Tapocontrol] Binding to control Tapo (by TP-Link) Devices (#11111) 2021-11-28 15:29:21 +01:00
NOTICE [Tapocontrol] Binding to control Tapo (by TP-Link) Devices (#11111) 2021-11-28 15:29:21 +01:00
pom.xml [Tapocontrol] Binding to control Tapo (by TP-Link) Devices (#11111) 2021-11-28 15:29:21 +01:00
README.md [Tapocontrol] Binding to control Tapo (by TP-Link) Devices (#11111) 2021-11-28 15:29:21 +01:00

TapoControl Binding

This binding adds support to control Tapo (Copyright © TP-Link Corporation Limited) Smart Home Devices from your local openHAB system.

Supported Things

The following Tapo-Devices are supported

P100/P105 SmartPlug (WiFi)

  • Power On/Off
  • Wi-Fi signal (SignalStrength)
  • On-Time (Time in seconds device is switched on)

L510_Series dimmable SmartBulb (WiFi)

  • Light On/Off
  • Brightnes (Dimmer) 0-100 %
  • ColorTemperature (Number) 2500-6500 K
  • Wi-Fi signal (SignalStrength)
  • On-Time (Time in seconds device is switched on)

L530_Series MultiColor SmartBulb (WiFi)

  • Light On/Off
  • Brightnes (Dimmer) 0-100 %
  • ColorTemperature (Number) 2500-6500 K
  • Color (Color)
  • Wi-Fi signal (SignalStrength)
  • On-Time (Time in seconds device is switched on)

L900 MultiColor LightStrip (WiFi)

  • Light On/Off
  • Brightnes (Dimmer) 0-100 %
  • ColorTemperature (Number) 2500-6500 K
  • Color (Color)
  • Wi-Fi signal (SignalStrength)
  • On-Time (Time in seconds device is switched on)

Prerequisites

Before using Smart Plugs with openHAB the devices must be connected to the Wi-Fi network. This can be done using the Tapo provided mobile app. You need to setup a bridge (Cloud-Login) to commiunicate with your devices.

Discovery

Discovery is done by connecting to the Tapo-Cloud Service. All devices stored in your cloud account will be detected even if they are not in your network. You need to know the IP-Adress of your device. This must be set manually in the thing configuration

Bridge Configuration

The bridge needs to be configured with by username and password (Tapo-Cloud login) . This is used for device discovery and to create a handshake (cookie) to act with your devices over the local network.

The thing has the following configuration parameters:

Parameter Description
username Username (eMail) of your Tapo-Cloud
password Password of your Tapo-Cloud

Thing Configuration

The thing needs to be configured with ipAddress.

The thing has the following configuration parameters:

Parameter Description
ipAddress IP Address of the device.
pollingInterval Refresh interval in seconds. Optional. The default is 30 seconds

Channels

All devices support some of the following channels:

group channel type description things supporting this channel
actuator output Switch Power device on or off P100, P105,L510, L530, L900
brightness Dimmer Brightness 0-100% L510, L530, L900
colorTemperature Number White-Color-Temp 2500-6500K L510, L530, L900
color Color Color L530, L900
device wifiSignal system.signal-strength WiFi-quality-level P100, P105, L510, L530, L900
onTime Number:Time seconds output is on P100, P105, L510, L530, L900

Channel Refresh

When the thing receives a RefreshType command the thing will send a new refreshRequest over http. To minimize network traffic the default refresh-rate is set to 30 seconds. This can be reduced down to 10 seconds in advanced settings of the device. If any command was sent to a channel, it will do an immediately refresh of the whole device.

Full Example

tapocontrol.things:

tapocontrol:bridge:myTapoBridge                     "Cloud-Login"               [ username="you@yourpovider.com", password="verysecret" ]
tapocontrol:P100:myTapoBridge:mySocket              "My-Socket"                 [ ipAddress="192.168.178.150", pollingInterval=30 ]
tapocontrol:L510_Series:myTapoBridge:whiteBulb      "white-light"               [ ipAddress="192.168.178.151", pollingInterval=30 ]
tapocontrol:L530_Series:myTapoBridge:colorBulb      "color-light"               [ ipAddress="192.168.178.152", pollingInterval=30 ]
tapocontrol:L900:myTapoBridge:myLightStrip          "light-strip"               [ ipAddress="192.168.178.153", pollingInterval=30 ]

tapocontrol.items:

Switch       TAPO_SOCKET      "socket"                { channel="tapocontrol:P100:myTapoBridge:mySocket:actuator#output" }