Correction des données météo
This commit is contained in:
@@ -54,6 +54,11 @@ function createOpenMeteoProvider(config = {}, globalConfig = {}) {
|
||||
const windowMinutes = config.windowMinutes ?? globalConfig.windowMinutes ?? 60;
|
||||
const precipitationThreshold = config.precipitationThreshold ?? globalConfig.precipitationThreshold ?? 0.1;
|
||||
const pressureOffset = Number.isFinite(config.pressureOffset) ? config.pressureOffset : 0;
|
||||
const illuminanceToLuxFactor = Number.isFinite(config.illuminanceToLuxFactor)
|
||||
? config.illuminanceToLuxFactor
|
||||
: Number.isFinite(globalConfig.providers?.openMeteo?.illuminanceToLuxFactor)
|
||||
? globalConfig.providers.openMeteo.illuminanceToLuxFactor
|
||||
: 126.7;
|
||||
const timezone = config.timezone || globalConfig.timezone || "UTC";
|
||||
|
||||
async function fetchData({ target }) {
|
||||
@@ -130,7 +135,10 @@ function createOpenMeteoProvider(config = {}, globalConfig = {}) {
|
||||
if (hasValue(nearest.temperature_2m)) weather.temperature = nearest.temperature_2m;
|
||||
if (hasValue(nearest.relative_humidity_2m)) weather.humidity = nearest.relative_humidity_2m;
|
||||
if (hasValue(nearest.surface_pressure)) weather.pressure = nearest.surface_pressure + pressureOffset;
|
||||
if (hasValue(nearest.shortwave_radiation)) weather.illuminance = nearest.shortwave_radiation;
|
||||
if (hasValue(nearest.shortwave_radiation)) {
|
||||
const factor = Number.isFinite(illuminanceToLuxFactor) ? illuminanceToLuxFactor : 126.7;
|
||||
weather.illuminance = nearest.shortwave_radiation * factor;
|
||||
}
|
||||
|
||||
if (hasValue(nearest.precipitation)) {
|
||||
weather.precipitations = nearest.precipitation > precipitationThreshold;
|
||||
|
||||
Reference in New Issue
Block a user