オートメーション

カメラの検出イベントを通知、アナウンス、スマートホームに連携します。1 つのルール = トリガー + 条件 + アクション です。

オートメーションルールとは

1 つのルール = トリガー(どのイベントで起動するか)+ 条件(現在の環境が条件を満たすか)+ アクション(何をするか)です。例:「玄関で見知らぬ人を検知し、かつ現在が夜間 → スマートフォンにプッシュ通知 + リビングのカメラでアナウンス」。

Web 管理画面 → オートメーション → 新規ルール。よく使う 13 個のプリセットテンプレート(不審者の来訪、既知の顔の歓迎、転倒アラート、転倒 + HA 照明連動、赤ちゃんの泣き声通知、ジェスチャー SOS アラート、ジェスチャーによるシーン起動、車両到着で HA デバイスをオン、外出時に HA を自動オフ、滞留 Webhook など)が用意されており、選んでパラメータを調整するだけで使えます。空のルールから自分で組み立てることもできます。

トリガー:どのイベントでルールが起動するか

オートメーションはカメラの検出イベントによってのみトリガーされます——「定期実行 / cron」トリガーはなく、「MQTT メッセージ受信」トリガーもありません。トリガーは 2 段構成です:イベントタイプ + 主体フィルター。

イベントタイプ

  • 動体、物体(人 / 車両 / 猫 / 犬など)
  • 顔認識、ナンバープレート認識
  • 転倒、赤ちゃんの泣き声、ジェスチャー
  • エリアへの侵入 / エリアからの退出 / エリアが無人 / 滞留
  • 画面の明暗変化

主体フィルター

イベントタイプに加えて「誰か」をさらに絞り込みます:

  • 任意 — 主体を絞らない
  • 人物 — 任意の人 / 家族のみ / 見知らぬ人のみ(家族の場合は特定の名前も指定可能)
  • 車両 — 任意の車 / 特定のナンバー
  • ジェスチャー — 特定のジェスチャー(SOS、OK、ハートなど)

さらに、トリガー対象のカメラ範囲、敏感エリアの範囲、最低信頼度、クールダウン / スロットリング時間(短時間での繰り返しトリガーを防止)も設定できます。

条件:起動後に環境を再判定する

ルールがイベントによって起動された後、アクションを実行する前に、追加の条件を設定できます(複数の条件は AND 条件で、すべて満たされた場合のみ実行されます)。現在 2 種類あります:

  • 時間帯 — 毎日 HH:MM~HH:MM + 曜日の指定に対応し、0 時をまたぐ設定や否定条件(「勤務時間中は通知しない」)にも対応しています。これは時間帯であり、cron 式ではない点に注意してください。
  • 画面の明暗 — 画面が「暗い」または「明るい」ときのみ通過します。典型的な使い方:「人が入ってきた + 現在は暗い」場合のみ照明を点灯する。
時間は「条件」であって「トリガー」ではありません——ルールは必ず検出イベントによって先に起動され、その後に時間帯内かどうかが判定されます。そのため「毎日 22:00 に自動で何かを行う」といった純粋なスケジュールタスクはオートメーションでは実現できません(対応するカメライベントがなければトリガーされません)。

アクション:ルールが何をするか

1 つのルールに複数のアクションを設定でき、順番に実行されます。全部で 8 種類あります:

アクション説明
スマホ通知ログイン済みのスマホアプリ + Web 管理画面へ通知します。追加設定は不要です
通知チャンネルに送信DingTalk / WeCom / Feishu / Bark / ServerChan / Telegram / Discord / Slack などへ送ります。認証情報は「システム設定 → 通知」で一度だけ設定します。〈通知とプッシュ〉を参照
カメラ音声再生 (TTS)音声を合成し、カメラのスピーカーから再生します
カメラ警報カメラ内蔵の警戒灯 / サイレンを作動させます。対応しているカメラでのみ有効です
カメラライトカメラの白色灯 / 補助灯 / 警戒灯をオン・オフします。対応しているカメラでのみ有効です
Home AssistantHA の service を直接呼び出します:照明の点灯 / スイッチの切り替え / シーンの実行。下記の〈Home Assistant〉を参照してください
Webhook任意の URL に POST します。本文でテンプレート変数が使えます(自前サービス / IFTTT との連携)
MQTT パブリッシュMQTT ブローカーにメッセージを 1 件発行します

テキスト変数

通知テキスト、TTS テキスト、Webhook の body、MQTT の payload、HA のパラメータでは {{変数}} を使用でき、SkyView が実行時にイベントの実際の値に置き換えます。よく使う変数:

