TP-Link Tapo P100

Here’s what works for me to install the missing dependencies.

apk add --no-cache --virtual .build-deps gcc musl-dev

pip install cython

pip3 install PyP100

Hmmn. With @fishbigger’s install still running, I perhaps foolishly tried @pedro96’s integration too.

I took one plug out of the config for the former and tried to add into the latter. Got ‘invalid credentials’ several times.

Going back to my dashboards, soon became clear that the plugs were no longer responding, and now showing ‘Entity not found’.

The Tapo app is now also super sluggish (as in, minutes) at seeing some of the plugs, but quicker with others. Some work, others not.

Have tried restoring to an old snapshot, and exactly the same, which is curious.

Any one got any clues?

EDIT: A power cycle of each plug and an HA restart seems to fix it, actually. Curious, though.

This is an interesting problem…I released a new version of this integration. I think there are many improvements from the old one. “Invalid credential” was resolved by a pull request to my plugp100 library, but regards the light bulb, try if with this new version it works.

I like to thank everyone involved making this possible. Just tried it yesterday and it works flawlessly.

tried this several times, just will not work for me - always a credential and platform error :frowning:

Great implementation! Is it working locally via HA only or is it dependant on Tapo service on the internet?

Just want to drop a note here to thank you for the great work. I’m brand new to HA and bought a P100 because it was cheap, but before I checked compatibility. Was about to return it when I found this thread and got it up and running! Thanks very much!

Had to create an account to say a big thanks to the authors of that python script. As of 15th August '21, you can still use the Tapo app, update their firmware (1.3.0 Build 20210310 Rel 63416) to the latest, and they show up just fine.

My first “gotcha” was after I did git clone, it put the .py files in a subdirectory:
image
My second “gotcha” was not giving them a custom name in the Tapo app.
My third “gotcha” was not knowing they would show up as an Entity, not a Device
My final “gotcha” was setting my configuration.yaml incorrectly when doing multiples, they must have the “-” before each platform entry when you have multiples:

switch:
  - platform: tapo_p100_control
    ip_address: 192.168.122.203
    email: [email protected]
    password: p@ssw0rd
  - platform: tapo_p100_control
    ip_address: 192.168.122.198
    email: [email protected]
    password: p@ssw0rd
  - platform: tapo_p100_control
    ip_address: 192.168.122.227
    email: [email protected]
    password: p@ssw0rd
  - platform: tapo_p100_control
    ip_address: 192.168.122.171
    email: [email protected]
    password: p@ssw0rd
  - platform: tapo_p100_control
    ip_address: 192.168.122.231
    email: [email protected]
    password: p@ssw0rd

But I can safely say I have them all working together, turning on and off independently and at the correct times etc!

Again, thank you to the authors of the .py files, really appreciate your hard work and effort!

I’ve implemented the bluetooth setup for the Tapo P100 using bluez in Python. You can find it here: GitHub - c-thaler/opat: Simple bluetooth setup for Tapo smart devices (e.g. P100).
Together with fishbigger’s work I can use the plug without creating a Tapo account.

1 Like

Hi Chris
Any chance of a guide how to set this up

Hi there,

I have a weird problem with my tapo plug(s)… :frowning:

I have two plugs, one is solely used to detect if power is being drawn by my PC monitor (isn’t used to turn anything on or off). I have another Tapo plug that is controlled by an automation that detects when my monitor turns on/off and turns on/off some speakers (so basically the speakers come on and off in sync with the PC monitor)

The automation detects when power is being drawn or not and runs ok, turning on and off the second Tapo plug. But the first plug (that is doing the monitoring) seems to be pulsed off and on for a second or two when the speakers turn on. HA isn’t showing the monitor plug going off, it’s state is constantly on.

Anyone got any ideas?

Thanks,
J.

How do you use your tapo p100 to detect if power is being drawn? I can only see one entity to turn on or off.

I’m trying to add a 2nd P100 to my setup, but for some reason it isn’t showing up on my HA developer console. The first switch is listed OK, but not the 2nd.
Both are visible in the Tapo app, and I’ve verified that the IP address is correct. I also restarted HA after plugging in the 2nd P100.
Here’s my config:

switch:
  - platform: tapo_p100_control
    ip_address: 192.168.1.73
    email: [email protected]
    password: mypw
  - platform: tapo_p100_control
    ip_address: 192.168.1.80
    email: [email protected]
    password: mypw

Is there any way of diagnosing/debugging this?

Aaah…ignore my last message. It seems that the switch has to be turned on before HA recognises it :0(

The entity has attributes. With the supplied custom python script it only offers KWh as an attribute. I’ve modified it to show Wattage (in “real-time”)

I can’t find any attributes (i’m using Developer tools). I installed Tapo Controller from HACS. Should I install something else?

Which plug have you got? The P100 doesn’t support energy monitoring, only the P110 does (I have both)

J.

That explains it. I have the P100. Thanks for the information.

I have a P100 defined as a switch, and would like to use a 433MHz RF remote to turn it on/off. I have a Sonoff RF Bridge running Tasmota, and this generates MQTT messages on the tele/rf-bridge/RESULT topic whenever I press the buttons on the remote. Each MQTT message includes a “Data” item which uniquely identifies the button which was pressed.
Is it possible to extend my switch definition to define on/off MQTT actions for it, or do I need to define automations to achieve this?

switch:
  - platform: tapo_p100_control
    ip_address: 192.168.1.73
    email: [email protected]
    password: p@ssw0rd

Unfortunately i’m not able to move the plug to a room.
It tells me that the entity does not have a uniq id. Maybe related ?