Back to home

Damn, It Actually Works: Giving My YI Cameras a Second Life

I was planning to replace my entire camera system, but before buying new cameras, I decided to rescue the ones I already had. Kami had turned them into a festival of ads, pop-ups and subscription offers. An old mini PC running Debian, Docker, Home Assistant and Scrypted gave the YI cameras a second life in Apple Home, with recordings going to iCloud. Then the air conditioner, dehumidifier and an old Brother printer joined the project too.

I was planning to replace my entire camera system, but before buying new cameras, I decided to rescue the ones I already had. Kami had turned using them into a festival of ads, pop-ups and yet another subscription. I used an old mini PC running Debian and Docker, set up Home Assistant and Scrypted, and then discovered that the cameras could appear in Apple Home and save recordings to iCloud. Along the way, the air conditioner, dehumidifier and an old Brother printer joined in. If you have similar devices at home, read this before throwing them into the drawer full of cables whose purpose you can no longer remember.

It was only supposed to be temporary

This was not a project called “I’m building a smart home because I have too much free time”. I wasn’t planning automations, a server in the basement or a dashboard showing me the temperature in every corner of the apartment. I simply wanted to keep using the old cameras for a while instead of buying new ones just because the manufacturer had changed its idea of how to make money.

The Xiaomi Yi Home Outdoor 1080P cameras are no longer exactly fresh out of the box. The image quality is not brilliant either, so I know that one day they will have to be replaced. But “one day” is not the same as “right now, because the app has decided to give me a subscription sales pitch”. I thought that if I was going to replace the entire camera system anyway, I might as well try to cobble the old YIs together for the transition period.

The word “cobble together” was exactly right. I had no finished plan. I had a few cameras, a problem with the app and the feeling that somebody on the internet must already have figured out how to squeeze a little more life out of this hardware.

Kami and the ad festival

When I bought these cameras and they still worked in YI Home, everything was fine. There was a camera, there was a live view, and I felt like I had bought a device rather than a ticket to the future price list of add-on services.

Then things started getting worse. In Kami, practically everything began shouting about subscriptions. There were ads everywhere, some of them difficult to close, and something new kept popping up. Instead of opening the app to see the camera feed, I could feel as if I had accidentally walked into a shopping mall.

It wasn’t that I thought every cloud service was inherently bad. I simply didn’t want to add another subscription to things that were already physically sitting on my shelf. If the camera still works, the picture is there, and the main problem is that the app wants to sell me another feature, the natural reaction is to see whether the app can be bypassed.

The old mini PC rides to the rescue

I remembered that Xiaomi Yi Home Outdoor 1080P cameras could somehow be modified. I asked ChatGPT what could be done, and it turned out that the subject might be much more interesting than I had expected.

It turned out that the cameras could be connected to Home Assistant and then made available in Apple Home. On top of that, recordings could be sent to iCloud through HomeKit Secure Video, without adding a separate subscription just for the cameras. I really did not see that coming. I started with “I’ll try to get the live view back”, and suddenly iCloud wanted to join the project too. Ridiculous.

For the setup, I used an old mini PC running Debian. It is not exactly the kind of hardware people would line up to buy from me. The mini PC was already working as a home server for various pseudo-projects, and Docker was already running there. Since I had a device that was already drawing power and performing tasks of highly uncertain purpose, I gave it a few more.

I set up Home Assistant and Scrypted, and converted the cameras to local RTSP streams. I am not going to write a step-by-step tutorial here, because my configuration is still in progress, and “it works on my machine” is not yet documentation for the whole of humanity. The goal was to recover the camera feed and move it into a system over which I have a little more control.

Technically, Scrypted is a platform for video integrations. According to its documentation, it can accept streams from different cameras and pass them on to HomeKit and Home Assistant, among other platforms. Home Assistant, in turn, has an official HomeKit Bridge that allows its devices to be exposed in Apple Home. This particular collection of parts turned a few old cameras into something more than a display reminding me of past purchases.

Why use Home Assistant if I use Apple Home?

It may look strange. If the end goal is to have the devices in Apple Home, why put Home Assistant and Scrypted in the middle? The answer is simple: Home Assistant is the infrastructure here, while Apple Home is where I actually want to use the devices.

I am not setting up extra services so I can admire their interfaces. I want the devices to appear in Apple Home so I can use automations and shortcuts. That is the whole point of this arrangement. Home Assistant can work somewhere in the background, Docker can pretend it has a plan for its life, and I can open the Home app and see devices there that would normally never appear in it.

In Apple’s documentation, HomeKit Secure Video is described as a service in which camera activity can be analysed on a home hub and sent to iCloud, while recordings are protected with end-to-end encryption. Apple requires a suitable home hub, and Scrypted also points to a HomePod or Apple TV as a requirement for HKSV. This is not simply a magic folder for recordings that appears after you type one spell into Docker.

