Run, Developer, Run!

Make your Wyze camera useful again with Thingino and Telegram

Thingino on Wyze V3 Thumbnail

Thingino on Wyze V3

Thingino on Wyze V3

Security cameras are a type of product especially prone to enshittification, and Wyze is a notable case study of this phenomenon. Introduced as super-affordable, reliable cameras with free cloud storage, they immediately won the love of millions. Then the company kind of realized that the low-margin/free-service business model was unprofitable from the start (surprise!), and tried all types of annoying monetization. That failed (obviously), and the quality of app and service dropped dramatically, angering once loyal users even more. Especially telling is that /r/Wyze recently changed their slug from "Never Wonder" (official Wyze motto) to "Always Wonder" :).

But there's hope in the great battle vs enshitification! An alternative firmware called Thingino, which makes Wyze cameras useful again, as well as dozens of other cheap (but somehow flawed) security cameras. Just go and star⭐ Thingino repo right now to support the cause against enshitification! That firmware is, of course, not the first of its kind, as getting a video feed on a local network is a trivial task. The most important questions are how do we get remote access, event notifications, and where recordings will be stored if the camera goes offline or is stolen. And in the best spirit of open source, Thingino provides multiple ways to achieve that:

  • You can access your camera remotely over your local network, via a static IP, or through a VPN using a solid web interface or the tinyCam Monitor Android app.
    • The web interface works well, it becomes less convenient when managing many devices.
  • If you’re running a WireGuard VPN, the camera can be configured to connect directly to it for secure remote access.
  • If you’re comfortable building custom firmware, you can install tools like Tailscale or ZeroTier, which provide a more flexible remote connectivity solution.
  • The camera can also upload clips via FTP, send them by email, or push notifications through services such as ntfy.sh

But in this article, we will use the most convenient way, and get notifications/store our recordings at Povel Durevs expense at Telegram. He claims it's super-duper-secure, of course ;)

I found the process of setup kind of unobvious, but worth it.

And of course disclaimer: all, even "private" network cameras should always be treated as public cameras. Coz you never know. So don't point them to something valuable, turn them off when doing something interesting, and use purely for security purposes.

Installation

Installation is pretty straight forward, at least for Wyze cameras:

  1. You download a disk image write it to sd card
  2. Plug the card into the camera & reboot
  3. Wait for a new wifi network appear (called THINGINO or smth)
  4. Connect, go to http://thingino-device.local and complete the setup in the Web interface
    • User is root
  5. Now connect back to your wifi, and figure out the camera ip by pressing the setup button
    • It should tell ya over the speaker
  6. Make sure to update to the latest firmware via Tools->Flash Operations

Image detection and Telegram notification

Note that this is basic number-of-pixels-changed detection, happening on the device, so don't expect fancy AI features like "suspicious person walking around a neighbourhood" or "brown dog detected looking guilty". If you really need it, you need to connect the camera stream to some hosted service for such functionality.

So, to get the photo and 10-second clip as a Telegram message if motion is detected:

  1. You create a new Telegram bot in the Telegram App
    • Start a chat with @BotFather
    • Enter /start, /newbot, and find some silly name
    • Copy the token (Bot Token)
  2. Then create a new Telegram channel
    • Login to Telegram Web
    • Create a new channel
    • Copy the id from the page URL (Chat Id)
    • Prepend with -100
    • E.g. if your channel url with /k/#-1234567890 the channel id will be -1001234567890
  3. Add the bot to the channel as Administrator
  4. In Thingino web, go to the Motion menu
    • Make Motion Detection start on boot
    • In Send to Services, configure Telegram using Bot Token and Chat Id
    • Check Send photo and Send video
  5. After saving, when you wave at your camera or click the test button in Send to Services->Telegram you should receive a short clip and photo

Status check (video clip on request)

To request a current photo and 10-second clip as a Telegram message:

  1. This was the trickiest to figure out. You need to open "secret" hidden URL http://YOUR_CAMERA_IP/config-telegrambot.html
    • Telegram Bot Service should appear
    • Check Launch Telegram bot on boot
    • Paste Bot Token we acquired in the previous section
    • If you don't want some randos to control your camera, maybe put your username into Respond only to these users
    • Click Add command:
    • Command: wazzap and action send2telegram snap
    • You can add more useful commands here to control camera remotely
  2. After saving changes, if you send /wazzap to Bot, it will send recordings to the channel we created in the previous section
    • Be patient, it takes 10 seconds to record the clip, and the bot polls every 30 seconds
    • In my case, it worked only after a reboot


Contact

Search

 

Follow

Me on Twitter, Mastodon and Github

We have RSS!

© 20xx

Hosted on Cloudflare Pages, which is awesome!