Merge pull request #86 from PeteBa/add-pws-to-raindelay

Add PWS support to RainDelay adjustment method
This commit is contained in:
Samer Albahra
2019-11-10 16:18:00 -08:00
committed by GitHub

View File

@@ -1,13 +1,18 @@
import { AdjustmentMethod, AdjustmentMethodResponse, AdjustmentOptions } from "./AdjustmentMethod"; import { AdjustmentMethod, AdjustmentMethodResponse, AdjustmentOptions } from "./AdjustmentMethod";
import { GeoCoordinates, ZimmermanWateringData } from "../../types"; import { GeoCoordinates, PWS, ZimmermanWateringData } from "../../types";
import { WeatherProvider } from "../weatherProviders/WeatherProvider"; import { WeatherProvider } from "../weatherProviders/WeatherProvider";
/** /**
* Only delays watering if it is currently raining and does not adjust the watering scale. * Only delays watering if it is currently raining and does not adjust the watering scale.
*/ */
async function calculateRainDelayWateringScale( adjustmentOptions: RainDelayAdjustmentOptions, coordinates: GeoCoordinates, weatherProvider: WeatherProvider ): Promise< AdjustmentMethodResponse > { async function calculateRainDelayWateringScale(
const wateringData: ZimmermanWateringData = await weatherProvider.getWateringData( coordinates ); adjustmentOptions: RainDelayAdjustmentOptions,
coordinates: GeoCoordinates,
weatherProvider: WeatherProvider,
pws?: PWS
): Promise< AdjustmentMethodResponse > {
const wateringData: ZimmermanWateringData = await weatherProvider.getWateringData( coordinates, pws );
const raining = wateringData && wateringData.raining; const raining = wateringData && wateringData.raining;
const d = adjustmentOptions.hasOwnProperty( "d" ) ? adjustmentOptions.d : 24; const d = adjustmentOptions.hasOwnProperty( "d" ) ? adjustmentOptions.d : 24;
return { return {