• Using cameras in Home Assistant has improved significantly over the last couple of months with adding of stream component
  • In addition to displaying camera feed, sending snapshots, using as motion detector and running automation routines you can also record video and use for object and face recognition
  • This articles looks at basics how to integrate the security cameras and the advice on the best cameras to use with the Home Assistant
  • Also, please have a look at our list of best hardware for Home Assistant

Our Pick

Best camera for Home Assitant

Amcrest IP3M-943W

Best camera for Home Assitant

Amcrest ticks a lot of boxes for Home Assistant. It is RTSP local stream-enabled, Full HD 1080P @ 30fps and easy to install just few to mention.

$69.98 on Amazon

Another great option is Wyze Pan Cam ($37.98) with similar ease of integration, but with PTZ functionality and more affordable price tag. With new RTSP enabled, it requires only a couple of lines to be added to your configuration files and outstanding camera on its own. If you want to go more fancy, Axis M2025-LE ($359.99) is the best high-end camera due to the amazing quality of video feed, build but high price. And Blink XT2 Outdoor/Indoor Smart Security Camera ($99.99) is the recommended option if you want to have battery operated cameras for Home Assistant (it still last over the year in one charge)

What can you do with cameras in Home Assistant?

Home Assistant recently added a revamped stream component that add ability not only to view your feed via Home Assistant but also record it. This almost allows you to replace software NVRs with Home Assistant. There are still some work to do as stream component is limited to  .264 source streams to the HLS format and requires at least FFmpeg >= 3.2.

In terms of showing the feed in the UI, you can use the following lovelace entities – picture-entitypicture-glance or picture-elements,

  • Notifications: This is the most fundamental and useful feature of integrating cameras to smart hub. Motion and entrance detection is at the heart of any security system but it is a camera that shows you what triggered the alarm. It will help to avoid false alarms or show that you need to call the police immediately
  • Motion Detection: Instead of buying both a motion sensor and a camera, Home Assistant can combine those two functions within your camera. Cool, right? This can save you $30-50 (See our review of best smart sensors). Some cameras would also have a passive motion detection (like Blink XT2) making motion detection with the camera even easier
  • Baby Monitors – you can make the camera an intelligent and smart baby monitor. Build-in motion detection can notify you when the baby is waking up. But even a more efficient way is to link the audio feed from the camera to the home assistant as a sensor. You can be notified or even hear what is happening in your kid’s room if the noise is louder than the threshold. (Audio can also be transmitted to your Chromecast or Google Home). See how to implement using this guide. The only requirement is to have a camera that supports separate audio feed locally (like Amcrest IP3M-943W)
  • Artificial Intelligence – there are a number of existing uses of the AI with the camera feed.  This cool guide is an example of how to set up a routine that can allow the alarm to go on if there is an intrusion in the certain area. Face Counting is another of the intelligent uses of the camera feeds. You can count the number of faces that the camera sees and link to the automation rules. For example, you can pause the movie if someone is leaving for a different room. This can be done by counting the number of faces and triggering an action if it reduced while the movie is on.
  • Face detection is anothercool feature but will need some technical knowledge to set up. This guide is using FaceBox Docker container to build it in.
  • Neural networks in Home Assistant can also extend your camera capabilities. You can use Coral or other hardware add-ons to better use the hardware. Have a look at this guide.

How to select a camera for Home Assistant?

