集成

移动应用程序

我们的移动应用允许您通过本地局域网或我们的远程服务进行连接。它们可用于 Android 和 iOS 设备。

下载 Agent DVR Remote Android 应用

下载 Agent DVR Remote iOS 应用

Python 包装器

这里有一个用于基本UI功能的Python包装器:agent-py

URL 参数

您可以通过调用 Agent DVR 网址(区分大小写)来打开到特定视图的 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 用户界面右上角的服务器图标,并在系统下选择"命令"。快速快捷方式是按"Alt-C"。


Agent DVR 包含几个预建的命令,可以同时控制多个设备。这些命令利用 API 来执行各种任务。您可以灵活地添加自己的自定义命令来调用 API 或在计算机上运行软件。

调用脚本文件

要执行通用脚本文件,只需将 .bat 文件(在 Linux/macOS 上为 .sh 文件)添加到命令目录。脚本的文件名(不包括扩展名)将出现在命令列表中,可以点击运行。注意:您可能需要重新加载用户界面才能显示。

调用 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 中提供的任何命令。

上面的示例命令将激活所有标记为"外部"的设备,停用所有"内部"设备,在"外部"设备上开始录制,并向所有已连接的客户端发送广播消息。

请参考readme命令按钮获取示例以及 API 文档以了解可用命令的列表。

记住在命令中使用&而不是?来分隔参数。

重新加载用户界面后并按"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 的发现过程。它应该会找到两个设备:安全面板和摄像头控制。

现在您可以使用语音命令,例如:

  • "Alexa,启用家庭模式的 Agent"
  • "Alexa,显示 Agent 摄像头"

在 Agent DVR 设置中设置您的安全代码以执行需要身份验证的操作。默认代码是 1234。

Alexa 配置文件(家庭/离开/夜间)与 Agent DVR 中的配置文件相匹配。在服务器 - 配置文件中配置它们。

对于多个服务器,在设置中设置服务器名称,并在语音命令中使用它。

Home Assistant

Agent DVR 与 Home Assistant 完全集成,允许你将 Agent DVR 添加到你的 Home Assistant 设置中。在 lovelace UI 中嵌入 Agent DVR 面板或选择各个摄像头。它还包括对主安全面板的控制。有关更多信息,请参阅服务器 - 集成下的 Home Assistant 链接。

Agent DVR 也可以通过 MQTT 将其设备作为传感器和开关发布到 Home Assistant:请参阅 Home Assistant MQTT 发现

更喜欢用自然语言提问?Agent DVR 还可以与 Claude、ChatGPT 和 Gemini CLI 等 AI 助手配合使用;请参阅连接 AI 助手

ioBroker

ioBroker 用户可以通过社区维护的 ioBroker.agent-dvr 适配器将 Agent DVR 连接起来(也可在 npm 上找到)。它通过本地 HTTP API 与 Agent DVR 通信,因此可与本网络上的免费版本一起使用。

您可以获得的内容

  • 数据点:每个摄像头会自动被发现,其属性(在线、录制、已检测、警报、分辨率等)会镜像为 ioBroker 状态,供脚本和可视化使用。
  • 控件:录制、快照、布防和撤防、打开和关闭、探测器和计划任务开关、灵敏度、带预设的 PTZ 以及系统级布防、撤防、配置文件选择和重启。
  • 实时仪表板和录像文件:ioBroker 提供的内置仪表板,包含每个摄像头的 MJPEG、FLV 或 go2rtc 流,以及带有回放和删除功能的录像文件浏览器。
  • 实时更新:在 Agent DVR 中将适配器的 webhook URL 添加为呼叫 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 问题跟踪器上报告适配器问题。如需在无需端口转发的情况下远程访问完整的 Agent DVR 界面和移动应用,请参阅远程访问

IFTTT(如果这样然后那样)

IFTTT 让你用物联网设备设置操作和触发器。首先将你的 IFTTT 账户与 iSpyConnect.com 关联,可以在服务器 - 集成下访问。

推送警报

有关设置移动推送警报的详细信息,请参见设置推送警报

Telegram

Telegram Bot Example

将 Agent DVR 与 Telegram 聊天机器人连接,以便控制和接收实时警报通知。在设备 "设置" 中启用 推送通知 以获取实时警报。首先在远程网页界面的 "服务器" 图标下选择 Telegram 按钮。

要断开连接 Telegram,您需要使用远程网页门户的 "账户" 菜单。

机器人 "命令"

  • /list - 列出已连接的 "服务器"
  • /command - 向 Agent DVR 服务器发送 "命令"
  • /groupalerts - (在 "组" 中)向此 "组" 发送 "警报"
  • /privatealerts - (在私人聊天中)将 "警报" 发送回此私人聊天

网络钩子(Discord、Slack 等)

Agent DVR 可以向接受传入 Webhook 的任何服务发送警报,包括 Discord、Slack、Mattermost、Google Chat、Microsoft Teams 和 ntfy。无需账户关联:你在目标服务中创建一个 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 - New Webhook,然后复制 Webhook URL。在 Agent DVR 操作中使用:

  • URL:复制的 Webhook URL
  • 正文:
    {"content":"{MESSAGE}: {NAME} on {SERVER} {AI}"}

要将快照附加到 Discord 消息,将上传图片滑块设置为 1 或更多(v7.8.7.0+)。超过第一张的每张图像相隔半秒捕获。

Slack

api.slack.com/apps 创建一个 Slack 应用,启用传入 Webhooks,点击Add New Webhook to Workspace,选择一个频道并复制 URL(它以 hooks.slack.com 开头)。在 Agent DVR 操作中使用:

  • URL:复制的 Webhook URL
  • 正文:
    {"text":"{MESSAGE}: {NAME} on {SERVER} {AI}"}

Slack 传入 Webhook 仅支持文本,所以将"上传图片"保持为 0。

Mattermost

在 Mattermost 中,转到主菜单 - 集成 - 传入 Webhooks - 添加传入 Webhook,选择一个通道并复制 URL。使用与 Slack 相同的正文格式:

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

Google Chat

在 Google Chat 空间(Workspace 账户)中,点击空间名称并选择应用与集成 - Webhooks - 添加 Webhook,然后复制 URL。使用与 Slack 相同的正文格式:

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

Microsoft Teams

在 Teams 中,点击频道旁边的三个点,选择工作流并添加模板在收到 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}
  • 标头(可选,每行一个):
    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 密钥),每行格式为名称:值