統合
モバイルアプリケーション
私たちのモバイルアプリは、LAN経由または当社のリモートサービスを介して接続することができます。AndroidおよびiOSデバイスの両方で利用可能です。
Agent DVR Remote Android App をダウンロードしてください。
Agent DVR Remote IOS App をダウンロードしてください。
Pythonラッパー
基本的なUI機能のためのPythonラッパーはagent-py で利用できます。
URLパラメータ
Agent DVR URLを(大文字と小文字を区別)呼び出して、特定のビューを開くことができます:
- ?start=Live&viewIndex=3 (ビュー3でライブビュー)
- ?start=Live&viewIndex=3&ot=2&oid=2&max=true (ビュー3でライブビュー、カメラID 2を最大化)。"oid"はデバイスのオブジェクトID(カメラ編集時にダイアログの上部に表示される)、"ot"はオブジェクトタイプ - 1=マイク、2=カメラです。
- ?start=TimeMachine (TimeMachineビュー)
- ?start=Timeline (タイムラインビュー)
- ?start=Photos (写真ビュー)
- ?start=Recordings (録画ビュー)
- ?start=Floorplans&planIndex=2 (フロアプランビュー、プラン2)
- ?start=VR (バーチャルリアリティ)
Agent DVRを特定の言語で開くことができます(言語選択をスキップ)。2文字の言語コードを渡してください: ?lang=fr
フィルターパラメーターを使用して保存されたフィルターの名前を渡して適用できます - 例: ?start=Recordings&filter=intruder。JavaScriptティックを使用してフィルターの開始時刻と終了時刻も渡すことができます。例 ?start=timeline&from=1657841514949&to=1657852514949。
デフォルトテーマオプションを設定します(テーマオプションはアカウントメニュー - テーマ設定で利用可能):
- ?theme=darkly&variant=dark&large=false
- ?theme=sketchy&variant=primary&large=true
読み込み時に自動的にオーディオを再生(ブラウザー設定の変更も必要な場合があります):
- ?playaudio=true
最小化モードで開始(上下のUIバーが非表示):
- ?mini=true
ローカルユーザー名とパスワードを渡して自動ログイン(注意 - これはネットワークに認証情報を公開します):
- ?un=username&pwd=password
アラートIDでアラートを開きます(アラートJSON内):
- ?alertid=xxx
コマンド
Agent DVRのCommandsにアクセスするには、Agent DVR UIの右上にあるサーバーアイコン をクリックし、System の下の「Commands」を選択します。クイックショートカットは「Alt-C」を押すことです。
Agent DVRには、複数のデバイスを同時に制御できるいくつかの事前構築済みコマンドが含まれています。これらのコマンドは、APIを使用してさまざまなタスクを実行します。コンピューター上のAPIを呼び出したりソフトウェアを実行したりするための独自のカスタムコマンドを追加する柔軟性があります。
スクリプトファイルの呼び出し
汎用スクリプトファイルを実行するには、単にコマンドディレクトリに.batファイル(LinuxまたはmacOSの場合は.shファイル)を追加します。スクリプトのファイル名(拡張子なし)がコマンドリストに表示され、クリックして実行できます。注:表示されるようにUIをリロードする必要がある場合があります。
APIの呼び出し
Agent DVRがインストールされているCommandsフォルダーに新しい.batファイルを作成します。最初の行は以下のようにします:
REM ispy-internal
この行は、ファイルをスタンドアロンアプリケーションとして実行するのではなく、Agent DVRによって内部的に処理されるべきことを示します。
その後の行は、Agent DVR APIのコマンドとして解釈されます。例えば:
REM ispy-internal
switchon&group=external
switchoff&group=internal
record&group=external
broadcast 'external cameras are on and recording'
これらのコマンドは、/command.cgi?cmd=... の形式でAPI呼び出しに追加されます。したがって、APIで利用可能なすべてのコマンドを使用できます。
上記のコマンド例は、「external」というラベルが付けられたすべてのデバイスをアクティブ化し、すべての「internal」デバイスを非アクティブ化し、「external」デバイスでの録画を開始し、接続されたすべてのクライアントにブロードキャストメッセージを送信します。
readmeコマンドボタンを参照して例を確認し、API ドキュメントで使用可能なコマンドのリストを確認してください。
UIをリロードして「Alt-C」を押した後、新しいコマンドがリストに表示されます。クリックして実行してください。
バージョン3.8.1.0以降、コマンドでロケーション名を使用できます(例:switchon&location=home)。最初にデバイスにロケーションを割り当てるだけです!
Amazon Alexa アマゾン アレクサ
バージョン2.9.5.0以降、Agent DVRではAmazon Alexaの統合が提供されています。この機能により、Alexa対応デバイスを通じて音声コマンドでAgent DVRを制御することができます。システムの武装・解除やAlexa Showデバイスでのライブ映像の表示が可能です。
設定するには、Agent DVRのサーバーメニューのIntegrationsで「Alexa」を選択します。これにより、アカウントのリンクのためにAmazonにリダイレクトされます。
リンクが完了したら、Alexaのディスカバリープロセスを実行します。セキュリティパネルとカメラコントロールの2つのデバイスが見つかるはずです。
これで、以下のような音声コマンドを使用できます:
- "Alexa、ホームモードでAgentを武装"
- "Alexa、Agentのカメラを表示"
認証が必要な操作には、Agentの設定でセキュリティコードを設定してください。デフォルトのコードは1234です。
Agent DVRと一致するAlexaプロファイル(ホーム/外出/夜間)を設定します。これらはサーバーのプロファイルで構成します。
複数のサーバーの場合は、設定でサーバー名を設定し、音声コマンドで使用します。
ホームアシスタント
Agent DVRはHome Assistantと完全に統合されており、Home AssistantセットアップにAgent DVRを追加できます。Agent DVRパネルをlovelace UIに埋め込むか、個別のカメラを選択できます。メインセキュリティパネルのコントロールも含まれています。詳細については、Server - Integrationsの下のHome Assistantリンクを参照してください。
Agent DVRはMQTT経由でそのデバイスをセンサーおよびスイッチとしてHome Assistantにパブリッシュすることもできます: Home Assistant MQTT discoveryを参照してください。
IFTTT(If This Then That)
IFTTTはIoTデバイスとアクションやトリガーを設定することができます。最初に、IFTTTアカウントをiSpyConnect.comにリンクさせてください。リンクはサーバー - 統合の下でアクセスできます。
プッシュアラート
モバイルプッシュ通知の設定方法は、プッシュ通知の設定方法に詳細に記載されています。
テレグラム
TelegramチャットボットとAgent DVRを接続して、制御やライブアラート通知を行います。デバイスの設定でプッシュ通知を有効にして、ライブアラートを受け取るようにしてください。リモートWebインターフェースのサーバーアイコンの下にあるTelegramボタンを選択して開始します。
Webhook (Discord、Slack など)
Agent DVRは、Discord、Slack、Mattermost、Google Chat、Microsoft Teams、ntfyなど、受信Webhookに対応した任意のサービスにアラートを送信できます。アカウントの連携は不要です。送信先サービスでWebhook URLを作成すれば、Agent DVRが直接アラートを送信するため、リモートアクセスのないサーバーでも動作します。
基本的な設定はどのサービスでも同じです。カメラまたはマイクを編集し、アクションタブを開いてアクションを追加します:
- If: アラート (または任意のイベント)
- Then: コール URL
- URL: サービスで取得したWebhook URL
- メソッド: POST
- 本文: メッセージ (各サービスの形式は下記参照)
本文フィールドでは {NAME}、{MESSAGE}、{AI}、{ZONE} などのタグを使ってメッセージを動的に組み立てられます。
Content-Type: application/json
Discord
Discordでチャンネルの設定 (歯車アイコン) を開き、連携サービス - ウェブフック - 新しいウェブフックを選択し、ウェブフックURLをコピーします。Agent DVRのアクションでは次のように設定します:
- URL: コピーしたWebhook URL
- 本文:
{"content":"{MESSAGE}: {NAME} ({SERVER}) {AI}"}
Discordのメッセージにスナップショットを添付するには、画像をアップロードスライダーを1以上に設定します (v7.8.7.0+)。2枚目以降の画像は0.5秒間隔で撮影されます。
Slack
api.slack.com/apps でSlackアプリを作成し、Incoming Webhooksを有効にしてAdd New Webhook to Workspaceをクリックし、チャンネルを選んでURLをコピーします (hooks.slack.com で始まります)。Agent DVRのアクションでは次のように設定します:
- URL: コピーしたWebhook URL
- 本文:
{"text":"{MESSAGE}: {NAME} ({SERVER}) {AI}"}
SlackのIncoming Webhookはテキストのみ対応のため、画像をアップロードは0のままにしてください。
Mattermost
Mattermostでメインメニュー - 統合機能 - 内向きのウェブフック - 内向きのウェブフックを追加と進み、チャンネルを選んでURLをコピーします。本文の形式はSlackと同じです:
{"text":"{MESSAGE}: {NAME} ({SERVER})"}
Google Chat
Google Chatのスペース (Workspaceアカウント) でスペース名をクリックし、アプリと統合 - Webhook - Webhookを追加を選択してURLをコピーします。本文の形式はSlackと同じです:
{"text":"{MESSAGE}: {NAME} ({SERVER})"}
Microsoft Teams
Teamsでチャンネル横の3点リーダーをクリックし、ワークフローを選択してテンプレートWebhook要求を受信したらチャネルに投稿するを追加し、表示されるURLをコピーします。TeamsはメッセージをAdaptive Card形式で要求します:
{"type":"message","attachments":[{"contentType":"application/vnd.microsoft.card.adaptive","content":{"type":"AdaptiveCard","version":"1.4","body":[{"type":"TextBlock","text":"{MESSAGE}: {NAME} ({SERVER})","wrap":true}]}}]}
ntfy
ntfy はアカウント不要でスマートフォンにプッシュ通知を送信でき、セルフホストも可能です。推測されにくいトピック名を選んでください (知っている人は誰でも購読できます):
- URL: https://ntfy.sh/your-topic-name
- 本文: プレーンテキスト (JSONではない)、例:
{MESSAGE}: {NAME} ({SERVER}) - ヘッダー (任意、1行に1つ):
Title: Agent DVR Tags: rotating_light Priority: high
スマートフォンにntfyアプリをインストールし、トピックを購読するとアラートを受信できます。
その他のサービス
HTTP POSTを受け付けるものなら何でも同じ方法で動作します。たとえばHome AssistantのWebhookトリガー (http://homeassistant.local:8123/api/webhook/your-id。ただしMQTT連携のほうが高機能です)。Agent DVRはJSON本文をapplication/jsonとして、それ以外はフォームエンコードで送信します。APIキーなどの追加ヘッダーはヘッダーフィールドにName: Valueの形式で1行ずつ追加できます。