Free weather informer and APRS-gateway HFP Weather.

At the first time you run the program a random ID in the range 65000...65099 is assigned. If you want, you can change it (but only within this range) in the settings window "ID and coordinates". In the same window the coordinates of the station are set (for use in the air and APRS beacons).

To enable the APRS-gateway to work check the box in the "APRS Gate settings" window. You also need to set the APRS callsign and the corresponding password there. If you do not know where to get the password, ask me how. You can also change the texts of the position and status beacons there.

To enable the weather informer you need to check the box in the "Weather forecast" settings window. The API-key for accessing to the openweathermap.org site is also set there.

You can leave the default API-key but it is better to get your own key at https://home.openweathermap.org/users/sign_in . Keep in mind that the key becomes active after few hours after registration.

You can check the availability of the server and the ID correctness by the "Test" button click. If everything is working properly the server response will be displayed below as a JSON string.

The weather query command consists of the "=x" or "=X" prefix, coordinates (latitude and longitude in degrees as a decimal) and up to two additional parameters.

The program ignores weather requests from demo versions of HFpager (ID > 64999), but processes up to three such requests after each of informer restart.

Call and SMS permission requests are only used for autorun purposes, you can reject them.

The request for microphone access ("Record audio") must be accepted. Without it the program will not work, surely.

The program does not use the shared storage.

Weather query commands overview

The weather query command consists of the "=x" or "=x"prefix , coordinates (latitude and longitude in degrees as a decimal fraction) and up to two additional parameters.

The program transmits the answer in a short form. If a message is received by HFpager without errors, HFpager converts it into human-readable form and places it in a separate folder.

HFP weather screenshot HFpager screenshot

The current weather and alerts quering

The query of the current weather and alerts does not contain additional parameters.

For example:
=X55.01,82.94

In response the informer transmits information about the current weather in one message and then it transmits the available alerts. Each alert is transmitted in a separate message.

There is a response example:

101 (037) > 4000 , CRC OK , Error Rate=0.9% : 
$WX0:
LT:55.0100LN:82.9400
DT:1702z2054SR:0144SS:1140
T:-13.0FL:-20.7P:1021H:66DP:-17.5
UVI:0.0CL:0VIS:10000
WS:6.0WD:250
AL:4
WI:0,800,01n,clear sky
---End---

The output parameters meanings:

LT: Geographical coordinates of the location (latitude) in degrees
LN: Geographical coordinates of the location (longitude) in degrees
DT: Date and time (UTC) as DDMMzHHMM (day, month, hours, minutes)
SR: Sunrise time (UTC) as HHMM
SS: Sunset time (UTC) as HHMM
T: Temperature in Celsius
FL: "Feels like" temperature in Celsius
P: Atmospheric pressure on the sea level, hPa
H: Humidity, %
DP: Dew point in Celsius
UVI: UV index
CL: Cloudiness, %
VIS: Average visibility, metres
WS: Wind speed, metres/sec
WG: Wind gusts (if any), metres/sec
WD: Wind direction, degrees (meteorological)
AL: The number of alerts that will be transmitted in the following messages
RN: Rain volume for last hour, mm
RS: Snow volume for last hour, mm
WI: Weather description (there can be several such strings)

The message ends with the "---End---" line to make sure that the message is not truncated (the whole message fits into 252 characters).

An alert message example:

101 (040) > 4000 , CRC OK , Error Rate=1.3% : 
$ALERT3/4:
LT:55.0100LN:82.9400
Start: 17.02.2021 08:00 UTC
End: 19.02.2021 06:00 UTC
Sender: 
Event: Forestfire
Text: 
---End---

$ALERT3/4 means "third message of four"

The daily forecast request for the week

The query contains "1" as third parameter. The fourth parameter is the number of the day 0...7 or 99 to give the forecast for all eight days.

There is request example:

=x55.01,82.94,1,2

The forecast for each one day is given in a separate message.

There is a response example:

101 (072) > 4000 , CRC OK , Error Rate=0.0% : 
$WX1/2:
LT:55.0100LN:82.9400UT:1614837600
DT:0403z0600TN:-14.8TX:-3.2P:1019H:95DP:-9.1CL:100PP:0.67
WS:8.7WD:192SN:1.28
WI:0,600,13d,light snow
---End---

$WX1/2 means "forecast for day 2"

Parameters not described above:

UT: Unix time of the forecasted data
TN: Minimal temperature in Celsius
TX: Maximal temperature in Celsius
PP: Probability of precipitation (0 ... 1.0)
DT: Time of the forecasted data (UTC)
SR: Rain volume, mm
SN: Snow volume, mm

The hourly forecast request for two days

The query contains "2" as third parameter. The fourth parameter is the starting number of the hour 0...47.

There is request example:

=x55.01,82.94,2,5

There is a response example:

101 (073) > 4000 , CRC OK , Error Rate=0.0% : 
$WX2/5:
LT:55.0100LN:82.9400UT:1614873600
D0416t-5.3h95p0.26w7.9d192n804
D0417t-6.2h95p0.26w7.4d191n804
D0418t-7.3h95p0.22w6.9d187n804
D0419t-7.5h95p0.00w7.2d186n804
D0420t-6.6h95p0.00w7.2d188n804
D0421t-6.0h97p0.52s0.18w8.7d194i600
---11---

$WX2/5: means "hourly forecast, starting at hour 5"

The answer contains a forecast for several hours, each hour on a separate line. Each forecast parameter is preceded by a one-letter prefix.

The possible parameters:

D - Day of the month and hour of the day in the DDHH format (UTC)
t - Temperature in Celsius
h - Humidity, %
p - Probability of precipitation (0 ... 1.0)
r - Rain volume for hour, mm
s - Snow volume for hour, mm
w - Wind speed, metres/sec
g - Wind gusts (if any), metres/sec
d - Wind direction, degrees (meteorological)
i - weather code (daytime) as described in https://openweathermap.org/weather-conditions
n - weather code (night)

One line can include several weather codes.

If the answer contains the last hour (N 47) of the two-day forecast it ends with the "---End--" line.

Otherwise the response ends with a line like "---nn---", where nn is the number of the hour following the last hour in this message.

Permanent links: