統合

モバイルアプリケーション

モバイルアプリを使用することで、LAN経由またはリモートサービス経由で接続できます。AndroidおよびiOSデバイスの両方で利用可能です。

Agent DVR Remote Android アプリ をダウンロードします。

Agent DVR Remote iOS アプリ をダウンロードします。

Pythonラッパー

基本的なUI機能用のPythonラッパーがここにあります: agent-py

URLパラメータ

Agent DVRのURLを呼び出して(大文字と小文字を区別します)、特定のビューでAgent DVRを開くことができます:

  • ?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 (タイムマシンビュー)
  • ?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の「コマンド」にアクセスするには、Agent DVR UIの右上にある「サーバー」アイコン をクリックし、「システム」の下から「コマンド」を選択します。クイックショートカットは「Alt-C」キーを押すことです。


Agent DVRには、複数のデバイスを同時に制御できるいくつかのあらかじめ構築されたコマンドが含まれています。これらのコマンドは API を利用してさまざまなタスクを実行します。APIを呼び出したり、コンピュータ上でソフトウェアを実行したりするための独自のカスタムコマンドを追加する柔軟性があります。

スクリプトファイルを呼び出す

汎用スクリプトファイルを実行するには、コマンドディレクトリに .bat ファイル (Linux/macOS では .sh ファイル) を追加するだけです。スクリプトのファイル名 (拡張子を除く) が「コマンド」リストに表示され、クリックして実行できます。注記: UIに表示されるようにするには、再読み込みが必要な場合があります。

APIを呼び出す

Agent DVRがインストールされている「コマンド」フォルダに新しい .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を再読み込みして「Shift-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 のサーバーメニューの統合機能で「Alexa」を選択します。これにより Amazon にリダイレクトされ、アカウントをリンクできます。

リンク後、Alexa の検出プロセスを実行します。セキュリティパネルとカメラ制御の 2 つのデバイスが検出されます。

これで以下のような音声コマンドを使用できます:

  • 「Alexa、Agent をホームモードで有効化して」
  • 「Alexa、Agent カメラを表示して」

認証が必要な操作のために、Agent DVR の設定でセキュリティコードを設定します。既定値のコードは 1234 です。

Alexa プロファイル (ホーム / 外出中 / 夜間) は Agent DVR のものと一致します。サーバー - プロファイルで構成します。

複数のサーバーの場合、設定でサーバー名を設定し、音声コマンドで使用します。

Home Assistant

Agent DVRはHome Assistantと完全に統合され、Home AssistantセットアップにAgent DVRを追加できます。Agent DVRパネルをlovelace UIに埋め込むか、個別のカメラを選択できます。メインセキュリティパネルのコントロールも含まれています。詳細については、サーバー - 統合機能のHome Assistantリンクを参照してください。

Agent DVRはMQTT経由でそのデバイスをセンサーおよびスイッチとしてHome Assistantに公開することもできます。詳細についてはHome Assistant MQTTディスカバリーを参照してください。

平文で質問することをお好みですか?Agent DVRはClaude、ChatGPT、Gemini CLIなどのAI アシスタントでも動作します。AI アシスタントを接続を参照してください。

ioBroker

ioBroker ユーザーは Agent DVR をコミュニティで管理されている ioBroker.agent-dvr アダプター (また npm でも利用可) に接続できます。これはローカル HTTP API を介して Agent DVR と通信するため、独自のネットワークの無料版で動作します。

対応内容

  • データポイント: すべてのカメラは自動的に検出され、そのプロパティ (オンライン、録画、検出、アラート、解像度など) が ioBroker の状態としてスクリプトと可視化で使用するためにミラーリングされます。
  • コントロール: 録画、スナップショット、有効化と無効化、電源のオン・オフ、検出器とスケジュールのトグル、感度、プリセット付き PTZ、およびシステム全体の有効化、無効化、プロファイル選択と再起動。
  • ライブダッシュボードと録画ファイル: ioBroker により提供される組み込みダッシュボード (カメラ別の MJPEG、FLV または go2rtc ストリーム付き)、および再生と削除機能を備えた録画ファイルブラウザー。
  • リアルタイム更新: アダプターの webhook URL を Agent DVR の コール URL アクションとして追加すると、ioBroker はポーリングを待つ代わりにアラートと新しい録画で即座に更新されます。

セットアップ

  • ioBroker 管理からアダプターをインストールします (iobroker.web アダプターが必要です)。
  • アダプターの「接続」タブで Agent DVR の IP アドレスとポート (既定値 8090) を入力します。Agent DVR に ログイン設定 がある場合は、同じユーザー名とパスワードを入力してください。
  • アダプターのダッシュボードで録画再生を行うには、Agent DVR v7.8.0.0 以降を使用してください。
このアダプターは Agent DVR の認証情報を保存し、強力なアクション (録画の削除、サーバーの再起動、プロファイルの変更) を ioBroker の状態として公開します。独自のネットワーク以外からアクセス可能になる前に、ioBroker インストール自体が認証を必要とすることを確認してください。
ioBroker.agent-dvr はコミュニティにより開発・サポートされており、iSpyConnect によってではありません。アダプターの問題は GitHub issue tracker でお知らせください。ポート転送なしで完全な Agent DVR インターフェースとモバイルアプリへのリモートアクセスについては、リモートアクセス を参照してください。

