After some trial and error attempts to use Node RED to parse the data I have had some success. I have pasted the Node-RED configuration I've created. As my knowledge for javascript is limited tips for improvements are most welcome.
Code: Select all
[{"id":"b233928e.ce6fc","type":"tcp in","z":"701b8944.916b58","name":"Node-RED Client","server":"client","host":"192.168.178.16","port":"8088","datamode":"stream","datatype":"utf8","newline":"\\n","topic":"P1","base64":false,"x":100,"y":60,"wires":[["8d63c2a5.674b9"]]},{"id":"8d63c2a5.674b9","type":"function","z":"701b8944.916b58","name":"Trim","func":"msg.payload = msg.payload.trim();\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":60,"wires":[["1b090555.29792b"]]},{"id":"1b090555.29792b","type":"switch","z":"701b8944.916b58","name":"","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"1-0:1.8.1","vt":"str"},{"t":"cont","v":"1-0:1.8.2","vt":"str"},{"t":"cont","v":"1-0:1.7.0","vt":"str"},{"t":"cont","v":"1-0:2.8.1","vt":"str"},{"t":"cont","v":"1-0:2.8.2","vt":"str"},{"t":"cont","v":"1-0:2.7.0","vt":"str"},{"t":"cont","v":"0-1:24.2.1","vt":"str"},{"t":"else"}],"checkall":"true","outputs":8,"x":90,"y":260,"wires":[["a54ea4e4.1dcd88"],["ad0fa246.c824a"],["aa070718.aa29e8"],["73857243.28640c"],["a43d5591.56ed18"],["8dedc450.0d4a08"],["a4844f32.35c72"],["c3a5f168.e0645"]]},{"id":"c3a5f168.e0645","type":"debug","z":"701b8944.916b58","name":"Overig","active":false,"console":"false","complete":"payload","x":290,"y":420,"wires":[]},{"id":"d0a16e08.1086a","type":"comment","z":"701b8944.916b58","name":"DSMR v4.0","info":"1-0:1.8.1 = Elektra verbruik laag tarief (DSMR v4.0)\n1-0:1.8.2 = Elektra verbruik hoog tarief (DSMR v4.0)\n1-0:1.7.0 = Elektra actueel verbruik (DSMR v4.0)\n1-0:2.8.1 = Elektra teruglevering laag tarief (DSMR v4.0)\n1-0:2.8.2 = Elektra teruglevering hoog tarief (DSMR v4.0)\n1-0:2.7.0 = Elektra actueel teruglevering (DSMR v4.0)\n0-1:24.2.1 = Gas (DSMR v4.0)","x":530,"y":60,"wires":[]},{"id":"a54ea4e4.1dcd88","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":140,"wires":[["c9e893ae.08c4b"]]},{"id":"ad0fa246.c824a","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":180,"wires":[["b05d2ce4.6e103"]]},{"id":"aa070718.aa29e8","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":220,"wires":[["29d5618a.90cc1e"]]},{"id":"73857243.28640c","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":260,"wires":[["9957689f.adf378"]]},{"id":"a43d5591.56ed18","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":300,"wires":[["cc02ac59.3372c"]]},{"id":"8dedc450.0d4a08","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":340,"wires":[["ea107285.20967"]]},{"id":"a4844f32.35c72","type":"function","z":"701b8944.916b58","name":"parseFloat","func":"var regExp = /\\)\\((.*)\\*/;\nvar results = regExp.exec(msg.payload);\nmsg.payload = parseFloat(results[1]);\n\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":380,"wires":[["77c467bc.f001f8"]]},{"id":"c9e893ae.08c4b","type":"mqtt out","z":"701b8944.916b58","name":"Elektra verbruik laag tarief (DSMR v4.0)","topic":"/ESP_P1/T1","qos":"","retain":"","broker":"badcaf29.4c50e","x":580,"y":139,"wires":[]},{"id":"b05d2ce4.6e103","type":"mqtt out","z":"701b8944.916b58","name":"Elektra verbruik hoog tarief (DSMR v4.0)","topic":"/ESP_P1/T2","qos":"","retain":"","broker":"badcaf29.4c50e","x":580,"y":180,"wires":[]},{"id":"29d5618a.90cc1e","type":"mqtt out","z":"701b8944.916b58","name":"Elektra actueel verbruik (DSMR v4.0)","topic":"/ESP_P1/Actual","qos":"","retain":"","broker":"badcaf29.4c50e","x":570,"y":220,"wires":[]},{"id":"9957689f.adf378","type":"mqtt out","z":"701b8944.916b58","name":"Elektra teruglevering laag tarief (DSMR v4.0)","topic":"/ESP_P1/T1Retour","qos":"","retain":"","broker":"badcaf29.4c50e","x":590,"y":260,"wires":[]},{"id":"cc02ac59.3372c","type":"mqtt out","z":"701b8944.916b58","name":"Elektra teruglevering hoog tarief (DSMR v4.0)","topic":"/ESP_P1/T2Retour","qos":"","retain":"","broker":"badcaf29.4c50e","x":590,"y":300,"wires":[]},{"id":"ea107285.20967","type":"mqtt out","z":"701b8944.916b58","name":"Elektra actueel teruglevering (DSMR v4.0)","topic":"/ESP_P1/ActualRetour","qos":"","retain":"","broker":"badcaf29.4c50e","x":580,"y":340,"wires":[]},{"id":"77c467bc.f001f8","type":"mqtt out","z":"701b8944.916b58","name":"Gas (DSMR v4.0)","topic":"/ESP_P1/Gas","qos":"","retain":"","broker":"badcaf29.4c50e","x":510,"y":380,"wires":[]},{"id":"badcaf29.4c50e","type":"mqtt-broker","z":"","broker":"192.168.178.22","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"willTopic":"","willQos":"0","willPayload":"","birthTopic":"","birthQos":"0","birthPayload":""}]