We reviewed 10 main factors to consider when buying a security camera in our practical guide in buying a security camera. Below is a recap of three of them and one additional factors specific to Home Assistant

  • Type of camera to buy: Outdoor/Indoor – outdoor cameras are usually a bit more expensive but have better weather and waterproof protection. Form factor – you can choose a bullet / dome / turret / PTZ/ freestanding. Bullet camera would be by default cheaper cost in the same functionality as a simpler device with no moving parts. PTZ is on the other spectrum and can cover big areas, but significantly more expensive
  • Resolution: 1080p (2k) is the current standard for the indoor camera. It is enough to cover the medium size area, but if you need to cover large rooms or outdoor spaces, consider going to 4k or even 6k resolution. Another consideration is the storage. Higher resolution would require more storage. Network Video Recorder Storage Calculator helps to determine how many terabytes you will likely need. As a crude example, for a single 2-megapixel (1080p) camera at 3 frames per second (analog cameras use 1 FPS) and at the highest video quality you will need 16GB of storage for 24 hours of continuous recording. You can learn more about NVRs in our guide on the best NVRs for your security cameras
  • Wireless or wired: Wireless cameras are easier to install as only require power, but generally considered less reliable. Wired cameras do not depend on the strength of wifi signal and use Ethernet cable to connect to your router. This is more secure option, but wifi cameras significantly improved the reliability. It is also important to make sure you have a good quality powerful router for your smart home. We recommend looking into replacing the stock ISP router with more powerful option like NETGEAR Nighthawk R6700. For wired cameras, we strongly recommend using PoE to power cameras. Please have a look at our guide on What is PoE and Best PoE injectors
  • Integration with Home Assistant: Integration to the camera to Home Assistant is another important factor to consider. It will determine how easy to use the camera in your automations rules and also what camera functionality will be available in Home Assistant.o There are three ways to integrate a camera into Home Assistant:
    • Generic camera means that HA will use http or rstp protocols to connect with cameras. This might require some IT skills, but in principles, you can integrate with almost any generic ONVIF camera and even any other cameras open to local streaming.
    • Native integration. Home Assistant has 40 native camera components. Around 20 of those components are integrations with specific brand cameras like Foscam, Axis, Blink and many others.  This means that connecting the camera to Home Assistant would take a couple of lines in your configuration file. However, not all camera components are equal. Internet dependent cameras like Arlo or Netamo would have limited functionality and only work via the internet connection. The others like Axis or Amcrest can be used as sensors and also function perfectly during the internet outage (which we consider a must for security cameras)
    • NVR – Home Assistant also allows to integrate with cameras through Network Video Recorders and NAS. This means that you will need to set up cameras in your NVR and then integrate NVR into Home Assistant. At the moment, you can do that with ZoneMinder (quite dated software NVR) and Synology NAS.

Different types of security cameras for Home Assistant

We reviewed more than 20 cameras and outlined the best product across four categories. All the cameras below can be used locally i.e. even if you will have an internet outage (or somebody tampers with your internet connection) the cameras will still work. The only exception is Blink camera which is a battery-operated camera.

  • Best affordable camera for Home Assistant – the cameras under $40 which sometimes require some additional workarounds (or flashing firmware). They usually also have less functionality comparing to other options
  • Best mid-range camera – cameras that can be integrated to Home Assistant and offer wide range of functions for automations rules (motion sensors, noise sensors etc)
  • Best battery cameras for Home Assistant – wired cameras for extra resilience for your security system
Also, please have a look at the reviews of the cameras depending on the type of camera you need:

Blue Iris and Home Assistant

Blue Iris is one of the most popular windows based software NVR systems. You can easily integrate your cameras via Blue Iris which has its own benefits. Primarily, this is to do with the fact that Blue Iris has much longer list of cameras you can integrate with.

Below is the primary way you can integrate Blue Iris with Home Assistant:

- platform: generic
  still_image_url: "http://192.168.1.x/image/cameraname"
  stream_source: "http://192.168.1.x/h264/cameraname/temp.m3u8"

For more detailed guidance, please have a look at the detailed instruction on secure and well run integration between the two

One of the weaknesses of Blue Iris is that it does not have an easy to use method of detecting faces. There is a great community guide which uses TensorFlow and Node Red for having that functionality added.

Another good addition is to be able to send Blue Iris camera feeds to the Google Cast. See another great guide how you can do that.

Best camera for Home Assistant: Wyze Indoor Camera

Amazon Reviews:
  • 1080p resolution
  • Pan/Tilt/Zoom
  • Night Vision
  • 2-Way Audio
  • Person Detection

Expert Review

Our pick for the cheapest camera for Home Assistant is Wyze Indoor Camera. Wyze and Amcrest Camras deliver incredible value for money with great resolution, simple integration and additional sensors being available. This camera is the third iteration with the previous two products also being a success.

Wyze Cam Pan brings 360-degree coverage together with 93-degree vertical tilting with the same great 1080 picture quality and good night/day performance. This device would cost you just slightly over $30 and the best option for the indoor camera to act as child or pet monitor or just a general-purpose security camera. Integration with Home assistant is also really good and in addition to the audio and video feed will give you motion tracker and luminance sensors in Home Assistant.

WHAT WE LIKED

  • Good quality 1080 video
  • Impressive night vision
  • Surprisingly simple and easy to use app
  • Great at working with Home Assistant (through custom firmware)

WHAT WE DIDN’T LIKE

  • Audio quality can be improved

Installation and Use

