Problem z uruchomieniem Node-RED

Cześć, próbuję bez powodzenia uruchomić Node REDa na RPi
Co robię źle?

  1. Instaluję Node REDa ze sklepu z dodatkami
  2. Przechodzę do konfiguracji dodatku i przełączam się na tryb “Edytuj w trybie YAML”
  3. Znajduję tam kod:
certfile: fullchain.pem
credential_secret: ""
http_node:
  password: ""
  username: ""
http_static:
  password: ""
  username: ""
init_commands: []
keyfile: privkey.pem
npm_packages: []
ssl: true
system_packages: []
theme: default
  1. Zmieniam w nim dwie wartości:
credential_secret: "mojetajnehaslo123"
ssl: false (ponieważ nie mam jeszcze zainstalowanego certyfikatu)
  1. Rebootuję Home Assistanta
  2. Klikam uruchom (nie uruchamia się)
  3. Sprawdzam logi dodatku:
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.3.2
 You are running the latest version of this add-on.
 System: Home Assistant OS 8.5  (aarch64 / raspberrypi4-64)
 Home Assistant Core: 2022.8.6
 Home Assistant Supervisor: 2022.08.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 1 package in 484ms
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
[17:39:38] INFO: Starting Node-RED...
> start
> node $NODE_OPTIONS node_modules/node-red/red.js "--settings" "/etc/node-red/config.js"
25 Aug 17:39:41 - [info] 
Welcome to Node-RED
===================
25 Aug 17:39:41 - [info] Node-RED version: v3.0.2
25 Aug 17:39:41 - [info] Node.js  version: v16.16.0
25 Aug 17:39:41 - [info] Linux 5.15.32-v8 arm64 LE
25 Aug 17:39:42 - [info] Loading palette nodes
25 Aug 17:39:46 - [info] Dashboard version 3.1.7 started at /endpoint/ui
25 Aug 17:39:48 - [info] Settings file  : /etc/node-red/config.js
25 Aug 17:39:48 - [info] Context store  : 'default' [module=memory]
25 Aug 17:39:48 - [info] User directory : /config/node-red/
25 Aug 17:39:48 - [warn] Projects disabled : editorTheme.projects.enabled=false
25 Aug 17:39:48 - [info] Flows file     : /config/node-red/flows.json
25 Aug 17:39:48 - [warn] Encrypted credentials not found
25 Aug 17:39:48 - [info] Server now running at http://127.0.0.1:46836/
25 Aug 17:39:48 - [info] Starting flows
[17:39:48] INFO: Starting NGinx...
25 Aug 17:39:48 - [info] Started flows
25 Aug 17:39:53 - [info] [server:Home Assistant] Connecting to http://supervisor/core
25 Aug 17:39:53 - [info] [server:Home Assistant] Connected to http://supervisor/core

Co robię nie tak?

Przywrócić domyślna konfiguracje, zmień tylko ssl: false reszty nie zmieniaj i uruchom jeszcze raz NR

1 polubienie

Końcówka loga świadczy o tym, że NR wystartował

25 Aug 17:39:53 - [info] [server:Home Assistant] Connecting to http://supervisor/core
25 Aug 17:39:53 - [info] [server:Home Assistant] Connected to http://supervisor/core

Wszystkie te ustawienia od jakiegoś czasu można zrobić w GUI, nie ma musu edycji w trybie YAML

Nie bardzo kumam w jakim celu był krok 5. (reboot HA czy może HAOS?)
przecież NR to Dodatek = kontener (oddzielny byt od HA, w sumie jedynie Integracje wymagają restartu HA, ale nie rebootu maszyny)
W każdym razie po reboocie maszyny żaden dodatek, który nie ma włączonego auto-startu sam się nie uruchomi.

@artpc
PS hasło musi być ustawione (nie wnikałem w aktualną dokumentację, ale ma być, bo bez niego istotnie nie startuje).

@jacek.u
PPS GUI jest przynajmniej u mnie w aktualnej wersji HA zwalone i brak zaznaczenia autostartu wielu dodatków skutkuje wrażeniem jakoby dany Dodatek nie startował, ale ctrl+F5 (lub ctrl+R zależy jaka przeglądarka) zwykle na to pomaga.

Sugeruję najpierw dobrze poznać HA zanim wytoczysz takie armaty jak NR.

1 polubienie

To chyba bez tego tez nie wystartuje .

To było ostrzeżenie o braku szyfrowania, po wywaleniu credential_secret: z konfiguracji (tj. ustawieniu pustego hasła) próba uruchomienie kończy się błędem krytycznym i zatrzymaniem dodatku

