Logging SKCC Contacts with RUMlogNG

January 11, 2023

The Straight Key Century Club SKCC is a great resource for all CW operators. The provided SKCC logger works great BUT I end up moving contacts into RUMlogNG. A simple search returned the gist below. Its fairly simple to get the scripts up and running.

swalberg/SKCCDaemon.scpt

All credit goes to swalberg. I have copied and pasted the information directly from his gist.

Instructions

These two scripts work together to have RUMlogNG pull SKCC data when you enter a call sign. get_skcc gets put in a directory, and you need to mark it as executable (chmod +x get_skcc). You’ll also need to update the Applescript file to point to it, as it currently points to /Users/sean/bin/get_skcc which is almost certainly wrong for you.

The .scpt file can be run from within the script editor (double click on the script, it should be the default action). You can also export it as an application and run the application.

Running the script will open RUMlogNG. If you close RL before this script, it’ll restart RL, so you’ll want to kill off this script when you’re done.

I have the 4th user field set aside for SKCC numbers, so in Line 13 you can change that if you use a different one, or delete it entirely if you don’t want to track it. One thing to note is that RL currently doesn’t know about the SKCC data type, so when you go to apply for an award by exporting the QSOs to ADIF, you’ll need to do a search and replace for that field and change it to “skcc”.

get_skcc

#!/bin/sh

call=$1
op=$2
DB=~/Documents/SKCCLogger/skcclist.txt
DB_URL=https://www.skccgroup.com/search/skcclist.txt

# If the DB is a day old or less then update it
file=$(find $DB -mmin -1440)
if [ -z "$file" ]; then
  curl -so $DB $DB_URL
fi

case $op in
  nr)
    awk -F\| "\$2==\"$call\" { print \$1 }" < $DB
    ;;
  name)
    awk -F\| "\$2==\"$call\" { print \$3 }" < $DB
    ;;
  qth)
    awk -F\| "\$2==\"$call\" { print \$4 }" < $DB
    ;;
  *)
    awk -F\| "\$2==\"$call\" { print }" < $DB
    ;;
esac

SKCCDaemon.scpt

Make sure you update the 3 path variables in this script with the path to your get_skcc file!

set lastCall to ""
repeat
	tell application "RUMlogNG"
		set currentCall to callsign
		if (lastCall is not equal to currentCall) then
			set lastCall to currentCall
			set skcc_nr to do shell script "/Users/<your_username>/bin/get_skcc " & currentCall & " nr"
			set their_name to do shell script "/Users/<your_username>/bin/get_skcc " & currentCall & " name"
			if skcc_nr is not "" then
				set nick to their_name
				set qth to do shell script "/Users/<your_username>/bin/get_skcc " & currentCall & " qth"
				set note to "SKCC: " & skcc_nr & "|" & their_name
				set userField_4 to skcc_nr
			end if
		end if
	end tell
	delay 1
end repeat
Profile picture

Written by Justin Calvert Ham radio operator, spatial software developer, and weather watcher.

Mastodon | Youtube | instagram | Weather | QRZ