## Make your Wyze camera useful again with Thingino and Telegram !![Thingino on Wyze V3](pic/thingino.jpg) Security cameras are a type of product especially prone to [enshittification](https://en.wikipedia.org/wiki/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](https://reddit.com/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](https://thingino.com), which makes Wyze cameras useful again, as well as dozens of other cheap (but somehow flawed) security cameras. Just go and star⭐ Thingino [repo](https://github.com/themactep/thingino-firmware) 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](https://tinycammonitor.com) 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, upload to Google Photos 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](https://old.reddit.com/r/gadgets/comments/1ausipk/wyze_says_camera_breach_let_13000_customers/). 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](https://github.com/wltechblog/thingino-installers/tree/main/wyze-cam-3#installation-steps), at least for Wyze cameras: 1. You download a [disk image](https://github.com/wltechblog/thingino-installers/tree/main) 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 (like MotionEye) 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](https://t.me/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](https://web.telegram.org/a/) * 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 **-100**1234567890 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. Go to `Menu` → `Settings` → `Telegram Bot`. If its not available open `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` * Description: if you want something to appear in `/help` * You can add more [useful commands](#some-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 ### Some useful commands You can try over ssh or cofigure in Telegram bot: * `tell` to say something scary over the speaker: * `tell "Intruder detected. Notifying authorities."` * `tell "Danger, the emergency destruct sequence has now been activated. The ship will self-destruct in t-minus, ten minutes."` * `light` control lights: * Example `light ir on` * See more at I also strongly recommend to ssh to your camera, and add [healthchecks.io](https://healthchecks.io) ping to crontab, so if camera goes offline you get the notification as well. 🏷️Minimalism 🏷️Enshittification 🏷️Surveillance 🏷️Security 🏷️AlternativeFirmware