Combine individual sensor values into an overall value with correction factors
You could do the following, provided that your sensor 6511 takes measurements reliably every 30 minutes (use instead the one that is most reliable). This will calculate measurements based on the recordings of that primary sensor used (in the main FROM, in this case 6511), show the exact date and time of such recording, also show an adjusted time in 30 min slots, and use any available measurements for all other sensors, whichever latest available up to 10 minutes after the primary measurement:

SELECT "date",
       DATE("date") + INTERVAL round((UNIX_TIMESTAMP("date") - UNIX_TIMESTAMP(DATE("date")))/1800) * 30 MINUTE AS adj_date,
       (measured_value * -0.106830613) +
       (SELECT measured_value * 0.065201457
        FROM Measurements
        WHERE stream_id = '6512' AND "date" &lt; (s1."date" + INTERVAL 10 MINUTE)
        ORDER BY "date" DESC LIMIT 1) +
       (SELECT measured_value * 0.335456161
        FROM Measurements
        WHERE stream_id = '6513' AND "date" &lt; (s1."date" + INTERVAL 10 MINUTE)
        ORDER BY "date" DESC LIMIT 1) +
       (SELECT measured_value * -0.248569888
        FROM Measurements
        WHERE stream_id = '6514' AND "date" &lt; (s1."date" + INTERVAL 10 MINUTE)
        ORDER BY "date" DESC LIMIT 1) +
       (SELECT measured_value * 1.423460009
        FROM Measurements
        WHERE stream_id = '6515' AND "date" &lt; (s1."date" + INTERVAL 10 MINUTE)
        ORDER BY "date" DESC LIMIT 1) + -2.113591555 AS "Corrected value"
FROM "Measurements" AS s1
WHERE stream_id = '6511';


Ensure you have an index by stream_id, "date"!