[{"id":"f5ff15c7aea2d701","type":"modbus-getter","z":"1f6b7686.0d6999","name":"SDM630v2 080","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"InputRegister","adr":"80","quantity":"80","server":"1579f4a9.b3d64b","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":300,"y":120,"wires":[[],["fb2e9a952f4a2ce4"]]},{"id":"de98be24de8b86d4","type":"inject","z":"1f6b7686.0d6999","name":"10 sec","props":[{"p":"payload"}],"repeat":"10","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":100,"y":180,"wires":[["a9028afbd30ca3ae","f5ff15c7aea2d701","be6afd89ee22773a","50c9bc910f45ea0a","e648365a7948b712"]]},{"id":"1738ec7357205690","type":"buffer-parser","z":"1f6b7686.0d6999","name":"parse","data":"payload.buffer","dataType":"msg","specification":"spec","specificationType":"ui","items":[{"type":"floatbe","name":"1","offset":0,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"3","offset":4,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"5","offset":8,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"7","offset":12,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"9","offset":16,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"11","offset":20,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"13","offset":24,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"15","offset":28,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"17","offset":32,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"19","offset":36,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"21","offset":40,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"23","offset":44,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"25","offset":48,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"27","offset":52,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"29","offset":56,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"31","offset":60,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"33","offset":64,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"35","offset":68,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"37","offset":72,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"39","offset":76,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"41","offset":80,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"43","offset":84,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"47","offset":92,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"49","offset":96,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"53","offset":104,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"57","offset":112,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"61","offset":120,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"63","offset":124,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"67","offset":132,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"71","offset":140,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"73","offset":144,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"75","offset":148,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"77","offset":152,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"79","offset":156,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"81","offset":160,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"83","offset":164,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"85","offset":168,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"87","offset":172,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"101","offset":200,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"103","offset":204,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"105","offset":208,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"107","offset":212,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"201","offset":400,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"203","offset":404,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"205","offset":408,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"207","offset":412,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"225","offset":448,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"235","offset":468,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"237","offset":472,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"239","offset":476,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"241","offset":480,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"243","offset":484,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"245","offset":488,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"249","offset":496,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"251","offset":500,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"259","offset":516,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"261","offset":520,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"263","offset":524,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"265","offset":528,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"267","offset":532,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"269","offset":536,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"335","offset":668,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"337","offset":672,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"339","offset":676,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"341","offset":680,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"343","offset":684,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"345","offset":688,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"347","offset":692,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"349","offset":696,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"351","offset":700,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"353","offset":704,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"355","offset":708,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"357","offset":712,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"359","offset":716,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"361","offset":720,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"363","offset":724,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"365","offset":728,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"367","offset":732,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"369","offset":736,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"371","offset":740,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"373","offset":744,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"375","offset":748,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"377","offset":752,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"379","offset":756,"length":1,"offsetbit":0,"scale":"1","mask":""},{"type":"floatbe","name":"381","offset":760,"length":1,"offsetbit":0,"scale":"1","mask":""}],"swap1":"","swap2":"","swap3":"","swap1Type":"swap","swap2Type":"swap","swap3Type":"swap","msgProperty":"payload","msgPropertyType":"str","resultType":"value","resultTypeType":"output","multipleResult":false,"fanOutMultipleResult":false,"setTopic":true,"outputs":1,"x":930,"y":180,"wires":[["8e9d73caa44c53e7"]]},{"id":"a9028afbd30ca3ae","type":"modbus-getter","z":"1f6b7686.0d6999","name":"SDM630v2 000","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"InputRegister","adr":"0","quantity":"80","server":"1579f4a9.b3d64b","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":300,"y":60,"wires":[[],["a9ae3b5ac25165f2"]]},{"id":"be6afd89ee22773a","type":"modbus-getter","z":"1f6b7686.0d6999","name":"SDM630v2 160","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"InputRegister","adr":"160","quantity":"80","server":"1579f4a9.b3d64b","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":300,"y":180,"wires":[[],["184f71ac4a8b66af"]]},{"id":"04dd7ad1f5c40d96","type":"join","z":"1f6b7686.0d6999","name":"","mode":"auto","build":"buffer","property":"payload.buffer","propertyType":"msg","key":"topic","joiner":"","joinerType":"bin","accumulate":false,"timeout":"","count":"5","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":650,"y":180,"wires":[["915dd560e8ac68a9"]]},{"id":"50c9bc910f45ea0a","type":"modbus-getter","z":"1f6b7686.0d6999","name":"SDM630v2 240","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"InputRegister","adr":"240","quantity":"80","server":"1579f4a9.b3d64b","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":300,"y":240,"wires":[[],["70681064d1b75218"]]},{"id":"e648365a7948b712","type":"modbus-getter","z":"1f6b7686.0d6999","name":"SDM630v2 320","showStatusActivities":true,"showErrors":true,"logIOActivities":false,"unitid":"1","dataType":"InputRegister","adr":"320","quantity":"80","server":"1579f4a9.b3d64b","useIOFile":false,"ioFile":"","useIOForPayload":false,"emptyMsgOnFail":false,"keepMsgProperties":false,"x":300,"y":300,"wires":[[],["0fbfc2fae1b8b087"]]},{"id":"fb2e9a952f4a2ce4","type":"function","z":"1f6b7686.0d6999","name":"Part 2/5","func":"msg.parts = {id: \"SDM630v2\", index: 1, count: 5};\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":120,"wires":[["04dd7ad1f5c40d96"]]},{"id":"a9ae3b5ac25165f2","type":"function","z":"1f6b7686.0d6999","name":"Part 1/5","func":"msg.parts = {id: \"SDM630v2\", index: 0, count: 5};\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":60,"wires":[["04dd7ad1f5c40d96"]]},{"id":"184f71ac4a8b66af","type":"function","z":"1f6b7686.0d6999","name":"Part 3/5","func":"msg.parts = {id: \"SDM630v2\", index: 2, count: 5};\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":180,"wires":[["04dd7ad1f5c40d96"]]},{"id":"70681064d1b75218","type":"function","z":"1f6b7686.0d6999","name":"Part 4/5","func":"msg.parts = {id: \"SDM630v2\", index: 3, count: 5};\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":240,"wires":[["04dd7ad1f5c40d96"]]},{"id":"0fbfc2fae1b8b087","type":"function","z":"1f6b7686.0d6999","name":"Part 5/5","func":"msg.parts = {id: \"SDM630v2\", index: 4, count: 5};\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":480,"y":300,"wires":[["04dd7ad1f5c40d96"]]},{"id":"915dd560e8ac68a9","type":"function","z":"1f6b7686.0d6999","name":"merge","func":"var result = {\n    topic: \"SDM630v2\",\n    payload: {\n        buffer: []\n    }\n};\n\nresult.payload.buffer = Buffer.concat([\n    msg.payload.buffer[0],\n    msg.payload.buffer[1],\n    msg.payload.buffer[2],\n    msg.payload.buffer[3],\n    msg.payload.buffer[4],\n]);\n\nreturn result;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":790,"y":180,"wires":[["1738ec7357205690"]]},{"id":"b8a5e3a87abc6b6a","type":"mqtt out","z":"1f6b7686.0d6999","name":"WARP Set Detailed Values","topic":"warp/SMH/meter/set_detailed_values","qos":"0","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"3d4ed6c0.3a6f4a","x":1580,"y":180,"wires":[]},{"id":"8e9d73caa44c53e7","type":"function","z":"1f6b7686.0d6999","name":"Part 2/2","func":"for (const key in msg.payload) {\n  var val = msg.payload[key];\n  msg.payload[key] = parseFloat(val.toFixed(3));\n}\n\nvar result = {\n    topic: \"detailed_values\",\n    payload: msg.payload,\n    parts: {\n        id: \"out\",\n        index: 1,\n        count: 2\n    }\n};\n\nreturn result;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1080,"y":180,"wires":[["b8a5e3a87abc6b6a","433a13b2872034a7","eb04838f39538f7e"]]},{"id":"4ec26904c1df9e9b","type":"mqtt in","z":"1f6b7686.0d6999","name":"EVCC Charged Energy","topic":"evcc/loadpoints/1/chargedEnergy","qos":"0","datatype":"json","broker":"3d4ed6c0.3a6f4a","nl":false,"rap":true,"rh":0,"inputs":0,"x":880,"y":120,"wires":[["2591c384b818b662"]]},{"id":"3fda73f9667ffbf1","type":"function","z":"1f6b7686.0d6999","name":"state","func":"var result = {\n    topic: \"state\",\n    payload: {\n        power: msg.payload[1][24],\n        energy_rel: msg.payload[0] / 1000.0,\n        energy_abs: msg.payload[1][65],\n        phases_connected: [\n            msg.payload[1][0] >= 200.0,\n            msg.payload[1][1] >= 200.0,\n            msg.payload[1][2] >= 200.0\n        ],\n        phases_active: [\n            msg.payload[1][3] >= 1.0,\n            msg.payload[1][4] >= 1.0,\n            msg.payload[1][5] >= 1.0\n        ]\n    }\n};\n\nreturn result;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1370,"y":120,"wires":[["f1c2b1f3958679df"]]},{"id":"f1c2b1f3958679df","type":"mqtt out","z":"1f6b7686.0d6999","name":"WARP Set State","topic":"warp/SMH/meter/set_state","qos":"0","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"3d4ed6c0.3a6f4a","x":1540,"y":120,"wires":[]},{"id":"433a13b2872034a7","type":"join","z":"1f6b7686.0d6999","name":"","mode":"auto","build":"object","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"2","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":1230,"y":120,"wires":[["3fda73f9667ffbf1"]]},{"id":"2591c384b818b662","type":"function","z":"1f6b7686.0d6999","name":"Part 1/2","func":"var result = {\n    topic: \"charged_energy\",\n    payload: msg.payload,\n    parts: {\n        id: \"out\",\n        index: 0,\n        count: 2\n    }\n};\n\nreturn result;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1080,"y":120,"wires":[["433a13b2872034a7"]]},{"id":"1579f4a9.b3d64b","type":"modbus-client","name":"SDM630v2","clienttype":"tcp","bufferCommands":true,"stateLogEnabled":true,"queueLogEnabled":false,"tcpHost":"192.168.110.145","tcpPort":"502","tcpType":"DEFAULT","serialPort":"/dev/ttyUSB","serialType":"RTU-BUFFERD","serialBaudrate":"9600","serialDatabits":"8","serialStopbits":"1","serialParity":"none","serialConnectionDelay":"100","serialAsciiResponseStartDelimiter":"","unit_id":1,"commandDelay":1,"clientTimeout":1000,"reconnectOnTimeout":true,"reconnectTimeout":2000,"parallelUnitIdsAllowed":true},{"id":"3d4ed6c0.3a6f4a","type":"mqtt-broker","name":"Mosquitto","broker":"192.168.100.8","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]