From 95e159ee5d0500efaf1278395fa9d8b98b3a6243 Mon Sep 17 00:00:00 2001 From: sickprodigy Date: Sun, 9 Nov 2025 12:43:37 -0500 Subject: [PATCH] feat: Update README with recent enhancements including immediate schedule application, aggressive memory management, and improved config persistence --- README.md | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 3ef6b7a..1f98280 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,14 @@ > Automated climate control system using Raspberry Pi Pico W with web interface and scheduling -## Overview +## Recent Updates -This project provides automated climate monitoring and control using a Raspberry Pi Pico W. Features dual-zone temperature monitoring, AC/heater control, time-based scheduling, and a web interface for easy management. +- πŸ†• **Immediate schedule application:** When resuming scheduling from hold mode, the system now instantly applies the current schedule targets (no delay). +- πŸ†• **Aggressive memory management:** Garbage collection runs every 5 seconds for improved reliability. +- πŸ†• **Manual hold settings:** `ac_target` and `heater_target` in `config.json` now only store your last manual hold settings, not schedule targets. +- πŸ†• **NTP sync optimization:** NTP modules are loaded only when needed, saving RAM. +- πŸ†• **Temperature validation:** Impossible sensor readings are ignored for safety. +- πŸ†• **Improved config persistence:** All changes are saved and reloaded immediately. ## Features @@ -17,6 +22,7 @@ This project provides automated climate monitoring and control using a Raspberry - βœ… Configurable alert thresholds - βœ… Exception recovery (system won't crash permanently) - βœ… Graceful shutdown with Ctrl+C + - βœ… **Aggressive garbage collection for stability** - **Climate Control** - βœ… Automated AC control with temperature swing logic @@ -24,6 +30,7 @@ This project provides automated climate monitoring and control using a Raspberry - βœ… Short-cycle protection for both AC and heater - βœ… Dual relay control via opto-coupler for 110V AC - βœ… Mutual exclusion (AC and heater never run simultaneously) + - βœ… **Manual hold settings are preserved and not overwritten by schedules** - **Scheduling System** - βœ… 4 configurable time-based schedules per day @@ -33,6 +40,7 @@ This project provides automated climate monitoring and control using a Raspberry - βœ… Permanent hold mode (manual control until restart) - βœ… Schedule configuration persists through reboots - βœ… Hold modes reset to Automatic on restart (safety feature) + - βœ… **Immediate schedule application after resuming from hold** - **Web Interface** - βœ… Real-time temperature display @@ -43,11 +51,23 @@ This project provides automated climate monitoring and control using a Raspberry - βœ… Countdown timer for temporary holds - βœ… Mobile-responsive design - βœ… Auto-refresh dashboard (30 seconds) + - βœ… **Settings and schedule changes are reflected instantly** -- **Planned Features** - - 🚧 Humidity monitoring (DHT22/SHT31) - - 🚧 Soil moisture monitoring - - 🚧 Additional relay control for fans, grow lights +## Configuration Notes + +- **AC/Heater target settings:** + - `ac_target` and `heater_target` in `config.json` are updated whenever you use Temp Hold, Perm Hold, or when a schedule is applied. + - When schedules are active, these values are updated to match the current schedule’s targets. + - This ensures the config file always reflects the current operating temperatures, whether in hold mode or schedule mode. + +- **Immediate schedule application:** + - When you click "Resume Scheduling," the system applies the current schedule targets instantly, so the dashboard updates without delay. + +- **Memory management:** + - Garbage collection runs every 5 seconds to prevent memory fragmentation and crashes. + +- **Sensor validation:** + - Temperatures outside the range -50Β°F to 150Β°F are ignored to prevent false readings. ## Quick Start