行動應用程式
我們的行動應用程式讓您可以透過您的區域網路或透過我們的遠端服務進行連線。它們適用於 Android 和 iOS 裝置。
Python 包裝器
這裡有一個適用於基本使用者介面功能的 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 中任何可用的命令。
上面的範例命令將啟用所有標籤為「external」的裝置、停用所有「internal」裝置、開始在「external」裝置上錄影,以及傳送廣播訊息給所有已連線的用戶端。
請參閱「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 使用者介面中嵌入 Agent DVR 面板或選擇個別攝影機。它也包含主要安全性面板的控制項。如需詳細資訊,請參閱伺服器 - 整合功能下的 Home Assistant 連結。
Agent DVR 也可以透過 MQTT 將其裝置發佈到 Home Assistant 作為感應器和開關:請參閱 Home Assistant MQTT discovery。
偏好用自然語言提問?Agent DVR 也能與 Claude、ChatGPT 和 Gemini CLI 等 AI 助理搭配使用;請參閱連線 AI 助理。
ioBroker
ioBroker 使用者可以透過由社群維護的 ioBroker.agent-dvr 轉接器 (同時也在 npm 上) 連接 Agent DVR。它透過本機 HTTP API 與 Agent DVR 通訊,因此可搭配免費版本在您的網路上運作。
您將獲得什麼
- 資料點:每台攝影機都會自動被發現,其屬性 (線上、錄影中、偵測到、警示、解析度等) 會鏡像為 ioBroker 狀態供指令碼和視覺化使用。
- 控制項:錄影、快照、啟用和停用、開啟和關閉、偵測器和排程切換、靈敏度、含預設值的 PTZ,以及系統範圍的啟用、停用、設定檔選擇和重新啟動。
- 即時儀表板和錄影片段:ioBroker 提供的內建儀表板,具有每台攝影機的 MJPEG、FLV 或 go2rtc 串流,加上錄影片段瀏覽器,支援回放和刪除。
- 即時更新:在 Agent DVR 中將轉接器的 webhook 網址新增為 呼叫網址 (URL) 動作,如此 ioBroker 可在警報和新錄影片段時立即重新整理,而不必等待下一次輪詢。
設定
- 從 ioBroker 管理介面安裝轉接器 (它需要 iobroker.web 轉接器)。
- 在轉接器的「連線」分頁上輸入 Agent DVR IP 位址和連接埠 (預設值 8090)。如果 Agent DVR 已設定登入,請輸入相同的使用者名稱和密碼。
- 使用 Agent DVR v7.8.0.0 或更新版本,以在轉接器的儀表板中進行錄影片段回放。
推送警報
設定行動推送警報的詳細資訊請參閱設定推送警報。
Telegram
使用 Telegram 聊天機器人連線 Agent DVR 以進行控制和即時警報通知。在裝置設定中啟用推播通知以取得即時警報。從遠端網路介面中的伺服器圖示下方選取 Telegram 按鈕即可開始。
機器人指令
- /list - 列出已連線伺服器
- /command - 傳送命令至 Agent DVR 伺服器
- /groupalerts - (在群組中) 將警報傳送至此群組
- /privatealerts - (在私人聊天中) 將警報傳送回此私人聊天
Webhooks(Discord、Slack 等)
Agent DVR 可以將警示傳送至任何接受傳入 Webhook 的服務,包括 Discord、Slack、Mattermost、Google Chat、Microsoft Teams 和 ntfy。不需要帳戶連結:您在目標服務中建立 Webhook 網址,Agent DVR 直接將警示發佈到該網址,所以這也適用於沒有網際網路對外遠端存取的伺服器。
每項服務的一般設定都相同。編輯您的攝影機或麥克風,開啟「動作」標籤,然後新增動作:
- 若:警示(或任何其他事件)
- 然後:呼叫網址 (URL)
- 網址:來自該服務的 Webhook 網址
- 方法:POST
- 訊息內容 (Body):訊息,格式如下方各服務所示
您可以在訊息內容 (Body) 欄位中使用 標籤如 {NAME}、{MESSAGE}、{AI} 和 {ZONE} 來動態建立訊息。
Content-Type: application/json
Discord
在 Discord 中,開啟您的通道設定(齒輪圖示),選擇「整合功能 - Webhook - 新建 Webhook」,然後點擊「複製 Webhook 網址」。在 Agent DVR 動作中使用:
- 網址:複製的 Webhook 網址
- 訊息內容 (Body):
{"content":"{MESSAGE}: {NAME} on {SERVER} {AI}"}
若要將快照附加到 Discord 訊息,請將「上傳影像」滑桿設定為 1 或更高(v7.8.7.0+)。第一張影像之後的每張影像相隔半秒擷取。
Slack
在 api.slack.com/apps 建立 Slack 應用程式,啟用「傳入 Webhook」,點擊「新增 Webhook 到工作區」,選擇通道並複製網址(以 hooks.slack.com 開頭)。在 Agent DVR 動作中使用:
- 網址:複製的 Webhook 網址
- 訊息內容 (Body):
{"text":"{MESSAGE}: {NAME} on {SERVER} {AI}"}
Slack 傳入 Webhook 僅支援文字,所以請將上傳影像保持為 0。
Mattermost
在 Mattermost 中,前往「主選單 - 整合功能 - 傳入 Webhook - 新增傳入 Webhook」,選擇通道並複製網址。使用與 Slack 相同的訊息內容格式:
{"text":"{MESSAGE}: {NAME} on {SERVER}"}
Google Chat
在 Google Chat 空間(工作區帳戶)中,點擊空間名稱並選擇「應用程式與整合功能 - Webhook - 新增 Webhook」,然後複製網址。使用與 Slack 相同的訊息內容格式:
{"text":"{MESSAGE}: {NAME} on {SERVER}"}
Microsoft Teams
在 Teams 中,點擊通道旁的三個點,選擇「工作流程」並新增「在接收到 Webhook 請求時張貼到通道」範本,然後複製其提供的網址。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 無需帳戶即可將推播通知傳送至您的手機,也可自行託管。選擇難以猜測的主題名稱(任何知道它的人都可以訂閱),然後:
- 網址:https://ntfy.sh/your-topic-name
- 訊息內容 (Body):純文字(無 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 以 application/json 傳送 JSON 訊息內容,其他內容則以表單編碼方式傳送。您可以在「標頭」欄位中新增額外標頭(例如 API 金鑰),每行一個格式為「名稱:值」。