-
-
Notifications
You must be signed in to change notification settings - Fork 183
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
Support for Wyze Video Doorbell Pro? #276
Comments
I'll have a look at the app. Is the pro 100% battery operated or can it also be powered like the non pro? |
The Pro has both power options, as well. Thanks for taking a look! |
Any chance it works like the WYZEDB3? I don't see anything for WWVDP, Edit: looks like the pro is actually the |
I don't know if that means it's possible, or not, but if there's anything I can do to help, please let me know! |
The doorbell pro seems to be made by Gwell and has a model number of GW_BE1. Does the doorbell even show up in the bridge? Looks like it might be using their "mars" platform or whatever that is and streams over KVS which is what they're using for the WebRTC streams... I wonder if they're trying to move away from TUTK to AWS which could be the reason for the forced updates coming next month. |
That's too bad. I really like the doorbell, much more 'polished' than the
original, but if I can't consume the stream locally in some way, it doesn't
work for me.
Thanks for looking into it though!
…On Tue, Jan 11, 2022 at 8:07 AM mrlt8 ***@***.***> wrote:
The doorbell pro seems to be made by *Gwell* and has a model number of
*GW_BE1*.
Does the doorbell even show up in the bridge? Looks like it might be using
their "mars" platform or whatever that is and streams over KVS which is
what they're using for the WebRTC streams...
I wonder if they're trying to move away from TUTK to AWS which could be
the reason for the forced updates coming next month.
—
Reply to this email directly, view it on GitHub
<#276 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACAD2ME3DO5TB6FNNA5NIN3UVQ2QPANCNFSM5LO4ZWOA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Does that mean it's a feature that's coming eventually or is it not possible? I also have one of these and I'm willing to do what I can to help test this. |
This bridge is currently based around the cameras that use the Throughtek Kalay SDK "tutk" to stream video. From what I could tell, it seems like the new Doorbell Pro is not using tutk, so we can't use that SDK to connect to the doorbell. Starting with v1.1.0, we added the option to try to pull the WebRTC credentials if available. You could try adding |
Added the WebRTC env to an instance and included the WVDP in the FILTER_NAMES var. When the bridge starts up, it pulls the info for 3 cams and then does this: Would you rather I open a separate bug report, since this doesn't appear to be directly related to the WVDP?
|
That's a known issue that has already been patched in the dev branch. It just means the auth tokens are expired and temporarily adding |
I had tried forcing the fresh data, but still getting the error. I uninstalled and reinstalled (this instance is the HASS Addon, BTW), and enabled WebRTC from the start. It says it's starting 1/11 cameras (I have 12 in the Wyze app, however a few are either disabled or turned off), and it gets through the first 3 and then throws the same error.
The device it is puking on is a regular Wyze Video Doorbell, not the Pro. Happy to help with debugging, just tell me what to do. |
I have a Wyze Video Doorbell Pro and was hoping to help test this. I am also getting errors when I try using these environment variables. I removed WEBRTC=True for now. I don't think I'm running the dev branch. Is this working in dev? |
Has anyone tried to see what kind of traffic is going between the app and camera? @Z1mDMan Could you try blocking your phone or the doorbell from the internet to see if we can even communicate with it locally? |
anyone happen to have the firmware update link for this new model doorbell? |
I also have a Doorbell Pro and can help with any testing. Would really like to get this working |
Wow sorry I completely missed this. Is this still something that would help? I can easily block things from the internet on my network. |
I see that there's a homebridge plugin that discovers this doorbell however it only shows up as a switch not a camera. https://github.com/jfarmer08/homebridge-wyze-smart-home |
I think that will let you to "power" on/off the camera over their web API which I believe uses AWS IoT core to communicate with the cameras. I believe they're using WebRTC for the doorbell Pro over AWS Kinesis - can you see the doorbell if you go to view.wyze.com? |
I cannot view my Doorbell Pro from view.wyze.com |
Thanks for the data point. Not sure why they're using a different method for this camera alone. |
Well, glad I found this, as I've been wracking by brain trying to get it to work. Any update on this? If it is any help, the interface for the camera view is similar to that of the newer v2 sensors. |
I wasn't able to see it on view.wyze.com either but I did notice it now gets exposed as a switch in homebridge-wyze-smart-home plugin. Doesn't seem to do anything but it's a start. it does show on view.wyze.com now but as unsupported. |
Any updates on this? It seems that the video doorbell pro will not be able to be supported without major work. Is that correct or are there ways to help here? |
Correct. The doorbell pro seems to be the only camera in the wyze lineup manufactured by gwell and stream over webrtc instead of using the throughtek SDK (tutk) to stream and control the camera like the rest of their products. So I don't think we'll be able to support it with the current method we're using to pull the streams locally. Wyze seems to be trying to get the rest of their cameras to stream over webrtc - cam plus web view/smart displays. Still haven't confirmed it, but I believe the latest app/firmware is also using webrtc, so we may eventually be able to support all the cameras via webrtc. |
Understood, is there any work that can be done to add WebRTC to this repo or is it a big enough change to warrant an entire re-write? |
Right now, we're using the tutk protocol to pull the video and audio frames from the camera and repackage that into an RTSP stream, so if we could find a library that can connect and pull the WebRTC stream from the AWS IoT Core server, then we may be able to use that as a replacement. |
any updates on this? Devices like RING DOORBELL have a fantastic integration into Home Assistant and it would be awesome if the wyze doorbell pro could have something similar... |
I have been slowly looking into it but nothing up and running yet. There are a few libraries that will convert the WebRTV stream to digestible frames but I have not started any implementation as I am working on another Wyze project at the moment. Will update when I have more info/time to get started on this. |
@mrlt8 I have been doing some research today and it looks like we can get a live HLS video stream URL from AWS Kinesis with some pretty straightforward methods provided by the AWS SDK. My question is, can we even scrape the correct authentication and credentials to setup that stream? I have a doorbell pro so I am happy to help but I must say I am pretty new to reverse engineering network calls. Are you familar with how we might be able to get some of the data being passed between the camera, bridge and Wyze AWS endpoints? It looks like we need the below information to get somewhere with this:
Most of these are options that can be set once but the interesting parts will be the accessKey and secretKey. Let me know if you have any ideas on this or how we can test my device and scrape some of the needed information. Other link for AWS example I am referencing: https://github.com/aws-samples/amazon-kinesis-video-streams-media-viewer EDIT: I was also thinking that even if the camera stream runs through AWS the camera itself has to be creating and sending some stream of video from the doorbell pro or the bridge and I am wondering if that is possible to uncover and use directly for a direct connection to the system instead of involving an outside service. |
It's probably not the best way, but we actually use a subprocess to pipe the raw h264 from the tutk library into ffmpeg which then publishes the stream to MediaMTX and that handles all the WebRTC and other streams. I wonder if we might be able to do something with a named pipe across the containers? |
Ah I see. That seems to be a fine way of doing it thus far. Is there a better approach you know of? Seems like a case of "ain't broke, don't fix it" but I am curious if you think there is a way to improve it. I will look at setting up a named pipe for the raw video h264 data. Do you have any thoughts on how to pass other data like login credentials and deviceIds to the new container/application? My thought is that I would add a new class to handle gwell cameras here in wyze-bridge that would be a websocket client to be used for things like starting/stopping streams, passing credentials, logging, and passing device info. Thanks for your input on this! |
Also, I am curious if you know if there is currently a mechanism in place to notify us that someone wants to view the video stream. This is an obvious concern for most doorbell users since the units run on battery power. Is the h264 stream from existing cams always running or is it requested to start when the bridge starts? Also after the bridge starts, does the stream continue in the background or does it start and stop as needed when clients connect/subscribe to the various feeds? I am looking through the code but figured it is worth it to hear the dev perspective as well if possible. Thanks! For now it looks like I can create a new class similar to wyze-stream.py since the stream.py outlines protocol/interface the stream manager can deal with. Let me know if you see a better approach to integrate the needs of the gwell cams. |
Hello folks, good day to all of you. First off, thank you very much for all your hard work in supporting and trying to get the Wyze Doorbell Pro to work. I wanted to see if there is any update on this, maybe a beta version that I can help test? I would really love to be able to view my front door camera in Home Assistant so that I don't have to constantly access the Wyze app on my phone whenever someone rings the doorbell. Not intending this to rush anyone or whatnot. Just curious if we are any closer to finding a way to view the camera in HA. Thanks again for all the amazing work! |
You can check out Cryze. I have done the reverse-engineering to access your video doorbell camera stream and am in the process of integrating that technology into outside services like this repo (docker-wyze-bridge) and other smarthome platforms of interest (native homekit, Home Assistant, so forth). The Cryze project is not quite ready for people to use and consume easily but that is what I am working on now. I have a docker container that hosts the connection to your camera and another container that hosts a server for routing that data around. Once there is an easy way for people to set this up I will update the Cryze readme immediately. Feel free to peak at that repo over the next few days/weeks for updates. Thanks for the interest! |
By any chance will your work allow accessing the Wyze cam OG as well?
…On Mon, Feb 26, 2024 at 7:11 PM carTloyal123 ***@***.***> wrote:
You can check out Cryze <https://github.com/carTloyal123/cryze>. I have
done the reverse-engineering to access your video doorbell camera stream
and am in the process of integrating that technology into outside services
like this repo (docker-wyze-bridge) and other smarthome platforms of
interest (native homekit, Home Assistant, so forth). The Cryze project is
not *quite* ready for people to use and consume easily but that is what I
am working on now. I have a docker container that hosts the connection to
your camera and another container that hosts a server for routing that data
around. Once there is an easy way for people to set this up I will update
the Cryze readme immediately. Feel free to peak at that repo over the next
few days/weeks for updates. Thanks for the interest!
—
Reply to this email directly, view it on GitHub
<#276 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A5WCUOHM5APS57GZXWXCXMTYVUQD5AVCNFSM5LO4ZWOKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJWGU2TKNZYGYYQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Yes it should. I actually just got an OG in the mail today so I will start testing with it shortly. |
Great! Good luck! I bought some OG's right after they came out thinking I
could use the special Wyze firmware to communicate directly with software
on my PC, only to discover that Wyze had quit supporting that firmware, and
it was only for the cam V3 in any case. If you get it working. I will
definitely give you some support!
On Mon, Feb 26, 2024 at 9:38 PM carTloyal123 ***@***.***>
wrote:
… By any chance will your work allow accessing the Wyze cam OG as well?
On Mon, Feb 26, 2024 at 7:11 PM carTloyal123 *@*.***>
wrote:
You can check out Cryze https://github.com/carTloyal123/cryze. I have
done the reverse-engineering to access your video doorbell camera stream
and am in the process of integrating that technology into outside services
like this repo (docker-wyze-bridge) and other smarthome platforms of
interest (native homekit, Home Assistant, so forth). The Cryze project is
not *quite* ready for people to use and consume easily but that is what I
am working on now. I have a docker container that hosts the connection to
your camera and another container that hosts a server for routing that data
around. Once there is an easy way for people to set this up I will update
the Cryze readme immediately. Feel free to peak at that repo over the next
few days/weeks for updates. Thanks for the interest!
—
Reply to this email directly, view it on GitHub
#276 (comment)
<#276 (comment)>
,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5WCUOHM5APS57GZXWXCXMTYVUQD5AVCNFSM5LO4ZWOKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJWGU2TKNZYGYYQ
.
You are receiving this because you commented.Message ID:
*@*.***>
Yes it should. I actually just got an OG in the mail today so I will start
testing with it shortly.
—
Reply to this email directly, view it on GitHub
<#276 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A5WCUOEWXPYRBF7OCVMR3FTYVVBJDAVCNFSM5LO4ZWOKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJWGU3DQMZSHEYA>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
@carTloyal123 thank you very much for your reply. I will give it a spin and see how it goes. Do you know how this performs with Wyze Cam V3 Pro, in terms of streaming on an android tablet? I posted an issue for Cam V3 Pro through Wyze Docker Bridge here, where I am unable to get Cam Pro V3 to stream on android tablets unless I use the substream. Running the regular stream, even with WebRTC still results in the stream freezing and not loading at all. The substream works fine but at the same time is occasionally laggy and the quality is really subpar. I believe mrlt8 was the one trying to help me out (thank you again mrlt8), but I'm still on a mission to try and run the default full quality stream of the Cam V3 Pro on my android tablets. I'm really hoping this works much better through Cryze. |
Dear carTloyal123,
I have lots of questions, and while I have a lot of electronics and computer experience - these cameras, Docker, Cryze are all brand new to me, so please pardon me if some of my questions are too ignorant.
[1] - Am I correct that to be able to access my OG cameras’ data, I would use docker and your two docker containers?
[2] - Are you aware of any instructional guides on the installation and implementation of Docker (it appears more complicated than just pulling stuff off the BitHub page)?
[3] - Likewise, do you have plans for a simple to follow guide for Cryze?
[4] - Perhaps this is not the best place to ask, but I did see a post, without details, speaking of using an active PoE splitter (UCTRONICS) and PoE injector (TP-Link TL-PoE160S) to interface to a Wyze camera. However, I was under the impression that all the Wyze cameras USB connectors are only to supply power, and there is no data on it - all data has to be transmitted over WiFi. Is that correct?
What’s more - seems that before spending $30+ on a splitter and injector for one camera, I would consider looking for a ready-built IP camera.
[5] - Are you familiar with and do you have an opinion on which is better for recording and displaying the cameras - Blue Iris or ISpy?
Thanks again for all your work.
Mark
… On Feb 26, 2024, at 9:38 PM, carTloyal123 ***@***.***> wrote:
By any chance will your work allow accessing the Wyze cam OG as well?
On Mon, Feb 26, 2024 at 7:11 PM carTloyal123 @.***>
wrote:
You can check out Cryze https://github.com/carTloyal123/cryze. I have
done the reverse-engineering to access your video doorbell camera stream
and am in the process of integrating that technology into outside services
like this repo (docker-wyze-bridge) and other smarthome platforms of
interest (native homekit, Home Assistant, so forth). The Cryze project is
not quite ready for people to use and consume easily but that is what I
am working on now. I have a docker container that hosts the connection to
your camera and another container that hosts a server for routing that data
around. Once there is an easy way for people to set this up I will update
the Cryze readme immediately. Feel free to peak at that repo over the next
few days/weeks for updates. Thanks for the interest!
—
Reply to this email directly, view it on GitHub
#276 (comment) <#276 (comment)>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5WCUOHM5APS57GZXWXCXMTYVUQD5AVCNFSM5LO4ZWOKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJWGU2TKNZYGYYQ
.
You are receiving this because you commented.Message ID:
@.***>
Yes it should. I actually just got an OG in the mail today so I will start testing with it shortly.
—
Reply to this email directly, view it on GitHub <#276 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/A5WCUOEWXPYRBF7OCVMR3FTYVVBJDAVCNFSM5LO4ZWOKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJWGU3DQMZSHEYA>.
You are receiving this because you commented.
|
Sounds like there could be a lot of factors going on to affect the quality of the stream. I assume in the Wyze app you can see the stream full quality just fine? What do you mean the substream? |
First, thanks for the interest and curiosity about this new work going on. Let me address these one by one: [1] - Am I correct that to be able to access my OG cameras’ data, I would use docker and your two docker containers? [2] - Are you aware of any instructional guides on the installation and implementation of Docker (it appears more complicated than just pulling stuff off the BitHub page)? [3] - Likewise, do you have plans for a simple to follow guide for Cryze? [4] - Perhaps this is not the best place to ask, but I did see a post, without details, speaking of using an active PoE splitter (UCTRONICS) and PoE injector (TP-Link TL-PoE160S) to interface to a Wyze camera. However, I was under the impression that all the Wyze cameras USB connectors are only to supply power, and there is no data on it - all data has to be transmitted over WiFi. Is that correct? Thanks @22gred ! |
@carTloyal123 , very enthused for the possibility of being able to use any of the GW cams outside of the Wyze world. I've got both the Cryze server and android-emulator running in separate Docker containers, but they're not doing anything and I don't know where to go from here. Is there any further documentation on setting necessary configs? Also, the readme mentions a community forum for asking questions/getting help... can you share a link to that, please? And thanks for your efforts here... |
Same here @terryhonn. I installed both containers (even had to modify one the Android dockerfile to run the emulator) but I don't know how to set my credentials. @carTloyal123 Any suggestions? |
@terryhonn @lflondonol92 |
@carTloyal123 let me know if you need any help with the auth API! |
@mrlt8 I really only need to authenticate using basic credentials like api key, email, password etc. Then call a few endpoints. I am wondering if you might be interested in splitting out the Wyze auth/API code into another Python package so we can both use it and contribute to it as updates happen to the Wyze API. I know @seantarves has basically the same setup in his python module so perhaps he would be interested in this as well so everyone can use/contribute to one central Wyze API code base instead of it being split. |
I'm bumping this up as I just went through the history here and it looks like there was never a solution? Just got the doorbell cam pro and was pretty disappointed to see this when I restarted my bridge: Any new updates? Anyone get this working - maybe I missed a comment my apologies but I'm pretty sure I went through everything..... as the post is still open I figured it was still an issue. |
@mjb83 thanks for the interest here, I'm glad to see the doorbell pro still has some people excited. I worked on update the Cryze application mentioned in this thread this past weekend and made some decent progress. It is not consumer ready yet but it is closer. At the moment, I am combining everything into a single docker container where you can set your Wyze credentials and then it will start to output raw video from the container. Biggest challenges at the moment: moderating when the video stream is on/off. Adding support for RTSP stream out instead of raw video. Improving bandwidth/processing. I hope to have time to work on these challenges this coming week. So it is being worked on, progress is just slow at the moment. If you are technical feel free to jump in! Thanks! |
Also, there will be some work required to integrate with this bridge but I think the desired behavior will be from Cryze to RTSP instead of Cryze to docker-bridge to RTSP(or other format). Open to thoughts on this! |
I'm not a programmer by trade, but I do work with them and I can interpret code. I'm not using docker myself but home assistant / bridge. If you need some beta testing there I am available! |
I'm just here to say that I would love to help. I have 20 years of Linux, Python, and API work - along with a side passion for automation and Homekit. Unfortunately, I have a baby on the way soon, so I'll be somewhat busy. That said, my first child's imminent arrival finally pushed me into getting a new video doorbell on a whim. I assumed it would work since I'm currently running a Raspberry Pi with Scrypted (along with Homebridge and other docker containers) pushing HKSV with motion detection for multiple Wyze cameras and an Arlo Video Doorbell (at an alternate location). I was less than pleased to find out that the Video Doorbell Pro wouldn't work. I hope to have some time to help with this once I go on parental leave - if there is time in between, ha. |
Hi frank, would love your help with this! Did you happen to see the Cruze project? I could use some help converting the raw h264 from the camera into a usable source like RTSP or likewise. I could also use some help orchestrating the authentication from python to my android proxy app back to python. It would be super nice to have a python package that I could just write start_stream(user, password, deviceId) Would you be interested in tackling some of this or chatting about where you might want to get involved? My end game would be fully reverse engineering the video doorbell pro to the point where we can communicate with it exclusively but that is a long term goal and I mention it because two heads might be better than one for that level of work if you are interested. Thanks! |
If you guys need a tester I'm here. |
For those looking for an rtsp solution for these cameras, I've got a solution that I've been cranking on for a while. It's based off the fine work that carTloyal123 has done. It works pretty well, but has some snags that I'm still working through - like recovering from stream death elegantly and memory consumption (it's running a full blown version of android in docker). cryze_v2 |
Would this work with home assistant? I went over the docs seems like docker container is a requirement? Correct me if I'm wrong but it seems like running the Cryze android app in the docker container seems to be the key here to getting a stable RTSP stream to port to anything else? |
You can totally use it with home assistant. It really needs to be run in it's docker compose format because of some very fiddly attributes of android, so this is probably more of an "adjacent to" your other containers. I'll see about adding some docs on home assistant, but don't expect a rich integration 😂 I'm still very activly working on reducing the android footprint to the point that I'd feel comfortable running this app on, say, a raspberry pi, or as a home assistant addon like docker-wyze-bridge. |
Currently, I'm using docker-wyze-bridge to send the streams to blueiris for video capture. If you have some kind of DWB integration and need a tester... I'm your guy! |
I just started using Wyze Bridge and it works great for 3 out of 4 of our cameras! Unfortunately the 4th one is a Doorbell Pro, which I guess is not supported at this time. I'm happy to see it listed here as a requested enhancement, but was just wondering if there are any updates on the progress. Thanks in advance! |
Yep, I'm still here for home assistant / docker wyze bridge testing as well. |
Are there plans to support the new Video Doorbell Pro, model WWVDP? I hope so... if not, who wants to buy a Wyze Video Doorbell Pro? ;-)
The text was updated successfully, but these errors were encountered: