At a glance
| Item | Typical answer |
|---|---|
| Problem | Local weather differs sharply over a few kilometres, but stations bought over the years from different vendors each sit in their own software, so nobody sees the region or gets warned in time. |
| What is connected | Automatic weather stations of mixed makes: temperature, humidity, pressure, rain, wind and, where fitted, radiation, leaf wetness and soil temperature, plus each station's power supply. |
| Who uses it | Cooperative agronomists and members, municipal field crews, road maintenance teams, irrigation associations and the network technician. |
| Typical first scope | Three stations of different makes and one region of five to ten stations, connected in the off-season before frost or storm periods. |
| Time to first screen | Typically the same day for a station that already posts HTTP or MQTT, because the Weather stations ready solution installs the profile and boards in one step. Budget four to six weeks for a region whose alarms the users trust. |
The situation
Agricultural cooperatives, municipalities, irrigation associations and road authorities need weather where their people work, not at the nearest airport. A frost pocket in a valley floor, a convective cell over one catchment or a gust funnel on an exposed road can differ completely from the regional forecast. Many organisations already own stations, bought over a decade from several vendors, each with its own logger software, its own units and a login that one person remembers.
The result is that data exists but nobody acts on it in time. Growers learn about a frost from damaged blossom. Field crews hear about a cloudburst from residents. Road teams salt on a forecast rather than on the temperature at the bridge. Stations fail quietly for weeks because nobody looks at a dashboard that only shows one station. Year-end reports for members are assembled by hand from exports in different formats.
This blueprint brings every station into one platform with one set of key names and units, checks data quality as it arrives, shows the region on a map and turns local thresholds into warnings that reach the people affected.
Goals and measures
- Data availability per station = readings received ÷ readings expected over a period. The single most useful health figure for a network.
- Warning lead time = time between a station crossing a frost, rain or wind threshold and the warning being acknowledged by the person who acts.
- Rain totals per hour, day and month = increase of the accumulated rain counter per bucket; the increase treats a counter reset as a restart, not a negative value.
- Frost hours per night = hours with air temperature below 0 °C, from hourly minimum values.
- Growing degree days, chill hours and leaf wetness hours for crop and disease models, computed from hourly aggregates in the agronomist's tools after export.
- Network coverage = stations reporting within their expected interval ÷ stations in service.
Start from the ready solution
The Weather stations ready solution installs a station device profile, a board and an offline rule in one step. Its profile uses the keys air_temp (°C), air_hum (%), baro_pressure (hPa), rain_intensity (mm/h), acc_rainfall (mm), wind_speed_avg, wind_speed_min and wind_speed_max (m/s) and wind_dir_avg, wind_dir_min and wind_dir_max (°), with labels, units and ranges. Its board has a Stations page with a searchable table of stations and their latest readings, a map coloured by temperature ranges, and a Station page with month-so-far cards that show trend and change, wind on a compass symbol, a readings table with CSV export, the station's alarms, and a button that resets the station's rain counter through a catalog command. Its only rule raises a Warning when a station has not reported for an hour.
Adopt these key names for every station, whatever its make, and extend the profile with the extra keys of your network. The rest of this blueprint builds on that base.
Architecture
Stations reach Hermetry by whichever path their hardware allows; the profile and key names make them look the same afterwards.
- Loggers that speak HTTP or MQTT. Many modern loggers can post JSON. Point them at the device HTTP API or MQTT over TLS with an access token or user name and password. If the logger cannot rename its fields, a small script block in the profile's root flow maps its names to the network's keys before saving.
- Stations with a Modbus or serial output. A licensed gateway at the station reads the logger or sensors over RS485 with Modbus RTU and publishes over MQTT with TLS on a 4G link; low-power cellular gateway models suit sites with NB-IoT coverage. See Hermetry Edge and the licensed devices.
- Compact LoRaWAN stations and rain gauges. They report through LoRaWAN gateways to Hermetry's own network server (EU868, OTAA, class A). The codec library includes weather stations, soil sensors and pulse counters for tipping-bucket gauges; a missing model gets its own codec, tested on the codec test bench.
| Component | Role | Notes |
|---|---|---|
| Automatic weather station | Measures and logs | Keeps its own logger memory as a backup record. |
| Licensed 4G or NB-IoT gateway | Reads serial or Modbus stations, publishes | Buffers readings during outages; capacity depends on the model. |
| LoRaWAN gateway | Hears compact stations and gauges | LoRa Basics Station; gateway health stored as telemetry. |
| Solar panel and battery | Power at remote sites | Battery voltage and charge current reported as keys. |
| SIM | Cellular uplink | Your own SIM and operator today; eSIM management is in development (Hermetry Connect). |
| Hermetry | History, quality checks, alarms, maps, feeds | EU, US or Türkiye region, or on your own servers. |
Point list
The ready solution's keys plus common additions. Intervals are typical for agricultural and road networks; agree them with the users.
| Point | Telemetry key | Unit | Source | Interval | Notes |
|---|---|---|---|---|---|
| Air temperature | air_temp | °C | Shielded sensor at screen height | 10 min | Ready solution key. |
| Relative humidity | air_hum | % | Same shield | 10 min | Ready solution key. |
| Barometric pressure | baro_pressure | hPa | Logger | 10 min | Station level or sea level; say which. |
| Rain intensity | rain_intensity | mm/h | Gauge or logger | 10 min | Ready solution key. |
| Accumulated rain | acc_rainfall | mm | Tipping-bucket counter | 10 min | Totals per bucket from the increase. |
| Rain last hour | rain_1h_mm | mm | Computed in a flow | 10 min | Used by heavy rain alarms. |
| Rain last 24 hours | rain_24h_mm | mm | Computed in a flow | 10 min | Read by irrigation rules nearby. |
| Wind speed, average and gust | wind_speed_avg, wind_speed_max | m/s | Anemometer | 10 min | Ready solution keys. |
| Wind direction | wind_dir_avg | ° | Wind vane | 10 min | Ready solution key. |
| Dew point | dew_point | °C | Computed in the root flow | 10 min | From temperature and humidity. |
| Dew point spread | dew_spread | K | Computed in the root flow | 10 min | Icing and fog risk. |
| Solar radiation | solar_wm2 | W/m² | Pyranometer, where fitted | 10 min | |
| Leaf wetness | leaf_wet | 0/1 or % | Leaf wetness sensor, where fitted | 10 min | Disease models. |
| Soil temperature, 10 cm | soil_temp_10 | °C | Soil probe, where fitted | 30 min | |
| Battery voltage | battery_v | V | Logger or gateway | 30 min | |
| Solar charge current | charge_a | A | Charge controller | 30 min | Zero at noon = panel problem. |
| Logger temperature | logger_temp | °C | Logger | 30 min | Enclosure overheating. |
| Quality flag, temperature stuck | qc_temp_stuck | 0/1 | Computed in a flow | hourly | See Device setup. |
| Rain counter last reset | rain_reset | time | Station answer to the reset command | on reset | Ready solution key. |
| Sensor heights and site | temp_height_m, wind_height_m, elevation_m | m | Server attributes | set once | Needed to compare stations. |
Declare every key in the profile's Telemetry keys tab with label, unit, decimals and range. Units are the profile's: convert km/h, °F or inches once in the root flow, never per card.
Asset model
A weather network is mostly flat, but a small tree pays off in rules, permissions and maps:
- Network (Area) with the time zone and
operator. - Region or catchment (Area or a free kind) with
frost_seasonandwarning_contactsas reference attributes for people. - Station site (Site) with location,
elevation_m,exposure(valley, slope, plateau, urban),owner_member,install_dateandcalibration_due. - The station device placed on its site; sensors on a gateway can be children with their own profiles where a site hosts several instruments.
Placement decides which Rules card may name a station: a regional frost rule homed on the region can address every station of the station profile beneath it. Placement also lets a member be narrowed to their own station with an attribute-based policy; test such policies with the policy simulator.
Device setup
Profiles and provisioning
Keep the ready solution's profile for stations that report the standard keys directly, and duplicate it for families that need a different transport or a mapping script, so every profile shares the key list. Licensed gateways are claimed by scanning their code; LoRaWAN stations are added with DevEUI, JoinEUI and AppKey. Use the Recent message online rule with the station's interval; polled endpoints use Last seen only.
Derived keys in flows
- Rain windows. A delta block on
acc_rainfallgives the rain since the previous reading (set negative steps, which follow a counter reset, to zero); statistics blocks summing 1-hour and 24-hour time windows feedrain_1h_mmandrain_24h_mmthrough a save telemetry block. Windows start empty after the flow is changed. - Dew point. A script block computes it from
air_tempandair_humwith the Magnus formula and savesdew_pointand the spreaddew_spread(temperature minus dew point), so rules compare single values. - Quality checks. A statistics block on
air_tempover a six-hour window gives the standard deviation; zero means a stuck sensor and setsqc_temp_stuck. A delta block flags jumps larger than physically plausible in ten minutes.
Settings, time and firmware
On licensed gateways, remote device settings set serial parameters, register maps and intervals; a baseline per station make applies in waves. Shortening intervals on frost nights is better done by a fixed 5- or 10-minute interval all season than by changing settings on the fly. Synchronise station clocks; a logger with a drifting clock should omit time stamps and let Hermetry stamp arrival. Records more than ten minutes in the future are dropped; late records after an outage are stored and evaluated as a backfill without paging. Signed gateway firmware rolls out in waves; metered links wait unless allowed.
Dashboards
| Board | Audience | Widgets and what they show |
|---|---|---|
| Network map | Everyone | The ready solution's map coloured by temperature ranges, a second map coloured by 24-hour rain; station table with latest readings and last report, searchable, with CSV export; stat cards for stations online and open alarms. |
| Station page | Agronomists, crews | Month-so-far cards with trend and change from the ready solution; compass for wind direction; line chart of temperature and dew point over 72 hours; bar chart of hourly rain; readings table; the station's alarms. |
| Region comparison | Agronomists, planners | Line chart of minimum night temperatures for all stations of a region; bar chart of daily rain per station; heatmap of hourly temperature for frost pockets; table of monthly totals for export. |
| Network health | Technician | Device table sorted by last seen, battery voltage and charge current; table of quality flags; LoRaWAN gateway map. |
Entity parameters let one station page serve every station, opened from a table row or a map marker. For a public screen at a cooperative office, create a display link: read-only, refreshed on an interval, valid for 1 to 365 days and revocable.
SCADA screens
A weather network needs few process drawings. Two are worth making: a station schematic for technicians, using the Weather station symbol from the agri family of the Food pack with the station's sensors, battery and modem, with colour rules on battery voltage and quality flags; and a regional overview where each station symbol prints its temperature and rain, laid over a schematic of valleys or roads. The compass symbol used by the ready solution shows wind direction with speed. Attach the station schematic as a view on the station profile so every station gets its own bindings.
Rules and alarms
Weather warnings depend on season and time of day, so most live in Rules cards homed on a region, naming every station of the profile beneath it. Rules cards know date windows, sunrise and sunset, day and night, and the organisation's holiday calendar. Station health stays in profile alarm rules.
| Alarm | Condition | Delay and hysteresis | Severity | Notified | Escalation |
|---|---|---|---|---|---|
| Frost warning | Rules card: air_temp falls below 1, only if between 1 March and 31 May and it is night | Stays so for 10 min | Major (raised by the rule) | Agronomist and grower coordinators, push and SMS; member system by webhook | A second rule raises the same alarm at Critical below -1 °C, which re-notifies |
| Heavy rain | Rules card: rain_1h_mm rises above 20 | None | Major | Municipal field crew, SMS | Reminder every 30 min until acknowledged |
| Strong gusts | Profile rule: wind_speed_max above 17.2 (Major), above 24.5 (Critical) | Debounce 2 samples; hysteresis 2 m/s | Major / Critical | Road and park teams, push | Severity rise re-notifies |
| Road icing risk | Rules card: air_temp below 2 and dew_spread below 1, only if night | Stays so for 20 min | Major | Road maintenance on duty, SMS | Reminder every 60 min |
| Station silent | Inactivity rule, no message for 60 min (ready solution) | Warning | Technician, e-mail | None | |
| Battery low | Profile rule: battery_v below 11.8 | Debounce 3 samples | Minor | Technician, e-mail | Severity rise to Major below 11.5 |
| Sensor stuck | Profile rule: qc_temp_stuck = 1 | Debounce 1 sample | Warning | Technician, e-mail | None |
Reaching many people. A profile alarm rule notifies at most 20 recipients (users, roles or e-mail addresses), and a Rules card notification at most 20 users, roles or teams. For hundreds of growers, send the alarm by webhook to the cooperative's SMS or advisory system, which owns the member list and opt-ins, or put a distribution list address among an alarm rule's recipients.
Lifecycle. Alarms open after their delay, are acknowledged with an optional note, and resolve when the condition clears; one alarm per station and type stays open and repeats are counted. A frost alarm that resolves at sunrise without an acknowledgement means nobody acted: review those after each frost night. Maintenance: mute a station during calibration so test values do not page anyone; alarms are still recorded and the mute ends by itself.
Floods. A regional frost trips most stations of a region within minutes. Above 20 alarm notifications a minute Hermetry collects the rest into a five-minute digest, and the same change notifies once per five minutes. Keep the frost recipients short and let the member system fan out.
Automation and integrations
- Advisory and public portals. A flow with an HTTP request block posts each station's readings to an agricultural advisory portal or a municipal open data service; an MQTT out block publishes them to another broker.
- Pull access. Partners read history through the REST series API with a read-only API key that expires and is limited to their addresses; ask for hourly buckets and sum them into local days.
- Irrigation and frost protection. Irrigation rules on the same organisation can read
rain_24h_mmof a station placed under the same asset. A frost rule can start frost protection pumps or fans through a gateway that has relay outputs, if the gateway model supports the command; keep such actions behind a confirmation and test them out of season. - Rain counter resets. The ready solution's button sends the reset as a basic catalog command and shows the station's answer; restrict it with the basic command permission.
- Reports. Monthly member reports come from history tables exported to Excel; scheduled e-mailed reports are not built in today.
Roles and access
| Who | Role or group | Can |
|---|---|---|
| Agronomist | User + IoT operator group | All stations, acknowledge warnings, export. |
| Cooperative member | User, narrowed to their station or region | Read boards, receive warnings. |
| Road or field crew | User | Read boards, acknowledge warnings with a note. |
| Network technician | User + IoT operator group | Health boards, mutes requested from an admin, rain counter resets. |
| Network administrator | Admin | Profiles, flows, rules, alarm rules, gateway settings, firmware, API keys. |
| Partner institution | API key or display link | Read-only data or a screen. |
An association with independent member organisations can run each as its own organisation, isolated by row-level security, or keep one organisation with narrowed users. Hosting is available in the EU, US and Türkiye regions. The audit log records rule changes, mutes, commands, API key use and sign-ins in a verifiable hash chain.
Sizing and data
As an order of magnitude for 60 stations reporting every 10 minutes, one message per station per reading:
- 60 × 144 = 8,640 messages a day, about 260,000 a month.
- Each message carries about 15 keys, and flows add about 5 derived keys: roughly 20 × 8,640 ≈ 170,000 values a day, about 63 million a year.
This is small for the platform. Weather data gains value with age, so choose a long retention class (the longest keeps hourly and daily aggregates for three years; raw readings last at most 90 days) and archive regular exports of the readings for the permanent climate record. Long-range charts read hourly and daily aggregates. The default per-device rate limits are far above a station's needs.
Rollout plan
| Phase | Weeks | Work | Exit criteria |
|---|---|---|---|
| 0. Inventory | 1-2 | List stations with make, logger, outputs, power, sensor heights and siting; agree key names, units and thresholds with users. | Signed key list and threshold table. |
| 1. Three makes | 3-4 | Install the ready solution; connect one station of each make by its path; mapping scripts; quality flows. | Same weather seen consistently across makes at nearby stations. |
| 2. One region | 5-8 | All stations of one region; Rules cards for frost, rain and wind notifying the agronomist only. | Warnings checked against what happened on the ground for a month. |
| 3. Network | 9-16 | Remaining regions; warnings to crews and members; feeds to portals. | Data availability above an agreed level, for example 98 %. |
| 4. Densify | Ongoing | New stations where maps show gaps; calibration schedule from calibration_due. | Network coverage reviewed each season. |
Commissioning checklist
- Station on the right profile and site; location and elevation correct on the map.
- Keys and units checked against the logger display: temperature, humidity, pressure, wind speed units and direction reference (true north).
- Rain gauge checked with a known volume;
acc_rainfall,rain_1h_mmandrain_24h_mmfollow. - Rain counter reset from the board;
rain_resetupdates; the next delta is not counted as rain. - Time stamps checked against a known event in the station's time zone.
- Quality flow tested by holding a sensor value constant in the test runner.
- Each warning rule run with Run now; recipients receive it on the right channel.
- Uplink removed for an hour: station silent alarm; buffered readings arrive afterwards where the gateway buffers.
Pitfalls
- Mixed units. One make in km/h and another in m/s makes every regional chart wrong. Convert once in the root flow.
- Interval rain treated as a total. Know whether a logger sends rain since the last report or a running counter, and map it to the right key.
- Day boundaries. Daily rain in UTC is not daily rain in local time. Pull hourly buckets and sum them into local days.
- Siting. A temperature sensor near a wall or a gauge under a tree produces convincing wrong data. Record siting and sensor heights as attributes and review outliers.
- Too many recipients. Notifications reach at most 20 recipients per rule; let a member system own long lists.
- Winter power. Solar sites run flat in December. Alarm on charge current and battery voltage before the station goes silent.
- Spiders and leaves. A blocked rain gauge reads zero during a storm. Compare neighbours and clean gauges on a schedule.
What Hermetry does not replace
Hermetry collects, checks and distributes station data and raises local warnings from your thresholds. It is not a forecasting service and does not replace official weather warnings, the national meteorological service or civil protection alerts. Frost protection equipment, road treatment decisions and flood response remain with the people and systems responsible for them, and any equipment Hermetry switches keeps its own local protection. Station loggers should keep their own memory as the primary record.

