Перейти к содержанию

Трассировки

Настройки → Автоматизации и сцены → ⋮ → Трассировки, вкладка «Изменённые переменные». Home Assistant сохраняет там все переменные автоматизации, но их полторы сотни и значимое тонет среди служебного, поэтому вся картина пересчёта собрана в один объект diag:

diag:
  вердикт: пишем ток 14.0 → 16.0 А
  решение:   {заряжать, остановить, причина_остановки, тревога, чужая_сессия}
  команды:   {записать_ток, включить, выставить_режим, пауза_вышла, ...}
  ток:       {уставка_сейчас, уставка_нужна, расчёт_до_округления, идёт_по_факту,
              границы, шаг, зона_нечувствительности, возраст_уставки_с}
  план:      {источник, нужно_квтч, часов_осталось, ёмкость_квтч,
              напряжение, источник_напряжения, фаз, кпд, мороз}
  заряд:     {процент, цель, достигнута, данные_валидны, проблема, не_менялся_мин}
  станция:   {выключатель, статус, кабель_подключён, на_связи, неисправность, ...}
  окно:      {внутри, начало, конец, день_подходит, резерв_мин, аварийная_дозарядка}
  место:     {машина_дома, положение_известно, трекер, зона, требовать_дом}

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

Сразу поднимите лимит трассировок

К концу сессии от неё не остаётся ничего

Home Assistant хранит только 5 последних трассировок на автоматизацию. Пересчёт идёт каждые 10–30 минут, поэтому 5 трассировок — это меньше часа истории: к концу сессии от неё не остаётся ничего, и разобрать случившееся уже нечем.

Сделайте это до первого запуска, а не после того, как что-то пойдёт не так. Настройки → Автоматизации и сцены → ваша автоматизация → ⋮ → Изменить в YAML, и добавьте trace: первой строкой:

trace:
  stored_traces: 100
alias: Нежная зарядка EV
use_blueprint:
  path: ev_smart_charging/ev_smart_charging.yaml
  input:
    # ...ваши настройки, их менять не нужно

Блок input: со всеми вашими настройками уже там — просто добавьте две строки trace: сверху и сохраните.

100 покрывает несколько сессий подряд — этого хватает, чтобы поймать плавающую проблему, не дожидаясь её повторения.

Цена — память: в каждой трассировке Home Assistant хранит не только значения переменных (около 6 КБ), но и развёрнутый конфиг автоматизации, поэтому одна обходится в несколько десятков килобайт. Сотня — порядка 5 МБ в оперативной памяти, и столько же в .storage после остановки Home Assistant. На обычном хосте это незаметно; на Raspberry Pi с несколькими такими автоматизациями разумнее ограничиться 50.

Ключ trace: относится к самой автоматизации, а не к блюпринту, поэтому задать его из блюпринта нельзя — это делается один раз вручную. При обновлении блюпринта настройка сохраняется.

Если проблему нужно ловить несколько сессий подряд — полагайтесь на журнал, а не на трассировки: он не вытесняется и переживает перезагрузку.