Рекомендации по использованию адаптеров

Адаптер может годами работать на других системах, и никто этого не заметит. Большая часть описанного здесь становится очевидной только тогда, когда он отсутствует. Баллы ранжированы в зависимости от того, каких неудобств он предотвращает.

Не начинайте с нуля.

Инструмент Adapter Creator генерирует фреймворк со стандартной структурой каталогов, тестами и файлами перевода. Это не инструмент для начинающих, а скорее самый быстрый способ создать структуру, понятную другим. Дополнительные инструменты доступны в разделе Custom Adapter .

Для постоянного доступа к ioBroker@iobroker/adapter-core Никогда не используйте базы данных напрямую.

Уберитесь после завершения.

При завершении работы экземпляра очищаются все таймеры, подписки и открытые соединения. Если это игнорировать, экземпляр не сможет корректно перезапуститься, каждый перезапуск будет потреблять больше памяти, и в конечном итоге система пользователя выйдет из строя.

Это наиболее распространенная неисправность адаптеров, и именно ее пользователям сложнее всего обнаружить самостоятельно.

Используйте доступ экономно.

  • Запрашивайте показания устройства только тогда, когда их значение действительно изменяется. Для считывания показаний счетчика не требуется посекундная точность.
  • Запись значений производится только при их изменении. Каждая операция записи потребляет ресурсы и, если запись включена, память.
  • Создавайте объекты один раз, не переписывайте их при каждом запуске. Объект и состояние — это две разные вещи; см. контроллеры JavaScript .

Пользователь замечает неэффективное использование адаптера, когда его Raspberry Pi нагревается и SD-карта выходит из строя.

Правильная настройка ролей и подразделений.

Роль точки данных определяет, смогут ли средства визуализации, голосовые помощники и автоматическое распознавание устройств использовать её каким-либо образом.state Это допустимо, но это решение на тот случай, когда вы не знаете, как поступить иначе.

Так же,type ,unit ,min ,max ,read иwrite поддерживается. Точка данных без единицы измерения — это бессмысленное число.

Сохранять секреты

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

Никогда не записывайте данные доступа в журнал, даже на этом уровне.debug Выдержки из протоколов попадают в сообщения на форуме.

Всё тщательно документируйте.

info Это относится к нормальной работе: запуск, остановка, установление или разрыв соединения. Все остальное относится к последующему этапу.debug Адаптер, который записывает строку каждую секунду во время нормальной работы, делает журнал непригодным для использования всеми остальными. Подробнее см. раздел «Ведение журнала» .

Сообщения об ошибках призваны подсказать вам, что нужно делать.Error: undefined Это никому не поможет.

Разместите файлы в нужном месте.

Ваши собственные файлы должны находиться в файловом хранилище ioBroker, а не в созданной вами директории./opt/iobroker Это единственный способ включить их в резервную копию данных и обеспечить их сохранность после обновления.

Переводить

Текст в интерфейсе конфигурации и названия объектов переводятся. Переводчик принимает английский текст и выводит текст на других языках. Подробнее см. в разделе «Переводы» .

Пройдите тестирование

Автоматизированные тесты выявляют именно те ошибки, которые вы не увидите при ручном тестировании, поскольку ваше собственное устройство реагирует, и ваша конфигурация верна. См. раздел «Тестирование адаптеров» .

Перед освобождением адаптера

Условия включения в официальный репозиторий, включая категорию, тип подключения и подробности, указаны вio-package.json Они перечислены в разделе «Опубликованные адаптеры» . Проект ведет список запрошенных адаптеров в разделе «Запросы адаптеров» .