Pup Tent checking…

camper status · 2026-06-12 03:12 UTC

Current Temperature Switch to °C

°F
waiting for first reading…

    Temperature (72h)

    Loading...

    Current Humidity

    %
    waiting for first reading…

      Humidity (72h)

      Loading...

      Battery Voltage

      V
      waiting for first reading…

      Battery voltage (72h)

      Loading...

      Location Trail

      No location data yet — check in to see your trail here.

      Live Events

      borkbus / SQS event stream will land here once the camper agent is publishing.

      Changelog

      2026-05-20

      • Added gps-bridge: USB GPS receiver → Prometheus metrics bridge. Reads from gpsd and exposes gps_fix_mode, gps_latitude_degrees, gps_longitude_degrees, gps_altitude_meters, gps_speed_mps, and gps_heading_degrees on :9140. Scraped by Vector and shipped to Grafana Cloud. New GPS private dashboard in Grafana. Ansible role provisions gpsd + gps-bridge as launchd services on CampHQ.
      • Fixed deploys to CampHQ: added /usr/local/bin to ~/.zshenv via Ansible so Kamal can find Docker in non-interactive SSH sessions (OrbStack on macOS Apple Silicon).

      2026-05-16

      • Added Location Trail: a token-guarded check-in form at /checkin?k=<token> captures GPS coordinates via the browser Geolocation API and saves them to the puptent_locations table.
      • Added /locations.json public endpoint returning the full trail (ordered oldest → newest) plus the current (latest) location.
      • Added Location Trail map panel to the dashboard — renders a Leaflet polyline and circle markers, highlights the current position in green, shows name/note/time popups, and auto-refreshes every 30s.

      2026-04-30

      • Current temperature/humidity panels now dedupe sensors across deploys (the dashboard was listing the same sensor twice when overlapping series remained in Prometheus).
      • Removed the in-deploy Prometheus accessory; metrics now flow through Vector running natively on the camper host (configured by infra/ansible/puptent). Puptent's :9110 metrics endpoint is now published on 127.0.0.1 for Vector to scrape.
      • Added CLAUDE.md with the rule that every PR must include a changelog entry.
      • Migrated from mothman to camper server.
      • Sensors that report under multiple device names are now deduplicated in the readout tiles.

      2026-04-21

      • Added live temperature and humidity readout tiles with a °C/°F toggle.
      • Big-number readouts round to whole numbers; chart tooltips round to one decimal.

      2026-04-18

      • Chart series are labeled by metric type (temperature, humidity) instead of device name.

      2026-04-17

      • Default dashboard window expanded to 72 hours of history.
      • Sensor series aggregated by device name to collapse duplicate lines on charts.
      • Hub uplink status is now polled every 5 minutes and surfaced as the header status pill.

      2026-04-14

      • Initial release: YoLink → Prometheus bridge with Grafana Cloud remote-write.
      • Replaced the embedded Grafana iframe with native Chartkick line charts on the dashboard.
      • Shipped via Kamal with a Prometheus accessory; encrypted deploy secrets via SOPS.

      2026-04-12

      • Stood up the puptent.noawoo.com namespace and the public Grafana camper dashboard.