EA7KLX · Ayuda de ic705suite

Diario compartido, LoTW y QRZ

Un diario para todos los clientes#

Cada cliente de ic705suite trae su diario (hamrlog, F6) en un fichero SQLite propio. Con el core en un servidor, lo normal es tener un solo diario para todos: el del portátil, el del ordenador de casa y los QSO que FT8 apunta solo en el servidor.

Para eso el diario va en una base de datos PostgreSQL en la máquina del core. El core lo abre allí y, cuando un cliente se conecta, le dice cómo llegar a él (a la dirección con la que el cliente llegó al core, y detrás del token del core). En los clientes no hay que configurar nada: solo necesitan el extra postgres (los ejecutables de Linux y Windows ya lo llevan).

Preparar PostgreSQL#

En la máquina del core (Debian, Ubuntu, Raspberry Pi OS):

sudo apt install postgresql
sudo -u postgres createuser --pwprompt ic705suite      # pide la contraseña
sudo -u postgres createdb -O ic705suite hamrlog

Guarda la contraseña en un fichero que solo lea tu usuario:

install -m 600 /dev/null ~/.config/ic705suite/logbook-db-password
nano ~/.config/ic705suite/logbook-db-password            # la contraseña, en una línea

Los clientes se conectan a la base de datos por la red, así que PostgreSQL tiene que escucharla. En /etc/postgresql/*/main/postgresql.conf:

listen_addresses = '*'

y en pg_hba.conf, una línea para tu red local:

host  hamrlog  ic705suite  192.168.1.0/24  scram-sha-256

sudo systemctl restart postgresql y listo.

Configurar el core#

En la configuración del core:

[logbook]
database = "postgresql+psycopg://ic705suite@localhost/hamrlog"
password_file = "~/.config/ic705suite/logbook-db-password"

Reinicia el core. Desde entonces el diario (F6, o ic705suite log solo) es el mismo desde cualquier cliente conectado a ese core, y FT8 apunta cada QSO una sola vez, desde el core.

Pasar el diario que ya tienes#

--copy-logbook copia un diario entero (con sus identificadores) a otra base de datos vacía:

ic705suite --copy-logbook \
  sqlite:////home/yo/.local/share/hamrlog/hamrlog.sqlite3 \
  postgresql+psycopg://ic705suite:CONTRASEÑA@raspberrypi.local/hamrlog

Hazlo antes de empezar a apuntar en el diario compartido: si el destino ya tiene algún QSO, se niega (nunca sobrescribe nada). En Windows, el diario de hamrlog está en %APPDATA%\hamrlog\hamrlog.sqlite3.

LoTW desde el core#

Con el diario compartido, el core puede firmar y subir a LoTW (de la ARRL) los QSO nuevos, apunte quien los apunte, y traer las confirmaciones.

  1. En la máquina del core: sudo apt install trustedqsl xvfb. TQSL necesita una pantalla aunque no se vea; xvfb se la da.
  2. Tu certificado de LoTW y una Station Location en ~/.tqsl de esa máquina (cópialos de un ordenador donde ya funcione TQSL).
  3. En la configuración del core:
[lotw]
location = "Casa"            # el nombre de la Station Location en TQSL
# key_password = ""          # solo si la clave de firma tiene contraseña
username = "EA7KLX"          # la cuenta de la web de LoTW, para las confirmaciones
password = "..."
# bands = ["160m", "80m", "60m", "40m", "30m", "20m", "17m", "15m", "12m", "10m"]

Cada pocos minutos sube lo pendiente y cada pocas horas trae las confirmaciones. Por defecto solo HF (bands lo cambia); nunca los QSO por repetidor, que LoTW no cuenta, ni los de otros operadores. Cada QSO guarda LOTW_QSL_SENT y LOTW_QSL_RCVD con sus fechas, como en ADIF. FT8 usa las confirmaciones para marcar las entidades ya confirmadas.

QRZ.com#

Con la clave de acceso del diario de QRZ.com (en QRZ: tu logbook > Settings > API Access Key):

[qrz]
api_key = "XXXX-XXXX-XXXX-XXXX"
# bands = [...]              # HF si no se dice otra cosa
ic705suite --qrz-status      # comprueba la clave y enseña el diario de QRZ
ic705suite --qrz-upload      # sube los QSO que no se hayan subido aún

El fichero de configuración guarda contraseñas y claves (la radio, LoTW, QRZ, el token del core): que solo lo lea tu usuario (chmod 600).

El diario en el panel de KDE Plasma#

Un applet para Plasma 6 enseña en su icono los QSO de hoy y, al abrirlo, los contadores del diario, los últimos QSO (un clic busca el indicativo en QRZ.com) y una banda y un modo para filtrarlos. Lee el mismo diario que abren los clientes (el del core, si es compartido).

Se instala desde el código de la suite:

git clone https://github.com/manuel-alcocer/ic705suite
ic705suite/packaging/plasma/install.sh

y se añade al panel como cualquier otro. En sus ajustes se dice cómo se ejecuta ic705suite y cada cuánto refresca. Por debajo usa ic705suite --logbook-json [BANDA] [MODO], que imprime el diario en JSON y sirve para cualquier otro script.