
CVE-2025-55192 再現用 GitHub Actions ワークフローサンドボックス
Tapoカメラ、ドアベル、チャイムをHome Assistantに追加するためのカスタムコンポーネント - Tapo: Cameras Control
⭐ RTSPまたはONVIFに対応していないデバイス向けのストリームも公開されるようになりました。
Home Assistantのconfigフォルダ内のcustom_components/tapo_control/ に、custom_components/tapo_control/ の内容をコピーしてください。
HACSはHome Assistantのコミュニティストアです。HACSをインストールして、HACSストアからTapo: Camera Controlをインストールできます。
以下のTCP (v)LANポートは、Home AssistantからTapoカメラにアクセスするためにファイアウォールで開いている必要があります:
チャイム:
カメラとドアベル:
これらはWANポートではありません。ポートフォワーディングでWANポートを開かないでください。(v)LANポートを開く必要があるのは、このすべての意味を理解している場合だけです。
公式のTapoアプリでサードパーティ互換性がオンになっていることを確認してください。
Tapo App -> Me -> Tapo Lab -> Third-Party Compatibility -> On

注: バージョン3.8.103以降が必要です。
Home Assistant UIの統合からカメラ、ドアベル、チャイムを追加します(Tapo: Cameras Control を検索)。MyHomeAssistantリダイレクトを設定している場合は、下のボタンをクリックするだけでも追加できます。
注: 他のTapo統合もあります。Tapo: Cameras Control を選択してください。そうしないと、コンセントや照明用のもの、または2024年12月時点でこの統合に比べて機能セットが最小限である公式HA統合を選んでしまう可能性があります。
Tapoカメラ、ドアベル、チャイムを統合する際は、1つの統合だけを使用するようにしてください。同時に複数使用すると、カメラに接続するすべての統合/サービスでカメラへの接続の競合や不安定性が発生します。
チャイムを追加する場合は、コントロールポートを443ではなく80に設定してください。
デバイスはWi-Fiに(再接続)接続されると自動的に検出されます。
複数のデバイスを追加するには、統合を複数回追加します。
lovelaceカードの例 を参照してください。
このカスタムコンポーネントは次を作成します:
ドアベル、カメラ:
Use Stream from Home Assistant を無効にすることをお勧めします。チャイム:
さらに、PTZ対応カメラでは以下のサービスが利用できます:
現在のPTZ位置をプリセットに保存します
プリセットを削除します
この統合は、カメラのマイクからの音を分析し、検出されたノイズをbinary_sensor経由で公開できます。
統合オプションで「Enable sound threshold detection」にチェックを入れて、この機能を有効にする必要があります。有効にすると、[Sound Detection]で始まる他のオプションも設定できます。変更後はHome Assistantを再起動する必要があります。
この機能のベースとなっているHome Assistant ffmpegドキュメントについては、詳細とトラブルシューティングを参照してください。
この統合は、録画を同期して高速再生を可能にします。
同期はデフォルトでオフになっています。カメラに保存されたメディアを参照して再生を要求できます。ただし、ダウンロードはかなり遅いため、バックグラウンドでメディア同期を有効にすることをお勧めします。そうすれば、同期されたメディアをカメラから即座に再生できます。
この設定は、Home Assistantの設定 -> デバイスとサービス に移動し、Tapo: Cameras control 統合をクリックして有効にできます。そこで、メディア同期を有効にしたいTapoデバイスの横にある Configure ボタンをクリックし、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 の Local Network の横にある Automatic のチェックを外し、http://<some IP address>:8123 に設定してください。HTTPSは使用しないでください。また、以下も確認してください:
これはHome Assistantの既知の問題です。
カメラのHome Assistant Streamコンポーネントの使用を無効にする機能があります。これにより、CPU使用率が高くなる代わりに、遅延を大幅に削減できる可能性があります。
カメラを追加するとき、またはカメラがすでに追加されている場合はオプションから、ストリームコンポーネントを無効にすることを選択できます。この変更にはHome Assistantの再起動が必要です。
これを行うことには、再生制御オプションを失う、CPU使用率が高くなるなどの欠点があるかもしれません。結果はハードウェアと将来のHome Assistantアップデートによります。
ストリームを無効にしてハードウェアが処理に耐えられない場合、アーティファクト、より大きな遅延、フリーズが発生します。
必要に応じて試して、自分に最適な方法を見つけてください。
もう1つの可能性は、AlexxITによるWebRTC Cameraを使用することです。
Example working configuration:``` 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)
**[AlexxIT による WebRTC Camera](https://github.com/AlexxIT/WebRTC) を使うと音声を機能させることができます。**
動作設定例:```
type: custom:webrtc-camera
entity: camera.bedroom_hd
パスワードの入力が間違っているか、カメラの制限に遭遇している可能性があります。
最後に、最も可能性の高い問題については、公式Tapoドキュメントを参照してください。
Q3: 複数のアカウント/デバイスでTapoカメラを同時に視聴できますか?
A: 現在、各カメラはTapo App上の1つのアカウントでのみ制御または管理できます。最大5つの異なるアカウントと共有でき、これらの2つのアカウントはカメラのライブビューと再生機能にのみアクセスできます。
各カメラは最大2つの同時ビデオストリームもサポートしています。Tapo AppまたはRTSPを介して、最大2台のデバイスでカメラのライブフィードを同時に視聴できます。また、一度に1つのTapo Appでのみカメラの再生を視聴できます。
さらに:
Q4: Tapo Care、SDカード、NVRを同時に使用できないのはなぜですか?
A: カメラ自体のハードウェア性能が限られているため、Tapo CareはNVRまたはSDカード録画のいずれかと組み合わせた場合に最適に動作します。
SDカードとTapo Careを同時に使用している場合、NVR(RTSP/ONVIF)は無効になります。
NVRでの録画を再開するには、カメラからSDカードを取り外してください。
以下のTapoカメラ、ドアベル、チャイムで完全な機能が動作するとユーザーから報告されています:
この統合は、他のTapoカメラベースのデバイスやチャイムでも動作する_はず_です。
他のモデルで動作した場合は、新しいissueで報告してください。
注:デバイスがONVIFインターフェースを公開していない場合(バッテリー駆動またはソーラー駆動の場合に最も多い)、モーションイベントは機能しません。
カメラはONVIF標準を使用してモーションイベントを通信します。この通信には2つの方法があります:
Webhookはより高速で軽量なため、推奨される通信方法です。ただし、以下の点に注意してください;
上記の点はこの統合によって自動的に判断され、HAが基準を満たさない場合、webhookは無効になります。ただし、以下の点に注意してください;
Webhookを機能させるために、ユーザーが行う必要があるのは、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: Community Forumで議論してください。
Discordで議論に参加してください。
この統合は、Tapoカメラとの相互運用性を実現するための非公式モジュールであるPythonモジュールPytapoを使用しています。
作者はTp-LinkまたはTapoとは一切関係ありません。
pytapoライブラリ内で使用されるすべてのAPIリクエストはインターネット上で公開されており(上記のリンクされた例)、pytapoモジュールはそれらのhttpsリクエストの単なるラッパーに過ぎません。
作者はこの統合の機能を保証せず、いかなる損害についても責任を負いません。
このリポジトリ内のすべての製品名、商標、登録商標は、それぞれの所有者の財産です。