Luft-Wärmepumpe mit Modbus auslesen 32Bit Float Register

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

Moderator: Co-Administratoren

Antworten
cityofsilence
Beiträge: 269
Registriert: 14.11.2018, 20:43
System: CCU
Wohnort: Bayern
Hat sich bedankt: 14 Mal
Danksagung erhalten: 17 Mal

Luft-Wärmepumpe mit Modbus auslesen 32Bit Float Register

Beitrag von cityofsilence » 03.12.2020, 19:12

Hallo zusammen,

nach langem testen hier wenn jemand Interesse hat ein funktionierender Flow für das Auslesen einer Wärmepumpe via Modbus TCP und Umwandlung eines FLOAT 32Bit Register Wertes auf eine lesbare Zahl

Grundlage hierzu sind:
- NodeRed / RedMatic
- node-red-dashboard
- node-red-contrib-modbus
- node-red-contrib-float (oder wie im Flow über 2 Function Nodes)

Code: Alles auswählen

[{"id":"59c3fd26.2b5c34","type":"modbus-read","z":"bb601978.c9832","name":"IDM Außentemperatur","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"unitid":"1","dataType":"InputRegister","adr":"1000","quantity":"2","rate":"10","rateUnit":"m","delayOnStart":false,"startDelayTime":"","server":"fa4c200f.dd19f","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":true,"x":140,"y":40,"wires":[["e3ed54c7.51572"],[]]},{"id":"cb6b08a8.61555","type":"function","z":"bb601978.c9832","name":"","func":"var gerundet = Math.round( msg.payload * 10 ) / 10;\nmsg.payload = gerundet;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":540,"y":40,"wires":[["62417ef2.e42298","b6209f40.054e28"]]},{"id":"e3ed54c7.51572","type":"function","z":"bb601978.c9832","name":"32bit to float","func":"var ui16 = new Uint16Array(msg.payload);\nvar fl32 = new Float32Array(ui16.buffer, ui16.byteOffset, ui16.byteLength / Float32Array.BYTES_PER_ELEMENT);\nmsg.payload=fl32;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":370,"y":40,"wires":[["cb6b08a8.61555"]]},{"id":"62417ef2.e42298","type":"ccu-sysvar","z":"bb601978.c9832","name":"Aussentemperatur","ccuConfig":"38263145.35ea0e","topic":"ReGaHSS/${Name}","change":true,"cache":true,"x":730,"y":40,"wires":[["c7919ab3.afec08"]]},{"id":"c7919ab3.afec08","type":"ui_text","z":"bb601978.c9832","group":"b39ff569.0103e","order":1,"width":0,"height":0,"name":"","label":"Aussentemperatur","format":"{{msg.payload}}","layout":"row-spread","x":950,"y":40,"wires":[]},{"id":"fa4c200f.dd19f","type":"modbus-client","name":"IDM Wärmepumpe","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"192.168.123.12","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","unit_id":"1","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true},{"id":"38263145.35ea0e","type":"ccu-connection","name":"localhost","host":"localhost","regaEnabled":true,"bcrfEnabled":true,"iprfEnabled":true,"virtEnabled":true,"bcwiEnabled":false,"cuxdEnabled":true,"regaPoll":true,"regaInterval":"30","rpcPingTimeout":"60","rpcInitAddress":"127.0.0.1","rpcServerHost":"127.0.0.1","rpcBinPort":"2047","rpcXmlPort":"2048","queueTimeout":"5000","queuePause":"250","contextStore":""},{"id":"b39ff569.0103e","type":"ui_group","name":"Wärmepumpe","tab":"c99335cd.a8c168","order":2,"disp":true,"width":"6","collapse":true},{"id":"c99335cd.a8c168","type":"ui_tab","name":"Leistungs-/Messwertdaten","icon":"dashboard","disabled":false,"hidden":false}]

Anregungen oder Verbesserungen gerne angenommen :D
Bin noch Frischling in NodeRed
Gruß André

Roli01
Beiträge: 102
Registriert: 06.04.2008, 23:56
Wohnort: nähe Krems/Donau
Danksagung erhalten: 3 Mal

Re: Luft-Wärmepumpe mit Modbus auslesen 32Bit Float Register

Beitrag von Roli01 » 29.10.2023, 11:23

Hallo,

Ist ja seit deinem Post schon etwas Zeit vergangen. :D Hast du die Wärmepumpe nun schon weiter eingebunden?

Ich müsste bei einem Kollegen jetzt etwas ähnliche umsetzten und bräuchte da etwas Unterstützung.
Er hat eine IDM Aero Alm 6-15 Wärmepumpe bekommen.

Danke

Roli
492 Kanäle in 92 Geräten und 37 CUxD-Kanäle in 4 CUxD-Geräten:

Antworten

Zurück zu „RedMatic“