統合

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

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

Agent DVR Remote Android App をダウンロードしてください。

Agent DVR Remote IOS App をダウンロードしてください。

Pythonラッパー

基本的なUI機能のためのPythonラッパーはagent-py で利用できます。

URLパラメータ

エージェントを特定のビューで開くことができます。エージェント DVR の URL を呼び出すときは、次のようにします(大文字と小文字を区別します):

  • ?start=Live&viewIndex=3(ビュー 3 でライブビューを開始)
  • ?start=TimeMachine(タイムマシンビューを開始)
  • ?start=Timeline(タイムラインビューを開始)
  • ?start=Photos(写真ビューを開始)
  • ?start=Recordings(録画ビューを開始)
  • ?start=Floorplans&planIndex=2(プラン 2 上のフロアプランビューを開始)
  • ?start=VR(仮想現実を開始)

特定の言語でエージェント 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

コマンド

Agent DVRのコマンドにアクセスするには、Agent UIの左上にあるサーバーアイコンをクリックし、Systemの下にある「Commands」を選択します。ショートカットキーは「C」を押すこともできます。


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

スクリプトファイルの呼び出し

一般的なスクリプトファイルを実行するには、単にコマンドディレクトリに .bat ファイル(またはLinux/macOSの場合は .sh ファイル)を追加します。スクリプトのファイル名(拡張子を除く)がコマンドリストに表示され、クリックして実行できます。注意:表示されるためにはUIをリロードする必要がある場合があります。

APIの呼び出し

AgentがインストールされているCommandsフォルダに新しい .bat ファイルを作成します。最初の行は次のようになります:

REM ispy-internal

この行は、ファイルがスタンドアロンのアプリケーションとして実行されるのではなく、Agentによって内部的に処理されるべきであることを示しています。

次の行は、Agentの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コマンドボタンを参照してください。

コマンド内のパラメータを区切るために?の代わりに&を使用することを忘れないでください。

UIをリロードし、「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と完全に統合されており、Agent DVRをHome Assistantのセットアップに追加することができます。Agent DVRパネルをLovelace UIに埋め込むか、個々のカメラを選択することもできます。また、メインセキュリティパネルの制御も含まれています。詳細については、サーバーの「Integrations」の下にあるHome Assistantのリンクを参照してください。

IFTTT(If This Then That)

IFTTTはIoTデバイスとアクションやトリガーを設定することができます。最初に、IFTTTアカウントをiSpyConnect.comにリンクさせてください。リンクはサーバー - 統合の下でアクセスできます。

プッシュアラート

モバイルプッシュ通知の設定方法は、プッシュ通知の設定方法に詳細に記載されています。

テレグラム

Telegram Bot Example

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} などのタグを使ってメッセージを動的に組み立てられます。

JSON形式の本文には Agent DVR v7.8.7.0 以降が必要です。それより古いバージョンでは、ヘッダーフィールドに次の行を追加してください:
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行ずつ追加できます。