Aarlo — это специальный компонент для Home Assistant, который обеспечивает доступ к системе Arlo.
Аарло обеспечивает, среди прочего:
Aarlo — это специальный компонент для Home Assistant, который обеспечивает доступ к системе Arlo.
При интеграции используются API-интерфейсы, предоставляемые веб-сайтом Arlo Camera, и здесь имеется несколько ограничений. Дополнительную информацию см. в разделе «Известные ограничения».
Если вы столкнулись с проблемой, просмотрите раздел часто задаваемых вопросов, чтобы узнать, есть ли известная проблема и есть ли обходной путь или исправление. Если нет, просмотрите раздел «Отчет об ошибках» для получения информации о том, как создавать журналы отладки и отчет об отладке.
Расширенный README здесь.
Старый README все еще доступен здесь.
В этом документе предполагается, что вы знакомы с настройкой и настройкой Home Assistant .
Везде, где вы видите /config
в этом документе, это относится к вашему каталогу конфигурации Home Assistant . Например, для моей установки это /home/steve/ha
, который сопоставляется с /config
моим контейнером докеров.
Где бы вы ни видели Арло, это относится к любой части системы Арло .
Где бы вы ни увидели Аарло, я имею в виду именно этот компонент.
Большое спасибо:
Aarlo также предоставляет специальную карту Lovelace Card , которая накладывает последний снимок камеры на ее текущий статус и обеспечивает доступ к библиотеке записей камеры и потоковой передаче в реальном времени.
Если вы не знакомы с Home Assistant, я рекомендую посетить веб-сайт сообщества. Здесь полно отзывчивых людей, и всегда найдется кто-нибудь, кто столкнулся с проблемой, которую вы пытаетесь решить.
Aarlo нужен специальный аккаунт Arlo . Если вы попытаетесь повторно использовать существующую учетную запись, например ту, которую вы используете в приложении Arlo на своем телефоне, приложение и эта интеграция будут постоянно бороться за вход в систему. Это ограничение Arlo .
Для выделенной учетной записи Aarlo необходимо включить Allow Access Rights
, чтобы устанавливать уровни сигналов тревоги и считывать определенные значения состояния.
Дополнительные инструкции см. в документации Arlo .
Вам необходимо включить двухфакторную аутентификацию. Настройте адрес электронной почты для получения кода подтверждения. Aarlo поддерживает и другие механизмы TFA , но проще всего использовать электронную почту. Дополнительные сведения см. в разделе «Двухфакторная аутентификация» ниже.
Вам нужно использовать только один из этих механизмов установки. Рекомендую ХАКС.
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 |
Пароль | Пароль вашей учетной записи Arlo |
Двухфакторный механизм | Выберите IMAP |
Имя пользователя ТФА | Учетная запись электронной почты, которую вы зарегистрировали для TFA |
Пароль ТФА | Пароль учетной записи электронной почты |
Хост ТФА | Сервер IMAP для поиска электронной почты |
Если вы оставите флажок Use aarlo prefix
, все ваши устройства будут иметь формат type.aarlo_*
.
Нажмите SUBMIT
. Интеграция войдет в Arlo и получит список связанных с ним устройств. Если все работает, вы сможете назначить устройства комнатам на следующем экране.
Вы можете дополнительно настроить параметры. На странице «Интеграция» нажмите CONFIGURE
.
Точная настройка параметров будильника:
Поле | Ценить |
---|---|
Код тревоги/снятия с охраны | Введите код, если необходимо, в противном случае оставьте значение по умолчанию. |
Название режима снятия с охраны | Измените, если ваша учетная запись Arlo имеет собственное имя для снятия с охраны. |
Название домашнего режима | Измените, имеет ли ваша учетная запись Arlo собственное имя домашнего режима. |
Название режима отсутствия | Измените, имеет ли ваша учетная запись Arlo собственное имя режима отсутствия. |
Название ночного режима | Измените, имеет ли ваша учетная запись Arlo собственное имя ночного режима. |
Требуется код активации | Выберите, требуется ли для постановки на охрану код тревоги/снятия с охраны. |
Требуется код снятия с охраны | Выберите, требуется ли для снятия с охраны код тревоги/снятия с охраны. |
Время срабатывания | Сколько ждать при постановке на охрану |
Громкость сигнала тревоги | Громкость по умолчанию для сирен сигнализации |
Ночной режим ; У Арло не будет такого, если вы его не создадите.
Если вам нужно удалить код тревоги, вводите no code needed
. Я постараюсь заставить это принять пустую запись...
Определите, какие бинарные датчики доступны:
Поле | Ценить |
---|---|
Обнаружение звука | Включить микрофоны на камерах |
Обнаружение движения | Включить обнаружение движения на камерах |
Прессы для дверных звонков | Включить кнопки дверного звонка |
Обнаружение крика | Для ребенка Арло включите обнаружение плача. |
Возможность подключения устройства | Получайте уведомления, когда устройство отключается |
Датчики открытия/закрытия | Включить датчики дверей и окон |
Датчики яркости | Включить обнаружение света |
Обнаружение несанкционированного доступа | Включить уведомление, если устройство открыто |
Обнаружение утечек | Включить устройства контроля утечек |
Не все датчики доступны на всех устройствах.
Определите, какие датчики доступны:
Поле | Ценить |
---|---|
Время последнего захвата | Датчик для каждой камеры, показывающий, когда была сделана последняя запись. |
Общее количество обнаруженных камер | Целое значение количества камер |
Обнаружена недавняя активность | Была ли камера недавно активна |
Количество видео/снимков, снятых сегодня | Целое значение записи, сделанной сегодня |
Уровень заряда батареи устройства | Оставшийся процент заряда батареи |
Уровень сигнала Wi-Fi | Мощность Wi-Fi, диапазон от 1 до 5. |
Комнатная температура | Условия помещения |
Влажность помещения | Условия помещения |
Качество воздуха | Условия помещения |
Не все датчики доступны на всех устройствах. И недавняя активность , вероятно, должна быть бинарным_сенсором .
Включите разные переключатели:
Поле | Ценить |
---|---|
Переключатели для включения сирен | Обеспечьте переключатель для включения отдельных сирен. |
Переключатель включает все сирены | Обеспечьте переключатель для включения всех сирен. |
Разрешить выключение сирен | Разрешить выключение сирен с помощью переключателя |
Громкость переключения сирены | Уровень громкости по умолчанию, от 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 недавно обновила ответ, который они отправляют на запросы API session/v3
чтобы указать, какой сервер выбрать. Аарло проанализирует это при использовании 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 '
Если вы включите подробную отладку, вы сможете найти это значение в журналах Home Assistant .
Начиная с версии 0.8
Аарло должен быть достаточно умен, чтобы решить, какой сервер использовать. Но если вы столкнулись с проблемами, такими как отсутствие событий обнаружения движения или отсутствие обновлений значений датчиков, вы можете вручную изменить настройку. Измените этот параметр в /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 использует защиту от ботов Cloud Flare для входа на веб-сайт Arlo . Этот сервис не очень хорошо работает с пакетом запросов Python (или как Аарло использует эти запросы, я не очень уверен).
Если вы видите следующие ошибки, вы столкнулись с проблемами Cloud Flare .
2021-06-03 13:28:32 WARNING (SyncWorker_4) [pyaarlo] request-error=CloudflareChallengeError
Эта проблема затрагивает меня, и я постоянно пытаюсь доработать код.
Аарло делает несколько вещей, чтобы обойти эту проблему:
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
Вы можете изменить /etc/hosts
, чтобы он указывал на конкретный веб-сервер Arlo .
# 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
Арло называет это двухэтапной проверкой . Вам нужно будет включить это для вашей учетной записи Home Assistant . Aarlo поддерживает механизмы IMAP и PUSH , но я рекомендую использовать IMAP , при этом PUSH вам придется вручную отвечать на запрос на вход.
Инструкции по настройке двухфакторной аутентификации вы найдете здесь. Arlo предоставляет здесь.
Вы вводите двухфакторную аутентификацию при добавлении интеграции.
Следуйте инструкциям по двухфакторной аутентификации, добавьте и настройте метод проверки электронной почты . Вы можете проверить это, войдя на главную веб-страницу Arlo и убедившись, что она отправит вам электронное письмо.
Для Gmail и Yahoo (и других веб-клиентов электронной почты) вы не можете войти в систему, используя свой обычный пароль, вам придется создать пароль для конкретного приложения. Объяснение того, почему это необходимо, выходит за рамки данного документа, поэтому смотрите следующие страницы.
Если вы обнаружите, что не можете войти в свою учетную запись IMAP, проверьте требования к паролю приложения.
Известно, что следующие серверы работают:
Услуга | Имя хоста |
---|---|
Gmail | imap.gmail.com |
Yahoo! | imap.mail.yahoo.com |
Следуйте инструкциям по двухфакторной аутентификации, добавьте и настройте метод проверки PUSH .
Если вам нужно изменить список шифров, передаваемый клиенту IMAP, вы указываете его с помощью следующей опции. Вам не нужно этого делать. дополнительную информацию см. на странице руководства openssl.
aarlo :
# specify cipher list to use
cipher_list : " HIGH:!DH:!aNULL "
# Use DEFAULT for the cipher list
default_ciphers : True
Если у вас возникли проблемы, создайте отчет об ошибке и включите в отчет следующую информацию, чтобы облегчить отладку. Если ты этого не сделаешь, я буду просто приставать к тебе, пока ты не сделаешь это.
Базовую отладку Aarlo можно включить, изменив настройку ведения журнала в configuration.yaml
.
logger :
default : info
logs :
pyaarlo : debug
custom_components.aarlo : debug
Вы можете включить подробную отладку, включив ведение журнала и добавив следующее в /config/aarlo.yaml
. Подробная отладка генерирует множество журналов, поэтому лучше включать ее только при необходимости.
aarlo :
verbose_debug : true
Aarlo будет записывать журналы отладки в стандартный файл журнала Home Assistant /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-адрес, на который был отправлен запрос.
Мне нужно это задокументировать.
Найдите URL-адрес, содержащий слово subscribe
. Это будет четный поток, который Arlo отправит обратно на веб-страницу. По мере того, как вы нажимаете кнопки на веб-странице, в этом списке появляются новые элементы. Я могу использовать эту информацию, чтобы определить, как анализировать пакеты ответов для случаев, которые я еще не обрабатываю.
Например, Arlo создает новое устройство с кнопкой WOOHOO
. У меня нет такого устройства, но вы хотели бы, чтобы функциональность WOOHOO
была реализована в Aarlo . Мне нужна последовательность пакетов и их ответов при нажатии кнопки. Единственный реальный способ сделать это — нажать кнопку и посмотреть, какие новые пакеты появятся на вкладке Name
.
Затем вам нужно будет скопировать и вставить их в отчет об ошибке на GitHub . См. предыдущий раздел о том, как скрыть конфиденциальные данные.
Нет. Они тратят все свое время на споры о том, кто контролирует ситуацию. Это ограничение Arlo .
Вы уверены, что предоставили общий доступ к устройству? Войдите на веб-страницу Arlo и убедитесь, что она там отображается. Если это так, включите журналы отладки и создайте вместе с ними отчет об ошибке.
Убедитесь, что вы предоставили учетную запись, к которой вы делитесь устройствами, с доступом администратора . Это необходимо для таких вещей, как обновление заряда батареи или уровня сигнала.
Убедитесь, что вы указали учетную запись, к которой вы предоставляете общий доступ к устройствам с доступом администратора , это необходимо для совместного использования базовых станций.
Используете ли вы новый интерфейс Arlo на основе местоположения? В этом случае вы можете ставить или снимать с охраны только местоположения, а не отдельные устройства.
Для просмотра каналов подписка не требуется, но для просмотра записей она вам понадобится.
На момент написания статьи (май 2024 г.) возможность чтения локальных записей отсутствует. Все остальные функции работают хорошо.
Они уверены, что делают. Arlo не работает как IP- камеры и записывает только при обнаружении движения, поэтому для запроса на запуск потока требуется общение с серверами Arlo , которые общаются с камерой в вашем доме... чтобы все заработало, может потребоваться несколько секунд. Потоковая передача работает примерно так:
Camera ---> Arlo Cloud Servers --> Home Assistant --> Your Home Assistant Client
Видеотрафик должен выходить из вашего дома, а затем возвращаться в него...
Это список устройств, которые, как известно, работают. Большинство устройств Arlo будут работать, даже если они явно не упомянуты в этом списке, хотя их функциональность может быть ограничена.
Модель | Имя | Функции |
---|---|---|
АВС1000 | Малыш | движение, звук, окружающая среда, крик |
АВД1001 | Проводной видеодомофон | движение |
АВД2001 | Незаменимый видеодверной звонок | движение, сирена |
АВД3001 | Проводной видеодомофон HD | движение, сирена |
АВД4001 | Проводной видеодомофон 2K | движение, сирена |
ФБ1001 | Прожектор Про 3 | прожектор |
MS1001 | Датчик «все в 1» | движение, открытие, влажность, вмешательство, температура |
ВМБ3010 | Базовая станция | |
ВМБ4000 | Базовая станция 2 | сирена |
ВМБ4500 | Профессиональная базовая станция | сирена |
ВМК2030 | Основная камера | движение, звук, сирена, прожектор |
ВМК2040 | Основная внутренняя камера | движение, звук, сирена, нет аккумулятора |
ВМК3030 | HD-камера | движение, звук |
ВМК3040 | Q-камера | движение, звук |
ВМК3060 | Основная внутренняя камера 2 | движение, нужно посмотреть |
ВМК3052 | Основная камера XL | движение, звук, прожектор |
ВМК4030 | Профессиональная камера 2 | движение, звук |
ВМК4040 | Профессиональная камера 3 | движение, звук, сирена, прожектор |
ВМК4041 | Профессиональная камера 4 | движение, звук, сирена, прожектор |
ВМК4060 | Профессиональная камера 5 | движение, звук, сирена, прожектор |
ВМК5040 | Ультра Камера | движение, звук, сирена, прожектор |
ВМЛ2030 | Камера Go 2 | движение, звук |
ВМЛ4030 | Камера Go | движение |
Этот компонент был написан путем обратного проектирования API-интерфейсов, используемых на веб-странице камеры Arlo.
Это общие ограничения:
Это ограничения веб-сайта:
Вот ограничения по сравнению с мобильным приложением:
Последние два можно резюмировать так, как if the WEB API doesn't support it, neither can the component.
Имейте это в виду, когда запрашиваете новые функции.