Aktualizacja HA zatrzymuje NR a po restarcie NR nie wstaje prawidłowo :(

Witam Szanownych HA-sowiczów, Jak dotąd dzięki zasobom tego forum dzielnie rozwiązywałem wszystkie swoje problemy z moim domowym mózgiem, jednak właśnie pojąłem że od kilku miesięcy jak kretyn restartuje ND zaraz po aktualizacji HA bo co dwa dni średnio wszystko staje w miejscu. Zabijcie lub oszczędźcie jeśli powielam temat ale nigdzie nie znalazłem rozwiązania.
Nadmienię że mam Ha na Rpi. Jak tylko wchodzi aktualizacja (choćby w formie tylko komunikatu o takowej) to ND już nie wykonuje swoich zadań, więc aktualizuje → autorestart → … i ND wstaje ale łączy się i rozłącza z HA, robię restart samego ND i wszystko działa. Oczywiście każdy inny restart czy to HA czy całego RPI nie powoduje usterek w sprawności ND i wszystko śmiga jak należy:)
Panowie, pomożecie ?

Jakieś logi z NR? Aktualizujesz Nody w Manage palette NR ? Często z powodu braku aktualizacji nodów które niestety same się nie aktualizują powstaje wiele problemów z NR.

No właśnie ubolewam że ostatnich logów nie zgrałem, ale spokojnie max pojutrze będą świeżutkie:)
Co do nodów- Faktycznie, gdzieś otarłem się o poradę która zakładała aktualizację nodów i odinstalowanie/zainstalowanie ponowne tych które były tam wymienione. I powiem tak, wydaje mi się że max dwa razy wszystko ruszyło jak trzeba, później znów kicha, a w nodach wszystko git!! dodam jeszcze że mogło się to pokryć z aktualizacją HA OS, które czasami nie powodują tego fackupu, za to aktualizacja CORE to zwiecha murowana :frowning:
Zasadniczo ten problem jest bardzo powszechny, toczą sie nawet jawne wojny pomiędzy użytkownikami a ekipą z NABU (z wypominaniem opłat włącznie), i załogą ND. A mam wrażenie jak bym pisał o jakiejś niszowej sytuacji :frowning:

No cóż czasami NR ma jakieś swoje fanaberie, zamrożony frontend, nie startuje wraz z HA, lub jakiś nod potrafi wywalać NR przy czym nie ma żadnej informacji w logach. Jeżeli często masz takie problemy spróbuj zrobić sobie listę nodow które masz zainstalowane i wyłączać (odinstalować) je po kolei i obserwować czy coś się poprawia .
Pojawiła się nowa wersja node-red-contrib-home-assistant-websocket

Dzięki, zaktualizowałem.

Zdefiniuj “często” - CORE wychodzi co dwa trzy dni, jak nie codziennie :frowning:
Btw… a może macie pomysł na jakąś funkcję, np 5 minut po restarcie HA zrestartuj ND … tylko zaznaczam cobyście tu nie ‘fisiowali’ z fachowymi określeniami - uprzedzam że w ND jakoś se radze, na poziomie “już nie płaczę” ale np automatyzacji w samym HA nie udało mi się żadnej zrobić, więc wersję dla idioty poprosz :slight_smile:

  • w sumie teraz pomyślałem ze też aktualizacje OS i CORE przydało by się automatycznie uruchamiać, bez potwierdzania ręcznie, bo już sam fakt że w/w jest oczekująca, wystarczy aby ND “poszedł na fajkę”

?
HA core wychodzi raz na miesiąc (no chyba, że mówisz o wersji dev albo beta), jeśli chcesz mieć mało problemów, to aktualizuj HA core w ostatnim tygodniu miesiąca, gdy wersja stable ma już wszystkie łatki dla danego “dużego” wydania (comiesięcznego).

Słabszego pomysłu dawno nie widziałem - potem się coś sypie i nie wiadomo ani co, ani dlaczego.

