Not1MM ist ein Rennprotokoll für Linux und macOS, das von Mike Bridak, K6GTE, entwickelt wurde. Das Programm ist in Python 3.11+ geschrieben, die grafische Oberfläche basiert auf der Qt6-Bibliothek und die Daten werden in der SQLite-Datenbank gespeichert. Es wird unter der GPLv3-Lizenz vertrieben und unterstützt laut GitHub-Liste mehr als 60 Rennen. Die Entwicklung ist sehr aktiv, die aktuelle Version zum Zeitpunkt des Schreibens ist mit dem 26.10.28 gekennzeichnet.
Sie werden im Artikel lesen
Herkunft: persönliches Projekt eines Rentners
K6GTE verheimlicht nicht, dass das Programm in erster Linie zu seiner eigenen Unterhaltung erstellt wurde. Nach mehr als 35 Jahren in der Telekommunikation (GTE, Verizon, Frontier) ging er in den Ruhestand und suchte nach etwas Freizeit. So lässig Kandidat Er fand keine Linux-Rennsoftware, die zu ihm passte. Er erwähnt es jedoch Pinguin, das er für robust und ausgereift hält, aber es war nicht das Programm für ihn.
Die Benutzeroberfläche ist eindeutig vom Programm N1MM Logger+ inspiriert. Der Autor betont jedoch, dass Not1MM nicht N1MM ist und nicht für die Zusammenarbeit mit diesem gedacht ist. Es sendet zwar Pakete im N1MM-Format, allerdings nur für Scoreboards, die beispielsweise auf Node-RED basieren. Die primäre Plattform ist Linux und macOS, Windows und BSD werden vom Autor nicht direkt unterstützt.
„Der weltweit führende unvollendete Wettbewerbslogger.“ Laut der Tochter des Autors, Corina.
Video: Not1MM im Interview mit dem Autor
Episode 507 des Linux in the Ham Shack-Podcasts bringt die Motivation und das Innenleben des Programms näher. Dies ist ein ausführliches Interview direkt mit K6GTE. Bei der Aufnahme handelt es sich nur um Audio, sodass Sie sie während der Installation anhören können.
Installation mit UV
Am einfachsten ist die Installation mit einem Befehl im Terminal: curl -LsSf uvx.sh/not1mm/install.sh | sh. Die zweite Möglichkeit besteht darin, zunächst den UV-Paketmanager von Astral zu installieren und das Programm mit dem Befehl uvx not1mm@latest auszuführen. Eine dauerhafte Installation oder Aktualisierung erfolgt über das UV-Tool install not1mm@latest.
uv lädt beim ersten Start die neueste Version herunter, erstellt eine virtuelle Python-Umgebung, fügt die erforderlichen Bibliotheken hinzu und speichert alles zwischen. Der erste Start dauert etwa eine Minute, die anderen gehen schnell und das Programm sucht bei jedem Start nach Updates.
Eine virtuelle Umgebung hat einen praktischen Vorteil. Bei älteren Distributionen mit Python 3.10 besteht keine Notwendigkeit, das System-Python zu ändern, sondern nur uvx –python 3.14 not1mm@latest. Es ist auch möglich, auf eine ältere Version zurückzugreifen, wenn das letzte Update einen Fehler enthält, zum Beispiel uvx –python 3.11 not1mm==23.5.19. Eine Alternative ist ein Flatpak von GitHub Releases oder die Installation über pipx.
Vor der Installation muss Folgendes über den Paketmanager der Distribution hinzugefügt werden:
- Python 3.11+ und PyQt6,
- libportaudio2,
- je nach Distribution auch libxcb-cursor0, libxslt-devel und libxml2-devel.
SQLite-Datenbank
Beim ersten Start erstellt das Programm die Datenbank ham.db. Sie finden es in dem durch die Variable XDG_DATA_HOME angegebenen Verzeichnis, ansonsten in ~/.local/share/not1mm. Die Konfiguration befindet sich in ~/.config/not1mm.
Eine Datenbank enthält Stationseinstellungen und beliebig viele Rennprotokolle. Der Autor lässt beide Ansätze zu: eine lebenslange Datenbank mit Hunderten von Rennen oder eine neue Datenbank für jedes Rennen. Eine neue wird über Datei > Neue Datenbank erstellt, eine bestehende wird über Datei > Datenbank öffnen geöffnet. Da es sich um eine einzelne Datei handelt, ist die Sicherung einfach.
Einstellung von Station, CTY und MASTER.SCP
Nach dem ersten Start oder nach dem Erstellen einer neuen Datenbank öffnet sich der Dialog Stationseinstellungen. Neben dem Rufzeichen und dem Operator enthält es den Locator (4 bis 6 Zeichen), die CQ- und ITU-Zone, geografische Koordinaten, Leistung, Antenne und Antennenhöhe sowie Adressdaten für den Cabrillo-Dateikopf. Sie können später über Datei > Stationseinstellungen geändert werden.

