Comments (23)
What functionality are you looking for?
I believe that there's a high chance that the one that exists for H100
will work for H200
too. Have you tried it?
from tapo.
from tapo.
If you end up giving it a try, please let us know how it goes!
from tapo.
Hello,
I just testing H200 and looks it not working:
cargo run --example tapo_h100 Finished dev [unoptimized + debuginfo] target(s) in 0.13s Running
target/debug/examples/tapo_h100 Error: Http(Error { kind: Timeout, context: None, source: Some(Error { description: "Timeout was reached", code: 28, extra: None }), source_type: Some("curl::error::Error"), local_addr: None, remote_addr: None })
When I triedL530 it works.
from tapo.
Hmm, a timeout error is not what I was expecting.
Can I double-check that you've pulled the correct IP address from the Tapo app?
Also, can you please post the logs you get from RUST_LOG=debug cargo run --example tapo_h100
?
from tapo.
Sure
My IP is right, because I have static IP for HUB
from tapo.
Interesting.
As a test, could you please replace the contents of the is_passthrough_supported function with Ok(false)
and then see what RUST_LOG=debug cargo run --example tapo_h100
outputs?
from tapo.
It looks same:
idk...
from tapo.
I just tried IP in browser. When I try L530 I will get 200 OK
but when I try HUB 200 I will get time out...
from tapo.
Hmm, I get timeouts with H100 when I try to access it from a different network adapter (H100 on Wifi and a PC on LAN).
Is it the same case for you?
from tapo.
Ok, HUB 200 is probably using port 443 (HTTPS), when I try it in browser I will get: {}
from tapo.
Hmm, I get timeouts with H100 when I try to access it from a different network adapter (H100 on Wifi and a PC on LAN). Is it the same case for you?
I dont have H100
On H200 I will get always timeout on port 80
from tapo.
I was wondering if you have the same setup as me, with the hub on wifi and a PC/laptop on LAN (or a different Wifi) trying to call it.
from tapo.
If you want to try it over HTTPS, you can change the URL at
tapo/tapo/src/api/api_client.rs
Line 632 in a87a062
from tapo.
If you want to try it over HTTPS, you can change the URL at
tapo/tapo/src/api/api_client.rs
Line 632 in a87a062
Problem with SSL:
Error: Http(Error { kind: BadServerCertificate, context: None, source: Some(Error { description: "SSL peer certificate or SSH remote key was not OK", code: 60, extra: None }), source_type: Some("curl::error::Error"), local_addr: Some(1.1.1.100:41144), remote_addr: Some(1.1.1.111:443) })
from tapo.
I was wondering if you have the same setup as me, with the hub on wifi and a PC/laptop on LAN (or a different Wifi) trying to call it.
I have:
router -> switch -> server, hub 200, PC, Access point
I am on PC and try it with PUTTY from server.
Hub is connected with LAN
from tapo.
I found this:
petretiandrea/home-assistant-tapo-p100/issues/578
They have same problem
I am going out, will be back later
from tapo.
Argh, I was afraid of this. This library also supports only the legacy protocol and the newer Klap one.
It might be worth doing one last hurrah and disable the SSL verification by replacing https://github.com/mihai-dinculescu/tapo/blob/main/tapo/src/api/api_client.rs#L68 with
let client = HttpClient::builder()
.title_case_headers(true)
.ssl_options(isahc::config::SslOption::DANGER_ACCEPT_INVALID_CERTS)
.build()?;
But I wouldn't hold my breath.
I'm considering purchasing a camera and/or H200 to look into the third protocol in the following weeks/months.
from tapo.
Ok,
I tested with ssl_option and same problem:
from tapo.
Argh, I was afraid of this. This library also supports only the legacy protocol and the newer Klap one.
It might be worth doing one last hurrah and disable the SSL verification by replacing
main
/tapo/src/api/api_client.rs#L68 withlet client = HttpClient::builder() .title_case_headers(true) .ssl_options(isahc::config::SslOption::DANGER_ACCEPT_INVALID_CERTS) .build()?;
But I wouldn't hold my breath.
I'm considering purchasing a camera and/or H200 to look into the third protocol in the following weeks/months.
Hey, I am currently having the same issue. Is there any implementation of the Tapo Camera protocol or documentation of it? I'm having a really hard time reversing it.
I have some network logs and it seems to encrypt communication pretty swiftly on the latest version. It seems to use AES-256-CBC-PKCS#7.
from tapo.
Having a look at the decompiled tapo app would be my first port of call.
Also, this library might might be a useful source of inspiration.
from tapo.
It uses a different protocol, like the one used by Tapo Camera
from tapo.
It uses a different protocol, like the one used by Tapo Camera
Yes, however it seems to have changed protocols again in a newer firmware version. In this issue someone seems to have gotten it working, however an authentication packet on the latest firmware looks like this:
{
"method": "login",
"params": {
"cnonce": "9AAF7F6F13190C8F",
"digest_passwd": "5BBC5A0C5B08876DA6F08A0380AC60ECE55EE135FB8610010E580BEF0A2C37FD9AAF7F6F13190C8F080693488D027476",
"encrypt_type": "3",
"username": "admin"
}
}
Whereas authentication previously looked like this:
"method": "login",
"params": {
"hashed": True,
"password": self.hashedPassword,
"username": self.user,
},
If anyone knows how to reset it to the previous authentication mechanism please let me know, i tried resetting the hub and using another fresh account already but the encryption persists for all requests.
from tapo.
Related Issues (20)
- Failed to install and use API HOT 2
- missing field `re_power_type HOT 16
- ImportError: cannot import name 'ApiClient' from partially initialized module 'tapo' (most likely due to a circular import) HOT 5
- [Improvement] Schedule HOT 4
- Add support for timeout parameter on device connection HOT 1
- Tapo: SessionTimeout HOT 3
- P300 support HOT 3
- Support for security cameras HOT 3
- get_device_info broken for L900 HOT 2
- [info] How can i use this in a windows C# Application. HOT 1
- [Feature Request] Please add audio reactive lighting control HOT 1
- Is it mandatory to use the Hub? HOT 2
- P115 changing WI-FI HOT 5
- H100 initialization attempt returns error HOT 4
- Support client.getDeviceList HOT 3
- Example for doing things with devices accessed throung the hub HOT 1
- Local access to TAPO P110 for energy data HOT 9
- S500D support HOT 3
- cannot import 'LightHander' or 'ColorLightHandler' for typings HOT 3
- Meaning / correctness of timestamps of device.get_energy_data HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tapo.