Powinieneś rozwiązać ten problem (przykro mi, nie wiem jak, ale to on jest tu kluczowy)

  • To ty wiadomości zacznij oglądać, tam słabszych pomysłów będziesz miał do usrania :slight_smile:
    A poważnie, to przecież ja cały czas to robię, tylko ręcznie, cały HA działa mi od dwóch lat bez usterek, więc jeśli “coś” zacznie się sypać to będzie to własnie to! każda aktualizacja robi kopie na GD więc mam zawsze kilka kopii wstecz.
    Że już w ogóle nie wspomnę o samym założeniu HA, przecież TO ma automatyzować i wyręczać mnie z rutynowych zadań …a paradoksalnie zautomatyzowało najbardziej mnie :slight_smile: wszak żeby np pozamykał rolety po zachodzie słońca, to ja muszę najpierw iść i sprawdzić czy ND szanowny nie śpi :slight_smile: Automatyzacja to automatyzacja co za różnica, czy włącza żarówkę czy update …?!?

  • A po za protokołem, czy przypadkiem "słabości pomysłu’', nie powinno się oceniać przez pryzmat jego ew rozwiązania? Nie znając sposobu rozwiązania problemu, nie można ocenić samej koncepcji na jego rozwiązanie. Bo to ocenią dopiero działania empiryczne. INOMHO
    Na szczęście, niektórzy wolą jednak sprawdzić czy coś się da zrobić, a czego nie. Dzięki temu wynaleziono np żarówkę :slight_smile: bo jak by jej nie wynaleziono, to byśmy musieli dziś telewizję przy świeczkach oglądać :slight_smile:

I szanowny Panie Kolego, nie piję broń boże do Pana, bo i mnie samemu ten pomysł wydaje się być średni, ale na razie jest jedyny!

1 polubienie

Potraktuj to jak dobry lekarz, a nie jak szalony naukowiec :stuck_out_tongue:
Po prostu znajdź przyczynę i ją usuń zamiast leczyć skutki zbędnymi aktualizacjami - leży ona gdzieś wewnątrz NR, który w normalnej sytuacji jest po prostu osobnym bytem (to oddzielny serwer od HA i w dodatku w osobnym kontenerze, więc gdyby nie szukał informacji o aktualizacjach HA czy OS, których w normalnej sytuacji nie szuka, to by się nic nie sypało).

1 polubienie

