NEWS
NodeRed funktioniert nicht
-
Hallo. Nach der Installation von NodeRed wird der Adapter zwar grün, aber im Log steht drin:
Error: Cannot find module 'pause'
Woran kann das liegen? Kann es auch trotz grünem Adapter nicht starten.node-red.0 2020-08-10 21:42:29.911 info (1197) node-red exited with 1 node-red.0 2020-08-10 21:42:29.879 warn } node-red.0 2020-08-10 21:42:29.879 warn ] node-red.0 2020-08-10 21:42:29.879 warn '/opt/iobroker/node_modules/node-red/red.js' node-red.0 2020-08-10 21:42:29.879 warn '/opt/iobroker/node_modules/node-red/lib/red.js', node-red.0 2020-08-10 21:42:29.879 warn '/opt/iobroker/node_modules/@node-red/editor-api/lib/index.js', node-red.0 2020-08-10 21:42:29.879 warn '/opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/index.js', node-red.0 2020-08-10 21:42:29.879 warn '/opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/authenticator.js', node-red.0 2020-08-10 21:42:29.879 warn '/opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/strategies/session.js', node-red.0 2020-08-10 21:42:29.879 warn requireStack: [ node-red.0 2020-08-10 21:42:29.879 warn code: 'MODULE_NOT_FOUND', node-red.0 2020-08-10 21:42:29.879 warn at Module.require (internal/modules/cjs/loader.js:1025:19) { node-red.0 2020-08-10 21:42:29.879 warn at Function.Module._load (internal/modules/cjs/loader.js:878:14) node-red.0 2020-08-10 21:42:29.879 warn at Module.load (internal/modules/cjs/loader.js:985:32) node-red.0 2020-08-10 21:42:29.879 warn at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10) node-red.0 2020-08-10 21:42:29.879 warn at Module._compile (internal/modules/cjs/loader.js:1137:30) node-red.0 2020-08-10 21:42:29.879 warn at Object.<anonymous> (/opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/strategies/session.js:4:13) node-red.0 2020-08-10 21:42:29.879 warn at require (internal/modules/cjs/helpers.js:72:18) node-red.0 2020-08-10 21:42:29.879 warn at Module.require (internal/modules/cjs/loader.js:1025:19) node-red.0 2020-08-10 21:42:29.879 warn at Function.Module._load (internal/modules/cjs/loader.js:841:27) node-red.0 2020-08-10 21:42:29.879 warn at Function.Module._resolveFilename (internal/modules/cjs/loader.js:965:15) node-red.0 2020-08-10 21:42:29.879 warn - /opt/iobroker/node_modules/node-red/red.js node-red.0 2020-08-10 21:42:29.879 warn - /opt/iobroker/node_modules/node-red/lib/red.js node-red.0 2020-08-10 21:42:29.879 warn - /opt/iobroker/node_modules/@node-red/editor-api/lib/index.js node-red.0 2020-08-10 21:42:29.879 warn - /opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/index.js node-red.0 2020-08-10 21:42:29.879 warn - /opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/authenticator.js node-red.0 2020-08-10 21:42:29.879 warn - /opt/iobroker/node_modules/@node-red/editor-api/node_modules/passport/lib/strategies/session.js node-red.0 2020-08-10 21:42:29.879 warn Require stack: node-red.0 2020-08-10 21:42:29.879 warn Error: Cannot find module 'pause'```
-
@shaolinmaster Konsolentext bitte mit CodeTags </> versehen.
-
@Thomas-Braun Ich habe in NodeRed das Problem aus einem HTTP Request einen Zahlenwert herauszufiltern.
Mein Output aus dem HTTP Request sieht so aus:
<html><head><title>ISm</title></head><meta http-equiv="refresh" content="5;url="> <h2>IPswitch-S0m-WiFi: <hr><pre>S0 = 19.077.938Wh + 10W<FONT SIZE='-2'>, min= 0W, max. 743W</FONT><br>Limit Output = 1<br>MQTT connected= 1<FONT SIZE='-2'>, vor= 244s, connected= 28, reconnected= 28</FONT><br><hr><br><b><i><a href="http://192.168.198.38?ref=5">start refresh</a></i></b> <a href="http://192.168.198.38?inf=1">?</a> <a href="http://192.168.198.38?mmr=1">reset min/max</a><br><hr> <img src="/chart.cvg"/></FONT></pre><br>Aus dem langen Text möchte ich nur einen Wert (die 10) herausfiltern. Ich habe es mit einer Function versucht, doch die arbeitet ungenau, weil sich der Wert 10 auch mal von 0 bis 3000 bewegen kann.
Hier die Function in NodeRed:var tmp = msg.payload.substr(142,4);
msg.payload = tmp;
return msg;Der NodeRed Flow sieht so aus:
Ich möchte also immer einen Interzahl vom aktuellen Stromverbrauch bekommen und weiß nicht wie viele Stellen der Wert immer hat und wie viele Zeichen davor liegen. Der Output sieht z.B. so aus: " + 3" und steht für 3 Watt.
Hat jemand einen Lösungsvorschlag? -
@werner2000x Ich denke ich brauch ein Filter welcher mir aus dem String "19.077.938Wh + 10W"
all Werte nach dem "+" und vor dem "W" nach dem Zahlenwert (hier 12W) liefert. -
@werner2000x Anbei habe ich meinen Flow mit der Filterung:
flows.json -
@werner2000x Jetzt habe ich ein neues Problem. Die UI Ausgabe von Nodered klappt nicht mehr. Ich erhalte nach Aufruf der Seite http://ip:1880/ui den Fehler: Cannot GET /ui
Ich habe keine Ahnung warum es nicht mehr geht. Gestern klappte es noch. Weiß jemand mehr?
-
@werner2000x Jetzt habe ich die Lösung:
Wenn ich Nodered über die Übersicht rechts im Fenster im starte klappt das UI.
Wenn ich Nodered über die Übersicht unten mit node-red.0 starte klappt UI nicht.
Warum? -
@werner2000x Seit heute startet NodeRed bei mir nicht mehr. Im Log steht folgendes:
Ich habe ioBroker auch schon neu gestartet - ohne Erfolg. Es kommt der Fehler: Die Website ist nicht erreichbar
Was könnte man machen, ich habe auch den Raspi neu gebootet, jedoch ohne Erfolg? -
@werner2000x Jetzt sehe ich gerade, das VIS auch nicht mehr geht. Nodered hat Port 8081 und VIS hat Port 8082.
Hier mal ein Portscan:
-
@werner2000x Konsolentext bitte mit CodeTags </> versehen, keine Screenshots von Text.
-
@werner2000x NodeRed hat Port 1880 als Standard. Port 8081 ist Standard für den iobroker. Aus Deinem Screenshot geht hervor, dass NodeRed gar nicht läuft. (exit code 1) Du siehst ja auch dass der Adapter nicht läuft. Warum kann ich allerdings daraus nicht erkennen.
-
@mickym Ja, stimmt das NodeRed auf Port 1880 läuft. Kann man vielleicht NodeRed neu installieren?
-
@werner2000x Natürlich kannst Du den Adapter neu installieren, in dem Du ihn komplett entfernst - also nicht nur die Instanz sondern in Adapter. Nur ist die Frage, was denn die Ursache ist - nicht dass die Neuinstallation keine Verbesserung bringt.
Mach ggf. in folgender Prio vorher:
- Ein Backup des Images Deiner SD-Karte - falls Du so Deine backups machst
- Backup mit backitup
- Deine flows sicherst DU in dem Du die Datei flows.json sicherst (s. Screenshot)
-
-
@werner2000x s. mein Screenshot den Pfad. Der node-red Ordner ist unter iobroker-data.
-
@mickym Ja, habe ich gerade auch gesehen. Leider hat die Neuinstallation von NodeRed auf dem Raspi noch nicht geklappt.
-
@werner2000x said in NodeRed funktioniert nicht:
@mickym Ja, habe ich gerade auch gesehen. Leider hat die Neuinstallation von NodeRed auf dem Raspi noch nicht geklappt.
Wie gesagt, ob die Neuinstallation überhaupt was bringt, ist fraglich - da die Ursache für das Nichtstarten ja u.Umständen noch die gleiche ist. ggf. musst Du halt das System nochmals mit Backup auf einen Stand zurücksetzen wo noch alles gelaufen ist.
-
@mickym Ja ich habe noch ein aktuelles Backup. Doch beim Schreiben der SD-Card kam der Fehler "Disk Write Error on Sector xxxxxx". Jetzt formatiere ich die SD Card mal. Vielleich ist der Diskfehler schuld an allem?
-
@werner2000x said in NodeRed funktioniert nicht:
Jetzt formatiere ich die SD Card mal. Vielleich ist der Diskfehler schuld an allem?
Nicht formatieren, in die Tonne damit.
-
@werner2000x Ja das kann durchaus sein!!! Vielleicht mal austauschen.
Wenn das Backup ein Image ist, dann bekommst Du ggf. auch einen Fehler - da diese Images ja Sektorenweise zurückschreiben. Ist der Sektor aber kaputt - wirst wahrscheinlich nicht mehr wiederherstellen können.
Wenn Du ein logisches Backup hast, dann hilft die Formatierung - aber Du kannst Dich darauf einstellen, dass sich die Fehler häufen werden, insofern ist der Rat mit der Tonne von @Thomas-Braun nicht von der Hand zu weisen.