реолин

реолин

Текущий релиз
1.4.2
Разработчик
Andy Grundt
Лицензия
MIT

Адаптер reolink для ioBroker

Адаптер для платформы ioBroker для получения информации о камерах Reolink .

В целом, все новые камеры Reolink поддерживают команды API. Разница лишь в наборе поддерживаемых команд.

Напоминание о пароле. Попробуйте использовать кодировку URI или нет, если у вас всего один специальный символ. Лучше вообще не использовать специальные символы и просто придумать более длинный пароль для обеспечения той же безопасности. Проверьте, работают ли ваши учетные данные, используя http://cam.ip.add.ress/api.cgi?cmd=GetDevInfo&channel=0&user=username&password=yoursecurity .

Если вам необходимо включить какую-либо конкретную команду API... просто дайте мне знать.

Реализованные функции

НАБОР

  • Управление PTZ / Защита PTZ
  • Push-уведомления
  • Установите значения автофокуса: 0,1
  • Настройка параметров ИК-подсветки: Авто, Выкл.
  • Установите светодиодную подсветку
  • Установите значения для уведомлений по почте: 0, 1
  • Воспроизвести звуковой сигнал тревоги
  • Приближение Фокус

Функции можно активировать, изменив параметр reolink. .settings states.

ПОЛУЧАТЬ

  • Информация об устройстве
  • Информация о PTZ
  • Информация о диске
  • Информация о сети
  • Обнаружение движения
  • Автофокус
  • Снимок
  • ИК-свет
  • Светодиодная подсветка
  • Уведомление по почте

Настройки push-уведомлений

Push-уведомления на телефон будут отправляться только при соблюдении следующих условий:

  • Переключатель push-уведомлений в адаптере включен.
  • Для сетевых видеорегистраторов (NVR) включены как глобальный переключатель, так и переключатель каналов.
  • В приложении Reolink на этом телефоне включены push-уведомления.

Функция push-уведомлений в приложении Reolink не зависит от настроек адаптера. Она также не зависит от настроек других телефонов, подключенных к той же камере. Reolink делает это для того, чтобы у вас был независимый способ отключения push-уведомлений для каждого телефона. Это означает, что отключение push-уведомлений в iobroker никак не влияет на кнопку переключения в приложении.

Пример использования функции получения изображения:

sendTo("reolink.0",{action: "snap"}, function(result){
    sendTo("matrix-org.0",{file:result});
});

// Содержимое результата — JSON:

{ "type": "image/png","base64": "iVBORw....askldfj" }

Для Telegram это работает.

sendTo("reolink.0",{action: "snap"}, function(result){
    const buffer =Buffer.from(result.base64, "base64");
    sendTo('telegram.0', {
        text: buffer,
        type: "photo",
        caption: 'the image'
    });
});

Фотоаппараты с батарейным питанием

Фотоаппараты с батарейным питанием (Argus PT, Argus 3 Pro и др.) используют проприетарный протокол и поддерживаются через neolink — инструмент с открытым исходным кодом, который автоматически загружается при первом использовании.

Быстрая настройка

  1. Включить в настройках: ✅ «Камера с питанием от батареи»
  2. Введите UID камеры: Найдите в приложении Reolink → Информация об устройстве
  3. Установите зависимости (Linux):
    sudo apt install gstreamer1.0-rtsp
    
  4. Запустить адаптер → Доступные потоки RTSP по адресуrtsp://<server-ip>:8554/<CameraName>/mainStream

IP-адрес сервера определяется автоматически.<CameraName> Это имя, заданное в конфигурации адаптера.

Экономия заряда батареи

Батарея быстро разряжается во время работы! Адаптер использует стратегию автоматического отключения:

  • streams.enable (логическое значение) — Включить/отключить потоковую передачу RTSP

    • По умолчанию:false (выкл = экономия заряда батареи)
    • Автоматическое отключение через 30 секунд (настраивается)
    • Трансляция автоматически приостанавливается, если ни один клиент не подключен.
  • mqtt.enable (логическое значение) — Включить интеграцию MQTT для датчиков движения/аккумулятора/прожектора/датчика движения PIR

    • Необходимо для обновления статуса и управления прожекторами/датчиками движения.
    • Автоматическое отключение по истечении заданного времени (защита батареи)
    • Настройте брокера в параметрах адаптера.

Состояние батареи камеры

СостояниеТипР/ВОписание
streams.enableлогическийР/ВЗапуск/остановка RTSP-потока
streams.mainStreamнитьРRTSP-адрес для основного потока
streams.subStreamнитьРRTSP-адрес для дополнительного потока
mqtt.enableлогическийР/ВЗапуск/остановка интеграции MQTT
floodlightлогическийР/ВВключение/выключение прожектора — статус через MQTT, управление через MQTT (автоматический запуск MQTT)
pirлогическийР/ВВключение/выключение PIR-датчика — статус через MQTT, управление через MQTT (автоматический запуск MQTT)
snapshotкнопкаВСоздание снимка состояния через RTSP
query.batteryкнопкаВЗапрос уровня заряда батареи через интерфейс командной строки NeoLink.
query.previewкнопкаВСоздание снимка состояния через RTSP
ptz.presetчислоР/ВПереместите камеру в сохраненное заданное положение (0–9)
ptz.up/down/left/rightлогическийР/ВУдерживайте для перемещения (true =начало,false =стоп)
ptz.speedчислоР/ВСкорость перемещения PTZ-камеры (1–100, по умолчанию 32)
status.motionлогическийРОбнаружено движение (через MQTT)
status.battery_levelчислоРУровень заряда батареи в % (через интерфейс командной строки Neolink, периодически)

