
Песочница для воспроизведения CVE-2025-55192 на основе workflow GitHub Actions
Пользовательский компонент - Tapo: Cameras Control - для добавления камер, дверных звонков и чимов Tapo в Home Assistant
⭐ Теперь также доступен стрим для устройств без поддержки RTSP или ONVIF.
Скопируйте содержимое папки custom_components/tapo_control/ в папку custom_components/tapo_control/ в вашей папке конфигурации Home Assistant.
HACS — это магазин сообщества для Home Assistant. Вы можете установить HACS, а затем установить Tapo: Camera Control из магазина HACS.
Следующие целевые TCP (v)LAN порты должны быть открыты в брандмауэре, чтобы камера была доступна из Home Assistant:
Чимы:
Камеры и дверные звонки:
Это не WAN-порты, НЕ ОТКРЫВАЙТЕ WAN-порты через проброс портов. Вам может потребоваться открыть (v)LAN порты только если вы понимаете, что всё это означает.
Убедитесь, что в официальном приложении Tapo на вашем смартфоне включена опция Third Party Compatibility.
Tapo App -> Me -> Tapo Lab -> Third-Party Compatibility -> On

Примечание: Требуется версия 3.8.103 или новее.
Добавляйте камеры, дверные звонки или чимы через Интеграции (найдите Tapo: Cameras Control) в интерфейсе Home Assistant. Вы также можете просто нажать кнопку ниже, если у вас настроены редиректы MyHomeAssistant.
Примечание: Существуют и другие интеграции Tapo, убедитесь, что вы выбрали Tapo: Cameras Control. В противном случае вы можете выбрать интеграцию для розеток и ламп, или официальную HA, которая имеет минимальный набор функций по сравнению с этой интеграцией по состоянию на декабрь 2024 года.
При интеграции камер, дверных звонков и чимов Tapo убедитесь, что используется ТОЛЬКО одна интеграция. Если одновременно используется несколько, это приведёт к конфликтам и нестабильности соединения с камерой для всех интеграций / сервисов, подключающихся к камере.
Если вы добавляете чим, установите Control Port на 80 вместо 443.
Устройства также автоматически обнаруживаются при (повторном) подключении к WIFI.
Чтобы добавить несколько устройств, добавляйте интеграцию несколько раз.
См. примеры для lovelace карточек.
Этот пользовательский компонент создаёт:
Дверные звонки, Камеры:
Use Stream from Home Assistant в опциях для лучшей производительности и времени работы от батареи.Чимы:
Кроме того, для камер с PTZ доступны следующие сервисы:
Сохраняет текущую позицию PTZ в пресет
Удаляет пресет
Интеграция способна анализировать звук с микрофона камеры и сообщать об обнаруженном шуме через binary_sensor.
Вам необходимо включить эту функцию в опциях интеграции, отметив "Enable sound threshold detection". После включения вы также можете задать любые другие опции, начинающиеся с [Sound Detection]. После любых изменений потребуется перезапуск Home Asssistant.
Для получения дополнительной информации и устранения неполадок см. документацию Home Assistant по ffmpeg, на которой основана эта функция.
Интеграция способна синхронизировать записи для быстрого воспроизведения.
Синхронизация отключена по умолчанию; вы можете просматривать медиа, хранящиеся на камере, и запрашивать их воспроизведение. Однако загрузка довольно медленная, поэтому хорошей идеей будет включить синхронизацию медиа в фоновом режиме. Таким образом, вы сможете мгновенно воспроизводить любое синхронизированное медиа с камеры.
Вы можете включить эту настройку, перейдя в Home Assistant Settings -> Devices & services и нажав на интеграцию Tapo: Cameras control. Там нажмите кнопку Configure рядом с устройством Tapo, для которого вы хотите включить синхронизацию медиа, и выберите Configure media. Здесь вам нужно указать количество часов для синхронизации. Если оно не указано, синхронизация не выполняется. Здесь вы также можете задать путь хранения, куда будут сохраняться синхронизированные записи (по умолчанию /config/.storage/tapo_control).
Наконец, вы можете включить или выключить сущность-переключатель switch.*_media_sync.
Примечание: Записи удаляются по истечении выбранного вами количества часов синхронизации, когда и фактическое время записи, и время изменения файла становятся старше заданного количества часов.
Эта интеграция предоставляет 4 различные сущности камеры:
Прямые потоки используют проприетарный потоковый протокол TP-Link. Непрямые используют стандартный протокол RTSP.
Use Stream from Home Assistant (restart required) в опциях интеграции для максимально быстрой работы). Под капотом новые потоки представляют собой бинарный поток данных "напрямую в ваш браузер", без лишних преобразований и накладных расходов.Если у вас есть возможность использовать RTSP, рекомендуется придерживаться RTSP-потоков.
Датчик движения добавляется только после первого обнаружения движения.
Для него также требуется поддержка ONVIF на устройстве. Если устройство не предоставляет интерфейс Onvif (скорее всего, если оно работает от батареи или от солнца), события движения работать не будут.
/profile. Перейдите в /config/network и в разделе Network Adapter проверьте, что для устройства указан правильный IP. Если он неверный, в разделе Home Assistant URL снимите флажок Automatic рядом с Local Network и укажите http://<some IP address>:8123. НЕ ИСПОЛЬЗУЙТЕ HTTPS.Также убедитесь, что:
Это известная проблема Home Assistant.
Существует возможность отключить использование компонента Stream Home Assistant для камеры, что может значительно снизить задержку ценой более высокой нагрузки на ЦП.
Вы можете отключить компонент stream при добавлении камеры или через Options, если камера уже добавлена. Это изменение требует перезапуска Home Assistant.
У этого могут быть некоторые недостатки, например потеря возможности управления воспроизведением и более высокая нагрузка на ЦП. Результаты зависят от вашего оборудования и будущих обновлений Home Assistant.
Если вы отключите stream и ваше оборудование не справится, вы получите артефакты, большую задержку и зависания.
При желании попробуйте и посмотрите, что лучше всего подходит вам.
Ещё одна возможность — использование WebRTC Camera by AlexxIT.
Пример рабочей конфигурации:``` type: custom:webrtc-camera entity: camera.bedroom_hd
</details>
<details>
<summary>Нет звука в потоке с камеры</summary>
Поддерживаемые аудиокодеки в Home Assistant: "aac", "ac3" и "mp3".
Камеры Tapo используют PCM ALAW (alaw), который не поддерживается.
[Подробнее здесь.](https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/58#issuecomment-762787442)
**Вы можете добиться работы звука с помощью [WebRTC Camera от AlexxIT](https://github.com/AlexxIT/WebRTC).**
Пример рабочей конфигурации:```
type: custom:webrtc-camera
entity: camera.bedroom_hd
Возможно, вы вводите неправильный пароль или столкнулись с ограничением камеры.
Наконец, наиболее вероятная причина — см. официальную документацию Tapo
Q3: Могут ли несколько учётных записей/устройств одновременно просматривать камеру Tapo?
A: В настоящее время каждой камерой может управлять только одна учётная запись в приложении Tapo. Вы можете предоставить доступ к ней не более чем 5 различным учётным записям, и эти две учётные записи могут получать доступ только к функциям просмотра в реальном времени и воспроизведения записей камеры.
Каждая камера также поддерживает до 2 одновременных видеопотоков. Вы можете использовать до 2 устройств для одновременного просмотра прямой трансляции камеры через приложение Tapo или через RTSP. Воспроизведение записей камеры можно просматривать только через одно приложение Tapo за раз.
А также:
Q4: Почему я не могу одновременно использовать Tapo Care, SD-карту и NVR?
A: Из-за ограниченной производительности аппаратного обеспечения самой камеры Tapo Care лучше всего работает с одним из режимов записи — NVR или SD-карта.
Если вы одновременно используете SD-карту и Tapo Care, NVR (RTSP/ONVIF) будет отключён.
Чтобы возобновить запись на NVR, пожалуйста, извлеките SD-карту из камеры.
Пользователи сообщили о полной функциональности со следующими камерами, дверными звонками и чимами Tapo:
Интеграция должна работать с любыми другими устройствами на основе камер Tapo и чимами.
Если у вас всё успешно заработало с какой-либо другой моделью, пожалуйста, сообщите об этом, создав новую issue.
Примечание: Если устройство не предоставляет интерфейс ONVIF (скорее всего, если оно питается от батареи или солнечной панели), события движения работать не будут.
Камера использует стандарт ONVIF для передачи событий движения. Такая связь может работать двумя способами:
Вебхуки являются предпочтительным методом связи, поскольку они быстрее и легче. Тем не менее:
Указанные выше пункты автоматически определяются этой интеграцией, и если HA не соответствует критериям, вебхуки отключаются. Тем не менее:
Для работы вебхуков пользователю нужно лишь убедиться, что он использует HA по HTTP и что HA доступен по передаваемому URL.
Да, интеграция бесплатна и не требует платных подписок. Она также полностью локальна и не требует доступа в интернет ни от камеры, ни от самой интеграции.
Прошивки камер ожидают сообщения в последовательном порядке. Отправка их параллельно может привести к коду 401 от камеры, который отображается у нас этим исключением.
Вместо этого вам нужно отправлять действия автоматизации последовательно, возможно, также с задержкой, если это необходимо.
См. https://github.com/JurajNyiri/HomeAssistant-Tapo-Control/issues/488 для получения дополнительной информации.
Из-за неизвестной первопричины некоторые камеры ведут себя иначе, чем другие, при установке времени через стандарт ONVIF, и до сих пор первопричина не найдена.
Установка времени невозможна через официальное приложение, и эта интеграция использует недокументированную и неподдерживаемую функциональность камеры через стандарт ONVIF.
Если время установлено неверно, например, на 1 час вперёд:
/config/integrations/integration/tapo_control.Configure time synchronization, нажмите Submit.Пожалуйста, откройте новую issue или обсудите на форуме сообщества Home Assistant.
Присоединяйтесь к обсуждению в Discord.
Эта интеграция использует Python-модуль Pytapo, который является неофициальным модулем для обеспечения совместимости с камерами Tapo.
Автор никоим образом не связан с Tp-Link или Tapo.
Все API-запросы, используемые в библиотеке pytapo, доступны и опубликованы в интернете (примеры приведены по ссылкам выше), а модуль pytapo является просто обёрткой над этими https-запросами.
Автор не гарантирует работоспособность этой интеграции и не несёт ответственности за любой ущерб.
Все названия продуктов, товарные знаки и зарегистрированные товарные знаки в этом репозитории являются собственностью их соответствующих владельцев.