UDP Rain Active Messages

While it is raining, I find I receive multiple UDP rain active messages from my Tempest station. What is the logic of when the station sends these messages besides when it first detects rain? I’d like to understand this so I can potentially use this to create logic that would show when it has stopped raining.
Thanks in advance for the help

Can you provide examples ? Do you mean evt_rain ?

isn’t that easy? it reports rain every minute. When it is zero, it stopped raining.


Thanks @vinceskahan and @sunny.

Sorry, I should have been more explicit. I do mean evt_rain. I can’t personally test this myself right now to provide an example as the only thing I’ll personally see until spring is snow.

So @vinceskahan, evt_rain will be sent by the station every minute until the rain has stopped?

Thanks again

I don’t know. My ‘guess’ is there is some hysteresis in play so it’s not alarming all the time if the rain stops for a minute or two or three, but that’s just a guess. I know Davis has the concept of “storm rain” which tries to do that kind of thing including brief periods with nothing detected.

Good question for @WFsupport

Thanks @vinceskahan !!

Hi @cranbrook180 ,
Your being trapped in snow is the reason I thought I would like to help you out from sunny Australia. Although I did see some extremely beautiful snow photos this morning from friends in Germany.
So I just copied some bits from my python code to steer you in the direction I went.
First this I use the API with something like this
"curl -X GET --header ‘Accept: application/json’ ‘https://swd.weatherflow.com/swd/rest/observations/device/48782?time_start=1609678800&time_end=1609765200&token=6320
learn more from WeatherFlow Tempest API & Developer Platform
Tempest (type=“obs_st”) #obs_st
Observation Layout
0 - Epoch (Seconds UTC)
1 - Wind Lull (m/s)
2 - Wind Avg (m/s)
3 - Wind Gust (m/s)
4 - Wind Direction (degrees)
5 - Wind Sample Interval (seconds)
6 - Pressure (MB)
7 - Air Temperature (C)
8 - Relative Humidity (%)
9 - Illuminance (lux)
10 - UV (index)
11 - Solar Radiation (W/m^2)
12 - Rain Accumulation (mm)
13 - Precipitation Type (0 = none, 1 = rain, 2 = hail)
14 - Average Strike Distance (km)
15 - Strike Count
16 - Battery (volts)
17 - Report Interval (minutes)
18 - Local Day Rain Accumulation (mm)
19 - Rain Accumulation Final (Rain Check) (mm)
20 - Local Day Rain Accumulation Final (Rain Check) (mm)
21 - Precipitation Aanalysis Type (0 = none, 1 = Rain Check with user display on, 2 = Rain Check with user display off)
Then when I load my values I use this formula to return mm/hr
mm_per_hr = str((i[12]*60)/i[17])
Then I present the result into my graph to show how heavy the rain was and when it fell with the aqua colour

cheers Ian :slight_smile:

Thanks @iladyman
That is great what you’ve done and I appreciate your sharing your code.

In my case I’m simply looking to create an event when it stops raining. Coupled with the evt_rain event this allows for disabling actions, such as keeping sun blinds from being extended, while it is raining.

Thanks again

Again, you need to talk to @WFsupport about how exactly their algorithm decides it is/isn’t raining. Or you can make your own hysteresis algorithm up.

One instance with rain can’t possibly trigger an evt_rain. There has to be some 'rain detected at this force for this time period.

One 60-second measurement with no rain triggered can’t possibly reset them thinking it’s raining. There also has to be some ‘no rain detected for xyz minutes’ in their logic.

You’re running Home Assistant or node-red I’m guessing ?

There is no equivalent of evt_rain sent when precipitation stops, nor is there a repeat of evt_rain messages at any scheduled interval as long as precipitation is ongoing.

A new evt_rain will be sent if precipitation stops for an interval and then re-starts. I don’t remember what that interval is, but it may have been 30 minutes or an hour. Ask support for the official answer if it isn’t in the API docs.

You can use evt_rain to trigger code that rain has started, and then the code would need to keep watching the rain accumulation totals until they stopped rising to determine when the rain ends…

Thanks @vinceskahan and @vreihen

This is actually not for me but for a user of the Crestron-Tempest driver that I wrote and host on my GitHub.

@vreihen - That is exactly what I needed. evt_rain event can set that it is raining and then a user definable count of UDP Observation messages where rain amount over previous minute = 0mm will define when the rain has stopped. That way the user can tune this to their needs and normal weather conditions.

Thanks again

1 Like