Поиск неисправностей

Когда что-то не работает, возникает сильное искушение немедленно что-нибудь изменить: перезапустить экземпляр, переустановить адаптер, переустановить систему. В большинстве случаев это просто пустая трата времени, поскольку причина остается неизвестной, и ошибка появляется снова. На этой странице описана последовательность действий, в которой вы можете найти причину проблемы.

Сначала сузьте круг поиска, а затем измените его.

Четыре вопроса за несколько минут прояснят, в чём заключается ошибка:

  1. ioBroker вообще работает?iobroker status Проверьте командную строку или возможность открытия административного интерфейса. Если нет, перейдите к сообщению "ioBroker больше не запущен" .
  2. Запущен ли затронутый экземпляр? На вкладке «Экземпляры» цветная точка указывает на его статус. Красный цвет означает, что он не запущен.
  3. Получаются ли значения? На вкладке «Объекты» найдите интересующую вас точку данных и проверьте метку времени. Если она старая, адаптер ничего не возвращает. Если она актуальная, проблема кроется дальше, возможно, в скрипте или визуализации.
  4. С каких пор? Что было последним изменением: обновление, новый адаптер, новый скрипт, отключение электроэнергии? Временные рамки часто являются половиной ответа.

Ознакомьтесь с протоколом.

Протокол является наиболее важным источником. Здесь важны две вещи:

Читайте вверх, а не вниз. Заметное красное сообщение об ошибке часто является следствием, а не причиной. Истинная причина обычно находится несколькими строками выше.

Скачайте файл, а не изображение. В браузере длинные строки обрезаются, и отображаются только сообщения за текущий день с момента открытия страницы. Полный ежедневный файл находится по адресу:/opt/iobroker/log и могут быть загружены со вкладки «Журналы». Это также можно сделать через командную строку:

iobroker logs --lines 200
iobroker logs --lines 100 --watch

С--watch Вывод выполняется параллельно с командой. Это наиболее удобный способ увидеть, что на самом деле происходит при запуске экземпляра.

Запросить дополнительные записи в журнале

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

Затем обратно кinfo откладывать.debug Она генерирует много текста, требует операций записи и не рекомендуется для использования на SD-карте.

Другие места, где что-либо написано

ГдеЧто там написано
ХозяеваСистемные уведомления: недостаточно памяти, сбои в работе системы, ожидающие обновления.
ОбзорСостояние системы, оперативная память, свободное место на диске. Переполненная файловая система может вызывать самые странные ошибки.
Детальная строка экземпляраКоличество перезапусков. Экземпляр, который постоянно перезапускается, всегда будет регистрировать одно и то же начало.
ПроизводительностьЕсли ничего не сломано, но всё просто работает медленно.

Наиболее распространенные причины

  • Недостаточно места для хранения.df -h в командной строке. Если диск заполнится, запись в базы данных станет невозможной.
  • Недостаточно памяти. В этом случае операционная система завершает работу экземпляров, но это часто не записывается в журнал.
  • Карта памяти SD выходит из строя. Типичным признаком являются периодические, колеблющиеся ошибки без какой-либо закономерности.
  • Неверная версия Node.js. Версии с нечётными номерами не поддерживаются.iobroker version и обновите Node.js.
  • Адаптер с GitHub, более новый, чем остальная часть системы.

Если дальше дело не зайдёт

Затем настаёт время задать вопрос на форуме или сообщить о баге разработчику. И то, и другое зависит от уже подготовленной нами работы. Как следует оформлять вопрос для ответа, объясняется в разделе «Форум », а как следует оформлять отчёт об ошибке , объясняется в разделе «Сообщить об ошибке ».