Доступ к данным

Для работы многих адаптеров и скриптов требуется пароль или ключ API: учетные данные для входа в камеру, ключ поставщика ИИ или данные для входа в электронную почту. Ранее эту информацию приходилось хранить отдельно на каждом этапе, либо в конфигурации соответствующего экземпляра, либо непосредственно в скрипте.

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

Это дает три преимущества:

  • Ключ хранится только в одном месте. Если он меняется, измените его один раз, а не в каждом экземпляре и каждом скрипте.
  • Скрипты можно публиковать или демонстрировать на форуме, не раскрывая никаких секретов.
  • Вы можете с первого взгляда увидеть, какой экземпляр использует какую запись.

Также есть видео на эту тему: Централизованное управление данными доступа.

Где их найти

В административной панели, в разделе «Система» , затем на вкладке «Доступ к данным» .

Вкладка «Доступ к данным» в системных настройках.

В таблице для каждой записи отображаются тип, идентификатор, имя и столбец « Используется кем ». Этот столбец указывает, какой экземпляр в данный момент использует данную запись. Таким образом, перед изменением или удалением записи вы можете увидеть, что именно будет затронуто.

Создать запись

С помощью знака плюса в верхнем левом углу.

Диалог для создания

Имеется три элемента информации:

Шаблон. Он определяет, какие поля будет содержать запись. Шаблоны включены для основных поставщиков ИИ (Anthropic, ChatGPT, Google Gemini, DeepSeek), для AWS и Azure, для электронной почты, а также для iobroker.pro и iobroker.net. Кроме того, есть два общих шаблона: «Логин/Пароль» для любых данных, содержащих имя пользователя и пароль, и «Ключ» для одного значения.

Доступные шаблоны

Тип. Общая классификация, например, ИИ, электронная почта или определяемый пользователем. Она служит для повышения наглядности таблицы.

Уникальное имя. Это имя вы будете использовать для ссылки на запись в дальнейшем, как в конфигурации экземпляра, так и в скрипте. Выберите описательное имя, например: Kamera или anthropic.

После создания шаблона заполните поля. Пароли и ключи хранятся в зашифрованном виде и не отображаются в интерфейсе в открытом виде.

В конфигурации экземпляра используйте

Наиболее распространенный вариант использования. Адаптеры, поддерживающие память, отображают список соответствующих записей вместо поля ввода.

Выбор записи в настройках экземпляра

В этом примере показаны настройки искусственного интеллекта в адаптере JavaScript. В разделе «Тип учетных данных» выберите... Systemanmeldedaten включая необходимую запись для каждого поставщика. Используйте знак плюса рядом с ней, чтобы создать новую запись напрямую, не покидая страницу.

Искусственный интеллект-помощник работает аналогичным образом в настройках административного адаптера.

Используйте в JavaScript-адаптере

Начиная с версии JavaScript-адаптера 10.1.1 , все записи в скрипте хранятся как глобальный объект. SECRETS готовый.

const user = SECRETS.Kamera.user;
const pass = SECRETS.Kamera.password;
const key  = SECRETS.anthropic.key;

После SECRETS Далее следует уникальное имя записи, а затем нужное поле. Доступные поля зависят от шаблона.

Важны три характеристики:

  • Значения поступают уже в расшифрованном виде ; вам не нужно ничего расшифровывать самостоятельно.
  • SECRETS Доступен только для чтения . Скрипт может прочитать запись, но не может её изменить.
  • Изменения в панели администратора вступают в силу немедленно . Перезапуск скрипта не требуется.

Редактор скриптов знает о существующих записях. После SECRETS. Он предлагает названия, а затем, после следующего пункта, точно указывает, какие поля содержит эта запись.

Более подробную информацию о самом адаптере можно найти в разделе JavaScript .

Использовать в Blockly

В Blockly есть блок под названием " Доступ к данным" в категории "Система" .

Они перетаскивают его в место, где обычно находится пароль, и выбирают запись и поле из двух выпадающих меню. И снова, ключа в проекте нигде нет.

Полезно знать.

  • Хранение учетных данных для входа в систему не заменяет существующие поля ввода повсюду. Адаптеры должны его поддерживать. Там, где оно еще не предлагается, все остается как обычно.
  • Уникальное имя можно изменить позже, но тогда вам придётся обновить все экземпляры, которые его используют. В столбце « Используется» отображаются экземпляры; скрипты вам нужно будет проверить самостоятельно.

Записи зашифрованы в конфигурации данной установки. Поэтому их также следует включить в резервную копию: см. раздел «Резервное копирование» .