Open-source garage/space temperature dashboard — live probes, freeze alerts, history. App: probeharbor.dev · Docs: https://probeharbor.dev/developers/
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Open-source dashboard to track, log, and analyze sensors in garages, workshops, attics, crawlspaces, and shops — Astro 6, Cloudflare Workers, Supabase, and Stripe.
Runs in production at probeharbor.dev with 15-minute history polling, CI, Playwright smoke, and pnpm ops:smoke.
| App | probeharbor.dev |
| Live demo | probeharbor.dev/demo — no account |
| Start free | Create account → Devices — no credit card |
| Developer docs | probeharbor.dev/developers |
| Product guides | probeharbor.dev/guides |
| OpenAPI | probeharbor.dev/openapi.yaml |
| Contributing | CONTRIBUTING.md |
GitHub About → Website points at the live app. Architecture, env vars, cron, and deploy live in the developer docs.
ProbeHarbor connects probes in a garage, workshop, attic, or similar space, compares them with outdoor weather, keeps history you can chart and export, and alerts you when something goes wrong — freeze risk, a wet leak sensor, humidity spikes, silent feeds, or a custom rule you define.
Pull HTTPS JSON from a local probe server, or push from ESP/Arduino to a per-device ingest URL. Households share devices, invite family (including read-only viewers), and publish a free family live share link — Pro adds expanded share scopes, metrics API keys, and automation webhooks.
sketches/Plans and limits: probeharbor.dev/pricing · comparison: probeharbor.dev/compare
Astro 6 + Preact islands + Tailwind v4 · Cloudflare Workers · Supabase (Auth, Postgres, RLS) · Stripe · Cloudflare Email · Twilio SMS (Pro) · Web Push (Pro). Node.js >=22.12.0 and pnpm.
pnpm install
cp .env.example .env # fill in values — see developer docs
pnpm dev # http://localhost:4321
pnpm test
pnpm typecheck
More: Local development · Deploy & ops
pnpm build && pnpm deploy
pnpm test:e2e
pnpm audit:stripe # display prices vs live Stripe
pnpm ops:smoke # public smoke + sitemap ping
src/pages/ Routes; API under pages/api/
src/lib/ Auth, devices, alerts, Stripe, ingest
src/worker.ts Cloudflare fetch + scheduled jobs (15-min poll)
src/actions/ Astro Actions (prefs, alerts, invites)
supabase/migrations/
sketches/ Arduino / MicroPython / CircuitPython / Zephyr / WCHNET / AVR assembly ingest samples
docs/ VitePress developer docs (GitHub Pages)
POST to /api/ingest/<key> — sensor keys auto-import on first POST; rename on Devices afterwardStep-by-step: Adding devices · ESP32 freeze kit BOM · Accessories · Pico W ingest · STM32 Zephyr · CH32V RISC-V · AVR assembly · Teensy 4.1 · PIC18 Ethernet · Cellular · sample sketches in sketches/
Pull feeds (HTTPS JSON we fetch): Devices → Pull feeds tab — add URL, Save pull setup, probes auto-import from the live feed.
Integrations: Home Assistant (HACS) · Matter / Apple Home · Node-RED · Influx / Telegraf · IFTTT / n8n · HACS repo · Matterbridge plugin · Developer docs
Operator launch checklist: docs/community/operator-checklist.md (forum post, thermostat OAuth, HACS default PR status)
curl -X POST "https://your-domain/api/ingest/YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"door1": true, "temp1": 42.5, "battery": 87, "rssi": -62}'
Guides: Adding devices · Push ingest · Sketches · Ingest & webhooks
Related repos: arduino JSON probe · Python relay · Home Assistant integration · Matter / Apple Home · ProbeHarbor Desktop · Bay Buddy (mood glance) · Claim puck (RP2040-Zero) · Android app
Issue creation is currently restricted on this repo — bugs, feature ideas, and account/billing questions all go through the contact form. Code contributions are still welcome as PRs: see CONTRIBUTING.md and the Code of Conduct.
PRs should pass pnpm test and pnpm typecheck. CI also runs the Astro build and Playwright smoke. An import-guard Vitest suite fails the build if a page renders a component it never imports.
MIT. Contributions and forks welcome.