Goodwe inverter

Is there someone who communicates directly with a Goodwe inverter in the home network?
I"m fairly new to node-red and are hoping for some code to do this
Greets Rien

Are the existing threads of use? Search results for 'Goodwe order:latest' - Node-RED Forum

Yes i currently have 3 x GoodWe SBP 5000 (AC coupled Single Phase LV inverters) that i use for Grid Arbitrage and control them through Modbus

I am just going through the final design for our new house which will have a GoodWe 29.9K Hybrid Inverter and intend to do all control through Modbus on that also

Craig

What do you need

Hi Greg, I just started and don't have much experience.
Is it possible that you have a code of how to get the status of the inverter.?
Do you also regulate the generating capacity of the inverter?

My inverters are AC coupled only - they do not have any PV attached - so yes i manually control what they are doing (which is exceptionally easy once you get over the initial hurdles)

What model inverter do you have ?

My setup looks like This

Node Red (Virtual Machine) TCPIP > 4 Port TPC/RTU device > RS485 to each of the 3 inverters

Here is the basic code for querying the inverters using Modbus

[{"id":"f24223123dfb4d14","type":"group","z":"8f18eed8.4d3ac","style":{"stroke":"#999999","stroke-opacity":"1","fill":"none","fill-opacity":"1","label":true,"label-position":"nw","color":"#a4a4a4"},"nodes":["27bca47250e35d8e","0e3f07b24fb90d4c","8e9895ecaf9e8eec","f50c9add45a457a7","03aeb53c3c9b5143","5a34e61b6845ff35","c959544869dc5c9a","c8d490f73a2a2f1c","90c89cf1f732ff79","0658d2a416fa9c1f","cb9d343666c1105c","5a2f11ac0a3fcca0","4b63d8f61d367987","e7206133f9c601ba","7a32fc66c0ac026f","788da596.e7358c","15baa0974d89f5fe","13784cc687a656e4","28c1b8a6f1d01ed7","ed7d40b8cb6fc86c","6fb2e67d90d3edf2","38b15abe84e9f426","6dacaafd638c3e8a","c34b5ca76830c5c9","e8a898d17d2ee4cd","b097c31d4de3e8f1","d3f508afe371431d"],"x":54,"y":459,"w":1692,"h":1022},{"id":"27bca47250e35d8e","type":"buffer-parser","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"PV Stats","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"Battery_Voltage","offset":0,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"TBD","offset":2,"length":1,"offsetbit":0,"scale":".01","mask":""},{"type":"int16be","name":"BMS_Status","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS _Temperature","offset":6,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Battery_Current","offset":8,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"BMS_Max_Charge","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS_Max_Discharge","offset":12,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS_Error_Code","offset":14,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"SOC","offset":16,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"SOH","offset":22,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Battery_Mode","offset":24,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Grid_Voltage","offset":32,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_Current","offset":34,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_Power","offset":36,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Grid_Frequency","offset":38,"length":1,"offsetbit":0,"scale":".01","mask":""},{"type":"int16be","name":"Grid_Mode","offset":40,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Work_Mode","offset":52,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Inverter_Temperature","offset":54,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_in_out_Flag","offset":80,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"return","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":600,"y":520,"wires":[["c959544869dc5c9a","0658d2a416fa9c1f","13784cc687a656e4"]]},{"id":"0e3f07b24fb90d4c","type":"modbus-read","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Left - 180 - All Registers","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"showWarnings":true,"unitid":"247","dataType":"HoldingRegister","adr":"0x0506","quantity":"50","rate":"30","rateUnit":"s","delayOnStart":true,"startDelayTime":"","server":"1d7be2203213cf7d","useIOFile":false,"ioFile":"6b66c4e5.3debb4","useIOForPayload":false,"emptyMsgOnFail":false,"x":290,"y":500,"wires":[["27bca47250e35d8e"],[]]},{"id":"8e9895ecaf9e8eec","type":"buffer-parser","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"PV Stats","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"Battery_Voltage","offset":0,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"TBD","offset":2,"length":1,"offsetbit":0,"scale":".01","mask":""},{"type":"int16be","name":"BMS_Status","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS _Temperature","offset":6,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Battery_Current","offset":8,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"BMS_Max_Charge","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS_Max_Discharge","offset":12,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS_Error_Code","offset":14,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"SOC","offset":16,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"SOH","offset":22,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Battery_Mode","offset":24,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Grid_Voltage","offset":32,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_Current","offset":34,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_Power","offset":36,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Grid_Frequency","offset":38,"length":1,"offsetbit":0,"scale":".01","mask":""},{"type":"int16be","name":"Grid_Mode","offset":40,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Work_Mode","offset":52,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Inverter_Temperature","offset":54,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_in_out_Flag","offset":80,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"return","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":580,"y":780,"wires":[["c8d490f73a2a2f1c","cb9d343666c1105c","b097c31d4de3e8f1"]]},{"id":"f50c9add45a457a7","type":"modbus-read","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Left - 181 - All Registers","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"showWarnings":true,"unitid":"247","dataType":"HoldingRegister","adr":"0x0506","quantity":"50","rate":"30","rateUnit":"s","delayOnStart":true,"startDelayTime":"","server":"ef6245036c03d53b","useIOFile":false,"ioFile":"6b66c4e5.3debb4","useIOForPayload":false,"emptyMsgOnFail":false,"x":250,"y":780,"wires":[["8e9895ecaf9e8eec"],[]]},{"id":"03aeb53c3c9b5143","type":"buffer-parser","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"PV Stats","data":"payload","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"int16be","name":"Battery_Voltage","offset":0,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"TBD","offset":2,"length":1,"offsetbit":0,"scale":".01","mask":""},{"type":"int16be","name":"BMS_Status","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS _Temperature","offset":6,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Battery_Current","offset":8,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"BMS_Max_Charge","offset":10,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS_Max_Discharge","offset":12,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"BMS_Error_Code","offset":14,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"SOC","offset":16,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"SOH","offset":22,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Battery_Mode","offset":24,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Grid_Voltage","offset":32,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_Current","offset":34,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_Power","offset":36,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Grid_Frequency","offset":38,"length":1,"offsetbit":0,"scale":".01","mask":""},{"type":"int16be","name":"Grid_Mode","offset":40,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Load_Voltage","offset":42,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Load_Current","offset":44,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Load_Power","offset":46,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Work_Mode","offset":52,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Inverter_Temperature","offset":54,"length":1,"offsetbit":0,"scale":".1","mask":""},{"type":"int16be","name":"Grid_in_out_Flag","offset":80,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"return","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":540,"y":1140,"wires":[["90c89cf1f732ff79","5a2f11ac0a3fcca0","6fb2e67d90d3edf2"]]},{"id":"5a34e61b6845ff35","type":"modbus-read","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Right - 182 - All Registers","topic":"","showStatusActivities":true,"logIOActivities":false,"showErrors":true,"showWarnings":true,"unitid":"247","dataType":"HoldingRegister","adr":"0x0506","quantity":"50","rate":"30","rateUnit":"s","delayOnStart":true,"startDelayTime":"","server":"c4637cfad132b61d","useIOFile":false,"ioFile":"6b66c4e5.3debb4","useIOForPayload":false,"emptyMsgOnFail":false,"x":240,"y":1140,"wires":[["03aeb53c3c9b5143"],[]]},{"id":"c959544869dc5c9a","type":"flogger","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"Left Inverter - All Registers","logfile":"GoodWe-Left","inputchoice":"object","inputobject":"payload","inputobjectType":"msg","inputmoustache":"Recieved payload {{payload}} and topic {{topic}}","loglevel":"INFO","logconfig":"bc7a715d.1d2f2","sendpane":false,"x":1040,"y":660,"wires":[[]]},{"id":"c8d490f73a2a2f1c","type":"flogger","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"Middle Inverter - All Registers","logfile":"GoodWe-Middle","inputchoice":"object","inputobject":"payload","inputobjectType":"msg","inputmoustache":"Recieved payload {{payload}} and topic {{topic}}","loglevel":"INFO","logconfig":"bc7a715d.1d2f2","sendpane":false,"x":680,"y":980,"wires":[[]]},{"id":"90c89cf1f732ff79","type":"flogger","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"Right Inverter - All Registers","logfile":"GoodWe-Right","inputchoice":"object","inputobject":"payload","inputobjectType":"msg","inputmoustache":"Recieved payload {{payload}} and topic {{topic}}","loglevel":"INFO","logconfig":"bc7a715d.1d2f2","sendpane":false,"x":980,"y":1200,"wires":[[]]},{"id":"0658d2a416fa9c1f","type":"debug","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Left - Full Message","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1040,"y":620,"wires":[]},{"id":"cb9d343666c1105c","type":"debug","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Middle - Full Message","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":710,"y":920,"wires":[]},{"id":"5a2f11ac0a3fcca0","type":"debug","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Right - Full Message","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":990,"y":1260,"wires":[]},{"id":"4b63d8f61d367987","type":"link out","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"link out from Inverter Query to Global Logging","mode":"link","links":["04b3213a73549f33"],"x":1595,"y":800,"wires":[]},{"id":"e7206133f9c601ba","type":"ui_gauge","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"SOC SBP-Left","group":"78fb41154b62814e","order":1,"width":2,"height":2,"gtype":"gage","title":"SBP-Left","label":"units","format":"{{value}}","min":0,"max":"100","colors":["#b30000","#e6e600","#04ff00"],"seg1":"25","seg2":"50","className":"","x":1400,"y":500,"wires":[]},{"id":"7a32fc66c0ac026f","type":"ui_gauge","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"SOC SBP-Middle","group":"9ab5e9cea066caef","order":1,"width":2,"height":2,"gtype":"gage","title":"SBP-Middle","label":"units","format":"{{value}}","min":0,"max":"100","colors":["#b30000","#e6e600","#04ff00"],"seg1":"25","seg2":"50","className":"","x":1350,"y":820,"wires":[]},{"id":"788da596.e7358c","type":"ui_gauge","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"SOC SBP-Right","group":"bfa4630337161353","order":2,"width":2,"height":2,"gtype":"gage","title":"SBP-Right","label":"units","format":"{{value}}","min":0,"max":"100","colors":["#b30000","#e6e600","#04ff00"],"seg1":"25","seg2":"50","className":"","x":1340,"y":1380,"wires":[]},{"id":"15baa0974d89f5fe","type":"debug","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Right - after Change Node","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1400,"y":1440,"wires":[]},{"id":"13784cc687a656e4","type":"change","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"Set Payload and Globals","rules":[{"t":"set","p":"Battery.SBP-Left.SOC","pt":"global","to":"keyvalues.SOC","tot":"msg"},{"t":"set","p":"Battery.SBP-Left.Power","pt":"global","to":"$round(\t   keyvalues.Battery_Current * keyvalues.Battery_Voltage,\t   2\t)","tot":"jsonata"},{"t":"set","p":"Battery.SBP-Left.Mode","pt":"global","to":"payload.Battery_Mode","tot":"msg"},{"t":"set","p":"Battery.SBP-Left.MaxChargingRate","pt":"global","to":"payload.BMS_Max_Charge","tot":"msg"},{"t":"set","p":"logfile","pt":"msg","to":"SBP-Left","tot":"str"},{"t":"set","p":"DesiredChargeRate","pt":"msg","to":"Battery.SBP-Left.DesiredRate","tot":"global"},{"t":"set","p":"payload","pt":"msg","to":"keyvalues.SOC","tot":"msg"},{"t":"delete","p":"arrayResults","pt":"msg"},{"t":"delete","p":"buffer","pt":"msg"},{"t":"delete","p":"input","pt":"msg"},{"t":"delete","p":"responseBuffer","pt":"msg"},{"t":"delete","p":"originalPayload","pt":"msg"},{"t":"delete","p":"objectResults","pt":"msg"},{"t":"delete","p":"specification","pt":"msg"},{"t":"delete","p":"values","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":580,"wires":[["e7206133f9c601ba","4b63d8f61d367987","28c1b8a6f1d01ed7","69e99ecd6b220048","04687a9dfedacada","423b9dc5f448ebc0","7e3e527f13147caf"]]},{"id":"28c1b8a6f1d01ed7","type":"debug","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Left - after Change Node","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1440,"y":620,"wires":[]},{"id":"ed7d40b8cb6fc86c","type":"debug","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"GoodWe Middle- after Change Node","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1550,"y":700,"wires":[]},{"id":"6fb2e67d90d3edf2","type":"change","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"Set Payload and Globals","rules":[{"t":"set","p":"Battery.SBP-Right.SOC","pt":"global","to":"keyvalues.SOC","tot":"msg"},{"t":"set","p":"Battery.SBP-Right.Power","pt":"global","to":"$round(\t   keyvalues.Battery_Current * keyvalues.Battery_Voltage,\t   2\t)","tot":"jsonata"},{"t":"set","p":"Battery.SBP-Right.Mode","pt":"global","to":"payload.Battery_Mode","tot":"msg"},{"t":"set","p":"Battery.SBP-Right.MaxChargingRate","pt":"global","to":"payload.BMS_Max_Charge","tot":"msg"},{"t":"set","p":"logfile","pt":"msg","to":"SBP-Right","tot":"str"},{"t":"set","p":"DesiredChargeRate","pt":"msg","to":"Battery.SBP-Right.DesiredRate","tot":"global"},{"t":"set","p":"payload","pt":"msg","to":"keyvalues.SOC","tot":"msg"},{"t":"delete","p":"arrayResults","pt":"msg"},{"t":"delete","p":"buffer","pt":"msg"},{"t":"delete","p":"input","pt":"msg"},{"t":"delete","p":"responseBuffer","pt":"msg"},{"t":"delete","p":"originalPayload","pt":"msg"},{"t":"delete","p":"objectResults","pt":"msg"},{"t":"delete","p":"specification","pt":"msg"},{"t":"delete","p":"values","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":970,"y":1340,"wires":[["788da596.e7358c","15baa0974d89f5fe","e8a898d17d2ee4cd","c34b5ca76830c5c9","6dacaafd638c3e8a","38b15abe84e9f426","d3f508afe371431d"]]},{"id":"38b15abe84e9f426","type":"ui_text","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","group":"bfa4630337161353","order":2,"width":0,"height":0,"name":"","label":"MaxDischargeCurrent","format":"{{msg.keyvalues.BMS_Max_Discharge}}","layout":"row-left","className":"","x":1360,"y":1340,"wires":[]},{"id":"6dacaafd638c3e8a","type":"ui_text","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","group":"bfa4630337161353","order":2,"width":0,"height":0,"name":"","label":"MaxChargeCurrent","format":"{{msg.keyvalues.BMS_Max_Charge}}","layout":"row-left","className":"","x":1350,"y":1300,"wires":[]},{"id":"c34b5ca76830c5c9","type":"ui_text","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","group":"bfa4630337161353","order":2,"width":0,"height":0,"name":"","label":"SOH","format":"{{msg.keyvalues.SOH}}","layout":"row-left","className":"","x":1310,"y":1260,"wires":[]},{"id":"e8a898d17d2ee4cd","type":"ui_text","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","group":"bfa4630337161353","order":2,"width":0,"height":0,"name":"","label":"SOC","format":"{{msg.keyvalues.SOC}}","layout":"row-left","className":"","x":1310,"y":1220,"wires":[]},{"id":"b097c31d4de3e8f1","type":"change","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","name":"Set Payload and Globals","rules":[{"t":"set","p":"Battery.SBP-Middle.SOC","pt":"global","to":"keyvalues.SOC","tot":"msg"},{"t":"set","p":"Battery.SBP-Middle.Power","pt":"global","to":"$round(\t   keyvalues.Battery_Current * keyvalues.Battery_Voltage,\t   2\t)","tot":"jsonata"},{"t":"set","p":"Battery.SBP-Middle.Mode","pt":"global","to":"payload.Battery_Mode","tot":"msg"},{"t":"set","p":"Battery.SBP-Middle.MaxChargingRate","pt":"global","to":"payload.BMS_Max_Charge","tot":"msg"},{"t":"set","p":"logfile","pt":"msg","to":"SBP-Middle","tot":"str"},{"t":"set","p":"DesiredChargeRate","pt":"msg","to":"Battery.SBP-Middle.DesiredRate","tot":"global"},{"t":"set","p":"payload","pt":"msg","to":"keyvalues.SOC","tot":"msg"},{"t":"delete","p":"arrayResults","pt":"msg"},{"t":"delete","p":"buffer","pt":"msg"},{"t":"delete","p":"input","pt":"msg"},{"t":"delete","p":"responseBuffer","pt":"msg"},{"t":"delete","p":"originalPayload","pt":"msg"},{"t":"delete","p":"objectResults","pt":"msg"},{"t":"delete","p":"specification","pt":"msg"},{"t":"delete","p":"values","pt":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":800,"wires":[["7a32fc66c0ac026f","4b63d8f61d367987","ed7d40b8cb6fc86c","15f54de26d4ad33b","fb2108c1748b872d","e0f212b042af2714","08074d2372a9dd21"]]},{"id":"d3f508afe371431d","type":"junction","z":"8f18eed8.4d3ac","g":"f24223123dfb4d14","x":1520,"y":980,"wires":[["4b63d8f61d367987"]]},{"id":"1d7be2203213cf7d","type":"modbus-client","name":"GoodWe Left - 180","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"172.16.100.180","tcpPort":"8899","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":247,"commandDelay":1,"clientTimeout":1000,"reconnectOnTimeout":true,"reconnectTimeout":2000,"parallelUnitIdsAllowed":true,"showWarnings":true,"showLogs":true},{"id":"6b66c4e5.3debb4","type":"modbus-io-config","d":true,"name":"so","path":"/home/pi/ME3000/sofar.py","format":"","addressOffset":""},{"id":"ef6245036c03d53b","type":"modbus-client","name":"GoodWe Middle - 181","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"172.16.100.181","tcpPort":"8899","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"247","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showWarnings":true,"showLogs":true},{"id":"c4637cfad132b61d","type":"modbus-client","name":"GoodWe Right - 182","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"failureLogEnabled":true,"tcpHost":"172.16.100.182","tcpPort":"8899","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"0x3A","unit_id":"247","commandDelay":"1","clientTimeout":"1000","reconnectOnTimeout":true,"reconnectTimeout":"2000","parallelUnitIdsAllowed":true,"showWarnings":true,"showLogs":true},{"id":"bc7a715d.1d2f2","type":"config-log","logname":"Default with rotation and compression","logdir":"logs","stamp":"local","logstyle":"plain","logrotate":true,"logcompress":true,"logrotatecount":"5","logsize":"1000"},{"id":"78fb41154b62814e","type":"ui_group","name":"Left Battery","tab":"db89d5cd.28b158","order":11,"disp":true,"width":"6","collapse":false,"className":""},{"id":"9ab5e9cea066caef","type":"ui_group","name":"Middle Battery","tab":"db89d5cd.28b158","order":13,"disp":true,"width":"6","collapse":false,"className":""},{"id":"bfa4630337161353","type":"ui_group","name":"Right Battery","tab":"db89d5cd.28b158","order":12,"disp":true,"width":"6","collapse":false,"className":""},{"id":"db89d5cd.28b158","type":"ui_tab","name":"Battery Control","icon":"fa-battery-full","order":7,"disabled":false,"hidden":false}]

Thanks for you code, modbus nodes etc can I import but there are some unrecognized nodes.
Can you tell me wich pallette I have to install?

Probably the Modbus nodes

Craig

Hello, i'm posting here because i'm trying to give setpoint to inverters.
the value is 32bit float but the device is modbus TCP Server with 16bit registers.
In the documentation i saw the buffer maker node but is not clear to me how to write 2 consecutive registers with 32bit number.

Does the output to modbus write need to be array ? or buffer ?

Have you looked at the code i posted above ?

Post the modbus map you are using for the inverter and also some sample code and show us what is failing (i.e. debug nodes etc)

Craig