O NasBlogKontakt

Nawadnianie

System nawadniania pozwala na automatyzację podlewania ogrodu z wykorzystaniem wyjść przekaźnikowych boneIO jako zaworów strefowych i opcjonalnego zaworu głównego (pompy). Każdy sterownik nawadniania zarządza wieloma strefami z indywidualnymi czasami pracy, harmonogramami i zaawansowanym sterowaniem sekwencją pompy/zaworów.

Sterowniki nawadniania są automatycznie wykrywane przez Home Assistant poprzez MQTT autodiscovery — każdy sterownik pojawia się jako oddzielne urządzenie z encjami typu switch, number i button.

Konfiguracja w aplikacji webowej

Zalecany sposób konfiguracji.

Dodawanie sterownika nawadniania

Nazwa opcjiOpis
NazwaNazwa wyświetlana w Home Assistant.
IDUnikalny identyfikator sterownika. Generowany automatycznie z nazwy.
Obszar/PokójWybór odpowiedniego obszaru dla grupowania urządzeń w HA.
Zawór głównyID wyjścia pompy/zaworu głównego. Włączany przed otwarciem strefy.

Strefy

Każda strefa steruje jednym wyjściem przekaźnikowym (zaworem). Sterownik wymaga co najmniej jednej strefy.

Nazwa opcjiOpis
NazwaNazwa wyświetlana strefy.
Wyjście zaworuID wyjścia przekaźnikowego zaworu. Dostępne tylko wyjścia typu valve.
Czas pracyCzas otwarcia zaworu w jednym cyklu. Przykład: 5min, 300s.
Podlewaj coMinimalny odstęp między uruchomieniami strefy. Przykład: 1d, 2d.
AktywnaCzy strefa bierze udział w automatycznych cyklach.

Harmonogramy

Opcjonalne wyzwalacze czasowe dla sterownika. Każdy wpis harmonogramu uruchamia pełny cykl o określonej godzinie w wybranych dniach.

Nazwa opcjiOpis
GodzinaGodzina startu w formacie HH:MM. Przykład: 06:00.
DniAktywne dni: daily, weekdays, weekend lub konkretny dzień (monsun).

Zaawansowane ustawienia pompy/zaworów

Precyzyjne sterowanie sekwencją przełączania pompy i zaworów. Te ustawienia zapobiegają uderzeniom hydraulicznym, spadkom ciśnienia i zapewniają prawidłową pracę pompy.

Nazwa opcjiOpis
Opóźnienie otwarcia zaworuOpóźnienie między zamknięciem jednego zaworu a otwarciem następnego.
Nakładanie się zaworówCzas jednoczesnej pracy bieżącego i następnego zaworu.
Wyłączanie pompy podczas opóźnieniaWyłączenie pompy podczas oczekiwania między przełączeniami zaworów.
Start pompy (opóźnienie pompy)Zawór otwiera się pierwszy, pompa włącza się po tym opóźnieniu.
Start pompy (opóźnienie zaworu)Pompa uruchamia się pierwsza, zawór otwiera się po tym opóźnieniu.
Stop pompy (opóźnienie pompy)Zawór zamyka się pierwszy, pompa wyłącza się po tym opóźnieniu.
Stop pompy (opóźnienie zaworu)Pompa wyłącza się pierwsza, zawór zamyka się po tym opóźnieniu.

Opóźnienie otwarcia zaworu i nakładanie się zaworów wzajemnie się wykluczają. Pary opóźnień startu pompy i stopu pompy również wzajemnie się wykluczają.

Ustawienia czasu pracy

Poniższe ustawienia są sterowane w czasie rzeczywistym z panelu Nawadnianie w aplikacji webowej (nie z formularza konfiguracji YAML). Można je również zmieniać przez MQTT lub interfejs Home Assistant:

UstawienieOpis
Mnożnik czasuMnożnik czasu pracy zastosowany do wszystkich stref. 1.0 = 100%.
Powtórzenie cykluIle razy powtórzyć pełny cykl. 0 = jednorazowo.
Auto-przejścieAutomatyczne przejście do następnej strefy po zakończeniu bieżącej.
Odwrócenie kolejnościUruchomienie stref w odwrotnej kolejności.
Tryb czuwaniaGdy włączony, sterownik nie uruchomi żadnych stref.
Pominięcie następnegoPominięcie następnego zaplanowanego cyklu (jednorazowo).

Integracja z Home Assistant

Każdy sterownik nawadniania tworzy jedno urządzenie HA z następującymi encjami:

Typ encjiEncjaOpis
switchPrzełącznik głównyStart/stop pełnego cyklu
switchAuto AdvancePrzełączanie auto-przejścia między strefami
switchReversePrzełączanie odwróconej kolejności stref
switchStandbyPrzełączanie trybu czuwania
switchSkip Next RunPominięcie następnego zaplanowanego cyklu
numberMultiplierMnożnik czasu pracy (0.1–5.0)
numberRepeatLiczba powtórzeń cyklu (0–10)
buttonNext ValvePrzejście do następnej strefy
buttonPauseWstrzymanie bieżącego cyklu
buttonResumeWznowienie wstrzymanego cyklu

Encje per strefa:

Typ encjiEncjaOpis
switchPrzełącznik strefyStart/stop pojedynczej strefy
switchStrefa aktywnaWłączenie/wyłączenie strefy w cyklach
numberCzas pracy strefyCzas pracy strefy w sekundach

Encje per harmonogram:

