-
Notifications
You must be signed in to change notification settings - Fork 92
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature Request: Tapo D230S1 integration #397
Comments
Does this doorbell work via a hub? |
The doorbell works via the Hub - it's one of TP Link's "sub-G" devices - https://uk.store.tapo.com/products/tapo-d230s1-smart-battery-video-doorbell - it's battery powered and seems to just be a doorbell version of the other cameras in this line up (e.g. C420 etc.). The doorbell has a pushbutton on the front which, when pushed, rings a sounder in the doorbell itself (adjustable on/ off, sound level), the Tapo Hub (adjustable on/ off, sound type, sound level) and integrates with other devices (e.g. Alexa via the Tapo app) - however I can't find any entity that reflects this in the Home Assistant integration whether that be a switch, sensor or otherwise. Screenshots of the Tapo app and Home Assistant integration can be found here: https://imgur.com/a/C1uHNev I've included a table below which compares the Tapo app functions (with descriptions) and the Home Assistant integrations and vice versa, please note in the entities below, "front_door" is the name of my doorbell, so I assume this takes the name of the Tapo D230S1 device and converts it into part of the entity name. Hope this helps - and thanks for looking into this! Please let me know if there's anything you want more information of or testing/ trials of. <style> </style>
|
I second this problem. I bought it yesterday and I am disappointed that there is no support for DS230 yet. I hope someone will solve it soon. Thank you. |
Thank you for excellent documentation @ah92uk . I do not own this doorbell so it is not possible to find the missing function calls in your table. We will need someone to find the proper calls how to get / set the information and then we can implement full support for it. |
I've got this doorbell, is there any information/guidance you could give so those of us with the camera can get the full details for you to add support for this in? Thanks |
You will need to inspect traffic between the doorbell and your phone - see the tcpip calls and payloads when executing actions within the app. There are many ways how to do this and it's not trivial. If you want to try you can Google things like Burp suite, mitm inspect traffic and Frida(for android) there are quite a lot of tutorials on the web. Thank you in advance! |
Thanks appreciate the reply, will have a read up and see if I can get any additional information. 👍 |
I have the same cam/door bell. How can I help? |
@ah92uk can i check if you have tried to see if you can view the video stream from a PC. |
@chooseYourUserName |
I found that the hub software is actually open source, but was not able to find any meaningful starting points. Anyway, I own a Doorbell as well and happy to help where possible. I found that Chromecast also support a video feed from the doorbell, is it an idea to sniff that in the network? |
Hi! I also have a doorbell of this type, and I tested a bit with intercepting the traffic, but I am not really able to make sense of it.
But for some reason my proxy is unable to decipher these, complains about ssl. I haven't really dug deep into this (just using an app directly on my phone, not going via burpsuite server on pc). So I don't really know the utility of these calls. However, I can see a stream of calls going to the IP of the hub, which I can decipher. But the contents are not straight-forward.
The responses are jsons that include a base64 encoded string, which I assume are the video stream chunked into smaller data parts. It sends and receives about ~10 of these per second. Edit: Looks like someone has been able to view stream via the hub here: JurajNyiri/pytapo#57 (comment) Edit2: Ahh, so looks like theres an initial handshake I missed last round.
Response:
It looks like this response is an error of some sort, which leads to a new login request (which uses a cnonce which is part of the device_confirm from the above response, and also includes a digest_passwd
Landing on a successful response:
So this does the login, but I also assume this sets up some sort of encryption of the sessions payloads. The stok var is what is used in the subsequent chunked video requests (The encrypt type), which may explain why I was unable to get an actual file from the other payload. |
@smholsen You can just download it from the support page: |
This is a common encryption Tapo cameras and devices use nowadays, it was first introduced in around October 2023 and was added into pytapo in 3.3.0 (see PR) and this integration in 5.4.0. |
For ssl issue in burp - the app uses certificate pinning. You will need to use Frida on rooted android phone to pin a burp certificate and then the app will be able to communicate and burp will be able to decrypt all. |
As for the videos, pytapo supports that as well (although for recordings) but it is the same for live stream as well. The URL just needs to be changed. We will need to find the URL directly on hub though as I do not want this integration to communicate with cloud. |
Thats pretty awesome. Also I am curious what you think the possibilities are for having this stream only run when actually requested from a Home Assistant dashboard or stream view? Since this is a battery powered device, it would be unfortunate for the integration to request constant streaming of the device. (e.g. start a stream and never stop it). But from what I can see it looks to me like as long as you just stop sending the chunked requests it will stop recording. |
Tapo D230S1, I can enter the IP of the hub200 via the tapo integration of hacs and confirm with a password. After i can see two devices and 25 entitys in the tapo integration. A message appears saying that the camera stream needs to be restarted. I have tried this several times without success... restart HA, Hub and doorbell... can someone help me please? |
I forgot to say that my google nest hub 2 enables a live view of the tapo doorbell d230s1 via google assistant |
Similar issue for D130. I couldn't find doorbell press binary in integration. |
I'm confused by the comments, this doorbell can't show the live video in HA then? |
No |
Hallo, |
No there isn't. I do not own this so we will have to wait for somebody who does to implement a solution. See #397 (comment) |
Can we buy a d230 for you to fix the problem? |
If I owned one I would definitely look into it, but I do not want to make any promises as my time is limited and I am doing this in my free time for free... and it might not be possible at all, I do not know at this point. |
I recently purchased one and I am eager to help put where I can. Anything I can do to get you the info or what would you suggest I look for if I wanted to do it myself? |
I got a D130 and will also gladly help out. Been a while since I used burp suite but I'll see if I can set it up like described above. |
Is your feature request related to a problem? Please describe.
Currently there is limited native support for the D230S1, I can configure settings and options on the device but there's no video stream and some options such as day/ night mode switching have glitches (such as switching to night mode enabling the spotlight).
Describe the solution you'd like
Integration of the D230S1 would be a HA gamechanger I think and enable a high-featured doorbell to be LAN only and fully integrated with HA.
If you could please consider this, that would be great!
Describe alternatives you've considered
The D230S1 is already visible via the Hub but lacking video stream features etc.
Additional context
None.
The text was updated successfully, but these errors were encountered: