Skip to content

v0.1.0~beta4

Choose a tag to compare

@cnighswonger cnighswonger released this 25 Mar 19:55
b8b2645

What's new in beta4

SI unit storage

  • All sensor data now stored in SI units (°C, hPa, m/s, mm) internally
  • API output unchanged — display conversion happens at the boundary
  • DB migration script: python tools/migrate_davis_to_si.py
  • 17 regression tests verify identical API output before/after migration

Multi-driver support

  • All 6 hardware drivers recovered, SI-refactored, and tested:
    • Ecowitt / Fine Offset (TCP LAN API)
    • WeatherFlow Tempest (UDP)
    • Ambient Weather (HTTP push)
    • Davis Vantage Pro/Pro2/Vue (serial)
    • Davis WeatherLink IP (TCP)
    • Davis WeatherLink Live (HTTP)
  • Parametrized driver test framework with JSON fixtures (11 test scenarios)
  • SensorSnapshot is now SI — drivers convert at the boundary, everything downstream assumes SI

Driver selection UI

  • Setup Wizard: dropdown to select your station type with connection-specific config
  • Settings > Station: driver-aware fields (serial port for Davis, IP for network, hub SN for Tempest, listen port for Ambient)
  • WeatherLink hardware section hidden for non-Davis drivers
  • Logger daemon driver factory expanded for all 7 driver types

Bug fixes

  • Fix spray advisor reading SI values as Davis native (showed 24°F instead of 75°F)
  • Fix Vantage archive parser: convert to SI
  • Fix HighchartsReact import for Vite 8 CJS interop
  • Fix pydantic ValidationInfo.default for Python 3.13

Project infrastructure

  • CONTRIBUTING.md with AI-assisted contribution policy
  • Issue templates (bug report, feature request, hardware testing)
  • PR template with testing checklist and AI disclosure
  • AGENTS.md for non-Claude AI tools
  • Slimmed .env.example to essentials (DB path, host, port)

Test suite

  • 208 backend tests (up from 149 in beta3)
  • New: SI unit conversions (29), driver fixtures (13), SI regression (17)

Upgrading from beta3

Important: Run the SI migration script after upgrading:

python tools/migrate_davis_to_si.py

This converts existing DB data from Davis native units to SI. Creates a .pre-si-migration backup automatically. Restart both web app and logger after migration.

Download

Note: GitHub converts ~ to . in asset filenames.