IFTTT (If This Then That)

IFTTTを使用すると、IoTデバイスでアクションとトリガーを設定できます。まずIFTTTアカウントをiSpyConnect.comにリンクして開始します。これはサーバー - 統合機能の下でアクセスできます。

プッシュアラート

モバイルプッシュアラートの設定については、プッシュアラートの設定に詳しく説明されています。

Telegram

Telegram Bot Example

Agent DVR を Telegram チャットボットと接続して、制御とライブアラート通知を行います。ライブアラートを表示するには、デバイス設定でプッシュ通知を有効にしてください。リモート Web インターフェイスの Server アイコンの下にある Telegram ボタンを選択することで開始します。

Telegram を切断するには、リモート Web ポータルのアカウントメニューを使用する必要があります。

ボットコマンド

  • /list - 接続されているサーバーを一覧表示
  • /command - Agent DVR Server にコマンドを送信
  • /groupalerts - (グループ内) このグループにアラートを送信
  • /privatealerts - (プライベートチャット内) このプライベートチャットにアラートを返送

Webhooks (Discord、Slack など)

Agent DVR は Discord、Slack、Mattermost、Google Chat、Microsoft Teams、ntfy など、受信 webhook を受け入れるあらゆるサービスにアラートを送信できます。アカウントのリンクは不要です。対象のサービスで webhook URL を作成し、Agent DVR がそれに直接アラートを投稿するため、インターネットに直面したリモートアクセスがないサーバーでも機能します。

すべてのサービスで基本的なセットアップは同じです。カメラまたはマイクを編集して、アクションタブを開き、アクションを追加します。

  • タイミング: アラート(またはその他のイベント)
  • 次に: コール URL
  • URL: サービスからの webhook URL
  • メソッド: POST
  • 本文: メッセージ。下記の各サービスの説明に従って書式設定

本文フィールドで {NAME}、{MESSAGE}、{AI}、{ZONE} などのタグを使用してメッセージを動的に構築できます。

JSON メッセージの本文には Agent DVR v7.8.7.0 以上が必要です。古いバージョンではヘッダーフィールドに以下の行を追加してください:
Content-Type: application/json

Discord

Discord で、チャンネルの設定(歯車アイコン)を開き、統合機能 - Webhooks - 新しい Webhook を選択してから、Webhook URL をコピーしてください。Agent DVR アクションで以下を使用します。

  • URL: コピーした webhook URL
  • 本文:
    {"content":"{MESSAGE}: {NAME} on {SERVER} {AI}"}

Discord メッセージにスナップショットを添付するには、画像をアップロードスライダーを 1 以上に設定します(v7.8.7.0 以上)。最初の画像を超えた各画像は 0.5 秒ごとにキャプチャされます。

Slack

api.slack.com/appsで Slack アプリを作成し、受信 Webhookを有効にして、ワークスペースに新しい Webhook を追加をクリックし、チャンネルを選択して URL をコピーします(hooks.slack.com で始まります)。Agent DVR アクションで以下を使用します。

  • URL: コピーした webhook URL
  • 本文:
    {"text":"{MESSAGE}: {NAME} on {SERVER} {AI}"}

Slack 受信 webhook はテキストのみであるため、画像をアップロードを 0 のままにしてください。

Mattermost

Mattermost で、メインメニュー - 統合機能 - 受信 Webhook - 受信 Webhook を追加に移動し、チャンネルを選択して URL をコピーします。Slack と同じ本文形式を使用します:

{"text":"{MESSAGE}: {NAME} on {SERVER}"}

Google Chat

Google Chat スペース(ワークスペースアカウント)で、スペース名をクリックして アプリと統合機能 - Webhook - webhook を追加を選択してから、URL をコピーします。Slack と同じ本文形式を使用します:

{"text":"{MESSAGE}: {NAME} on {SERVER}"}

Microsoft Teams

Teams で、チャンネルの横の 3 つのドットをクリックして、ワークフローを選択し、テンプレートwebhook リクエストが受信されたときにチャンネルに投稿するを追加してから、提供された URL をコピーします。Teams ではメッセージをアダプティブカードとして要求します。

{"type":"message","attachments":[{"contentType":"application/vnd.microsoft.card.adaptive","content":{"type":"AdaptiveCard","version":"1.4","body":[{"type":"TextBlock","text":"{MESSAGE}: {NAME} on {SERVER}","wrap":true}]}}]}

ntfy

ntfyは、アカウント不要でスマートフォンにプッシュ通知を送信でき、また自分でホストすることもできます。推測しにくいトピック名を選択してください(それを知っている誰でも購読できます)。その後:

  • URL: https://ntfy.sh/your-topic-name
  • 本文: プレーンテキスト(JSON なし)。例:
    {MESSAGE}: {NAME} on {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 キー)を追加できます。1 行に 1 つの名前: 値形式で指定します。