Chyba cię zrozumiałem, czyli trzeba się zająć NR a nie HA, to poczekam na logi bo bo nie wiem czy to nie HA zatrzymuje NR jak dostaje aktualizacje. Bo jeśli tak to w NR nic nie zrobię, czyli koło się zamyka:(

Gdyby HA “sam z siebie” zatrzymywał losowo wybrane Dodatki (czy kontenery w instalacji dockerowej), to mielibyśmy wysyp wątków z problemami dotyczących losowych Dodatków (czy losowych kontenerów).
Taką władzę właściwie to ma Supervisor, a nie HA, ale pomińmy to - sprawdź czy masz wyłączonego watchdoga (to się teraz nazywa Obserwator).

Nie musisz mi wierzyć, ale problem na 99,9% leży w NR, choćby dlatego, ze umożliwia on uruchamianie kodu nieznanej jakości.

Monitorujesz w ogóle zasoby? bo przytłaczająca większość wątków z problemami dotyczącymi NR to wyniki wycieków pamięci powodowanych przez wadliwy kod (możliwe, że twój przypadek jest inny, ale z fusów wróżę, że i tak dotyczy NR lub kodu w nim uruchomionego).

-Dobry, strzał ! faktycznie wszedłem w Supervisor → restart → i dupa, NR leży …

a w logach:

5 Oct 01:44:16 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:44:17 - [info] [server:Home Assistant] Connected to http://supervisor/core
5 Oct 01:44:17 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:17 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:22 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:44:22 - [info] [server:Home Assistant] Connected to http://supervisor/core
5 Oct 01:44:22 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:22 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:27 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:44:27 - [info] [server:Home Assistant] Connected to http://supervisor/core
5 Oct 01:44:27 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:27 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:32 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:44:32 - [info] [server:Home Assistant] Connected to http://supervisor/core
5 Oct 01:44:32 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:32 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:37 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:44:37 - [info] [server:Home Assistant] Connected to http://supervisor/core
5 Oct 01:44:38 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:38 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:43 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:44:43 - [info] [server:Home Assistant] Connected to http://supervisor/core
5 Oct 01:44:43 - [info] [server:Home Assistant] Connection closed to http://supervisor/core
5 Oct 01:44:43 - [info] [server:Home Assistant] Connection closed to http://supervisor/core

-od góry do dołu więc nie widzę co jest na początku, ale zakładam że wszystko ok …
Tylko co teraz? Jak Supervisora ukarać za takie postępowanie ? Jak dać mu klapsa ?

p.s

  • logi po restarcie NR
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/00-banner.sh
-----------------------------------------------------------
 Add-on: Node-RED
 Flow-based programming for the Internet of Things
-----------------------------------------------------------
 Add-on version: 13.4.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 9.0  (armv7 / raspberrypi3)
 Home Assistant Core: 2022.10.0b6
 Home Assistant Supervisor: 2022.09.3
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
cont-init: info: /etc/cont-init.d/00-banner.sh exited 0
cont-init: info: running /etc/cont-init.d/01-log-level.sh
cont-init: info: /etc/cont-init.d/01-log-level.sh exited 0
cont-init: info: running /etc/cont-init.d/customizations.sh
cont-init: info: /etc/cont-init.d/customizations.sh exited 0
cont-init: info: running /etc/cont-init.d/nginx.sh
cont-init: info: /etc/cont-init.d/nginx.sh exited 0
cont-init: info: running /etc/cont-init.d/node-red.sh
patching file nodes/ui_base.html
Hunk #1 succeeded at 1164 (offset 633 lines).
up to date, audited 91 packages in 3s
16 packages are looking for funding
  run `npm fund` for details
found 0 vulnerabilities
cont-init: info: /etc/cont-init.d/node-red.sh exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun nginx (no readiness notification)
services-up: info: copying legacy longrun nodered (no readiness notification)
s6-rc: info: service legacy-services successfully started
[01:48:44] INFO: Starting Node-RED...
> start
> node $NODE_OPTIONS node_modules/node-red/red.js "--settings" "/etc/node-red/config.js"
5 Oct 01:48:52 - [info] 
Welcome to Node-RED
===================
5 Oct 01:48:52 - [info] Node-RED version: v3.0.2
5 Oct 01:48:52 - [info] Node.js  version: v16.16.0
5 Oct 01:48:52 - [info] Linux 5.15.61-v7 arm LE
5 Oct 01:48:55 - [info] Loading palette nodes
5 Oct 01:49:08 - [info] Dashboard version 3.2.0 started at /endpoint/ui
5 Oct 01:49:11 - [info] Settings file  : /etc/node-red/config.js
5 Oct 01:49:11 - [info] Context store  : 'default' [module=memory]
5 Oct 01:49:11 - [info] User directory : /config/node-red/
5 Oct 01:49:11 - [warn] Projects disabled : editorTheme.projects.enabled=false
5 Oct 01:49:11 - [info] Flows file     : /config/node-red/flows.json
5 Oct 01:49:11 - [info] Server now running at http://127.0.0.1:46836/
5 Oct 01:49:12 - [info] Starting flows
[01:49:12] INFO: Starting NGinx...
5 Oct 01:49:12 - [info] Started flows
5 Oct 01:49:17 - [info] [server:Home Assistant] Connecting to http://supervisor/core
5 Oct 01:49:17 - [info] [server:Home Assistant] Connected to http://supervisor/core

To mój log wyciągnięty z docker

[ 'payload', 'brightness' ]
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] JD0: 2459856.5Date:Wed Oct 05 2022 00:01:12 GMT+0200 (Central European Summer Time) TZ Offset: -120 User Offset: 0
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] UTC Day: 4UTC Month:10 UTC Year:2022 UTC Hour:22 UTC Minute:1 UTC Second:12
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] JD: 2459857.4175
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] DeltaT: 65
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] gmst: 22:55:30
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] lmst: 02:25:30
5 Oct 00:01:15 - [red] Uncaught Exception:
5 Oct 00:01:15 - [error] UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "3".
[00:01:16] WARNING: Node-RED crashed, halting add-on
[00:01:16] INFO: Node-RED stopped, restarting...
s6-rc: info: service legacy-services: stopping
[00:01:16] INFO: Node-RED stopped, restarting...
s6-svwait: fatal: supervisor died
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
# 5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] JD0: 2459856.5Date:Wed Oct 05 2022 00:01:12 GMT+0200 (Central European Summer Time) TZ Offset: -120 User Offset: 0
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] UTC Day: 4UTC Month:10 UTC Year:2022 UTC Hour:22 UTC Minute:1 UTC Second:12
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] JD: 2459857.4175
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] DeltaT: 65
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] gmst: 22:55:30
5 Oct 00:01:12 - [info] [astrodata sunposition:c580c0b29f81d901] lmst: 02:25:30
5 Oct 00:01:15 - [red] Uncaught Exception:
5 Oct 00:01:15 - [error] UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "3".
[00:01:16] WARNING: Node-RED crashed, halting add-on

