ym88659208ym87991671
Добавление устройств в приложении SberDevices IoT Agent | Документация для разработчиков

Добавление устройств в приложении SberDevices IoT Agent

Обновлено 21 октября 2024

Добавить устройство

  1. В браузере войдите в веб-интерфейс агента SberDevices IoT Agent — для этого введите адрес http://<IP-адрес контроллера>:8083>/, где <IP-адрес контроллера> — тот же IP-адрес, который вы указывали для подключения к веб-конфигуратору контроллера. Адрес по умолчанию http://192.168.42.1.

  2. Нажмите кнопку Добавить устройство. Откроется окно создания устройства.

  3. На вкладке Описание заполните поля:

    • Название — пользовательское название устройства, например «Ночник», «Торшер» и т. д.

    • Категория — категория устройства. Все категории перечислены в справочнике поддерживаемых умным домом Sber устройств.

    • Комната — место расположения устройства в доме клиента. Поле необязательное, но мы рекомендуем заполнить его. Название комнаты должно быть на русском языке, без специальных символов и не длиннее 35 знаков.

      Если в умном доме Sber есть комната с таким же названием, устройство будет импортировано туда. Если комнаты с совпадающим названием нет, устройство будет импортировано в раздел «Без комнаты».

      Если комната не задана, ее можно будет назначить позднее в приложении Салют для Android, в веб-версии приложения Салют или в приложении СберБанк Онлайн.

  4. Определите список функций, который будете описывать для устройства. Подходящие для устройства функции можно посмотреть, выбрав нужный девайс в списке устройств. Все функции устройств умного дома приведены в общем справочнике функций.

  5. На вкладке Функции укажите топики для обязательных функций устройства. Для большинства устройств обязательными функциями являются online (статус доступности устройства) и on_off (состояние устройства).

    Для каждой функции укажите:

    • Объект статуса. Топик для получения статуса устройства. Например, для устройства-осветительного прибора, по электрической схеме подключенного к каналу O1 диммера WB-MDM3, объект статуса должен соответствовать топику настраиваемого канала диммера. Пример топика: /devices/wb-mdm3_57/controls/K1.

      Для функции online рекомендуется использовать объекты с суффиксом OK: они сообщают об отсутствии ошибок, относящихся к соответствующему топику. Также объект может передавать постоянный статус true или false: введите __true или __false.

    • Объект команды. Топик для отправки команд. Например, устройства-осветительного прибора, по электрической схеме подключенного к каналу O1 диммера WB-MDM3, объект команды должен соответствовать топику настраиваемого канала диммера. Пример топика для функции on/off: /devices/wb-mdm3_57/controls/K1.

      Обязательные поля
  6. На вкладке Функции добавьте необязательные функции устройства. Для добавлении функции выберите ее из списка в верхней части окна и нажмите Добавить, затем укажите:

    • Объект статуса и Объект команды. Например, для устройства-осветительного прибора может быть добавлена функция light_brightness — яркость устройства. Если устройство по электрической схеме подключено к каналу O1 диммера WB-MDM3, объект статуса и объект команды должны соответствовать топику настраиваемого канала диммера для регулировки яркости. Пример топика для функции light_brightness: /devices/wb-mdm3_57/controls/Channel 1.

    • Трансформации. Тип данных и диапазон допустимых значений для топика в контроллере Sber и облаке умного дома Sber иногда могут различаться. Например, для функции hvac_air_flow_power в облаке умного дома Sber используется тип данных ENUM, а в контроллере Sber — тип INTEGER.

      Еще пример: для функции light_brightness в облаке умного дома Sber используется числовой диапазон от 50 до 1000, а в контроллере Sber — диапазон от 0 до 100.

      Для корректной работы умного дома пользователя необходимо настроить правило преобразования топика из формата умного дома Sber в формат контроллера Sber. Диапазон значений и тип данных, которые используются в облаке умного Sber, описаны в документации для каждой функции: выберите нужную из списка. Например, для функции light_brightness это INTEGER(50,1000).

      Примеры трансформаций приведены ниже: трансформация диапазона допустимых значений, трансформации значений с помощью множителя, трансформация типа данных, использование нескольких трансформаций.

      Необязательные поля
  7. Нажмите Сохранить, чтобы добавить устройство.

  8. Когда добавите все устройства, нажмите кнопку Перезапустить. SberDevices IoT Agent перезагрузится и принудительно синхронизируется с облаком. Устройства на контроллере станут отображаться в Studio — подробнее см. раздел Проверка импорта устройств клиента.

  9. Проверьте логи контроллера, чтобы убедиться, что в работе устройства и его функций нет ошибок.

Пример трансформации диапазона допустимых значений

