Hello pcgopher,
Can you try the following snippet (to check the POST method) after making changes to the DOn parameters (to set the context global values)? You may want to start with static values for these parameters unless impractical. Additionally, you may want to insert the string for ContentType in header in a manner similar to that used for User-Agent.
[{"id":"80aea113.0491c8","type":"inject","z":"abcc5f46.84c58","name":"Timer","topic":"","payload":"","payloadType":"date","repeat":"10","crontab":"","once":true,"x":160,"y":160,"wires":[["ec48ae99.081be8"]]},{"id":"304cd64f.00b85a","type":"debug","z":"abcc5f46.84c58","name":"Debug: HTTP response","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":910,"y":160,"wires":[]},{"id":"465dfc62.fab69c","type":"function","z":"abcc5f46.84c58","name":"Prep request","func":"//msg.payload = \"DO0=\"+context.global.heater1 + \"&DO1=\" + context.global.heater2 +\"&DO2=\"+context.global.heater3+\"&DO3=\"+context.global.heater4 +\"&DO4=\"+context.global.heater5 +\"&DO5=\"+context.global.heater6;\nmsg.payload = {\n \"DO0\": \"do1\",\n \"DO1\": \"do2\",\n \"DO2\": \"do3\",\n \"DO3\": \"do4\",\n \"DO4\": \"do5\",\n \"DO5\": \"do61\",\n};\nmsg.headers = {\n \"User-Agent\": 'Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:42.0) Gecko/20100101 Firefox/42.0'\n}\nreturn msg;","outputs":1,"noerr":0,"x":490,"y":160,"wires":[["5652ebd4.e8a38c","e09eed87.4e046"]]},{"id":"ec48ae99.081be8","type":"delay","z":"abcc5f46.84c58","name":"","pauseType":"delay","timeout":"2","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":320,"y":160,"wires":[["465dfc62.fab69c"]]},{"id":"5652ebd4.e8a38c","type":"debug","z":"abcc5f46.84c58","name":"Debug: prep request","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":900,"y":380,"wires":[]},{"id":"e09eed87.4e046","type":"http request","z":"abcc5f46.84c58","name":"","method":"POST","ret":"txt","paytoqs":false,"url":"http://10.1.0.105/digitaloutput/all/value/","tls":"","proxy":"","authType":"","x":690,"y":160,"wires":[["304cd64f.00b85a"]]}]
Haven't really done anything much with your flow/code except for the HTTP request header. If there was a public facing URL that the vendor provides for test purposes then that would shorten the debug cycles.
Kind regards.