New TP-Link Vigi and InSight camera integration for Home Assistant

Ive created a new Integration for home assistant for my TP-Link Vigi and InSight cameras, Ive been wanting to get these fully integrated for years and reacently set about trying to get them integrated with some of the features that are missing from existing solutions (there arent really any of them).

Allows all the things you would expect:

  • Live stream โ€” HD RTSP stream (stream1) in dashboards and automations via HA's native stream integration
  • Dashboard thumbnails โ€” sub-stream (stream2) used for card previews, reducing CPU load on the host
  • Real-time detection events โ€” motion, person, vehicle, tamper, intrusion, line crossing, smart detection via ONVIF (fires within seconds)
  • Alarm control โ€” enable/disable alarm, sound and light independently; set repeat count (1โ€“50); trigger or stop manually via buttons
  • Night vision mode โ€” switch between IR auto, IR always on, spotlight always on, colour, off
  • PTZ control โ€” pan/tilt/zoom jog buttons, named preset select entity, continuous move service with speed and duration, go-to-preset service
  • TTS announcements (vigicam.speak) โ€” text โ†’ TTS engine โ†’ ffmpeg resampled to 8 kHz mono WAV โ†’ upload to camera โ†’ play; supports any HA TTS engine, repeat count, pause between repeats
  • Pre-recorded file playback (vigicam.play_file) โ€” fetch any audio file (media browser URL, /local/ URL, file path, or external URL), convert via ffmpeg, upload, play; supports repeat and pause
  • Raw audio slot management โ€” upload (vigicam.upload_audio), play (vigicam.play_audio), delete (vigicam.delete_audio) custom slots 101โ€“103 and built-in alarm/ring tones
  • Speaker volume โ€” number entity (0โ€“100%)
  • Microphone mute / Speaker mute โ€” switches
  • Motion sensitivity โ€” number entity (0โ€“100)
  • Spotlight intensity โ€” number entity (levels 1โ€“4)
  • Status LED โ€” switch
  • SD card monitoring โ€” used %, free GB, total GB, status sensor, loop recording binary sensor
  • Diagnostics โ€” firmware version, IP address, connection type (DHCP/Static), MAC address (all hidden by default, enable per-entity)
  • Config flow โ€” credentials validated live; device name pulled from camera and suggested during setup; SSL auto-detected (verified first, falls back to self-signed)
  • Blueprints โ€” "Speak on Trigger" (TTS announcement with repeat) and "Play Audio File on Trigger" (media file playback with repeat), both importable from GitHub
  • HACS compatible โ€” hacs.json, brand icon, versioned releases
  • Multi-camera โ€” each camera is a separate config entry and HA device; entities created dynamically based on what each camera actually supports

One really useful feature is, you can send both TTS messages and audio files to the camera and have it play them via its speaker.

Full details of the integration on the github page GitHub - steveAbratt/VIGICam: Home Assistant custom integration for TP-Link VIGI and InSight cameras ยท GitHub

Only used by myself so far so would be great to get some feedback, I'm sure there are features ive missed or bugs to iron out.

1 Like

Hi.
starting now on HA and trying to use this in order to integrate my VIGI C340 an C240 cameras.
When I try to add camera get connection error despite it's working.

What can I do to get them working?
Thank you.

Suddenly it works.
Is missing to update the firmware to version above 2.1.x to get the OpenAPI feature.

Thank you for your work.