Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doorbell stream stopped working #846

Closed
chrismorgan opened this issue Jan 30, 2025 · 3 comments
Closed

Doorbell stream stopped working #846

chrismorgan opened this issue Jan 30, 2025 · 3 comments

Comments

@chrismorgan
Copy link

Description

I have a TD21 doorbell which was not working until the new Tapo Android app update. When this was enabled the device was discoverable and I was able to view the streams perfectly well. Something has changed in the overall setup as I am now unable to view the streams at all. I have 2 other Tapo cameras, all working perfectly still.

I am able to add the device still using the cloud password method, but not reconfigure it because the username password fields have no value (probably because this integration method uses the cloud password alone). I can remove and readd the device and the entities are recreated ok, but the streams now never work.

Tapo Cameras Control Integration 6.0.1
Device Firmware: 1.0.13 b 240928
App 3.9.110

Reproduction Steps

  1. Go to Tapo: Cameras control -> Add Entry
  2. Enter IP, cloud password, port 443
  3. Device added, navigate to dashbaord SD stream
  4. Stream not started

Expected behavior

Stream starts and is visible on the dashboard.

If applicable, add error logs.

2025-01-30 17:39:28.232 WARNING (MainThread) [homeassistant.components.camera] Updating tapo_control camera took longer than the scheduled update interval 0:00:30
2025-01-30 17:39:42.584 ERROR (MainThread) [custom_components.tapo_control] [initOnvifEvents] Initiating onvif connection failed.
2025-01-30 17:39:42.585 ERROR (MainThread) [custom_components.tapo_control]
2025-01-30 17:39:44.890 ERROR (MainThread) [custom_components.tapo_control] HTTPSConnectionPool(host='192.168.1.XXX, port=443): Max retries exceeded with url: /stok=XXXXXXXXXXXXXXXXXXX(Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f59275090>: Failed to establish a new connection: [Errno 111] Connection refused'))
2025-01-30 17:39:58.233 WARNING (MainThread) [homeassistant.components.camera] Updating tapo_control camera took longer than the scheduled update interval 0:00:30
2025-01-30 17:40:22.575 WARNING (MainThread) [homeassistant.helpers.entity] Update of siren.tapo_td21_52ab_siren is taking over 10 seconds
2025-01-30 17:40:28.233 WARNING (MainThread) [homeassistant.components.camera] Updating tapo_control camera took longer than the scheduled update interval 0:00:30
2025-01-30 17:40:42.582 ERROR (MainThread) [custom_components.tapo_control] [initOnvifEvents] Initiating onvif connection failed.
2025-01-30 17:40:42.583 ERROR (MainThread) [custom_components.tapo_control]
2025-01-30 17:40:58.234 WARNING (MainThread) [homeassistant.components.camera] Updating tapo_control camera took longer than the scheduled update interval 0:00:30
2025-01-30 17:41:22.577 WARNING (MainThread) [homeassistant.helpers.entity] Update of siren.tapo_td21_52ab_siren is taking over 10 seconds
2025-01-30 17:41:28.235 WARNING (MainThread) [homeassistant.components.camera] Updating tapo_control camera took longer than the scheduled update interval 0:00:30
2025-01-30 17:41:42.585 ERROR (MainThread) [custom_components.tapo_control] [initOnvifEvents] Initiating onvif connection failed.
2025-01-30 17:41:42.586 ERROR (MainThread) [custom_components.tapo_control]
2025-01-30 17:41:58.236 WARNING (MainThread) [homeassistant.components.camera] Updating tapo_control camera took longer than the scheduled update interval 0:00:30
...
2025-01-30 17:50:55.807 WARNING (MainThread) [haffmpeg.tools] Timeout reading image.
2025-01-30 17:50:55.808 WARNING (MainThread) [haffmpeg.core] Timeout while waiting of FFmpeg
Traceback (most recent call last):
File "/usr/local/lib/python3.13/asyncio/subprocess.py", line 201, in communicate
stdin, stdout, stderr = await tasks.gather(stdin, stdout, stderr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/asyncio/subprocess.py", line 181, in _read_stream
output = await stream.read()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/asyncio/streams.py", line 723, in read
block = await self.read(self._limit)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.13/asyncio/streams.py", line 730, in read
await self._wait_for_data('read')
File "/usr/local/lib/python3.13/asyncio/streams.py", line 525, in _wait_for_data
raise RuntimeError(
f'{func_name}() called while another coroutine is '
f'already waiting for incoming data')
RuntimeError: read() called while another coroutine is already waiting for incoming data

Device Firmware

1.0.13 b 240928

Integration Version

6.0.1

Using stream component

Yes

Does camera work via official integrations?

Yes

Camera has all attributes filled out in developer tools

Yes

HASS Environment

Raspberry pi 4, wifi camera link.

Search for similar issues

Yes

Additional information

Entity picture link is there in the dev tool states, along with the access token.

@JurajNyiri
Copy link
Owner

JurajNyiri commented Jan 30, 2025

Hi, you mentioned updating tapo app. Is it possible you updated firmware instead?

I believe I read from other users TPLink removed the RTSP capability from some battery powered devices and I believe that is what happened here based on error message "Failed to establish a new connection: [Errno 111] Connection refused')".

There is nothing to fix here unfortunately, if camera (doorbell) does not expose RTSP stream, stream will not work. You can test it via VLC for example following official TPlink instructions.

As an alternative, you might be able to use go2rtc along with this integration to get a stream through their proprietary protocol which does not use RTSP, but that is out of scope of this integration.

@JurajNyiri
Copy link
Owner

Tapo Cameras Control Integration 6.0.1

Also make sure to update to the latest integration version

@chrismorgan
Copy link
Author

Ah I see, I definitely updated to the new app which allowed the setting of third-party integration, resulting in a few weeks of glorious working streams, but I think left it to auto update the firmware which has removed the rtsp stream. Such a shame! I will test it as you suggest. I'll feedback if successful. Seems like a bit of a dirty trick on their part if it has been removed.

Re-configuration does indeed work after pulling the latest version - hadn't realised I was behind.

Thanks a lot for your time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants