🎄 Treelemetry 💧

Loading water level data...

Current Level
--
mm
Estimated Time to Refill
--
hours
Measurement Frequency
--
Hz

Water Level Monitor (Real-time)

All values delayed 5 minutes. For real-time data, contact enterprise sales.

Last 24 Hours (5-minute intervals)

Aggregated view with mean, min, max

All Historical Data (1-hour intervals)

Complete history with hourly aggregates

Consumption Rate Trends

Water consumption rate (slope) for each detected segment over time

Consumption Segments & Refill Events

Detected consumption periods with linear fits, showing refill events (minima) and needs-refill points (maxima)

About

Water level data reflects the distance from water surface to a VL6180X time-of-flight laser interferometer distance ranging sensor situated at the rim of my Christmas tree stand. These readings are collected by an ESP8266 micocontroller and posted via wifi to an MQTT server on a Raspberry Pi on the local network. Separately, Yolink sensors collect water and air environmental readings and post them to a separate local MQTT server. A dockerized process on a Terramaster NAS observes the MQTT messages and writes them to a duckdb file. A separate docker process periodically queries the duckdb file, aggregates data into varying levels of precision, and analyzes changes in the rate of water consumption via a process that involves outlier removal, data smoothing, detection of local minima/maxima, and linear regression. The results are assembled into a JSON file, gzipped, and uploaded to S3 with appropriate ACLs using IAM best practices.

Raw data is expressed in millimeters; all volumetric measurements should be considered approximate.

Watering performed using Rocky Mountain Goods Christmas Tree Food.

Last updated: --