【Home Assistant(Hass.io)】
ほったらしのネットワークカメラtp-link C200を接続!
「Home Assistant(Hass.io)でホームオートメーション 再起動!」シリーズです。
『「Amazonプライムデーで、Alexaとつながるスマートデバイスが特集されていました。tp-linkのネットワークWifiカメラTapo C200も3000円ちょっとという値段で売りに出されてました。ということで」という書き出しをしたためたのが2020年の年末…。一応、操作できるようになったのですが、使いどころ見つけることもなくお蔵入りに。で気が付いたらTapo C210が出る始末。よし「書きかけ記事の消化強化期間中!」ということで Tapo c200をHome Assistantとつないで活用してみましょう!』
と、書き出したのが2022年の1月…。さて今は何年何月何日…。
2020年の年末にTapo C200を買った後、「3Dプリンタ監視用にAmazon FireタブレットにIPカメラのソフトを入れ」⇒「3Dプリンタ制御用のOctoPiにUSBカメラをつなぎ」という3Dプリンタ絡みでカメラをHome Assistantに組み込んだりしました。
しかしながら3Dプリンタまわりは、結局、手作り感の無いAdventurer4に落ち着き*1、お手製IPカメラの出番はなくなりました。
ということで、しばらく放置してましたが、まあ、在宅勤務も少なくなって家を空けることが多くなってきたので、防犯の一環で、Tapo C200をHome Assistantにつないで、パンとかチルトもできる防犯的(?)ネットワークカメラを設置しましょう。
[2023/06/17] 後継機(C210)の設定もしてみました
上記バージョンを前提とした手順です。
(最新版では動かないこともあるかもしれませんが、私が使っている限り、備忘録を兼ねて最新化してゆきたいとは思っています)
tp-link tapo C200 いままでカスタムコンポーネントとかを導入するときは、自分でダウンロードしてフォルダに展開してゴリゴリ自分で設定してきました。そろそろHACS(Home Assistant Community Store)を活用するようにしたいと思います。 「DONWLOAD」をクリックすると「Prerequisites」(前提条件)のページが表示されます。いろいろ書いてありますが、まあ満たせないものは無いと思います。 あとはHACSのページの言うがままですが、ちょこっと画面が変わったりしているので、メモ代わりに実際に行った手順を載せておきます。 次のステップはHACSをDonwload・展開するのですが、私はHassOSを使っているので「Advanced SSH & Web Terminal」アドオンで下記インストールスクリプトを動かしてHome Assistantサーバ上にHACSを展開します。 その後、 これでtapoアプリの出番は終わりです。心配なら、C200がインターネットから(より正確にはtp-linkから)切り離されるように、ルータでIPフィルタ等を掛けておきましょう。これtapoアプリから見えなくなります。 「tapo: Cameras Control」HACSは、結構盛りだくさんのエンティティを生成してくれます。うまく動くようになっているか確認しましょう。 tapo C200で出来ることはほぼココで確認出来るようになっています。 入口監視用に玄関の天井に据え付けたいと思います。C200のセットにはカメラマウント台、マウント用のネジ/アンカーがセットなっているので、他に何も買わなくても壁や天井に据え付けることが出来ます。 マウント台の土台にマウント台をネジ止め(同梱されている木ネジではなく)し、マウント台の土台は愛用のマジッククロス(細い3本のピンを交差するように挿して壁に固定するモノ)で固定する。そして、このマウント台に本体を据え付けるという方式。うまくいけば天井には細かい穴が3 x 4 = 12個開くだけで固定されるはず。 3Dモデリングして印刷した結果は、まあ、こんあ感じ。必要部品一式も並べておきました。 いつも通りThingiverseに部品(.stlファイル)置いておきました。
www.thingiverse.com
「マウント台(製品付属)」を「マウント台の土台(3Dプリント)」にねじ止めします。こんな感じになります。 で、これを玄関の天井の隅にマジックロスのピンで留めます。 C200本体を押し当ててグイっと捻ると固定完了です。 白色で目立たないとは言え、だらーんとぶら下がって来たら目立つので、百均で配線カバーを買ってきて、電源ケーブルはカバーの中を通します。 モーションセンサーで引っかかった時だけmicroSDに録画される仕様です。動画はモーションセンサーに引っかかる前から録画されています。 せっかくパン(左右)、チルト(上下)出来るカメラなので、Home Assistant上からも操作できるようになると面白いかと。 ダッシュボード(lovelace)でpicture-elementsカードで下記の設定をすると、上の画面が作れます。 色々できそうなので、例えば留守状態の時にモーションセンサーが反応したら通知を送って動画を確認するとか、やってみたいですね。あとは庭に設置して、芝生にアレを残してゆくネコを特定!とか(3000円の超音波発生装置を設置してから、被害は減りましたが)。 下記を見るに、「モーションセンサーは初めてモーションを検知した後に生えますよ(Motion sensor is added only after a motion is detected for the first time.)」とある。 が一向にモーションセンサーが生えない。なぜ? 【警告!】(ハードウェアの違い(Ver.1~Ver.3)でいろいろ違いありますが)C200ではとりあえず最新のファームウェアにしないこと! ということで残念ながら、Home Assistantでは、私の「最新化されたC200」はすぐにはモーションセンサーは使えない様子。 まあ当面は監視カメラ(人力)ということで、玄関以外のどこかに置いておきましょうか。しかし、ううむ、モーションセンサー…C210でも買うか。 さて乞うご期待!(って何を) *1:Adventurer4は非常に快適。3Dプリンタを楽しむのではなく、3Dプリンティングを楽しむことが出来ます。 *2:入国審査のカードのようなものですね「過去に悪いことをしていませんか」などなど *3:以前はこの画面に「送信(Submit)」があり、GitHubにコードを入れるまで「押すな!」と言われてましたが、送信ボタン無くなっている様子。そりゃ「押すな」と言われたら「押しちゃう」よねぇ。 *4:"hacsを許可する”なんていうと、ちょっとドキドキ。まあ、hacksではないので、良いのですが…。 *5:ああ、tapoアプリで設定している時に「お、最新ファームあるじゃん、インストールしちゃえ」と入れたやつ…えー、うそ。ぐったり。
maky-ba.hatenablog.com
この記事の前提条件
Home Assistant
2023.5.4
HassOS
10.2
Server
Raspberry Pi 4(4GB)
1. 準備
パンチルト ネットワーク Wi-Fiカメラ。1080HD、ナイトビジョン、水平360°・垂直114°の首振り(水平は真後ろ回らないところあるので、350°ぐらいかと…)
Amazon.co.jpでセールで買いました。
Kabenjee 電源延長ケーブル 3m x 2
DC 5.5mm, Φ2.1mmのIPカメラ用延長ケーブル。tp-link/tapoのカメラにぴったり。
Amazon.co.jpで買いました。
2. HACSの導入
hacs.xyz
あ、ここには書いてありませんが(昔は書いてあった気がするのですが)GitHubのアカウントは必須です。もしまだ作っていないなら登録を。既にユーザーならユーザ名・パスワードを思い出しておいてください。wget -O - https://get.hacs.xyz | bash -
今は「設定」⇒「システム」と行くと右上に電源ボタンが表示されるのでそれを押すと「クイックリロード」と「Home Assistantを再起動」が表示されます。再起動を。https://github.com/login/deivce
を開いて、GitHubにログインし、先ほどのコードを入力します。
3. Tapo C200の初期設定
tp-linkが中華系企業でちょっとドキドキ(まあ、大手なのであまり派手に問題なことはできないと思いますが)なのですが、初期設定まではTapoアプリにお世話にならないといけません。
【!!注意!!】「ファームウェアを最新にしますか?」と聞かれても絶対にアップデートしないでください。アップデートすると大変なことになる可能性が…。
設定を変えたくなったらtapoアプリをカメラと同じネットワークにすれば、ネットワーク内で見つけて接続してくれるので大丈夫(?)。4. Home AssistantでのC200初期設定
4.1. HACSの「tapo: Cameras Control」の設定
4.2. 「統合」の確認
5. 据付(天井)
が、借家でもないのに「非浸食型IoT」を標榜している私としては、例によって穴の目立たない方法を考えます。ゴリゴリ穴を開ける人は読み飛ばしてくださいね。5.1. カメラの土台(マウント)を取り付けるマウントの設計と印刷
5.2. マウント台の土台&マウント台の据付とカメラの取り付け
電源ケーブルは白色の延長ケーブルに交換してありますので、あまり目立ちませんね。5.3. ケーブル取り回し
配線カバーはこれを使いました。以前はツルツルしていない壁紙風の配線カバーがあった気がするのですが、無くなってました。百均は一期一会だからなぁ。
6. 動作確認
6.1. 動画ストリーミングを確認
6.2. 録画の確認
7. お試しUIの作成
type: picture-elements
title: tapo C200 HD stream
image: camera.tapo_c200_01_hd_stream
camera_image: camera.tapo_c200_01_hd_stream
camera_view: live
elements:
- type: icon
icon: mdi:arrow-left-drop-circle-outline
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.tapo_c200_01_move_left
style:
bottom: 50%
left: 5%
color: white
transform: translate(-50%, -50%) scale(2, 2)
- type: icon
icon: mdi:arrow-right-drop-circle-outline
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.tapo_c200_01_move_right
style:
bottom: 50%
left: 95%
color: white
transform: translate(-50%, -50%) scale(2, 2)
- type: icon
icon: mdi:arrow-up-drop-circle-outline
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.tapo_c200_01_move_up
style:
top: 10%
left: 50%
color: white
transform: translate(-50%, -50%) scale(2, 2)
- type: icon
icon: mdi:arrow-down-drop-circle-outline
tap_action:
action: call-service
service: button.press
service_data:
entity_id: button.tapo_c200_01_move_down
style:
top: 90%
left: 50%
color: white
transform: translate(-50%, -50%) scale(2, 2)
- type: icon
icon: mdi:home-outline
tap_action:
action: call-service
service: select.select_option
data:
option: home
target:
entity_id: select.tapo_c200_01_move_to_preset
style:
top: 90%
left: 10%
color: white
transform: translate(-50%, -50%) scale(2, 2)
- type: icon
icon: mdi:eye-off-outline
tap_action:
action: call-service
service: select.select_option
data:
option: privacy_mode
target:
entity_id: select.tapo_c200_01_move_to_preset
style:
top: 90%
left: 90%
color: white
transform: translate(-50%, -50%) scale(2, 2)
8. モーションセンサー活用! ⇒ 挫折…
github.com
さらに上記トラブルシューティングを読み進むと「恐ろしいこと」が判明!
ただ先ほど確認した通り、C200自体はモーション検知して録画ファイルを所定の場所に置いています。「モーション検知」の問題ではなくてモーション検知の「通知」の問題ですね。むむ。9. おわりに
https://amzn.asia/d/3UHgJpWamzn.asia