[22:43:33] FATAL: 
[22:43:33] FATAL: Configuration of this add-on is incomplete.
[22:43:33] FATAL: 
[22:43:33] FATAL: Please be sure to set the "credential_secret" option.
[22:43:33] FATAL: 
[22:43:33] FATAL: The credential secret is an encryption token, much like
[22:43:33] FATAL: a password, that is used by Node-RED for encrypting
[22:43:33] FATAL: credentials you put into Node-RED.
[22:43:33] FATAL: 
[22:43:33] FATAL: Just like a password, a credential secret can be
[22:43:33] FATAL: anything you like. Just be sure to store it somewhere
[22:43:33] FATAL: safe for later, e.g., in case of a recovery.
[22:43:33] FATAL: 
cont-init: info: /etc/cont-init.d/node-red.sh exited 1
cont-init: warning: some scripts exited nonzero
s6-rc: warning: unable to start service legacy-cont-init: command exited 1
/run/s6/basedir/scripts/rc.init: warning: s6-rc failed to properly bring all the services up! Check your logs (in /run/uncaught-logs/current if you have in-container logging) for more information.
prog: fatal: stopping the container.
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

Konfiguracja załączona w 1 poście była wystarczająca do uruchomienia (i swoją drogą skończyła się prawidłowym uruchomieniem), problemu trzeba szukać w innym miejscu (może interfejs się po prostu nie wyświetla z powodu ustawień przeglądarki, bo log mówi jasno, że Dodatek NR uruchomił się wystarczająco prawidłowo).

Śmiem twierdzić inaczej mimo włączonego Autostartu, NR nie uruchamia się automatycznie.
Po aktualizacji 2022.8.6 - August 17 przestały działać wywołania niektórych usług, czytając zmiany w tej wersji nie zauważyłem żeby były wzmianki na temat aktualizacji/zmian w usługach ( Magiczne rączki :slight_smile: )

Mnie trochę zaskoczył z loga port, na którym usługa startuje. Nie powinno być na 1880?

1 polubienie

Już to robiłem - nie pomogło. Swoją drogą skorzystanie z przycisku “Przywróć domyślne” nie spowodowało widocznej zmiany konfiguracji. Dlatego kolejna próba polegała na zmodyfikowaniu ręcznym YAML ale także bez sukcesu.

Tak - próbowałem i tak i tak. A tutaj na forum łatwiej było zaprezentować stan przed i stan po w yaml.

Właśnie! A z logów nie potrafię wyczytać, żednego błędu. Niemniej kuleczka w GUI dodatku pozostaje czerwona i nie pojawiają się przyciski z komendami “Zatrzymaj” czy “Uruchom ponownie”. Dodatkowo kiedy wejdę na zakładkę Node Reda pojawiał się komunikat o tym, że dodatek nie jest uruchomiony.

To prawda. Potraktuj to jako czynność magiczną wynikającą z braku możliwości zastosowania się do zalecenia z Githuba “Remember to restart the add-on when the configuration is changed” - nie mogłem zrestartować dodatku, którego nie mogłem wystartować, więc w jednej z prób zainstalowania dodatku zrestartowałem HA - tak na wszelki wypadek. Nie spodziewałem się, że dodatek sam się uruchomi po tym restarcie.

Też się nad tym zastanawiałem. W yamlu, który załączyłem tego nie widać ale na GUI jest podstawiony port 1880

Jak już niedawno ustaliliśmy, masz talent do podnoszenia mi ciśnienia :crazy_face:

Edit:

Dziękuję wszystkim za włączenie się do dyskusji, i wszystkie podpowiedzi i sugestie.
Ostatecznie udało mi się uruchomić Node REDa dzięki magicznej czynności do której niechcący zainspirował mnie @szopen we wpisie

Postanowiłem spróbować czynności magicznej wyższego poziomu i… zrestartowałem hosta.
Po tej operacji HA uruchomił się z już uruchomionym Node REDem.
W związku z powyższym wątek uznaję za rozwiązany i zamknięty.

Zauważ że GUI HA w panelu Dodatków jest prawdopodobnie zwalone - pisałem o tym wyżej - mimo uruchomionego Dodatku (mówię ogólnie, bo to nie dotyczy NR tylko praktycznie dowolnego Dodatku, a zwykle w tych opcjach się nie grzebie, więc chyba mało kto zauważył ten problem) bywa on pokazywany jako nieuruchomiony, “cuda czyni” włączenie/wyłączenie opcji autostartu albo pokazywania interfejsu w sidebarze.
Eksperyment przeprowadziłem celowo na instalacji testowej.

1 polubienie

Dzięki za info - u mnie niestety te operacje nie pomagały ale warto wiedzieć i uwzględniać w przyszłości.

W pewnym sensie chyba czuję się lepiej, że z tradycyjnego rozwiązania, z dodatkami w HA, przeszedłem całkowicie na wersję opartą o dockery. I tak dziwnych sytuacji po prostu nie mam.

2 polubienia

Mam nadzieję, że pewnego dnia i ja osiągnę ten poziom

