Ошибки адаптера: проблемы с установкой, запуском и производительностью.
В этой главе рассматриваются исключительно проблемы, специфичные для адаптера . Общие системные проблемы (ioBroker не запускается, блокировки базы данных, обновления Node.js) см. в разделе: ioBroker больше не работает.
1. Проблемы с установкой адаптера
Типичные сообщения об ошибках
npm ERR! code ENOTFOUND/ENOTEMPTY/EINTEGRITY- Установка прерывается или адаптер не отображается в списке.
Cannot install adapterнесмотря на, казалось бы, правильную конфигурацию
Диагностика с помощью iob diag
Первый шаг — диагностика системы:
iob diag
Онiob diag Команда уже показывает:
- ✅ Настройка и доступность репозитория
- ✅ Версия ОС и ожидающие обновления
- ✅ Версии и совместимость Node.js/NPM
- ✅ Последние записи в журнале
- ✅ Проблемы с правами доступа
Проверьте вывод на наличие:
- ❌ Отсутствует список репозиториев
- ❌ Неправильная конфигурация репозитория (последняя версия вместо стабильной)
- ❌ Устаревшая версия Node.js
- ❌ Ошибка NPM
- ❌ Ошибка доступа
Решения, основанные на диагностике IOB.
В случае проблем с репозиторием:
а) Список репозиториев полностью отсутствует:
iob repo add stable http://download.iobroker.net/sources-dist.json
iob update
b) Проблемы с последними/бета-версиями адаптеров — вернитесь к стабильной версии:
# Aktuelle Repository-Konfiguration anzeigen:
iob repo list
# Latest/Beta deaktivieren, stable aktivieren:
iob repo unset beta
iob repo unset latest
iob repo set stable
iob update
Важно: После перехода с последней версии на стабильную, установленные бета-версии не будут автоматически понижены до предыдущей. Вам необходимо дождаться обновления до стабильной версии или понизить версию вручную.
iobroker upgrade <adaptername>@<stable-version>
Понимание различий между репозиториями: → См. Что такое репозиторий
Что касается проблем с версиями Node.js:
→ См. инструкции по обновлению Node.js
Что касается проблем с кэшированием npm:
# Cache-Integrität prüfen:
npm cache verify
Что это такое?npm cache verify ?
- Проверяет целостность всех кэшированных пакетов.
- Автоматически удаляет поврежденные или несогласованные данные кэша (сборка мусора).
- Проверяет индекс кэша
- Начиная с npm@5, кэш самовосстанавливается и автоматически обновляется.
Очищайте кэш полностью только в случае появления ошибок:
npm cache clean --force
⚠️ Примечание: Эта команда очистит весь кэш и должна использоваться только в случае возникновения реальных проблем с кэшем.
Установите адаптер на место без повреждений:
iobroker stop <adaptername>
iobroker del <adaptername>
rm -rf /opt/iobroker/node_modules/iobroker.<adaptername>
# Neuinstallation über Admin-Oberfläche (empfohlen)
# ODER per Konsole:
iobroker install <adaptername>
2. Проблемы с запуском адаптера
Типичные симптомы
- В списке экземпляров адаптер остается красным/желтым.
Error: Cannot find module <...>- Адаптер кратковременно включается, а затем немедленно выключается.
SyntaxError: Unexpected tokenв файлах адаптера
Специальная диагностика адаптера
Целенаправленный анализ журналов адаптера:
# Live-Logs für spezifischen Adapter:
iobroker logs <adaptername> --watch
# Letzte 100 Zeilen:
iobroker logs <adaptername> | tail -100
Запустите адаптер в режиме отладки:
# Adapter-Instanz deaktivieren
# Dann manuell im Debug-Modus starten:
cd /opt/iobroker/node_modules/iobroker.<adaptername>
node main.js 0 --debug
Это позволяет получить значительно больше информации, чем стандартный журнал.
Возможные решения
1. Восстановите установку ioBroker:
iobroker fix
⚠️ Важно:iobroker fix Восстанавливает всю установку ioBroker, включая:
- Права доступа к файлам для всех каталогов
- Системные пользователи и группы
- Зависимости и связи
- Это всегда возможно и должно быть первым шагом при возникновении проблем.
2. Сброс настроек адаптера:
# Adapter stoppen:
iobroker stop <adaptername>
# Konfiguration in Admin-Interface überprüfen
# Oft helfen Werkseinstellungen
3. Переустановите зависимости:
cd /opt/iobroker/node_modules/iobroker.<adaptername>
npm install --production
4. Переустановка (крайняя мера):
iobroker stop <adaptername>
iobroker del <adaptername>
rm -rf /opt/iobroker/node_modules/iobroker.<adaptername>
iobroker install <adaptername>
5. Для нативных модулей после крупного обновления Node.js:
# Nur bei Major-Versionswechsel (20→22):
iobroker rebuild <adaptername>
Проблемы при запуске, связанные с оборудованием.
При использовании функции "Неожиданный токен" в сочетании с Raspberry Pi:
→ Возможно, неисправна SD-карта! См. диагностику оборудования.
3. Проблемы с производительностью адаптера
Симптомы
- Адаптер реагирует с задержкой.
- Высокая нагрузка на процессор из-за одного адаптера.
- Адаптер вызывает утечки памяти.
- Информация о состоянии дел в штатах обновляется лишь периодически.
диагноз
1. Определите потребление ресурсов отдельными адаптерами:
# Alle ioBroker-Prozesse mit Ressourcen:
top -u iobroker
# Oder detaillierter mit htop:
htop -u iobroker
2. Журналы производительности, специфичные для адаптера:
# Adapter auf "debug" Log-Level setzen
# Dann Logs beobachten:
iobroker logs <adaptername> | grep -i "slow\|timeout\|warning"
Решения
1. Оптимизируйте интервалы опроса.
В конфигурации адаптера:
- Стандартное время: 5-10 секунд → лучшее: 30-60 секунд
- Только короткие интервалы для действительно необходимых данных.
- Полностью отключить ненужные объекты/состояния.
2. Снизьте уровень логарифмирования.
# In Admin → Instanzen → Adapter-Konfiguration:
# Log-Level von "debug" auf "info" oder "warn"
Журналы отладки могут создавать значительную нагрузку на производительность!
3. Настройте параметры кэширования адаптера.
Рекомендации по оптимизации производительности для конкретных адаптеров
Адаптер JavaScript/Blockly:
- Запускайте скрипты по отдельности и отслеживайте их производительность.
setInterval()избегайте коротких интервалов- Не храните большие массивы/объекты в оперативной памяти.
schedule()вместо постоянного опроса общественного мнения
История/InfluxDB/SQL:
- Регистрируйте только релевантные данные.
- Используйте политики хранения данных (автоматическое удаление старых данных).
- Включить агрегирование для высокочастотных данных
MQTT/Modbus/KNX:
- Используйте фильтры подписки (не по всем темам)
- Увеличьте интервалы переподключения.
- По возможности снизьте уровень качества обслуживания (QoS).
Zigbee/Z-Wave:
- Выполните оптимизацию сети.
- Удалите ненужные устройства
- Стратегически размещайте маршрутизаторы.
4. Распространенные проблемы, специфичные для адаптеров.
HomeMatic (hm-rpc, hm-rega)
Проблема: Соединение с блоком управления постоянно обрывается.
Решение:
- Используйте IP-адрес вместо имени хоста.
- Проверьте настройки брандмауэра CCU.
- Обновить версию адаптера
JavaScript/TypeScript
Проблема: скрипты не запускаются после перезапуска.
Решение:
- Проверьте DNS и прокси.
iobroker stop javascript
iobroker upload javascript
iobroker fix
iobroker start javascript
Зигби
Проблема:Error: Cannot open serial port /dev/ttyUSB0
Решение:
- Проверьте права доступа к /dev/ttyUSB*
- Тестирование USB-кабелей и флешек
- Правильно настройте адаптер и порт.
# User zur dialout-Gruppe hinzufügen:
sudo usermod -aG dialout iobroker
sudo reboot
Backitup (Docker)
Проблема:EACCES: permission denied
Решение: См. Проблемы с резервным копированием в Docker.
MQTT
Проблема: Журналы переполнены сообщениями.
Решение:
- В настройках: Подписаться только на релевантные темы.
- Установите уровень логирования на «предупреждение».
- Отключить функцию "Рекламировать собственные штаты"
ioBroker.vis
Проблема: не загружаются представления; ошибка 404 для /vis-views/. Решение:
- Проверьте права доступа к каталогу (chown -R iobroker:iobroker /opt/iobroker/www/vis-views)
- Очистить кэш
Передовые методы предотвращения ошибок
Перед установкой
iob diagвыполнить и проверить- Установите для репозитория стабильную версию (а не последнюю!).
- Ознакомьтесь с файлом readme адаптера и известными проблемами.
- Поищите на форуме актуальные проблемы.
- Создайте резервную копию:
iob backup
После установки
- Журналы монитора адаптера:
iobroker logs <adapter> --watch - Проверить потребление ресурсов:
top -u iobroker - Настройте параметры шаг за шагом.
- Дополнительные адаптеры следует устанавливать только после стабилизации системы.
Во время обновлений
- Ознакомьтесь с журналом изменений адаптера.
- Для важных обновлений сначала протестируйте их в тестовой системе.
- Перед обновлением создайте резервную копию.
- Проверьте журналы обновлений.
Важные инструкции
✅ Всегда делайте:
- Установите адаптер через административный интерфейс.
- В случае возникновения проблем сначала
iob diagвыполнять - Установите для производственных систем стабильный репозиторий.
iobroker fixвыполнить в случае возникновения проблем- Вместо того чтобы экспериментировать вслепую, лучше изучите логи адаптера.
- Найдите решения в разделе "Проблемы" на GitHub.
❌ Никогда этого не делайте:
- Установите адаптер навсегда из GitHub.
- С
sudoработа до выполнения команд ioBroker - Решайте сразу несколько проблем
- Тестовые адаптеры в рабочей системе находятся в ветке Beta/Latest.
- Создание нескольких экземпляров для повышения производительности (только увеличивает потребление оперативной памяти)
При возникновении дальнейших проблем: создайте тему на форуме с полной информацией.iob diag -Выходные и адаптерные журналы.