OpenClaw · Skill
Moltbot Adsb Overhead
Detect aircraft overhead (within a radius) from a local readsb SBS/BaseStation TCP feed and notify via Clawdbot messaging.
Install
Start with the primary install command. Alternate entrypoints are included below for ClawHub and OpenClaw CLI users.
Primary command
clawhub install davestarling/moltbot-adsb-overheadClawHub installer
npx clawhub@latest install davestarling/moltbot-adsb-overheadOpenClaw CLI
openclaw skills install davestarling/moltbot-adsb-overheadDirect OpenClaw install
openclaw install davestarling/moltbot-adsb-overheadWhat this skill does
Detect aircraft overhead (within a radius) from a local readsb SBS/BaseStation TCP feed and notify via Clawdbot messaging.
Why it matters
Running as a lightweight cron job instead of a persistent daemon means no process management overhead and trivial integration with any scheduler.
Typical use cases
- Get a WhatsApp ping when a plane flies over your house
- Monitor aircraft near a specific GPS coordinate
- Tune alert radius to catch low-altitude flights only
- Suppress repeat alerts for the same aircraft with cooldowns
- Debug a local readsb setup by testing live position detection
Source instructions
adsb-overhead
Detect aircraft overhead (within a radius) from a local readsb SBS/BaseStation TCP feed and notify via Clawdbot messaging.
This skill is designed for a periodic checker (cron) rather than a long-running daemon.
Quick start (manual test)
- Run the checker for a few seconds to see if it detects aircraft near you:
python3 skills/public/adsb-overhead/scripts/sbs_overhead_check.py \
--host <SBS_HOST> --port 30003 \
--home-lat <LAT> --home-lon <LON> \
--radius-km 2 \
--listen-seconds 5 \
--cooldown-min 15
- If it prints lines, those are new alerts (not in cooldown).
- If it prints nothing, there were no new overhead aircraft during the sample window.
How it works
- Connect to the SBS feed (TCP) for
--listen-seconds. - Track latest lat/lon per ICAO hex.
- Compute distance to
--home-lat/--home-lon(Haversine). - Emit alerts for aircraft within
--radius-kmonly if not alerted within--cooldown-min. - Persist state to a JSON file (default:
~/.clawdbot/adsb-overhead/state.json).
SBS parsing assumptions are documented in: references/sbs-fields.md.
Create a Clawdbot watcher (cron)
Use a Clawdbot cron job to run periodically. The cron job should:
execthe script- If stdout is non-empty,
message.sendit via WhatsApp
Pseudocode for the agent:
- Run:
python3 .../sbs_overhead_check.py ...
- If stdout trimmed is not empty:
- send a WhatsApp message with that text
Suggested polling intervals:
- 30–60 seconds is usually enough (given cooldowns)
- Use
--listen-seconds 3..8so each run can gather a few position frames
Tuning knobs
- Increase
--radius-kmif you want fewer misses. - Increase
--listen-secondsif your feed is busy but you’re missing position updates. - Use
--cooldown-minto prevent spam (15–60 minutes recommended).