No panowie skoro już wykopaliście źródło problemu, to generujcie ładne logi i do roboty - developerzy muszą je dostać:

Prawem Murphy’ego dziś przyszła aktualizacja Core i nie zatrzymała NR. Po jej instalacji i restarcie … NR wstał i działa poprawnie. Nie zapeszając, wygląda na to że wystarczyło tylko napisać o problemie na tym forum i już jest rozwiązany?!?
Może Morawiecki powinien tu napisać o inflacji - :slight_smile:

-a serio: ta aktualizacja była wersją finalną. - faktycznie jedyne co do tej pory zrobiłem to opuściłem kanał Beta. Teraz włączę go ponownie i zobaczę czy aktualizacja z bety zachowa się tak samo.

20 minut później !!! - przyszła aktualizacja Supervisora, nie zatrzymała NR, no to instalacja i restart → no i dupa NR leży … :frowning: czyli ewidentnie Supervisor, co teraz?

Wcale nie jest takie pewne, że supervisor jest winny :stuck_out_tongue:
W przypadku, gdy jakiś dodatek wywróci się ileś-tam razy w określonym czasie, supervisor wychodzi z trybu naprawiania kontenerów i przechodzi do trybu “poddaję się” (i wtedy kontener się wywraca i już leży).
Można go ręcznie zmusić do naprawy kontenerów tak:
ha supervisor repair
(ma to sens tylko jeśli skrypty autonaprawy są w stanie sobie poradzić z danym problemem, więc nie licz na cud, to może nie zadziałać na tyle by problem zniknął)

Ale moja sugestia jest taka, by poszukać problemów w samym NR i znaleźć kod który go wywraca, może masz poinstalowane jakieś podejrzane nody (lub niekatualne?), przyczyn może być 1000.

Zgłosiłeś issue, tam gdzie trzeba? Bo na forum nikt nie naprawi błędów w oprogramowaniu…


Swoją drogą tak poza wszystkim odradzam kanał beta na instalacji “produkcyjnej” - takie rozwiązanie to proszenie się o kłopoty, na becie wywrotki czegokolwiek są normalnością (po to jest beta - to kanał dla testerów, którzy mają czas by na bieżąco zgłaszać nowe problemy w formie issues na githubie we właściwych repozytoriach - tak by informacje trafiały bezpośrednio do autorów softu, który ma błędy, niestety Node-RED jest sam środowiskiem do uruchamiania kodu, za który odpowiedzialność ponosi jego użytkownik, więc to ten użytkownik (czyli Ty) musi go ogarniać, by był bez błędów.

Jeżeli jest to problem źle napisanego kodu w NR, to najlepszą opcją by było wyciągnięcie pliku ze wszystkimi flow i wgranie pustego, by NR odpalił się pusty. Jak wstanie i będzie działał stabilnie to wiadomo, gdzie szukać przyczyny. A potem po jednym flow sprawdzać, który jest problemem.

1 polubienie

Dzisiaj były obie aktualizacje i żadna nie wstrzymała NR, oraz za każdym razem wstał poprawnie. Niniejszym nic kuźwa nie rozumiem.

Spróbowałęś zrozumieć to?

Napierdzielasz aktualizacjami na lewo i prawo, a czytujesz kiedykolwiek notatki do wydań (release notes)???