📘

Should I access data from the hardware locally?

To ensure access to the best data, all third-party applications and integrations should use the remote interfaces (REST & WebSocket) as their primary source for data, even if they are running on the same network as the local Tempest device. We offer this UDP interface for those applications that require completely off-grid applications, but this should only be used as a backup to the remote interfaces.

UDP Basics

The Tempest's Weather System hub broadcasts UDP messages over port 50222 on the local network. The current production hub firmware version is 171.

Messages

Rain Start Event

{
      "serial_number": "SK-00008453",
      "type":"evt_precip",
      "hub_sn": "HB-00000001",
      "evt":[1493322445]
}

evt Description

IndexFieldUnits
0timestamp (Epoch, UTC)seconds

Lightning Strike Event

{
      "serial_number": "AR-00004049",
      "type":"evt_strike",
      "hub_sn": "HB-00000001",
      "evt":[1493322445,27,3848]
}

evt Description

IndexFieldUnits
0timestamp (Epoch, UTC)seconds
1distancekm
2energy

Rapid Wind

{
      "serial_number": "SK-00008453",
      "type":"rapid_wind",
      "hub_sn": "HB-00000001",
      "ob":[1493322445,2.3,128]
}

ob Description

IndexFieldUnits
0timestamp (Epoch, UTC)seconds
1wind speedm/s
2wind directiondegrees

Tempest Observation

{
        "serial_number": "ST-00000512",
        "type": "obs_st",
        "hub_sn": "HB-00013030",
        "obs": [[1588948614,0.18,0.22,0.27,144,6,1017.57,22.37,50.26,328,0.03,3,0.000000,0,0,0,2.410,1]],
        "firmware_revision": 129
}

obs Description

IndexFieldUnits
0timestamp (Epoch, UTC)seconds
1wind lullm/s
2wind averagem/s
3wind gustm/s
4wind directiondegrees
5wind sample intervalseconds
6station pressuremb
7air temperaturec
8relative humidity%
9illuminancelux
10UVindex
11solar radiationW/m²
12rain accumulation over the previous minutemm
13precipitation type0 = none, 1 = rain, 2 = hail, 3 = rain + hail (experimental)
14lightning strike average distancekm
15lightning strike count
16batteryvolts
17reporting intervalminutes

AIR Observation

{
      "serial_number": "AR-00004049",
      "type":"obs_air",
      "hub_sn": "HB-00000001",
      "obs":[[1493164835,835.0,10.0,45,0,0,3.46,1]],
      "firmware_revision": 17
}

obs Description

IndexFieldUnits
0timestamp (Epoch, UTC)seconds
1station pressuremb
2air temperaturec
3relative humidity%
4lightning strike count
5lightning strike avg distancekm
6batteryvolts
7report intervalminutes

SKY Observation

{
      "serial_number": "SK-00008453",
      "type":"obs_sky",
      "hub_sn": "HB-00000001",
      "obs":[[1493321340,9000,10,0.0,2.6,4.6,7.4,187,3.12,1,130,null,0,3]],
      "firmware_revision": 29
}

obs Description

IndexFieldUnits
0timestamp (Epoch, UTC)seconds
1illuminancelux
2UVindex
3rain accumulation over the previous minutemm
4wind lullm/s
5wind averagem/s
6wind gustm/s
7wind directiondegrees
8batteryvolts
9report intervalminutes
10solar radiationW/m²
11local day rain accumulation*mm
12precipitation type0 = none, 1 = rain, 2 = hail, 3 = rain + hail (experimental)
13wind sample intervalseconds

* SKY observations broadcast over UDP do not return local rain accumulation. This field will always be null. Rain accumulation data is available from the Tempest REST API.


Device Status

{
      "serial_number": "AR-00004049",
      "type": "device_status",
      "hub_sn": "HB-00000001",
      "timestamp": 1510855923,
      "uptime": 2189,
      "voltage": 3.50,
      "firmware_revision": 17,
      "rssi": -17,
      "hub_rssi": -87,
      "sensor_status": 0,
      "debug": 0
}

sensor_status Description

Any bits above 0b100000000 are reserved for internal use and should be ignored

Binary ValueDeviceDescription
0b000000000Tempest, AIR, SKYSensors OK
0b000000001Tempest, AIRlightning failed
0b000000010Tempest, AIRlightning noise
0b000000100Tempest, AIRlightning disturber
0b000001000Tempest, AIRpressure failed
0b000010000Tempest, AIRtemperature failed
0b000100000Tempest, AIRrh failed
0b001000000Tempest, SKYwind failed
0b010000000Tempest, SKYprecip failed
0b100000000Tempest, SKYlight/UV failed
0x00008000Tempestpower booster depleted
0x00008000Tempestpower booster shore power

debug Description

ValueDescription
0Debugging is disabled
1Debugging is enabled

Hub Status

fs and mqtt_stats are reserved for internal use only.

{
      "serial_number":"HB-00000001",
      "type":"hub_status",
      "firmware_revision":"35",
      "uptime":1670133,
      "rssi":-62,
      "timestamp":1495724691,
      "reset_flags": "BOR,PIN,POR",
      "seq": 48,
      "fs": [1, 0, 15675411, 524288],
          "radio_stats": [2, 1, 0, 3, 2839],
          "mqtt_stats": [1, 0]
}

reset_flags Description

ValueDescription
BORbrownout reset
PINpin reset
PORpower reset
SFTsoftware reset
WDGwatchdog reset
WWDwindow watchdog reset
LPWlow power reset
HRDFLThard fault detected

radio_stats Description

IndexField
0version
1reboot count
2I2C bus error count
3radio status (0 = radio off, 1 = radio on, 3 = radio active, 7 = BLE connected)
4radio network ID