変数意味
{{camera_name}}イベントをトリガーしたカメラ名
{{event_type}}イベントタイプ(person / fall / gesture …)
{{face_name}}認識された人物名(顔イベント)
{{zone_name}}トリガーされた敏感エリア名
{{gesture_label}}認識されたジェスチャー(ジェスチャーイベント)
{{event_time_iso}}イベントの発生時刻
{{confidence}}認識の信頼度
必ず二重波括弧 {{camera_name}} で記述してください。単一波括弧 {camera} にしたり、名前を間違えたり({name} など)すると置き換えられず、そのままテキストに表示されてしまいます。

TTS アナウンス

SkyView は音声合成を内蔵しており、処理はすべて SkyView 内部で完結します。外部サービスには依存しません。

  1. 1

    音声を選ぶ

    中国語の音声 6 種類:Xiaoxiao / Yunxi / Yunyang / Xiaoyi / Yunjian / Xiaobei(東北方言)。速度とピッチを調整でき、ルール編集中にブラウザ上で直接試聴できます。

  2. 2

    テキストを書く

    {{変数}}(前節を参照)に対応しています。例:「{{camera_name}} が {{face_name}} を認識しました」。

  3. 3

    アナウンス先のカメラを選ぶ

    アナウンスするカメラは、イベントをトリガーしたカメラと同じである必要はありません(玄関で人を検知して、リビングのカメラからアナウンスすることも可能です)。対象カメラは ONVIF バックチャンネルに対応している必要があります。

  4. 4

    テスト

    保存後、ルールの「テスト」をクリックすると 1 回実行して効果を確認できます。

衝突防止

誰かがトークバックで通話中の場合、オートメーションの TTS はそのまま破棄され、実際の会話を妨げません。

Webhook

DingTalk、WeCom、Feishu、Bark、Telegram に送るのに Webhook を書く必要はありません——「通知チャンネルに送信」アクションを使えば、認証情報を一度設定するだけですべてのルールから選べ、ワンクリックのテストやイベント画像の添付もできます。Webhook は、既成のチャンネルがない相手のために残してあります:自前のサービス、IFTTT、自分で書いたスクリプトなど。

例:イベントを自前のサービスへ POST する場合、ボディテンプレートには次のように入力します:

json
{"event":"{{event_type}}","camera":"{{camera_name}}","time":"{{event_time}}"}

SkyView が {{camera_name}} や {{event_type}} などを実際の値に置き換えてから送信します。JSON ボディ内の変数は自動でエスケープされるため、そのまま使えます。

SkyView が {{camera_name}} や {{event_type}} などを実際の値に置き換えてから送信します。JSON ボディ内の変数は自動でエスケープされるため、そのまま使えます。

Home Assistant

SkyView と Home Assistant には2 通りの連携方法があり、互いに独立しています——どちらか一方だけを使うことも、両方使うこともできます。

方法 1:SkyView が HA を直接制御する(推奨)

SkyView がイベントを検出した際に、照明の点灯 / スイッチの切り替え / シーンの起動を直接行わせます。MQTT は不要です。

  1. 1

    HA で長期アクセストークンを発行する

    Home Assistant → 左下のユーザー名をクリック → セキュリティ → 長期アクセストークン → 作成し、そのトークンをコピーします。

  2. 2

    SkyView に HA の接続情報を入力する

    Web 管理画面 → 設定 → オートメーション → 「Home Assistant」パネルで、HA のアドレス(例:http://homeassistant.local:8123)と先ほどのトークンを入力して保存します。

  3. 3

    ルールに「Home Assistant サービス呼び出し」アクションを追加する

    SkyView が HA からエンティティとサービスの一覧を自動的に取得するため、ドロップダウンから直接選択できます(例:「リビングの照明を点ける」= light.turn_on + 対応する照明エンティティ)。entity_id を手入力する必要はありません。

方法 2:SkyView を HA にセンサーとして組み込む(MQTT)

逆に——HA 側で SkyView のエリア占有センサーを表示し、HA 側でオートメーションを組みたい場合は——MQTT discovery を使用します。

  1. 1

    HA に Mosquitto をインストールする

    HA → 設定 → アドオン → Mosquitto broker を、デフォルト設定でインストールし、ユーザー名とパスワードを控えておきます。

  2. 2

    SkyView で MQTT を設定する

    Web 管理画面 → 設定 → オートメーション → 「MQTT」パネルで、ブローカーのアドレス / ポート / ユーザー名 / パスワードを入力して有効にします。

  3. 3

    自動登録

    SkyView は各敏感エリアの占有状態を binary_sensor として HA に登録し、HA 側ですぐに確認できます。

SkyView に HA を制御させたい(照明の点灯など)→ 方法 1;HA に SkyView のセンサーを使わせたい → 方法 2。ほとんどの方には方法 1 で十分で、より簡単です。

このページは役に立ちましたか?