The SMSAWS data message is a Vaisala standard ASCII‑based observation data message. It is updated once a minute.
The format of the SMSAWS data message is:
<SOH>SMS<SP><station ID><STX(S:<station name>;D:<YYMMDD>;T:<HHMMSS>;
STNID:<station ID>;MSGID:<message ID>;<tag 1>:<value 1>;...<tag N>:<value N>)
<CRC><CR><LF><ETX>
Name | Description |
---|---|
<SOH> | Start of header character, ASCII code 1 1 |
SMS | Fixed message identifier |
<SP> | Space character, ASCII code 32 1 |
<station ID> | Station identifier 1 |
<STX> | Start of text, ASCII code 2 |
( | Start character, ASCII code 40 1 |
: | Tag and value delimiter |
; | Element delimiter |
S:<station name> | Station name |
D:<YYMMDD> | Date of data message generation (UTC), according to ISO 8601 standard |
T:<HHMMSS> | Time of data message generation (UTC), according to ISO 8601 standard |
STNID:<station ID> | Station identifier |
MSGID:<message ID> | Message identifier, running number, not unique |
<tag> | Observation tag. See the following table. |
<value> | Observation value |
) | End character, ASCII code 41 |
<CRC> |
32-bit CRC checksum, which is
calculated over all characters between the
With these properties, the result of the commonly used test vector |
<CR> | Carriage return character, ASCII code 13 |
<LF> | Line feed character, ASCII code 10 |
<ETX> | End of text character, ASCII code 3 1 |
Observation tags in SMSAWS data message
Observation tags consist of the following fields, separated by the pipe character (|
):
<observation>|<statistics>|<period>|<height>|<sequence number>|<unit>|
GHI|AVG|PT1M||1|W/M2|
Name | Description |
---|---|
<observation> | Observation code |
<statistics> |
Method used for calculating the observation. Possible values:
|
<period> |
The period related to the statistics name. The period field consists of the following:
For example, |
<height> | The height (in meters) in which the observation was created. Empty if not set. |
<sequence number> | The index for identifying the observation when the weather station contains multiple sensors that provide the observation in question. Empty if not set. |
<unit> | Unit of the observation. Empty if the observation does not have a unit. |
Example of SMSAWS report without header
The actual message does not contain line feeds. |
(S:Station 1;D:230524;T:113700;MSGID:2;
LAT:60.28;LON:24.88;ALT:0;
POAI|AVG|PT1M||1|Wpm2|:2.0;RPOAI|AVG|PT1M||1|Wpm2|:1.0;
GHI|AVG|PT1M||1|Wpm2|:2.0;PVT|AVG|PT1M||1|degC|:23.3;
WS|AVG|PT1M||1|mps|:0.0;WD|AVG|PT1M||1|deg|:0;
PA|AVG|PT1M||1|hPa|:1014.0;RH|AVG|PT1M||1|%|:31;
TA|AVG|PT1M||1|degC|:22.8;TD|AVG|PT1M||1|degC|:4.6;
PR|SUM|PT24H||1|mm|:0.0;PRF|VALUE|PT1M||1|mmph|:0.0)2ADF6272