[Custom Component] Tapo: Cameras Control

Have not seen your project before now, seems very good with pan/tilt functions and much more.
In my HA production I already have Tapo C200 installed with Onvif, working fine. (Motion detection and video recording)

Just bought Tapo C310 for outdoor, expected they used the same firmware as C200. But no…
Testing with my HA demo server, both Onvif and this Tapo component fails at login.

Any tips for how I can debug this camera to see how the authentication has changed?
Onvif worked when I testet from my Android phone with Onvifer app

update:
Something wrong with my HA test server, Onvif worked on my other HA installation

Use port 2020 for ONVIF this worked for me and I now have the C310 working in ONVIF. Link to guide here: https://www.tp-link.com/uk/support/faq/2748/

Already used port 2020 when I have tested… But thanks for your confirmation that Onvif is working for C310. Now I tested Onvif on my HA production server (where C200 already was added), it worked!

Something buggy with my HA test server, I need to reset it.
Thanks @dp106

Hey, feature request for C310 is opened here https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/41 with all the information currently available.

Version 2.3 :camera:

Description

This release adds supports for the new Tapo C310 and prepares for any other future camera releases on the same firmware.

The difference between C310 and the old cameras is that the C310 no longer accepts account created via the app for control and only uses “admin” user for control. This user has the same password as the one for your cloud account.

However, it is not needed to provide cloud password for cameras which do not require it (determined automatically by the integration).

Your cloud email is not required and all communication is and always will be fully local. Absolutely no cloud / internet requests are made by this integration.

Breaking changes

None. Your settings will be automatically migrated properly.

New config flow

1 - User is required to create account in advanced settings just like before. He is then prompted to enter this username and password. Integration will test these credentials in 2 ways - does rtsp stream work AND does control work?
2 - A.) If control worked, setup is done.
2 - B.) If control did not work, user is required to enter his cloud password - not email as that is not required.
3 - Setup is finished

During the whole process user is now told exactly what kind of account to enter and where to find it.

It is also possible to change any settings set up while adding the device via integration options with a proper error messages for every possible case or camera.

New Features

  • Support for C310
  • New service tapo_control.set_day_night_mode
  • Night mode is displayed now in attributes of entities
  • Checking if device supports ptz, preset etc is now done without determining the camera model

Thank you

I would like to thank Davide Depau for his research and work on pytapo library. Thanks to his research he made this release and a lot of future features possible.

Big thanks also goes to all the testers of C310 who made this release possible.

Buy Me A Coffee

3 Likes

Hi there, I Have set up my camera’s (3xC100 & 1xC200) using this integration (works a treat👍), how do a go about making the devices locally only?

Regards
Marc.

Hi, you do not know what could cause this error. Has anyone solved it? I have the only integration and that is Tapo C200. Thanks

I see a lot of these. I cant find the post where there’s a explanation but if I remember rightly its a combination of things including ffmpeg, the way it handles errors in h.264 streams and TCP versus UDP in the RTSP streams. I’ll try and find the links and share. You should still be able to see the video - its just annoying :slight_smile:

1 Like

Version 2.3.1 has been released today including a fix for username / passwords including special characters. You can now use any username/password allowed by the app.

Call for help for all the python and/or ffmpeg developers / experts who would like to have access to the camera recordings!

We are almost there, but need your help!

See feature request on pytapo if you would like to help.

Thank you! :slight_smile:

1 Like

Hello future visitors :wave:, if Home Asssistant 1.0.0 has been released recently, and you have not yet received an official update for the component, use this version!

2 Likes

Hello,

I can’t add my Tapo C200 in TAPO integration:
Tapo

I have Home Assistant 1.0.0b2 (beta) and TAPO 2.3.2 (HACS).
Can someone help?

Are you using the correct version for HA 1.0.0? See details in post directly above yours :+1:t2:

1 Like

Thanks.
I was trying to configure with HACS and it must to be manual.

1 Like

Hello,
Thanks for the integration. My problem is when i restart home assistant, my c200 camera won’t be available for at least 4-5 hours. I don’t know the exact time span. It changes i guess. Does anyone else have this issue?

Hey, does this only affect only the motion sensor (binary sensor) or the whole camera is unavailable?

Is the camera reachable at that time by vlc for example? The rtsp stream?

The whole camera is unreachable and yes it is accessible by vlc at that moment.

Can you ping the camera from the server where hass is at at that point of time?

And is there anything in the log?

Try using rtsp camera component from HASS and see if that works.

Yes i can ping the camera from the server.
The log says:

Blockquote Logger: custom_components.tapo_control
Source: custom_components/tapo_control/init.py:151
Integration: Tapo: Cameras Control (documentation, issues)
First occurred: 10:50:50 AM (6 occurrences)
Last logged: 10:53:36 AM
-Unable to connect to Tapo: Cameras Control controller: HTTPSConnectionPool(host=‘192.168.0.23’, port=443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.HTTPSConnection object at 0x7f9fa3b738e0>: Failed to establish a new connection: [Errno 113] Host is unreachable’))
-Unable to connect to Tapo: Cameras Control controller: HTTPSConnectionPool(host=‘192.168.0.23’, port=443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.HTTPSConnection object at 0x7f9fa8d0a820>: Failed to establish a new connection: [Errno 113] Host is unreachable’))
-Unable to connect to Tapo: Cameras Control controller: HTTPSConnectionPool(host=‘192.168.0.23’, port=443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.HTTPSConnection object at 0x7f9fa1d97f70>: Failed to establish a new connection: [Errno 113] Host is unreachable’))
-Unable to connect to Tapo: Cameras Control controller: HTTPSConnectionPool(host=‘192.168.0.23’, port=443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.HTTPSConnection object at 0x7f9fa279bac0>: Failed to establish a new connection: [Errno 113] Host is unreachable’))
-Unable to connect to Tapo: Cameras Control controller: HTTPSConnectionPool(host=‘192.168.0.23’, port=443): Max retries exceeded with url: / (Caused by NewConnectionError(’<urllib3.connection.HTTPSConnection object at 0x7f9fa1da57c0>: Failed to establish a new connection: [Errno 113] Host is unreachable’))

I want to be able to control the privacy mode settings from your integration. I set it up to turn on when im home. But even if i dont restart home assistant, the connection to the camera gets lost and comes back again. So the automation wont work at those times.

Hi @JurajNyiri,
Now that the cameras of the Tapo family look almost fully supported have you considered adding support for the remaining products (they basically have a plug and two light bulbs). All other custom components are in very early phase of development. I have plugs (but no bulbs) and if you need someone to test I would be very happy to do so.
Thanks for considering :slight_smile:
Merry Christmas! Boldog Karácsonyt!
Botond

1 Like

Hey, thank you, merry Christmas to you too! :slightly_smiling_face:

AFAIK plugs use a different method of communication and already have an integration. I do not know about the bulps.

It’s hard for me to develop an integration without owning the product and I do not need those right now… For plugs I always stick with the kasa line from tplink (which have its issues right now unfortunately but mine are offline for years now) and bulps are strictly zigbee. If I were to pick up some in the future and the current solutions would not be suitable I would develop a new integration, or maybe expand this one if it would fit.

Anyone with the tapo lineup is free to open prs and I will work with them to get it in, if it fits the scope of integration. Send me a message here or on discord and we can talk.

Right now I am focused on a new zemismart product I bought which is the zemismart floor thermostat - I published integration yesterday for that. In the future I am planning to buy also some covers and blind controllers from zemismart so I might add support for that when I have those.

1 Like