This freestanding camera is simple to use and install. You will need to download the Wyze app to connect it to the wifi and it is pretty much ready to go. The application itself is very intuitive and friendly which is a stark contrast to the application of the majority of camera producers.

The best part comes when you combine the camera with Home Assistant. Integration with cameras is super simple. Just use the code below to add the camera to your hub:

camera:
  - platform: generic
    name: Wyze cam
    still_image_url: http://192.168.1.123/jpg
    stream_source: rtsp://username:[email protected]/live
    verify_ssl: false
Other way to integrate to Home Assistant is to use the custom firmware to connect the camera. The benefit of that is ability to use motion and luminescence sensors in HA. The custom firmware uses MQTT to communicate which simplifies the integration even more. To install it, you need to follow a simple guide. It should not take more than 10 minutes and all you need to do is to use the microSD card to copy the firmware files, modify the configuration to your wifi. After having custom firmware for the camera, MQTT should be enabled in Home assistant and you will see the new entities for all the camera controls and sensors

Compared to Competition

  • If you need a camera with a smaller body, you might look into the other camera from Wyze – Wyze Cam $25.98. It is slightly cheaper at $25 and the only thing missing is pan and tilt functionality.
  • For dome cameras, you might look into Yi Dome $39.99. You can install custom firmware similar Wyze following Yi-Hack-v3 guide
  • We have not identified a cheap outdoor camera for Home Assistant that we are happy to recommend and that is why we suggest looking into Amcrest IP3M-943W $69.98 as a good balance of functionality, weather resistance, and price
  • There are a number of similar cameras like Dahua IPC-HFW1320S, but we have not seen a compelling reason to prefer it over Wyze

Best DIY Camera: Raspberry Pi Camera Module V2-8 Megapixel,1080p + MotionEye

Amazon Reviews:
  • 1080P60, 720P180, 8MP Still
  • 3280 (H) x 2464 (V) Active Pixel Count
  • Maximum of 1080P30 and 8MP Stills

The only additional option we will highlight is Pi Camera with Motioneye OS. If you have raspberry pi lying around (if you like me you probably got a couple of iterations of the Pis) you can invest extra $24 and buy the camera addon. The whole setup up with enclosure, a power supply will not be significantly cheaper but works well if you have unused parts.

MotionEye is a custom build OS, which can be installed under 10 min and have very good UI that enables you to configure fine features of the camera feed. But the best part that it is easy to integrate into Home Assistant using the guide from John in one of the community pages. This turns MotionEye and Raspberry Pi into a reliable, and cheap MQTT camera that is extremely easy to use with any automation rules both in YAML or Node-RED in Home Assistant.

Easy to setup Home Assistant camera: Amcrest IP3M-943W

The cameras above good quality cameras, but require fiddling with custom firmware or webhooks settings to integrate with Home Assistant. There are three main reasons you would want to upgrade to the more expensive camera:

  1. You need higher resolution cameras. 1080p might not be enough if the camera covers bigger areas inside or outside space. In this case 1080p resolution might not allow seeing the details required (faces of potential intruders)
  2. You need an outdoor or high performing PTZ camera
  3. You want out of box integration and do not want to flash custom firmware
Amazon Reviews:
  • 3-Megapixel / 1296P Video at 20fps (2MP/1080p at 30fps)
  • Wide 100º Viewing Angle and waterproof
  • 4 Hours of Free Cloud Storage

Amcrest cameras are one of our favourite brands of cameras (see the review of PoE cameras where Amcrest is our top pick for a couple of categories). Home Assistant offers to a wide range of Amcrest cameras. See more details in the integration guide

WHAT WE LIKED

  • Easy to integrate with Home Assistant
  • Good quality of the picture
  • Great value
  • Mobile applications work really well
  • Access through browser
  • Long power cord

WHAT WE DIDN’T LIKE

  • Concerns with wifi signal strength
  • Poor documentation
  • Cloud storage is expensive

Integration with Home Assistant

Connecting your Amcrest camera to Home Assistant is easy as Home Assistant has an Amcrest component.

Home Assistant can use built-in motion sensor and control PTZ settings.  You can learn more about the integration in the component page or Python Amcrest project. 

amcrest:
– host: IP_ADDRESS_CAMERA_1
  username: YOUR_USERNAME
  password: YOUR_PASSWORD
  sensors:
    – motion_detector
    – sdcard
  switches:
    – motion_detection
    – motion_recording
– host: IP_ADDRESS_CAMERA_2
  username: YOUR_USERNAME
  password: YOUR_PASSWORD
  resolution: low
  stream_source: snapshot
  sensors:
  – ptz_preset

