mrlt8 / docker-wyze-bridge

WebRTC/RTSP/RTMP/LL-HLS bridge for Wyze cams in a docker container
GNU Affero General Public License v3.0
2.69k stars 174 forks source link

Wyze Cam OG not working #677

Open mr-bobdobalina opened 1 year ago

mr-bobdobalina commented 1 year ago

Not seeing the Wyze Cam OG showing up on the bridge. Running docker compose up (without the -d) I don't even see it listed in the initial "Connecting to..." section.

I also did FRESH_DATA=true on my yml.

ScottySTL commented 1 year ago

I just got my new Wyze Cam OG going as well and it's not showing up on the bridge either. I am assuming it is not yet supported?

talormanda commented 1 year ago

Same issue here.

jmluxem commented 1 year ago

Same issue here. I have the new Pan v3 also, which worked right away. Wyze Cam OG is not working.

mrlt8 commented 1 year ago

Thanks for the data points! The OG seems to be using a different P2P protocol than all the other cameras (similar to the Doorbell Pro). Currently looking into alternate methods to access the stream.

ScottySTL commented 1 year ago

Do you think it will be possible to find a way to access the stream via docker at some point in the future?

adricrist87 commented 1 year ago

Same here, hopefully something is worked out within the 30 day return window otherwise they are going back :(

ScottySTL commented 1 year ago

Unfortunately, this could be Wyze purposely finding ways to now allow this kind of access to streams (So they can keep pushing their Cam Plus subscriptions)

cheme75 commented 1 year ago

Unfortunately, this could be Wyze purposely finding ways to now allow this kind of access to streams (So they can keep pushing their Cam Plus subscriptions)

Sadly I tend to agree it may well be wyze intentionally changing for the new hardware to force the subscription. It started to become clear when the lite version was only offered for v2 and v3 cams and the new hardware omitted the lite option. I really don’t need all the extras. For next house I’m considering going with something like amcrest poe cams if I can get some cables run before they drywall it. Or I’ll breakdown and get a couple HomeKit compatible cams since we really won’t need much in new location.

mrlt8 commented 1 year ago

I believe the protocol change has more to do with the fact that the OG/3X and the Doorbell Pro seem to be designed and/or produced by "gwell", whereas the other cameras were mostly Hualai cameras.

adricrist87 commented 1 year ago

I believe the protocol change has more to do with the fact that the OG/3X and the Doorbell Pro seem to be designed and/or produced by "gwell", whereas the other cameras were mostly Hualai cameras.

Hey thanks for getting back to us. Do you anticipate we will eventually be able to bring these OG into the bridge container? Is this work in flight or out of scope at the moment? That would help me decide wether to return these or hold on to them.

Thank you.

mrlt8 commented 1 year ago

Potentially, but it may be more cloud dependent than our current solution (which could also mean it gets blocked by wyze).

Can you test: http://localhost:5000/webrtc/ogcam-name

adricrist87 commented 1 year ago

Tried this link http://192.168.2.101:5000/webrtc/Driveway2 and got {"cam":"Driveway2","result":"cam not found"} but if I try a V3 Cam I can pull it up fine.

talormanda commented 1 year ago

Tried this link http://192.168.2.101:5000/webrtc/Driveway2 and got {"cam":"Driveway2","result":"cam not found"} but if I try a Cam V2 or V3 I can pull them up fine.

same

adricrist87 commented 1 year ago

Here is my docker log, It only picks up the 3 V3 Cams:

2023/01/21 03:56:01 [WyzeBridge] πŸš€ STARTING DOCKER-WYZE-BRIDGE v1.11.3

mrlt8 commented 1 year ago

I pushed a new commit to the dev branch. Could you try using that to see if it recognizes the OG in the bridge and lets you access the webrtc endpoint?

jmluxem commented 1 year ago

Am I able to test the dev branch using the Home Assistant plugin? If so, I could test right now

mrlt8 commented 1 year ago

You should be able to access the DEV branch using this repo https://github.com/mrlt8/edge-repo

jmluxem commented 1 year ago

Thanks, got the edge-repo setup in Home Assistant. Dev branch is still only showing 6 of my 7 cameras - OG is not listed.

jmluxem commented 1 year ago

and not seeing the OG listed anywhere in logs. Doesn't appear to be detecting it

ScottySTL commented 1 year ago

I tried the same with dev branch and not seeing my new OG camera listed

adricrist87 commented 1 year ago

Is there a Discord or other chat room we can use to coordinate testing?

camblack commented 1 year ago

Still not detected after these latest commits.

{"cam":"og-cam","result":"cam not found"}


2023/01/22 22:49:37 [WyzeBridge] ♻️ FORCED REFRESH - Ignoring local 'user' data
 * Serving Flask app 'frontend'
 * Debug mode: off
2023/01/22 22:49:37 [WyzeBridge] ♻️ FORCED REFRESH - Ignoring local 'auth' data
2023/01/22 22:49:37 [WyzeBridge] ☁️ Fetching 'auth' from the Wyze API...
2023/01/22 22:49:37 [WyzeBridge] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.1.147:5000
2023/01/22 22:49:37 [WyzeBridge] Press CTRL+C to quit
2023/01/22 22:49:38 [WyzeBridge] πŸ’Ύ Saving 'auth' to local cache...
2023/01/22 22:49:38 [WyzeBridge] ☁️ Fetching 'user' from the Wyze API...
2023/01/22 22:49:38 [WyzeBridge] πŸ’Ύ Saving 'user' to local cache...
2023/01/22 22:49:38 [WyzeBridge] ♻️ FORCED REFRESH - Ignoring local 'cameras' data
2023/01/22 22:49:38 [WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API...
2023/01/22 22:49:39 [WyzeBridge] πŸ’Ύ Saving 'cameras' to local cache...
2023/01/22 22:49:39 [WyzeBridge] 
🎬 STARTING ALL 7 CAMERAS
2023/01/22 22:49:39 [WyzeBridge] SET WB_IP to allow WEBRTC connections.
2023/01/22 22:49:39 [WyzeBridge] Starting rtsp-simple-server v0.21.1
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam Pan V2 - living-room-cam on 192.168.1.45 (1/3)
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - mom-driveway on 192.168.2.2 (1/3)
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - back-yard-cam on 192.168.1.162 (1/3)
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - mom-porch on 192.168.74.4 (1/3)
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - mom-backyard on 192.168.74.7 (1/3)
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - food-cam on 192.168.1.40 (1/3)
2023/01/22 22:49:39 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - bedroom on 192.168.1.43 (1/3)```
camblack commented 1 year ago

On 1.11.5 it seems that it's no longer able to fetch cameras


2023/01/24 16:51:46 [WyzeBridge] πŸš€ STARTING DOCKER-WYZE-BRIDGE v1.11.5
2023/01/24 16:51:46 [WyzeBridge] πŸ” Could not find local cache for 'user'
 * Serving Flask app 'frontend'
 * Debug mode: off
2023/01/24 16:51:46 [WyzeBridge] πŸ” Could not find local cache for 'auth'
2023/01/24 16:51:46 [WyzeBridge] WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.1.147:5000
2023/01/24 16:51:46 [WyzeBridge] ☁️ Fetching 'auth' from the Wyze API...
2023/01/24 16:51:46 [WyzeBridge] Press CTRL+C to quit
2023/01/24 16:51:46 [WyzeBridge] πŸ’Ύ Saving 'auth' to local cache...
2023/01/24 16:51:46 [WyzeBridge] ☁️ Fetching 'user' from the Wyze API...
2023/01/24 16:51:47 [WyzeBridge] πŸ’Ύ Saving 'user' to local cache...
2023/01/24 16:51:47 [WyzeBridge] πŸ” Could not find local cache for 'cameras'
2023/01/24 16:51:47 [WyzeBridge] ☁️ Fetching 'cameras' from the Wyze API...
2023/01/24 16:51:48 [WyzeBridge] 1 validation error for WyzeCamera
ip
  value is not a valid integer (type=type_error.integer)
jmluxem commented 1 year ago

Wyze Cam OG is being detected in 1.11.6! It shows a recent snapshot but it isn't able to load the WebRTC stream - gives a 404 error for both WebRTC and HLS. All other cams working normally.

sguy311 commented 1 year ago

So, the OG is at least showing up on the page, but here is the log entry about it 2023/01/24 21:32:40 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam OG - carport on (1/3) 2023/01/24 21:32:40 [Carport ] IOTC_ER_UNLICENSE

mrlt8 commented 1 year ago

Type validation should be fixed in v1.11.6.

IOTC_ER_UNLICENSE is probably because the camera isn't registered with tutk when it tries to look for it remotely. It may be using Tencent's IoTVideoSdk like the doorbell pro (#276) for NAT punching/p2p.

can someone try the :5000/webrtc/<og-cam-name> endpoint?

camblack commented 1 year ago

The WebRTC endpoint on v1.11.6 results in an Internal Server Error with this popping up in the log:


2023/01/25 02:38:24 [WyzeBridge] Exception on /webrtc/og-cam [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/connection.py", line 72, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 386, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 1042, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 358, in connect
    self.sock = conn = self._new_conn()
  File "/usr/local/lib/python3.10/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7f2e07471270>: Failed to establish a new connection: [Errno -2] Name or service not known
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 787, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.10/site-packages/urllib3/util/retry.py", line 592, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='wyze-mars-service.wyze.com', port=443): Max retries exceeded with url: /signaling/device/GW_GC1_D03F276F3BEF?use_trickle=true (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f2e07471270>: Failed to establish a new connection: [Errno -2] Name or service not known'))
During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1820, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1796, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/app/frontend.py", line 144, in webrtc
    if (webrtc := wb.get_kvs_signal(name)).get("result") == "ok":
  File "/app/wyze_bridge.py", line 566, in get_kvs_signal
    wss = wyzecam.api.get_cam_webrtc(self.auth, cam.mac, mars)
  File "/app/wyzecam/api.py", line 231, in get_cam_webrtc
    resp = requests.get(
  File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 73, in get
    return request("get", url, params=params, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 565, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='wyze-mars-service.wyze.com', port=443): Max retries exceeded with url: /signaling/device/GW_GC1_D03F276F3BEF?use_trickle=true (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f2e07471270>: Failed to establish a new connection: [Errno -2] Name or service not known'))
2023/01/25 02:38:24 [WyzeBridge] 192.168.1.158 - - [25/Jan/2023 02:38:24] "GET /webrtc/og-cam HTTP/1.1" 500 -
2023/01/25 02:38:25 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam OG - og-cam on  (1/3)
2023/01/25 02:38:26 [OG Cam] IOTC_ER_UNLICENSE
jmluxem commented 1 year ago

No change when trying :5000/webrtc/OG

I pulled fresh API data and the OG got a very recent snapshot, but not able to load video from it.

Multiple IOTC_ER_UNLICENSE entries in log at each connection attempt.

mrlt8 commented 1 year ago

Made some tweaks to avoid IOTC_ER_UNLICENSE and swapped back to the default api.

ScottySTL commented 1 year ago

Dev or Latest branch?

mrlt8 commented 1 year ago

Dev branch

ScottySTL commented 1 year ago

Got it, now the OG camera doesn't show up detected in list anymore

mrlt8 commented 1 year ago

It should still be there, the bridge just won't attempt to connect to it directly since they're using a different p2p protocol.

Do you get anything on :5000/webrtc/<cam-name>?

camblack commented 1 year ago

The OG cameras are detected now on my end, however I do get a "Not supported" error for one of them in the log. WebRTC endpoint: {"cam":"og-cam","result":"Camera does not support WebRTC"}

Interesting that one of the OG cams (Litter Cam) shows up as "Not Supported" while the other OG cam shows up as connecting before being removed.


2023/01/25 04:49:00 [WyzeBridge] πŸ’” Litter Cam [GW_GC1] is not supported
2023/01/25 04:49:00 [WyzeBridge] 
🎬 STARTING ALL 8 CAMERAS
2023/01/25 04:49:00 [WyzeBridge] SET WB_IP to allow WEBRTC connections.
2023/01/25 04:49:00 [WyzeBridge] Starting rtsp-simple-server v0.21.1
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam OG - og-cam on  (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam Pan V2 - living-room-cam on 192.168.1.45 (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - mom-driveway on 192.168.2.2 (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - back-yard-cam on 192.168.1.162 (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - mom-porch on 192.168.74.4 (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - mom-backyard on 192.168.74.7 (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - food-cam on 192.168.1.40 (1/3)
2023/01/25 04:49:01 [WyzeBridge] πŸŽ‰ Connecting to WyzeCam V3 - bedroom on 192.168.1.43 (1/3)
2023/01/25 04:49:01 [OG Cam] IOTC_ER_UNLICENSE
2023/01/25 04:49:02 [WyzeBridge] Removing camera
mrlt8 commented 1 year ago

hmm, that's weird. Not sure why only some cams are missing some fields..

Updated the dev branch so that it doesn't remove the weird GW_GC1_ prefix from the Mac address.

warmon6 commented 1 year ago

Throwing my OG telephoto in the ring. As predicted, same as the others with the regular OG's (This is on the dev branch)

2023/01/26 20:08:25 [WyzeBridge] πŸ’” street cam [GW_GC2] is not supported
2023/01/26 20:08:25 [WyzeBridge] 
🎬 STARTING ALL 2 CAMERAS
2023/01/26 20:08:25 [WyzeBridge] ☁️ Pulling "Front Porch Cam" thumbnail
2023/01/26 20:08:26 [WyzeBridge] ☁️ Pulling "Driveway Cam" thumbnail
2023/01/26 20:08:26 [WyzeBridge] Starting rtsp-simple-server v0.21.1
2023/01/26 20:08:26 [WyzeBridge] [ON-DEMAND] βŒ›οΈ WyzeCam V3 - front-porch-cam on 192.168.50.56 (1/3)
2023/01/26 20:08:26 [WyzeBridge] [ON-DEMAND] βŒ›οΈ WyzeCam V3 - driveway-cam on 192.168.50.96 (1/3)
mrlt8 commented 1 year ago

Thanks for the confirmation @warmon6!

Has anyone been able to get the OG to show up in the official web view or is the OG not supported there?

camblack commented 1 year ago

I hadn't even bothered to check until now, but they do indeed show up and play in the official web view!

talormanda commented 1 year ago

Thanks for the confirmation @warmon6!

Has anyone been able to get the OG to show up in the official web view or is the OG not supported there?

Is there any data you need out of the official webview that would help? Do you need an OG camera to test? I could probably set up one and share it with you if you think that would help get it working.

ramboton commented 1 year ago

Thanks for the confirmation @warmon6!

Has anyone been able to get the OG to show up in the official web view or is the OG not supported there?

My OG works on webview

cryptosmasher commented 1 year ago

out of absolutely sheer docker ignorance, how do I pull from the edge-repo on the command line via docker run ? (OG/OG 3X/V3 Pan user willing to test) thanks

sanderz19 commented 1 year ago

First off, the fact that this add-on exists and works is amazing. So thank you for that. I am running HAOS, and I have a number of Wyze cameras connected (2 of mine and 4 that are shared) and working beautifully. I also have 3 new OG cameras (1 OG and 1 OG Telephoto locally, and another shared OG). The three OGs are not working. I am running the latest update that was pushed today (v1.11.8/9/10). Is there anything I can do to test or contribute?

jcalderon71 commented 1 year ago

Same issue, running Docker Wyze bridge v 1.11.10 on home assistant 2023.2.3 with 4 Wyze v3 working fine and 4 Wyze OG not working. Also getting a lot stop reading issues. 2023/02/10 20:38:01 [RTSP][BABY-CAM] πŸ“• Client stopped reading 2023/02/10 20:38:03 [RTSP][BACK-YARD-CAM] πŸ“• Client stopped reading 2023/02/10 20:38:04 [RTSP][OFFICE-CAM] πŸ“• Client stopped reading 2023/02/10 20:38:06 [RTSP][BABY-CAM] πŸ“– New client reading 2023/02/10 20:38:08 [RTSP][BACK-YARD-CAM-2] πŸ“– New client reading 2023/02/10 20:38:09 [RTSP][OFFICE-CAM] πŸ“– New client reading 2023/02/10 20:38:10 [RTSP][BACK-YARD-CAM-2] πŸ“• Client stopped reading 2023/02/10 20:38:11 [RTSP][BABY-CAM] πŸ“• Client stopped reading 2023/02/10 20:38:14 [RTSP][OFFICE-CAM] πŸ“• Client stopped reading

TEfjLONjDON commented 1 year ago

First off this is an awesome project. It's been very helpful. I'm using this method for both of the HAOS instances I manage that have wyze cams.

The only thing that would be even better, is if we could add the OG cams to the supported device list.

I was on the dev branch but, after 2 weeks of hoping the dev branch would get updated again and perhaps It might start working, I've moved back to normal branch . But I'd be happy to switch back to test any further changes.

Would truly love to get these OG cams marked as supported.

Also; When I try :5000/webrtc/<og-cam-name> It loads the player view. It circles for a while and act as if it might load the feed But ultimately it never loads The camera stream.

mach7 commented 1 year ago

@mrlt8 do you have any update on this? If you'd like help with getting information for this camera I'd be willing to purchase one and help out with it. Depending on where you're located and shipping, I may be willing to purchase one for each of us as a contribution to the project.

nbetcher commented 1 year ago

@mrlt8 do you have any update on this? If you'd like help with getting information for this camera I'd be willing to purchase one and help out with it.

@mrlt8 I have both an OG and OG 3x deployed and can provide a detailed packet dump of interaction with the camera while in the Wyze app.

PJW58 commented 1 year ago

I just updated my Bridge to 2.x and noticed that the api thumbnail is now working for my regular OG. However it gives a 404 for my OG Telephoto. Video streams still not working for either.

Mdleal commented 1 year ago

Running 2.0. Getting the following. Stream does not work. Thumbnail does but its the last motion event.

[WyzeBridge] πŸŽ‰ Connecting to WyzeCam OG - Pet Cam on [pet-cam] [-10] IOTC_ER_UNLICENSE [WyzeBridge] Pet Cam will cooldown for 10s.

mrlt8 commented 1 year ago

OG/Doorbell Pro are not supported at this time.

drkavnger99 commented 1 year ago

Wondering if the OG's are being actively pursued to add or not. Trying to figure out if I should bother setting them up or not.