Wyze v4: Docker-Wyze Bridge IOTC_ER_TIMEOUT + 401 Client Error

Could it be that the strategy is to move to industry standard RTSPS and ONVIF?

Just kidding :rofl:

I wonder what Tiny Cam Pro is using that it somehow isn’t impacted? Would actually be nice to see him in here from time to time, but I guess he’s busy with the Reddit Sub (and maybe discouraged from blending his two lives together).

This is a well documented issue with all variants of Docker Wyze Bridge.

The original by mrlt8 seems to be abandoned with no updates for a very long time.

The forks also seem to be abandoned, or in the process of a complete rewrite with the owner missing.

IMO, The attempt by Wyze to implement RTSP is a mess. It’s very basic and, as it IS just RTSP so theres no camera control functions including pan/tilt, day/night etc. They also opted for strange password requirements that don’t work with some clients, or work only after experimentation and tweaking. Amazing how they worked so hard to make a mess of an established standard.

Also note that turning auto upgrade for cameras OFF doesn’t stop endless annoying nags to upgrade the firmware. I’ve also had one V3 camera that suffered an unauthorized forced upgrade, or, maybe the nag screen got touched. So if, after downgrading to a supported version, and it’s been working fine, the docker Wyze bridge stops working, then check the version again and re-downgrade if needed.

Here’s my post in mrlt8 GitHub issues regarding the last known Wyze firmware that works with Docker Wyze Bridge

-------------------------

Wyze changed the authentication method in the camera firmware and ALL known forks and versions of the Docker Wyze Bridge no longer work.
Also all the forks that used to work appear abandoned with no updates or comments from coders in quite a while.

Here are My cameras and firmware versions that still work using mtlt8 version 2.10.3

Wyze Cam v4 - firmware 4.52.9.4188
Wyze DoorBell V2 - firmware 4.51.2.4190
Wyze Cam V3 - Firmware 4.36.14.3497
Wyze CamPan V3 - Firmware 4.50.15.4800

There may be newer firmware that also works, but I’m slowly replacing all the Wyze product with a different vendor (the Reolink Cx series is far superior to the Wyze in every way, including color night vision). I don’t have the time nor patience to experiment with the Wyze junk anymore.

I downgraded the Wyze camera firmware using the manual sd card ā€œupgradeā€ method. Wyze have a history of NOT allowing downgrades between some versions so read their firmware release notes before using the sd card downgrade method.

Don’t forget to disable automatic updates on all the cameras check both before and after downgrading.

For reference, here is my docker-compose.yml as there are also some other nasties that occurred due to a change in some supporting code.
Note the network_mode: host line and the port setting lines rem/removed/ignored

wyze-bridge:
services:
wyze-bridge:

YOU MUST HAVE THE network_mode: host LINE TO MAKE IT WORK

I think this was due to a change in docker that broke Wyze-bridge

    network_mode: host
    container_name: wyze-bridge
    restart: unless-stopped
    image: mrlt8/wyze-bridge:latest
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "5"

IN HOST NETWORK MODE YOU CANNOT SET CUSTOM PORTS

ports:

- 1935:1935 # RTMP

- 8554:8554 # RTSP

- 8888:8888 # HLS

- 8889:8889 #WebRTC

- 8189:8189/udp # WebRTC/ICE

- 5000:5000 # WEB-UI

    environment:
        # \[OPTIONAL\] Credentials can be set in the WebUI
        # API Key and ID can be obtained from the wyze dev portal: 
        # https://developer-api-console.wyze.com/#/apikey/view
        - WYZE_EMAIL=changed@redacted.dom
        - WYZE_PASSWORD=redacted
        - API_ID=redacted
        # - FRESH_DATA=TRUE
        # \[OPTIONAL\] IP Address of the host to enable WebRTC e.g.,:

- WB_IP=192.168.1.100

        # WebUI and Stream authentication:
        - WB_AUTH=false # Set to false to disable web and stream auth.
        - WB_USERNAME=redacted
        - WB_PASSWORD=redacted
        - NETMODE=LAN
        - ONDEMAND=True
        - SNAPSHOT=RTSP30
        - ENABLE_AUDIO=False
        - MQTT_HOST=192.168.1.50:1883
        - MQTT_AUTH=admin:redacted

- MQTT-TOPIC=wyzebridge

- MQTT_DTOPIC=homeassistant

        - LOG_TIME=TRUE
        - LOG_LEVEL=ERROR

- LOG_LEVEL=WARNING

- MTX_LOGLEVEL=error

        - FILTER_NAMES=CamThatTheHorseBroke
        - FILTER_BLOCK=True

Note that I am still looking for replacements for my Wyze cams.

EDIT:

Reolink is NOT an option due to their terrible customer support. They don’t honor their warranty, They delay replacements until the model is no longer available, then raise the prices and offer an inferior replacment, they lie and don’t know their own product line. They even tried to claim that a camera didnt qualify for free no shipping cost replacement as it was over 30 days old, when they were the ones that asked to delay the shipment for two weeks!

AVOID REOLINK!!!

My go rewrite seems to be working for V4 4.52.9.6119

and V3 4.36.16.6114