Skip to content

Conversation

@giuliolibrando
Copy link

Added tapo integration with motion events and screnshot.
Addet yi-cam integration, no motion events at this time (could be added using mqtt).
Added go2rtc for bettere stability and fluency on the stream of both camera types

giuliolibrando and others added 24 commits August 29, 2025 12:57
- Add TapoCam class with PullPointManager for real-time motion detection
- Support for stream1/stream2 (HD/sub streams)
- ONVIF integration with onvif-zeep-async library
- Motion detection via RuleEngine events (IsMotion, IsPeople)
- Docker support with Python 3.11 and uiprotect library
- WSDL files for ONVIF compatibility
- Documentation and examples included
- Test scripts for motion detection verification

Tested with Tapo C220/C500 cameras - motion detection working 100%
@mmleczek
Copy link

I was trying to get this working with my Tapo cameras. After multiple attempts, the video stream displayed on the UDM Pro appeared laggy. It looked like the stream was not in a format fully compatible with the UDM Protect.

The issue manifested as a single frame being shown for 2/3 seconds, followed by the next frame partially overlapping with the previous one, creating like a some sort of "ghosting" effect.

I tested it on my Tapo c200 c310 and c520.

@giuliolibrando
Copy link
Author

I was trying to get this working with my Tapo cameras. After multiple attempts, the video stream displayed on the UDM Pro appeared laggy. It looked like the stream was not in a format fully compatible with the UDM Protect.

The issue manifested as a single frame being shown for 2/3 seconds, followed by the next frame partially overlapping with the previous one, creating like a some sort of "ghosting" effect.

I tested it on my Tapo c200 c310 and c520.

@mmleczek are you using go2rtc? you're right, the direct stream from tapo cameras is completely unusable on protect.
With some Tapo c220 and C520 i'm getting better results now with go2rtc+protect than before on go2rtc+frigate, even if stream is still worse than the native app.
The video quality can be inproved a lot via go2rtc but it will not be realtime anymore cause the software will then need more time to process the stream. It depends on what you need to achieve.

@mmleczek
Copy link

@mmleczek are you using go2rtc? you're right, the direct stream from tapo cameras is completely unusable on protect. With some Tapo c220 and C520 i'm getting better results now with go2rtc+protect than before on go2rtc+frigate, even if stream is still worse than the native app. The video quality can be inproved a lot via go2rtc but it will not be realtime anymore cause the software will then need more time to process the stream. It depends on what you need to achieve.

@giuliolibrando Yes I was using go2rtc. Although I was trying this on the HD streams from Tapo cameras and maybe that was the reason why I got those issues. Have you tried it on the stream1 from your cameras?

@giuliolibrando
Copy link
Author

@giuliolibrando Yes I was using go2rtc. Although I was trying this on the HD streams from Tapo cameras and maybe that was the reason why I got those issues. Have you tried it on the stream1 from your cameras?

@mmleczek nope, I only use stream2. With 11 Tapo wifi cameras, 4 Yi, and dozens of IoT devices, the hd stream was causing high airtime usage and packet retransmission on the APs, so I stuck with the sd stream

@mmleczek
Copy link

@mmleczek nope, I only use stream2. With 11 Tapo wifi cameras, 4 Yi, and dozens of IoT devices, the hd stream was causing high airtime usage and packet retransmission on the APs, so I stuck with the sd stream

If I'm gonna have some free time next weekend, I'm gonna try it again with stream2 then. My cameras are all wired (aside for c200) so I didn't had such issues with APs

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

Successfully merging this pull request may close these issues.

2 participants