[TapoControl] - Control Tapo Smart WiFi-Devices with Openhab - Official Support Thread

It’s not necesarry to forward port to your local tapo-device.
Device must just be reachable from your obenhab server which should be in the same local network. Let Port in setting to port 80

Edit:
Okay i didn’t see that youre trying to use a openhab-server in a cloud to acces to your local network… Puuuh strange configuration. Most people use openhab so devices won’t talk to a cloud :stuck_out_tongue:
Binding is checking if device is online with InetAdress.isReachable() which may fail with this constellation. So i think it will not work as you want.

Hi Chris,
Appreciate your answer!
Yeah, this is kind of unusual case, but this is what I need - to remotely control if my device is online or offline (as we have systematically electricity outages and I need to control my UPS system). I have tried to use IFTTT but it just detects if on/off triggered, so I found openhab as a solution after that. Do you have any idea on your mind how I can achive my goal?
P.S. as I temporary solution I’ve set up cron to send requests to my smart-plug once per minute and if it gets 200 - we are fine, otherwise send Telegram message about electricity outage

Why not use the network binding and configure a ping device. Then you can check in a rule when it is marked offline.

In the other hand, what do you mean with „have to control my UPS“ ?
You could integrate it in openHAB and see if mains power is online or if running on battery.

Oh, this is interesting, thank you! I didn’t know about that feature, so did a similar but custom one :smiley:
I have UPS system (car battery and inverter connected) that I control manually for my flat. And I need to know when electricity has been restored, so I switch it back to use central electricity and recharge my battery.

Hi so fare everything is working by me, but i want to define the things in a file, but i dont know the syntax for devices on the hub. How i set the device ID of the T110 correctly in the thing file?

Bridge tapocontrol:bridge:tapoCloud     "Tapo Cloud"            [ username="xxx@xxx.net", password="xxxxxxxx", cloudDiscovery=true, udpDiscovery=true, pollingInterval=60, broadcastAddress="192.168.200.255" ] {
    Bridge H100 tapoHub                 "Tapo Hub"              [ ipAddress="192.168.200.67", pollingInterval=30, protocol="KLAP", backgroundDiscovery=true ] {
        Thing T110 contactWindow        "Contact Window"        [ deviceId="802EEAB8CFC5ED480E260EE1ABB332F221D9B1C6"]
     }
    Thing P110 plugMaster               "Plug Master"           [ ipAddress="192.168.200.60", pollingInterval=10, protocol="KLAP" ]
    Thing P100 plugLight            "Plug Light"       [ ipAddress="192.168.200.61", pollingInterval=10, protocol="KLAP" ]
}

What is the process for requesting support for new Tapo devices?

I honestly which we could just control the kasa device with the tapo binding since all kasa device are now in tapo apps. All new kasa device don’t even use the old way of communication from Kasa, they use the tapo communication layer with username/password and such. Which also scare me cause it seems they won’t work without internet

1 Like

Hey guys,
i have a really strange Problem with my P100 from Tapo. One of four does work finde in OH. Three dont. I gave them to a friend of mine and they all work fine within his OH.
So maybe there are network issues?
OH does automatically discover them but then they show error: “cant create handshake (1100).”
I am running on Pi5 with OH 4.2.2. My friend is running on 4.2.2, too, but on a raspi 4.

Do you have any ideas?

Hello,

I was wondering if you could add the kasa device in it? The kasa apps is being discontinued and every device from Kasa from the last year and onward now require authentication like this binding use. The TP-Link binding seems abandon since there’s no answer about it. I just bought a new HS200 and while my 25 other one work no problem with TP-Link binding, the new one doesn’t. When looking in home assistant, it require Authentication like all new device and then work.

My workaround for now is I have a home assistant installation that control the light from mqtt input, and openhab just read/write on the mqtt. Pretty stupid way to make something work. If I could understand how binding works in openhab, I would submit PR but I do get lost when reading.

