[{"id":"d7d2bbe.ff4ff48","type":"http request","z":"12e5f047.fde86","name":"Post","method":"POST","ret":"txt","url":"","x":1190,"y":700,"wires":[["ac1e3c76.2e609","129c59a9.8258d6"]]},{"id":"9b8e63fe.2f16f","type":"function","z":"12e5f047.fde86","name":"Set API key here 1","func":"msg.action = msg.payload;\nmsg.headers = { \n 'X-Pvoutput-Apikey': 'putpvoutputkeyhere',\n 'X-Pvoutput-SystemId': 'putsystemidhere',\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nreturn msg;","outputs":1,"noerr":0,"x":825.75,"y":721,"wires":[["e166266a.6c8f28"]]},{"id":"ac1e3c76.2e609","type":"debug","z":"12e5f047.fde86","name":"headercheck","active":false,"console":"false","complete":"true","x":1380.75,"y":700,"wires":[]},{"id":"c7e82d2d.8c6d","type":"debug","z":"12e5f047.fde86","name":"Debug1","active":false,"console":"true","complete":"payload","x":1191.75,"y":747.5,"wires":[]},{"id":"e166266a.6c8f28","type":"function","z":"12e5f047.fde86","name":"Set up data","func":"msg.action = msg.payload;\n\nmsg.url = \"http://pvoutput.org/service/r2/addstatus.jsp\";\n\n// set up the data/time\nvar now = new Date(); \nvar year = now.getFullYear(); \nvar month = now.getMonth()+1; // Months start at 0 not 1 - FTFY\nvar day = now.getDate();\nvar hour = now.getHours(); \n\n//var hour = now.getHours()+1; // GMT to BST\n//if (hour === 24) { // BST overflow - This clearly needs some work!\n// hour = 0;\n// day = day +1;\n//} \n\nvar minute = now.getMinutes();\nvar second = now.getSeconds(); \n\n// fix any short date/times so all values are two digits\nif(month.toString().length == 1) { var month = '0'+month; }\nif(day.toString().length == 1) { var day = '0'+day;}\nif(hour.toString().length == 1) { var hour = '0'+hour; }\nif(minute.toString().length == 1) { var minute = '0'+minute; }\nif(second.toString().length == 1) { var second = '0'+second; }\n\nuploaddate = year.toString()+month.toString()+day.toString(); // string the dates or we get errors!\n\n//pull back stored data\nvar power = msg.payload.gridPower; // Power1 - Grid power import/export\nvar gentot = msg.payload.todayYield * 1000; // Generation total for the day (watts)\nmsg.payload = {\"d\":uploaddate,\"t\":hour+':'+minute,\"v1\":gentot,\"v2\":power};\n\nreturn msg;","outputs":1,"noerr":0,"x":1017.75,"y":701,"wires":[["d7d2bbe.ff4ff48","c7e82d2d.8c6d","88a6ba7a.5ea8e8"]]},{"id":"129c59a9.8258d6","type":"function","z":"12e5f047.fde86","name":"Check Status 1","func":"if (msg.statusCode == 200) { \n var stat = \"\";\n flow.set('pvostat','200'); // this clears the outstanding PVO data, so it won't be uploaded again\n var msg1 = null;\n var msg2 = null;\n} else {\n var time = new Date().toString();\n flow.set('pvostat', msg.statusCode);\n var stat = \"FAILED: Time:\" + time + \" StatusCode:\" + msg.statusCode + \" StatusMsg:\" + msg.payload;\n var msg1 = null;\n var msg2 = null;\n// msg1.payload = stat;\n// msg2.payload = stat;\n var msg1 = { payload: stat };\n var msg2 = { payload: stat };\n}\nreturn (msg1, msg2);","outputs":"2","noerr":0,"x":1379.75,"y":749,"wires":[["8de4d102.29f8b","5267aac6.aa4414"],["f18df306.52316"]]},{"id":"8de4d102.29f8b","type":"debug","z":"12e5f047.fde86","name":"Post dump1","active":false,"console":"false","complete":"payload","x":1576.75,"y":723,"wires":[]},{"id":"f18df306.52316","type":"file","z":"12e5f047.fde86","name":"PVO error log1","filename":"/media/usb/pvo_errors.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":1592.75,"y":811,"wires":[[]]},{"id":"88a6ba7a.5ea8e8","type":"function","z":"12e5f047.fde86","name":"Store PVO data","func":"//store the PVO data in case it doesn't upload correctly\nflow.set ('pvodata',msg.payload)\nreturn msg;","outputs":1,"noerr":0,"x":1033.75,"y":788,"wires":[["58e2f31c.7b06ec"]]},{"id":"5267aac6.aa4414","type":"file","z":"12e5f047.fde86","name":"PVO Data","filename":"PVO_data.log","appendNewline":true,"createDir":true,"overwriteFile":"false","x":1576.75,"y":760,"wires":[[]]},{"id":"58e2f31c.7b06ec","type":"debug","z":"12e5f047.fde86","name":"Data stored","active":false,"console":"false","complete":"payload","x":1206.75,"y":790,"wires":[]}]