{"skill":{"slug":"moltbot-adsb-overhead","displayName":"ADS-B Overhead","summary":"Notify when aircraft are overhead within a configurable radius using a local ADS-B SBS/BaseStation feed (readsb port 30003). Use when setting up or troubleshooting plane-overhead alerts, configuring radius/home coordinates/cooldowns, or creating a Clawdbot cron watcher that sends WhatsApp notifications for nearby aircraft.","description":"---\nname: adsb-overhead\ndescription: Notify when aircraft are overhead within a configurable radius using a local ADS-B SBS/BaseStation feed (readsb port 30003). Use when setting up or troubleshooting plane-overhead alerts, configuring radius/home coordinates/cooldowns, or creating a Clawdbot cron watcher that sends WhatsApp notifications for nearby aircraft.\n---\n\n# adsb-overhead\n\nDetect aircraft overhead (within a radius) from a **local readsb SBS/BaseStation TCP feed** and notify via Clawdbot messaging.\n\nThis skill is designed for a periodic checker (cron) rather than a long-running daemon.\n\n## Quick start (manual test)\n\n1) Run the checker for a few seconds to see if it detects aircraft near you:\n\n```bash\npython3 skills/public/adsb-overhead/scripts/sbs_overhead_check.py \\\n  --host <SBS_HOST> --port 30003 \\\n  --home-lat <LAT> --home-lon <LON> \\\n  --radius-km 2 \\\n  --listen-seconds 5 \\\n  --cooldown-min 15\n```\n\n- If it prints lines, those are *new* alerts (not in cooldown).\n- If it prints nothing, there were no new overhead aircraft during the sample window.\n\n## How it works\n\n- Connect to the SBS feed (TCP) for `--listen-seconds`.\n- Track latest lat/lon per ICAO hex.\n- Compute distance to `--home-lat/--home-lon` (Haversine).\n- Emit alerts for aircraft within `--radius-km` **only if** not alerted within `--cooldown-min`.\n- Persist state to a JSON file (default: `~/.clawdbot/adsb-overhead/state.json`).\n\nSBS parsing assumptions are documented in: `references/sbs-fields.md`.\n\n## Create a Clawdbot watcher (cron)\n\nUse a Clawdbot cron job to run periodically. The cron job should:\n1) `exec` the script\n2) If stdout is non-empty, `message.send` it via WhatsApp\n\nPseudocode for the agent:\n\n- Run:\n  - `python3 .../sbs_overhead_check.py ...`\n- If stdout trimmed is not empty:\n  - send a WhatsApp message with that text\n\nSuggested polling intervals:\n- 30–60 seconds is usually enough (given cooldowns)\n- Use `--listen-seconds 3..8` so each run can gather a few position frames\n\n## Tuning knobs\n\n- Increase `--radius-km` if you want fewer misses.\n- Increase `--listen-seconds` if your feed is busy but you’re missing position updates.\n- Use `--cooldown-min` to prevent spam (15–60 minutes recommended).\n","tags":{"latest":"1.0.0"},"stats":{"comments":0,"downloads":2046,"installsAllTime":0,"installsCurrent":0,"stars":1,"versions":1},"createdAt":1769960652917,"updatedAt":1778485946485},"latestVersion":{"version":"1.0.0","createdAt":1769960652917,"changelog":"- Initial release of the adsb-overhead skill.\n- Detects nearby aircraft using a local readsb SBS/BaseStation TCP feed.\n- Configurable home coordinates, radius, alert cooldown, and listen time.\n- Designed for periodic (cron) checks and WhatsApp notifications via Clawdbot.\n- Persists alert state to a local JSON file to avoid duplicate notifications.","license":null},"metadata":null,"owner":{"handle":"davestarling","userId":"s17apwn8xbv293fb55xn9nxch983ksby","displayName":"davestarling","image":"https://avatars.githubusercontent.com/u/1181807?v=4"},"moderation":null}