Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [{"id":"368c6b12.3ae6f4","type":"tab","label":"Brucontrol interface","disabled":false,"info":""},{"id":"b875ee30.c832a","type":"tab","label":"Brewfather","disabled":false,"info":""},{"id":"36bfb87c.45c688","type":"ui_tab","z":"","name":"Home","icon":"dashboard"},{"id":"e15967f2.8aa848","type":"mqtt-broker","z":"","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"c55602d6.eaeb","type":"tcp out","z":"368c6b12.3ae6f4","host":"","port":"","beserver":"reply","base64":false,"end":false,"name":"To BC","x":1050,"y":960,"wires":[]},{"id":"184f78d8.bc7917","type":"tcp in","z":"368c6b12.3ae6f4","name":"From BC","server":"server","host":"","port":"5000","datamode":"stream","datatype":"utf8","newline":"","topic":"","base64":false,"x":60,"y":980,"wires":[["30344b49.8fc444","bf63d504.758de8","12fa773.1516589","ad133615.08a4e8"]]},{"id":"5af4337b.ff644c","type":"function","z":"368c6b12.3ae6f4","name":"Splitin5","func":"\nvar str = msg.payload;\nvar firstslash = str.indexOf(\"/\");\nvar firstw = str.indexOf(\"?\"); //finds the first ?\nvar firstx = str.indexOf(\"!\"); //finds the first !\nvar nextx = str.indexOf(\"!\", firstw); //finds the first ! after ?\nvar end = str.lastIndexOf(\";\"); // finds the end\nvar slashpart;\nvar firstpart;\nvar middlepart;\nvar lastpart;\nvar msg1={};\nvar msg2 = {};\nvar msg3 = {};\nvar msg4 = {};\nvar msg5 = {};\nmsg1.topic = \"first\"\nmsg2.topic = \"middle\"\nmsg3.topic = \"last\"\nmsg4.topic = \"slash\"\nmsg5.topic = \"keepalive\"\n\nif (firstslash > -1 && firstx < 0 && firstw < 0 && nextx < 0) { // /;\n slashpart = str.slice(firstslash, end);\n msg1.payload = \"\";\n msg2.payload = \"\";\n msg3.payload = \"\";\n msg4.payload = String(slashpart);\n}\nif (firstslash > -1 && firstx > -1 && firstw < 0) { // /,!;\n slashpart = str.slice(firstslash, firstx);\n msg4.payload = String(slashpart);\n firstpart = str.slice(firstx, end);\n msg1.payload = String(firstpart);\n msg2.payload = \"\";\n msg3.payload = \"\";\n \n}\nif (firstslash > -1 && firstx < 0 && firstw > -1 && nextx < 0) { // /,?;\n slashpart = str.slice(firstslash, firstw);\n msg4.payload = String(slashpart);\n middlepart = str.slice(firstw, end);\n msg2.payload = String(middlepart);\n msg1.payload = \"\";\n msg3.payload = \"\";\n}\nif (firstslash > -1 && firstx > -1 && firstw > -1 && nextx < 0) { // /,!,?;\n slashpart = str.slice(firstslash, firstx);\n msg4.payload = String(slashpart);\n firstpart = str.slice(firstx, firstw);\n msg1.payload = String(firstpart);\n middlepart = str.slice(firstw, end);\n msg2.payload = String(middlepart);\n msg3.payload = \"\";\n}\nif (firstslash > -1 && firstx > -1 && firstw > -1 && nextx > -1) { // /,!,?,!;\n slashpart = str.slice(firstslash, firstx);\n msg4.payload = String(slashpart);\n firstpart = str.slice(firstx, firstw);\n msg1.payload = String(firstpart);\n middlepart = str.slice(firstw, nextx);\n msg2.payload = String(middlepart);\n lastpart = str.slice(nextx, end);\n msg3.payload = String(lastpart);\n}\nif (firstslash < 0 && firstx > -1 && firstw > -1 && nextx > -1) { // !,?,!;\n firstpart = str.slice(firstx, firstw);\n msg1.payload = String(firstpart);\n middlepart = str.slice(firstw, nextx);\n msg2.payload = String(middlepart);\n lastpart = str.slice(nextx, end);\n msg3.payload = String(lastpart);\n msg4.payload = \"\";\n}\nif (firstslash < 0 && firstx < 0 && firstw > -1 && nextx > -1) { // ?,!;\n middlepart = str.slice(firstw, nextx);\n msg2.payload = String(middlepart);\n lastpart = str.slice(nextx, end);\n msg3.payload = String(lastpart);\n msg1.payload = \"\";\n msg4.payload = \"\";\n}\nif (firstslash < 0 && firstx > -1 && firstw > -1 && nextx < 0) { // !,?;\n firstpart = str.slice(firstx, firstw);\n msg1.payload = String(firstpart);\n middlepart = str.slice(firstw, end);\n msg2.payload = String(middlepart);\n msg3.payload = \"\";\n msg4.payload = \"\";\n}\nif (firstslash < 0 && firstx > -1 && firstw < 0) { // !;\n firstpart = str.slice(firstx, end);\n msg1.payload = String(firstpart);\n msg2.payload = null;\n msg3.payload = \"\";\n msg4.payload = \"\";\n}\nif (firstslash < 0 && firstx < 0 && firstw > -1 && nextx < 0) { // ?;\n middlepart = str.slice(firstw, end);\n msg1.payload = \"\";\n msg4.payload = \"\";\n msg3.payload = \"\";\n msg2.payload = String(middlepart);\n}\nif (msg.payload == \"*;\") { //if keepalive communication\n msg5.payload = \"*\"; }\n else {\n msg5.payload = \"\";\n }\n \nreturn [msg1, msg2, msg3, msg4, msg5];\n\n\n\n\n\n","outputs":5,"noerr":0,"x":60,"y":740,"wires":[[],[],[],[],[]]},{"id":"58408118.db1018","type":"change","z":"368c6b12.3ae6f4","name":"200","rules":[{"t":"set","p":"payload","pt":"msg","to":"$floor(msg.payload.DS18B20.Temperature*100)","tot":"jsonata"},{"t":"set","p":"200","pt":"flow","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"200","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":300,"wires":[["bd38150b.8dce8"]]},{"id":"a59001c4.2a4dd8","type":"inject","z":"368c6b12.3ae6f4","name":"Analog in","topic":"","payload":"123454","payloadType":"str","repeat":"1","crontab":"","once":true,"onceDelay":0.1,"x":1150,"y":40,"wires":[["b0c20f16.72267","207eb92c.a0628e","bb1d0f05.8b5a1","b37ccddf.7e07e8","4ffb02eb.00b7e4","5c26e7ae.dbbbc8","c81efba0.ad7af","b0e036ed.603da","8fde4d20.605de8","4ddf83ce.4acb1c","31e906b8.bc40ba","eb4e62f5.6b72f8","8dae0381.0d3e88","a2415a34.ffb258","7b444078.c3d5e8","e6597cbd.540898","16b984b7.5d2e03","8ec2878e.8ec66","488de313.1b02c4","1304aef1.250359","7fa9d5c6.5a2f74","1dd513db.bd8f44","32acbddb.48c02a","89dedeff.3a83b8"]]},{"id":"1304aef1.250359","type":"change","z":"368c6b12.3ae6f4","name":"100","rules":[{"t":"set","p":"100","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":140,"wires":[[]]},{"id":"4ddf83ce.4acb1c","type":"change","z":"368c6b12.3ae6f4","name":"202","rules":[{"t":"set","p":"202","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":220,"wires":[[]]},{"id":"31e906b8.bc40ba","type":"change","z":"368c6b12.3ae6f4","name":"203","rules":[{"t":"set","p":"203","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":260,"wires":[[]]},{"id":"eb4e62f5.6b72f8","type":"change","z":"368c6b12.3ae6f4","name":"204","rules":[{"t":"set","p":"204","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":300,"wires":[[]]},{"id":"8dae0381.0d3e88","type":"change","z":"368c6b12.3ae6f4","name":"205","rules":[{"t":"set","p":"205","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":340,"wires":[[]]},{"id":"a2415a34.ffb258","type":"change","z":"368c6b12.3ae6f4","name":"206","rules":[{"t":"set","p":"206","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":380,"wires":[[]]},{"id":"7b444078.c3d5e8","type":"change","z":"368c6b12.3ae6f4","name":"207","rules":[{"t":"set","p":"207","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":420,"wires":[[]]},{"id":"e6597cbd.540898","type":"change","z":"368c6b12.3ae6f4","name":"208","rules":[{"t":"set","p":"208","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":460,"wires":[[]]},{"id":"16b984b7.5d2e03","type":"change","z":"368c6b12.3ae6f4","name":"209","rules":[{"t":"set","p":"209","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1270,"y":500,"wires":[[]]},{"id":"b0c20f16.72267","type":"change","z":"368c6b12.3ae6f4","name":"101","rules":[{"t":"set","p":"101","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":180,"wires":[[]]},{"id":"207eb92c.a0628e","type":"change","z":"368c6b12.3ae6f4","name":"102","rules":[{"t":"set","p":"102","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":220,"wires":[[]]},{"id":"bb1d0f05.8b5a1","type":"change","z":"368c6b12.3ae6f4","name":"103","rules":[{"t":"set","p":"103","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":260,"wires":[[]]},{"id":"b37ccddf.7e07e8","type":"change","z":"368c6b12.3ae6f4","name":"104","rules":[{"t":"set","p":"104","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":300,"wires":[[]]},{"id":"4ffb02eb.00b7e4","type":"change","z":"368c6b12.3ae6f4","name":"105","rules":[{"t":"set","p":"105","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":340,"wires":[[]]},{"id":"5c26e7ae.dbbbc8","type":"change","z":"368c6b12.3ae6f4","name":"106","rules":[{"t":"set","p":"106","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":380,"wires":[[]]},{"id":"c81efba0.ad7af","type":"change","z":"368c6b12.3ae6f4","name":"107","rules":[{"t":"set","p":"107","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":420,"wires":[[]]},{"id":"b0e036ed.603da","type":"change","z":"368c6b12.3ae6f4","name":"108","rules":[{"t":"set","p":"108","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":460,"wires":[[]]},{"id":"8fde4d20.605de8","type":"change","z":"368c6b12.3ae6f4","name":"109","rules":[{"t":"set","p":"109","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1030,"y":500,"wires":[[]]},{"id":"8ec2878e.8ec66","type":"change","z":"368c6b12.3ae6f4","name":"110","rules":[{"t":"set","p":"110","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":140,"wires":[[]]},{"id":"488de313.1b02c4","type":"change","z":"368c6b12.3ae6f4","name":"111","rules":[{"t":"set","p":"111","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":180,"wires":[[]]},{"id":"7fa9d5c6.5a2f74","type":"change","z":"368c6b12.3ae6f4","name":"112","rules":[{"t":"set","p":"112","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":220,"wires":[[]]},{"id":"1dd513db.bd8f44","type":"change","z":"368c6b12.3ae6f4","name":"113","rules":[{"t":"set","p":"113","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":260,"wires":[[]]},{"id":"32acbddb.48c02a","type":"change","z":"368c6b12.3ae6f4","name":"114","rules":[{"t":"set","p":"114","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":300,"wires":[[]]},{"id":"89dedeff.3a83b8","type":"change","z":"368c6b12.3ae6f4","name":"115","rules":[{"t":"set","p":"115","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1150,"y":340,"wires":[[]]},{"id":"415da8a3.e66638","type":"http in","z":"b875ee30.c832a","name":"","url":"/brewfather","method":"post","upload":false,"swaggerDoc":"","x":80,"y":40,"wires":[["7805caee.832164","7d6a6687.0b59a8","79359c80.44505c"]]},{"id":"7805caee.832164","type":"http response","z":"b875ee30.c832a","name":"","statusCode":"200","headers":{},"x":320,"y":80,"wires":[]},{"id":"7d6a6687.0b59a8","type":"function","z":"b875ee30.c832a","name":"All the magic","func":"flow.set('recipe' , msg.payload)\n\nfunction time_convert(num)\n { \n var hours = Math.floor(num / 60); \n var minutes = num % 60;\n return + hours + \":\" + minutes + \":00\"; \n}\n\nvar hopstand\nvar hopstandtemp\nif (msg.payload.recipe.hopStandMinutes > 0) {\n hopstand = true\n hopstandtemp = msg.payload.recipe.avgWeightedHopstandTemp\n}\nelse {\n hopstandtemp = 0\n hopstand = false\n}\n\nvar firstwort\nif (msg.payload.recipe.hops[0].use == \"First Wort\") {\n firstwort = true\n} \nelse {\n firstwort = false\n}\n\n\nvar hoptime=[];\nfor(var x=0;x<msg.payload.boilStepsCount;x++){\n hoptime[x]= msg.payload.recipe.hops[x].time;\n }\nhoptime.push(0,0,0,0,0,0,0,0,0,0);\nhoptime.length = 10\n\nvar mashtime=[];\nfor(var y=0;y<msg.payload.mashStepsCount;y++){\n mashtime[y]= msg.payload.recipe.mash.steps[y].stepTime;\n }\nmashtime.push(0,0,0,0,0);\nmashtime.length = 5\n\nvar mashsteps = msg.payload.mashStepsCount - 1;\nvar mashtemp=[];\nfor(var z=0;z<msg.payload.mashStepsCount;z++){\n mashtemp[z]= msg.payload.recipe.mash.steps[z].stepTemp;\n }\nmashtemp.push(mashtemp[mashsteps], mashtemp[mashsteps], mashtemp[mashsteps], mashtemp[mashsteps], mashtemp[mashsteps], mashtemp[mashsteps])\nmashtemp.length = 6\n\nmsg.payload = [ \n\n{ \"Name\": \"Preboil volume\", \"Value\": msg.payload.recipe.boilSize } , \n{ \"Name\": \"Sparge volume\" , \"Value\": msg.payload.recipe.data.spargeWaterAmount } , \n{ \"Name\": \"Strike temp\" , \"Value\": msg.payload.recipe.data.strikeTemp } , \n{ \"Name\": \"Mash temp\" , \"Value\": mashtemp[0] } ,\n{ \"Name\": \"Mash temp1\" , \"Value\": mashtemp[1] } , \n{ \"Name\": \"Mash temp2\" , \"Value\": mashtemp[2] } ,\n{ \"Name\": \"Mash temp3\" , \"Value\": mashtemp[3] } ,\n{ \"Name\": \"Mash temp4\" , \"Value\": mashtemp[4] } ,\n{ \"Name\": \"Mash temp5\" , \"Value\": mashtemp[5] } ,\n{ \"Name\": \"Mash time1\" , \"Value\": time_convert(mashtime[0]) } ,\n{ \"Name\": \"Mash time2\" , \"Value\": time_convert(mashtime[1]) } ,\n{ \"Name\": \"Mash time3\" , \"Value\": time_convert(mashtime[2]) } ,\n{ \"Name\": \"Mash time4\" , \"Value\": time_convert(mashtime[3]) } ,\n{ \"Name\": \"Mash time5\" , \"Value\": time_convert(mashtime[4]) } ,\n{ \"Name\": \"Hop time0\" , \"Value\": time_convert(hoptime[0]) } ,\n{ \"Name\": \"Hop time1\" , \"Value\": time_convert(hoptime[1]) } ,\n{ \"Name\": \"Hop time2\" , \"Value\": time_convert(hoptime[2]) } ,\n{ \"Name\": \"Hop time3\" , \"Value\": time_convert(hoptime[3]) } ,\n{ \"Name\": \"Hop time4\" , \"Value\": time_convert(hoptime[4]) } ,\n{ \"Name\": \"Hop time5\" , \"Value\": time_convert(hoptime[5]) } ,\n{ \"Name\": \"Hop time6\" , \"Value\": time_convert(hoptime[7]) } ,\n{ \"Name\": \"Hop time8\" , \"Value\": time_convert(hoptime[8]) } ,\n{ \"Name\": \"Hop time9\" , \"Value\": time_convert(hoptime[9]) } ,\n{ \"Name\": \"Boil time\" , \"Value\": time_convert(msg. payload.recipe.boilTime) } ,\n{ \"Name\": \"Hopstand temp\" , \"Value\": hopstandtemp } ,\n{ \"Name\": \"First wort\" , \"Value\": firstwort } ,\n{ \"Name\": \"Recipe received\" , \"Value\": msg.payload._timestamp } ,\n{ \"Name\": \"Status\" , \"Value\": msg.payload.recipe.name }\n\n];\n\n\n\nreturn msg;","outputs":1,"noerr":0,"x":330,"y":20,"wires":[["72236c7c.855b24"]]},{"id":"72236c7c.855b24","type":"http request","z":"b875ee30.c832a","name":"","method":"PUT","ret":"txt","paytoqs":false,"url":"http://192.168.77.246:8000/globals","tls":"","proxy":"","authType":"basic","x":570,"y":20,"wires":[[]]},{"id":"58479622.81d7a","type":"http in","z":"b875ee30.c832a","name":"","url":"/F1","method":"get","upload":false,"swaggerDoc":"","x":120,"y":160,"wires":[["a021ade4.3d4dd"]]},{"id":"aa6f2be3.727528","type":"http response","z":"b875ee30.c832a","name":"","statusCode":"200","headers":{},"x":600,"y":160,"wires":[]},{"id":"a021ade4.3d4dd","type":"function","z":"b875ee30.c832a","name":"Fermenter","func":"msg.payload = flow.get('recipe')\nreturn msg;","outputs":1,"noerr":0,"x":310,"y":160,"wires":[["23c2d0e4.8a4c9","aa6f2be3.727528"]]},{"id":"23c2d0e4.8a4c9","type":"debug","z":"b875ee30.c832a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":570,"y":100,"wires":[]},{"id":"79359c80.44505c","type":"debug","z":"b875ee30.c832a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":130,"y":200,"wires":[]},{"id":"db6d2933.986498","type":"tcp in","z":"b875ee30.c832a","name":"F1","server":"server","host":"","port":"8886","datamode":"single","datatype":"utf8","newline":"","topic":"","base64":false,"x":50,"y":380,"wires":[["4c6e16c3.9f8b48","f254039a.b45ca"]]},{"id":"4c6e16c3.9f8b48","type":"tcp out","z":"b875ee30.c832a","host":"","port":"","beserver":"reply","base64":false,"end":false,"name":"","x":190,"y":460,"wires":[]},{"id":"f254039a.b45ca","type":"json","z":"b875ee30.c832a","name":"","property":"payload","action":"","pretty":false,"x":190,"y":420,"wires":[["61ab027e.4c63ac","629e794e.350b98"]]},{"id":"88215552.6c3a88","type":"mqtt in","z":"b875ee30.c832a","name":"","topic":"stat/F1cool/POWER","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":140,"y":560,"wires":[["6ae4c3fb.acd1ac"]]},{"id":"6ae4c3fb.acd1ac","type":"debug","z":"b875ee30.c832a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":250,"y":620,"wires":[]},{"id":"b54576f6.17fde8","type":"function","z":"b875ee30.c832a","name":"iSpindel","func":"\nflow.set('iSpindeltemp', msg.payload.temperature)\nflow.set('gravity', msg.payload.gravity)\nflow.set('iSpindelname', msg.payload.name)\n","outputs":0,"noerr":0,"x":420,"y":280,"wires":[]},{"id":"dd80c75e.465fd8","type":"debug","z":"b875ee30.c832a","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":770,"y":200,"wires":[]},{"id":"dbffb366.986d8","type":"function","z":"b875ee30.c832a","name":"Brewfather","func":"/*flow.get('beer')\nflow.get('device')\nflow.get('pressure')\nflow.get('pressureunit')\nflow.get('ext_temp')\nflow.get('tempunits')\nflow.get('F1temp')\nflow.get('iSpindeltemp')\nflow.get('gravity')\nflow.get('iSpindelname')*/\n\nmsg.payload = {\n\"name\": flow.get('device'),\n\"temp\": flow.get('F1temp'),\n\"ext_temp\": flow.get('ext_temp'),\n\"temp_unit\": flow.get('tempunits'),\n\"gravity\": flow.get('gravity'),\n\"gravity_unit\": \"G\", // G, P\n\"pressure\": flow.get('pressure'),\n\"pressure_unit\": flow.get('pressureunit'),\n\"beer\": flow.get('beer')\n}\nreturn msg;","outputs":1,"noerr":0,"x":610,"y":260,"wires":[["dd80c75e.465fd8"]]},{"id":"60da7eaf.1e612","type":"inject","z":"b875ee30.c832a","name":"","topic":"","payload":"","payloadType":"date","repeat":"960","crontab":"","once":true,"onceDelay":0.1,"x":490,"y":200,"wires":[["dbffb366.986d8"]]},{"id":"61ab027e.4c63ac","type":"switch","z":"b875ee30.c832a","name":"","property":"payload.name","propertyType":"msg","rules":[{"t":"cont","v":"F1","vt":"str"},{"t":"cont","v":"iSpindel","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":270,"y":300,"wires":[["db9d46b9.7a8838"],["b54576f6.17fde8"]]},{"id":"db9d46b9.7a8838","type":"function","z":"b875ee30.c832a","name":"F1","func":"flow.set('beer', msg.payload.beer)\nflow.set('device', msg.payload.name)\nflow.set('pressure', msg.payload.pressure)\nflow.set('pressureunit', msg.payload.pressure_unit)\nflow.set('ext_temp', msg.payload.ext_temp)\nflow.set('tempunits', msg.payload.temp_units)\nflow.set('F1temp', msg.payload.temp)\n","outputs":0,"noerr":0,"x":430,"y":240,"wires":[]},{"id":"ce616d18.fef93","type":"mqtt out","z":"368c6b12.3ae6f4","name":"F2 ctrl","topic":"cmnd/Fcool/POWER2","qos":"","retain":"","broker":"e15967f2.8aa848","x":450,"y":100,"wires":[]},{"id":"137d5803.f2199","type":"switch","z":"368c6b12.3ae6f4","name":"Out","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"1","vt":"str"},{"t":"eq","v":"2","vt":"str"},{"t":"eq","v":"3","vt":"str"},{"t":"eq","v":"4","vt":"str"},{"t":"eq","v":"5","vt":"str"},{"t":"eq","v":"6","vt":"str"},{"t":"eq","v":"7","vt":"str"},{"t":"eq","v":"8","vt":"str"},{"t":"eq","v":"9","vt":"str"},{"t":"eq","v":"10","vt":"str"},{"t":"eq","v":"11","vt":"str"},{"t":"eq","v":"12","vt":"str"},{"t":"eq","v":"13","vt":"str"},{"t":"eq","v":"14","vt":"str"},{"t":"eq","v":"15","vt":"str"},{"t":"eq","v":"16","vt":"str"},{"t":"eq","v":"17","vt":"str"},{"t":"eq","v":"18","vt":"str"},{"t":"eq","v":"19","vt":"str"},{"t":"eq","v":"20","vt":"str"},{"t":"eq","v":"21","vt":"str"},{"t":"eq","v":"22","vt":"str"},{"t":"eq","v":"23","vt":"str"}],"checkall":"true","repair":false,"outputs":23,"x":50,"y":180,"wires":[[],[],[],["e38efb94.440698"],[],["179a0b7d.e3dee5"],["ce616d18.fef93"],["1cb68ce9.48f553"],[],[],["1b20fa56.8799b6","ce7072ee.32213"],[],[],[],[],["50ba9255.e3055c","3b0f82a9.baa34e"],[],[],[],[],[],[],[]]},{"id":"126a4800.ece2f8","type":"fusion","z":"b875ee30.c832a","name":"","x":570,"y":440,"wires":[["c13cc430.8a82c8","e173cc27.336e88"]]},{"id":"36091588.c97e32","type":"inject","z":"b875ee30.c832a","name":"Fusion config","topic":"","payload":"{\"topic\":\"fusion-configuration\",\"payload\":{\"outputTopic\":\"F1-and-iSpindel-merged\",\"inputTopics\":[\"F1\",\"iSpindel-xxxx\"],\"allowUndefined\":false,\"onlyPayloads\":true,\"additionalData\":{\"fromage\":false}}}","payloadType":"json","repeat":"","crontab":"","once":true,"onceDelay":"5","x":380,"y":460,"wires":[["126a4800.ece2f8"]]},{"id":"c13cc430.8a82c8","type":"debug","z":"b875ee30.c832a","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":750,"y":440,"wires":[]},{"id":"629e794e.350b98","type":"change","z":"b875ee30.c832a","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"payload.name","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":420,"wires":[["126a4800.ece2f8"]]},{"id":"e173cc27.336e88","type":"delay","z":"b875ee30.c832a","name":"","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"16","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":760,"y":480,"wires":[[]]},{"id":"ac613626.f0f29","type":"average","z":"b875ee30.c832a","name":"","topic":"","x":580,"y":520,"wires":[[]]},{"id":"79d7816.3bfc2","type":"switch","z":"b875ee30.c832a","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":580,"y":380,"wires":[[]]},{"id":"179a0b7d.e3dee5","type":"mqtt out","z":"368c6b12.3ae6f4","name":"F1 ctrl","topic":"cmnd/Fcool/POWER1","qos":"","retain":"","broker":"e15967f2.8aa848","x":450,"y":60,"wires":[]},{"id":"75807430.88109c","type":"mqtt in","z":"368c6b12.3ae6f4","name":"Cooler temp","topic":"tele/cooler/SENSOR","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":590,"y":300,"wires":[["375bb888.d87dd8"]]},{"id":"375bb888.d87dd8","type":"json","z":"368c6b12.3ae6f4","name":"","property":"payload","action":"","pretty":false,"x":730,"y":300,"wires":[["58408118.db1018"]]},{"id":"d4df721b.34af","type":"mqtt out","z":"368c6b12.3ae6f4","name":"Cooler ctrl","topic":"cmnd/cooler/POWER","qos":"","retain":"","broker":"e15967f2.8aa848","x":430,"y":320,"wires":[]},{"id":"e38efb94.440698","type":"mqtt out","z":"368c6b12.3ae6f4","name":"4ch L1","topic":"cmnd/4ch/POWER1","qos":"","retain":"","broker":"e15967f2.8aa848","x":450,"y":20,"wires":[]},{"id":"9762d994.361d98","type":"mqtt in","z":"368c6b12.3ae6f4","name":"Freezer temp","topic":"tele/freezer/SENSOR","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":590,"y":260,"wires":[["9696e940.76b2a8"]]},{"id":"9696e940.76b2a8","type":"json","z":"368c6b12.3ae6f4","name":"","property":"payload","action":"","pretty":false,"x":730,"y":260,"wires":[["2a6686fe.5791d2"]]},{"id":"2be0985d.8818e8","type":"mqtt out","z":"368c6b12.3ae6f4","name":"Freezer ctrl","topic":"cmnd/freezer/POWER","qos":"","retain":"","broker":"e15967f2.8aa848","x":450,"y":220,"wires":[]},{"id":"82506c1e.0ab398","type":"mqtt in","z":"368c6b12.3ae6f4","name":"Cooler feedback","topic":"stat/cooler/POWER","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":600,"y":220,"wires":[["8c0b2cbd.f5a0f8","21316851.1b579"]]},{"id":"8c0b2cbd.f5a0f8","type":"change","z":"368c6b12.3ae6f4","name":"16","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"1","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"0","tot":"num"},{"t":"set","p":"16","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":220,"wires":[[]]},{"id":"e408cd4e.20e708","type":"mqtt in","z":"368c6b12.3ae6f4","name":"4ch feedback","topic":"stat/4ch/POWER1","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":590,"y":20,"wires":[["3685d214.b48a06","21316851.1b579"]]},{"id":"3685d214.b48a06","type":"change","z":"368c6b12.3ae6f4","name":"4","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"1","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"0","tot":"num"},{"t":"set","p":"4","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":20,"wires":[[]]},{"id":"ad8f13fc.951b98","type":"mqtt in","z":"368c6b12.3ae6f4","name":"F1 feedback","topic":"stat/Fcool/POWER1","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":590,"y":60,"wires":[["ae355df.1b1aca","21316851.1b579"]]},{"id":"ae355df.1b1aca","type":"change","z":"368c6b12.3ae6f4","name":"6","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"1","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"0","tot":"num"},{"t":"set","p":"6","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":60,"wires":[[]]},{"id":"ffd9d1cf.8dec88","type":"mqtt in","z":"368c6b12.3ae6f4","name":"F2 feedback","topic":"stat/Fcool/POWER2","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":590,"y":100,"wires":[["f9936e54.d6d5a8","21316851.1b579"]]},{"id":"f9936e54.d6d5a8","type":"change","z":"368c6b12.3ae6f4","name":"7","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"1","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"0","tot":"num"},{"t":"set","p":"7","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":100,"wires":[[]]},{"id":"306509fc.3b5c5e","type":"rbe","z":"368c6b12.3ae6f4","name":"","func":"rbe","gap":"","start":"","inout":"out","property":"payload","x":830,"y":920,"wires":[["137d5803.f2199","ce0c590e.efa008"]]},{"id":"2a6686fe.5791d2","type":"change","z":"368c6b12.3ae6f4","name":"201","rules":[{"t":"set","p":"payload","pt":"msg","to":"$floor(msg.payload.DS18B20.Temperature*100)\t","tot":"jsonata"},{"t":"set","p":"201","pt":"flow","to":"payload","tot":"msg"},{"t":"set","p":"topic","pt":"msg","to":"201","tot":"num"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":260,"wires":[["bd38150b.8dce8"]]},{"id":"c4fc07f7.b802","type":"change","z":"368c6b12.3ae6f4","name":"11","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"1","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"0","tot":"num"},{"t":"set","p":"11","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":180,"wires":[[]]},{"id":"5ef1bfff.454408","type":"mqtt in","z":"368c6b12.3ae6f4","name":"Freezer feedback","topic":"stat/freezer/POWER","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":600,"y":180,"wires":[["c4fc07f7.b802","21316851.1b579"]]},{"id":"bd38150b.8dce8","type":"function","z":"368c6b12.3ae6f4","name":"Hysteresis","func":"var port = msg.topic\nvar value = msg.payload\nvar delay;\nvar flush = {};\nvar coolmode;\nvar output;\nvar on;\nvar off;\nvar pin = flow.get(String(port)+\"pin\")\nvar target = flow.get(String(port)+\"target\")\nvar onoffset = flow.get(String(port)+\"onoffset\")\nvar cooling = flow.get(String(pin));\nvar activelow = flow.get(String(port)+\"activelow\")\nvar ondelay = flow.get(String(port)+\"ondelay\")\n\nif (activelow === 1) {\n on = 0\n off = 1\n}\nelse {\n on = 1\n off = 0\n}\n\nif (onoffset > target) {\n coolmode = true\n}\n\nif (value >= onoffset && coolmode === true){\noutput = on\n}\nif (value <= onoffset && value > target && cooling === 1 && coolmode === true) {\n output = on \n}\nif (value <= target && coolmode === true){\n output = off\nmsg.flush = flush\nnode.send(msg.flush)\n}\n\nif (flow.get(String(pin)+\"disabled\") === 1) {\noutput = off\nmsg.flush = flush\nnode.send(msg.flush)\n}\n\nmsg.topic = pin\nmsg.payload = output\nmsg.delay = ondelay\nreturn msg;","outputs":1,"noerr":0,"x":630,"y":940,"wires":[["306509fc.3b5c5e"]]},{"id":"1cb68ce9.48f553","type":"mqtt out","z":"368c6b12.3ae6f4","name":"Steam ctrl","topic":"cmnd/steam/POWER","qos":"","retain":"","broker":"e15967f2.8aa848","x":430,"y":140,"wires":[]},{"id":"855a522c.a10c1","type":"mqtt in","z":"368c6b12.3ae6f4","name":"Steam feedback","topic":"stat/steam/POWER","qos":"2","datatype":"auto","broker":"e15967f2.8aa848","x":600,"y":140,"wires":[["2c750a9c.0ca526","21316851.1b579"]]},{"id":"2c750a9c.0ca526","type":"change","z":"368c6b12.3ae6f4","name":"8","rules":[{"t":"change","p":"payload","pt":"msg","from":"ON","fromt":"str","to":"1","tot":"num"},{"t":"change","p":"payload","pt":"msg","from":"OFF","fromt":"str","to":"0","tot":"num"},{"t":"set","p":"8","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":140,"wires":[[]]},{"id":"50ba9255.e3055c","type":"falling-edge","z":"368c6b12.3ae6f4","name":"Stop","threshold":"1","x":170,"y":320,"wires":[["d4df721b.34af"]]},{"id":"3b0f82a9.baa34e","type":"delay","z":"368c6b12.3ae6f4","name":"ONdelay","pauseType":"delayv","timeout":"0","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":180,"y":260,"wires":[["47ff9754.f0ae28"]]},{"id":"ce7072ee.32213","type":"falling-edge","z":"368c6b12.3ae6f4","name":"Stop","threshold":"1","x":170,"y":220,"wires":[["2be0985d.8818e8"]]},{"id":"1b20fa56.8799b6","type":"delay","z":"368c6b12.3ae6f4","name":"ONdelay","pauseType":"delayv","timeout":"0","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":180,"y":160,"wires":[["1849cdac.6051b2"]]},{"id":"21316851.1b579","type":"debug","z":"368c6b12.3ae6f4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":590,"y":340,"wires":[]},{"id":"30344b49.8fc444","type":"string","z":"368c6b12.3ae6f4","name":"first","methods":[{"name":"getLeftMost","params":[{"type":"str","value":"?"}]}],"prop":"payload","propout":"payload","object":"msg","objectout":"msg","x":190,"y":1040,"wires":[["e07ac922.25a448","668c62d7.ffbe8c"]]},{"id":"bf63d504.758de8","type":"string","z":"368c6b12.3ae6f4","name":"last","methods":[{"name":"delLeftMost","params":[{"type":"str","value":"?"}]},{"name":"ensureLeft","params":[{"type":"str","value":"?"}]},{"name":"delRightMost","params":[{"type":"str","value":"!"}]},{"name":"delRightMost","params":[{"type":"str","value":"!"}]},{"name":"delRightMost","params":[{"type":"str","value":"!"}]},{"name":"delRightMost","params":[{"type":"str","value":";"}]}],"prop":"payload","propout":"payload","object":"msg","objectout":"msg","x":190,"y":1080,"wires":[["ce236939.941758"]]},{"id":"3f8fd60f.068cfa","type":"inject","z":"368c6b12.3ae6f4","name":"","topic":"","payload":"/5!2?100?105?110?120?610;","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":50,"y":1180,"wires":[[]]},{"id":"e07ac922.25a448","type":"split","z":"368c6b12.3ae6f4","name":"","splt":"!","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":350,"y":1000,"wires":[["52bb424f.135f2c"]]},{"id":"ce236939.941758","type":"split","z":"368c6b12.3ae6f4","name":"","splt":"?","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":350,"y":1080,"wires":[["66608328.39483c"]]},{"id":"668c62d7.ffbe8c","type":"batch","z":"368c6b12.3ae6f4","name":"","mode":"interval","count":10,"overlap":0,"interval":"1","allowEmptySequence":false,"topics":[],"x":610,"y":1040,"wires":[["e4f98089.b5c448"]]},{"id":"e4f98089.b5c448","type":"join","z":"368c6b12.3ae6f4","name":"","mode":"custom","build":"string","property":"payload","propertyType":"msg","key":"topic","joiner":"","joinerType":"str","accumulate":false,"timeout":"0.1","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"","reduceFixup":"","x":750,"y":1040,"wires":[["4dc4fade.04b844"]]},{"id":"66608328.39483c","type":"function","z":"368c6b12.3ae6f4","name":"feedback","func":"if (msg.payload.length > 0) {\n var pin = msg.payload\nmsg.payload = \"?\"+String(pin)+\"=\"+String(flow.get(pin));\n\nreturn msg;\n}","outputs":1,"noerr":0,"x":480,"y":1080,"wires":[["668c62d7.ffbe8c"]]},{"id":"52bb424f.135f2c","type":"function","z":"368c6b12.3ae6f4","name":"pin config","func":"if (msg.payload.length > 0) {\nvar input = msg.payload.split(\",\");\nvar pin = parseInt(input[0])\nvar config = parseInt(input[1])\nvar state;\n\nflow.set(String(pin)+\"disabled\", 0);\n\nif (config == 1) {\n var one ={};\n one.topic = pin\n state = parseInt(input[2])\n one.payload = state \n return [one, null, null];\n}\nif (config == 5) {\n five = {};\n five.topic = \"newconfig\"\n pin = parseInt(input[0])\n config = parseInt(input[1])\n var port = parseInt(input[2])\n var target = parseInt(input[3])\n var onoffset = parseInt(input[4])\n var ondelay = parseInt(input[5]) * 1000\n var activelow = parseInt(input[6])\n var value = parseInt(flow.get(String(port)))\n flow.set(String(port)+\"pin\", pin);\n flow.set(String(port)+\"target\", target);\n flow.set(String(port)+\"onoffset\", onoffset);\n flow.set(String(port)+\"activelow\", activelow);\n flow.set(String(port)+\"ondelay\", ondelay);\n five.payload = [pin, config, port, target, onoffset, ondelay, activelow]\n return [null, five, null];\n}\nif (config == 7) {\n var seven = {};\n seven.topic = pin\n state = parseInt(input[2])\n seven.payload = state \n return [null, null, seven];\n}\n}","outputs":3,"noerr":0,"x":620,"y":1000,"wires":[["306509fc.3b5c5e"],[],["306509fc.3b5c5e"]]},{"id":"ddb4557b.24764","type":"string","z":"368c6b12.3ae6f4","name":"disable","methods":[{"name":"getLeftMost","params":[{"type":"str","value":"!"}]},{"name":"delLeftMost","params":[{"type":"str","value":"?"}]}],"prop":"payload","propout":"payload","object":"msg","objectout":"msg","x":340,"y":900,"wires":[["35844c6e.bcd07c"]]},{"id":"35844c6e.bcd07c","type":"split","z":"368c6b12.3ae6f4","name":"","splt":"/","spltType":"str","arraySplt":1,"arraySpltType":"len","stream":false,"addname":"","x":470,"y":900,"wires":[["83f84393.6dbd7"]]},{"id":"83f84393.6dbd7","type":"function","z":"368c6b12.3ae6f4","name":"disable pins","func":"\nif (msg.payload.length > 0) {\nvar input = msg.payload;\nvar pin = input;\nflow.set(String(pin)+\"disabled\", 1);\nmsg.topic = pin;\nmsg.payload = 0;\nreturn msg;\n}\n\n","outputs":1,"noerr":0,"x":630,"y":900,"wires":[["306509fc.3b5c5e","137d5803.f2199"]]},{"id":"4dc4fade.04b844","type":"string","z":"368c6b12.3ae6f4","name":"","methods":[{"name":"ensureRight","params":[{"type":"str","value":";"}]}],"prop":"payload","propout":"payload","object":"msg","objectout":"msg","x":930,"y":960,"wires":[["c55602d6.eaeb","24c0dd5f.742752"]]},{"id":"12fa773.1516589","type":"switch","z":"368c6b12.3ae6f4","name":"keepalive","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"*","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":360,"y":960,"wires":[["4dc4fade.04b844"]]},{"id":"24c0dd5f.742752","type":"debug","z":"368c6b12.3ae6f4","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":1010,"y":840,"wires":[]},{"id":"41ea08e5.849c08","type":"change","z":"368c6b12.3ae6f4","name":"rbe reset","rules":[{"t":"set","p":"reset","pt":"msg","to":"on","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":620,"y":860,"wires":[["306509fc.3b5c5e"]]},{"id":"c75835f6.090708","type":"inject","z":"368c6b12.3ae6f4","name":"","topic":"","payload":"","payloadType":"date","repeat":"600","crontab":"","once":true,"onceDelay":"60","x":410,"y":780,"wires":[["41ea08e5.849c08"]]},{"id":"ce0c590e.efa008","type":"debug","z":"368c6b12.3ae6f4","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":840,"y":700,"wires":[]},{"id":"47ff9754.f0ae28","type":"delay","z":"368c6b12.3ae6f4","name":"","pauseType":"rate","timeout":"0","timeoutUnits":"seconds","rate":"1","nbRateUnits":"60","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":340,"y":280,"wires":[["d4df721b.34af"]]},{"id":"1849cdac.6051b2","type":"delay","z":"368c6b12.3ae6f4","name":"","pauseType":"rate","timeout":"0","timeoutUnits":"seconds","rate":"1","nbRateUnits":"60","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":340,"y":180,"wires":[["2be0985d.8818e8"]]},{"id":"ad133615.08a4e8","type":"switch","z":"368c6b12.3ae6f4","name":"disable","property":"payload","propertyType":"msg","rules":[{"t":"cont","v":"/","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":200,"y":900,"wires":[["ddb4557b.24764"]]}]
Advertisement
Add Comment
Please, Sign In to add comment