Dashboard
The dashboard shows the three configured scenarios, their selected modes, whether a scenario is currently active, and the current tank level.
/opens the dashboard.- The green active indicator means a scenario is currently applying its valve setting and opening at least one valve.
- The tank gauge shows the latest water-level reading received from the configured water-level source.
Local Display
The touch display has two pages. The first page controls scenarios. The second page controls individual valves manually.
Scenario Page
- Tap a scenario row to open the
OFF / ON / AUTOselector. - Tap outside the selector to close it without changing the mode.
- Swipe left to open the valve diagram page.
- The right-side icon shows the configured mode, not live pump status.
Valve Page
- Tap a valve square to select it.
- Tap
OFFto clear the selected valve timer. - Tap
ON +...to add timed runtime to the selected valve. - The ON button cycles through 1, 5, 15, and 30 minute additions.
- Swipe right to return to the scenario page.
The display turns off after display.timeoutSec seconds of inactivity. Set it to 0 to keep the display on. The first touch after sleep wakes the display without pressing hidden controls.
Scenario Modes
Programs
Programs are stored in /programs.json under the programs array. Each program belongs to one scenario using a zero-based scenario field.
| Field | User Meaning |
|---|---|
active | Enables or disables the program definition. |
scenario | 0 is the first scenario, 1 the second, and 2 the third. |
priority | If more than one program is due, the highest priority wins. Ties are won by the earlier program in the file. |
onValves | The valves to open when the scenario is ON or when AUTO has a matching time window and condition. Valves not listed are off. |
time | Start time in HH:MM format. |
until | End time for the window. The end minute is exclusive; 9:00 to 9:15 runs until just before 09:15. |
condition | A sensor check for AUTO windows. null means always true. |
Water Level And Safety
The water-level value is polled from the configured endpoint under waterLevelSource. By default, the system polls every 120 seconds.
- The water-level condition accepts the sensor name
waterlevel. - Supported operators are
<,<=,>,>=,==, and!=. - If polling fails after a previous success, program-controlled valves are closed and water-level conditions will not match until polling succeeds again.
- All valves are set to off at boot.
- Manual valve timers are not overridden by program logic while the timer is active.
Settings Page
The settings page is available at /settings. It requires the configured parameter username and password.
- Select
config.jsonto edit system settings. - Select
programs.jsonto edit program schedules and scenario valve settings. - Runtime changes are saved to SPIFFS and override compiled defaults on future boots.
- If
/config.jsonis missing, the firmware uses the compiled defaults.
Network And Time
Wi-Fi networks are configured in network.wifi.list. The device scans for configured SSIDs and connects to the matching access point with the strongest signal.
- Static IP settings are under
network.staticand are enabled withnetwork.general.use_static. - mDNS uses
network.general.hostname. - SNTP sets the clock from
129.6.15.28andpool.ntp.org. - Program schedules use the timezone in
network.time.timezone. The default is Europe/Vienna:CET-1CEST,M3.5.0/2,M10.5.0/3.
Maintenance
The OTA update page is available at /OTA and uses the configured OTA username and password.
Telnet maintenance is available after Wi-Fi is connected and uses the parameter username and password. Common commands include:
| Command | Purpose |
|---|---|
help | Show available commands. |
ls | List SPIFFS files. |
showfile t /programs.json | Print a file as text. |
paramlist | Show configuration values. |
paramset | Change a configuration value. |
reboot | Reboot the ESP32. |