In case anyone wants to use the API and Node red then this should give you a sensor with the hourly temperatures.
[{"id":"e8c4886bfa53473a","type":"debug","z":"4eb25acf17389316","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":510,"y":660,"wires":[]},{"id":"fba7c704f5e5ed3a","type":"inject","z":"4eb25acf17389316","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{ \"approvedTime\":\"2015-10-12T05:13:19Z\", \"referenceTime\":\"2015-10-12T03:00:00Z\", \"geometry\":{ \"type\":\"Point\", \"coordinates\":[ [ 16.017767, 57.999628 ] ] }, \"timeSeries\":[ { \"validTime\":\"2015-10-12T04:00:00Z\", \"parameters\":[ { \"name\":\"msl\", \"levelType\":\"hmsl\", \"level\":0, \"values\":[ 1031 ] }, { \"name\":\"t\", \"levelType\":\"hl\", \"level\":2, \"values\":[ 3.1 ] }, { \"name\":\"vis\", \"levelType\":\"hl\", \"level\":2, \"values\":[ 18 ] }, { \"name\":\"wd\", \"levelType\":\"hl\", \"level\":10, \"values\":[ 26 ] }, { \"name\":\"ws\", \"levelType\":\"hl\", \"level\":10, \"values\":[ 0.2 ] }, { \"name\":\"r\", \"levelType\":\"hl\", \"level\":2, \"values\":[ 95 ] }, { \"name\":\"tstm\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"tcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 6 ] }, { \"name\":\"lcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 6 ] }, { \"name\":\"mcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"hcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"gust\", \"levelType\":\"hl\", \"level\":10, \"values\":[ 1.1 ] }, { \"name\":\"pmin\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"pmax\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"spp\", \"levelType\":\"hl\", \"level\":0, \"values\":[ -9 ] }, { \"name\":\"pcat\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"pmean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"pmedian\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] } ] }, { \"validTime\":\"2015-10-12T05:00:00Z\", \"parameters\":[ { \"name\":\"msl\", \"levelType\":\"hmsl\", \"level\":0, \"values\":[ 1030 ] }, { \"name\":\"t\", \"levelType\":\"hl\", \"level\":2, \"values\":[ 3.4 ] }, { \"name\":\"vis\", \"levelType\":\"hl\", \"level\":2, \"values\":[ 16 ] }, { \"name\":\"wd\", \"levelType\":\"hl\", \"level\":10, \"values\":[ 99 ] }, { \"name\":\"ws\", \"levelType\":\"hl\", \"level\":10, \"values\":[ 0.7 ] }, { \"name\":\"r\", \"levelType\":\"hl\", \"level\":2, \"values\":[ 95 ] }, { \"name\":\"tstm\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"tcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 7 ] }, { \"name\":\"lcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 7 ] }, { \"name\":\"mcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"hcc_mean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"gust\", \"levelType\":\"hl\", \"level\":10, \"values\":[ 2 ] }, { \"name\":\"pmin\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"pmax\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"spp\", \"levelType\":\"hl\", \"level\":0, \"values\":[ -9 ] }, { \"name\":\"pcat\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"pmean\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] }, { \"name\":\"pmedian\", \"levelType\":\"hl\", \"level\":0, \"values\":[ 0 ] } ] } ] }","payloadType":"json","x":170,"y":700,"wires":[["31505c357280d0ec"]]},{"id":"31505c357280d0ec","type":"function","z":"4eb25acf17389316","name":"","func":"var array = {};\nvar time = \"\";\n\nfor (var index in msg.payload.timeSeries) {\n for (var val in msg.payload.timeSeries[index].parameters) {\n time = msg.payload.timeSeries[index].validTime;\n if (msg.payload.timeSeries[index].parameters[val][\"name\"] == \"t\"){\n array[time] = msg.payload.timeSeries[index].parameters[val].values[0]\n }\n }\n}\n\nmsg.arr = array;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":700,"wires":[["e8c4886bfa53473a","fae9c841252a3911"]]},{"id":"fae9c841252a3911","type":"ha-entity","z":"4eb25acf17389316","name":"smhi hourly","server":"4bbca37b.1700ec","version":1,"debugenabled":false,"outputs":1,"entityType":"sensor","config":[{"property":"name","value":"smhi hourly"},{"property":"device_class","value":""},{"property":"icon","value":""},{"property":"unit_of_measurement","value":""}],"state":"payload.approvedTime","stateType":"msg","attributes":[{"property":"hourly","value":"arr","valueType":"msg"}],"resend":true,"outputLocation":"payload","outputLocationType":"none","inputOverride":"allow","outputOnStateChange":false,"outputPayload":"$entity().state ? \"on\": \"off\"","outputPayloadType":"jsonata","x":530,"y":760,"wires":[[]]},{"id":"4bbca37b.1700ec","type":"server","name":"Home Assistant","version":1,"legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]
I just used an inject with the example json, but if you use an http request on the json endpoint then it should give all the current data.