Nie ma “jedynego słusznego rozwiązania”, ja akurat jestem bardzo zadowolony z instalacji HAOS-generic, bo jak na razie (już kilka lat) okazuje się być odporna na wszelkie wywrotki, problem jak wspomniałem dotyczy GUI i musiał powstać przy okazji jakiejś niedawnej aktualizacji (ale skoro chodzi o GUI to teoretycznie może być związany z konkretną przeglądarką - używałem FF), a nie samych Dodatków (które w końcu są właśnie dockerowymi kontenerami i pracują jak należy), właściwie gdyby nie testy niektórych nowych rozwiązań, to nie wiedziałbym o problemie (założyłem radośnie, że może on dotyczyć tylko mojej instalacji testowej, ale udało mi się go potwierdzić też na innej instalacji, właściwie w tej sytuacji wypadałoby wykonać dodatkowe testy i zgłosić issue, ale nie mam do tego weny przy tym upale).

może mi ktoś podpowiedzieć gdzie szukać rozwiązania
od kilku dni NR nie uruchamia się
komunikat w przeglądarce: " 502 Bad Gateway - nginx"
W logu jest błąd, ale nie mogę namierzyć rozwiązania w necie.
Problem powstał po aktualizacji nodów, niestety nie mam backup’u :confused:

to jest log z NR:

Welcome to Node-RED

11 Jun 17:43:27 - [info] Node-RED version: v3.0.2
11 Jun 17:43:27 - [info] Node.js version: v18.16.0
11 Jun 17:43:27 - [info] Linux 6.1.29 x64 LE
11 Jun 17:43:31 - [info] Loading palette nodes
[17:43:41] INFO: Service Node-RED exited with code 256 (by signal 4)
[17:43:43] INFO: Starting Node-RED…

start
node $NODE_OPTIONS node_modules/node-red/red.js --settings /etc/node-red/config.js
11 Jun 17:43:50 - [info]
Welcome to Node-RED
===================
11 Jun 17:43:50 - [info] Node-RED version: v3.0.2
11 Jun 17:43:50 - [info] Node.js version: v18.16.0
11 Jun 17:43:50 - [info] Linux 6.1.29 x64 LE
11 Jun 17:43:53 - [info] Loading palette nodes
[17:44:05] INFO: Service Node-RED exited with code 256 (by signal 4)
[17:44:07] INFO: Starting Node-RED…
start
node $NODE_OPTIONS node_modules/node-red/red.js --settings /etc/node-red/config.js
11 Jun 17:44:15 - [info]
Welcome to Node-RED
===================
11 Jun 17:44:15 - [info] Node-RED version: v3.0.2
11 Jun 17:44:15 - [info] Node.js version: v18.16.0
11 Jun 17:44:15 - [info] Linux 6.1.29 x64 LE
11 Jun 17:44:18 - [info] Loading palette nodes
2023/06/11 17:44:30 [error] 1585#1585: *11 connect() failed (111: Connection refused) while connecting to upstream, client: 172.30.32.2, server: a0d7b954-nodered, request: “GET / HTTP/1.1”, upstream: “http://127.0.0.1:46836/”, host: “192.168.8.151:8123”, referrer: “http://192.168.8.151:8123/a0d7b954_nodered
[17:44:30] INFO: Service Node-RED exited with code 256 (by signal 4)
[17:44:32] INFO: Starting Node-RED…
start
node $NODE_OPTIONS node_modules/node-red/red.js --settings /etc/node-red/config.js
11 Jun 17:44:39 - [info]
Welcome to Node-RED
===================
11 Jun 17:44:39 - [info] Node-RED version: v3.0.2
11 Jun 17:44:39 - [info] Node.js version: v18.16.0
11 Jun 17:44:39 - [info] Linux 6.1.29 x64 LE
11 Jun 17:44:42 - [info] Loading palette nodes

Wyłącz ssl jeżeli masz włączone
wpisz poświadczenia (hasło:) tutaj credential_secret

To już zrobiłem. Efekt żaden :face_with_raised_eyebrow:
Po aktualizacji nodow i restarcie systemu serwer pracuje na 100 procent mocy. Wcześniej było 15-20 procent.

Jedyny punkt zaczepienia to to:
INFO: Service Node-RED exited with code 256 (by signal 4)
Wyczytałem że problem jakiś czas temu został naprawiony.
Jakieś pomysły???

Na czym masz postawiony HA?
safe_mode próbowałeś ?

Proxmox

Niestety z Safe Mode również nie startuje :face_with_raised_eyebrow:

Log z HA:

Logger: homeassistant.components.hassio
Source: components/hassio/websocket_api.py:125
Integration: Home Assistant Supervisor (documentation, issues)
First occurred: 11 czerwca 2023 16:59:43 (2 occurrences)
Last logged: 10:21:25

Failed to to call /addons/a0d7b954_nodered/stats - 404 Client Error for http+docker://localhost/v1.42/containers/addon_a0d7b954_nodered/json: Not Found (“No such container: addon_a0d7b954_nodered”)

Nie startuje bo nie widzi takiego kontenera, reszta błędów to skutek.

Proxmox + Debian ?

Dostęp do FTP HA posiadasz ?

Po uruchomieniu HA spróbuj wejść po adresie lokalnym do NR http://192.168.1.220:1880/ twoje IP, nie patrz że NR nie jest uruchomiony.

tak na debian.

jestem tu, nie wiem czy dobrze kombinuje