Ich hoffe, ihr habt mir einen Tipp. Habe hier ein paar schöne Node-red flows auf meinem Raspi mit homegear. Unteranderem binde ich einen Max! Taster ein, der mir meinen Sonos One steuert. Oder ich schalte per Max! die Philips Hue Lampen ein.
Wenn ich nun einen Slider im Node-red UI zu schnell bewege passiert, dass Node-red plötzlich crasht!
In der Node-red UI steht dann “Connection Loast”. Im Node-red Flow Editor steht nix, aber es reagiert auch nichts mehr.
Leider konnte ich bei Tante Goggle nix schalues zu Crahs logs finden. Wisst ihr, wo ich infos zu den Crashes finden könnte? Oder wie ich sonst der Crash Ursache auf den Grund gehen kann?
Node-RED version: v0.19.4
Node.js version: v8.12.0
Beide Services laufen auf dem gleichen Raspi, die Verbindung findet via MQTT statt.
Log konnte ich leider keines finden. Wo müsste das sein?
Homegear läuft währenddessen weiter, oder? Das scheint mir irgendwie ein node-red Problem zu sein. Dein “Connection Lost” im dashboard ist nur die Meldung, dass node-red im Hintergrund nicht erreicht werden konnte. Das kann auch an einer (schlechten) WLAN-Verbindung liegen.
Was sagt /var/log/homegear/homegear.log zu diesen Zeitpunkt?
Hmm… das ist wirklich sehr node-red spezifisch und hat jetzt nicht wirklich was mit homegear zu tun
Wie oft hast du da deployed? Weil wenn du einen full-deploy machst, werden auch alle Verbindungen neu aufgebaut. Das ist das, was man da im log sieht - allerdings natürlich nicht jede Sekunde, außer du hast so oft deployed.
Werd mal das Smappee los… meine Vermutung ist, dass deswegen node-red immer wieder neu startet.
Eventuell siehst du mehr, wenn du per Terminal node-red stops (siehe link von eben) und dann einfach mal mit dem user pi node-red eingibst. Dann wird node-red nicht im Hintergrund ausgeführt, sondern in deinem Terminal.
Das habe ich befürchtet. Ich kenne aber kein Besseres Forum wie das hier
Laut Terminal läuft Node-red, doch ich erreiche es nicht via Web. Kann ich die Smappee und die anderen nciht verwendeten Nodes einfach via Terminal löschen?
Ich glaube ich habe hier ein paar generelle NPM Probleme:
pi@gear:~/.node-gyp/8.12.0/include/node $ npm install -g node-red-admin
npm WARN deprecated bcrypt@0.8.7: bcrypt < v2.0.0 is susceptible to bcrypt wrap-around bug. Upgrade to bcrypt >= v2.0.0 for improved support for newer bcrypt hashes
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated hoek@2.16.3: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated boom@2.10.1: This version is no longer maintained. Please upgrade to the latest version.
npm WARN deprecated cryptiles@2.0.5: This version is no longer maintained. Please upgrade to the latest version.
npm WARN checkPermissions Missing write access to /usr/lib/node_modules
npm ERR! path /usr/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! { Error: EACCES: permission denied, access '/usr/lib/node_modules'
npm ERR! stack: 'Error: EACCES: permission denied, access \'/usr/lib/node_modules\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/lib/node_modules' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2018-11-16T20_11_07_126Z-debug.log
pi@gear:~/.node-gyp/8.12.0/include/node $
pi@gear:~/.node-red $ node-red
16 Nov 21:15:06 - [info]
Welcome to Node-RED
===================
16 Nov 21:15:06 - [info] Node-RED version: v0.19.4
16 Nov 21:15:06 - [info] Node.js version: v8.12.0
16 Nov 21:15:06 - [info] Linux 4.14.70+ arm LE
16 Nov 21:15:11 - [info] Loading palette nodes
[info] "2018-11-16T20:15:33.499Z" 'Loading knx: KNXnet/IP protocol implementation for Node(>=4.x), version: 2.3.1'
16 Nov 21:15:43 - [info] Dashboard version 2.9.8 started at /ui
16 Nov 21:15:48 - [info] Settings file : /home/pi/.node-red/settings.js
16 Nov 21:15:48 - [info] Context store : 'default' [module=memory]
16 Nov 21:15:48 - [info] User directory : /home/pi/.node-red
16 Nov 21:15:48 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
16 Nov 21:15:48 - [info] Flows file : /home/pi/.node-red/flows_gear.json
16 Nov 21:15:48 - [info] Server now running at http://127.0.0.1:1880/
16 Nov 21:15:48 - [warn]
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.
If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.
You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------
16 Nov 21:15:49 - [info] Starting flows
16 Nov 21:15:55 - [info] Started flows
16 Nov 21:15:56 - [info] [mqtt-broker:febbade0.51b9] Connected to broker: mqtt://localhost:1883
In der letzten Zeile bleibt es nun schon 5 Minuten.
Doch das Web UI läuft wieder.
node-red “so” ausführen ist das gleiche wie sudo systemctl start nodered und anschließendem node-red-log. Er lädt ja immer die Config aus ~/.node-red/.
Du könntest es nochmal als Dienst starten und dann mal in node-red-log den Start anschauen… ob da etwas anders ist.
pi@gear:~/.node-red $ node-red
16 Nov 23:00:01 - [info]
Welcome to Node-RED
===================
16 Nov 23:00:02 - [info] Node-RED version: v0.19.4
16 Nov 23:00:02 - [info] Node.js version: v8.12.0
16 Nov 23:00:02 - [info] Linux 4.14.70+ arm LE
16 Nov 23:00:07 - [info] Loading palette nodes
16 Nov 23:00:32 - [info] Dashboard version 2.10.1 started at /ui
16 Nov 23:00:36 - [info] Settings file : /home/pi/.node-red/settings.js
16 Nov 23:00:36 - [info] Context store : 'default' [module=memory]
16 Nov 23:00:36 - [info] User directory : /home/pi/.node-red
16 Nov 23:00:36 - [warn] Projects disabled : set editorTheme.projects.enabled=true to enable
16 Nov 23:00:36 - [info] Flows file : /home/pi/.node-red/flows_gear.json
16 Nov 23:00:37 - [info] Server now running at http://127.0.0.1:1880/
16 Nov 23:00:37 - [warn]
---------------------------------------------------------------------
Your flow credentials file is encrypted using a system-generated key.
If the system-generated key is lost for any reason, your credentials
file will not be recoverable, you will have to delete it and re-enter
your credentials.
You should set your own key using the 'credentialSecret' option in
your settings file. Node-RED will then re-encrypt your credentials
file using your chosen key the next time you deploy a change.
---------------------------------------------------------------------
16 Nov 23:00:38 - [info] Waiting for missing types to be registered:
16 Nov 23:00:38 - [info] - better-sonos-config
16 Nov 23:00:38 - [info] - device-config
16 Nov 23:00:38 - [info] - better-sonos-status
16 Nov 23:00:38 - [info] - better-sonos-control
16 Nov 23:00:38 - [info] - aggregated
16 Nov 23:00:38 - [info] - device
Du solltest die node’s nicht mit sudo installieren, dadurch machst du dir mehr Probleme als dir lieb ist - eventuell das hier jetzt auch dadurch.
Grundliegend: node’s liegen im home-Verzeichnis des Users pi und werden demnach nicht als root (sudo) installiert. Einzig Dinge die global (-g) installiert werden benötigen sudo. Auf dem Pi erledigt das aber das offizielle bash-script sowieso alles für dich.
Google bitte mal “remove missing nodes” im Kontext von node-red. Die musst du im schlimmsten Fall aus deinen .flow-files händisch entfernen.
Eventuell kannst du sie auch mit npm wieder installieren und dann “ordentlich” entfernen.
Hurrah Patrik, es funzt wieder.
Zwar laufen immer noch ein paar altlasten mit, die ich noch nicht bereinigt bekommen habe und die updates spare ich mir auch erstmal noch auf, aber 1000 Dank dir!