Use this to get the current state of all the radiosondes then use the realtime API to access streaming data. Do not regularly poll this endpoint, it is rate limited.
produces:
- "application/json"
parameters:
- in:query
name:duration
description:How far back in time to receive data from. A shorter time period will result is higher time resolution data.
required:false
type:string
enum:
- "0"
- "15s"
- "1m"
- "30m"
- "1h"
- "3h"
- "6h"
- "1d"
- "3d"
- in:query
name:payload_callsign
description:Specific callsign to query (if wanted). Requests for data for a single sonde will return the highest time resolution data available.
required:false
type:string
- in:query
name:datetime
description:"End time to query as an ISO-8601 time string. Defaults to now. Example: `2021-02-02T11:27:38.634Z`"
required:false
type:string
format:date-time
responses:
200:
description:Returns a dictionary keyed by serial number of a dictionary of times with SondeHub Telemetry values
Use this to get the current state of all the radiosondes then use the realtime API to access streaming data. Do not regularly poll this endpoint, it is rate limited.
produces:
- "application/json"
parameters:
- in:query
name:last
description:"How far back to search in seconds. Defaults to 24hrs"
type:number
- in:query
name:datetime
description:"End time to query as an ISO-8601 time string. Defaults to now. Example: `2021-02-02T11:27:38.634Z`"
required:false
type:string
format:date-time
- in:path
name:payload_callsign
description:Specific callsign to query (if wanted). Requests for data for a single sonde will return the highest time resolution data available.
description:<day-name>, <day> <month> <year> <hour>:<minute>:<second> UTC as per RFC7231. This is used to calculate receiver time offset for correcting clients that have the incorrect time.
Use this to get the current state of all the radiosondes then use the realtime API to access streaming data. Do not regularly poll this endpoint, it is rate limited.
description:Returns a time-sorted array of SondeHub Telemetry objects. If no data for the requested serial number is available, the array will be empty.
summary:'Allows a station to upload their station information to the SondeHub database, for display on the SondeHub Tracker map. This endpoint can also be used to upload chase-car positions by setting the "mobile" setting to True'
tags:
- amateur
consumes:
- "application/json"
produces:
- "text/plain"
parameters:
- in:body
required:true
name:body
schema:
$ref:"#/definitions/listener"
responses:
200:
description:Station Position successfully uploaded.
/amateur/listeners/telemetry:
get:
summary:Request Listener Telemetry Data
tags:
- amateur
description:>
Use this to get the current listener (chase car / station) telemetry
produces:
- "application/json"
parameters:
- in:query
name:duration
description:How far back in time to receive data from. A shorter time period will result is higher time resolution data.
required:false
type:string
enum:
- "3h"
- "6h"
- "1d"
- "3d"
- in:query
name:uploader_callsign
description:Specific callsign number to query (if wanted). Requests for data for a single uploader will return the highest time resolution data available.
required:false
type:string
- in:query
name:datetime
description:"End time to query as an ISO-8601 time string. Defaults to now. Example: `2021-02-02T11:27:38.634Z`"
required:false
type:string
format:date-time
responses:
200:
description:Returns a dictionary keyed by uploader_callsign of a dictionary of times with listener data.
summary:'Allows a station to upload their station information to the SondeHub database, for display on the SondeHub Tracker map. This endpoint can also be used to upload chase-car positions by setting the "mobile" setting to True'
Use this to get the current listener (chase car / station) telemetry
produces:
- "application/json"
parameters:
- in:query
name:duration
description:How far back in time to receive data from. A shorter time period will result is higher time resolution data.
required:false
type:string
enum:
- "3h"
- "6h"
- "1d"
- "3d"
- in:query
name:uploader_callsign
description:Specific callsign number to query (if wanted). Requests for data for a single uploader will return the highest time resolution data available.
required:false
type:string
- in:query
name:datetime
description:"End time to query as an ISO-8601 time string. Defaults to now. Example: `2021-02-02T11:27:38.634Z`"
required:false
type:string
format:date-time
responses:
200:
description:Returns a dictionary keyed by uploader_callsign of a dictionary of times with listener data.
summary:Adds a recovery object to the SondeHub database to indicate if a radiosonde was recovered
consumes:
- "application/json"
produces:
- "text/plain"
parameters:
- in:header
name:Date
description:<day-name>, <day> <month> <year> <hour>:<minute>:<second> UTC as per RFC7231. This is used to calculate receiver time offset for correcting clients that have the incorrect time.
required:true
type:string
format:date-time
- in:header
name:User-Agent
type:string
description:"The software and version performing the telemetry upload, eg: `autorx-1.4.1-beta5`"
- in:body
required:true
name:body
schema:
$ref:"#/definitions/recovery_object"
responses:
200:
description:Recovery logged
500:
description:Other Server error (including malformed data submissions)
A list of strings where each string represents a UTC launch schedule created in the following format:
0:00:00(day:hour:minute)
When day is set to 0 it means that the following launch time occurs every day
When day is set to 1-7 it means the following launch occurs weekly on that day (Monday - Sunday)
Hour is expressed in 24 hour time and we stick with 3 hour windows to keep things simple so 03, 06, 09, 12, 15, 18, 21, 24
Minutes can be any value between 0 and 60 but we always leave this value at 00 (in the tracker we subtract 45 minutes from the time to generate predictions).
They can either be provided as a single list of strings containing one or more codes:"rs_types": ["41","07"]
If the sondes always transmit on the same known frequency this can also be provided by having each code within a nested list containing the code and frequency:"rs_types": [["41","404.300"],["07","404.200"]]
Arbitrary string. Uploader position information and other metadata will be handled separately, but will need to match this callsign to enable calculation of listener statistics.
time_received:
description:>
The time the telemetry packet was received. UTC time in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format.
Radiosonde Serial Number. Where possible this should be in the format which matches the sticker/label on the radiosonde itself
iMet-1/iMet-4 sondes do not provide a serial number, and so auto_rx [generates](https://github.com/projecthorus/radiosonde_auto_rx/wiki/Model-Specific-Notes#intermet-imet-1--imet-4) a serial number based on launch time and transmit frequency. DFM sondes do not regularly transmit their serial number, and so data from these sondes should not be uploaded before the serial number is known.
Frame Number, ideally unique over the entire flight. Should be taken from the telemetry. For some radiosondes (DFM, M10, M20), the datetime (converted to a unix time) is used instead of the provided frame number.
Date/Time from the sonde's GPS, provided in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format
Some sondes (e.g. iMet, LMS6) do not provide the date portion of the timestamp. In this situation, the date portion should be added on by the receiver. An example of how to handle this problem is [available here](https://github.com/projecthorus/radiosonde_auto_rx/blob/master/auto_rx/autorx/sonde_specific.py#L13).
description:SondeHub amateur balloon telemetry format
type:"object"
required:
- software_name
- software_version
- uploader_callsign
- time_received
- payload_callsign
- datetime
- lat
- lon
- alt
- upload_time
properties:
dev:
description:>
If this field is set then the payload will not be uploaded to the database. This is useful for development and testing.
type:"string"
software_name:
description:>
Name of the decoding software
e.g. 'horusgui'
type:"string"
software_version:
description:>
Version of the decoding software
e.g. '1.4.0', '20210115'
type:"string"
uploader_callsign:
type:"string"
description:>
Callsign of the uploader
Arbitrary string. Uploader position information and other metadata will be handled separately, but will need to match this callsign to enable calculation of listener statistics.
time_received:
description:>
The time the telemetry packet was received. UTC time in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format.
type:"string"
format:"date-time"
payload_callsign:
type:"string"
description:>
Callsign for the payload
datetime:
type:"string"
format:"date-time"
description:>
Date/Time from the sonde's GPS, provided in YYYY-MM-DDTHH:MM:SS.SSSSSSZ format
Some sondes (e.g. iMet, LMS6) do not provide the date portion of the timestamp. In this situation, the date portion should be added on by the receiver. An example of how to handle this problem is [available here](https://github.com/projecthorus/radiosonde_auto_rx/blob/master/auto_rx/autorx/sonde_specific.py#L13).
lat:
description:Latitude (decimal degrees)
type:"number"
format:"double"
lon:
description:Longitude (decimal degrees)
type:"number"
format:"double"
alt:
description:Altitude (metres)
type:"number"
format:"double"
frequency:
type:"number"
format:"float"
description:Transmit frequency of the radiosonde in MHz.
temp:
type:"number"
format:"float"
description:Measured Temperature (deg C)
humidity:
type:"number"
format:"float"
description:Measured Relative Humidity (%)
vel_h:
type:"number"
format:"float"
description:Horizontal Velocity (m/s)
vel_v:
type:"number"
format:"float"
description:Horizontal Velocity (m/s)
pressure:
description:Measured Pressure (hPa)
type:"number"
format:"float"
heading:
type:"number"
format:"float"
description:Heading (degrees True)
batt:
type:"number"
format:"float"
description:Battery Voltage (volts)
sats:
type:"number"
format:"integer"
description:Number of SVs used in position solution
snr:
type:number
format:float
description:Signal-to-Noise ratio of the received signal, in dB
rssi:
type:number
format:float
description:Received-Signal-Strength-Indication of the radiosonde signal, nominally in dBm
uploader_position:
type:array
items:
type:number
format:double
minItems:3
maxItems:3
description:Station position, as a list [lat, lon, alt].
description:"Station position, as a list [lat, lon, alt] Note: This may be set to null, which will result in the station position not appearing on the map."