Oto jak debuguję moje automatyzacje w Home Assistant
Czasami możesz stworzyć automatyzację w Home Assistant i zadziała ona idealnie za pierwszym razem. Niestety, nie zawsze tak jest. Jeśli twoja automatyzacja nie działa zgodnie z oczekiwaniami, możesz szybciej znaleźć problem, korzystając ze śledzenia.
Dlaczego ślady są najszybszym sposobem debugowania automatyzacji
Automatyzacje w Home Assistant mogą mieć wiele kroków i gałęzi. Jeśli automatyzacja nie działa prawidłowo, próba ustalenia, co jest nie tak, poprzez analizowanie całej automatyzacji kawałek po kawałku lub przeszukiwanie YAML może być niewdzięcznym zadaniem. Ślady (traces) znacznie ułatwiają ustalenie, co jest nie tak i dlaczego.
W Home Assistant ślad (trace) to krok po kroku rejestrowany zapis działania automatyzacji, w tym znaczniki czasu. Analizując ślady, gdy automatyzacja działa nieprawidłowo, możesz zobaczyć, kiedy automatyzacja została uruchomiona, co ją wywołało, jakie akcje zostały wykonane, jakie ścieżki wybrała twoja automatyzacja oraz czy w którymkolwiek momencie działania wystąpiły błędy.
Wszystkie te informacje oznaczają, że jesteś znacznie lepiej poinformowany, gdy próbujesz ustalić, co poszło nie tak. Nie przeszukujesz gałęzi, które się nie uruchomiły, ani nie patrzysz na warunki, które nigdy nie zostały sprawdzone. Zamiast tego możesz dokładnie znaleźć miejsce, w którym automatyzacja zawiodła, i spróbować ustalić, co było tego przyczyną.
Gdzie znaleźć ślady i co rejestruje Home Assistant
Jeśli wcześniej nie korzystałeś ze śladów, są one bardzo łatwe do znalezienia w edytorze automatyzacji Home Assistant. Przejdź do Ustawienia > Automatyzacje i sceny, otwórz dowolną swoją automatyzację, a na górze ekranu zobaczysz przycisk „Ślady”. Kliknięcie tego przycisku przeniesie cię do śladów dla tej konkretnej automatyzacji. Możesz je również otworzyć za pomocą odpowiedniego menu z trzema kropkami na liście automatyzacji.
Po lewej stronie ekranu znajduje się wizualna reprezentacja Twojej automatyzacji. Ścieżka, którą automatyzacja podążała podczas ostatniego uruchomienia, jest podświetlona.
Na górze głównego panelu zobaczysz zestaw zakładek. „Oś czasu śledzenia” pokazuje czas, w którym uruchomiono automatyzację, podjęte działania oraz moment zakończenia działania automatyzacji. „Powiązana aktywność” pokazuje wszelkie powiązane działania, które miały miejsce poza automatyzacją, takie jak zmiany stanu pomocników, a „Konfiguracja automatyzacji” pokazuje pełną konfigurację YAML automatyzacji w momencie jej uruchomienia.
Zakładka „Szczegóły kroku” ma własne trzy zakładki. Zawartość każdej z tych zakładek odnosi się wyłącznie do aktualnie wybranego węzła w grafie śledzenia po lewej stronie ekranu. Jeśli wybierzesz inny węzeł, zawartość zakładek się zmieni.
"Konfiguracja kroku" pokazuje konfigurację YAML dla wybranego kroku. "Zmienione zmienne" pokazują wszystkie zmienne, które zmieniły się podczas tego konkretnego kroku. "Powiązana aktywność" pokazuje wszystkie zewnętrzne zmiany, które miały miejsce podczas tego kroku, takie jak włączanie lub wyłączanie pomocników.
Domyślnie dla wszystkich automatyzacji zapisywane są ostatnie pięć śladów. Możesz to zmienić, ustawiając wartość „stored_traces” na inną w swojej automatyzacji. Automatyzacje napisane w YAML również muszą zawierać identyfikator, aby ślady mogły być przechowywane.
Jak czytać ślad
Ślady czasami mogą wydawać się na początku nieco mylące, ale gdy je zrozumiesz, zazwyczaj są bardzo pouczające. W wykresie śladów znajdują się niektóre kluczowe węzły, które mogą pomóc Ci znaleźć przyczynę problemów z automatyzacją.
Po pierwsze, węzły, które wyglądają jak gwiazdy na górze wykresu śledzenia, to węzły wyzwalające. To one powodują uruchomienie automatyzacji i możesz mieć kilka różnych wyzwalaczy. Wyróżniony węzeł to ten, który spowodował uruchomienie automatyzacji, więc wybranie go jest dobrym punktem wyjścia.
Węzły z ikonami A/B reprezentują warunki. Pokażą one dwie ścieżki, którymi automatyzacja będzie podążać, w zależności od spełnienia warunków. Trasę, którą podążała automatyzacja, można zobaczyć, szukając podświetlonych węzłów.
Węzły z ikonami dzwonka to działania. Są to operacje, które może wykonywać Twoja automatyzacja. Te podświetlone to działania, które zostały wykonane podczas ostatniego uruchomienia; możesz wybrać jeden z tych węzłów działań, aby zobaczyć szczegóły działania.
Węzły z wieloma strzałkami oznaczają węzły decyzyjne, takie jak akcje wybierz lub jeśli/wtedy. Są to miejsca, w których automatyzacja podąża inną ścieżką w zależności od określonych warunków. Jeśli twoja automatyzacja podąża niewłaściwą ścieżką, warto przyjrzeć się właśnie tym miejscom.
Węzły z polami wyboru pokazują, czy warunek został spełniony lub czy akcja została wykonana pomyślnie. Pole wyboru jest puste, jeśli warunek nie został spełniony lub akcja nie została uruchomiona, i pokazuje znak zaznaczenia, jeśli warunek został spełniony lub akcja została wykonana pomyślnie.
Napraw najczęstsze problemy z automatyzacją za pomocą śledzenia
Możesz używać śladów w Home Assistant, aby rozwiązać wiele najczęstszych problemów z automatyką. Na przykład, jeśli twoja automatyka nie działa w odpowiednim momencie, możesz użyć śladów, aby w tym pomóc.
Jeśli istnieją ślady, oznacza to, że automatyzacja faktycznie działała, ale albo jakiś warunek, albo coś innego w Twojej automatyzacji uniemożliwiło jej dotarcie do właściwych akcji. Sprawdź węzły warunków w śladach, aby zobaczyć, którą ścieżką podążyła. Jeśli nie ma wpisów śladów dla tej automatyzacji, może ona w ogóle się nie uruchomiła, więc będziesz musiał dokładniej przyjrzeć się swoim wyzwalaczom, aby zobaczyć, dlaczego tak się mogło stać.
Jeśli automatyzacja się uruchomi, ale nie działa zgodnie z oczekiwaniami, zacznij od węzłów wyzwalacza, aby sprawdzić, który wyzwalacz się uruchomił i czy to było to, czego oczekiwałeś. Możesz zobaczyć, który wyzwalacz spowodował uruchomienie automatyzacji oraz szczegóły tego, co spowodowało jej wywołanie.
Jeśli automatyzacja działa, ale wykonuje niewłaściwe czynności, często jest to spowodowane tym, że wybrała niewłaściwą gałąź lub ponieważ właściwa czynność została wykonana, ale dotyczyła niewłaściwego obiektu. Możesz użyć śledzenia, aby zobaczyć, którą gałąź podążała automatyzacja; jeśli to niewłaściwa gałąź, problem prawdopodobnie leży w warunku. Jeśli akcja uruchamia się poprawnie, spójrz na ten węzeł akcji, aby zobaczyć, które obiekty były celem akcji.
Jeśli automatyzacja się uruchomi, ale utknie w połowie i nigdy się nie zakończy, ślady mogą być naprawdę przydatne. Możesz zobaczyć, które węzły zostały wykonane, a które nie, co pozwala dokładnie określić, gdzie automatyzacja zawiodła. Następnie możesz przeanalizować węzły, w których wystąpiły problemy, aby spróbować znaleźć przyczynę, na przykład niepożądaną akcję opóźnienia lub warunek, który nigdy nie został spełniony.
Ślady w Home Assistant nie są doskonałe. Nie oczekuj, że dadzą Ci jasny i prosty powód, dla którego Twoja automatyzacja nie działa w prostym języku angielskim. Ślady wymagają pewnej interpretacji, ale gdy już zrozumiesz, jak działają, często są najszybszym sposobem, aby dojść do sedna problemów z automatyzacją w Home Assistant.




