NEWS
[erledigt] Nodered log ausschalten
-
Hallo Zusammen,
ich benutze Nodered als Adapter. Wie kann man da den Log ausschalten?
Bei mir läuft nämlich der Log im ioBroker über - Datei ist schon 12MB groß. -
@malaus Da wäre erstmal interessant WARUM so viele Einträge im LOG stehen und was das für welche sind, Infos, Warnungen, Fehler ?!
-
@malaus Na dann solltest Du mal überlegen, was da schief läuft und was Du alles loggst. Normalerweise ist der Adapter gar nicht geschwätzig. Du kannst natürlich die Warnstufe ändern, dann wird weniger geloggt. - Aber wie gesagt bei Dir hängt da eher was schief.
-
-
@malaus Doch - weil Du Objekte statt Zahlen schreibst. Normalerweise darf man keine Objekte schreiben. Also würde ich mal meine Flows überprüfen, ob Du payload als Objekte schreibst. Darfst Du sowieso nie machen. Selbst Objekte muss man ggf. als JSON wandeln. Du müsstest ja sehen, wie die Datenpunkte definiert sind, in die du schreibst.
-
@malaus sagte in Nodered log ausschalten:
So sieht mein Log aus:
bitte keine Screenshots von Texten.
Dies als text in code-tags posten -
Ok, die Frage ist wie. Ich bin beim Thema NodeRed noch sehr am Anfang.
Die einzige Funktion ist diese hier:var rawData = new ArrayBuffer(4); var intView = new Uint16Array(rawData); var floatView = new Float32Array(rawData); intView[0] = msg.payload[0]; intView[1] = msg.payload[1]; //msg.payload = msg.payload.buffer.readFloatBE(); msg.payload = floatView[0]; msg.topic = "istwert"; node.status({ fill: "blue", shape: "ring", text: msg.payload + '°C' }); return msg;
Da ich diese unten als Status ausgebe, gehe ich davon aus, dass msg.payload eine Number ist. Oder?
Dahinter habe ich einfach ein ioBroker out gesetzt und dort bei Type "value" eingesetzt.Oder liegt es daran, dass ich das ganze direkt in den Modbus Adapter schreibe?
Ich habe dir mal den Flow unten angehängt.
[ { "id": "c60c88703291a3fe", "type": "function", "z": "757c82163ab2b168", "name": "Istwert", "func": "var rawData = new ArrayBuffer(4);\nvar intView = new Uint16Array(rawData);\nvar floatView = new Float32Array(rawData);\n\nintView[0] = msg.payload[0];\nintView[1] = msg.payload[1];\n\n//msg.payload = msg.payload.buffer.readFloatBE();\nmsg.payload = floatView[0];\n\nmsg.topic = \"istwert\";\n\nnode.status({ fill: \"blue\", shape: \"ring\", text: msg.payload + '°C' });\n \nreturn msg;\n\n\n\n", "outputs": 1, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 370, "y": 200, "wires": [ [ "476229975632101a", "3e7f694383ac4408" ] ] }, { "id": "7e1b5a84f16064ba", "type": "modbus-read", "z": "757c82163ab2b168", "name": "100", "topic": "", "showStatusActivities": true, "logIOActivities": false, "showErrors": true, "unitid": "", "dataType": "InputRegister", "adr": "100", "quantity": "2", "rate": "2", "rateUnit": "s", "delayOnStart": false, "startDelayTime": "", "server": "d71ac91982d9f06b", "useIOFile": false, "ioFile": "", "useIOForPayload": false, "emptyMsgOnFail": false, "x": 210, "y": 200, "wires": [ [ "c60c88703291a3fe" ], [] ] }, { "id": "476229975632101a", "type": "ioBroker out", "z": "757c82163ab2b168", "name": "Pilotmodul 0", "topic": "modbus.5.inputRegisters.100_100_Istwert_(RWT)", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 690, "y": 200, "wires": [] }, { "id": "d71ac91982d9f06b", "type": "modbus-client", "name": "", "clienttype": "tcp", "bufferCommands": true, "stateLogEnabled": false, "queueLogEnabled": false, "failureLogEnabled": true, "tcpHost": "192.168.60.111", "tcpPort": "502", "tcpType": "DEFAULT", "serialPort": "/dev/ttyUSB", "serialType": "RTU-BUFFERD", "serialBaudrate": "9600", "serialDatabits": "8", "serialStopbits": "1", "serialParity": "none", "serialConnectionDelay": "100", "serialAsciiResponseStartDelimiter": "0x3A", "unit_id": 1, "commandDelay": 1, "clientTimeout": 1000, "reconnectOnTimeout": true, "reconnectTimeout": 2000, "parallelUnitIdsAllowed": true } ]
-
@malaus Keine Ahnung dass kann ich nicht beurteilen anhand des Flows oder Code. Mach eine Debug Node dran und poste was im Debug Fenster rauskommt. Mit der iobroker-out Node schreibst Du immer die payload. Wenn der Wert im modbus Adapter verarbeitet werden soll, dann musst Du das alles auch als command setzen und nicht als value. Grundsätzlich musst Du alle Werte unbestätigt also mit ACK=False setzen außer wenn Du eigene Punkte unter 0_userdata.0 beschreibst, da da kein Adapter dahinter hängt, der Dir die Werte bestätigt.
-
Bei Debug kommt immer nur der Wert.
22.11.2022, 16:19:34node: debug 8 istwert : msg.payload : number 2
Wenn ich bei der iobroker-out Node auf command stelle, dann kommen auch keine Logs mehr.
Dann war das wohl der Fehler.
Vielen Dank dir!