What matters most to me is that I no longer have to use the manufacturer’s original app as the only window into my own camera. If I can get a convenient live view in Apple Home and also save recordings to iCloud through a subscription I already have, why not? I do not want to buy another subscription just for the privilege of looking at the picture from a device I already paid for.

Damn, it actually works

The biggest surprise came when it simply started working. The cameras detect motion and record. The system even started recognising faces. I look at the screen and wonder whether I really configured everything myself, or whether the mini PC has already taken over the household and is about to start sending me invoices.

This did not magically turn into a professional surveillance system for free. Two cameras have poor Wi-Fi reception. They will survive until I buy new ones, but it is still far from perfect. Old devices have their limitations, and the fact that I managed to run them in a new environment did not suddenly stop them from being old devices.

Still, it is satisfying. The plan was a temporary solution, and I ended up with a working live view, recording, motion detection and features I had never even considered before. That is exactly why I like tinkering. It does not always end in success. Sometimes it ends with three hours of reading documentation and wondering why I did not simply buy new hardware. This time, to my surprise, damn, it actually works.

An automation that turns off the air conditioner

Once the cameras were in place, I started looking at what else could be connected. That is how an EBERG air conditioner and a MyCond dehumidifier ended up in Apple Home. I have not explored their capabilities very extensively yet. I can control them, and that is all I know today.

I have already built one useful automation. If liquid is detected, for example when the condensate container overflows, the air conditioner will be switched off. This is exactly the kind of automation people imagine when they hear the words “smart home”. I do not need a notification from the fridge telling me that the yoghurt is gone. The point is for a device to stop working if there might be a problem.

Is it polished and tested in every possible situation? No. Everything is still in progress. For now, I have a working setup and an idea that still needs to be tested properly. I am not going to announce that I have built a system resistant to everything after one successful run, because one false alarm is enough for the air conditioner to be switched off by a drop of water that landed in the wrong place.

Home Assistant detected the Brother, so why not AirPrint?

Later, Home Assistant detected my old Brother printer. This was the point where I should have said, “Great, device detection works, I’m going back to my life.” Instead, I wondered whether I could make it work as an AirPrint printer.

And it works. Does it work fully? I do not know yet. This is still being tested, because the simple task of rescuing a few cameras grew into several smaller side projects.

This is probably the best illustration of how the project started growing without asking me first. I was not planning a print server. I was not planning to integrate an air conditioner or a dehumidifier. I was not planning to check whether an old Brother printer would get along with Apple devices. Home Assistant simply detected something, and I started wondering whether I could use it.

Suddenly, you find yourself wondering what else could be connected. This is no longer just “I’ll fix a camera”. It is a state of mind in which every device in the house looks like a potential target for another evening spent with Docker.

It is still a temporary solution

I am not claiming that the old YI cameras will work forever now. Their image quality is no longer brilliant, two of them have Wi-Fi reception problems, and the whole setup still needs testing. This is a bridge until I buy a new system.

When the time comes to replace them, the next cameras will have to fit into the same ecosystem. I am thinking about BCS or Hikvision, and I want the option of using a convenient live view without being tied to the manufacturer’s original app. If the recordings can also go to iCloud, even better.

I do not have a finished list of requirements that I could print out and stick to the fridge. What else has to work before I can call the project finished? I do not know yet. As Ferdek Kiepski used to say: I have no idea.

Sometimes it is worth tinkering

The best part is that everything started with a simple plan. I did not sit down with a piece of paper and draw up the architecture of a smart home. I wanted to rescue the old cameras before replacing the entire monitoring system. The problem was that using them through the app was getting worse, with another subscription offer appearing at every turn.

Along the way, I used an old mini PC that was already acting as a server for various pseudo-projects. I learned a few more things, set up Home Assistant and Scrypted, brought the cameras into Apple Home, enabled recording to iCloud, started controlling the air conditioner and dehumidifier, and on top of that I am trying to turn the old Brother into an AirPrint printer.

Did I build a finished, perfect smart home? No. Does everything work perfectly? Also no. Do I plan to keep checking what else can be connected? Of course I do, because apparently I cannot see a device being detected and simply leave it alone.

Sometimes it really is worth tinkering. Not always to build a solution that will last for years. Sometimes it is enough to delay buying a new monitoring system, use the hardware you already have and learn something along the way. And if, at the end, you look at the whole thing and say “damn, it actually works”, it was probably a pretty good evening.

Photo of Wojtek Jakieła

Nice of you to read this far.

If you have something to add or just want to say hi, drop me an email. You can also find me on Facebook, YouTube, Instagram, TikTok, LinkedIn and X.