Cut out a lot of the 'chaff' (reading MQTT values) and just posting the main control bit.
If you can see where it might be improved, please let me know.
[{"id":"bc981fa9ede7efd8","type":"mqtt out","z":"db9c45ab1920b2aa","name":"V100-W send","topic":"","qos":"0","retain":"false","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"0549f612016b7da9","x":1400,"y":280,"wires":[]},{"id":"7948976871eec50d","type":"function","z":"db9c45ab1920b2aa","name":"otgw set","func":"msg.topic = \"OTGW/set/otgw-500291FE3A1F/\" + msg.topic;\nmsg.payload = msg.payload;\ndelete msg.action;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1180,"y":660,"wires":[["6cb1f4976f19acd0","a650a549cee2b75c"]]},{"id":"6cb1f4976f19acd0","type":"debug","z":"db9c45ab1920b2aa","name":"debug 40","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1180,"y":700,"wires":[]},{"id":"13cc42ea9fe075d2","type":"comment","z":"db9c45ab1920b2aa","name":"Div valve States *Notes","info":"Central Heating enable\nSet Temperature CS\nDiverter Valve BOTH on\n\nModulation should be automatic\n\nCentrol Heating enable\nSet Temperature CS\nDiverter Valve BOTH off\n\nOutside Temperature for Weather Compensation\n\nPS1 will fetch Status WORD\n\nPS=state\n Print Summary โ The opentherm gateway normally prints every opentherm message\n it receives, as well as the modified messages it transmits. In some applications\n it may be more useful to only get a report of the latest values received for the\n most interesting parameters on demand. Issuing a \"PS=1\" command will stop the\n reports for each message and print one line with the following values:\n\n Status (MsgID=0) โ Printed as two 8-bit bitfields\n Control setpoint (MsgID=1) โ Printed as a floating point value\n Remote parameter flags (MsgID=6) โ Printed as two 8-bit bitfields\n Cooling control signal (MsgID=7) โ Printed as a floating point value\n Control setpoint 2 (MsgID=8) โ Printed as a floating point value\n Maximum relative modulation level (MsgID=14) โ Printed as a floating point value\n Boiler capacity and modulation limits (MsgID=15) โ Printed as two bytes\n Room setpoint (MsgID=16) โ Printed as a floating point value\n Relative modulation level (MsgID=17) โ Printed as a floating point value\n CH water pressure (MsgID=18) โ Printed as a floating point value\n DHW flow rate (MsgID=19) โ Printed as floating point value\n CH2 room setpoint (MsgID=23) โ Printed as a floating point value\n Room temperature (MsgID=24) โ Printed as a floating point value\n Boiler water temperature (MsgID=25) โ Printed as a floating point value\n DHW temperature (MsgID=26) โ Printed as a floating point value\n Outside temperature (MsgID=27) โ Printed as a floating point value\n Return water temperature (MsgID=28) โ Printed as a floating point value\n CH2 flow temperature (MsgID=31) โ Printed as a floating point value\n Boiler exhaust temperature (MsgID=33) โ Printed as a signed decimal value\n DHW setpoint boundaries (MsgID=48) โ Printed as two bytes\n Max CH setpoint boundaries (MsgID=49) โ Printed as two bytes\n DHW setpoint (MsgID=56) โ Printed as a floating point value\n Max CH water setpoint (MsgID=57) โ Printed as a floating point value\n V/H master status (MsgID=70) โ Printed as two 8-bit bitfields\n V/H control setpoint (MsgID=71) โ Printed as a byte\n Relative ventilation (MsgID=77) โ Printed as a byte\n Burner starts (MsgID=116) โ Printed as a decimal value\n CH pump starts (MsgID=117) โ Printed as a decimal value\n DHW pump/valve starts (MsgID=118) โ Printed as a decimal value\n DHW burner starts (MsgID=119) โ Printed as a decimal value\n Burner operation hours (MsgID=120) โ Printed as a decimal value\n CH pump operation hours (MsgID=121) โ Printed as a decimal value\n DHW pump/valve operation hours (MsgID=122) โ Printed as a decimal value\n DHW burner operation hours (MsgID=123) โ Printed as a decimal value \n\n A new report can be requested by repeating the \"PS=1\" command.\n Examples: PS=1, PS=0 ","x":140,"y":380,"wires":[]},{"id":"6d4f4277db295de3","type":"function","z":"db9c45ab1920b2aa","name":"Boiler enable","func":"msg.boilerPriority = global.get(\"boilerPriority\"); \nlet boilerHW = global.get('boilerHW');\nlet boilerCH = global.get('boilerCH')\n\nif (global.get('boilerHW') === 1 || global.get('boilerCH') === 1) {\n msg.boilerEnable = 1;\n return msg\n}\nelse if (global.get('boilerHW') === 0 && global.get('boilerCH') === 0) {\n msg.boilerEnable = 0;\n return msg;\n}\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":400,"wires":[["c87f82178d782242"]]},{"id":"5fec53b602647ea6","type":"function","z":"db9c45ab1920b2aa","name":"Boiler temp","func":"msg.topic = \"ctrlsetpt\"\nmsg.payload = msg.boilerTemp;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":790,"y":580,"wires":[["353b0beab954830b","48035ed1e8f3a9d0"]]},{"id":"767fe991e487fa71","type":"function","z":"db9c45ab1920b2aa","name":"CH enable","func":"msg.topic = \"chenable\";\nmsg.payload = msg.boilerEnable;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":710,"y":620,"wires":[["353b0beab954830b","37390b0d07666bdf"]]},{"id":"9e48c404cc25999f","type":"function","z":"db9c45ab1920b2aa","name":"Desired deg","func":"msg.topic = \"constant\";\nmsg.payload = msg.boilerDesired;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":720,"wires":[["073404090856389c","353b0beab954830b"]]},{"id":"b04134ee6035f01b","type":"function","z":"db9c45ab1920b2aa","name":"Modulation","func":"msg.topic = \"maxmodulation\";\nmsg.payload = msg.boilerModulation;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":790,"y":680,"wires":[["353b0beab954830b","9e48c404cc25999f"]]},{"id":"073404090856389c","type":"function","z":"db9c45ab1920b2aa","name":"Outside temp","func":"msg.topic = \"outside\";\nmsg.payload = msg.boilerOutside;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":790,"y":740,"wires":[["353b0beab954830b"]]},{"id":"37390b0d07666bdf","type":"function","z":"db9c45ab1920b2aa","name":"Command","func":"msg.topic = \"command\";\nmsg.payload = msg.boilerCommand;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":660,"wires":[["353b0beab954830b","b04134ee6035f01b"]]},{"id":"cd31a44d6b2d8d30","type":"function","z":"db9c45ab1920b2aa","name":"Filter msg","func":"if (msg.payload !== undefined){\n return { payload: msg.payload, topic: msg.topic};\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1020,"y":660,"wires":[["7948976871eec50d"]]},{"id":"48035ed1e8f3a9d0","type":"debug","z":"db9c45ab1920b2aa","name":"debug 55","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":980,"y":580,"wires":[]},{"id":"f689b258624c5635","type":"function","z":"db9c45ab1920b2aa","name":"Boiler temp","func":"let boilerTemp;\nlet boilerOutside = global.get('OutsideTemperature');\n\nif (msg.boilerEnable == 1){\n //Calculate Temperatures here to vary\n if (boilerOutside <= 10){\n boilerTemp = 56;\n }\n else if (boilerOutside < 20) {\n boilerTemp = 54;\n }\n else if (boilerOutside < 30) {\n boilerTemp = 48;\n }\n else\n {\n boilerTemp = 54;\n }\n msg.boilerTemp = boilerTemp;\n}\nmsg.boilerModulation = 100;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":630,"y":580,"wires":[["5fec53b602647ea6"]]},{"id":"c87f82178d782242","type":"function","z":"db9c45ab1920b2aa","name":"Priority drivers","func":"let boilerCH = global.get(\"boilerCH\");\nlet chDesired = global.get(\"CHDesired\");\nlet lrTemp = global.get(\"incomingTemperature\");\nlet boilerHW = global.get(\"boilerHW\");\nlet hwDesired = global.get(\"HWDesired\");\nlet hotWater = global.get(\"HotWater\").toFixed(1);\nlet hwDemand = hotWater < hwDesired;\nlet chDemand = lrTemp < chDesired;\n/*\n No Power - B - 0\n White - AB - 1\n White & Grey - A - 2\n Grey - Hold - 3\n*/\nif (msg.boilerEnable === 1){\n if (msg.boilerPriority === 0){\n if ((boilerHW == 1) && (hotWater < hwDesired)){\n msg.demandHW = \"<\"\n msg.demandCH = \"-\"\n msg.boilerDivV = 0; \n msg.boilerOn = 1;\n msg.boilerEnable = 1;\n }\n else if ((boilerCH === 1) && (lrTemp < chDesired)) {\n msg.demandHW = \">\"\n msg.demandCH = \"<\"\n msg.boilerDivV = 2;\n msg.boilerOn = 1;\n msg.boilerEnable = 1;\n }\n else\n {\n msg.demandHW = \">\"\n msg.demandCH = \">\"\n msg.boilerDivV = 0;\n msg.boilerOn = 2;\n msg.boilerEnable = 0;\n }\n }\n else if (msg.boilerPriority === 1) {\n if ((boilerCH == 1) && (lrTemp < chDesired)) {\n msg.demandHW = \"-\"\n msg.demandCH = \"<\"\n msg.boilerDivV = 2;\n msg.boilerOn = 1;\n msg.boilerEnable = 1;\n }\n else if ((boilerHW === 1) && (hotWater < hwDesired)) {\n msg.demandHW = \"<\"\n msg.demandCH = \"-\"\n msg.boilerDivV = 0;\n msg.boilerOn = 1;\n msg.boilerEnable = 1;\n }\n else\n {\n msg.demandHW = \">\"\n msg.demandCH = \">\"\n msg.boilerDivV = 0;\n msg.boilerOn = 2;\n msg.boilerEnable = 0;\n }\n }\n}\n\nelse {\n msg.demandHW = \"-\"\n msg.demandCH = \"-\"\n msg.boilerDivV = 0;\n msg.boilerTemp = 10;\n msg.boilerOn = 2;\n msg.boilerEnable = 0;\n}\n\nmsg.boilerDesired = chDesired;\nglobal.set(\"boilerDivV\", msg.boilerDivV);\n//msg.test = boilerCH + \" | \" + lrTemp + \" | \" + chDesired + \" | \" + boilerHW + \" | \" + hotWater + \" | \" + hwDesired;\nnode.status({ text: msg.boilerPriority + \" | \" + msg.boilerDivV + \" | \" + boilerCH + \" | \" + lrTemp + \" | \" + chDesired + \" | \" + msg.demandCH + \" | \" + boilerHW + \" | \" + hotWater + \" | \" + hwDesired + \" | \" + msg.demandHW});\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":800,"y":400,"wires":[["5358f4718995195f","ed445c56b3f2e121","f689b258624c5635","767fe991e487fa71"]]},{"id":"498bf511e8cf4f87","type":"function","z":"db9c45ab1920b2aa","name":"Diverter v/v","func":"let boilerDivV = msg.boilerDivV\nlet Sonoff1 = \"cmnd/DivV/CH_on/POWER\";\nlet Sonoff2 = \"cmnd/DivV/HW_OK/POWER\";\n\n/*\n No Power - B - 0\n White - AB - 1\n White & Grey - A - 2\n Grey - Hold - 3\n*/\nlet msg1;\nlet msg2;\nlet msg3;\n\nif (msg.boilerOn === 2){\n boilerDivV = 4\n}\n\nswitch (boilerDivV) {\n case 1: //CH ON (AB)\n msg1 = {topic: Sonoff1, payload: \"on\"} //White\n msg2 = {topic: Sonoff2, payload: \"off\"} //Grey\n msg3 = { topic: \"boilerOn\", payload: 1 } //Grey\n return [msg1, msg2, msg3]\n break;\n case 2: //HW OK (A)\n msg1 = { topic: Sonoff1, payload: \"on\" } //White\n msg2 = { topic: Sonoff2, payload: \"on\" } //Grey\n msg3 = { topic: \"boilerOn\", payload: 1 } //Grey\n return [msg1, msg2, msg3]\n break;\n case 3: //HOLD (~~)\n msg1 = { topic: Sonoff1, payload: \"off\" } //White\n msg2 = { topic: Sonoff2, payload: \"on\" } //Grey\n msg3 = { topic: \"boilerOn\", payload: 1 } //Grey\n return [msg1, msg2, msg3]\n break; \n case 4: //Boiler OFF (B)\n msg1 = { topic: Sonoff1, payload: \"off\" } //White\n msg2 = { topic: Sonoff2, payload: \"off\" } //Grey\n msg3 = { topic: \"boilerOn\", payload: 0 } //Grey\n return [msg1, msg2, msg3]\n break;\n\n default: //OFF (B)\n msg1 = { topic: Sonoff1, payload: \"off\" } //White\n msg2 = { topic: Sonoff2, payload: \"off\" } //Grey\n msg3 = { topic: \"boilerOn\", payload: 1 } //Grey\n return [msg1, msg2, msg3]\n break;\n}","outputs":3,"noerr":0,"initialize":"","finalize":"","libs":[],"x":730,"y":520,"wires":[["b76bd807a25169b6"],["b76bd807a25169b6"],["b76bd807a25169b6"]]},{"id":"e42e62205a291806","type":"switch","z":"db9c45ab1920b2aa","name":"Div power","property":"boilerDivV","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"num"},{"t":"eq","v":"2","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":700,"y":460,"wires":[["bc22217d67ad48f7"],["bc22217d67ad48f7"],[]]},{"id":"5358f4718995195f","type":"rbe","z":"db9c45ab1920b2aa","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":false,"property":"boilerDivV","topi":"topic","x":1050,"y":400,"wires":[["5dec299c933e27b4","bdd575c33e8736b1"]]},{"id":"bc22217d67ad48f7","type":"delay","z":"db9c45ab1920b2aa","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"minutes","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"allowrate":false,"outputs":1,"x":860,"y":460,"wires":[["8a63ca69a7920126"]]},{"id":"8a63ca69a7920126","type":"change","z":"db9c45ab1920b2aa","name":"","rules":[{"t":"set","p":"boilerDivV","pt":"msg","to":"3","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":1050,"y":460,"wires":[["5dec299c933e27b4"]]},{"id":"989e86c49e75c878","type":"inject","z":"db9c45ab1920b2aa","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"20","crontab":"","once":true,"onceDelay":"11","topic":"","payload":"","payloadType":"date","x":330,"y":400,"wires":[["6d4f4277db295de3"]]},{"id":"ed445c56b3f2e121","type":"rbe","z":"db9c45ab1920b2aa","name":"","func":"rbe","gap":"","start":"","inout":"out","septopics":false,"property":"boilerEnable","topi":"topic","x":1050,"y":360,"wires":[["bdd575c33e8736b1"]]},{"id":"c4fb6f4f461a93fc","type":"mqtt in","z":"db9c45ab1920b2aa","name":"Div V/Vs","topic":"stat/DivV/#","qos":"2","datatype":"utf8","broker":"0549f612016b7da9","nl":false,"rap":true,"rh":0,"inputs":0,"x":100,"y":180,"wires":[["c40abd86e2fe1535"]]},{"id":"c40abd86e2fe1535","type":"switch","z":"db9c45ab1920b2aa","name":"Which valve?","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"stat/DivV/CH_on/RESULT","vt":"str"},{"t":"eq","v":"stat/DivV/HW_OK/RESULT","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":250,"y":180,"wires":[["190a96f9685c1757"],["01252fb24bdfc757"]]},{"id":"ac2cbd0f09972683","type":"switch","z":"db9c45ab1920b2aa","name":"ON/OFF state","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"{\"POWER\":\"ON\"}","vt":"str"},{"t":"eq","v":"{\"POWER\":\"OFF\"}","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":160,"wires":[["5a62482d69faa083"],["fcfe6a03bcdf61bc"]]},{"id":"5a62482d69faa083","type":"function","z":"db9c45ab1920b2aa","name":"if is on","func":"msg.color = \"black\";\nmsg.background = \"#33ff55\";\nmsg.text = \"CH DivV ON\";\nflow.set(\"boilerSonCH\", \"ON\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":690,"y":120,"wires":[["211ddcc7e1b152c8"]]},{"id":"fcfe6a03bcdf61bc","type":"function","z":"db9c45ab1920b2aa","name":"if its off","func":"msg.color = \"black\";\nmsg.background = \"#FF3333\";\nmsg.text = \"CH DivV OFF\";\nflow.set(\"boilerSonCH\", \"OFF\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":700,"y":160,"wires":[["211ddcc7e1b152c8"]]},{"id":"211ddcc7e1b152c8","type":"ui_button","z":"db9c45ab1920b2aa","name":"DivV CH","group":"92f16c3dd8988295","order":1,"width":3,"height":1,"passthru":false,"label":"{{msg.text}}","tooltip":"","color":"{{msg.color}}","bgcolor":"{{msg.background}}","className":"","icon":"fa-fire fa-2x","payload":"none","payloadType":"str","topic":"button","topicType":"str","x":840,"y":120,"wires":[["4f429f38af46cd31"]]},{"id":"2756486acd26cbce","type":"switch","z":"db9c45ab1920b2aa","name":"ON/OFF state","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"{\"POWER\":\"ON\"}","vt":"str"},{"t":"eq","v":"{\"POWER\":\"OFF\"}","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":540,"y":200,"wires":[["618acec790331512"],["d59fe3ec0708251a"]]},{"id":"618acec790331512","type":"function","z":"db9c45ab1920b2aa","name":"if is on","func":"msg.color = \"black\";\nmsg.background = \"#33ff55\";\nmsg.text = \"HW DivV OK\";\nglobal.set(\"boilerSonHW\", \"ON\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":690,"y":200,"wires":[["f70c79b05ca981a3"]]},{"id":"d59fe3ec0708251a","type":"function","z":"db9c45ab1920b2aa","name":"if its off","func":"msg.color = \"black\";\nmsg.background = \"#FF3333\";\nmsg.text = \"HW DivV OFF\";\nglobal.set(\"boilerSonHW\", \"OFF\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":700,"y":240,"wires":[["f70c79b05ca981a3"]]},{"id":"f70c79b05ca981a3","type":"ui_button","z":"db9c45ab1920b2aa","name":"DivV HW","group":"92f16c3dd8988295","order":2,"width":3,"height":1,"passthru":false,"label":"{{msg.text}}","tooltip":"","color":"{{msg.color}}","bgcolor":"{{msg.background}}","className":"","icon":"fa-fire fa-2x","payload":"none","payloadType":"str","topic":"topic","topicType":"msg","x":840,"y":200,"wires":[["b66ffe50f92de9a5"]]},{"id":"4f429f38af46cd31","type":"switch","z":"db9c45ab1920b2aa","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"button","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":970,"y":120,"wires":[["51fe7a3a52521326"]]},{"id":"190a96f9685c1757","type":"change","z":"db9c45ab1920b2aa","name":"State1","rules":[{"t":"set","p":"state1","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":160,"wires":[["ac2cbd0f09972683"]]},{"id":"01252fb24bdfc757","type":"change","z":"db9c45ab1920b2aa","name":"State2","rules":[{"t":"set","p":"state2","pt":"msg","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":390,"y":200,"wires":[["2756486acd26cbce"]]},{"id":"51fe7a3a52521326","type":"function","z":"db9c45ab1920b2aa","name":"CH on change","func":"let state;\nstate = flow.get(\"boilerSonCH\");\nif (state == \"ON\") state = \"OFF\"; else state = \"ON\";\nmsg.topic = \"cmnd/DivV/CH_on/POWER\"\nmsg.payload = state\nnode.status({text:state});\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1120,"y":120,"wires":[["b6b8da7f20c6df7f","d36ea3c46c2f1b51"]]},{"id":"b6b8da7f20c6df7f","type":"debug","z":"db9c45ab1920b2aa","name":"debug 68","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1120,"y":160,"wires":[]},{"id":"b66ffe50f92de9a5","type":"switch","z":"db9c45ab1920b2aa","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"button","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":970,"y":200,"wires":[["4dc4732fa2bb8571"]]},{"id":"4dc4732fa2bb8571","type":"function","z":"db9c45ab1920b2aa","name":"HW OK change","func":"let state;\nstate = flow.get(\"boilerSonHW\");\nif (state == \"ON\") state = \"OFF\"; else state = \"ON\";\nmsg.topic = \"cmnd/DivV/HW_OK/POWER\"\nmsg.payload = state;\nnode.status({text:state})\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":1120,"y":200,"wires":[["d36ea3c46c2f1b51"]]},{"id":"062e0d03e16351dc","type":"comment","z":"db9c45ab1920b2aa","name":"Diverter valve Sonoffs","info":"","x":140,"y":120,"wires":[]},{"id":"a2c193c78c27832f","type":"debug","z":"db9c45ab1920b2aa","name":"debug 56","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1160,"y":520,"wires":[]},{"id":"aa42c27fd8a5ce22","type":"join","z":"db9c45ab1920b2aa","name":"","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"","count":"3","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":1010,"y":520,"wires":[["a2c193c78c27832f"]]},{"id":"353b0beab954830b","type":"junction","z":"db9c45ab1920b2aa","x":940,"y":660,"wires":[["cd31a44d6b2d8d30"]]},{"id":"5dec299c933e27b4","type":"junction","z":"db9c45ab1920b2aa","x":1180,"y":460,"wires":[["498bf511e8cf4f87"]]},{"id":"e16f092f7d26bc70","type":"junction","z":"db9c45ab1920b2aa","x":600,"y":460,"wires":[["e42e62205a291806"]]},{"id":"b76bd807a25169b6","type":"junction","z":"db9c45ab1920b2aa","x":840,"y":520,"wires":[["a650a549cee2b75c","aa42c27fd8a5ce22"]]},{"id":"bdd575c33e8736b1","type":"junction","z":"db9c45ab1920b2aa","x":1180,"y":400,"wires":[["e16f092f7d26bc70"]]},{"id":"d36ea3c46c2f1b51","type":"junction","z":"db9c45ab1920b2aa","x":1240,"y":160,"wires":[["bc981fa9ede7efd8"]]},{"id":"a650a549cee2b75c","type":"junction","z":"db9c45ab1920b2aa","x":1260,"y":620,"wires":[["bc981fa9ede7efd8"]]},{"id":"36dcc97ebbdef592","type":"group","z":"db9c45ab1920b2aa","name":"Manual","style":{"label":true},"nodes":["9b0499692461daa6","ef51a3701dcb2b29","3240c5e62d59e6aa","bfc932b6e2cfb045","e549857b4937c957","39f8b9f4208b1735","1e9735136aeda406","7604938df3bc1366","f7bfe5923da81f41","8fc11d5f12a82a4d","b58d9b1207780297","1f37c36534974e84","1b4587e49bdd53fa","d38ae8bcd36656a7","413e9a43b62fdfcc","9a55e78f2d9dd72c","0317ea6e74e85738","a8ce935cb27bc39a","03c62283a84b25a3","e4cac3d19f375bee","95eb01687306e587"],"x":34,"y":459,"w":472,"h":422},{"id":"9b0499692461daa6","type":"change","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"All On","rules":[{"t":"set","p":"boilerCH","pt":"global","to":"1","tot":"num"},{"t":"set","p":"boilerHW","pt":"global","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":760,"wires":[["e4cac3d19f375bee"]]},{"id":"ef51a3701dcb2b29","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":200,"y":760,"wires":[["9b0499692461daa6"]]},{"id":"3240c5e62d59e6aa","type":"change","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"CH Only","rules":[{"t":"set","p":"boilerCH","pt":"global","to":"1","tot":"num"},{"t":"set","p":"boilerHW","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":800,"wires":[["e4cac3d19f375bee"]]},{"id":"bfc932b6e2cfb045","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":200,"y":800,"wires":[["3240c5e62d59e6aa"]]},{"id":"e549857b4937c957","type":"change","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"HW Only","rules":[{"t":"set","p":"boilerCH","pt":"global","to":"0","tot":"num"},{"t":"set","p":"boilerHW","pt":"global","to":"1","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":840,"wires":[["e4cac3d19f375bee"]]},{"id":"39f8b9f4208b1735","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":200,"y":840,"wires":[["e549857b4937c957"]]},{"id":"1e9735136aeda406","type":"change","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"All Off","rules":[{"t":"set","p":"boilerCH","pt":"global","to":"0","tot":"num"},{"t":"set","p":"boilerHW","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":350,"y":700,"wires":[["e4cac3d19f375bee"]]},{"id":"7604938df3bc1366","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":200,"y":700,"wires":[["1e9735136aeda406"]]},{"id":"f7bfe5923da81f41","type":"change","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"Temps","rules":[{"t":"set","p":"OutsideTemperature","pt":"global","to":"15","tot":"num"},{"t":"set","p":"CHDesired","pt":"global","to":"21.5","tot":"num"},{"t":"set","p":"HWDesired","pt":"global","to":"42.9","tot":"num"},{"t":"set","p":"LivingRoomTemp","pt":"global","to":"19","tot":"num"},{"t":"set","p":"HotWater","pt":"global","to":"40","tot":"num"},{"t":"set","p":"boilerDivV","pt":"global","to":"0","tot":"num"},{"t":"set","p":"boilerCHONstatus","pt":"global","to":"0","tot":"num"},{"t":"set","p":"boilerHWOKstatus","pt":"global","to":"0","tot":"num"},{"t":"set","p":"boilerDivVstatus","pt":"global","to":"0","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":500,"wires":[[]]},{"id":"8fc11d5f12a82a4d","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":140,"y":500,"wires":[["f7bfe5923da81f41"]]},{"id":"b58d9b1207780297","type":"function","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"LR Tmp","func":"global.set(\"LivingRoomTemp\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":400,"y":600,"wires":[["95eb01687306e587"]]},{"id":"1f37c36534974e84","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"15","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"15","payloadType":"num","x":130,"y":600,"wires":[["b58d9b1207780297"]]},{"id":"1b4587e49bdd53fa","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"22","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"22","payloadType":"num","x":270,"y":600,"wires":[["b58d9b1207780297"]]},{"id":"d38ae8bcd36656a7","type":"function","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"HW Tmp","func":"global.set(\"HotWater\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":400,"y":640,"wires":[["95eb01687306e587"]]},{"id":"413e9a43b62fdfcc","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"32","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"32","payloadType":"num","x":130,"y":640,"wires":[["d38ae8bcd36656a7"]]},{"id":"9a55e78f2d9dd72c","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"45","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"45","payloadType":"num","x":270,"y":640,"wires":[["d38ae8bcd36656a7"]]},{"id":"0317ea6e74e85738","type":"function","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","name":"Priority","func":"global.set(\"boilerPriority\", msg.payload);\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":400,"y":540,"wires":[["6d4f4277db295de3"]]},{"id":"a8ce935cb27bc39a","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"0","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"0","payloadType":"num","x":130,"y":540,"wires":[["0317ea6e74e85738"]]},{"id":"03c62283a84b25a3","type":"inject","z":"db9c45ab1920b2aa","d":true,"g":"36dcc97ebbdef592","name":"1","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"1","payloadType":"num","x":270,"y":540,"wires":[["0317ea6e74e85738"]]},{"id":"e4cac3d19f375bee","type":"junction","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","x":480,"y":700,"wires":[["6d4f4277db295de3"]]},{"id":"95eb01687306e587","type":"junction","z":"db9c45ab1920b2aa","g":"36dcc97ebbdef592","x":480,"y":600,"wires":[["6d4f4277db295de3"]]},{"id":"0549f612016b7da9","type":"mqtt-broker","name":"NodeRED MQTT","broker":"172.27.123.58","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""},{"id":"92f16c3dd8988295","type":"ui_group","name":"DivV CH","tab":"df773904c22c0105","order":1,"disp":true,"width":"6","collapse":false,"className":""},{"id":"df773904c22c0105","type":"ui_tab","name":"OTGW","icon":"dashboard","order":18,"disabled":false,"hidden":false}]