Для функции light_brightness (яркость) в облаке умного дома Sber используется числовой диапазон от 50 до 1000, а в контроллере Sber — диапазон от 0 до 100. Тип данных у функции совпадает.

Чтобы задать трансформацию диапазона:

  1. На вкладке Функции выберите функцию light_brightness.

  2. Выберите и добавьте тип трансформации integer_scale. Затем укажите соответствие значений:

    • В поле Минимальное значение в облаке введите 50, в поле Минимальное значение на контроллере — 0.
    • В поле Максимальное значение в облаке введите 1000, в поле Максимальное значение на контроллере — 100.
  3. Нажмите Сохранить, чтобы сохранить трансформацию. Затем нажмите Сохранить еще раз — чтобы сохранить изменения всей функции.

Трансформация диапазона значений

Пример трансформации значений с помощью множителя

У функции temperature (текущая температура) в облаке умного дома Sber одна единица соответствует 0,1 градусу, а в контроллере Sber — 1 градусу. Тип данных у функции совпадает.

Чтобы задать трансформацию значений:

  1. На вкладке Функции выберите функцию temperature.
  2. Выберите и добавьте тип трансформации multiplication. Затем в поле Множитель введите 10.
  3. Нажмите Сохранить, чтобы сохранить трансформацию. Затем нажмите Сохранить еще раз — чтобы сохранить изменения всей функции.
Трансформация с помощью множителя

Пример трансформации типа данных с сопоставлением значений

Для функции hvac_air_flow_power (скорость вентилятора) в облаке умного дома Sber используется тип данных ENUM, а в контроллере Sber — INTEGER.

Чтобы задать трансформацию типа данных:

  1. На вкладке Функции выберите функцию hvac_air_flow_power.

  2. Выберите и добавьте тип трансформации mapping. Затем заполните поля трансформации:

    • В поле Тип в облаке укажите ENUM, в поле Тип на контроллере — INTEGER.

    • В блоке Правила нажмите на значок плюса и укажите, как значения функции из облака должны сопоставляться со значениями на контроллере. Например, ENUM-значению low сопоставьте INTEGER-значение 33; ENUM-значению medium — INTEGER-значение 66; ENUM-значению high — INTEGER-значение 100.

      Если для устройства будут использоваться не все доступные ENUM-значения, ненужные можно отключить. Для этого в блоке с трансформацией нажмите значок

      Редактирование списка значений
      и оставьте выбранными только нужные допустимые значения (по умолчанию выбраны все из них). После нажмите значок
      Сохранение изменений в списке значений
      .

  3. Нажмите Сохранить, чтобы сохранить трансформацию. Затем нажмите Сохранить еще раз — чтобы сохранить изменения всей функции.

Трансформация типа данных

Пример использования нескольких трансформаций

У топика может быть несколько трансформаций. В этом случае важно соблюдать порядок их добавления.

При срабатывании датчика движения облако умного дома Sber ожидает от его функции pir ENUM-значение pir (движение обнаружено). Но контроллер Sber отправляет числовые значения, которые датчик движения передает с определенной периодичностью.

Для корректной работы датчика движения с облаком умного дома Sber нужно учесть два условия:

  • Сигнал об обнаружении движения должен передаваться при значении датчика движения равным числовому значению X или выше, получаемому с контроллера Sber.
  • При обнаружении движения в умный дом Sber должно передаваться значение pir с типом данных ENUM.

Для создания трансформаций для этих условий:

  1. На вкладке Функции выберите функцию pir.

  2. Добавьте трансформацию для фиксирования всех значений с датчика движения, полученных с контроллера Sber и равных значению X или выше. Для этого:

    1. Выберите и добавьте тип трансформации true_threshold.

    2. В поле Значение укажите пороговое значение, при котором сигнал об обнаружении движения будет отправлен в облако умного дома Sber. Например, введите 400.

    3. В поле Оператора выберите, при пересечении порога в большую или меньшую сторону должен отправляться сигнал об обнаружении движения. Для функции pir оператор будет MORE — то есть сигнал об обнаружении движения будет отправлен, если контроллер зафиксирует значение 400 или больше.

    4. Нажмите Сохранить, чтобы сохранить трансформацию.

      Трансформация с пороговым значением
  3. Добавьте трансформацию для преобразования типа данных. Для этого:

    1. Выберите и добавьте тип трансформации mapping.

    2. В поле Тип в облаке укажите ENUM, в поле Тип на контроллере — BOOL.

    3. В блоке Правила нажмите на значок плюса и укажите, как значения функции из облака должны сопоставляться со значениями на контроллере: ENUM-значению pir сопоставьте BOOL-значение true.

    4. Нажмите Сохранить, чтобы сохранить трансформацию.

      Трансформация типа данных
  4. Нажмите Сохранить, чтобы сохранить изменения всей функции.

ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.