Hi Guys, again thanks so much for your help and encouragement. This is how far I have got now including the JSON output I am aiming for finally.
There are two discrete calls to the ModBus (probably could be one in the end). nThe first deals with pages 16 & 17 of the SolarEdge/SunSpec document, the second starts to deal with pages 19 onwards (ie the Import-Export Meter).
Problem with group 1 - the last two field dont make sense to me.
Problem with group 2 - the data seems to be missing from Block 40189 onwards.
I plan to take this up with SolarEdge support but can you confirm that I am right so far please?
[{"id":"85c036c8.af1558","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"50365dc.3e136a4","type":"modbus-getter","z":"85c036c8.af1558","name":"Load","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"HoldingRegister","adr":"40000","quantity":"109","server":"fa971e4c.0eaa6","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":230,"y":120,"wires":[["92f9d673.b07888"],[]]},{"id":"d2f9fcfa.57091","type":"inject","z":"85c036c8.af1558","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":120,"wires":[["50365dc.3e136a4"]]},{"id":"92f9d673.b07888","type":"buffer-parser","z":"85c036c8.af1558","name":"","data":"responseBuffer.buffer","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"string","name":"ID","offset":0,"length":4,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"DID","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"Length","offset":6,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"Manufacturer","offset":8,"length":32,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"Model","offset":40,"length":32,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"Version","offset":88,"length":16,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"SerialNumber","offset":104,"length":32,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"DeviceAddr","offset":136,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"SunSPec_DID","offset":138,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"SunSpec_Length","offset":140,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AC_Current","offset":142,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AC_Current_A","offset":144,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AC_Current_B","offset":146,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AC_Current_C","offset":148,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_Current_SF","offset":150,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AB_Volts","offset":152,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"BC_Volts","offset":154,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"CA_Volts","offset":156,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AN_Volts","offset":158,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"BN_Volts","offset":160,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"CN_Volts","offset":162,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Volts_SF","offset":164,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_Power","offset":166,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Power_SF","offset":168,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AC_Frequency","offset":170,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_Freq_SF","offset":172,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_VA","offset":174,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_VA_SF","offset":176,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_VAR","offset":178,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_VAR_SF","offset":180,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_PF","offset":182,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"AC_PF_SF","offset":184,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint32be","name":"AC_Energy_WH","offset":186,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"AC_Energy_WH_SF","offset":190,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"DC_Current","offset":192,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"DC_Current_SF","offset":194,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"DC_Volts","offset":196,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"DC_Volts_SF","offset":198,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"DC_Power","offset":200,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"DC_Power_SF","offset":202,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Temp_Sink","offset":204,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"int16be","name":"Temp_SF","offset":206,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"Status","offset":208,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"Status_Vendor","offset":210,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":true,"setTopic":false,"outputs":1,"x":130,"y":200,"wires":[["1dab210.be2f1df"]]},{"id":"94c363a9.f20ea","type":"debug","z":"85c036c8.af1558","name":"payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":680,"y":120,"wires":[]},{"id":"1dab210.be2f1df","type":"function","z":"85c036c8.af1558","name":"","func":"msg0 = {payload:msg.originalPayload};\nmsg1 = {payload:msg.payload};\npower = msg.payload.AC_Power;\nmsg2 = {payload:power};\nfactor = msg.payload.AC_PF_SF;\nmsg3 = {payload:factor};\nmsg4 = {payload:((power * Math.pow(10,factor))/1000)};\n\nreturn [ msg0, msg1, msg2,msg3, msg4];","outputs":5,"noerr":0,"initialize":"","finalize":"","x":340,"y":200,"wires":[["3be49e13.d80312"],["94c363a9.f20ea"],["8bba6a3d.bc27b8"],["40312d95.633034"],["725c5974.3c99b8"]]},{"id":"8bba6a3d.bc27b8","type":"debug","z":"85c036c8.af1558","name":"Data","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":670,"y":160,"wires":[]},{"id":"40312d95.633034","type":"debug","z":"85c036c8.af1558","name":"Data_SF","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":680,"y":200,"wires":[]},{"id":"725c5974.3c99b8","type":"debug","z":"85c036c8.af1558","name":"RESULT kW","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":690,"y":240,"wires":[]},{"id":"3be49e13.d80312","type":"debug","z":"85c036c8.af1558","name":"Original Payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":700,"y":80,"wires":[]},{"id":"5fda942d.65149c","type":"modbus-getter","z":"85c036c8.af1558","name":"Load","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"HoldingRegister","adr":"40121","quantity":"69","server":"fa971e4c.0eaa6","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":310,"y":280,"wires":[["81768a48.a16918"],[]]},{"id":"fabd233d.0b78f","type":"inject","z":"85c036c8.af1558","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"3600","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":280,"wires":[["5fda942d.65149c"]]},{"id":"81768a48.a16918","type":"buffer-parser","z":"85c036c8.af1558","name":"","data":"responseBuffer.buffer","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"uint16be","name":"M_SS_DID","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"M_Length","offset":2,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"M_Manufacturer","offset":4,"length":32,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"M_Model","offset":36,"length":32,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"M_Option","offset":68,"length":16,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"M_Version","offset":84,"length":16,"offsetbit":0,"scale":"1","mask":""},{"type":"string","name":"M_Serial_No","offset":100,"length":32,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"M_Dev_Addr","offset":132,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"M_SunSpec_DID","offset":134,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"uint16be","name":"M_Block_Length","offset":136,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"keyvalue","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":true,"setTopic":false,"outputs":1,"x":130,"y":380,"wires":[["fe315d0b.f7621"]]},{"id":"fe315d0b.f7621","type":"function","z":"85c036c8.af1558","name":"","func":"msg0 = {payload:msg.originalPayload};\nmsg1 = {payload:msg.payload};\n//msg2 = {payload:msg.payload.AC_PF};\n//power = msg.payload.AC_PF;\n//msg3 = {payload:msg.payload.AC_PF_SF};\n//factor = msg.payload.AC_PF_SF;\n//msg4 = {payload:((power * Math.pow(10,factor))/1000)};\n\nreturn [ msg0, msg1 ]\n//, msg2,msg3, msg4];","outputs":2,"noerr":0,"initialize":"","finalize":"","x":360,"y":380,"wires":[["594bdf4.2d8342"],["23c12fb.f5b82d"]]},{"id":"23c12fb.f5b82d","type":"debug","z":"85c036c8.af1558","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":690,"y":420,"wires":[]},{"id":"594bdf4.2d8342","type":"debug","z":"85c036c8.af1558","name":"Original Payload","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":700,"y":380,"wires":[]},{"id":"fa971e4c.0eaa6","type":"modbus-client","name":"","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":false,"queueLogEnabled":false,"tcpHost":"192.168.10.31","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}]
Buffer Data
[21365,28243,1,65,21359,27745,29253,25703,25888,0,0,0,0,0,0,0,0,0,0,0,21317,13360,12336,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12336,12339,11826,12600,13824,0,0,0,14150,12597,12342,17463,0,0,0,0,0,0,0,0,0,0,0,0,1,101,50,4062,4062,65535,65535,65532,2342,65535,65535,65535,65535,65535,65535,60536,65533,50123,65533,9413,65534,56136,65534,8310,65534,288,46956,0,52862,65530,4005,65535,60460,65533,32768,1494,32768,32768,65534,4,0]
My Output
{"ID":"SunS","DID":1,"Length":65,"Manufacturer":"SolarEdge \u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","Model":"SE4000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","Version":"0003.2186\u0000\u0000\u0000\u0000\u0000\u0000\u0000","SerialNumber":"7F1506D7\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","DeviceAddr":1,"SunSPec_DID":101,"SunSpec_Length":50,"AC_Current":4062,"AC_Current_A":4062,"AC_Current_B":65535,"AC_Current_C":65535,"AC_Current_SF":-4,"AB_Volts":2342,"BC_Volts":65535,"CA_Volts":65535,"AN_Volts":65535,"BN_Volts":65535,"CN_Volts":65535,"Volts_SF":-1,"AC_Power":-5000,"Power_SF":-3,"AC_Frequency":50123,"AC_Freq_SF":-3,"AC_VA":9413,"AC_VA_SF":-2,"AC_VAR":-9400,"AC_VAR_SF":-2,"AC_PF":8310,"AC_PF_SF":-2,"AC_Energy_WH":18921324,"AC_Energy_WH_SF":0,"DC_Current":52862,"DC_Current_SF":-6,"DC_Volts":4005,"DC_Volts_SF":-1,"DC_Power":-5076,"DC_Power_SF":-3,"Temp_Sink":-32768,"Temp_SF":1494,"Status":32768,"Status_Vendor":32768}
Group 2 from Block 40121 onwards
Buffer Data
[1,65,22369,29812,20079,25701,0,0,0,0,0,0,0,0,0,0,0,0,22350,17197,13145,11572,12336,11597,16896,0,0,0,0,0,0,0,0,0,17784,28783,29300,11081,28016,28530,29696,0,12852,0,0,0,0,0,0,0,13360,12594,12852,13056,0,0,0,0,0,0,0,0,0,0,0,0,1,201,105]
My Output
{"M_SS_DID":1,"M_Length":65,"M_Manufacturer":"WattNode\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","M_Model":"WNC-3Y-400-MB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","M_Option":"Export+Import\u0000\u0000\u0000","M_Version":"24\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","M_Serial_No":"4012243\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","M_Dev_Addr":1,"M_SunSpec_DID":201,"M_Block_Length":105}