Skip to content

Releases: desiFish/Smart-Aquarium-V3.1

v1.2.0

30 Mar 07:06

Choose a tag to compare

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

18 Feb 07:38

Choose a tag to compare

Release Notes - Smart Aquarium V3.1

Version: v1.1.7 - 15-Day Periodic NTP Time Synchronization


Added

  • New global variables for time tracking: timeNeedsUpdate and lastCheckedDay
  • saveTimeUpdateTrackingToFS() function to persist tracking state to /time_tracking.json
  • loadTimeUpdateTrackingFromFS() 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 calling timeClient.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() before timeClient.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.html to display Device status via /api/error endpoint
  • Updated settings.html to display Device status via /api/error endpoint
  • Updated specs.html to display Device status via /api/error endpoint

Breaking Changes

None. Feature is fully backward compatible.

How to Test

  1. Monitor Serial output for rtcTimeUpdater debug markers
  2. Check /api/error endpoint for status messages
  3. Verify /time_tracking.json created in LittleFS
  4. Confirm RTC time updated on first boot
  5. Verify no sync attempts until 15 days elapse

v1.1.6

25 Jul 18:04

Choose a tag to compare

Fixed issues:
#9
#8
#7

v1.1.5

22 Jul 05:04

Choose a tag to compare

RGB LED Library change:

  • FastLED to Adafruit NeoPixel over some issues.
  • Added more insights using RGB LED
  • Due to the Simple nature of RGB use, Adafruit saves 3KB in the BIN file and resolves some issues.

v1.1.4

21 Jul 14:09

Choose a tag to compare

  • added buzzer and RGB LED for status and error reporting purposes (FastLED Library)
  • added restart/reset button

v1.1.3

30 Jun 13:04

Choose a tag to compare

  • Backup files will be named as aquariumBackupDDMMYYYY.json

v1.1.2

28 Jun 06:26

Choose a tag to compare

Changes:

  1. Index.html: Added error polling function to fetch error messages from backend (if any, whenever occurs)

  2. 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)
  1. specs.html: Added error polling function to fetch error messages from backend (if any, whenever occurs)

  2. 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

27 Jun 06:03

Choose a tag to compare

Minor feature update:

  • added specs.html page for real-time Hardware-related info
    Check the gallery section in the readme for details.

v1.1.0

26 Jun 18:33

Choose a tag to compare

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.

v1.0.1

25 Jun 03:29

Choose a tag to compare

  • updated default ntp pool to India
  • updated copyright symbol
  • update LED to Relay in some places index.html
  • updated readme about NTP