home / sensor

Menu
  • Dashboards

Current Stats (5 minute average)

Five-minute averages anchored to the latest reading in the dataset.

Custom SQL query returning 1 row (hide)

WITH latest AS (
  SELECT MAX(recorded_at) AS max_recorded_at
  FROM sensor_log
), windowed AS (
  SELECT t.*
  FROM sensor_log t, latest
  WHERE t.recorded_at >= datetime(latest.max_recorded_at, '-5 minutes')
), latest_row AS (
  SELECT recorded_at, door_status, light_level
  FROM sensor_log
  ORDER BY recorded_at DESC
  LIMIT 1
)
SELECT
  latest_row.recorded_at AS latest_reading_at,
  ROUND(AVG(windowed.temperature_c), 2) AS avg_temperature_c,
  ROUND(AVG(windowed.humidity_pct), 2) AS avg_humidity_pct,
  ROUND(AVG(windowed.pressure_hpa), 2) AS avg_pressure_hpa,
  latest_row.door_status AS current_door_status,
  latest_row.light_level AS current_light_level,
  COUNT(*) AS samples_in_window
FROM windowed, latest_row;

Edit SQL

This data as json, CSV

latest_reading_atavg_temperature_cavg_humidity_pctavg_pressure_hpacurrent_door_statuscurrent_light_levelsamples_in_window
2026-03-04 10:12 4.08 57.02 1025.68 CLOSED 0 29
Powered by Datasette · Queries took 0.77ms