-
Notifications
You must be signed in to change notification settings - Fork 20
Notifications
QLog can notify a third-party application(s) via UDP messages. Exchanged information include QSO operation (insert/update/delete), DX Cluster Spots, WSJTX Spots etc.
The notification message is sent via UDP packets in JSON format. A basic message structure is shown below
{
"appid":"QLog",
"msgtype":"QSO",
"time":1647197319251,
"data":{},
"logid":"{2046e323-b340-4634-8d52-4e70a4231978}"
}
Field Identifier | Type | Description |
---|---|---|
appid |
String | an application ID of the sender. Always "QLog" |
msgtype |
String | the Message Type. Values: dxspot - the message is sent when QLog receives a new DX Spot from DX ClusterQSO - the message is sent when QSO (Contact) is created/updated/deletedspotalert - the message is sent when an incoming spot matches an user-defined Alert rule(s).toallspot - the message is sent when QLog receives a new TO ALL announcement from DX Clusterwcyspot - the message is sent when QLog receives a new WCY message from DX Clusterwsjtxcqspot - the message is sent when QLog receives a new WSJTX Spot with the CQ messageswwvspot - the message is sent when QLog receives a new WWV message from DX Cluster |
time |
Number | time when the message was sent from QLog. The field contains a number of milliseconds from 1.1.1970. |
data |
JSON Object | specific data depends on the Message Type.See chapter below for detailed description of the field structure. |
logid |
String | UUID of the log database. The Unique number for the log file |
Message Type : "QSO" Description: QSO Notification message is sent in following cases:
- when a new QSO is inserted to the log
- when QSO is updated by the operator
- when QSO is deleted by the operator
Destination IP Address: Settings
→ Network
→ QSO Changes
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
operation |
String | QSO operation description. The following operations are emitted: insert - when a new QSO is inserted to the log update - when QSO is updated by the operator delete - when QSO is deleted by the operator |
rowid |
Number | a unique ID of the record in the log file |
type |
String | the type of the "value" field. Currently, only adif type is supported. |
value |
String | a contact record in the format defined by "type" format. if operator = insert then the field contains a new record if operation = update then the field contains an updated record. if operation = delete then the field contains an old(deleted) record.If a contact record is updated and multiple contact fields are updated then QLog generates 1 Notification message to 1 updated contact field. It means that if an operator updates 2 contact's fields (or 1 field on which another field depends) then 2 Notifications messages are generated |
An example:
{
"appid":"QLog",
"data":{
"operation":"insert",
"rowid":355,
"type":"adif",
"value":"<call:7>OK1TEST<qso_date:8:D>20220320<time_on:6:T>183536<qso_date_off:8:D>20220320<time_off:6:T>183557<rst_rcvd:3>599<rst_sent:3>599<name:12>Testing Name<qth:6>Prague<gridsquare:6>JO70GB<cqz:2>15<ituz:2>28<freq:8:N>10.12649<band:3>30m<mode:2>CW<cont:2>EU<dxcc:3>503<country:14>Czech Republic<qsl_rcvd:1>N<qsl_sent:1>N<lotw_qsl_rcvd:1>N<lotw_qsl_sent:1>N<a_index:1>5<band_rx:3>30m<distance:17>9.266243887046823<eqsl_qsl_rcvd:1>N<eqsl_qsl_sent:1>N<freq_rx:8>10.12649<hrdlog_qso_upload_status:1>N<k_index:4>1.33<my_city:5>PRAHA<my_gridsquare:6>JO70GD<my_rig:9>moje_nove<operator:5>LADAS<sfi:2>94<station_callsign:6>OK1MLG<eor>"
},
"logid":"{2046e323-b340-4634-8d52-4e70a4231978}",
"msgtype":"qso",
"time":1647801358067
}
Message Type :"dxspot" Description: DX Spot Notification message is sent when QLog is connected to DX Cluster and DX Spot is received from the server. Log resends all received messages - user filter has no impact on the notification messages.
Destination IP Address: Settings
→ Network
→ DX Spots
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
band |
String | Spot Band |
comment |
String | The comment from the spot |
dx |
JSON Object | JSON object contains details about the reported DX. Details below. |
freq |
Number | The post frequency |
mode |
String | The spot modes Values: PHONE DIGI CW FT8
|
rcvtime |
String | time when spot was received in format YYYYMMDD HH:MI:SS (in UTC) |
spotter |
JSON Object | JSON object contains details about the spotter. Details below |
status |
String | DX Spot status based on the record in the log. Following statuses can be emitted: newentity - totally new DXCC in the lognewbandmode - DXCC worked but a totally new band and totally new mode.newband - DXCC worked with particular mode but a new bandnewmode - DXCC worked on the band but a new mode in the lognewslot - DXCC worked on the band but a new mode not the bandworked - already workedconfirmed - confirmed by paper QSL or LoTWunknown - an internal query error |
DX/Spotter Fields Structure:
Field Identifier | Type | Description |
---|---|---|
call |
String | the DX/Spotter callsign |
cont |
String | the DX/Spotter continent |
country |
String | the DX/Spotter country |
cqz |
Number | the DX/Spotter CQ Zone |
dxcc |
Number | the DX/Spotter DXCC Entity number |
ituz |
Number | the DX/Spotter ITU Zone |
member |
JSON Array | JSON Array contains the names of club DX is a member of. (Only for DX Field) |
pfx |
String | the DX/Spotter prefix |
utcoffset |
Number | the DX/Spotter Timezone (UTC offset) |
An example:
{
"appid": "QLog",
"data": {
"band": "40m",
"comment": "tnx qso",
"dx": {
"call": "YB0AR",
"cont": "OC",
"country": "Indonesia",
"cqz": 28,
"dxcc": 327,
"ituz": 54,
"member": ["LoTW", "eQSLAG"]
"pfx": "YB",
"utcoffset": -7
},
"freq": "7.1880",
"mode": "PHONE",
"rcvtime": "20220316 20:04:30",
"spotter": {
"call": "G0DEF",
"cont": "EU",
"country": "England",
"cqz": 14,
"dxcc": 223,
"ituz": 27,
"pfx": "G",
"utcoffset": 0
},
"status": "newentity"
},
"logid":"{2046e323-b340-4634-8d52-4e70a4231978}",
"msgtype": "dxspot",
"time": 1647461070837
}
Message Type :"spotalert" Description: Spot Alert Notification message is sent when incoming spot (WSJTX or DXC) matches user-defined Alert rules.
Destination IP Address: Settings
→ Network
→ Spots Alert
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
band |
String | Spot Band |
comment |
String | The comment from the spot |
dx |
JSON Object | JSON object contains details about the reported DX. Details below. |
freq |
Number | The post frequency |
mode |
String | The spot modes Values: PHONE DIGI CW FT8
|
rcvtime |
String | time when spot was received in format YYYYMMDD HH:MI:SS (in UTC) |
rules |
JSON Array | JSON Array contains the names of all the rules for which the match was evaluated. |
spotter |
JSON Object | JSON object contains details about the spotter. Details below. In case of of spots from WSJTX source, the field contains information about your own station. |
status |
String | DX Spot status based on the record in the log. Following statuses can be emitted: newentity - totally new DXCC in the lognewbandmode - DXCC worked but a totally new band and totally new mode.newband - DXCC worked with particular mode but a new bandnewmode - DXCC worked on the band but a new mode in the lognewslot - DXCC worked on the band but a new mode not the bandworked - already workedconfirmed - confirmed by paper QSL or LoTWunknown - an internal query error |
DX/Spotter Fields Structure:
Field Identifier | Type | Description |
---|---|---|
call |
String | the DX/Spotter callsign |
cont |
String | the DX/Spotter continent |
country |
String | the DX/Spotter country |
cqz |
Number | the DX/Spotter CQ Zone |
dxcc |
Number | the DX/Spotter DXCC Entity number |
ituz |
Number | the DX/Spotter ITU Zone |
member |
JSON Array | JSON Array contains the names of club DX is a member of. (Only for DX Field) |
pfx |
String | the DX/Spotter prefix |
utcoffset |
Number | the DX/Spotter Timezone (UTC offset) |
An example:
{
"appid":"QLog",
"data":{
"band":"17m",
"comment":"CW 7 dB 25 WPM CQ ",
"dx":{
"call":"ZL3CW",
"cont":"OC",
"country":"New Zealand",
"cqz":32,
"dxcc":170,
"ituz":60,
"member": ["LOTW", "eQSLAG"]
"pfx":"ZL",
"utcoffset":-12
},
"freq":18.073,
"mode":"CW",
"rcvtime":"20220510 08:42:34",
"rules":[
"rule1",
"rule2"
],
"spotter":{
"call":"SM6FMB",
"cont":"EU",
"country":"Sweden",
"cqz":14,
"dxcc":284,
"ituz":18,
"pfx":"SM",
"utcoffset":-1
},
"status":"newentity"
},
"logid":"{2046e323-b340-4634-8d52-4e70a4231978}",
"msgtype":"spotalert",
"time":1652172154472
}
Message Type : "wsjtxcqspot" Description: WSJTX CQ Spot Notification message is sent when QLog receives the CQ Spot from WSJT-X application. QLog sends only CQ Spot, the rest of WSJT-X information are not resent. Please, use WSJTX Forward option to obtain a full set of raw WSJTX messages.
Destination IP Address: Settings
→ Network
→ WSJTX CQ Spots
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
band |
String | Spot Band |
comment |
String | The comment from the spot |
dx |
JSON Object | JSON object contains details about the reported DX. Details below. |
freq |
Number | The post frequency |
mode |
String | Mode string from WSJTX |
rcvtime |
String | time when spot was received in format YYYYMMDD HH:MI:SS (in UTC) |
status |
String | DX Spot status based on the record in the log. Following statuses can be emitted: newentity - totally new DXCC in the lognewbandmode - DXCC worked but a totally new band and totally new mode.newband - DXCC worked with particular mode but a new bandnewmode - DXCC worked on the band but a new mode in the lognewslot - DXCC worked on the band but a new mode not the bandworked - already workedconfirmed - confirmed by paper QSL or LoTWunknown - an internal query error |
"dx" Fields Structure:
Field Identifier | Type | Description |
---|---|---|
call |
String | the DX callsign |
cont |
String | the DX continent |
country |
String | the DX country |
cqz |
Number | the DX CQ Zone |
dxcc |
Number | the DX DXCC Entity number |
ituz |
Number | the DX ITU Zone |
member |
JSON Array | JSON Array contains the names of club DX is a member of. (Only for DX Field) |
pfx |
String | the DX prefix |
utcoffset |
Number | the DX Timezone (UTC offset) |
An example:
{
"appid":"QLog",
"data":{
"band":"80m",
"comment":"CQ OK1MLG JO70",
"dx":{
"call":"OK1MLG",
"cont":"EU",
"country":"Europe",
"cqz":15,
"dxcc":503,
"grid":"JO70",
"ituz":28,
"member":["LOTW", "eQSLAG"]
"pfx":"OK",
"utcoffset":-2
},
"freq":"3.5730",
"mode":"FT8",
"rcvtime":"20220318 17:04:29",
"status":"newband"
},
"logid":"{2046e323-b340-4634-8d52-4e70a4231978}",
"msgtype":"wsjtxcqspot",
"time":1647623069705
}
Message Type : "wcyspot" Description: WCY Spot Notification message is sent when QLog receives the WCY Spot from currently connected DX Cluster.
Destination IP Address: Settings
→ Network
→ DX Spots
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
A |
Number | A Index |
Au |
String | Aurora Status (no , aurora , strong ) |
GMF |
String | Geomagnetic Field qui - quietact - activemin - minor stormmaj - major storm sev - severe stormmag - magstorm in progresswar - warning conditionsnil - no info available |
K |
Number | K Index |
R |
Number | Sunspot Number |
SA |
String | San Activityqui - quieteru - eruptiveact - activemaj - major flarepro - proton flarewar - warning conditionsnil - no info available |
SFI |
Number | Solar Flux Index |
expK |
Number | expected K Index for next hour |
rcvtime |
String | time when spot was received in format YYYYMMDD HH:MI:SS (in UTC) |
An example:
{
"appid":"QLog",
"data":{
"A":13,
"Au":"no",
"GMF":"act",
"K":3,
"R":0,
"SA":"qui",
"SFI":68,
"expK":3,
"rcvtime":"20220923 11:29:16"
},
"logid":"{c804ab21-c1bf-4b7f-90a6-8927bdb10dd0}",
"msgtype":"wcyspot",
"time":1663932556260
}
Message Type : "wwvspot" Description: WWV Spot Notification message is sent when QLog receives the WWV Spot from currently connected DX Cluster.
Destination IP Address: Settings
→ Network
→ DX Spots
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
A |
Number | A Index |
Info1 |
String | Information 1 |
Info2 |
String | Information 2 |
K |
Number | K Index |
SFI |
Number | Solar Flux Index |
rcvtime |
String | time when spot was received in format YYYYMMDD HH:MI:SS (in UTC) |
An example:
{
"appid":"QLog",
"data":{
"A":12,
"Info1":"No Storms",
"Info2":"No Storms",
"K":2,
"SFI":68,
"rcvtime":"20220923 11:29:16"
},
"logid":"{c804ab21-c1bf-4b7f-90a6-8927bdb10dd0}",
"msgtype":"wwvspot",
"time":1663932556294
}
Message Type : "wwvspot" Description: To ALL Spot Notification message is sent when QLog receives to ALL announcement from currently connected DX Cluster.
Destination IP Address: Settings
→ Network
→ DX Spots
"Data" Field Structure:
Field Identifier | Type | Description |
---|---|---|
message |
QString | annoncement |
rcvtime |
String | time when spot was received in format YYYYMMDD HH:MI:SS (in UTC) |
spotter |
JSON Object | JSON object contains details about the spotter. Details below. In case of of spots from WSJTX source, the field contains information about your own station. |
Spotter Fields Structure:
Field Identifier | Type | Description |
---|---|---|
call |
String | the DX/Spotter callsign |
cont |
String | the DX/Spotter continent |
country |
String | the DX/Spotter country |
cqz |
Number | the DX/Spotter CQ Zone |
dxcc |
Number | the DX/Spotter DXCC Entity number |
ituz |
Number | the DX/Spotter ITU Zone |
pfx |
String | the DX/Spotter prefix |
utcoffset |
Number | the DX/Spotter Timezone (UTC offset) |
An example:
{
"appid":"QLog",
"data":{
"message":"GB7RDX New Users Welcome. cluster.g3ldi.co.uk Port 7000",
"rcvtime":"20220923 11:29:16",
"spotter":{
"call":"G3LDI",
"cont":"EU",
"country":"England",
"cqz":14,
"dxcc":223,
"ituz":27,
"pfx":"G",
"utcoffset":0
}
},
"logid":"{c804ab21-c1bf-4b7f-90a6-8927bdb10dd0}",
"msgtype":"toallspot",
"time":1663932556327
}