Hi,
I frequently see repeated empty rapid_wind events being broadcast over UDP, for example:
{“serial_number”:“SK-00013577”,“type”:“rapid_wind”,“hub_sn”:“HB-00000381”,“ob”:[1545957031,0.00,0]}
{“serial_number”:“SK-00013577”,“type”:“rapid_wind”,“hub_sn”:“HB-00000381”,“ob”:[1545957027,0.00,0]}
{“serial_number”:“SK-00013577”,“type”:“rapid_wind”,“hub_sn”:“HB-00000381”,“ob”:[1545957025,0.00,0]}
As each event triggers some processing in my Ardiuno, it uses some power. Is there a reason why this might be happening?
Thanks for getting back to me.
Except for the time stamp, the JSON objects do look identical to me.
Where I am using this is, I have an automatic watering system that has a rain sensor input. I have an Arduino listening for rain events or sky observations indicating that it is raining. When it sees that it is raining, it opens a relay simulating a rain sensor which changes the watering program.
So when Arduino sees a UDP packet from Smart Weather, I build a ArduinoJson object, then parses out the “type” field, then check to see if it is an obs_sky or evt_precip type. If it is either of those, I then it does further processing (time delays for the relay).
The Arduino also keeps track of the last 10 Smart Weather broadcasts it has seen. When I view the last 10 events, this is where I see the duplicate (except for time) wind events. You mention that they are not duplicates. Can you expand on that?
Rapid_wind is sent every 3 seconds (battery wasting mode) or every 15 seconds (battery saver mode). Those three packets each have a timestamp about 3 seconds apart, and are 100% normal. You can reduce the number of packets to 4/minute by enabling power-saving mode on the Sky, but there is no way to stop them short of network filtering…
I understand now, it sends regardless that the state hasn’t changed. I can either have the data sent every 3 seconds or every 15 seconds, regardless that the state hasn’t changed.