There are multiple ways of bringing a video feed of your surrounding in to Home Assistant. You could buy an RTSP capable security camera, alternatively, you could integrate one of the many cloud service providers, such as Google Nest, or you could even build your own using an ESP32-CAM.
Another option is to use something you might already have lying around unused: an old Android smartphone. Obviously, you will miss out on some features, such as night vision using infrared LEDs, but even older smartphone sensors are capable of producing a fantastic image.
All you need is IP Webcam
All that you need for that to happen is a little app called IP Webcam, which can be downloaded from Play Store. IP Webcam creates a web server that streams the camera’s feed and can be directly integrated with Home Assistant. As an Android app, IP Webcam can access much more than just the smartphone’s camera. Depending on how you set it up, you can have information on motion, sound, battery, and more feed in to Home Assistant.
Once integrated, there will also be numerous switches available for you to use in Home Assistant: You can lock the white balance, control the focus, turn on the phone’s flash LED, and more.
Another feature available, if you install tinyCam Monitor on your main smartphone, is two-way audio. Unfortunately, there is no way of getting this to work from Home Assistant, but the option is there, if you need it.
Be weary of that old battery
Before setting up an old Android smartphone as a security camera, I recommend removing the battery. Older batteries, and those that are on charge 24/7 have a tendency to swell, which in the worst case can lead to fires or explosions. Even smartphones with a non-removable battery cover can be disassembled relatively easily. You are more than likely to find a guide on the web, and a hairdryer usually provides enough heat to soften the adhesive used to attach backplates.
Integrating IP Webcam with Home Assistant
The integration of the IP Webcam Android app with Home Assistant can be as easy as adding two lines of YAML to your Home Assistant configuration. This configuration would allow you to see the camera stream:
android_ip_webcam: - host: 192.168.1.10
The more interesting options are optional, but they are well worth checking out. By enabling logging in the app, Home Assistant will be sent reports on all the sensors you configure. It will report the battery level, temperate, and voltage, the light level, the amount of motion, how noisy the environment is, and more. Just as with the sensors, the switches also need to be enabled individually.