모바일 애플리케이션
당사의 모바일 앱을 사용하면 LAN을 통해 또는 당사의 원격 서비스를 통해 연결할 수 있습니다. Android 및 iOS 장치 모두에서 사용 가능합니다.
Agent DVR Remote Android 앱 을 다운로드하세요.
Agent DVR Remote IOS 앱 을 다운로드하세요.
Python 래퍼
기본 UI 기능을 위한 python 래퍼가 여기에 있습니다: agent-py .
URL 매개변수
특정 보기로 Agent DVR를 열려면 Agent DVR url에 다음과 같이 호출하면 됩니다(대소문자 구분):
- ?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 (가상 현실(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"로 레이블이 지정된 모든 장치를 활성화하고, 모든 "내부" 장치를 비활성화하며, "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의 검색 프로세스를 실행하세요. 보안 패널과 카메라 제어 두 가지 장치를 찾을 수 있습니다.
이제 다음과 같은 음성 명령을 사용할 수 있습니다:
- "Alexa, arm Agent in home mode"
- "Alexa, show Agent camera"
인증이 필요한 작업을 위해 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 discovery를 참조하십시오.
평문으로 물어보는 것을 선호하시나요? 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 스트림 포함), 그리고 재생 및 삭제 기능이 있는 녹화 파일 브라우저입니다.
- 실시간 업데이트: 어댑터의 웹훅 URL을 Agent DVR의 호출 URL 동작으로 추가하여 다음 폴링을 기다리는 대신 경고 및 새 녹화 시 ioBroker가 즉시 새로 고쳐지도록 합니다.
설정
- ioBroker 관리 화면에서 어댑터를 설치합니다(iobroker.web 어댑터가 필요함).
- 어댑터의 연결 탭에서 Agent DVR IP 주소 및 포트(기본값 8090)를 입력합니다. Agent DVR에 로그인이 구성되어 있으면 동일한 사용자 이름과 비밀번호를 입력하세요.
- 어댑터의 대시보드에서 녹화 재생을 위해 Agent DVR v7.8.0.0 이상을 사용하세요.
IFTTT (이것이면 그 다음에 저것)
IFTTT를 사용하면 IoT 장치로 동작 목록 및 트리거를 설정할 수 있습니다. 먼저 IFTTT 계정을 iSpyConnect.com과 연결하여 시작하세요. 이는 서버 - 통합 아래에서 액세스할 수 있습니다.
푸시 알림
모바일 푸시 알림 설정에 대한 자세한 내용은 푸시 알림 설정을 참고하십시오.
텔레그램
Agent DVR를 Telegram 챗봇과 연결하여 제어 및 실시간 알림 알림을 받습니다. 장치 설정에서 푸시 알림을 활성화하여 실시간 알림을 받습니다. 원격 웹 인터페이스의 서버 아이콘 아래에서 Telegram 버튼을 선택하여 시작합니다.
봇 명령어
- /list - 연결된 서버 나열
- /command - Agent DVR 서버로 명령어 전송
- /groupalerts - (그룹에서) 이 그룹으로 알림 전송
- /privatealerts - (비공개 채팅에서) 이 비공개 채팅으로 알림 전송
웹훅 (Discord, Slack 및 기타)
Agent DVR는 Discord, Slack, Mattermost, Google Chat, Microsoft Teams, ntfy를 포함하여 수신 웹훅을 허용하는 모든 서비스에 알림을 보낼 수 있습니다. 계정 연결이 필요하지 않습니다. 대상 서비스에서 웹훅 URL을 만들고 Agent DVR이 이를 직접 포스팅하므로, 인터넷에 노출된 원격 액세스가 없는 서버에서도 작동합니다.
모든 서비스의 일반적인 설정은 동일합니다. 카메라 또는 마이크로폰을 편집하고 동작 목록 탭을 열고 동작을 추가합니다:
- 조건: 알림 (또는 다른 이벤트)
- 그 다음에: 호출 URL
- URL: 서비스의 웹훅 URL
- 방법: POST
- 본문: 메시지, 아래 각 서비스에 표시된 형식으로
태그 {NAME}, {MESSAGE}, {AI}, {ZONE}를 본문 필드에 사용하여 메시지를 동적으로 구성할 수 있습니다.
Content-Type: application/json
Discord
Discord에서 채널의 설정(기어 아이콘)을 열고 통합 - 웹훅 - 새 웹훅을 선택한 다음 웹훅 URL 복사를 선택합니다. Agent DVR 동작에서 다음을 사용합니다:
- URL: 복사한 웹훅 URL
- 본문:
{"content":"{MESSAGE}: {NAME} on {SERVER} {AI}"}
Discord 메시지에 스냅샷을 첨부하려면 이미지 업로드 슬라이더를 1 이상으로 설정합니다(v7.8.7.0+). 첫 번째 이미지를 초과하는 각 이미지는 0.5초 간격으로 캡처됩니다.
Slack
api.slack.com/apps에서 Slack 앱을 만들고 수신 웹훅을 활성화한 다음 작업 공간에 새 웹훅 추가를 클릭하여 채널을 선택하고 URL을 복사합니다(hooks.slack.com으로 시작). Agent DVR 동작에서 다음을 사용합니다:
- URL: 복사한 웹훅 URL
- 본문:
{"text":"{MESSAGE}: {NAME} on {SERVER} {AI}"}
Slack 수신 웹훅은 텍스트만 지원하므로 이미지 업로드를 0으로 유지합니다.
Mattermost
Mattermost에서 메인 메뉴 - 통합 - 수신 웹훅 - 수신 웹훅 추가로 이동하여 채널을 선택하고 URL을 복사합니다. Slack과 동일한 본문 형식을 사용합니다:
{"text":"{MESSAGE}: {NAME} on {SERVER}"}
Google Chat
Google Chat 공간(작업 공간 계정)에서 공간 이름을 클릭하고 앱 및 통합 - 웹훅 - 웹훅 추가를 선택한 다음 URL을 복사합니다. Slack과 동일한 본문 형식을 사용합니다:
{"text":"{MESSAGE}: {NAME} on {SERVER}"}
Microsoft Teams
Teams에서 채널 옆의 세 점을 클릭하고 워크플로우를 선택하여 웹훅 요청을 받을 때 채널에 게시 템플릿을 추가한 다음 제공되는 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 웹훅 트리거(http://homeassistant.local:8123/api/webhook/your-id - MQTT 통합이 더 풍부하긴 함). Agent DVR은 JSON 본문을 application/json으로 보내고 그 외의 다른 것은 폼 인코딩으로 보냅니다. 헤더 필드에 추가 헤더(예: API 키)를 추가할 수 있으며, 각 줄에 이름: 값 형식으로 작성합니다.