Рекомендации по использованию адаптеров
Адаптер может годами работать на других системах, и никто этого не заметит. Большая часть описанного здесь становится очевидной только тогда, когда он отсутствует. Баллы ранжированы в зависимости от того, каких неудобств он предотвращает.
Не начинайте с нуля.
Инструмент 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 Они перечислены в разделе «Опубликованные адаптеры» . Проект ведет список запрошенных адаптеров в разделе «Запросы адаптеров» .