Ah Steve,
Here is the flow with a 2nd speed node and ticks:-
[{"id":"4b211f23c08b43f4","type":"tab","label":"Flow 5","disabled":false,"info":"","env":[]},{"id":"af5483388c10dfb5","type":"function","z":"4b211f23c08b43f4","name":"Combine 6 global variables into one payload","func":"msg.payload = \n\n{\n\n \"solarPvId\" : flow.get(\"solarPvId\"),\n \"solarPvTimestamp\" : flow.get(\"solarPvTimestamp\"),\n \"currentGeneratingUnitsW\" : flow.get(\"currentGeneratingUnitsW\"),\n \"exportingUnintsW\" : flow.get(\"exportingUnintsW\"),\n \"currentDayGeneratedW\" : flow.get(\"currentDayGeneratedW\"),\n \"currentDayExportedW\" : flow.get(\"currentDayExportedW\")\n\n}\nnode.send(msg);\n\n//return msg;\n\n","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":850,"y":140,"wires":[["cb470dd8032cfddf"]]},{"id":"8284852709ca22a8","type":"debug","z":"4b211f23c08b43f4","name":"dB payload","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1330,"y":140,"wires":[]},{"id":"638a99cd0d575a4e","type":"msg-speed","z":"4b211f23c08b43f4","name":"","frequency":"hour","interval":1,"estimation":false,"ignore":false,"pauseAtStartup":false,"topicDependent":false,"x":510,"y":140,"wires":[["af5483388c10dfb5"],[]]},{"id":"ea1bc11cc99b2091","type":"inject","z":"4b211f23c08b43f4","name":"Every 1m","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":true,"onceDelay":"10","topic":"","payload":"","payloadType":"date","x":250,"y":140,"wires":[["638a99cd0d575a4e"]]},{"id":"cb470dd8032cfddf","type":"msg-speed","z":"4b211f23c08b43f4","name":"","frequency":"hour","interval":1,"estimation":false,"ignore":false,"pauseAtStartup":false,"topicDependent":false,"x":1130,"y":140,"wires":[["8284852709ca22a8"],[]]}]
I've added a 2nd speed count which clearly shows messages out of the function isn't 1-2-1 with messages in.