Commit Graph
23 Commits
Author SHA1 Message Date
oskarvitaliiandClaude Opus 4.8 fc72f9b0bd docs: add project README
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 11:52:33 +07:00
oskarvitaliiandClaude Opus 4.8 482a788f10 chore: nest project under Arduino/WeatherPredictor
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 11:41:01 +07:00
oskarvitaliiandClaude Opus 4.8 2e3af80188 feat(display): mini forecast icon + Wi-Fi IP, BGR colour fix
Rework the 160x80 status screen: large predicted-weather icon in the
right window (scaled to fill), Wi-Fi/IP line at the bottom (or 'offline'),
colour-coded forecast category, and the trend arrow shown only when
rising/falling. Colours are built R/B-swapped for this BGR ST7735S panel.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 23:05:13 +07:00
oskarvitaliiandClaude Opus 4.8 f1fe0b728f feat: forecast change log
Record each forecast change (Zambretti letter transition) with a
timestamp into a 24-entry ring buffer, persisted to LittleFS and
restored on boot. New /api/forecasts endpoint and a 'Forecast log'
panel in the web UI (newest first, category colour, timestamp).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 22:40:28 +07:00
oskarvitaliiandClaude Opus 4.8 f4a9a04207 feat(web): city presets for station settings
Add a City preset dropdown (Astana, Karaganda, Almaty, Bishkek,
Tashkent, Yekaterinburg, Omsk, Novosibirsk, Krasnoyarsk, Moscow,
Saint Petersburg) that fills altitude, coordinates and time zone from
average values. Manual entry and Custom remain; the matching preset is
auto-selected on load when coordinates match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 22:21:32 +07:00
oskarvitaliiandClaude Opus 4.8 8dc469be3d feat(web): UTC-offset time zone picker and labelled barograph axes
Time zone is now a UTC+/-HH dropdown (e.g. UTC+7) instead of raw
minutes. Barograph gains dual value axes (pressure left in hPa,
temperature right in C), start/end time labels and gridlines.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 22:10:02 +07:00
oskarvitaliiandClaude Opus 4.8 26a5071e86 feat(web): redesign UI as a barometer instrument
Dark dusk-indigo panel with brass/enamel accents, serif almanac
headings + monospace instrument readouts. Signature element: an
antique barometer dial with a live needle and a ghost 'set hand' at
the pressure 3h ago -- the trend made physical. Barograph, stat tiles
and settings kept quiet. Fully self-contained (no external fonts/CDNs).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:42:34 +07:00
oskarvitaliiandClaude Opus 4.8 74121a2ef2 fix: robust 3h trend across non-monotonic epochs (NTP jumps)
Scan all samples for the newest one >=3h old instead of assuming
strictly increasing timestamps, so an NTP time correction no longer
breaks trend detection.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:27:10 +07:00
oskarvitaliiandClaude Opus 4.8 e29faf641a feat: self-contained web UI with live view, SVG chart, settings
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:21:59 +07:00
oskarvitaliiandClaude Opus 4.8 396688cd98 feat: HTTP server with REST API for current/history/settings
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:15:16 +07:00
oskarvitaliiandClaude Opus 4.8 ea0256a5b9 feat: NTP time sync writing to DS3231 (by IP, DNS-independent)
This LAN's router does not resolve external hostnames, so NTP uses
hard-coded Cloudflare/Google anycast IPs instead of names.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 21:05:29 +07:00
oskarvitaliiandClaude Opus 4.8 cb3a06382e feat: Wi-Fi provisioning via WiFiManager captive portal
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:41:30 +07:00
oskarvitaliiandClaude Opus 4.8 77d0a35d69 feat: persist pressure history to LittleFS across reboots
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:31:53 +07:00
oskarvitaliiandClaude Opus 4.8 0a8dbe198d feat: integrate scheduler and full status display (landscape 160x80)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:18:36 +07:00
oskarvitaliiandClaude Opus 4.8 4e53e7388f feat: persistent settings in LittleFS JSON
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:08:03 +07:00
oskarvitaliiandClaude Opus 4.8 5c96cfc1f3 feat: in-RAM pressure history ring buffer with 3h trend
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 20:02:40 +07:00
oskarvitaliiandClaude Opus 4.8 5819739fcb feat: Zambretti forecast with trend classification
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 19:59:17 +07:00
oskarvitaliiandClaude Opus 4.8 2d52fcd851 feat: DS3231 RTC read/set with lost-power detection
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 19:55:47 +07:00
oskarvitaliiandClaude Opus 4.8 d042a94378 feat: BMP180 read and sea-level pressure conversion
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 19:43:03 +07:00
oskarvitaliiandClaude Opus 4.8 906adaddfe feat: TFT display init and splash screen
Landscape 160x80 (rotation 3, no invert) per this panel.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 19:39:13 +07:00
oskarvitaliiandClaude Opus 4.8 074bc99875 feat: sketch scaffold with I2C bus bring-up and scanner
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 19:30:34 +07:00
oskarvitaliiandClaude Opus 4.8 ffb2ac3756 docs: add Weather Predictor implementation plan (13 tasks)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 19:19:23 +07:00
oskarvitaliiandClaude Opus 4.8 ea90ef364f docs: add Weather Predictor design spec
Autonomous barometric weather station on Wemos D1 mini with BMP180,
DS3231 RTC and 0.96" ST7735 TFT. Local Zambretti forecast, web UI,
LittleFS storage, WiFiManager + NTP.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 18:28:17 +07:00