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

@moody_blue
currently i’m struggeling with the klap protocol. If this will work i’m planning to integrate udp-discovery. Maybe then i can take this change.

@saxxing
if it has the same data as T310 this would be no problem. Please post trace log for the t315 so i can be sure of this.

If this implies that the bridge is no longer necessary it will be a major plus. I also have some Kasa plugs and they do not need a bridge.

From TRACE log for tapocontrol I found this (changed some sensible infos with *):

16:35:17.163 [DEBUG] [ol.internal.TapoChildDiscoveryService] - (tapocontrol:H100:cafd9929a8) Discovered unsupportet ThingType 'tapocontrol:T315'
[…]

{"parent_device_id":"*","hw_ver":"1.0","fw_ver":"1.7.0 Build 230424 Rel.170332","device_id":"*","mac":"*","type":"SMART.TAPOSENSOR","model":"T315","hw_id":"+","oem_id":"*","specs":"EU","category":"subg.trigger.temp-hmdt-sensor","bind_count":1,"status_follow_edge":false,"status":"online","lastOnboardingTimestamp":1682698085,"rssi":-47,"signal_level":3,"jamming_rssi":-114,"jamming_signal_level":1,"at_low_battery":false,"temp_unit":"celsius","current_temp":23.4,"current_humidity":72,"current_temp_exception":0,"current_humidity_exception":12,"battery_percentage":100,"nickname":"*","avatar":"sensor_t315","report_interval":8,"region":"*"}

[…]
Is this useful?

@moody_blue
No thats wrong. Bridge will be necessary because it stores the credentials. They are still needed to communicate with devices.

@saxxing
yes should be okay. Uploaded a new version to my “compiled_addons-git” where T315 is already integrated.
It has already perparation for the new protocol (which is not implemenented) . So core-code is completely revised and not fully tested.
So you’re free to test it. Note: P300-Socket-Strip is actually not supported.

Is there already a solution?

So i got the solution just at this moment.
Uploaded the newest jar to my oh3_compile-addons repository.
Working for my new L530E Smart-Bulb i bought from the donations from here.
The 530E HW-Rev 1 is still working with old protocol.

At the moment it is necesarry to select the protocol manually in advanced settings of the device.
So if yout get an communication error (1003) then try to change the protocol.

2 Likes

i’m sorry but i cannot make it work.
i’ve tried to:

  • uninstall TapoControl Binding - reboot - copy org.openhab.binding.tapocontrol-4.1.0-SNAPSHOT.jar to addons folder and it won’t work (missing handler). in fact i cannot see it when adding manually the thing…
    the error i get is:
2023-09-26 09:19:08.527 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.tapocontrol-4.1.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.tapocontrol [298]

(the jar i get is 444kb)

  • copy org.openhab.binding.tapocontrol-4.1.0-SNAPSHOT.jar ewith the TapoControl Binding installed, and i see online my tapo devices but with no advanced option to chose the protocol and “api -1 error”

any idea?

Is it only working with OH4.1 or also with stable 4.0.3?

I am on openHAB 4.0.3 and unfortunately the new version does not work for me either.

2023-09-28 22:04:23.259 [WARN ] [org.apache.felix.fileinstall        ] - Error while starting bundle: file:/usr/share/openhab/addons/org.openhab.binding.tapocontrol-4.1.0-SNAPSHOT.jar
org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.tapocontrol [306]
  Unresolved requirement: Import-Package: javax.measure; version="[2.2.0,3.0.0)"

	at org.eclipse.osgi.container.Module.start(Module.java:463) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.eclipse.osgi.internal.framework.EquinoxBundle.start(EquinoxBundle.java:445) ~[org.eclipse.osgi-3.18.0.jar:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundle(DirectoryWatcher.java:1260) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.startBundles(DirectoryWatcher.java:1233) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.doProcess(DirectoryWatcher.java:520) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:365) ~[?:?]
	at org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:316) ~[?:?]

Javax.measure has to be included in pom.xml for addons in v4.1. I think this is temporary.

Added the javax.measure in my pom. Should now work with 4.0

1 Like

Perfect - thank you! It works now.

as a sumary:

  1. Put the new file org.openhab.binding.tapocontrol-4.1.0-SNAPSHOT.jar download from github in my addon-folder.
  2. changed the configuration of my P100 SmartPlugs to Secured KLAP HTTP Protocol in advanced settings of the thing
  3. thing is directly back online!

Thx again, much appreciated.

Works for me too.
Thx a lot!

Hi @Bigdesaster ,
how do I set the KLAP Protocol in THING text configuration?

Here my configuration:

Bridge tapocontrol:bridge:myTapoBridge      "Cloud-Login"        [ username="XXX", password="XXXX" ] 
{
   tapocontrol:P105:myTapoBridge:Socket1    "My-Socket-1"        [ ipAddress="192.168.88.71", pollingInterval=30 ]
}

thanks

Many thanks for this - sounds like a lot of work - it’s appreciated :slight_smile: :slight_smile: :slight_smile:

I’m experiencing the issue, that in some use cases with timers, the tapo devices are not reacting after sending signal off. This use case worked before the Update.

@oppo1967p
if you really like to use textual configurtation it should be like:

tapocontrol:P105:myTapoBridge:Socket1    "My-Socket-1"        [ ipAddress="192.168.88.71", pollingInterval=30, protocol="klap" ]
tapocontrol:P105:myTapoBridge:Socket1    "My-Socket-2"        [ ipAddress="192.168.88.72", pollingInterval=30, protocol="securePassthrough" ]

@ButterOnYourBread
mhh without a tracelog it’s a bit difficult.
Edit: i uploaded a new version. found a min-gap bug. please test.

Hi @Bigdesaster
I tried both your configurations but I am still getting these errors every 30 seconds:

tapo.things:

Bridge tapocontrol:bridge:myTapoBridge "Cloud-Login"        [ username="XXXXX", password="xxx" ] {
   Thing P105 Socket1 "My-Socket-1"    [ipAddress="192.168.88.71", pollingInterval=30, protocol="klap" ]
}

log fine:

2023-10-09 14:48:05.061 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P105:myTapoBridge:Socket1' changed from OFFLINE (COMMUNICATION_ERROR):  (1003) to UNKNOWN:  (1003)
2023-10-09 14:48:05.064 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P105:myTapoBridge:Socket1' changed from UNKNOWN:  (1003) to OFFLINE (COMMUNICATION_ERROR):  (1003)
2023-10-09 14:48:35.074 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P105:myTapoBridge:Socket1' changed from OFFLINE (COMMUNICATION_ERROR):  (1003) to UNKNOWN:  (1003)
2023-10-09 14:48:35.078 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P105:myTapoBridge:Socket1' changed from UNKNOWN:  (1003) to OFFLINE (COMMUNICATION_ERROR):  (1003)

I am on OH3.4 openhabian version.

thanks

first: did you download the jar and put it in into the addons-folder?
didn’t test the jar with OH3.4. But 4.0 stable should work

Hi,
actually didn’t download any manual jar.
I thought it was a configuration issue.

So I should move to OH4 to run the change?