- Fix mobile menu
- Add countdown on main page to next refresh
- Handle doubles in form
- Make sure time updates
- BUG: Pages are not being found
- Add DNS resolution
- Fix local OTA
- Move mDNS functions
- Detect bad/no OneWire
- Add mDNS responder
- Add mDNS resolution
- Figure out if we need to invert D1
- Add in logging function
- Replace Serial.print() with Log.{level} messages
- Add local OTA
- Add in NTP
- Add timestamp to JSON
- Add reset/forget WiFi for pin pulldown on startup
- Configuration Work
- Remove NTP server from config
- Remove NTP interval from config
- Figure out why "vessel" is garbaged in JSON to target
- Figure out why hostname is ESP_245A77 on startup
- Figure out why mDNS hostname is garbaged on startup
- Make sure defaults.h (and maybe config.h) default for SPIFFS config
- True up config.h and defaults.h
- Get mDNS hostname from configuration
- Get WiFi.hostname() from configuration
- Add configuration save
- HTTP Endpoint
- Address
- Port
- Add Frequency
- Brewer's Friend Endpoint
- Key
- Add Frequency (> 14 minutes)
- Figure out why target["targeturl"] = targeturl; is garbaged
- Move NTP to a singleton
- Move debug strings to flash
- Move config to a singleton
- Move Bubbles to singleton
- Move Counter to a singleton
- Find out why flashing sometimes triggers double-reset
- Handle OTA security, maybe password
- Maybe remove OTA push altogether?
- Remove HTTP update as well?
- Fix crash when doing sendNTPPacket()
- Figure out timezone
- Get web pages working
- Reset wireless
- Add GitHub OTA for Firmware
- Add GitHub OTA for SPIFFS
- Add endpoint for settings json dump
- Add endpoint for bubbles json dump
- WiFi // wifiManager.startConfigPortal("{APName}", "{APPassword}") // Does not wipe settings
- Fix crash if /bubble/ is requested before first run
- Add temp calibration
- Add to JSON
- Add to Settings page
- Calculate temp
- Figure out version in code
- Force NTP to make a blocking call to get time on startup
- BUG: IPL stopped working (no longer using)
- Fix losing WiFi config on power loss
- Merge back in mDNS
- Have bubbles display in home page
- Add endpoint to receive new settings
- Parse JSON
- Save file
- Reset parameters
- Add settings items from json
- Target Endpoint
- BF Key
- Hostname
- Chamber Name
- Temp Format
- Temp Calibration
- NTP Server
- Fix setting page
- Send JSON to "/config/update/"
- Validate settings
- Merge back in Target Handler
- Split up form items
- Get POSTs and apply
- Fix not saving after restart:
- bfkey
- bffreq
- targetfreq
- Not reading config on startup: 4300 E: Failed to open configuration file.
- Add LED flashes to
- Initial connect in AP mode
- AP mode on failed connect
- Seeking previous AP (1.5 Hz)
- Voluntary AP mode (0.5 Hz)
- Blocking loop for NTP (10 Hz)
- Bubble flashes
- Add task registration/scheduling
- Remove target URL and put in defaults on web page
- Ensure use of compiler macro strings are using flash mem
- Add formal docs
- Add AP instructions to firmware instructions
- Move Bubble update to Ticker
- Fix busted formatting in wifi/2 & ota/2
- Consider moving all graphics to github or brewbubbles.com (depends on SSL)
- OTA changes
- Try to apply former configuration when updating firmware
- Do a version check
- Add JSON to SPIFFS
- Compare SPIFFS JSON with repo JSON
- Fix posting in full configuration
- Re-enable OTA code
- Detect success/failure from "/config/apply/"
- Possibly check for when controller is 100% back after OTA?
- Fix UI on OTA
- Add UI updates to /ota2/
- Fix deprecation error in http
- Add hostname change to AP Portal
- Look to do a 15-minute loop for BF BPM averages
- Look to do a 5-minute loop for BF temp averages
- Fix /bubble/ and/or home page
- Fix log levels
- Make sure temps are read correctly at startup
- Address key for BF (email 9/16/19: "Next week's release")
- Test mDNS for Target changes
- Add static IP change to AP Portal
- Add static IP change to settings
- Search and evaluate "DEBUG"
- Search and evaluate "TODO"
- Figure out why /ota/ is not working on some setups
- Add SSL support for upgrade? (see the issue)
- Fix Brewer's Friend post
- Add Brewfather support
- Optimize /bubble with JSON struct
- Check shouldSaveConfig behavior in WiFi()
- Optimize settings update with the JSON merge
- Address long time hack after initial wifi connect (after portal)
- Test Brefather return value
- Brewfather post not working
- Test web page controller reset button
- Reboot not working - probably related to saveBpm() and/or loadBpm() Issue #19
- Add BrewFlasher to docs
- Move posting targets to async (not going to do this)
- Review reboot schedule to see if it's still needed
- Wipe out temp array contents when temp format changes
- Review mDNS restart schedule to see if it's still needed
- See if we can do something about entering a bad password on portal
- Time stamp last bubble reading
- Add temps to last bubble
- Add build and branch to version display on page
- Auto-reload the About page information
- Detect first run after flash
- Normalize DRD with KC
- Update documentation
- Switch PCB links to OSH Park
- Fix 'nan' error in Bubbles after SPIFFS upload
- Merge update pages
- Add ThingSpeak support
- Remove lockup if there's no time hack
- Add mouseover on debug items
- Change so that posting configuration changes is not a complete page reload
- Look into NaN on Bubbles after flash
- Seconds on About page look like they are reporting millis
- Disconnected Sensor Shows Value #23 (seems to drop slowly when I disconnect it)
- Test gel