Aarlo 는 Arlo 시스템에 대한 액세스를 제공하는 Home Assistant용 사용자 정의 구성 요소입니다.
Aarlo는 무엇보다도 다음을 제공합니다.
Aarlo 는 Arlo 시스템에 대한 액세스를 제공하는 Home Assistant용 사용자 정의 구성 요소입니다.
통합은 Arlo Camera 웹사이트에서 제공하는 API를 사용하며 이에 대한 몇 가지 제한 사항이 있습니다. 자세한 내용은 알려진 제한 사항 섹션을 참조하세요.
문제가 발생하면 FAQ 섹션을 살펴보고 알려진 문제가 있는지, 해결 방법이나 수정 사항이 있는지 확인하세요. 그렇지 않은 경우 디버그 로그를 생성하고 디버그 보고서를 생성하는 방법에 대한 정보는 버그 보고서 섹션을 참조하세요.
고급 README가 여기에 있습니다
이전 README 는 여기에서 계속 사용할 수 있습니다.
이 문서에서는 귀하가 홈어시스턴트 설정 및 구성에 익숙하다고 가정합니다.
이 문서에서 /config
표시되는 곳은 모두 홈어시스턴트 구성 디렉터리를 나타냅니다. 예를 들어 내 설치의 경우 내 Docker 컨테이너에 의해 /config
에 매핑되는 /home/steve/ha
입니다.
Arlo가 보이는 곳마다 Arlo 시스템의 모든 부분을 나타냅니다.
Aarlo를 볼 때마다 나는 이 구성 요소를 언급하고 있습니다.
많은 감사를 드립니다:
Aarlo는 또한 카메라의 마지막 스냅샷에 현재 상태를 오버레이하고 카메라 녹화 라이브러리 및 라이브 스트리밍에 대한 액세스를 허용하는 맞춤형 Lovelace 카드를 제공합니다.
홈어시스턴트 에 익숙하지 않다면 커뮤니티 웹사이트를 방문하는 것이 좋습니다. 도움이 되는 사람들로 가득 차 있고 당신이 해결하려는 문제에 직면한 사람이 항상 있습니다.
Aarlo에는 전용 Arlo 계정이 필요합니다. 예를 들어 휴대폰의 Arlo 앱에서 사용하는 계정과 같은 기존 계정을 재사용하려고 하면 앱과 이 통합이 지속적으로 로그인을 시도합니다. 이는 Arlo 제한 사항입니다.
전용 Aarlo 계정은 경보 수준을 설정하고 특정 상태 값을 읽으려면 Allow Access Rights
활성화해야 합니다.
자세한 지침은 Arlo 문서를 참조하세요.
2단계 인증을 활성화해야 합니다. 인증코드를 받을 이메일 주소를 설정하세요. Aarlo는 다른 TFA 메커니즘을 지원하지만 이메일이 가장 사용하기 쉽습니다. 자세한 내용은 뒷부분의 2단계 인증 섹션을 참조하세요.
이러한 설치 메커니즘 중 하나만 사용해야 합니다. HACS를 추천합니다.
Aarlo는 기본 HACS 저장소의 일부입니다. 개발 브랜치 사용에 관심이 없다면 이것이 설치하는 가장 쉬운 방법입니다.
aarlo
디렉터리를 /config/custom_components
디렉터리에 복사합니다.
설치 스크립트를 실행합니다. 한 번 실행하여 작업이 정상으로 보이는지 확인하고 go
매개변수를 사용하여 두 번째 실행하여 실제 작업을 수행합니다. 업데이트하고 스크립트를 다시 실행하면 설치된 모든 파일을 덮어쓰게 됩니다.
install /config # check output looks good
install go /config
그러나 Home Assistant 에 통합을 추가하는 데 필요한 소스 코드를 설치합니다. 홈 페이지에서 Settings -> Devices & Services
선택하고 여기에서 ADD INTEGRATION
클릭한 후 Aarlo
를 검색하세요. 첫 번째 화면에서 계정 정보를 입력하세요.
필드 | 값 |
---|---|
사용자 이름 | 귀하의 Arlo 계정 사용자 이름 |
비밀번호 | 귀하 의 알로 계정 비밀번호 |
두 가지 요소 메커니즘 | IMAP 선택 |
TFA 사용자 이름 | TFA에 등록한 이메일 계정 |
TFA 비밀번호 | 이메일 계정 비밀번호 |
TFA 호스트 | 이메일을 찾을 IMAP 서버 |
Use aarlo prefix
사용)를 선택하면 모든 장치가 type.aarlo_*
형식이 됩니다.
SUBMIT
클릭하세요. 통합은 Arlo 에 로그인하고 이와 관련된 장치 목록을 검색합니다. 모두 작동하면 다음 화면에서 장치를 회의실에 할당할 수 있습니다.
설정을 더 세부적으로 조정할 수 있습니다. 통합 페이지에서 CONFIGURE
클릭합니다.
알람 설정을 미세 조정하세요.
필드 | 값 |
---|---|
경보/해제 코드 | 필요한 경우 코드를 입력하고, 그렇지 않으면 기본값으로 두세요. |
무장 해제 모드 이름 | Arlo 계정에 맞춤 해제된 이름이 있는지 변경하세요. |
홈 모드 이름 | Arlo 계정에 맞춤 홈 모드 이름이 있는지 변경 |
외출 모드 이름 | Arlo 계정에 맞춤 외출 모드 이름이 있는지 변경 |
야간 모드 이름 | Arlo 계정에 맞춤형 야간 모드 이름이 있는지 변경 |
암 코드 필요 | 경보/경비 해제 코드가 무장에 필요한지 선택하세요. |
무장해제 코드 필요 | 경보/해제 코드가 경보 해제에 필요한지 선택하세요. |
트리거 시간 | 무장 시 대기 시간 |
알람 볼륨 | 알람 사이렌의 기본 볼륨 |
야간 모드 ; Arlo는 귀하가 직접 만들지 않는 한 이 중 하나를 갖지 않습니다.
알람 코드를 삭제해야 하는 경우 no code needed
입력하세요. 나는 이것이 빈 항목을 허용하도록 노력할 것입니다 ...
사용할 수 있는 바이너리 센서를 확인합니다.
필드 | 값 |
---|---|
소리 감지 | 카메라에서 마이크 활성화 |
모션 감지 | 카메라에서 모션 감지 활성화 |
초인종 프레스 | 초인종 버튼 활성화 |
울음소리 감지 | 알로 베이비의 경우 울음 감지를 활성화하세요. |
장치 연결 | 장치 연결이 끊어지면 알림을 받습니다. |
열림/닫힘 센서 | 문 및 창문 센서 활성화 |
밝기 센서 | 빛 감지 활성화 |
변조 감지 | 장치가 열리면 알림 활성화 |
누출 감지 | 누출 모니터링 장치 활성화 |
모든 장치에서 모든 센서를 사용할 수 있는 것은 아닙니다.
사용 가능한 센서를 확인합니다.
필드 | 값 |
---|---|
마지막 캡처 시간 | 마지막 녹화가 이루어진 시기를 나타내는 카메라별 센서 |
감지된 총 카메라 수 | 카메라 수의 정수 값 |
최근 활동이 감지되었습니다. | 최근에 카메라가 활성화되었나요? |
오늘 캡처된 비디오/스냅샷 수 | 오늘 녹음한 정수값 |
기기 배터리 수준 | 남은 배터리 비율 |
WiFi 신호 강도 | Wi-Fi 강도는 1~5 범위입니다. |
실내 온도 | 객실 상태 |
실내 습도 | 객실 상태 |
공기질 | 객실 상태 |
모든 장치에서 모든 센서를 사용할 수 있는 것은 아닙니다. 그리고 최근 활동은 아마도 Binary_sensor 여야 합니다.
기타 스위치 활성화:
필드 | 값 |
---|---|
사이렌을 켜는 스위치 | 개별 사이렌을 켤 수 있는 스위치 제공 |
스위치로 모든 사이렌을 켜세요 | 모든 사이렌을 켤 수 있는 스위치 제공 |
사이렌이 꺼지도록 허용 | 스위치로 사이렌을 끄도록 허용 |
사이렌 스위치 볼륨 | 기본 볼륨 레벨(1~10) |
사이렌 스위치 지속 시간 | 알람을 실행하는 기본 시간 |
카메라의 스냅샷 촬영을 요청하는 스위치 | 카메라 스냅샷을 찍을 수 있는 스위치 제공 |
카메라 스냅샷 시간 초과 | 잘못 동작하는 카메라가 완료될 때까지 기다리는 시간 |
초인종 차임벨을 무음으로 전환합니다. | 초인종을 무음으로 설정하는 스위치를 제공합니다. |
일찍부터 오시는 경우 주의해야 할 몇 가지 사항이 있습니다.
config flow
메커니즘으로 가져옵니다. 모든 장치가 통합 페이지에 나타납니다.yaml
항목을 주석 처리할 수 있습니다.prefix with _aarlo
이름 지정을 동일하게 유지할 수 있습니다.aarlo
도메인에 있습니다.pyaarlo
구성 요소는 이제 pip
통해 설치되며 통합에는 포함되지 않습니다..aarlo/session.pickle
삭제하려고 하면 로그인에 어려움이 있을 수 있습니다. 좀 더 난해한 구성 항목 중 일부를 config flow
메커니즘으로 옮기고 싶지 않았습니다. 구성한 항목이 있으면 /config/aarlo.yaml
파일에 표시됩니다. 이러한 옵션에 대한 자세한 내용은 여기를 참조하세요.
Arlo는 SSE 또는 MQTT를 사용하여 Aarlo 에 이벤트 신호를 보냅니다. 어느 것이 선택될지 결정하는 메커니즘을 완전히 확신할 수는 없지만 user_agent
를 추가하거나 제거하면 둘 사이가 전환된다는 것을 알고 있습니다.
Arlo는 최근 선택할 백엔드를 나타내기 위해 session/v3
API 요청에 보내는 응답을 업데이트했습니다. Aarlo는 auto
사용할 때 이를 구문 분석합니다.
# This is the MQTT backend. We use the host and port.
' mqttUrl ' : ' ssl://mqtt-cluster-z1.arloxcld.com:8883 '
# This is the SSE backend. We use a fixed host and port.
' mqttUrl ' : ' wss://mqtt-cluster-z1.arloxcld.com:8084 '
자세한 디버깅을 활성화하면 홈어시스턴트 로그에서 이 값을 찾을 수 있습니다.
0.8
릴리스부터 Aarlo는 어떤 백엔드를 사용할지 결정할 수 있을 만큼 똑똑해졌습니다. 그러나 모션 감지 이벤트 누락 또는 센서 값 업데이트 누락과 같은 문제가 발생하는 경우 설정을 수동으로 재정의할 수 있습니다. /config/aarlo.yaml
에서 이 설정을 변경하세요.
aarlo :
# This forces the SSE backend
backend : sse
aarlo :
# This forces the MQTT backend
backend : mqtt
# These might also be needed
mqtt_hostname_check : false
mqtt_host : mqtt-cluster-z1.arloxcld.com
aarlo :
# This forces Aarlo to choose
backend : auto
설정을 제거하는 것은 auto
와 동일합니다.
Arlo는 Arlo 웹사이트 로그인에 Cloud Flare 안티봇 보호를 사용합니다. 이 서비스는 Python Requests 패키지와 잘 작동하지 않습니다(또는 Aarlo가 이러한 요청을 어떻게 사용하는지 잘 모르겠습니다).
다음 오류가 표시되면 Cloud Flare 문제가 발생한 것입니다.
2021-06-03 13:28:32 WARNING (SyncWorker_4) [pyaarlo] request-error=CloudflareChallengeError
이 문제는 나에게 영향을 미치며 끊임없이 코드를 개선하려고 노력하고 있습니다.
Aarlo는 이 문제를 해결하기 위해 다음과 같은 몇 가지 작업을 수행합니다.
Header
수준까지 최대한 비슷하게 모방합니다.그러나 여전히 로그인 문제가 발생하는 경우 시도해 볼 수 있는 몇 가지 구성 항목이 있습니다.
다른 사용자 에이전트를 사용해 볼 수 있습니다. 이는 /config/aarlo.yaml
에 구성되어 있습니다.
aarlo :
# Change the user agent. It can be either arlo, iphone, ipad, mac, firefox or linux
# or random. random will change it each time it tries to login
user_agent : linux
# Or use a custom user agent, everything after the ! will be used
user_agent : !this-is-a-custom-user-agent
로그인 요청과 함께 Source
헤더를 추가할 수 있습니다. 이 기능이 필요한 사이트와 그렇지 않은 사이트가 있습니다. 나는 그것이 사용자 에이전트와 관련이 있다고 생각합니다.
aarlo :
# This adds the following header "Source: arloCamWeb"
send_source : true
다음을 사용하여 세션 캐싱을 비활성화할 수 있습니다.
aarlo :
# This will force a full login on every restart
save_session : false
사용할 다른 ecdh 곡선을 선택할 수 있습니다. 이 주제는 이 문서의 범위를 벗어납니다. 설명은 여기를 참조하세요.
aarlo :
# Make this curve the first choice. You can only enter 1 choice.
ecdh_curve : secp384r1
특정 Arlo 웹 서버를 가리키도록 /etc/hosts
수정할 수 있습니다.
# Remove the # to force the request to go to a particular cloudflare server
#104.18.30.98 ocapi-app.arlo.com
#104.18.31.98 ocapi-app.arlo.com
Arlo는 이를 2단계 인증 이라고 부릅니다. 홈어시스턴트 특정 계정에 대해 이 기능을 활성화해야 합니다. Aarlo는 IMAP 및 PUSH 메커니즘을 지원하지만 IMAP을 사용하는 것이 좋습니다. PUSH를 사용하려면 로그인 요청에 수동으로 응답해야 합니다.
여기에서 2단계 인증 설정에 대한 지침을 찾을 수 있습니다. Arlo는 여기에서 제공합니다.
통합을 추가할 때 2단계 인증을 입력합니다.
2단계 인증 지침에 따라 이메일 확인 방법을 추가하고 설정하세요. Arlo 메인 페이지에 로그인하여 이메일이 전송되는지 확인하여 이를 테스트할 수 있습니다.
Gmail 및 Yahoo (및 기타 웹 기반 이메일 클라이언트)의 경우 일반적인 비밀번호로 로그인할 수 없으므로 애플리케이션 비밀번호를 생성해야 합니다. 이것이 필요한 이유를 설명하는 것은 이 문서의 범위를 벗어나므로 다음 페이지를 참조하십시오.
IMAP 계정에 로그인할 수 없는 경우 애플리케이션 비밀번호 요구 사항을 확인하세요.
다음 서버가 작동하는 것으로 알려져 있습니다.
서비스 | 호스트 이름 |
---|---|
지메일 | imap.gmail.com |
야후! | imap.mail.yahoo.com |
2단계 인증 지침에 따라 PUSH 인증 방법을 추가 및 설정하세요.
IMAP 클라이언트에 전달된 암호 목록을 변경해야 하는 경우 다음 옵션을 사용하여 지정합니다. 이렇게 할 필요는 없습니다. 자세한 내용은 openssl 매뉴얼 페이지를 참조하십시오.
aarlo :
# specify cipher list to use
cipher_list : " HIGH:!DH:!aNULL "
# Use DEFAULT for the cipher list
default_ciphers : True
문제가 발생하면 버그 보고서를 작성하세요. 디버깅에 도움이 되도록 버그 보고서에 다음 정보를 포함하세요. 그렇지 않으면 나는 당신이 할 때까지 당신을 괴롭힐 것입니다.
configuration.yaml
에서 로깅 설정을 변경하여 기본 Aarlo 디버깅을 활성화합니다.
logger :
default : info
logs :
pyaarlo : debug
custom_components.aarlo : debug
로깅을 활성화하고 다음을 /config/aarlo.yaml
에 추가하여 자세한 디버깅을 켤 수 있습니다. Verbose 디버그는 많은 로그를 생성하므로 필요할 때만 활성화하는 것이 가장 좋습니다.
aarlo :
verbose_debug : true
Aarlo는 디버그 로그를 표준 홈어시스턴트 로그 파일 /config/home-assistant.log
에 기록합니다.
나에게 디버그를 보내기 전에 암호화해야 합니다. 이 웹페이지에서 출력을 암호화할 수 있습니다. 파일을 업로드하거나 복사하여 버퍼에 붙여넣은 다음 Submit
누를 수 있습니다.
이 페이지는 출력을 자동으로 나에게 전달하지 않으므로 이를 복사하여 파일에 붙여넣고 버그 보고서에 첨부해야 합니다.
이 페이지는 로그를 가릴 것이므로 나만 읽을 수 있습니다. 나는 이를 해독할 수 있는 개인 키의 유일한 소유자입니다. 그러나 주의하십시오. 일련 번호와 함께 귀하의 계정 및 비밀번호 정보가 포함될 수 있습니다. 암호화하기 전에 이를 모호하게 할 수 있지만 절대 필요하지 않습니다.
나는 Arlo 장비의 모든 부분을 소유하고 있지 않기 때문에 때로는 문제가 발생하거나 새로운 장비가 출시될 때 Arlo가 실제로 이 코드를 보낼 것으로 예상하는 것과 이 코드가 Arlo 에서 다시 무엇을 기대할 수 있는지 확인해야 합니다. Aarlo는 웹 브라우저 연결을 시뮬레이션하므로 브라우저 개발자 도구를 사용하여 예상되는 내용을 확인할 수 있습니다.
이 지침은 Chrome용이지만 대부분의 브라우저(희망합니다!)에는 비슷한 기능이 있습니다.
More Tools
선택하고 마지막으로 Developer Tools
선택합니다. 단축키 CTRL+SHIFT+I
사용할 수도 있습니다.Network
탭을 선택합니다. 로그인하면 브라우저와 Arlo 웹사이트 사이에 전달된 데이터가 이 탭에 나타나기 시작하고 계속 나타납니다. Name
아래의 항목을 클릭하면 패킷을 더 자세히 검사할 수 있습니다.
Headers
탭에는 요청 헤더에 전송된 내용이 표시됩니다.Payload
탭에는 요청 본문에 전송된 내용이 표시됩니다.Preview
탭에는 Arlo 에서 보낸 응답이 표시됩니다. name
아래 필드 위로 마우스를 가져가면 요청이 전송된 전체 URL이 팝업으로 표시됩니다.
이것을 문서화해야 합니다.
subscribe
라는 단어가 포함된 URL을 찾으세요. 이는 Arlo가 웹페이지로 다시 보내는 스트림이 될 것입니다. 웹 페이지의 버튼을 클릭하면 이 목록에 더 많은 항목이 나타납니다. 이 정보를 사용하여 아직 처리하지 않은 경우에 대한 응답 패킷을 구문 분석하는 방법을 결정할 수 있습니다.
예를 들어 Arlo는 WOOHOO
버튼이 있는 새 장치를 생성합니다. 저는 그런 장치를 갖고 있지 않지만 Aarlo 에서 WOOHOO
기능을 구현하고 싶습니다. 나에게 필요한 것은 패킷의 순서와 버튼을 눌렀을 때의 응답입니다. 이를 수행하는 유일한 방법은 버튼을 누르고 Name
탭에 어떤 새 패킷이 나타나는지 확인하는 것입니다.
그런 다음 이를 복사하여 GitHub 의 버그 보고서에 붙여넣어야 합니다. 민감한 데이터를 숨기는 방법에 대해서는 이전 섹션을 참조하세요.
아니요. 그들은 누가 통제권을 가지고 있는지 논쟁하는 데 모든 시간을 소비합니다. 이는 Arlo의 한계입니다.
기기를 공유하셨나요? Arlo 웹페이지에 로그인하여 해당 페이지가 나타나는지 확인하세요. 그렇다면 디버그 로그를 켜고 버그 보고서를 제출하세요.
관리자 액세스 로 장치를 공유하는 계정을 제공했는지 확인하십시오. 이는 배터리 또는 신호 강도 업데이트와 같은 작업에 필요합니다.
관리 액세스 로 장치를 공유하는 계정을 제공했는지 확인하세요. 베이스 스테이션을 공유하는 데 필요합니다.
새로운 Arlo 위치 기반 인터페이스를 사용하고 계시나요? 이 경우 개별 장치가 아닌 위치만 경보 또는 경보 해제할 수 있습니다.
피드를 보려면 구독이 필요하지 않지만, 녹화물을 보려면 구독이 필요합니다.
글을 쓰는 시점(2024년 5월)에는 로컬 녹음을 읽을 수 있는 옵션이 없습니다. 다른 모든 기능은 잘 작동합니다.
확실히 그렇습니다. Arlo는 IP 카메라처럼 작동하지 않으며 동작이 감지될 때만 녹화하므로 스트림을 시작하도록 요청하는 것은 집에 있는 카메라와 통신하는 Arlo 서버와 통신하는 것을 포함합니다. 작업을 실행하는 데 몇 초가 걸릴 수 있습니다. 스트리밍은 다음과 같이 작동합니다.
Camera ---> Arlo Cloud Servers --> Home Assistant --> Your Home Assistant Client
비디오 트래픽은 집에서 나갔다가 집으로 다시 들어와야 합니다.
다음은 작동하는 것으로 알려진 장치 목록입니다. 대부분의 Arlo 장치는 기능이 제한되어 있을 수 있지만 이 목록에 명시적으로 언급되지 않은 경우에도 작동합니다.
모델 | 이름 | 특징 |
---|---|---|
ABC1000 | 아기 | 모션, 오디오, 환경, 울음소리 |
AVD1001 | 유선 비디오 초인종 | 운동 |
AVD2001 | 필수 비디오 초인종 | 모션, 사이렌 |
AVD3001 | 유선 비디오 초인종 HD | 모션, 사이렌 |
AVD4001 | 유선 비디오 초인종 2K | 모션, 사이렌 |
FB1001 | 프로 3 투광등 | 투광 조명 |
MS1001 | 올인원 센서 | 동작, 열림, 젖음, 조작, 온도 |
VMB3010 | 기지국 | |
VMB4000 | 기지국 2 | 사이렌 |
VMB4500 | 프로 베이스 스테이션 | 사이렌 |
VMC2030 | 필수 카메라 | 모션, 오디오, 사이렌, 스포트라이트 |
VMC2040 | 필수 실내 카메라 | 모션, 오디오, 사이렌 배터리 없음 |
VMC3030 | HD 카메라 | 모션, 오디오 |
VMC3040 | Q 카메라 | 모션, 오디오 |
VMC3060 | 필수 실내 카메라 2 | 모션, 살펴봐야 함 |
VMC3052 | 필수 XL 카메라 | 모션, 오디오, 스포트라이트 |
VMC4030 | 프로 2 카메라 | 모션, 오디오 |
VMC4040 | 프로 3 카메라 | 모션, 오디오, 사이렌, 스포트라이트 |
VMC4041 | 프로 4 카메라 | 모션, 오디오, 사이렌, 스포트라이트 |
VMC4060 | 프로 5 카메라 | 모션, 오디오, 사이렌, 스포트라이트 |
VMC5040 | 울트라 카메라 | 모션, 오디오, 사이렌, 스포트라이트 |
VML2030 | Go 2 카메라 | 모션, 오디오 |
VML4030 | 카메라로 이동 | 운동 |
이 컴포넌트는 알로 카메라 웹 페이지에서 사용되는 API를 리버스 엔지니어링하여 작성되었습니다.
일반적인 제한사항은 다음과 같습니다.
다음은 웹사이트에 비해 제한 사항입니다.
모바일 애플리케이션에 비해 다음과 같은 제한 사항이 있습니다.
마지막 두 개는 if the WEB API doesn't support it, neither can the component.
새로운 기능 요청을 요청할 때 이를 참고하세요.