|snapshotImage | строка | R | Последнее изображение снимка (base64, URI данных) | |snapshotStatus | строка | R | Статус снимка:idle /capturing /success /error | |info.neolink_status | строка | R | состояние процесса neolink:stopped /running |

Управление PTZ

PTZ работает через интерфейс командной строки Neolink — протокол MQTT не требуется.

Направленное движение (ptz.up/down/left/right ):

  • Установить наtrue → Камера начинает движение, автоматически останавливается через 5 секунд.
  • Установить наfalse → камера немедленно останавливается
  • В Visual Studio: настройте кнопку с помощьюmousedown=true /mouseup=false для удержания для перемещения
  • Отрегулируйте скорость с помощьюptz.speed (1–100)

Предустановки (ptz.preset Установите значение по умолчанию (0–9), чтобы перейти к сохраненной позиции.

Функции

✅ Потоки RTSP (основной + дополнительный)
✅ Создание снимка экрана (требуется ffmpeg)
✅ Управление прожекторами (статус + управление через MQTT)
✅ Управление PIR-датчиком (статус + управление через MQTT)
✅ Обнаружение движения (через MQTT)
✅ Уровень заряда батареи (периодически отображается через интерфейс командной строки Neolink)
✅ Изображение предварительного просмотра (автоматически обновляется через MQTT)
✅ Управление PTZ — направленное движение + предустановки (через интерфейс командной строки Neolink)
✅ Многоплатформенность — бинарный файл neolink загружается автоматически (Linux x64/ARM/ARM64, macOS)

Настройка MQTT

Настройте в параметрах адаптера:

  • Хост брокера (по умолчанию:127.0.0.1 )
  • Порт брокера (по умолчанию:1883 )
  • Имя пользователя / Пароль (необязательно)
  • Автоматическое отключение тайм-аута (по умолчанию:30 с, защита батареи)

Протокол MQTT используется для обновления состояния камеры и управления ею. Адаптер автоматически подписывается на него, когда...mqtt.enable установлено наtrue .

Темы для обсуждения (публикуются камерой через Neolink):

  • neolink/<camera>/status/motion
  • neolink/<camera>/status/battery_level
  • neolink/<camera>/status/floodlight
  • neolink/<camera>/status/pir
  • neolink/<camera>/status/preview

Темы управления (публикуемые адаптером для камеры):

  • neolink/<camera>/control/floodlight
  • neolink/<camera>/control/pir

Поиск неисправностей

ПроблемаРешение
"Требуется UID камеры"Введите UID в приложении Reolink → Информация об устройстве
"libgstrtspserver не найден"sudo apt install gstreamer1.0-rtsp
Трансляция не подключаетсяДавать возможностьstreams.enable Подождите около 5 секунд, пока NeoLink запустится.
Сбой создания снимкаУстановите ffmpeg:sudo apt install ffmpeg
Прожектор/датчик движения не реагируетMQTT запускается автоматически — подождите примерно 3 секунды после переключения.
MQTTNotAuthorizedПроверьте учетные данные брокера; Neolink используетcredentials = ["user", "pass"] формат
Батарея быстро разряжаетсяОтключайте потоковую передачу, когда приложение не используется; используйте MQTT только для передачи данных о движении.
PTZ не реагируетДля каждой команды PTZ требуется примерно 2 секунды (вход в P2P-камеру) — это нормально.

Известные рабочие камеры

HTTP API (стандартный)

RLC-420-5MP, E1 Zoom, RLC-522, RLC-810A, RLC-823A, Duo 3 PoE

Фотоаппараты с батарейным питанием (через Neolink)

Reolink Argus PT, Reolink Argus 3 Pro


Changelog

1.4.2 (2026-03-16)

  • (oelison) fast fix for issue #230

1.4.1 (2026-03-15)

  • (oelison) fix issue #187

1.4.0 (2026-03-13)

  • (bloop16) Battery camera support via neolink
  • (oelison) Adapter requires node.js >= 20 now.

1.3.0 (2025-12-20)

  • (agross) AiCfg config
  • (oelison) bump some libs #202
  • (bluefox) migration to ts
  • (bot) revoking classic token #204
  • (oelison) state changes from info log to debug #206

1.2.3 (2025-06-30)

  • (oelison) settings email notification #170
  • (oelison) testing node.js 24 #172

1.2.2 (2025-05-01)

  • (oelison) update readme #141 #155
  • (oelison) supress errors with axios timeout #154

1.2.1 (2025-02-09)

  • (oelison) set some errors to debug logs

1.2.0 (2025-02-07)

  • (oelison) update disk info
  • (oelison) uri enconding is switchable (helps sometimes by one special char)
  • (oelison) #28 PTZ check added

1.1.2 (2024-09-14)

  • (oelison) #22 password with some more special chars works now
  • (oelison) adapter warnings resolved

1.1.1 (2024-08-03)

  • (oelison) removed warnings from adapter check
  • (olli) added ftp support
  • (oelison) channel now distinguishing most requests
  • (oelison) #79 error messages with more info where

1.1.0 (2024-05-16)

  • (Nibbels) #56 added function to switch scheduled recording on and off
  • (Nibbels) #25 detach led light from led light mode
  • (Nibbels) added setWhiteLedMode function
  • (Nibbels) read zoom and focus with POST request (works on RLC-823A v3.1)
  • (oelison) removed node 16

1.0.3 (2024-01-21)

1.0.2 (2023-12-19)

  • (oelison) known working cameras added
  • (oelison) setIrLights accept "On" now
  • (oelison) #40
  • (oelison) #42

1.0.1 (2023-11-11)

  • (oelison) resolve review for latest adapter addition
  • (oelison) maybe the last node 16 version
  • (oelison) booleans are now false/true and not 0/1

License

MIT License

Copyright (c) 2026 Andy Grundt andygrundt@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.