Pred každými pretekmi sa oplatí aktualizovať súbory CTY a MASTER.SCP über DATEI > CTY aktualisieren und DATEI > MASTER.SCP aktualisieren. Aus cty.dat ermittelt das Programm das Land, die Entfernung und Azimut k protistanici. Vyhľadávanie značiek podporuje QRZ.com (erfordert kostenpflichtiges Abonnement) ebenfalls HamQTH. Über QRZ.com kann das Programm auch einen genaueren Schalterstations-Locator finden.
CAT- und CW-Tastung
Das Programm steuert den Transceiver über rigctld (Standard 127.0.0.1:4532) oder flrig (127.0.0.1:12345). In der README-Datei wird auch die Unterstützung des TCI-Protokolls erwähnt. Der Verbindungsstatus wird durch die Farbe des kleinen Transceiver-Symbols angezeigt: Grün bedeutet verbunden, rot bedeutet nicht verbunden.
Für CW stehen drei Pfade zur Verfügung:
- cwdaemon auf Port 6789, in Versionen für den seriellen oder parallelen Port oder für den K1EL-Chip,
- pywinkeyer auf Port 8000, der Client des Autors für WinKeyer (unter macOS SwiftKeyer),
- Keying über CAT mit rigctld, sofern das Radio dies unterstützt.
In den Einstellungen wird der Schritt der Geschwindigkeitsänderung mit den PgUp/PgDn-Tasten (1 bis 10 WPM), die Art des Sendens des Berichts (5NN, 599 oder ENN) und die Ausrichtung der Sequenznummern festgelegt. Es gibt auch abgekürzte Zahlen A, N und T anstelle von 1, 9 und 0. Achtung für ältere Versionen: Hamlib hatte vor Version 4.6.3 Probleme mit der CW-Übertragung und der Geschwindigkeitseinstellung.
DX-Cluster- und Bandkarte

