Link to Nodered: https://doslhasmas.eu-gb.mybluemix.net/ Password: dosLHAMAS Username: dosLHAMAS [{"id":"6fa0c208.d87d5c","type":"tab","label":"Locker","disabled":false,"info":""},{"id":"a9ffb4a9.5b4878","type":"tab","label":"Enter locker (check avalibility)","disabled":false,"info":""},{"id":"fc7673ce.85838","type":"tab","label":"Register","disabled":false,"info":""},{"id":"4aa1cb22.4a14cc","type":"tab","label":"Login","disabled":false,"info":""},{"id":"ec0c3a91.447c48","type":"tab","label":"Booking","disabled":false,"info":""},{"id":"194231e1.5f5cb6","type":"tab","label":"Unlock Locker","disabled":false,"info":""},{"id":"f88e332f.475a9","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"a430bb28.fc93f8","type":"mqtt-broker","name":"Andreas mqtt","broker":"hairdresser.cloudmqtt.com","port":"15549","clientid":"Node1","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"22ac7bae.845174","type":"ui_tab","name":"Home","icon":"dashboard","order":1,"disabled":true,"hidden":true},{"id":"60bccb11.7ce804","type":"ui_base","theme":{"name":"theme-custom","lightTheme":{"default":"#0094CE","baseColor":"#0094CE","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":true,"reset":false},"darkTheme":{"default":"#097479","baseColor":"#097479","baseFont":"-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif","edited":true,"reset":false},"customTheme":{"name":"Untitled Theme 1","default":"#4B7930","baseColor":"#04bf81","baseFont":"Gill Sans,Geneva,sans-serif","reset":false},"themeState":{"base-color":{"default":"#4B7930","value":"#04bf81","edited":true},"page-titlebar-backgroundColor":{"value":"#ffffff","edited":true},"page-backgroundColor":{"value":"#ffffff","edited":true},"page-sidebar-backgroundColor":{"value":"#ffffff","edited":true},"group-textColor":{"value":"#000000","edited":true},"group-borderColor":{"value":"#ffffff","edited":true},"group-backgroundColor":{"value":"#ffffff","edited":true},"widget-textColor":{"value":"#000000","edited":true},"widget-backgroundColor":{"value":"#04bf81","edited":false},"widget-borderColor":{"value":"#ebebeb","edited":true},"base-font":{"value":"Gill Sans,Geneva,sans-serif"}},"angularTheme":{"primary":"indigo","accents":"blue","warn":"red","background":"grey"}},"site":{"name":"Node-RED Dashboard","hideToolbar":"true","allowSwipe":"false","lockMenu":"false","allowTempTheme":"true","dateFormat":"DD/MM/YYYY","sizes":{"sx":48,"sy":48,"gx":6,"gy":6,"cx":6,"cy":6,"px":6,"py":6}}},{"id":"335ceaf9.1dbb26","type":"ui_group","name":"LED CONTROLLER","tab":"7f76f4ce.ae8cd4","order":2,"disp":false,"width":"6","collapse":false},{"id":"c3a18a29.72ed58","type":"ui_group","name":"Locker controller","tab":"109ea5b.c4146da","order":2,"disp":false,"width":"6","collapse":false},{"id":"a652ad2c.1d48b","type":"ui_group","name":"Enter","tab":"d1deb9da.dd70f","order":1,"disp":false,"width":"6","collapse":false},{"id":"81d4030f.2e75a","type":"ui_group","name":"Group 3","tab":"","order":4,"disp":true,"width":"6","collapse":false},{"id":"1361b736.903c79","type":"ui_spacer","name":"spacer","group":"","order":1,"width":6,"height":1},{"id":"684f06d8.eb11a8","type":"ui_group","name":"Numbers","tab":"2605a15b.76c69e","order":1,"disp":false,"width":"5","collapse":false},{"id":"3fa75da0.6d85c2","type":"ui_group","name":"End booking","tab":"7039a6e2.65d4b8","order":2,"disp":false,"width":"6","collapse":false},{"id":"e40e97d4.1356e8","type":"ui_group","name":"Menu","tab":"d1deb9da.dd70f","order":1,"disp":false,"width":"6","collapse":false},{"id":"f2aefa84.a9a108","type":"ui_group","name":"Countdown timer","tab":"bcb9de8e.ac824","order":3,"disp":false,"width":"6","collapse":false},{"id":"b09937f3.b814f8","type":"ui_group","name":"Group 1","tab":"7f76f4ce.ae8cd4","order":2,"disp":false,"width":"6","collapse":false},{"id":"75944167.0434b","type":"ui_group","name":"Group 3","tab":"","order":4,"disp":true,"width":"6","collapse":false},{"id":"d8e69abb.fdd8d8","type":"ui_group","name":"PROJECTOR SCREEN INFO","tab":"","order":4,"disp":true,"width":"6"},{"id":"bc44798.097ff88","type":"ui_group","name":"Default","tab":"7f76f4ce.ae8cd4","order":1,"disp":true,"width":"6","collapse":false},{"id":"4c515a74.4bda44","type":"ui_group","name":"Enter","tab":"22ac7bae.845174","order":1,"disp":false,"width":"6","collapse":false},{"id":"d1deb9da.dd70f","type":"ui_tab","name":"Tab 2","icon":"dashboard","order":2,"disabled":false,"hidden":true},{"id":"2605a15b.76c69e","type":"ui_tab","name":"Tab 3","icon":"dashboard","order":3,"disabled":false,"hidden":true},{"id":"109ea5b.c4146da","type":"ui_tab","name":"Tab 4","icon":"dashboard","order":4,"disabled":false,"hidden":true},{"id":"7f76f4ce.ae8cd4","type":"ui_tab","name":"Tab 5","icon":"'fa-fire'","order":5,"disabled":false,"hidden":true},{"id":"bcb9de8e.ac824","type":"ui_tab","name":"Tab 6","icon":"dashboard","order":6,"disabled":false,"hidden":true},{"id":"7039a6e2.65d4b8","type":"ui_tab","name":"Tab 7","icon":"dashboard","order":7,"disabled":false,"hidden":true},{"id":"cab70212.29809","type":"mqtt out","z":"6fa0c208.d87d5c","name":"Outgoing","topic":"status","qos":"2","retain":"","broker":"a430bb28.fc93f8","x":895.25,"y":236.75,"wires":[]},{"id":"3d7ed00f.90cab","type":"mqtt out","z":"6fa0c208.d87d5c","name":"Outgoing","topic":"state/PUMA","qos":"2","retain":"","broker":"a430bb28.fc93f8","x":976,"y":357,"wires":[]},{"id":"dc214d12.464ea8","type":"ui_button","z":"6fa0c208.d87d5c","d":true,"name":"","group":"4c515a74.4bda44","order":3,"width":0,"height":0,"passthru":false,"label":"Lock","tooltip":"","color":"","bgcolor":"","icon":"","payload":"lock","payloadType":"str","topic":"state/PUMA","topicType":"msg","x":783,"y":334,"wires":[["3d7ed00f.90cab"]]},{"id":"26b0ef65.a345f8","type":"ui_button","z":"6fa0c208.d87d5c","d":true,"name":"","group":"4c515a74.4bda44","order":4,"width":0,"height":0,"passthru":false,"label":"Unlock","tooltip":"","color":"","bgcolor":"","icon":"","payload":"unlock","payloadType":"str","topic":"state/PUMA","topicType":"msg","x":783,"y":386,"wires":[["3d7ed00f.90cab"]]},{"id":"3aff18d2.236298","type":"ui_button","z":"6fa0c208.d87d5c","d":true,"name":"","group":"4c515a74.4bda44","order":5,"width":0,"height":0,"passthru":false,"label":"Check availability","tooltip":"","color":"","bgcolor":"","icon":"","payload":"get","payloadType":"str","topic":"status","topicType":"msg","x":684.5,"y":238,"wires":[["cab70212.29809"]]},{"id":"7b977e28.0f1f9","type":"ui_ui_control","z":"6fa0c208.d87d5c","name":"","events":"all","x":539.9999999999999,"y":976.6666666666665,"wires":[[]],"l":false},{"id":"c0008af2.6ef79","type":"ui_button","z":"a9ffb4a9.5b4878","name":"Enter Locker (Get status)","group":"a652ad2c.1d48b","order":0,"width":0,"height":0,"passthru":false,"label":"Enter Locker","tooltip":"","color":"","bgcolor":"","icon":"","payload":"get","payloadType":"str","topic":"status","topicType":"msg","x":315.6666564941406,"y":387.6666564941406,"wires":[["54a250f8.e2acb"]],"l":false},{"id":"54a250f8.e2acb","type":"mqtt out","z":"a9ffb4a9.5b4878","name":"","topic":"status","qos":"1","retain":"","broker":"a430bb28.fc93f8","x":392.2857360839844,"y":388.4285583496094,"wires":[],"l":false},{"id":"49d051bc.614868","type":"mqtt in","z":"a9ffb4a9.5b4878","name":"Incoming","topic":"status/PUMA","qos":"2","datatype":"auto","broker":"a430bb28.fc93f8","x":345.7142639160156,"y":469.4286193847656,"wires":[["90df2a84.af9a4"]]},{"id":"90df2a84.af9a4","type":"switch","z":"a9ffb4a9.5b4878","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"unlocked","vt":"str"},{"t":"eq","v":"locked","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":485.42852783203125,"y":473.85711669921875,"wires":[["cd41f494.11f3a"],["cba4534f.be97c8"]],"l":false},{"id":"20104869.0304f8","type":"ui_ui_control","z":"a9ffb4a9.5b4878","name":"","events":"all","x":737.8571472167969,"y":468.57142066955566,"wires":[[]],"l":false},{"id":"2b60fb62.771444","type":"ui_button","z":"a9ffb4a9.5b4878","d":true,"name":"","group":"e40e97d4.1356e8","order":0,"width":0,"height":0,"passthru":false,"label":"Login","tooltip":"","color":"","bgcolor":"","icon":"","payload":"locked","payloadType":"str","topic":"payload","topicType":"msg","x":372.4285583496094,"y":523.8571166992188,"wires":[["90df2a84.af9a4"]],"l":false},{"id":"cba4534f.be97c8","type":"function","z":"a9ffb4a9.5b4878","name":"go to login page","func":"msg.payload = {\"tab\":\"Tab 4\"}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":592.9998779296875,"y":494.8571472167969,"wires":[["20104869.0304f8"]],"l":false},{"id":"cd41f494.11f3a","type":"function","z":"a9ffb4a9.5b4878","name":"Go to register page","func":"msg.payload = {\"tab\":\"Tab 3\"}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":593.4285278320312,"y":440.0000305175781,"wires":[["20104869.0304f8"]],"l":false},{"id":"3a948d1f.f62eea","type":"ui_form","z":"fc7673ce.85838","name":"","label":"Register","group":"684f06d8.eb11a8","order":1,"width":0,"height":0,"options":[{"label":"E-mail","value":"UN","type":"email","required":true,"rows":null},{"label":"Password","value":"PW","type":"password","required":true,"rows":null}],"formValue":{"UN":"","PW":""},"payload":"","submit":"register","cancel":"","topic":"register","topicType":"msg","splitLayout":"","x":297.1427917480469,"y":335.857177734375,"wires":[["696df83c.d4d75","c14eba68.c1a818","9f9ec1cb.8f585"]]},{"id":"696df83c.d4d75","type":"function","z":"fc7673ce.85838","name":"Save user","func":"global.set(\"username\",msg.payload.UN);\nglobal.set(\"password\",msg.payload.PW);\n\nmsg.payload = {\"tab\":\"Tab 5\"};\n\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":501.9998779296875,"y":324.857177734375,"wires":[["7fdc27e.dfb32d8"]]},{"id":"7fdc27e.dfb32d8","type":"ui_ui_control","z":"fc7673ce.85838","name":"","events":"all","x":655.2857055664062,"y":327.8571472167969,"wires":[[]],"l":false},{"id":"4ef711db.5ab628","type":"function","z":"4aa1cb22.4a14cc","name":"Check login","func":"savedUN = global.get(\"username\");\nsavedPW = global.get(\"password\");\nloginUN = msg.payload.UN;\nloginPW = msg.payload.PW;\nif (loginUN == \"dosLHAMAS@gmail.com\"){\n if ( loginPW == \"dosLHAMAS\"){\n msg.payload = \"login\";\n return msg;\n }\n else{\n msg.payload = \"Username not correct\";\n return msg;\n }\n}\nelse if (loginUN != savedUN){\n msg.payload = \"Username not correct\";\n return msg;\n}\nelse if (loginPW != savedPW) {\n msg.payload = \"Password not correct\";\n return msg;\n}\nelse { msg.payload = \"login\";\n return msg;\n}","outputs":1,"noerr":0,"initialize":"","finalize":"","x":404.78564453125,"y":356.14288330078125,"wires":[["afcbbe96.88ff7","de921620.1100a","edbbf39a.d7b25"]]},{"id":"8b38096a.2ee528","type":"ui_form","z":"4aa1cb22.4a14cc","name":"","label":"Login","group":"c3a18a29.72ed58","order":1,"width":0,"height":0,"options":[{"label":"E-mail","value":"UN","type":"email","required":true,"rows":null},{"label":"Password","value":"PW","type":"password","required":true,"rows":null}],"formValue":{"UN":"","PW":""},"payload":"","submit":"Login","cancel":"","topic":"register","topicType":"msg","splitLayout":"","x":234.71424865722656,"y":354.57135009765625,"wires":[["4ef711db.5ab628"]]},{"id":"3c377d98.9a2b5a","type":"mqtt in","z":"ec0c3a91.447c48","name":"","topic":"door/PUMA","qos":"2","datatype":"auto","broker":"a430bb28.fc93f8","x":228.28570556640625,"y":474.7142639160156,"wires":[["6eb45dc2.a265d4"]],"l":false},{"id":"6eb45dc2.a265d4","type":"switch","z":"ec0c3a91.447c48","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"Closed","vt":"str"},{"t":"eq","v":"Open","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":298,"y":482.85711669921875,"wires":[["1e0b4e63.c15252","680c5319.56bc34","6822ed59.3117b4","451ab9e8.b496f8"],["71eecafe.638f84","6822ed59.3117b4"]],"l":false},{"id":"1e0b4e63.c15252","type":"function","z":"ec0c3a91.447c48","name":"","func":"msg.payload = {\"tab\":\"Tab 6\"}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":442.4285888671875,"y":401.4285583496094,"wires":[["875ef40b.c438d"]],"l":false},{"id":"fb3981a4.e4cf68","type":"ui_ui_control","z":"ec0c3a91.447c48","name":"","events":"all","x":606.4285707473755,"y":454.28571128845215,"wires":[[]],"l":false},{"id":"9c02411f.8401b8","type":"ui_button","z":"ec0c3a91.447c48","name":"","group":"b09937f3.b814f8","order":3,"width":0,"height":0,"passthru":false,"label":"End Booking","tooltip":"","color":"","bgcolor":"","icon":"","payload":"{\"tab\":\"Tab 2\"}","payloadType":"json","topic":"payload","topicType":"msg","x":493,"y":506.71429443359375,"wires":[["fb3981a4.e4cf68","df4b3e91.63657"]],"l":false},{"id":"facfa6a7.305878","type":"e-mail","z":"ec0c3a91.447c48","server":"smtp.gmail.com","port":"465","secure":true,"tls":true,"name":"","dname":"Andreas","x":472.71429443359375,"y":362.14288330078125,"wires":[],"l":false},{"id":"680c5319.56bc34","type":"function","z":"ec0c3a91.447c48","name":"","func":"msg.to = global.get(\"username\");\nmsg.topic = \"You have succesfully booked a locker!\";\nmsg.payload = \"The smartLOCKER PUMA is yours. The booking ends when you open your locker, and is valid for up to 12 hours\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":367.5714416503906,"y":361,"wires":[["facfa6a7.305878","8b16189.8fa6668"]],"l":false},{"id":"8b16189.8fa6668","type":"debug","z":"ec0c3a91.447c48","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":474.1428527832031,"y":290.5714416503906,"wires":[],"l":false},{"id":"9d1c018b.874d1","type":"ui_button","z":"194231e1.5f5cb6","name":"","group":"f2aefa84.a9a108","order":0,"width":0,"height":0,"passthru":false,"label":"Unlock my locker","tooltip":"","color":"","bgcolor":"","icon":"","payload":"unlock","payloadType":"str","topic":"state/PUMA","topicType":"msg","x":444.2857360839844,"y":463.8571472167969,"wires":[["cdaddfa0.d877f"]],"l":false},{"id":"875ef40b.c438d","type":"delay","z":"ec0c3a91.447c48","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":505.142822265625,"y":460.8571472167969,"wires":[["fb3981a4.e4cf68"]],"l":false},{"id":"cdaddfa0.d877f","type":"mqtt out","z":"194231e1.5f5cb6","name":"","topic":"state/PUMA","qos":"","retain":"","broker":"a430bb28.fc93f8","x":714.142822265625,"y":467.28570556640625,"wires":[],"l":false},{"id":"103c5110.0f3ccf","type":"mqtt in","z":"194231e1.5f5cb6","name":"","topic":"PUMA","qos":"2","datatype":"auto","broker":"a430bb28.fc93f8","x":305.8571472167969,"y":511.8571472167969,"wires":[["fd3a3652.c67d78"]],"l":false},{"id":"fd3a3652.c67d78","type":"function","z":"194231e1.5f5cb6","name":"","func":"if (msg.payload == \"unlocked\"){\n msg.payload = {\"tab\":\"Tab 7\"}\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":386.42858695983887,"y":512.857138633728,"wires":[["255dd304.1c95d4"]],"l":false},{"id":"255dd304.1c95d4","type":"ui_ui_control","z":"194231e1.5f5cb6","name":"","events":"all","x":476.4285821914673,"y":512.8571691513062,"wires":[[]],"l":false},{"id":"3282e7c3.933b28","type":"ui_button","z":"a9ffb4a9.5b4878","d":true,"name":"","group":"e40e97d4.1356e8","order":0,"width":0,"height":0,"passthru":false,"label":"Register","tooltip":"","color":"","bgcolor":"","icon":"","payload":"unlocked","payloadType":"str","topic":"payload","topicType":"msg","x":368.8571472167969,"y":583.7142944335938,"wires":[["90df2a84.af9a4"]],"l":false},{"id":"afcbbe96.88ff7","type":"switch","z":"4aa1cb22.4a14cc","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"login","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":591,"y":484,"wires":[["3b0f57c0.2e1f18","9f53cb85.3976e8"]],"l":false},{"id":"de921620.1100a","type":"ui_text","z":"4aa1cb22.4a14cc","group":"c3a18a29.72ed58","order":4,"width":0,"height":0,"name":"","label":"","format":"{{msg.payload}}","layout":"row-spread","x":629.2856960296631,"y":341.4285469055176,"wires":[],"l":false},{"id":"3b0f57c0.2e1f18","type":"function","z":"4aa1cb22.4a14cc","name":"","func":"if (msg.payload === \"login\"){\n msg.payload = {\"tab\":\"Tab 6\"};\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":695.8571166992188,"y":487.28570556640625,"wires":[["f9bccc28.c30d5"]],"l":false},{"id":"f9bccc28.c30d5","type":"ui_ui_control","z":"4aa1cb22.4a14cc","name":"","events":"all","x":802.5714111328125,"y":506.4285583496094,"wires":[[]],"l":false},{"id":"451ab9e8.b496f8","type":"function","z":"ec0c3a91.447c48","name":"","func":"msg.payload = \"lock\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":608.5,"y":394,"wires":[["2e08e2e3.9b612e"]],"l":false},{"id":"2e08e2e3.9b612e","type":"mqtt out","z":"ec0c3a91.447c48","name":"LOCK","topic":"state/PUMA","qos":"2","retain":"","broker":"a430bb28.fc93f8","x":686.5,"y":542,"wires":[],"l":false},{"id":"284ff843.8139d8","type":"mqtt out","z":"fc7673ce.85838","name":"","topic":"state/PUMA","qos":"1","retain":"","broker":"a430bb28.fc93f8","x":787.5,"y":432,"wires":[],"l":false},{"id":"c14eba68.c1a818","type":"function","z":"fc7673ce.85838","name":"Tell locker to look for closed door","func":"msg.payload = \"door\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":587,"y":380,"wires":[["284ff843.8139d8"]]},{"id":"71eecafe.638f84","type":"delay","z":"ec0c3a91.447c48","name":"","pauseType":"delay","timeout":"3","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":355.5,"y":553,"wires":[["336daa04.5acef6"]],"l":false},{"id":"336daa04.5acef6","type":"function","z":"ec0c3a91.447c48","name":"","func":"msg.payload = \"door\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":505.5,"y":599,"wires":[["2e08e2e3.9b612e"]],"l":false},{"id":"6822ed59.3117b4","type":"ui_text","z":"ec0c3a91.447c48","group":"b09937f3.b814f8","order":2,"width":0,"height":0,"name":"","label":"The door is","format":"{{msg.payload}}","layout":"row-spread","x":404.5,"y":505,"wires":[],"l":false},{"id":"8818c195.1d007","type":"ui_button","z":"f88e332f.475a9","name":"","group":"3fa75da0.6d85c2","order":0,"width":0,"height":0,"passthru":false,"label":"Resume booking","tooltip":"","color":"","bgcolor":"","icon":"","payload":"","payloadType":"str","topic":"topic","topicType":"msg","x":310.5,"y":266,"wires":[["e8283aa7.898b68","15574c79.9ae794"]],"l":false},{"id":"d01119d.4538ee8","type":"mqtt out","z":"f88e332f.475a9","name":"","topic":"state/PUMA","qos":"1","retain":"","broker":"a430bb28.fc93f8","x":963,"y":362,"wires":[],"l":false},{"id":"e8283aa7.898b68","type":"function","z":"f88e332f.475a9","name":"Tell locker to look for closed door","func":"msg.payload = \"door\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":549.5,"y":261,"wires":[["d01119d.4538ee8"]]},{"id":"15574c79.9ae794","type":"function","z":"f88e332f.475a9","name":"Go to booking tab","func":"\nmsg.payload = {\"tab\":\"Tab 5\"};\n\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":506,"y":323,"wires":[["f04f997a.fa99a8"]]},{"id":"f04f997a.fa99a8","type":"ui_ui_control","z":"f88e332f.475a9","name":"","events":"all","x":624.2858276367188,"y":324.9999694824219,"wires":[[]],"l":false},{"id":"fdc3e395.bf13a","type":"ui_button","z":"f88e332f.475a9","name":"","group":"3fa75da0.6d85c2","order":1,"width":0,"height":0,"passthru":false,"label":"End Booking","tooltip":"","color":"","bgcolor":"","icon":"","payload":"end","payloadType":"str","topic":"topic","topicType":"msg","x":325.5,"y":415,"wires":[["98061f8b.5f8d3","43979db9.c78b14"]],"l":false},{"id":"98061f8b.5f8d3","type":"function","z":"f88e332f.475a9","name":"Go to start tab","func":"\nmsg.payload = {\"tab\":\"Tab 2\"};\n\n\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":485,"y":406,"wires":[["afd67228.01615"]]},{"id":"afd67228.01615","type":"ui_ui_control","z":"f88e332f.475a9","name":"","events":"all","x":623,"y":408,"wires":[[]],"l":false},{"id":"19d2d923.9755b7","type":"ui_media","z":"a9ffb4a9.5b4878","group":"a652ad2c.1d48b","name":"","width":"6","height":"3","order":1,"category":"Billeder","file":"doslhamas_visual2-01.png","layout":"center","showcontrols":false,"loop":false,"onstart":false,"scope":"local","tooltip":"","x":243.5,"y":377,"wires":[["c0008af2.6ef79"]],"l":false},{"id":"a7163e9f.15b34","type":"mqtt in","z":"194231e1.5f5cb6","name":"","topic":"PUMA","qos":"1","datatype":"auto","broker":"a430bb28.fc93f8","x":63.5,"y":367,"wires":[["d517ee5e.5cc33"]],"l":false},{"id":"d517ee5e.5cc33","type":"switch","z":"194231e1.5f5cb6","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"locked","vt":"str"},{"t":"eq","v":"unlocked","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":140.5,"y":363,"wires":[["f14f245e.4ccab8"],["edb903bb.6ce56"]],"l":false},{"id":"edb903bb.6ce56","type":"function","z":"194231e1.5f5cb6","name":"","func":"msg.payload={ \"payload\": \"stop\" }\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":200.5,"y":393,"wires":[["fc4895.3de4e768"]],"l":false},{"id":"a8ac225e.71f63","type":"function","z":"194231e1.5f5cb6","name":"Seconds to hours","func":"var minuten = msg.payload /3600;\nmsg.payload=minuten;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":635,"y":372,"wires":[["6850c6af.f8db18"]]},{"id":"6850c6af.f8db18","type":"ui_gauge","z":"194231e1.5f5cb6","name":"Countdown Timer","group":"f2aefa84.a9a108","order":2,"width":0,"height":0,"gtype":"donut","title":"","label":"Hours","format":"{{value | number:0}}","min":0,"max":"12","colors":["#ff2600","#e6e600","#04bf81"],"seg1":"1","seg2":"4","x":870,"y":372,"wires":[]},{"id":"f14f245e.4ccab8","type":"change","z":"194231e1.5f5cb6","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"{ \"payload\": \"on\", \"timeout\": 43200, \"warning\": 3600 }","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":212.5,"y":345,"wires":[["fc4895.3de4e768"]],"l":false},{"id":"fc4895.3de4e768","type":"mytimeout","z":"194231e1.5f5cb6","name":"Timer","outtopic":"","outsafe":"","outwarning":"Warnung","outunsafe":"Zeit abgelaufen","warning":"5","timer":"10","debug":false,"ndebug":false,"ignoreCase":false,"repeat":false,"again":false,"x":336,"y":366,"wires":[["6ee64175.6cda7"],["a8ac225e.71f63","308a5afb.e9d416","e7489dde.7f20a"]]},{"id":"6ee64175.6cda7","type":"function","z":"194231e1.5f5cb6","name":"","func":"if (msg.payload == \"Warnung\"){\nmsg.to = global.get(\"username\");\nmsg.topic = \"You're reservation is ending\";\nmsg.payload = \"The smartlocker reservation is ending in 1 hour, if you're not there or haven't emptied the locker prior, the locker will be emptied by staff.\";\n}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":553,"y":291,"wires":[["30434731.d7ce58"]],"l":false},{"id":"30434731.d7ce58","type":"e-mail","z":"194231e1.5f5cb6","server":"smtp.gmail.com","port":"465","secure":true,"tls":true,"name":"","dname":"Andreas","x":656.142822265625,"y":250.14288330078125,"wires":[],"l":false},{"id":"308a5afb.e9d416","type":"switch","z":"194231e1.5f5cb6","name":"","property":"payload","propertyType":"msg","rules":[{"t":"eq","v":"3","vt":"num"}],"checkall":"true","repair":false,"outputs":1,"x":514.5,"y":418,"wires":[["7b9ea181.629fb"]],"l":false},{"id":"7b9ea181.629fb","type":"change","z":"194231e1.5f5cb6","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"unlock","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":597.5,"y":419,"wires":[["cdaddfa0.d877f"]],"l":false},{"id":"e7489dde.7f20a","type":"function","z":"194231e1.5f5cb6","name":"HH:MM:SS","func":"// Time HH:MM:SS from number\n\n// Hours\nvar Hours = ((msg.payload)/3600);\nHours = Math.floor(Hours);\n\n// Minutes\nvar Minutes = (msg.payload-(Hours*3600))/60;\nMinutes = Math.floor(Minutes);\n\n// Seconds\nSeconds = (msg.payload-(Hours*3600)-(Minutes*60));\n\n// Concatenate\nvar Time = ('0' +Hours).slice(-2)+':'+('0' +Minutes).slice(-2)+':'+('0' +Seconds).slice(-2);\n\nmsg.payload = Time;\nreturn msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","x":625.5,"y":327,"wires":[["d751d98f.0a4828"]],"l":false},{"id":"d751d98f.0a4828","type":"ui_text","z":"194231e1.5f5cb6","group":"f2aefa84.a9a108","order":2,"width":0,"height":0,"name":"","label":"Time to automatic unlock","format":"{{msg.payload}}","layout":"row-spread","x":768.5,"y":307,"wires":[],"l":false},{"id":"43979db9.c78b14","type":"change","z":"f88e332f.475a9","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"available","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":472.5,"y":475,"wires":[["d01119d.4538ee8"]],"l":false},{"id":"df4b3e91.63657","type":"change","z":"ec0c3a91.447c48","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"available","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":574.5,"y":526,"wires":[["2e08e2e3.9b612e"]],"l":false},{"id":"9f9ec1cb.8f585","type":"function","z":"fc7673ce.85838","name":"Tell locker that its booked","func":"msg.payload = \"booked\";\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":559,"y":428,"wires":[["284ff843.8139d8"]]},{"id":"17c153b1.f9f5ac","type":"ui_button","z":"4aa1cb22.4a14cc","name":"","group":"c3a18a29.72ed58","order":3,"width":0,"height":0,"passthru":false,"label":"Forgot my password","tooltip":"","color":"","bgcolor":"","icon":"","payload":"mail","payloadType":"str","topic":"topic","topicType":"msg","x":293.5,"y":493,"wires":[["d2435f45.2bd06","f00fbae2.063c58"]],"l":false},{"id":"d2435f45.2bd06","type":"change","z":"4aa1cb22.4a14cc","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"An e-mail has been send to the registered user, with the password.","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":390.5,"y":466,"wires":[["de921620.1100a"]],"l":false},{"id":"f00fbae2.063c58","type":"function","z":"4aa1cb22.4a14cc","name":"","func":"msg.to = global.get(\"username\");\nmsg.topic = \"Password for smartLOCKER\";\nmsg.payload = global.get(\"password\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":423,"y":536,"wires":[["d0c78660.2e4308"]],"l":false},{"id":"d0c78660.2e4308","type":"e-mail","z":"4aa1cb22.4a14cc","server":"smtp.gmail.com","port":"465","secure":true,"tls":true,"name":"","dname":"Andreas","x":518.142822265625,"y":537.1428833007812,"wires":[],"l":false},{"id":"9f53cb85.3976e8","type":"function","z":"4aa1cb22.4a14cc","name":"","func":"msg.payload = \" \"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":650.5,"y":444,"wires":[["de921620.1100a"]],"l":false},{"id":"196749b2.51c35e","type":"ui_text","z":"ec0c3a91.447c48","group":"b09937f3.b814f8","order":1,"width":0,"height":0,"name":"","label":"This locker is now yours, please close the locker to start your resevation.","format":"","layout":"col-center","x":157.14280700683594,"y":406.2856750488281,"wires":[],"l":false},{"id":"edbbf39a.d7b25","type":"debug","z":"4aa1cb22.4a14cc","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":563.4285888671875,"y":293.2857208251953,"wires":[],"l":false},{"id":"9117c70d.aa36a8","type":"ui_button","z":"fc7673ce.85838","name":"","group":"684f06d8.eb11a8","order":2,"width":0,"height":0,"passthru":false,"label":"Cancel","tooltip":"","color":"","bgcolor":"","icon":"","payload":"{\"tab\":\"Tab 2\"}","payloadType":"json","topic":"topic","topicType":"msg","x":464.5,"y":263,"wires":[["7fdc27e.dfb32d8"]],"l":false},{"id":"93e6b8f8.02b938","type":"ui_button","z":"4aa1cb22.4a14cc","name":"","group":"c3a18a29.72ed58","order":2,"width":0,"height":0,"passthru":false,"label":"Cancel","tooltip":"","color":"","bgcolor":"","icon":"","payload":"{\"tab\":\"Tab 2\"}","payloadType":"json","topic":"topic","topicType":"msg","x":717.5,"y":385,"wires":[["f9bccc28.c30d5","9f53cb85.3976e8"]],"l":false}]