Using Reolink PoE Cameras with HomeKit
Apple’s HomeKit Secure Video offers tight integration with your Apple devices, your smart home and, above all, very strong privacy protection for both your cameras and the video they record. This makes it a popular choice when looking to add security cameras if you run a HomeKit setup. The number of cameras that support the system, though, is a bit limited.
By using a third-party integration tool called Scrypted we can greatly expand our camera options, while still taking full advantage of the security and smart features HomeKit Secure Video provides. While it’s certainly possible to add virtually any security camera, even those from cloud providers like Ring and Arlo, using this tool, the best results are going to come from locally connected, and preferably hard-wired cameras.
What is Scrypted
Scrypted is an open source project dedicated to providing the most comprehensive security camera integration options for any smart home. It's a powerful tool that has rapidly gained features and a dedicated community to overcome the limitations of both cameras and smart home platforms.
Here’s where Reolink come in. Reolink has established a decent reputation in the consumer security camera market by making reliable, high-performance cameras at reasonable prices. They don’t offer much in the way of smart home integration, though, so until now they have needed to be used with either a standalone Network Video Recorder or Reolink’s cloud service.
By integrating these directly into HomeKit we can take advantage of better smart detection options, like vehicle, animal, and package detection, as well as HomeKit’s secure facial recognition to identify known people, plus much tighter integration into our personal devices that allows for things like instant live view and playback right from the notification screen. Reolink has quickly become a favorite of the Scrypted community for reliability and performance through their wired and PoE camera models.
I’m using the excellent RLC-810A as an all-round outdoor security camera, so we’ll run through setting that one up in HomeKit.
How Scrypted Works
Like any service that bridges one technology to another, Scrypted needs to be running all the time. To do this it runs as a server somewhere on your home network and manages communication from your various cameras, formatting and feeding that data to your Apple home hub for use in HomeKit by pretending to be a HomeKit device.
You can run this lightweight server on just about anything, such as Windows, Mac, and Linux, and by extension on the popular Raspberry Pi single board computer platform. You can also run it on several NAS platforms: ReadyNAS, Synology, QNAP, and Unraid. Whatever you run it on, it’s highly recommended to use Ethernet for its network connection.
I like to use Raspberry Pi devices for this kind of thing. Being very compact, low power, quiet and easy to maintain I can tuck it away with my other smart hubs and not worry about it. I keep a regular check on ‘Pi’ availability and prices, this Raspberry Pi starter kit was the best offer going when I last refreshed my links. If you don’t have a Pi already, these Starter kits come with everything you need, plus a pre-imaged memory card with the OS ready to go so you can go right ahead and install Scrypted.
If you have a spare Pi available and want a fresh image on it to install Scrypted, you can get that easily from the free Raspberry Pi Imager. Keep in mind that you’ll need at least a Raspberry Pi 4 as we’re dealing with streaming video processing from, potentially, multiple cameras. Check out my beginners’ guide to setting up your first Raspberry Pi.
Before You Jump In
Scrypted is a power user tool. It's powerful because it offers a lot of options, so you'll need to have some understanding of security camera protocols like RTSP, and logging into a headless server through a web interface.
There is plenty of information available to help you with the tool, setting things up, and troubleshooting any hiccups, but you'll be expected to do your homework before asking questions on the community Discord server.
The Benefits Of Power Over Ethernet For HomeKit
Many security cameras use Wi-Fi to connect to your network. Providing they have a permanent power supply you can still get good performance in HomeKit from these models. If we have to run power to the camera though, we might as well run a network cable instead. Coupled with an inexpensive PoE (Power over Ethernet) switch we can then use a single cable to provide both power and data connectivity to the camera.
Using PoE eliminates the risk of Wi-Fi signal interference, or even jamming by bad actors. This ensures the maximum image quality at all times and allows for faster streaming response as we’re not dealing with any potential radio contention.
Preparing The Camera
Scrypted can use generic protocols like RTSP to connect to most IP-based security cameras, but with Reolink it’s easier thanks to a dedicated Reolink plugin that handles discovery for you. Before we can do that, we need to make sure the camera is ready to accept those connections, and to do that we need to do some basic setup on the camera in the Reolink app.
Install the Reolink app on your iPhone.
Plug the camera into your PoE switch and let it start up.
Go through the add new device steps in the Reolink app to pair it. During this process you’ll create an admin password for the camera.
You can use the settings option on the camera once it’s paired to tweak some preferences like sensitivity, brightness, anti-flicker and so forth. That’s for later, for now just tap the camera itself at the top of the settings page to access the details. Grab the IP address it’s using so we can go to its internal admin interface.
In a web browser just go to http://<ipaddress> and you’ll be presented with a login page. Use the admin password you created when pairing the camera to the app to log in and follow these steps:
Go into the settings by clicking on the large cog wheel in the top right corner.
This will take you to a menu screen. Select Network Settings on the left side.
Click the Set Up button under Port Settings.
In the pop-up that appears, make sure the following are turned on: RTMP, HTTP, RTSP, ONVIF.
Also make sure HTTPS is turned off, this can cause issues.
Click Save to finish.
That’s it, the camera should be ready to connect to Scrypted now.
Setting Up Scrypted
The first thing we need to do is get Scrypted up and running. You’ll want to make sure the Raspberry Pi image has SSH enabled (you can do this using the Raspberry Pi Imager), and you’ll need an SSH client to connect to it initially. I use the free PuTTY client on Windows, but you can use whatever you choose.
The Scrypted Github page has excellent instructions for installing on your chosen platform. In my case this was the Raspberry Pi option. For this we should use the Docker Compose install, this keeps Scrypted in a dedicated software container which makes it easy to maintain and backup.
The install for this option is super simple. Log into your Raspberry Pi via SSH using the admin login you created on first start up. Then you literally just need to copy and paste a few lines from the instruction page to the terminal prompt and let it run.
Once the install is complete, the service will be running at port 10443. Use a browser to go to that port. In named my Raspberry Pi ‘scrypted’ during setup so my example is https://scrypted:10443. Note that the connection is secure but as it’s a local certificate you’ll have to accept the warning in your browser that it’s not verified. This is fine as you’re not connecting to an external server, you know what it is.
You’ll be prompted to create a login for the Scrypted console. This is separate to the admin account on the Raspberry Pi and is used to manage user access to Scrypted itself. You’ll now have access to the Scrypted user interface.
NOTE: As we’ll be using this with HomeKit it is highly recommended to give your Scrypted device a fixed IP address on your router. We can then plug that into Scrypted itself to ensure it’s communicating with your HomeKit home hub reliably. To do that:
Select Plugins from the main menu on the left.
Select Scrypted Core from the list
Enter the IP address for the Scrypted host device (the Raspberry Pi for example) under the General settings box.
Adding Reolink Cameras
Add the plugins
Now we need to install both the HomeKit and the Reolink plugins so we can connect to the camera. Once logged into the Scrypted Management Console just click the Install Plugin button on the Devices page, or the Install button on the Plugins page (these are both on the main menu/hamburger menu on the left).
This will take you to a search screen where you can browse for available plugins. Start with HomeKit by searching for that name. Click install next to the one called @scrypted/homekit. Let it install and then repeat the process by searching for ‘reolink’. You’ll get a couple of hits, click Install next to the one called @scrypted/reolink.
Add the camera
Once the plugins have installed, you’ll find it on them Plugins page. Click on the Reolink plugin to open the settings view for it. Each plugin has important information in a README section on the left, you should always familiarize yourself with that first so you’re aware of any specific limitations or important settings. This can avoid a lot of headaches.
On the right is a PROVIDING THINGS section. This shows the things that this plugin is giving to Scrypted. In the case of a camera plugin like this one, it will show the cameras that have been added. Click the button Add Reolink Camera here.
In the pop-up you just need to enter the admin username and password you created for the camera earlier, and it’s IP Address. The rest you can leave as default. Click Add to finish.
Configure the camera in HomeKit
Go to the Devices page from the main menu to make sure it’s added and click on it from the list. You should see the view from the camera and a SETTINGS section on the left side.
Under this section are settings for the various aspects of the device, since we’ve already installed the HomeKit it should appear as an option here as well. Click the down arrow next to HomeKit and you’ll get the usual HomeKit pairing code. Click on Pairing above that and ensure that Standalone Accessory Mode is selected.
This mode is recommended as it provides a more robust connection with HomeKit for each camera and avoids having everything in Scrypted appear in HomeKit as it would with a regular bridge service. This also gives you more control if you have a service with many cameras along with other devices (like Ring does for example) but you only want specific ones in HomeKit.
You can now use the pairing code to add the camera in the Apple Home app as normal. It will appear as a regular HomeKit Secure Video supported camera and you can then configure the various recording and notification settings as normal in there.
Summary
Wi-Fi security cameras are the norm when it comes to officially certified devices for HomeKit, but there are significant limitations on outdoor cameras models in particular. We can use Scrypted to add full HomeKit support for a wide variety of conventional IP-based security cameras that can plug this gap.
HomeKit puts some extra demands on cameras in order for it to take over local processing of motion events, so wired power is a requirement (you can technically use battery powered models, but the performance is significantly worse). Going with Power over Ethernet to provide that allows us to also do away with the variables of Wi-Fi connections at the same time, improving reliability and cutting down on Wi-Fi bandwidth usage.
Reolink offers a range of proven, reliable, high performance security cameras at reasonable prices, and we can add these to HomeKit using this powerful tool. I’m now using Scrypted to cover various gaps in my security setup where HomeKit cameras can’t, and it’s usually a lot cheaper than the official outdoor rated models as well.
While you can always run into complications with this kind of third-party solution, I’ve found Scrypted to be robust and fairly easy to get things working, especially with the dedicated Reolink plugin. You can always find plenty of help from the community too, so long as you’ve taken steps to help yourself first.