Releases: desiFish/Smart-Aquarium-V3.1
Releases · desiFish/Smart-Aquarium-V3.1
v1.2.0
NEW:
mDNS support: Access device at http://aquarium.local
Hostname-based access (Windows/Mac/Linux)
Static IP configuration documented
Mobile workarounds documented (use IP or static config)
FEATURES:
Reset button (clears all config, reboots)
LED indicators (red, blue-red)
TECHNICAL:
Added mDNS library include
mDNS init in AP mode
mDNS init in STA mode
MDNS.update() in main loop
PLATFORM SUPPORT:
Desktop (hostname): Full support
Mobile (mDNS): Limited (use static IP)
For more details, check README.
v1.1.7
Release Notes - Smart Aquarium V3.1
Version: v1.1.7 - 15-Day Periodic NTP Time Synchronization
Added
- New global variables for time tracking:
timeNeedsUpdateandlastCheckedDay saveTimeUpdateTrackingToFS()function to persist tracking state to/time_tracking.jsonloadTimeUpdateTrackingFromFS()function to load tracking state on startup with defaults- Setup logic to check RTC initialization and trigger NTP sync every 15 days
- RTC validation checking for year != 1970 and
rtc.isrunning()state - Error buffer messages for sync success, failure, and no-action scenarios
- Comprehensive debug logging in
rtcTimeUpdater()with execution markers timeClient.begin()initialization before callingtimeClient.update()- critical NTP fix- 100ms delay after NTPClient initialization for UDP socket setup
- Early WiFi validation in
rtcTimeUpdater()with status code logging - Early RTC validation with proper error handling
- Epoch time validation (must be >= 1000000000 representing dates after 2001)
- NTP default server fallback to pool.ntp.org if empty
Fixed
- ArduinoJson compilation error: added
#include <ArduinoJson.hpp>to resolve JsonDocument not in scope error - NTPClient not initialized before update() call - now calls
timeClient.begin()beforetimeClient.update() - Missing 100ms delay for UDP socket initialization after
begin() - Insufficient error handling in
rtcTimeUpdater()function - Missing WiFi status validation before NTP operations
- Incomplete debug logging for NTP synchronization operations
HTML Changes
- Updated
index.htmlto display Device status via/api/errorendpoint - Updated
settings.htmlto display Device status via/api/errorendpoint - Updated
specs.htmlto display Device status via/api/errorendpoint
Breaking Changes
None. Feature is fully backward compatible.
How to Test
- Monitor Serial output for
rtcTimeUpdaterdebug markers - Check
/api/errorendpoint for status messages - Verify
/time_tracking.jsoncreated in LittleFS - Confirm RTC time updated on first boot
- Verify no sync attempts until 15 days elapse
v1.1.6
v1.1.5
v1.1.4
v1.1.3
v1.1.2
Changes:
-
Index.html: Added error polling function to fetch error messages from backend (if any, whenever occurs)
-
settings.html:
- Added danger symbol with tooltip for reboot required buttons
- NTP related settings will provided detailed info, now also requires reboot.
- Added error polling function to fetch error messages from backend (if any, whenever occurs)
-
specs.html: Added error polling function to fetch error messages from backend (if any, whenever occurs)
-
Main program:
- bumped program version to v1.1.2
- minor debug updates
- relays are by default disabled now (during fresh setup only)
- after NTP update, system will auto update rtc after reboot; new rtc update mechanism added
- new api endpoint /api/error added with error msg buffer for better error handling from frontend
- optimised rtcTimeUpdater( )
- overall better error management now
v1.1.1
v1.1.0
Releasing v1.1.0 with massive updates.
-
There is a Wi-Fi manager now. The device sets up the server at 192.168.4.1 on the first run. Go to settings and set up.
-
Settings Page now has:
- Backup Button: Downloads all the configurations to your PC/Smartphone in a simple JSON file
- Restore Button: Restore the configuration/setting from the Downloaded Backup JSON file
- Both these buttons have a loading animation for a better User experience
- WiFi setting: Now set the WiFi SSID and Password directly
- Set Static IP
- NTP settings like timezone and NTP server
-
A clock that shows RTC time (every 30 seconds refresh)
-
Other bugs fixed
-
Updates in some documentation areas
Check out the readme for details.