Auf der Registerkarte „Cluster“ werden der AR-Cluster-Server, der Port und der Spotfilter eingestellt. Im OPEN-Modus kommen Spots von Spottern aus der ganzen Welt. Für einen europäischen Sender ist es sinnvoller, sie mit einem Filter einzuschränken, zum Beispiel set/dx/filter spottercont=eu.
Das Bandmap-Fenster sortiert Spots und bearbeitete Stationen nach Frequenz. Wenn der CAT eingeschaltet ist, verfolgt er den VFO, was durch das grüne Dreieck angezeigt wird, und der blaue Balken zeigt die Breite des Empfangsfilters an. Durch Klicken auf die Stelle wird das Radio neu abgestimmt und das Tag ausgefüllt. Bearbeitete Stationen sind grau, das Symbol hinter der Markierung zeigt den Modus an und die Markierungen [P] und [S] zeigen POTA und SOTA an.
Ältere Pythons müssen dem Handbuch zufolge bei hoher Auslastung nicht mit dem Datenfluss aus dem Cluster mithalten, und die Bandbreitenzuordnung widerspricht der Realität. Die Lösung besteht darin, das Programm mit neuerem Python über UV auszuführen.
Nicht 1 MM Fenster und Tools
Das Fenster „Teilweise prüfen“ bietet beim Eingeben eines Tags Übereinstimmungen aus drei Quellen an. Z MASTER.SCP zeigt Kandidaten mit mindestens drei übereinstimmenden Zeichen vom Anfang des Tags, aus seinem eigenen Protokoll und von den letzten Übereinstimmungsstellen beliebiger Länge an. Klicken Sie, um die Markierung auf das Feld zu übertragen.
Die DXCC- und Zonenfenster zeigen die bearbeiteten Einheiten und CQ- oder ITU-Zonen nach Band. Bei der Eingabe einer Marke können diese automatisch in die entsprechende Zeile wechseln. Das Rate-Fenster zeigt die Verbindungsrate an.
Das Rotatorfenster befindet sich noch in der Entwicklung. Es stellt eine Verbindung zu rotctld unter 127.0.0.1:4533 her und zeigt sowohl den aktuellen Antennenazimut als auch die Peilung zur angegebenen Station an. Mit der Schaltfläche „Bewegen“ wird die Antenne auf das Ziel ausgerichtet. Klicken Sie mit der rechten Maustaste, um eine lange Strecke zurückzulegen. Außerdem sind „Stopp“, „Parken“ und „Weltseiten“ verfügbar.
Makros und ESM
Makros auf den Tasten F1 bis F12 werden über Datei > Makros bearbeiten im Systemtexteditor bearbeitet. Jedes Rennen und jeder Modus (CW, SSB, RTTY) hat seine eigene Datei. Änderungen werden beim Wechsel zwischen Run und S&P berücksichtigt. Es stehen Variablen wie {MYCALL}, {HISCALL}, {SNT}, {EXCH}, {LOGIT} oder {SPOT} zur Verfügung, das #-Zeichen fügt eine Sequenznummer ein.
Für SSB gelten die Makros {VOICE1} bis {VOICE10} für Radio-Sprachspeicher über rigctld- oder WAV-Dateien, zum Beispiel [cq] für cq.wav. Die enthaltenen phonetischen Aufzeichnungen der NATO können sowohl die Marke als auch den Bericht buchstabieren. Der Autor empfiehlt jedoch, die Standardaufnahmen durch die eigene Stimme zu ersetzen. Mit dem Präfix RI: kann auch ein direkter CAT/CI-V-Befehl an das Funkgerät gesendet werden.
Die ESM-Funktion (Enter Sends Message) ist unter Konfigurationseinstellungen > Optionen aktiviert. Die Eingabetaste sendet das Makro basierend auf dem, was eingegeben wurde, und die Leertaste bewegt sich zwischen den Feldern. Im Run-Modus sendet es CQ, nach Eingabe der Marke seine Marke mit Austausch, bei leerem Austausch AGN und schließlich TU QRZ mit Verbindungsschreiben. Bei S&P sendet es seine eigene Marke, sofern keine AGN-Börse vorhanden ist, und nach der Eingabe eine eigene Börse mit einer Note. Die Funktionstasten müssen in beiden Modi die gleiche Funktion haben.
Digitale Mode in Not1MM
Verbindungen von WSJT-X werden vom Programm per UDP-Multicast an der Adresse 224.0.0.1:2237 abgefangen, was ohne weitere Konfiguration funktioniert. Es verfolgt Verbindungen von Fldigi über UDP zu 127.0.0.1:9876. Es sendet die Tasten F1 bis F12 über die XMLRPC-Schnittstelle an fldigi, wodurch fldigi auf Broadcast umgeschaltet wird, der Text gesendet wird und ^r mit der Rückkehr zum Empfang verbunden wird. XMLRPC muss in fldigi aktiviert sein, Generic Contest muss unter WETTBEWERBE > Allgemein ausgewählt sein und Text Capture Order muss auf CALL Exchange eingestellt sein.
Multi-Multi mit Renfield-Server
Der aktuelle Entwicklungsschwerpunkt liegt auf dem Betrieb von Multi-Multi. Benötigt wird ein Begleitprojekt, Renfield, eine schlanke Terminalanwendung, die idealerweise auf einem separaten Computer im selben Netzwerk läuft, beispielsweise einem Raspberry Pi. Es verwaltet die Datenbank, weist Sequenznummern zu, prüft auf Duplikate und generiert Cabrillo.
Auf Renncomputern wird im Reiter „Gruppe“ eine Verbindung zum Server ausgewählt und eine Station als Hauptstation informiert den Server über das laufende Rennen. Wenn in den Renneinstellungen ein MULTI-OP-Operator und eine andere Senderkategorie als ONE oder SWL vorhanden ist, fordert Not1MM die Nummern und die Duplikatprüfung von Renfield an. Renfield kann auch als automatische Protokollsicherung für den Einzelbetreiber dienen. Gleichzeitig gibt der Autor offen zu, dass er keine praktischen Erfahrungen mit Multi-Multi hat, daher ist es ratsam, das System vor dem sofortigen Einsatz auszuprobieren.
Cabrillo, ADIF und Umrechnung von Multiplikatoren
Der Punktestand wird nach jedem Eintrag fortlaufend aktualisiert. Wenn jedoch eine fehlerhafte Verbindung korrigiert wird, kann der Multiplikator hinzugefügt oder entfernt werden. Hierzu dient die Funktion „Mults neu berechnen“ im Menü „Misc“, anschließend müssen die Cabrillo- und ADIF-Dateien erneut generiert werden.

Die Ausgabe für den Evaluator wird über Datei > Cabrillo generieren und Datei > ADIF generieren erstellt. Die Dateien werden im Home-Verzeichnis mit einem Namen in der Form brand_race_date_time mit der Erweiterung .log oder .adi gespeichert.
Abschluss
Not1MM je pre linuxových contestmanov jednou z mála alternatív k programom viazaným na Windows. Die N1MM-ähnliche Schnittstelle erleichtert den Übergang und Funktionen wie ESM, Check Partial, Band Map oder WSJT-X-Unterstützung sowie Fldigi decken den gängigen Rennbetrieb ab. Der Autor gibt humorvoll zu, dass er „in der Produktion testet“, daher lohnt es sich, vor einem wichtigen Rennen das Programm auszuprobieren und einen Rollback-Befehl zur Hand zu haben. Der Quellcode, das PDF-Benutzerhandbuch und das Änderungsprotokoll sind unter frei verfügbar GitHub-Projekt mbridak/not1mm.
