Best wired & WiFi cameras for HomeAssistant

Hi all,

Fairly new to HomeAssistant but I’ve managed to get my ring doorbell and honeywell thermostats to work.

I have a bunch of Foscam PT cameras around the house and I see there is “some” support for them but I have get to get them working.

Can some one recommend good, inexpensive wired and WiFi cameras that I can use with HomeAssistant?

Thanks in advance!

1 Like

All of these work with home assistant:

1 Like

Thanks Tom!

1 Like

No worries. Thank the guy who did all the work.

What’s the problem with the Foscam camera’s? I have 6 of them (mostly wired but one is wifi) and they work fine.

Hi finity…

Well I have mostly the FI8910W and I have yet to get them to show a picture in HA.

If there is a hint you could give I’d much rather NOT replace them all.

One forum entry I found mentioned a custom component that worked but the poster did not mention where or what that custom component was.

Any hints would be most appreciated. I can get them to show up but they always show the broken image picture.

My cameras show this:

2019-11-29_7-31-37

So after some more searching and playing I have my foscam cameras working.

I ended up using this code:

camera 3:
  - platform: mjpeg
    mjpeg_url: http://10.2.10.###:###/videostream.cgi?user=USER&pwd=PASS
    name: BasementCam  

This gives a nice image on the main display and clicking on the camera goes live. Thanks to other posters that posted how to do this.

In that same post a user contributed how to use motion with the following YAML:

- platform: command_line
  name: "BasementMotion"
  command: 'curl -k --silent "http://10.2.10.###:####/get_status.cgi?user=USER&pwd=PASS" | grep alarm | cut -b 18'
  value_template: >-
    {%- if value == "0" -%}
      Idle
    {%- elif value == "1" -%}
      Motion
    {%- endif -%}
  scan_interval: 5  

But being a newbie at this I’m unsure where exactly to put this. Does it indent under the camera like:

camera 3:
  - platform: mjpeg
    mjpeg_url: http://10.2.10.###:####/videostream.cgi?user=USER&pwd=PASS
    name: BasementCam    
  - platform: command_line
    name: "BasementMotion"
    command: 'curl -k --silent "http://10.2.10.###:###/get_status.cgi?user=USER&pwd=PASS" | grep alarm | cut -b 18'
    value_template: >-
      {%- if value == "0" -%}
        Idle
      {%- elif value == "1" -%}
        Motion
      {%- endif -%}
    scan_interval: 5   

Or is it its on thing?

Here is the config using the custom component for the Foscam SD camera’s:

camera:
  - platform: foscamsd
    ip: 192.168.1.51
    port: 8001
    username: !secret cam_user
    password: !secret new_cam_pw
    name: Kitchen

It’s also an FI8910W and works great,

Here is the link to the custom component:

Just to note that I believe that repo is no longer being maintained and the author recommends a different solution but I’ve been using that custom component for a long time and it still works fine.

That github file has some basic install instructions but there is one other thing you need that isn’t included. You need to create an empty __init__.py file and place it in the same directory as the camera.py file in your custom component directory.

here is the resulting folder structure you should have (you don’t create the _pycache_ folder - the system creates that):

ex4