Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save CypherpunkSamurai/a691f98d308813e0ba4dc6a9bf0c4ad3 to your computer and use it in GitHub Desktop.
Save CypherpunkSamurai/a691f98d308813e0ba4dc6a9bf0c4ad3 to your computer and use it in GitHub Desktop.
Paste this in your NodeRed
[{"id":"dcaf4c15.db115","type":"tab","label":"Free Steam Games Monitor","disabled":false,"info":""},{"id":"73f6d641.2a8608","type":"http request","z":"dcaf4c15.db115","name":"","method":"GET","ret":"txt","paytoqs":false,"url":"https://steamdb.info/upcoming/free/","tls":"","persist":false,"proxy":"","authType":"","x":330,"y":60,"wires":[["a70f9734.3dd5e8","19c2545e.b0375c"]]},{"id":"1402f311.b188fd","type":"html","z":"dcaf4c15.db115","name":"Bulk parse current","property":"payload","outproperty":"payload","tag":"body > div.footer-wrap > div.body-content > div.container > table:nth-child(3) > tbody > tr","ret":"html","as":"multi","x":870,"y":60,"wires":[["536fa9e7.c8d8c8"]]},{"id":"9cee73d6.d3af4","type":"cronplus","z":"dcaf4c15.db115","name":"Scheduler","outputField":"payload","timeZone":"","options":[{"topic":"refresh","payload":"","type":"date","expression":"0 0 12 * * *"}],"x":120,"y":180,"wires":[["51d68c05.384cd4"]]},{"id":"d2005a2b.673328","type":"inject","z":"dcaf4c15.db115","name":"Manual start","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":"1","x":110,"y":60,"wires":[["51d68c05.384cd4"]]},{"id":"536fa9e7.c8d8c8","type":"html","z":"dcaf4c15.db115","name":"Split attributes","property":"payload","outproperty":"payload","tag":"td","ret":"html","as":"single","x":1100,"y":120,"wires":[["81053777.55b8e8"]]},{"id":"ec739f40.b4f47","type":"debug","z":"dcaf4c15.db115","name":"DEBUG FREE TO KEEP","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":610,"y":720,"wires":[]},{"id":"aae249de.33bfa8","type":"html","z":"dcaf4c15.db115","name":"Parse img link","property":"payload[0]","outproperty":"img","tag":"a > img","ret":"attr","as":"single","x":860,"y":180,"wires":[["825fac68.7d3a3"]]},{"id":"825fac68.7d3a3","type":"html","z":"dcaf4c15.db115","name":"Parse title","property":"payload[1]","outproperty":"title","tag":"a > b","ret":"text","as":"single","x":1080,"y":180,"wires":[["4378efab.7d3d4"]]},{"id":"ef05f7bb.4d1908","type":"change","z":"dcaf4c15.db115","name":"set start & end dates","rules":[{"t":"set","p":"start","pt":"msg","to":"payload[3]","tot":"msg"},{"t":"set","p":"end","pt":"msg","to":"payload[4]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":300,"wires":[["62ff00e8.65919"]]},{"id":"279886dd.03759a","type":"switch","z":"dcaf4c15.db115","name":"Switch Keep/Weekend","property":"type","propertyType":"msg","rules":[{"t":"eq","v":"Keep","vt":"str"},{"t":"eq","v":"Weekend","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":3,"x":300,"y":780,"wires":[["ec739f40.b4f47","fed78300.99da"],["95e106f9.de7488","fb5bd992.f99798"],["9bc888f9.5283a8"]]},{"id":"9bc888f9.5283a8","type":"debug","z":"dcaf4c15.db115","name":"UNKNOWN TYPE","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":590,"y":960,"wires":[]},{"id":"4378efab.7d3d4","type":"html","z":"dcaf4c15.db115","name":"Parse type","property":"payload[2]","outproperty":"type","tag":"b","ret":"text","as":"single","x":570,"y":240,"wires":[["6931aa8f.5c59b4"]]},{"id":"6931aa8f.5c59b4","type":"switch","z":"dcaf4c15.db115","name":"switch type","property":"type","propertyType":"msg","rules":[{"t":"eq","v":"Keep","vt":"str"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":850,"y":240,"wires":[["ef05f7bb.4d1908"],["777e807b.99e2c"]]},{"id":"777e807b.99e2c","type":"change","z":"dcaf4c15.db115","name":"","rules":[{"t":"set","p":"type","pt":"msg","to":"payload[2]","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":1090,"y":240,"wires":[["ef05f7bb.4d1908"]]},{"id":"95e106f9.de7488","type":"debug","z":"dcaf4c15.db115","name":"DEBUG WEEKEND","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":600,"y":840,"wires":[]},{"id":"baaf9974.b2e388","type":"ui_button","z":"dcaf4c15.db115","name":"","group":"ae6aaf7e.f406b","order":1,"width":0,"height":0,"passthru":false,"label":"Manual Start","tooltip":"Fetch new entries manually","color":"","bgcolor":"","icon":"","payload":"","payloadType":"date","topic":"","x":110,"y":120,"wires":[["51d68c05.384cd4"]]},{"id":"6147f6c4.1b0708","type":"ui_table","z":"dcaf4c15.db115","group":"6833fdae.dbd3a4","name":"current table","order":2,"width":"16","height":12,"columns":[{"field":"title","title":"Title","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"icon","title":"Icon","width":"16%","align":"left","formatter":"image","formatterParams":{"target":"_blank"}},{"field":"start","title":"Start","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"end","title":"End","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"url","title":"Link","width":"10%","align":"left","formatter":"link","formatterParams":{"target":"_blank"}}],"outputs":0,"cts":false,"x":1090,"y":720,"wires":[]},{"id":"a1b7693f.51ac68","type":"status","z":"dcaf4c15.db115","name":"Reset tables/labels & statistics","scope":["73f6d641.2a8608"],"x":620,"y":780,"wires":[["4048c840.497a48"]]},{"id":"4048c840.497a48","type":"change","z":"dcaf4c15.db115","name":"[]","rules":[{"t":"set","p":"payload","pt":"msg","to":"[]","tot":"json"},{"t":"set","p":"topic","pt":"msg","to":"clear","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":780,"wires":[["6147f6c4.1b0708","57cb6ba1.a94d14","df18adb4.75486","da1b11ea.3c38e","c6341141.a3e04","9d387980.f251a8","1cff317a.89355f","738b153e.a9100c"]]},{"id":"81053777.55b8e8","type":"html","z":"dcaf4c15.db115","name":"Parse link","property":"payload[0]","outproperty":"link","tag":"a","ret":"attr","as":"single","x":560,"y":180,"wires":[["aae249de.33bfa8"]]},{"id":"57cb6ba1.a94d14","type":"ui_table","z":"dcaf4c15.db115","group":"41f0ed7d.ce4fa4","name":"current table","order":2,"width":"16","height":12,"columns":[{"field":"title","title":"Title","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"icon","title":"Icon","width":"16%","align":"left","formatter":"image","formatterParams":{"target":"_blank"}},{"field":"start","title":"Start","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"end","title":"End","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"url","title":"Link","width":"10%","align":"left","formatter":"link","formatterParams":{"target":"_blank"}}],"outputs":0,"cts":false,"x":1090,"y":840,"wires":[]},{"id":"8e82f586.506d38","type":"function","z":"dcaf4c15.db115","name":"Prepare for Dashboard","func":"// Clean date\nvar tmpstart = msg.start.replace(/–/,\"\");\nvar tmpend = msg.end.replace(/–/,\"\");\nvar startdate = new Date(tmpstart);\nvar enddate = new Date(tmpend);\n\npayload = {\n command: \"addRow\",\n arguments: [\n {\n \"title\": msg.title[0],\n \"type\": msg.type,\n \"icon\": msg.img[0].src,\n \"url\": msg.link[0].href.substring(0, msg.link[0].href.indexOf(\"?\")),\n \"start\": startdate.toString(),\n \"end\": enddate.toString()\n },\n true\n ],\n returnPromise: true\n};\nmsg.payload = payload;\n\nreturn msg;","outputs":1,"noerr":0,"x":600,"y":540,"wires":[["cf1234da.bbf2d8","14ae92b1.d1a1dd"]]},{"id":"e34d90cd.e9239","type":"debug","z":"dcaf4c15.db115","name":"DEBUG INTERNAL","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":590,"y":360,"wires":[]},{"id":"cf1234da.bbf2d8","type":"debug","z":"dcaf4c15.db115","name":"DEBUG TABLE","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1100,"y":540,"wires":[]},{"id":"24172a32.48eb56","type":"html","z":"dcaf4c15.db115","name":"Bulk parse upcoming","property":"payload","outproperty":"payload","tag":"body > div.footer-wrap > div.body-content > div.container > table:nth-child(6) > tbody > tr","ret":"html","as":"multi","x":880,"y":120,"wires":[["536fa9e7.c8d8c8"]]},{"id":"a70f9734.3dd5e8","type":"change","z":"dcaf4c15.db115","name":"set offerstatus current","rules":[{"t":"set","p":"offerstatus","pt":"msg","to":"current","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":600,"y":60,"wires":[["1402f311.b188fd"]]},{"id":"19c2545e.b0375c","type":"change","z":"dcaf4c15.db115","name":"set offerstatus upcoming","rules":[{"t":"set","p":"offerstatus","pt":"msg","to":"upcoming","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":610,"y":120,"wires":[["24172a32.48eb56"]]},{"id":"fed78300.99da","type":"switch","z":"dcaf4c15.db115","name":"Switch current/upcoming","property":"offerstatus","propertyType":"msg","rules":[{"t":"eq","v":"upcoming","vt":"str"},{"t":"eq","v":"current","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":610,"y":660,"wires":[["9d387980.f251a8"],["c6341141.a3e04"]]},{"id":"a9b97ab5.a6cfc8","type":"ui_text","z":"dcaf4c15.db115","group":"6833fdae.dbd3a4","order":1,"width":0,"height":0,"name":"","label":"Current:","format":"{{msg.count}}","layout":"row-left","x":1080,"y":680,"wires":[]},{"id":"36decb27.9a69b4","type":"ui_text","z":"dcaf4c15.db115","group":"6833fdae.dbd3a4","order":3,"width":"4","height":"1","name":"","label":"Upcoming:","format":"{{msg.count}}","layout":"row-left","x":1090,"y":600,"wires":[]},{"id":"df18adb4.75486","type":"ui_table","z":"dcaf4c15.db115","group":"6833fdae.dbd3a4","name":"upcoming table","order":4,"width":"16","height":12,"columns":[{"field":"title","title":"Title","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"icon","title":"Icon","width":"16%","align":"left","formatter":"image","formatterParams":{"target":"_blank"}},{"field":"start","title":"Start","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"end","title":"End","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"url","title":"Link","width":"10%","align":"left","formatter":"link","formatterParams":{"target":"_blank"}}],"outputs":0,"cts":false,"x":1100,"y":640,"wires":[]},{"id":"234e3327.71d37c","type":"ui_text","z":"dcaf4c15.db115","group":"41f0ed7d.ce4fa4","order":1,"width":0,"height":0,"name":"","label":"Current:","format":"{{msg.count}}","layout":"row-left","x":1080,"y":880,"wires":[]},{"id":"bd6f84ef.c55ea8","type":"ui_text","z":"dcaf4c15.db115","group":"41f0ed7d.ce4fa4","order":3,"width":0,"height":0,"name":"","label":"Upcoming:","format":"{{msg.count}}","layout":"row-left","x":1090,"y":960,"wires":[]},{"id":"fb5bd992.f99798","type":"switch","z":"dcaf4c15.db115","name":"Switch current/upcoming","property":"offerstatus","propertyType":"msg","rules":[{"t":"eq","v":"current","vt":"str"},{"t":"eq","v":"upcoming","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":610,"y":900,"wires":[["1cff317a.89355f"],["738b153e.a9100c"]]},{"id":"da1b11ea.3c38e","type":"ui_table","z":"dcaf4c15.db115","group":"41f0ed7d.ce4fa4","name":"upcoming table","order":4,"width":"16","height":12,"columns":[{"field":"title","title":"Title","width":"","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"icon","title":"Icon","width":"16%","align":"left","formatter":"image","formatterParams":{"target":"_blank"}},{"field":"start","title":"Start","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"end","title":"End","width":"16%","align":"left","formatter":"plaintext","formatterParams":{"target":"_blank"}},{"field":"url","title":"Link","width":"10%","align":"left","formatter":"link","formatterParams":{"target":"_blank"}}],"outputs":0,"cts":false,"x":1100,"y":920,"wires":[]},{"id":"32457217.6c074e","type":"md5","z":"dcaf4c15.db115","name":"","fieldToHash":"key","fieldTypeToHash":"msg","hashField":"md5","hashFieldType":"msg","x":350,"y":360,"wires":[["8e82f586.506d38","e34d90cd.e9239","d1a8a57b.b14b18"]]},{"id":"62ff00e8.65919","type":"change","z":"dcaf4c15.db115","name":"","rules":[{"t":"set","p":"key","pt":"msg","to":"msg.title & \" \" & msg.img[0].src","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":300,"wires":[["32457217.6c074e"]]},{"id":"4f6e19bc.465808","type":"ui_text","z":"dcaf4c15.db115","group":"ae6aaf7e.f406b","order":1,"width":"3","height":"3","name":"","label":"Last fetch","format":"{{msg.payload}}","layout":"col-center","x":340,"y":180,"wires":[]},{"id":"51d68c05.384cd4","type":"function","z":"dcaf4c15.db115","name":"Format date","func":"var tmp = new Date(msg.payload).toString();\nmsg.payload = tmp;\nreturn msg;","outputs":1,"noerr":0,"x":330,"y":120,"wires":[["4f6e19bc.465808","73f6d641.2a8608"]]},{"id":"1afa40a2.b9825f","type":"rss","z":"dcaf4c15.db115","name":"Build RSS","feedOptionRules":[{"name":"title","type":"str","value":"Free Steam Games (Keep & Weekend)"},{"name":"feed_url","type":"str","value":"https://127.0.0.1/freesteam.rss"},{"name":"site_url","type":"str","value":"https://steamdb.info/upcoming/free/"}],"itemOptionRules":[{"name":"title","type":"item","value":"title"},{"name":"description","type":"item","value":"title"},{"name":"url","type":"item","value":"url"},{"name":"guid","type":"item","value":"md5"},{"name":"date","type":"item","value":"start"}],"x":1090,"y":420,"wires":[["eec53171.db3d5"]]},{"id":"d1a8a57b.b14b18","type":"function","z":"dcaf4c15.db115","name":"Prepare for RSS","func":"// Clean date\nvar tmpstart = msg.start.replace(/–/,\"\");\nvar tmpend = msg.end.replace(/–/,\"\");\nvar startdate = new Date(tmpstart);\nvar enddate = new Date(tmpend);\n\npayload = {\n \"title\": msg.title[0],\n \"type\": msg.type,\n \"icon\": msg.img[0].src,\n \"url\": msg.link[0].href.substring(0, msg.link[0].href.indexOf(\"?\")),\n \"start\": startdate.toString(),\n \"end\": enddate.toString(),\n \"md5\": msg.md5\n};\nmsg.payload = payload;\n\nreturn msg;","outputs":1,"noerr":0,"x":580,"y":420,"wires":[["117a6622.1bc79a"]]},{"id":"eec53171.db3d5","type":"file","z":"dcaf4c15.db115","name":"Write RSS to file","filename":"b:\\tmptrash\\freesteam-rss.xml","appendNewline":true,"createDir":true,"overwriteFile":"true","encoding":"none","x":580,"y":480,"wires":[[]]},{"id":"117a6622.1bc79a","type":"join","z":"dcaf4c15.db115","name":"Merge msgs","mode":"custom","build":"array","property":"payload","propertyType":"msg","key":"topic","joiner":"\\n","joinerType":"str","accumulate":false,"timeout":"10","count":"","reduceRight":false,"reduceExp":"","reduceInit":"","reduceInitType":"num","reduceFixup":"","x":850,"y":420,"wires":[["1afa40a2.b9825f"]]},{"id":"c6341141.a3e04","type":"statistics","z":"dcaf4c15.db115","name":"","dataSetSize":0,"inputField":"md5","inputFieldType":"msg","resultField":"count","resultFieldType":"msg","parameterField":"","parameterFieldType":"msg","stripFunction":false,"resultOnly":true,"x":860,"y":700,"wires":[["6147f6c4.1b0708","a9b97ab5.a6cfc8"]]},{"id":"14ae92b1.d1a1dd","type":"change","z":"dcaf4c15.db115","name":"set statistic count function","rules":[{"t":"set","p":"topic","pt":"msg","to":"uniqueCount","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":720,"wires":[["279886dd.03759a"]]},{"id":"9d387980.f251a8","type":"statistics","z":"dcaf4c15.db115","name":"","dataSetSize":0,"inputField":"md5","inputFieldType":"msg","resultField":"count","resultFieldType":"msg","parameterField":"","parameterFieldType":"msg","stripFunction":false,"resultOnly":true,"x":860,"y":620,"wires":[["df18adb4.75486","36decb27.9a69b4"]]},{"id":"1cff317a.89355f","type":"statistics","z":"dcaf4c15.db115","name":"","dataSetSize":0,"inputField":"md5","inputFieldType":"msg","resultField":"count","resultFieldType":"msg","parameterField":"","parameterFieldType":"msg","stripFunction":false,"resultOnly":true,"x":860,"y":860,"wires":[["57cb6ba1.a94d14","234e3327.71d37c"]]},{"id":"738b153e.a9100c","type":"statistics","z":"dcaf4c15.db115","name":"","dataSetSize":0,"inputField":"md5","inputFieldType":"msg","resultField":"count","resultFieldType":"msg","parameterField":"","parameterFieldType":"msg","stripFunction":false,"resultOnly":true,"x":860,"y":940,"wires":[["da1b11ea.3c38e","bd6f84ef.c55ea8"]]},{"id":"3475d1d1.58847e","type":"get-shared-state","z":"dcaf4c15.db115","state":"813c5548.a5df68","name":"init","triggerOnInit":true,"x":130,"y":240,"wires":[["4f6e19bc.465808"]]},{"id":"f0ce9649.971d18","type":"comment","z":"dcaf4c15.db115","name":"Change file name & path in the block","info":"","x":300,"y":480,"wires":[]},{"id":"ae6aaf7e.f406b","type":"ui_group","z":"","name":"Actions","tab":"5a7e8f47.a10bc","disp":true,"width":3,"collapse":true},{"id":"6833fdae.dbd3a4","type":"ui_group","z":"","name":"Free to Keep","tab":"5a7e8f47.a10bc","disp":true,"width":16,"collapse":false},{"id":"41f0ed7d.ce4fa4","type":"ui_group","z":"","name":"Weekend","tab":"5a7e8f47.a10bc","disp":true,"width":16,"collapse":false},{"id":"813c5548.a5df68","type":"shared-state","z":"","name":"init","historyCount":"2"},{"id":"5a7e8f47.a10bc","type":"ui_tab","z":"","name":"Upcoming Free Steam Game Monitor","icon":"dashboard","order":1,"disabled":false,"hidden":false}]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment