home / skills / openclaw / skills / ham-radio-dx

ham-radio-dx skill

/skills/capt-marbles/ham-radio-dx

This skill helps amateur radio operators monitor DX clusters, receive rare-spot alerts, and generate daily band activity digests for informed on-air planning.

npx playbooks add skill openclaw/skills --skill ham-radio-dx

Review the files below or copy the command above to add this skill to your agents.

Files (4)
SKILL.md
4.6 KB
---
name: ham-radio-dx
description: Monitor DX clusters for rare station spots, track active DX expeditions, and get daily band activity digests for amateur radio operators.
version: 1.0.0
author: captmarbles
---

# Ham Radio DX Monitor πŸ“»

Monitor DX clusters in real-time, get notified of rare DX stations, and track active DX expeditions. Perfect for ham radio operators who want to catch rare contacts!

## Features

πŸ“‘ **Live DX Spots** - Connect to global DX cluster network  
🌍 **Rare DX Alerts** - Notify when rare stations appear  
πŸ“Š **Daily Digest** - Band activity summary  
πŸ—ΊοΈ **DX Expeditions** - Track active expeditions  
⏰ **Automated Monitoring** - Run via cron for alerts  

## Quick Start

### Watch Live Spots

```bash
# Get latest DX spots
python3 dx-monitor.py watch

# Specific cluster node
python3 dx-monitor.py watch --cluster ea7jxh

# Use your callsign
python3 dx-monitor.py watch --callsign KN4XYZ

# Only show NEW spots (filters duplicates)
python3 dx-monitor.py watch --new-only
```

**Output:**
```
πŸ“‘ Latest DX Spots from EA7JXH

   20m   SSB      14.195   K1ABC        - CQ Contest
   40m   CW        7.015   VP8/G3XYZ    - Falklands
   15m   FT8      21.074   ZL2ABC       - New Zealand
```

### Daily Digest

```bash
python3 dx-monitor.py digest
```

**Output:**
```
# πŸ“‘ DX Digest - 2026-01-27

## Band Activity (last 100 spots)

   20m   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 24
   40m   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 16
   15m   β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ 12
   10m   β–ˆβ–ˆβ–ˆβ–ˆ 8

## Rare DX Spotted

   🌍 VP8/G3XYZ    40m      7.015 - Falklands Expedition
   🌍 ZL2ABC       15m     21.074 - New Zealand
```

## DX Cluster Nodes

Available clusters:
- **ea7jxh** - dx.ea7jxh.eu:7373 (Europe)
- **om0rx** - cluster.om0rx.com:7300 (Europe)
- **oh2aq** - oh2aq.kolumbus.fi:7373 (Finland)
- **ab5k** - ab5k.net:7373 (USA)
- **w6rk** - telnet.w6rk.com:7373 (USA West Coast)

## Automated Monitoring

### Real-Time Alerts (Check Every 5 Minutes)

```bash
# Add to crontab
*/5 * * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py watch --new-only --callsign YOUR_CALL >> /tmp/dx-alerts.log
```

This checks for new DX spots every 5 minutes and logs them.

### Daily Digest (9am Every Day)

```bash
# Add to crontab
0 9 * * * cd ~/clawd && python3 skills/ham-radio-dx/dx-monitor.py digest >> ~/dx-digest-$(date +\%Y-\%m-\%d).txt
```

### Telegram Notifications

Integrate with Clawdbot message tool:

```bash
# When rare DX appears, send Telegram alert
python3 dx-monitor.py watch --new-only | grep -E "(VP8|ZL|VK|ZS|P5)" && \
  echo "🚨 Rare DX spotted!" | # Send via Clawdbot message tool
```

## Example Prompts for Clawdbot

- *"Check the DX cluster for new spots"*
- *"What's active on 20 meters?"*
- *"Show me today's DX digest"*
- *"Any rare DX on the air?"*
- *"Monitor for VP8 or ZL prefixes"*

## Rare DX Prefixes to Watch

**Most Wanted:**
- **VP8** - Falkland Islands
- **VK0** - Heard Island
- **3Y0** - Bouvet Island
- **FT5** - Amsterdam & St. Paul Islands
- **P5** - North Korea
- **BS7** - Scarborough Reef

**Other Rare:**
- **ZL** - New Zealand
- **VK** - Australia
- **ZS** - South Africa
- **9G** - Ghana
- **S9** - SΓ£o TomΓ© and PrΓ­ncipe

## DX Expedition Resources

Track active expeditions:
- **NG3K Calendar:** https://www.ng3k.com/misc/adxo.html
- **DX News:** https://www.dx-world.net/
- **425 DX News:** http://www.425dxn.org/

## Band Plans

Common DX frequencies:
- **160m:** 1.830-1.840 (CW), 1.840-1.850 (Digital)
- **80m:** 3.500-3.600 (CW), 3.790-3.800 (Digital)
- **40m:** 7.000-7.040 (CW), 7.070-7.080 (Digital)
- **30m:** 10.100-10.140 (CW/Digital only)
- **20m:** 14.000-14.070 (CW), 14.070-14.100 (Digital)
- **17m:** 18.068-18.100 (CW), 18.100-18.110 (Digital)
- **15m:** 21.000-21.070 (CW), 21.070-21.120 (Digital)
- **12m:** 24.890-24.920 (CW), 24.920-24.930 (Digital)
- **10m:** 28.000-28.070 (CW), 28.070-28.120 (Digital)

## Tips

1. **Use Your Callsign** - Some clusters require valid callsigns
2. **Check Multiple Clusters** - Coverage varies by region
3. **Filter by Band** - Focus on bands you can work
4. **Track Rare Prefixes** - Set up alerts for most-wanted
5. **Morning Check** - Best DX often in early morning

## Technical Details

- **Protocol:** Telnet to DX cluster nodes
- **Format:** Standard PacketCluster/AR-Cluster format
- **State Tracking:** `/tmp/dx-monitor-state.json`
- **Dependencies:** Python 3.6+ (stdlib only)

## Future Ideas

- Band-specific filtering
- DXCC entity tracking
- Propagation prediction integration
- Log integration (check if you need that one)
- Contest mode (filter contest stations)
- FT8/FT4 integration via PSKReporter

73 and good DX! πŸ“»πŸŒ

Overview

This skill monitors DX clusters in real time to surface rare station spots, track active DX expeditions, and produce daily band activity digests for ham radio operators. It’s a lightweight Python tool that runs from the command line and can be automated via cron or integrated with messaging tools for alerts. The goal is to help operators catch rare contacts and understand daily band conditions quickly.

How this skill works

The tool connects to public DX cluster nodes over telnet and parses standard PacketCluster/AR-Cluster spot lines. It filters, de-duplicates, and tracks state in a local JSON file so only new spots generate alerts. It can produce a periodic digest summarizing band activity and highlight configured rare prefixes or expeditions.

When to use it

  • When you want live DX spots without staring at cluster terminals
  • To get automated alerts for rare prefixes or active expeditions
  • When you need a daily summary of band activity for planning operating sessions
  • To run continuous monitoring on a server or Raspberry Pi via cron
  • Before contests or DXpeditions to focus band/time windows

Best practices

  • Run watch mode with your callsign to comply with cluster requirements
  • Monitor multiple cluster nodes for better geographic coverage
  • Use new-only filtering to avoid duplicate notifications
  • Configure rare prefix list to reduce noise and surface only most-wanted stations
  • Pipe alerts into a messaging tool (Telegram, Clawdbot) for real-time notifications

Example use cases

  • Run: python3 dx-monitor.py watch --new-only --callsign YOUR_CALL to log fresh spots every five minutes
  • Schedule: add a cron job to generate a daily digest at 09:00 and save to a dated file
  • Alerting: grep for rare prefixes like VP8, ZL, VK and forward matched lines to Telegram
  • Expedition tracking: monitor specific DX expeditions and get immediate notice when they appear on common bands
  • Band analysis: run digest to see top active bands and plan which band to tune next

FAQ

What dependencies are required?

Python 3.6+ only; the script uses the standard library and connects via telnet to cluster nodes.

How does it avoid duplicate alerts?

It stores recent spot state in a local JSON file and filters out previously seen spots when new-only mode is enabled.

Can I add custom rare prefixes or clusters?

Yes. You can configure the list of prefixes to watch and specify cluster node names or addresses when starting watch mode.