Inteligentne nawadnianie - obliczanie parowania metodą Penmana-Monteitha

Za chwilę skończy się sezon na temat termostatów i ogrzewania, a zacznie się podlewanie ogrodu.
Zamieszczam proces obliczania czasu nawadniania tytułową metodą.

nawadnianie.json (9,7 KB)

Wskazane jest posiadanie stacji pogodowej, która dostarcza danych o:

  • temperatura

  • opady (total)

  • wilgotność powietrza

  • nasłonecznienie [W/m2]

  • prędkość wiatru.

    Koniecznym jest temperatura i opady, pozostałe są opcjonalne. Jeśli ich nie ma, używane są przeciętne wartości dla terenu Polski. Również jeśli któryś z czujników opcjonalnych przestanie odpowiadać będą przyjmowane wartości śr.

Konfiguracja - w kodzie funkcji należy dostosować:

// 4. Konfiguracja stref podlewania: area[m2] powierzchnia strefy, min/max_sek - dopuszczalny czas podlewania, factor - mnożnik dla korekcji czasu rzeczywistego i obliczeniowego
....
    pump_flow: 30,                                                 //  wydajność żródła wody (pompy) [l/min]
    zones: {
        "z1": { area: 100, factor: 1.0, min_sec: 60, max_sec: 1800 },
        "z2": { area: 150, factor: 1.1, min_sec: 60, max_sec: 1800 },
        "z3": { area: 80, factor: 0.9, min_sec: 60, max_sec: 1800 },
        "z4": { area: 200, factor: 1.0, min_sec: 60, max_sec: 1800 },
        "z5": { area: 50, factor: 1.2, min_sec: 60, max_sec: 1800 }
    }
};

pump_flow - wydajność źródła wody

oraz strefy z1..zn.:
area - powierzchnia strefy w m2

min_sec/ max_sec - graniczne czasy podlewania dla stref

factor - współczynnik korekcji dla ręcznej zmiany obliczonego potrzebnego czasu.

Dla dokładności obliczeń prędkość wiatru powinna być przeliczona do wysokości 2m, potrzebna jest więc definicja wysokości instalacji czujnika.

const hw =8;      //wysokość zainstalowania czujnika prędkości wiatru [m]

Encja “Słońce” potrzebna jest w przypadku braku czujnika nasłonecznienia przyjąć w dzień śr. 200W/m2

Wywołanie podlewania poprzez wysłanie msg.zone_id=’z1..n’ w wyniku czego otrzymujemy na wyjściu msg.payload.command=’ON’ lub ‘OFF’.

4 polubienia