[Custom Component] Tapo: Cameras Control

Hi, I’ve recently installed several Tapo C720 floodlight cameras. The native HA integration does not seem to expose a light switch and motion sensors among other entities I’d expect a floodlight camera to expose so I’m using this one.

One thing that is striking me however is that a number of entities seem to be separate from what I see in the Tapo app. The Floodlight and Floodlight (Timed) buttons turn on the floodlight, however the app does not indicate the floodlight is turned on. Similarly, if I turn the floodlight on via the app, it does actually turn on, but the HA switches don’t change.

Also, if the floodlight turns on by its own motion detection, I don’t see the HA switch turn on either.

The spotlight on/off time seems to only relate to the HA Floodlight (Timed) button and not the App’s Floodlight Auto On Duration.

Are these (and other functions) separate from similar functions in the app? I’d like to be able to run an automation on when the light turns on but it appears that unless the person turning it on is HA, the entity doesn’t actually reflect the light’s physical on state.

Hello,
my tapo camera (just one out of three :laughing: ) is proposing a firmware update
image

is this going to break everything? :slight_smile:

Mine recently update and the only issue has been with the C310, which was failing to switch between Night and Day mode.
A fix has been released for that, nothing else observed that impacted operation from my side.

I have mostly TC60s and TC70s running a range of FW and all good.

Hi,

Just added C425 camera and everything seems ok but the only thing is that camera entity is missing for some reason. Has anyone else had success with this camera?

Could you elaborate on what you mean with the camera entity is missing?

I’m having trouble getting image snapshot showing up in the notifications, it just shows blank. The image captures fine in the media folder, and all paths are correct, but still nothing shows. It’s strange as I have the same automation for my Reolink cameras, and it works perfectly fine.

Does the integration use a different path?

alias: Office Cam - Person Detection
description: Office Cam Person detection notification
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.office_cam_person_detection
    to: "on"
    from: "off"
conditions: []
actions:
  - action: camera.snapshot
    metadata: {}
    data:
      filename: /media/Camera/Snapshots/office-cam-person.jpg
    enabled: true
    target:
      entity_id: camera.office_cam_sd_stream
  - action: notify.mobile_app_iphone
    data:
      title: Office Cam
      message: Person detected in the Office
      data:
        data:
          image: /media/local/Camera/Snapshots/office-cam-person.jpg
        url: /lovelace/security
        push:
          interruption-level: time-sensitive
        actions:
          - action: URI
            title: Live View
            icon: sfsymbols:livephoto
            uri: /lovelace/security
            destructive: true

Hi, is there a chance to get a C520WS to run, if i already done a firmware update to 1.1.1 Build 250515 REL 77148n on Hardwareversion 2?
I did this on setup of the App. i thought it is always a god idea to have a current Firmware running…
I get the result that my Tapo Cloud Password is not accepted.
I reduce the Cloud password to lower and upper letters and a number only (remove a ! from the password).
The Camera account ist set, and
in the app i activate the tapo Labor/Kompatibilität mit Drittanbietern (compatibility with third party providers).
The Tapo: Camera Control is never showing my C520Ws from alone, i need to open the page
HACS – Home Assistant
and press the link “Add Integration to my…”. After this, i get the question if i want to configure the Tapo: Camera Control. Now i can enter the IP Adress and the Camera User & Password (i don’t find any other option to start this dialog), then the integration as for the cloud password and reject it with wrong password like in the assigned error discussion.

I can open the stream in VLC in good quality, i can also open something with the HA General Camera integration: Most green, sometimes there is a flash of the correct picture. No option, but HA cann access the camera via it’s Camera credentials.

I am running firmware 1.2.11 with no issue. If you already have Tapo: Cameras Control installed then you should be able to add the camera from Settings > Devices and services > Tapo: Cameras Control and click ‘ADD ENTRY’.

