[Custom Component] Tapo: Cameras Control

Hello, this is known issue on Home Assistant, there are several topics about it. Nothing I have a control over.

The same happens with onvif camera component for example.

Hi, I tried setting this up following the instructions. Copied the files over to custom_controls\tapo_control under config, restarted Home Assistant but it’s not showing up in integrations. I do see a warning in the log about tapo_control so it suggests HA has loaded it?! I don’t have any cameras on my network yet if that makes a difference?

Hello, Go to configuration, settings, integrations, click + on the bottom left, look for tapo.

If you do not see it there, you probably didn’t copy all the files to a proper location, make sure all the files are there as seen here: https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/tree/main/custom_components/tapo_control your path should be config(the folder where you have the configuration.yaml file)/custom_components/tapo_control and there for example camera.py and all the others.

If it still doensn’t work try installing via HACS, thats a better way anyways.

Edit: Just saw you copied it to custom_controls, you need to copy to custom_components/tapo_control.

Well bizarrely I tried it again today and it worked fine, didn’t do anything different!

Just successfully added a C100 camera so can confirm that is compatible.

Thanks for your assistance!

I just received my Tapo camera and got it ready to go in a few minutes!

Thanks for the awesome component, the configuration examples and making it so easy and practical to use.

1 Like

where di you purchase it ? :slight_smile:

I purchased it on Amazon Prime Day, was one of the offers here in Brazil.

I just tried to uninstall the component as something went wrong and cam not available anymore. But I can neither add or remove this compnent:

2020-10-22 20:33:48 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 18, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 72, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 89, in delete
    result = await hass.config_entries.async_remove(entry_id)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 642, in async_remove
    unload_success = await self.async_unload(entry_id)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 742, in async_unload
    return await entry.async_unload(self.hass)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 297, in async_unload
    component = integration.get_component()
  File "/usr/src/homeassistant/homeassistant/loader.py", line 414, in get_component
    cache[self.domain] = importlib.import_module(self.pkg_path)
  File "/usr/local/lib/python3.8/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "", line 1014, in _gcd_import
  File "", line 991, in _find_and_load
  File "", line 975, in _find_and_load_unlocked
  File "", line 671, in _load_unlocked
  File "", line 783, in exec_module
  File "", line 219, in _call_with_frames_removed
  File "/config/custom_components/tapo_control/__init__.py", line 7, in 
    from .utils import registerController, getCamData, setupOnvif, setupEvents, update_listener
  File "/config/custom_components/tapo_control/utils.py", line 7, in 
    from homeassistant.components.onvif.event import EventManager
  File "/usr/src/homeassistant/homeassistant/components/onvif/__init__.py", line 4, in 
    from onvif.exceptions import ONVIFAuthError, ONVIFError, ONVIFTimeoutError
ImportError: cannot import name 'ONVIFAuthError' from 'onvif.exceptions' (/usr/local/lib/python3.8/site-packages/onvif/exceptions.py)

Any idea how to remove and readd it?

1 Like

Looking for testers with Tapo C100

for an upcoming release 2.3.

If you are willing to sometime quickly test if everything still works well on C100 before a new major release please come to Discord.

2.3 is going to be pretty exciting :slight_smile:

1 Like

new release only for c100 ?

All the cameras under Tapo, but I do not own C100 so I cannot test it.

your component is really nice! i just was thinking if it would be possible to use it as TTS … well even if the sound seems awful :stuck_out_tongue: or as media player… …

all right… i mean if you have nterest / time … then it might be a nice feature… well if the quality is not that crappy :stuck_out_tongue:

How soon do you need the testers? I have bought a C100 and a C200, but haven’t found the time to even open the box yet. :slight_smile: But I might get the time to set them up this weekend. In that case I would be happy to help with testing.

Thank you! :slight_smile: It will take a couple of days at least to finish the release so no hurry. I will post a zip file on discord channel testing when it is ready.

Hey, thanks for this wonderful component!!!

Quick question, i have already set up the cameras through onvif and they seem to be working fine, so i dont want to mess with that.

I can disable the streams from the component and just keep the motion sensor for each camera right?
I would lose the tpz and other commands functionality though as the services depend on the streams, right?

Thanks in advance and again, thanks for the component!

Hey, you can but then you would have no entity to call in services so the whole integration would not be needed. Onvif also creates motion sensor for the cameras.

Ah so that’s what these were: “MyMotionDetectorRule Cell Motion Detection”
I had disabled them as they stayed on (indicating motion detected) indefinately.

And now that im checking the new sensors (the ones from the tapo component), they also stay on indefinately.
image

Any ideas as to how to troubleshoot? Lower the sensitivity perhaps?

Yeah there was one user who was experiencing the same https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/26.

See the troubleshooting section in readme, play with sensitivity, make sure the camera is set up correctly etc. I am not sure what could be causing this. If you figure it out please let us know!

Probably yes, but might need some work from @JurajNyiri to fully support the C310 as well.