
But I have 3 inverters. For this case I keep it simple: they are from same brand and give every 5 minutes all the same sort of JSON-output.
Code: Select all
{"device": "FPH1B0001", "time": "2022-03-25T12:49:27", "buffered": "no", "values": {"datalogserial": "XGD2AAAAAA", "pvserial": "FPH1B0001", "pvstatus": 1, "pvpowerin": 15401, "pv1voltage": 2286, "pv1current": 69, "pv1watt": 15401, "pv2voltage": 0, "pv2current": 0, "pv2watt": 0, "pvpowerout": 15093, "pvfrequentie": 5000, "pvgridvoltage": 2334, "pvgridcurrent": 64, "pvgridpower": 15120, "pvgridvoltage2": 0, "pvgridcurrent2": 0, "pvgridpower2": 0, "pvgridvoltage3": 0, "pvgridcurrent3": 0, "pvgridpower3": 0, "totworktime": 17713903, "pvenergytoday": 56, "pvenergytotal": 7419, "epvtotal": 7507, "epv1today": 56, "epv1total": 7507, "epv2today": 0, "epv2total": 0, "pvtemperature": 458, "pvipmtemperature": 479}}
Next goal is to combine some values to totalize the values of these inverters: pvpowerout of each inverter and pvenergytoday of each inverter. I want to send these new values to Domoticz and PVoutput.
This is the flow I got up till now.
Code: Select all
[{"id":"85b1d997.d9083","type":"tab","label":"Meerdere inverters naar Pvoutput.org","disabled":false,"info":""},{"id":"7de2dcb9.8ebacc","type":"mqtt in","z":"85b1d997.d9083","name":"Growatt Energie","topic":"energy/growatt","qos":"2","datatype":"auto","broker":"7fb3e06.2d91f2","nl":false,"rap":false,"x":200,"y":320,"wires":[["23d9d2cd.5f108e"]]},{"id":"23d9d2cd.5f108e","type":"json","z":"85b1d997.d9083","name":"","property":"payload","action":"","pretty":false,"x":410,"y":320,"wires":[["84a7ea50.b4f3b8"]]},{"id":"f09186.d82ed678","type":"http request","z":"85b1d997.d9083","name":"PVOUTPUT.ORG","method":"POST","ret":"txt","paytoqs":"ignore","url":"https://pvoutput.org/service/r2/addstatus.jsp","tls":"","persist":false,"proxy":"","authType":"","x":1030,"y":320,"wires":[["bfd2a50a.c77f9"]]},{"id":"84a7ea50.b4f3b8","type":"function","z":"85b1d997.d9083","name":"Create PV Message for Solar PVOUTPUT ","func":"//Create PVOUTPUT Message ;\nmsg.headers={};\n//Create time\nvar date = new Date();\nday = date.getDate();\nif (day < 10) {day = \"0\" + day} \nmonth = date.getMonth()+1;\nif (month < 10) {month = \"0\" + month}\nyear = date.getFullYear();\n//node.warn(year);\nhour = date.getHours();\nif (hour < 10) {hour = \"0\" + hour}\nminute = date.getMinutes();\nif (minute < 10) {minute = \"0\" + minute}\n//Create Headers\nmsg.headers[\"X-Pvoutput-Apikey\"] = \"your api key\";\nmsg.headers[\"X-Pvoutput-SystemId\"] = 12345 //\"your system id\";\nmsg.headers[\"content-type\"]=\"application/x-www-form-urlencoded\"\n//Create Payload ]\nd = \"\"+year+month+day;\nt = hour+\":\"+minute; \n//Growatt publish pvenergytoday in 0.1 KW, PVOUTPUT.ORG expext watt hours.\nv1 = msg.payload.values.pvenergytoday*100\nv2 = msg.payload.values.pvpowerout/10\nmsg.payload = \"&d=\"+d+\"&t=\"+t+\"&v1=\"+v1+\"&v2=\"+v2;\n//optional you can also sent other value to pvoutput.org \n//This can be done in a second flow also\n//the flows will be combined by PVOUTPUT.ORG\n//you have to retrieve value from (smart) energy meter and outside temperature indicator\n//v3 = 12345 //energy used today (watts)\n//v4 = 1234.5 //energy used currently (watts)\n//v5 = 12.3 //temperature \n//v6 = 123.4 //voltage\n//msg.payload = \"&d=\"+d+\"&t=\"+t+\"&v3=\"+v3+\"&v4=\"+v4+\"&v5=\"+v5+\"&v6=\"+v6;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":700,"y":320,"wires":[["f09186.d82ed678"]]},{"id":"bfd2a50a.c77f9","type":"debug","z":"85b1d997.d9083","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1270,"y":320,"wires":[]},{"id":"774cad2f.aa55b4","type":"join","z":"85b1d997.d9083","name":"","mode":"auto","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":"false","timeout":"","count":"","reduceRight":false,"x":850,"y":620,"wires":[["c2709313.ec5178"]]},{"id":"ca425d6e.70806","type":"mqtt in","z":"85b1d997.d9083","name":"Growatt inverter 1","topic":"energy/growatt","qos":"2","datatype":"auto","broker":"7fb3e06.2d91f2","nl":false,"rap":true,"rh":0,"x":200,"y":560,"wires":[["c6a67dc5.e10ea8"]]},{"id":"c6a67dc5.e10ea8","type":"json","z":"85b1d997.d9083","name":"","property":"payload","action":"","pretty":false,"x":390,"y":560,"wires":[["c2709313.ec5178"]]},{"id":"5879b181.af42b","type":"change","z":"85b1d997.d9083","name":"Extract pvpowerout","rules":[{"t":"set","p":"values","pt":"msg","to":"pvpowerout","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"pvenergytoday","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":500,"wires":[["c2709313.ec5178"]]},{"id":"c2709313.ec5178","type":"debug","z":"85b1d997.d9083","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1080,"y":560,"wires":[]},{"id":"97be43b3.4c7c58","type":"mqtt in","z":"85b1d997.d9083","name":"Growatt inverter 2","topic":"energy/growatt2","qos":"2","datatype":"auto","broker":"7fb3e06.2d91f2","nl":false,"rap":true,"rh":0,"x":190,"y":660,"wires":[["354027b2.54462"]]},{"id":"354027b2.54462","type":"json","z":"85b1d997.d9083","name":"","property":"payload","action":"","pretty":false,"x":390,"y":660,"wires":[["203102d6.fa6516"]]},{"id":"46cecca5.928434","type":"debug","z":"85b1d997.d9083","name":"","active":true,"tosidebar":true,"console":true,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload","statusType":"auto","x":1080,"y":660,"wires":[]},{"id":"203102d6.fa6516","type":"change","z":"85b1d997.d9083","name":"Extract pvpowerout","rules":[{"t":"set","p":"values","pt":"msg","to":"pvpowerout","tot":"str"},{"t":"set","p":"payload","pt":"msg","to":"pvenergytoday","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":570,"y":660,"wires":[[]]},{"id":"7fb3e06.2d91f2","type":"mqtt-broker","name":"","broker":"192.168.1.18","port":"1883","clientid":"","usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"sessionExpiry":""}]
Thanks in advance