For non-standard port, you can use the following configuration

- platform: generic
  still_image_url: "http://user:[email protected]/cgi-bin/snapshot.cgi"
  stream_source: "rtsp://user:[email protected]:(port)/cam/realmonitor?channel=1&subtype=1"

Alternative Pick CCTV camera for Home Assistant:  Foscam Full HD 1080P WiFi IP Camera

The majority of the Focsam camreas are easy to integrate into Home Assistant. We highlighting two cameras that worked well for the community

Amazon Reviews:
  • Freestanding camera
  • 1080P resolution 1920*1080 at 25FPS
  • Easy to setup
  • Wide angle view

Community guide to connect Foscam C2 to Home Assistant

WHAT WE LIKED

  • Good lens and video quality
  • Mobile applications
  • Works well with other applications (Blue Iris)
  • Good connection
  • IR motion detection

WHAT WE DIDN’T LIKE

  • Installation process can be
    overcomplicated for some models
  • Not Mac friendly
  • Documentation can be improved

Integration with Home Assistant

Foscam cameras work well with Home Assistant and for the majority of the cameras, it just requires a couple of lines of code in your YAML file. There are also a number of phyton scripts that you can integrate Example 1 and Example 2

- platform: foscam
  ip: 192.168.x.xxx
  port: 88
  username: username (no quotes)
  password: password (no quotes)
  name: Living Room

Other Foscam Cameas that work with Home Assistant:

  • Foscam FI8910W – Good freestanding model with good build quality and optics
  • FI9900P – Very good HD (1080P) outdoor bullet style camera

Best battery powered camera for Home Assistant: Blink XT2

Blink is a start-up that was founded in 2008 and was recently acquired by Amazon. It created a whole new niche of security cameras. Cameras are small but do not have the best image quality (720p). It is compensated by the fact that they are battery-operated and do not require power cables.

Blink cameras are perfect options if you want to monitor areas that are only rarely used (garden doors, entrances) or general surveillance which works when armed only. There are two main versions indoor and outdoor with the latter being possible to install outdoors.

WHAT WE LIKED

  • No cables required
  • Easy to install
  • Good mobile application
  • Free 7,200 seconds of cloud

WHAT WE DIDN’T LIKE

  • Battery will drain quick in crowded
    areas
  • Always require internet – no local
    streaming
  • Weak IR sensor
  • No advanced motion detection

Camera use

Blink cameras are very easy to use. Battery lasts at least a year. When armed the camera will send the images and 90 second video clips. In disarmed mode it will be reporting temperature

Dohua Cameras in Home Assistant

Dohua cameras work well with Home Assistant and they are one of the reliable and easy to configure model. As with other models, you can connect the either via ONVIF or Generic camera component.

Advice, quite often Dahua cameras support IVS events you can use a python script to send notifications via MQTT to Home Assistant. Dahua IPC-HFW1320S $129.90 is one of the best dohua cameras you can pick to work with Home Assistant.

Connecting Dohua cameras

See the example of how you can connect to the Home Assistant.

  - platform: generic
    still_image_url: http://x.x.x.x:65004/ISAPI/Streaming/channels/1/picture  
    name: NAME
    username: admin
    password: !secret_dohua
    authentication: digest

Final thoughts

As you see above, there are many great video cameras that you can use with your Home Assistant. You can go DIY way tinkering Wyze Cam and get the most affordable camera for Home Assistant. Amcrest is for ease of integration.

One thing to remember is that despite integrating into Home Assistant you still should make sure the recording of your clips is sorted and also you can quickly watch.

There are a number of NVR options exists.

Frequenly Asked Questions

Can I use cameras with two streams in Home Assistant?

Yes you can. The best way is to identify the right Rtsp profiles and use those in configuration.yaml. See the example for one of the cameras we have:

rtsp://user:[email protected]:10554/Streaming/channels/101 – get the main stream of the 1st channel

rtsp://user:[email protected] x.x.x.x:10554/Streaming/channels/102 – get the sub stream of the 1st channel

Can you use iPhone as camera in Home Assistant?

Yes, you can it is similar to using Android phones. The best way is to install an IP webcam app and pull the mjpeg stream into HA with the generic MJPEG component. See the article for more details.

Can I stream camera feed to Chromecast in Home Assistant?

The new cast component allows you to live stream your video feed to Chromecasts and Google Smart Displays. See the link to this guide for more details.