prova meteo1
flow nodered creato con aiuto di chatgpt.
testo richiesta: Voglio confrontare l affidabilità dei siti internet che danno previsioni meteo. Alle 12 di ogni giorno voglio memorizzare la previsione per milano per il giorno dopo per i siti ilmeteo.it e 3bmeteo. E voglio avere poi un indicatore da 1 a 10 se la previsione meteo era corretta o meteo. Ho bisogno di uno script su nodered per questo esercizio
[{"id":"2eaa7818.8e58d6","type":"http request","z":"d17d7b37.0a44c","name":"IlMeteo","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://www.ilmeteo.it/meteo/Milano","tls":"","persist":false,"proxy":"","authType":"","x":210,"y":140,"wires":[["8b9ed87d.b18418"]]},{"id":"fbe14e78.38de08","type":"http request","z":"d17d7b37.0a44c","name":"3BMeteo","method":"GET","ret":"txt","paytoqs":"ignore","url":"https://www.3bmeteo.com/meteo/milano","tls":"","persist":false,"proxy":"","authType":"","x":210,"y":200,"wires":[["d9d2d3d4.19976"]]},{"id":"8b9ed87d.b18418","type":"html","z":"d17d7b37.0a44c","name":"Parse IlMeteo","property":"payload","outproperty":"parsed","tag":".minmax","ret":"text","as":"multi","x":400,"y":140,"wires":[["823d82a0.828d98"]]},{"id":"d9d2d3d4.19976","type":"html","z":"d17d7b37.0a44c","name":"Parse 3BMeteo","property":"payload","outproperty":"parsed","tag":".max","ret":"text","as":"multi","x":400,"y":200,"wires":[["823d82a0.828d98"]]},{"id":"823d82a0.828d98","type":"function","z":"d17d7b37.0a44c","name":"Compare","func":"var ilMeteo = msg.parsed[0].split(\"/\")[0].trim();\nvar treBMeteo = msg.parsed[1].split(\"°\")[0].trim();\n\nvar actualDate = new Date();\nvar tomorrow = new Date(actualDate);\ntomorrow.setDate(actualDate.getDate() + 1);\n\nvar ilMeteoTemp = parseInt(ilMeteo);\nvar treBMeteoTemp = parseInt(treBMeteo);\n\nvar reliability = 0;\nif (ilMeteoTemp === treBMeteoTemp) {\n reliability = 10;\n} else {\n var difference = Math.abs(ilMeteoTemp - treBMeteoTemp);\n if (difference <= 2) {\n reliability = 9;\n } else if (difference <= 4) {\n reliability = 8;\n } else if (difference <= 6) {\n reliability = 7;\n } else if (difference <= 8) {\n reliability = 6;\n } else if (difference <= 10) {\n reliability = 5;\n } else if (difference <= 12) {\n reliability = 4;\n } else if (difference <= 14) {\n reliability = 3;\n } else if (difference <= 16) {\n reliability = 2;\n } else if (difference <= 18) {\n reliability = 1;\n } else {\n reliability = 0;\n }\n}\n\nmsg.payload = {\n date: tomorrow.toISOString().split(\"T\")[0],\n ilMeteo: ilMeteoTemp,\n treBMeteo: treBMeteoTemp,\n reliability: reliability\n};\n\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":600,"y":160,"wires":[["b8d855eb.0aa4a8"]]},{"id":"b8d855eb.0aa4a8","type":"debug","z":"d17d7b37.0a44c","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":800,"y":160,"wires":[]},{"id":"37dcb292.177f62","type":"inject","z":"d17d7b37.0a44c","name":"12:00 PM","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 12 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":140,"wires":[["2eaa7818.8e58d6","fbe14e78.38de08"]]}]