Node-Red Flow Hilfe / String als msg übergeben

Node-RED als CCU3/RaspberryMatic Addon, WebApp, HomeKit, ...

Moderator: Co-Administratoren

Antworten
JoergH
Beiträge: 33
Registriert: 11.03.2021, 18:58
System: CCU
Hat sich bedankt: 4 Mal

Node-Red Flow Hilfe / String als msg übergeben

Beitrag von JoergH » 17.03.2021, 11:08

Hallo,
ich habe einen Raspberrymatic PI 4 und Node-Red installiert. Jetzt wollte ich gerne einen Wert vom ModBus lesen, wofür ich mir eine entsprechende Node installiert habe. Leider geht die Modbus-contrib-Node ja wohl nicht, da sie auch Teile, die eine serielle Schnittstelle erfordern, beinhaltet, die wohl nicht unterstützt wird. Deshalb habe ich nur eine sehr einfache Node gefunden, aber sie liest die Daten vom ModBus wohl runter.

Ich möchte nun einfach einen String (16 Zeichen) aus einem Register lesen und als msg.payload weitergeben. Dazu habe ich eine function eingerichtet, weiss aber mangels Javascript Kenntnissen nicht genau, wie es geht. Ich kann zwar im Debug sehen, dass er mir Werte auswirft, aber sie werden halt wohl als UInt16 ausgelesen(?)

Kann mir einer sagen, wie ich es schaffe, dass er daraus einen String weiterleitet? Danke.

Code: Alles auswählen

[{"id":"d63108a2.888f28","type":"tab","label":"Elgris","disabled":false,"info":"SmartMeter auslesen"},{"id":"61b35201.20fa94","type":"modbustcp-read","z":"d63108a2.888f28","name":"Elgris SmartMeter","topic":"SmartMeter auslesen","dataType":"HoldingRegister","adr":"40004","quantity":"16","rate":"5","rateUnit":"s","server":"397e8427.81075c","ieeeType":"off","ieeeBE":"true","x":130,"y":120,"wires":[["1c7c7e6a.e737d2"]]},{"id":"9e59a2cd.562a1","type":"debug","z":"d63108a2.888f28","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":730,"y":120,"wires":[]},{"id":"1c7c7e6a.e737d2","type":"function","z":"d63108a2.888f28","name":"","func":"const buf = Buffer.alloc(16,'','utf8');\nconst value = buf.toString('utf8');\nmsg.payload = value; //buf.toString('latin1');\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":420,"y":120,"wires":[["9e59a2cd.562a1"]]},{"id":"397e8427.81075c","type":"modbustcp-server","name":"Elgris","host":"192.168.178.58","port":"502","unit_id":"1","reconnecttimeout":""}]

ptweety
Beiträge: 522
Registriert: 07.01.2017, 16:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 47 Mal
Danksagung erhalten: 66 Mal

Re: Node-Red Flow Hilfe / String als msg übergeben

Beitrag von ptweety » 17.03.2021, 12:23

RedMatic liefert doch Modbus mit vorkompilierten Modulen als Paket aus. Die sind halt nicht über die Palette, sondern über den Paket-Manager von RedMatic zu installieren.

JoergH
Beiträge: 33
Registriert: 11.03.2021, 18:58
System: CCU
Hat sich bedankt: 4 Mal

Re: Node-Red Flow Hilfe / String als msg übergeben

Beitrag von JoergH » 22.03.2021, 09:03

Aha, danke für den Hinweis. Wie geht das?

Antworten

Zurück zu „RedMatic“