Ive been following these instructions but i cant seem to work out where the config file is for tapo.things…
I’m experiencing also an issue, dont know if it is related, maybe not. Suddenly my P115 smart plug just says “unknown api error (-1)”. Anyone experienced same problem and knows how to solve?
Tried removing the smart plug from Tapo, adding it again, removed bridge and item from openHAB and added again. Same error.
2024-04-02 23:01:03.503 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P115:de34d6b793:AC15A2D28C2F' changed from UNKNOWN: unknown api error (-1) to OFFLINE (COMMUNICATION_ERROR): unknown api error (-1)
After some more research I found this merge request on github for a communication rewrite that was necessary to be able to communicate with the devices: [tapocontrol] new communication protocol integration / code revision by wildcs · Pull Request #15725 · openhab/openhab-addons (github.com)
I added the user-compiled add-on (GitHub - wildcs/oh3_compiled-addons at tapocontrol) to my openHAB instance and changed the communication protocol under advanced on my smart plug to secured KLAP HTTP Protocol. Then its working again…
I have configured my Tapo Bridge and wanted to add my P100 socket. No matter which socket I add I get the following error:
Does anyone have any idea why this is the case? Here is my bridge configuration
I believe you got the same error that i experienced. Wrote about it in the post above, fix is not merged into addons yet, so you will have to download a user-compiled binding for tapocontrol to enable secured KLAP HTTP Protocol…
@Bigdesaster Expire is not working properly. Let me explain better. I have refresh interval
set to 30. If I define expire
in the Item any value lower than 30s will work. If I use higher expiration times it does not work. Looks like the binding is reinitiating the expire count every 30 seconds (or whatever is the time specified in refresh interval
)
Edit: this also happens with other bindings
Edit2: solved using expiry update
HeyHey,
Would there already be any news on this, or something that we can do to help.
I also find strange that this PR is still not included in the release.
After all the work that @Bigdesaster has put in this binding, how can the manteiners not give the proper priority?
For sure this approach will reduce the motivation of any developer if it takes months to get a binding approved, especially when the changes are just a fix for a breaking change in the protocol.
I could understand that it could take time to approve a brand new binding, but when it’s an update due to a breaking change in the manufacturer protocol, it should receive a proper priority.
Just my 2 cents
Hey @Bigdesaster,
Would you already have more news on the topic, or know if we could help you with something?
I’ve bought the Tapo’s just because they work with OpenHab but it’s been, I think 6 months now, that I’m waiting for a solution (as I don’t want to install an unsupported jar).
Definitly not blaming you, just hoping for a working setup again
Hi,
changes have been merged. If you use latest snapshot or probably “Milestone M3” of openhab it should already be included.
Hello,
I was wondering if you would be open to add kasa device to this binding? I’m currently using the tp-link binding which use the original method to connect to device. It work until you get either new device like KS240 or a new revised hardware version like the HS220 3.26 that require authentication to access the device. Dev seems halted on this binding so I though maybe it could be merged with Tapo Control thus giving best of both world?
I already saw python-kasa that the KS240 can successfully be controlled when using authentication.
Thank you
Morning all, this intrigued me this morning. everything is running 4.2M3 including binding btw… so, i am seeing this
so i thought id just disable/enable as ive seen this needed on other things andhey presto all comes back to life… but it doesnt and in the logs i get
2024-05-28 10:13:39.931 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:bridge:aaebae7170' changed from UNINITIALIZED (DISABLED) to INITIALIZING
2024-05-28 10:13:39.935 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:bridge:aaebae7170' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:39.941 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6615AB6' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-28 10:13:39.942 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:1C3BF38D3ED9' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-28 10:13:39.950 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6616E66' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-28 10:13:39.950 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6615AB6' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:39.950 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P110:02fccd93f2:B0A7B9B59522' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-28 10:13:39.950 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB66171EA' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-28 10:13:39.952 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6616524' changed from UNINITIALIZED (BRIDGE_UNINITIALIZED) to INITIALIZING
2024-05-28 10:13:39.953 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB66171EA' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:39.955 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6616E66' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:39.955 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P110:02fccd93f2:B0A7B9B59522' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:39.958 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6616524' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:39.969 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:1C3BF38D3ED9' changed from INITIALIZING to UNKNOWN
2024-05-28 10:13:41.115 [DEBUG] [ocol.passthrough.PassthroughProtocol] - (tapocontrol:bridge:aaebae7170 / HTTP-Passtrhough) invalid response received
2024-05-28 10:13:41.115 [DEBUG] [ocol.passthrough.PassthroughProtocol] - (tapocontrol:bridge:aaebae7170 / HTTP-Passtrhough) sendRequest exception'@text/error-binding-http-response [ "9001" ]'
2024-05-28 10:13:41.116 [DEBUG] [nal.devices.bridge.TapoBridgeHandler] - tapocontrol:bridge:aaebae7170 starting cloudScheduler with interval 1440 MINUTES
2024-05-28 10:13:41.116 [DEBUG] [ernal.discovery.TapoDiscoveryService] - Discovery-Service starting discoveryScheduler with interval 60 MINUTES
2024-05-28 10:13:41.150 [DEBUG] [ocol.passthrough.PassthroughProtocol] - (tapocontrol:bridge:aaebae7170 / HTTP-Passtrhough) invalid response received
2024-05-28 10:13:41.150 [DEBUG] [ocol.passthrough.PassthroughProtocol] - (tapocontrol:bridge:aaebae7170 / HTTP-Passtrhough) sendRequest exception'@text/error-binding-http-response [ "9001" ]'
2024-05-28 10:13:41.970 [DEBUG] [l.devices.wifi.TapoBaseDeviceHandler] - (tapocontrol:P100:02fccd93f2:14EBB6615AB6) startScheduler: create job with interval : 30 SECONDS
2024-05-28 10:13:41.976 [DEBUG] [l.devices.wifi.TapoBaseDeviceHandler] - (tapocontrol:P100:02fccd93f2:14EBB66171EA) startScheduler: create job with interval : 30 SECONDS
2024-05-28 10:13:41.978 [DEBUG] [l.devices.wifi.TapoBaseDeviceHandler] - (tapocontrol:P100:02fccd93f2:14EBB6616E66) startScheduler: create job with interval : 30 SECONDS
2024-05-28 10:13:41.982 [DEBUG] [l.devices.wifi.TapoBaseDeviceHandler] - (tapocontrol:P110:02fccd93f2:B0A7B9B59522) startScheduler: create job with interval : 30 SECONDS
2024-05-28 10:13:41.987 [DEBUG] [l.devices.wifi.TapoBaseDeviceHandler] - (tapocontrol:P100:02fccd93f2:14EBB6616524) startScheduler: create job with interval : 30 SECONDS
2024-05-28 10:13:41.990 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6615AB6' changed from UNKNOWN to ONLINE
2024-05-28 10:13:41.990 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug4_OutputSwitch' updated to ON
2024-05-28 10:13:41.991 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug4_SignalStrength' updated to 1
2024-05-28 10:13:41.998 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB66171EA' changed from UNKNOWN to ONLINE
2024-05-28 10:13:41.999 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6616E66' changed from UNKNOWN to ONLINE
2024-05-28 10:13:41.999 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug6_OutputSwitch' updated to ON
2024-05-28 10:13:41.999 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug6_SignalStrength' updated to 1
2024-05-28 10:13:41.999 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug3_OutputSwitch' updated to ON
2024-05-28 10:13:41.999 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug3_SignalStrength' updated to 2
2024-05-28 10:13:42.002 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:14EBB6616524' changed from UNKNOWN to ONLINE
2024-05-28 10:13:42.003 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug5_OutputSwitch' updated to ON
2024-05-28 10:13:42.004 [INFO ] [openhab.event.ItemStateUpdatedEvent ] - Item 'TapoP100SmartPlug5_SignalStrength' updated to 1
2024-05-28 10:13:42.035 [DEBUG] [l.devices.wifi.TapoBaseDeviceHandler] - (tapocontrol:P100:02fccd93f2:1C3BF38D3ED9) startScheduler: create job with interval : 30 SECONDS
2024-05-28 10:13:42.036 [DEBUG] [l.api.protocol.aes.SecurePassthrough] - (tapocontrol:P100:02fccd93f2:1C3BF38D3ED9 / HTTP-SecurePasstrhough) sendAsyncRequest failed'@7d47a168::SocketChannelEndPoint@10b66bd4{l=/192.168.1.45:36520,r=/192.168.1.70:80,ISHUT,fill=-,flush=-,to=0/0}{io=1/0,kio=1,kro=1}->@7d47a168(l:/192.168.1.45:36520 <-> r:/192.168.1.70:80,closed=false)=>@45f3c38c(exchange=HttpExchange@3ffbec63{req=HttpRequest[POST /app HTTP/1.1]@7f774615[TERMINATED/null] res=HttpResponse[null 0 null]@5c3c7ae4[PENDING/null]})[send=HttpSenderOverHTTP@7883d4c(req=QUEUED,snd=COMPLETED,failure=null)[HttpGenerator@67f0512a{s=START}],recv=CustomHttpReceiverOverHTTP@22f2e42f(rsp=IDLE,failure=null)[HttpParser{s=CLOSED,0 of -1}]]'
2024-05-28 10:13:42.037 [DEBUG] [rol.internal.api.TapoDeviceConnector] - (tapocontrol:P100:02fccd93f2:1C3BF38D3ED9 / DeviceConnector) handle error '@text/error-unknown [ "497435087" ]'
2024-05-28 10:13:42.039 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P100:02fccd93f2:1C3BF38D3ED9' changed from UNKNOWN to UNKNOWN: unknown api error (497435087)
2024-05-28 10:13:42.056 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'tapocontrol:P110:02fccd93f2:B0A7B9B59522' changed from UNKNOWN to ONLINE
2024-05-28 10:13:57.294 [DEBUG] [ernal.discovery.TapoDiscoveryService] - device P110 discovered with mac B0A7B9B59522
2024-05-28 10:13:57.296 [DEBUG] [ernal.discovery.TapoDiscoveryService] - device P100 discovered with mac 1C3BF38D3ED9
2024-05-28 10:13:57.299 [DEBUG] [ernal.discovery.TapoDiscoveryService] - device P100 discovered with mac 14EBB6615AB6
2024-05-28 10:13:57.300 [DEBUG] [ernal.discovery.TapoDiscoveryService] - device P100 discovered with mac 14EBB66171EA
2024-05-28 10:13:57.303 [DEBUG] [ernal.discovery.TapoDiscoveryService] - device P100 discovered with mac 14EBB6616E66
2024-05-28 10:13:57.305 [DEBUG] [ernal.discovery.TapoDiscoveryService] - device P100 discovered with mac 14EBB6616524
which intrigues me even more, as disabling this thing, takes all my tapo devices offline, and enabling brings them all back, even though the cloud thing still comes back as unknown.
Not causing me any grief, my current devices ar all working, it just “dont feel right” love to know whats causing the 9009 though ??
have the same issue for OH4.1.2
@Nodiaque
As far as i can remember the “Kasa Protocol” was not the same as for Tapo-Devices.
So i decided to create an own plugin. Sorry that i can’t support them.
@mike_mccaffery
yes i can confirm this issue. If i manually try to send the request they are still working. So i think that could not be a big thing. I’ve to investigate whats happening there and whats the change in the cloud… But it can take some time.
Hello,
The tapo app now support kasa device so I though maybe. Looking at python-kasa, new device use connection like the tapo protocol. If I was able to understand how openhab addons work (I did try and I’m getting lost), I would try to update the kasa addons with the new code from python-kasa. I have no return from the owner of the kasa addons so I was hopping from here.
no rush
Could already fix it. PR was created und fixed jar uploaded to my compiled-addons repo (see first post)
Dear Chris @Bigdesaster, is it a big deal to compile 4.1.0? or I can use 4.2.0 for OH4.1.2?
@Bigdesaster Chris - 4.2.0 works with OH4.1.2. Thank You so much for your effort!!!
Hi Chris,
I can confirm that your snapshot is working. Thx for the immediate help
Can maybe someone please help me? I am just stuck with this issue and not sure how to fix it. At least maybe someone can advise in which direction I should move.
I have TP Link P110 which I connected and setup with local address 192.168.0.103. I did a port forwarding on my router, so the outside connection to port 8080 will lead to 192.168.0.103.
I setup an AWS EC2 server, where I have installed openHAB and tested it like curl http://{MY_REMOTE_IP}:8080
and I got <html><body><center>200 OK</center></body></html>
But when I add my smart plug in “Things” I get an error COMMUNICATION_ERROR device offline (9009)
. (cloud login is ONLINE)
What’s interesting here is that I did the same on my local openHAB with exactly same settings (using http://{MY_REMOTE_IP}:8080) and it is working. What can be an issue here?
I can attach any screenshots or logs if that can help.
P.S. I have openHAB 4.2.0 and last TapoControl Binding 4.2.0