So, I created the java file for the kasa smart wifi switch hs200 that is now controlled by tapo authentication and also modified the thingconstant. Is there something else that need to be done? And once all of these are done, how do I compile and test in openhab?

Hi :slight_smile:
Found a solution which fixed it for me. Keyword is “TP-Link Simple Setup”.
https://community.home-assistant.io/t/tapo-devices-fail-to-connect/675178/37

fixed what?

Hi all,

Does anyone know how best to request a new product to be supported by this Binding? I can see that @Bigdesaster hasn’t been around recently, and hope all’s well, but I’d love to know whether any of the updated hubs can be added? I recently picked up an H200 thinking naively that it would be recognised as a variant of the H100 but no joy. Is there a way to request an addition (no idea how difficult it would be but happy to help with testing/logs if directions are provided :grinning_face: )

Al

Hi all,

I have 3 smart plugs P105 perfectly working in OH4.

Now, I have just purchased a new smart plug, model P105A.

But this new model is not recognized by OpenHAB binding.

Any chance to add it to the binding?

thanks

Don’t know if it helps, but it seems some of the background data for the H200 is at least available and deployed for HA

Hi,

I’m attempting to install the TapoControl binding on my OH 5.0.0.0 setup. I wondering if there is anyone else who was successful in doing this?

My OH 5 is running within a docker container. No issues with this setup for now.

I recently acquired a couple of Tapo smart plugs P100 which I wanted to control via OH. Ultimately the goal is to add them to my Matter setup but not all device features are exposed to Matter.

I attempted to install the binding through the add-on store. When this was not successful, I restarted OH. The follow errors show up in the log:

During startup

2025-08-17 08:12:43.934 [WARN ] [.transport.servlet.ServletController] - Can’t find the request for http://devpi:8080/rest/addons/binding-tapocontrol’s Observer

Later during initialization:

2025-08-17 08:13:56.591 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing ‘openhab-binding-tapocontrol’: Cannot invoke “String.equals(Object)” because the return value of “org.osgi.framework.Bundle.getSymbolicName()” is null2025-08-17 08:14:02.394 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed to refresh bundles after processing config updatejava.lang.NullPointerException: Cannot invoke “String.equals(Object)” because the return value of “org.osgi.framework.Bundle.getSymbolicName()” is nullat org.apache.karaf.features.internal.service.Deployer.computeDeployment(Deployer.java:1410) ~[?:?]at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:450) ~[?:?]at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1069) ~[?:?]at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:1004) ~[?:?]at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:?]at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]at java.lang.Thread.run(Unknown Source) [?:?]

And these errors pop up regularly

2025-08-17 08:28:50.223 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed installing ‘openhab-binding-tapocontrol’: null
2025-08-17 08:28:53.408 [ERROR] [core.karaf.internal.FeatureInstaller] - Failed to refresh bundles after processing config update

The binding should be ready for version OH 5.

Thanks

Hi Paul, I migrated my Openhab 4,3 intallation these days to 5.0 on a Raspberry Pi 4. I have some TAPO devices (WiFI and RF) and the installation of the Binding worked without any problem. I can use all my devices with the full functionality.

Hi Manfred, thanks for you reaction. So that’s good to know. There is probably something different in my case. I also migrated from 4.3 to 5.0. but I didn’t have the Tapo binding on 4.3. I added it to my 5.0 setup post migration, whereas in your case the binding was already there and probably got upgrade in the process. I’ll take another look, try some angles like a fresh 5.0 container and see where I get.

I as well installed it on a new Raspi because Openhab 5 only runs on 64bit Linux. So I switched from Raspberry Pi 3 to Raspberry Pi 4 with a complete new Openhabian installation. The only thing I take from my old Raspi 3 was the backup with my configuration data which I restored to the new device.

My experience is similar. New Openhabian install onto new Pi hardware, then restore set-up from backup of OH 4 which had a working Tapo binding. Transfer worked fine with Tapo binding operating as expected on the new instance.

Again, existing Tapo binding and not a containerised solution but the binding CAN work