Skip to content

AmbientWeather to SQLite

Record minute-by-minute weather observations from an AmbientWeather station over your local network - no cloud account, no API key, no dependencies.

Quick Start

uvx ambientweather2sqlite config   # scan the network, find your station, write a config
uvx ambientweather2sqlite serve    # collect every 60s into SQLite, serve the JSON API

The wizard scans your subnet for the station, so for most setups those two commands are all there is to it. To check that the station is reachable without touching the database:

uvx ambientweather2sqlite once     # print one live observation as JSON

Requires Python 3.13+.

Why this exists

Your station already serves its readings on your own network. This reads them straight off the device, so collection keeps working when the vendor's cloud is down, nothing is rate-limited, no account is involved, and your data never leaves the house.

Features

  • Local network operation - talks directly to the station's livedata.htm, so there is no cloud API, no API key, and no account.
  • Zero dependencies - pure Python with no third-party runtime packages to trust or patch.
  • Auto-discovery - the setup wizard scans your subnet and finds the station for you.
  • A database that keeps up with your hardware - sensor columns are added automatically as new readings appear, timestamps are deduplicated, and implausible values are flagged.
  • Plugs into what you already run - Home Assistant (MQTT discovery), Prometheus and Grafana (/metrics), and Datasette (generated metadata). See Recipes.
  • Runs as a service - Docker, launchd, and systemd units included, with an HTTP JSON API for live and aggregated data.

Installation

If you have uv installed, you can run it directly:

uvx ambientweather2sqlite

Or install it with curl:

curl -LsSf uvx.sh/ambientweather2sqlite/install.sh | sh

Where to go next

  • HTTP JSON API - live readings, daily/hourly/range aggregation, health, and Prometheus metrics.
  • Database Design - schema, timestamps, dynamic columns, migrations, concurrency, and backups.
  • Recipes - Datasette, Grafana, Home Assistant, uptime monitoring, and backups.
  • Development - project setup, checks, and architecture.

The CLI reference, configuration file format, and data-collection behavior are documented in the README.

© Harold Martin - released under GPLv3

AmbientWeather is a trademark of Ambient, LLC.