整合

行動應用程式

我們的移動應用程式讓您可以通過本地網路或我們的遠端服務進行連接。它們適用於 Android 和 iOS 設備。

下載 Agent DVR 遠端 Android 應用程式

下載 Agent DVR 遠端 iOS 應用程式

Python包裝器

這裡有一個用於基本 UI 功能的 Python 封裝程式:agent-py

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 右上角的伺服器圖示 ,然後在 System 下選擇「Commands」。快速捷徑是按「Alt-C」。


Agent DVR 包含多個預建命令,可同時控制多部裝置。這些命令利用 API 來執行各種工作。您可以靈活地新增自己的自訂命令,以呼叫 API 或在電腦上執行軟體。

呼叫指令碼檔案

若要執行一般指令碼檔案,只需將 .bat 檔案(或在 Linux/macOS 上的 .sh 檔案)新增到命令目錄中。指令碼的檔案名稱(不含副檔名)將出現在「Commands」清單中,您可以點選以執行。注意:您可能需要重新載入 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的Server菜單中的Integrations下選擇“Alexa”。這將將您重定向到Amazon以連接您的帳戶。

連接後,運行Alexa的發現過程。它應該會找到兩個設備:安全面板和攝像頭控制。

現在,您可以使用以下語音命令:

  • "Alexa,布防Agent進入家庭模式"
  • "Alexa,顯示Agent攝像頭"

在Agent設置中設置您的安全代碼以進行需要驗證的操作。默認代碼為1234。

Alexa配置文件(家庭/離開/夜間)與Agent DVR中的配置文件相匹配。請在Server - Profiles中進行配置。

對於多個服務器,請在設置中設置服務器名稱並在語音命令中使用它。

家庭助理

Agent DVR 完全整合 Home Assistant,讓你可以將 Agent DVR 加入 Home Assistant 設定中。在 lovelace UI 中嵌入 Agent DVR 面板或選擇個別攝影機。同時也包含主安全面板的控制項。如需更多資訊,請參閱「伺服器 - 整合」下的 Home Assistant 連結。

Agent DVR 也可以透過 MQTT 將其裝置發佈到 Home Assistant 作為感測器和開關:請參閱 Home Assistant MQTT 探索

IFTTT(If This Then That)

IFTTT 讓您可以設定與物聯網設備的動作和觸發器。首先,將您的 IFTTT 帳戶與 iSpyConnect.com 進行連結,可在伺服器 - 整合中找到。

推送警報

設置行動推送警示詳情請參閱設置推送警示

Telegram [電報]

Telegram Bot Example

將Agent DVR與Telegram聊天機器人連接,以進行控制和即時警報通知。在設備設置中啟用推送通知以獲取即時警報。首先,在遠程網頁界面的服務器圖標下選擇Telegram按鈕。

Webhook(Discord、Slack 等)

Agent DVR 可以將警報傳送到任何支援傳入 Webhook 的服務,包括 Discord、Slack、Mattermost、Google Chat、Microsoft Teams 和 ntfy。無需連結帳號:在目標服務中建立一個 Webhook URL,Agent DVR 就會直接向其傳送警報,因此在沒有遠端存取的伺服器上也能使用。

所有服務的基本設定相同。編輯攝影機或麥克風,開啟動作頁籤並新增一個動作:

  • 如果:警報(或任何其他事件)
  • 然後:呼叫網址 (URL)
  • URL:服務提供的 Webhook URL
  • 方法:POST
  • 訊息內容 (Body):訊息(各服務的格式見下文)

可以在訊息內容欄位中使用 {NAME}、{MESSAGE}、{AI}、{ZONE} 等標籤動態組成訊息。

JSON 格式的訊息內容需要 Agent DVR v7.8.7.0 或更新版本。舊版本請在標頭欄位加入一行:
Content-Type: application/json

Discord

在 Discord 中開啟頻道設定(齒輪圖示),選擇整合 - Webhook - 新 Webhook,然後點選複製 Webhook 網址。在 Agent DVR 的動作中設定:

  • URL:複製的 Webhook URL
  • 訊息內容 (Body):
    {"content":"{MESSAGE}: {NAME} ({SERVER}) {AI}"}

要在 Discord 訊息中附加快照,請將上傳影像滑桿設為 1 或更多(v7.8.7.0+)。之後的每張影像間隔半秒拍攝。

Slack

api.slack.com/apps 建立一個 Slack 應用程式,啟用 Incoming Webhooks,點選 Add New Webhook to Workspace,選擇頻道並複製 URL(以 hooks.slack.com 開頭)。在 Agent DVR 的動作中設定:

  • URL:複製的 Webhook URL
  • 訊息內容 (Body):
    {"text":"{MESSAGE}: {NAME} ({SERVER}) {AI}"}

Slack 傳入 Webhook 僅支援文字,請將上傳影像保持為 0。

Mattermost

在 Mattermost 中進入主選單 - 整合 - 傳入 Webhook - 新增傳入 Webhook,選擇頻道並複製 URL。訊息內容格式與 Slack 相同:

{"text":"{MESSAGE}: {NAME} ({SERVER})"}

Google Chat

在 Google Chat 聊天室(Workspace 帳號)中點選聊天室名稱,選擇應用程式與整合 - Webhook - 新增 Webhook,然後複製 URL。訊息內容格式與 Slack 相同:

{"text":"{MESSAGE}: {NAME} ({SERVER})"}

Microsoft Teams

在 Teams 中點選頻道旁的三個點,選擇工作流程並新增範本收到 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
  • 訊息內容 (Body):純文字(不是 JSON),例如
    {MESSAGE}: {NAME} ({SERVER})
  • 標頭(可選,每行一個):
    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