Typ encjiEncjaOpis
switchPominięcie harmonogramuPominięcie tego wpisu harmonogramu

Przykładowa konfiguracja YAML

Podstawowe nawadnianie z dwoma strefami
irrigation:
  - id: ogrod
    name: Nawadnianie ogrodu
    master_valve: OUT_06
    zones:
      - id: trawnik
        name: Trawnik
        valve_id: OUT_01
        run_duration: 10min
      - id: rabata
        name: Rabata kwiatowa
        valve_id: OUT_02
        run_duration: 5min
    schedule:
      - time: "06:00"
        days: daily
Zaawansowana konfiguracja z opóźnieniami pompy
irrigation:
  - id: ogrod_pro
    name: Nawadnianie Pro
    master_valve: OUT_06
    valve_open_delay: 3s
    pump_start_valve_delay: 2s
    pump_stop_pump_delay: 5s
    zones:
      - id: trawnik_przod
        name: Trawnik Przód
        valve_id: OUT_01
        run_duration: 15min
        run_every: 2d
      - id: trawnik_tyl
        name: Trawnik Tył
        valve_id: OUT_02
        run_duration: 10min
      - id: kroplowka
        name: Nawadnianie Kroplowe
        valve_id: OUT_03
        run_duration: 30min
        run_every: 3d
    schedule:
      - time: "05:30"
        days: weekdays
      - time: "06:00"
        days: weekend
    area: ogrod

Zmienne konfiguracyjne

  • id (Opcjonalne, string) — Unikalny identyfikator sterownika nawadniania. Generowany automatycznie z nazwy jeśli nie podany.
  • name (Opcjonalne, string) — Nazwa wyświetlana w Home Assistant. Jeśli nie ustawiona, używa ID.
  • master_valve (Opcjonalne, string) — ID wyjścia zaworu głównego (pompy). Włączany przed otwarciem dowolnej strefy, wyłączany po zakończeniu wszystkich stref.
  • valve_open_delay (Opcjonalne, timeperiod) — Opóźnienie między zamknięciem jednego zaworu a otwarciem następnego. Wzajemnie wykluczające się z valve_overlap. Przykład: 3s.
  • valve_overlap (Opcjonalne, timeperiod) — Czas jednoczesnej pracy bieżącego i następnego zaworu. Wzajemnie wykluczające się z valve_open_delay. Przykład: 2s.
  • pump_switch_off_during_valve_open_delay (Opcjonalne, boolean, domyślnie: false) — Wyłączenie pompy podczas interwału valve_open_delay.
  • pump_start_pump_delay (Opcjonalne, timeperiod) — Zawór otwiera się pierwszy, pompa włącza się po tym opóźnieniu. Wzajemnie wykluczające się z pump_start_valve_delay.
  • pump_start_valve_delay (Opcjonalne, timeperiod) — Pompa uruchamia się pierwsza, zawór otwiera się po tym opóźnieniu. Wzajemnie wykluczające się z pump_start_pump_delay.
  • pump_stop_pump_delay (Opcjonalne, timeperiod) — Zawór zamyka się pierwszy, pompa wyłącza się po tym opóźnieniu. Wzajemnie wykluczające się z pump_stop_valve_delay.
  • pump_stop_valve_delay (Opcjonalne, timeperiod) — Pompa wyłącza się pierwsza, zawór zamyka się po tym opóźnieniu. Wzajemnie wykluczające się z pump_stop_pump_delay.
  • multiplier (Opcjonalne, float, domyślnie: 1.0) — Początkowy mnożnik czasu pracy. Regulowany w czasie rzeczywistym przez HA/MQTT.
  • repeat (Opcjonalne, integer, domyślnie: 0) — Początkowa liczba powtórzeń cyklu. Regulowana w czasie rzeczywistym przez HA/MQTT.
  • auto_advance (Opcjonalne, boolean, domyślnie: true) — Automatyczne przejście do następnej strefy. Regulowane w czasie rzeczywistym.
  • reverse (Opcjonalne, boolean, domyślnie: false) — Uruchomienie stref w odwrotnej kolejności. Regulowane w czasie rzeczywistym.
  • standby (Opcjonalne, boolean, domyślnie: false) — Blokada uruchomienia stref. Regulowane w czasie rzeczywistym.
  • schedule (Opcjonalne, lista) — Zaplanowane godziny startu sterownika.
    • time (Wymagane, string) — Godzina startu w formacie HH:MM.
    • days (Opcjonalne, string, dozwolone: ['daily', 'weekdays', 'weekend', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun'], domyślnie: daily) — Dni w których harmonogram jest aktywny.
  • zones (Wymagane, lista) — Strefy nawadniania. Wymagana co najmniej jedna strefa.
    • id (Opcjonalne, string) — Identyfikator strefy. Generowany automatycznie z nazwy.
    • name (Opcjonalne, string) — Nazwa wyświetlana strefy.
    • valve_id (Wymagane, string) — ID wyjścia przekaźnikowego zaworu.
    • run_duration (Wymagane, timeperiod) — Czas pracy strefy. Przykład: 5min, 300s.
    • enabled (Opcjonalne, boolean, domyślnie: true) — Czy strefa jest aktywna.
    • run_every (Opcjonalne, timeperiod, domyślnie: 1d) — Minimalny odstęp między uruchomieniami. Przykład: 1d, 2d.
  • area (Opcjonalne, string) — Odniesienie do ID obszaru zdefiniowanego w sekcji areas. Tworzy pod-urządzenie powiązane z głównym urządzeniem BoneIO.