I’ve only ever had issues with the cloud password when I had special characters in it (#), but you seem to have taken care of that.

The only other thing I can think of is that for some cases some time had to pass between setting compatibility with third party providers and it actually working.

Otherwise I litterally just followed the docs step by step and have no issues with the C520WS.

Hi all,

I’m hoping someone can help me get my Tapo wireless cameras working in Home Assistant. I have several Tapo cameras (no RTSP support—just cloud-only models), and I’m struggling to get them integrated with HA.

So far, I’ve tried the built-in integrations and checked out HACS, but most of the solutions I’ve found require RTSP streams, which my camera models don’t support. Ideally, I’d like to have live view and motion/person detection. I have a few TC85s and C425s that I’m looking to get integrated.

Does anyone know of a custom component, workaround, or cloud API method that allows for Tapo camera integration without RTSP?

Any tips, success stories, or links to updated projects would be much appreciated. Thanks in advance!

I was able to get stream on battery powered cameras working inside HA, snapshots, mjpeg stream and h264 stream included (no audio yet, having some issues with that…).

In a current state, it is a bit messy, might make HA unstable, and needs a lot of refactoring, but it works! If someone wants to try it out, see Feature Request: Stream on battery operated cameras · Issue #507 · JurajNyiri/HomeAssistant-Tapo-Control · GitHub

Any feedback to this super early version is welcomed.

I need your help:

This will not work on cameras that work through a hub. If you have such a camera, I can try getting it to work but will need access to it. If you can port forward and are willing to share access to the device, I can try getting it to work. Reach out to me through Discord.

7.0.0 :movie_camera: :one::one::one::zero::zero:

New Features

Stream on battery, solar & hub devices

Integration now supports video stream through proprietary TP-Link protocol - called Direct stream. These Direct stream camera entities will automatically show up as enabled HD (Direct) and SD (Direct) (disabled by default), if RTSP streaming is not available for your camera.
If you have RTSP entities already, Direct entities will be disabled by default, but can be manually enabled.

Why use the new streams?

  1. If you have a device which does not have RTSP functionality, you now have a stream in HA. This includes battery devices, solar devices, as well as devices working through a hub. :exploding_head:
  2. If you have used up all your RTSP streams and/or your RTSP streams are unstable in Home Assistant.
  3. They are extremely fast to load and have less than a half a second delay in stream* (*make sure to DISABLE Use Stream from Home Assistant (restart required) in integration options for the fastest experience and best battery life). Measured delay is lower than RTSP with go2rtc. Under the hood, the new streams are a binary stream of data “straight to your browser”, with no unnecessary translations or overhead.

Why not use the new Direct streams?

If you have an option to use RTSP, consider sticking with RTSP streams.

  1. Direct streams take a bit more CPU resources since the device running this integration is now handling the binary stream directly, instead of camera exposing a standardized RTSP stream.
  2. Direct streams cannot be used with webrtc card, or go2rtc.
  3. RTSP streams are very fast with almost no delay with webrtc camera card

Recording downloads on battery, solar & hub devices & Media Sync

Similarly to streams, recorded videos can now be viewed inside Home Assistant on all cameras out there, including solar, battery, or hub devices.

They can be also automatically synced using the Media Sync.

Fixes

  • Fix #1006: Edge case where adding a camera failed
  • Fix #1001: Edge case where reloading an integration required Home Assistant restart

Thank you

4 Likes

On a C425 the streaming is now working fine but something keeps turning on the floodlights.

Pool Camera Floodlight (Timed) turned on

11:39:44 PM - 3 minutes ago

Pool Camera Floodlight (Timed) turned off triggered by action Light: Turn off

11:38:29 PM - 4 minutes ago -

Pool Camera Floodlight (Timed) turned on

11:37:56 PM - 5 minutes ago

Pool Camera Floodlight (Timed) turned off triggered by action Light: Turn off

11:36:18 PM - 7 minutes ago -

Pool Camera Floodlight (Timed) turned on

11:34:09 PM - 9 minutes ago

This happens with steaming enabled and with streaming disabled

1 Like

This is incredible. The Tapo forum is full of folks (and me) screaming about the bait&switch since Tapo removed RSTP from their battery cameras - removing an existing feature after purchase, for many.

And you … just fixed that! Fast, clean, local stream straight from my C425 battery cam.
Love that it is per device, so my plug-in Tapos can stay on RTSP, but battery one works via their proprietary direct stream.

I have a 2nd C425 with a solar panel still in box which until today, I planned to return. But I guess I’ll install it tomorrow and make it work with this update.

A heartfelt thanks to you!

1 Like

You are absolute right! I checked again the “Checklist”, and i found that i did not disable the “2F Autorisation” in the Tapo App!!! After i disable, the cameras are complete working like a charm in HA!! Thanks!

I added a C520WS outdoor camera into my setup a couple of weeks ago (HAOS in a virtual machine, AgentDVR handling cameras). Getting the detections work properly seemed problematic at first, but noticing Person and Vehicle detection binary sensors were added early this year was wonderful news! I ended up with a setup where Home Assistant enables / disables AgentDVR motion detection based recording when the camera tracks a person or a vehicle, this gives excellent detection reliability and minimal false alerts. I’ve had this running for about a week now; I thought I’d just bring up a couple of things which appear to be quite common for people, but I’m unsure what is currently thought to be causing them.

  1. The binary sensors for motion appear into Home assistant when they are first triggered active. This is all fine and good, but doing an intentional shutdown of HAOS for backup purposes (downtime more than half an hour) caused Home assistant to report them no longer being implemented by the Tapo integration. This is known behavior I think, but in this state the sensors do not get added automatically no matter what I tried, except by completely removing the camera instance from the integration and adding it back again. Curiously, this did not happen on unintentional restart of the HAOS server after power loss. Feels like there is a time threshold in HA after which entities which are not available go into this ‘not existing anymore’ state?

  2. I saw there have been reports of the reported binary state of motion detection getting stuck ‘on’. I understand this could happen when HA misses the ‘off’ event from the motion detector. But right now, for the first time, I noticed this happening in the Person detected-sensor spontaneously - there was no HA restart or anything associated, the state just never went off after person was correctly detected two hours ago and has remained so.

Sorry to possibly repeat old stuff here, this thread is just quite difficult to follow now after 5 years and 1355 messages…

Did you figure this out? I see the similar behavior, I think my floodlight stays on all night now.
Re-charging at the moment, will have to try it next night.

No, I’m using the older version as streaming is not so important to me right now.

Hey all. Just wondering if others are having issues with snapshots being generated as a blank / invalid file?

I’m using the inbuilt snapshot service from home assistant so appreciate not directly related to this integration but the camera bring snapshot is loaded into this integration.

Is C100 still supported ? Suddenly i cant get streams out of it ?