Поиск неисправностей
Когда что-то не работает, возникает сильное искушение немедленно что-нибудь изменить: перезапустить экземпляр, переустановить адаптер, переустановить систему. В большинстве случаев это просто пустая трата времени, поскольку причина остается неизвестной, и ошибка появляется снова. На этой странице описана последовательность действий, в которой вы можете найти причину проблемы.
Сначала сузьте круг поиска, а затем измените его.
Четыре вопроса за несколько минут прояснят, в чём заключается ошибка:
- ioBroker вообще работает?
iobroker statusПроверьте командную строку или возможность открытия административного интерфейса. Если нет, перейдите к сообщению "ioBroker больше не запущен" . - Запущен ли затронутый экземпляр? На вкладке «Экземпляры» цветная точка указывает на его статус. Красный цвет означает, что он не запущен.
- Получаются ли значения? На вкладке «Объекты» найдите интересующую вас точку данных и проверьте метку времени. Если она старая, адаптер ничего не возвращает. Если она актуальная, проблема кроется дальше, возможно, в скрипте или визуализации.
- С каких пор? Что было последним изменением: обновление, новый адаптер, новый скрипт, отключение электроэнергии? Временные рамки часто являются половиной ответа.
Ознакомьтесь с протоколом.
Протокол является наиболее важным источником. Здесь важны две вещи:
Читайте вверх, а не вниз. Заметное красное сообщение об ошибке часто является следствием, а не причиной. Истинная причина обычно находится несколькими строками выше.
Скачайте файл, а не изображение. В браузере длинные строки обрезаются, и отображаются только сообщения за текущий день с момента открытия страницы. Полный ежедневный файл находится по адресу:/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, более новый, чем остальная часть системы.
Если дальше дело не зайдёт
Затем настаёт время задать вопрос на форуме или сообщить о баге разработчику. И то, и другое зависит от уже подготовленной нами работы. Как следует оформлять вопрос для ответа, объясняется в разделе «Форум », а как следует оформлять отчёт об ошибке , объясняется в разделе «Сообщить об ошибке ».