yr weather sensor parser gav fel temperatur i infobox
Posted: Fri Mar 17, 2023 9:45 am
Hej
Om man använder yr.no som sensor får man fel värden som tabellen tempsensors kolumn lastreading, dvs värderna är rätt men de ligger i framtiden och när lastreading värdet t ex används i info boxen får man alltså temperaturen som yr tror att det blir inte värden som ska gälla just då.
Har försökt hitta var och hur tempsensors tabellen uppdateras så att man skulle kunna ändra men har inte hitta det så enkelt men hittade på ett hack med en scheduled event i mysql databasen som uppdaterar lastreading var 10:e minut med närmast (om 5 minuter) temperaturvärde ur temps tabellen
Men det finns nog bättre lösningar antar jag.
/Aryan
Om man använder yr.no som sensor får man fel värden som tabellen tempsensors kolumn lastreading, dvs värderna är rätt men de ligger i framtiden och när lastreading värdet t ex används i info boxen får man alltså temperaturen som yr tror att det blir inte värden som ska gälla just då.
Har försökt hitta var och hur tempsensors tabellen uppdateras så att man skulle kunna ändra men har inte hitta det så enkelt men hittade på ett hack med en scheduled event i mysql databasen som uppdaterar lastreading var 10:e minut med närmast (om 5 minuter) temperaturvärde ur temps tabellen
Code: Select all
CREATE
EVENT `current_temps`
ON SCHEDULE EVERY 10 MINUTE
COMMENT 'copy current values from temps.temp_c to tempsensors.last_reading.'
DO
UPDATE HomeAutomation.tempsensors s,
(SELECT sensor_serial, temp_c FROM
(SELECT * FROM HomeAutomation.temps
WHERE DATE <= DATE_ADD(NOW(), INTERVAL 1 HOUR) AND DATE > DATE_SUB(NOW(), INTERVAL 1 HOUR)
ORDER BY abs(TIMEDIFF((NOW() + INTERVAL 5 MINUTE),DATE)) )
AS t1 GROUP BY sensor_serial
) AS t2
SET s.last_reading = t2.temp_c
WHERE t2.sensor_serial = s.serial;
/Aryan