Acurite Atlas

1,386 views
Skip to first unread message

Tor rin

unread,
Jul 26, 2019, 10:31:28 PM7/26/19
to rtl_433
Is anyone working on capture data on the Acurite access?  If so, please let me know.  If not, is the best command to run to start tracing this: rtl_433 -G  -S unknown  (I use unknown as I have a bunch of known 433mhz devices that are being captured).  Then follow the check in procedure on the rtl_test github link?  I would love to get this mapped in and get out of using the WU Interceptor to capture the Atlas's data.

If someone is already in process, let me know and let me know what I can do to help.

Christian Zuckschwerdt

unread,
Aug 7, 2019, 8:45:07 AM8/7/19
to rtl_433
Sounds good. You don't need -G. Also try to deduce the modulation and timing with -A and use something like the suggested -X decoder to capture a number of transmissions. Open an issue on rtl_433 and post a table of data packets annotated with the readings you expect there or copied from the head unit. You can also start a BitBench with those lines to try a data mapping.

Airhead Bit

unread,
Aug 14, 2019, 8:47:43 PM8/14/19
to rtl_433
My AcuRite Atlas arrived, attached is my first try at a dump tl_433 -S all -T 120
acurite-a.tar.gz

Christian Zuckschwerdt

unread,
Aug 15, 2019, 4:48:14 AM8/15/19
to rtl_433
Very good looking sample file. The flex decoder suggestion from -A works well. With rounded values it's

    rtl_433 -X 'n=atlas,m=OOK_PWM,s=200,l=400,y=600,r=800'  atlas_433.92M_250k.cu8

I.e. OOK with 200 µs and 400 µs pulses and 600 µs sync pulses between packets. Three packets per transmission.
Now the data needs deciphering. I guess the first bytes includes a packet counter and the last byte is a simple checksum:

{80}7d0c9aff778dddff606a, {80}790c9aff778dddff6066, {80}750c9aff778dddff6062
{80}7d0c99fffa1b7eff601b, {80}790c99fffa1b7eff6017, {80}750c99fffa1b7eff6013
{80}7d0c18ffffff69ff606e, {80}790c18ffffff69ff606a, {80}750c18ffffff69ff6066
{80}7d0c9aff778dddff606a, {80}790c9aff778dddff6066, {80}750c9aff778dddff6062
{80}7d0c99fffa9f7eff609f, {80}790c99fffa9f7eff609b, {80}750c99fffa9f7eff6097
{80}7d0c18ffffff69ff606e, {80}790c18ffffff69ff606a, {80}750c18ffffff69ff6066
{80}7d0c9aff778edbff6069, {80}790c9aff778edbff6065, {80}750c9aff778edbff6061
{80}7d0c99fffa9f7eff609f, {80}790c99fffa9f7eff609b, {80}750c99fffa9f7eff6097
{80}7d0c18ffffff69ff606e, {80}790c18ffffff69ff606a, {80}750c18ffffff69ff6066
{80}7d0c9aff778e5aff60e8, {80}790c9aff778e5aff60e4, {80}750c9aff778e5aff60e0
{80}7d0c99fffa1b7eff601b, {80}790c99fffa1b7eff6017, {80}750c99fffa1b7eff6013

Do you have a head unit that displays values? Would be a good start if we know what that transmission should decode to.

George D. Nincehelser

unread,
Aug 15, 2019, 7:30:20 PM8/15/19
to rtl_433


On Thursday, August 15, 2019 at 3:48:14 AM UTC-5, Christian Zuckschwerdt wrote:

Do you have a head unit that displays values? Would be a good start if we know what that transmission should decode to.


I've just set up RTL_433 to listen for the Atlas data.  I've got some similar to the above and the display.

The question is, what is the best way to give you data and the current status of the display?  The display changes every 10 seconds for wind.

Here's some output and a photo of the display at that time. 

time      : 2019-08-15 18:13:44
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : 3dd69afff51dd7b78ee2,
len       : 80           data      : 39d69afff51dd7b78ede,
len       : 80           data      : 35d69afff51dd7b78eda,
len       : 0            data      :
codes     : {80}3dd69afff51dd7b78ee2, {80}39d69afff51dd7b78ede, {80}35d69afff51dd7b78eda, {0}

FYI, my Atlas sensor ID is 000000553 (decimal) as shown on the Access "splash" screen.  I'd think that should be in the data somewhere.

Time isn't set on the display.

Data that should be there are temp, humidity, UV, light, wind direction (in degrees), wind speed, rain (as a counter, I'd guess).

I've no idea how to approach this decoding, but have some time to futz around with it.

IMG_0034.jpg

Christian Zuckschwerdt

unread,
Aug 16, 2019, 2:34:37 AM8/16/19
to rtl_433
That looks good. The code and expected values will do. If you record with the -X line, then add ,invert to that.
Re ID: the only constant bits over those messages are the second byte (plus 2 bits before that), value is 2F3. After that it's probably the message type and then payload.
See this PR https://github.com/merbanan/rtl_433/pull/1124 and the BitBench linked.

George D. Nincehelser

unread,
Aug 16, 2019, 4:34:04 PM8/16/19
to rtl_433

What does adding ",invert" supposed to do?  I tried it, but see no effect on the output. 

George D. Nincehelser

unread,
Aug 16, 2019, 6:33:25 PM8/16/19
to rtl_433
OK, here's about a 100 seconds worth of data (10 blocks).  At the end of each block, I wrote down the current values on the display.  I did this by taking a photograph of the display after each block was transmitted and then transcribing the data (just what I think would be coming from the sensor).

Note the "light" field sometimes shows a value in lux, or it just says daylight.

Data from 5:04 PM, 15 Aug 2019
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:04:54
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c22965030afaa3c91bde,
len       : 80           data      : c62965030afaa3c91be2,
len       : 80           data      : ca2965030afaa3c91be6,
len       : 0            data      :
codes     : {80}c22965030afaa3c91bde, {80}c62965030afaa3c91be2, {80}ca2965030afaa3c91be6, {0}

Observed on display:
Temp: 100.1F, RH 35%, Windspeed 3mph, Wind Dir 153, Rain 0, Lightning 1, Distance 0 miles, light 17560 lux, UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:05:04
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c2296682819509c91bd6,
len       : 80           data      : c6296682819509c91bda,
len       : 80           data      : ca296682819509c91bde,
len       : 0            data      :
codes     : {80}c2296682819509c91bd6, {80}c6296682819509c91bda, {80}ca296682819509c91bde, {0}

Observed on display:
Temp: 100.2F, RH 35%, Windspeed 4mph, Wind Dir 37, Rain 0, Lightning 1, Distance 0 miles, light "daylight", UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:05:15
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c229e781818d39c91b7e,
len       : 80           data      : c629e781818d39c91b82,
len       : 80           data      : ca29e781818d39c91b86,
len       : 0            data      :
codes     : {80}c229e781818d39c91b7e, {80}c629e781818d39c91b82, {80}ca29e781818d39c91b86, {0}

Observed on display:
Temp: 100.2F, RH 35%, Windspeed 4mph, Wind Dir 37, Rain 0, Lightning 1, Distance 0 miles, light "daylight, UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:05:26
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c2296581cafca3c91b1e,
len       : 80           data      : c6296581cafca3c91b22,
len       : 80           data      : ca296581cafca3c91b26,
len       : 0            data      :
codes     : {80}c2296581cafca3c91b1e, {80}c6296581cafca3c91b22, {80}ca296581cafca3c91b26, {0}

Observed on display:
Temp: 100.2F, RH 35%, Windspeed 3mph, Wind Dir 37, Rain 0, Lightning 1, Distance 0 miles, light "daylight", UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:05:37
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c229668142c509c91bc6,
len       : 80           data      : c629668142c509c91bca,
len       : 80           data      : ca29668142c509c91bce,
len       : 0            data      :
codes     : {80}c229668142c509c91bc6, {80}c629668142c509c91bca, {80}ca29668142c509c91bce, {0}

Observed on display:
Temp: 100.4F, RH 35%, Windspeed 3mph, Wind Dir 37, Rain 0, Lightning 1, Distance 0 miles, light "daylight", UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:05:47
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c229e781818d4bc91b90,
len       : 80           data      : c629e781818d4bc91b94,
len       : 80           data      : ca29e781818d4bc91b98,
len       : 0            data      :
codes     : {80}c229e781818d4bc91b90, {80}c629e781818d4bc91b94, {80}ca29e781818d4bc91b98, {0}

Observed on display:
Temp: 100.4F, RH 35%, Windspeed 3mph, Wind Dir 81, Rain 0, Lightning 1, Distance 0 miles, light "daylight", UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:05:58
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c22965818b00a3c91be3,
len       : 80           data      : c62965818b00a3c91be7,
len       : 80           data      : ca2965818b00a3c91beb,
len       : 0            data      :
codes     : {80}c22965818b00a3c91be3, {80}c62965818b00a3c91be7, {80}ca2965818b00a3c91beb, {0}

Observed on display:
Temp: 100.4F, RH 35%, Windspeed 2mph, Wind Dir 81, Rain 0, Lightning 1, Distance 0 miles, light 17390 lux, UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:06:09
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c2296681428109c91b82,
len       : 80           data      : c6296681428109c91b86,
len       : 80           data      : ca296681428109c91b8a,
len       : 0            data      :
codes     : {80}c2296681428109c91b82, {80}c6296681428109c91b86, {80}ca296681428109c91b8a, {0}

Observed on display:
Temp: 100.4F, RH 35%, Windspeed 2mph, Wind Dir 81, Rain 0, Lightning 1, Distance 0 miles, light "daylight", UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:06:20
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c229e781818d30c91b75,
len       : 80           data      : c629e781818d30c91b79,
len       : 80           data      : ca29e781818d30c91b7d,
len       : 0            data      :
codes     : {80}c229e781818d30c91b75, {80}c629e781818d30c91b79, {80}ca29e781818d30c91b7d, {0}

Observed on display:
Temp: 100.8F, RH 35%, Windspeed 2mph, Wind Dir 81, Rain 0, Lightning 1, Distance 0 miles, light 17390 lux, UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-08-16 17:06:30
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 80           data      : c22965818b0022c91b62,
len       : 80           data      : c62965818b0022c91b66,
len       : 80           data      : ca2965818b0022c91b6a,
len       : 0            data      :
codes     : {80}c22965818b0022c91b62, {80}c62965818b0022c91b66, {80}ca2965818b0022c91b6a, {0}

Observed on display:
Temp: 100.8F, RH 35%, Windspeed 3mph, Wind Dir 64, Rain 0, Lightning 1, Distance 0 miles, light 17390 lux, UV 1
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _


Airhead Bit

unread,
Aug 27, 2019, 9:45:49 PM8/27/19
to rtl_433
Kind of dead in the water here, I just ordered the Acurite Access so I can see the damn data. I had thought there would be some examples of the commands used to capture the data for the existing acurite sensors but all I've found is the c code for formatting the data. The Acurite Access device can talk to a lot of the existing sensors, I'll see if WEEWX can grab the USB data...

Christian Zuckschwerdt

unread,
Aug 28, 2019, 3:05:21 AM8/28/19
to rtl_433
With https://github.com/merbanan/rtl_433/pull/1124 we can already see the raw data. But only the sequence_num stands out in those bits. If you have a GitHub account you can add more insight there.

It should be possible to simulate some data and watch the raw bits change. I.e. tip the water bucket manually and spot the field for rain going up by 1. Or similarly turn the wind sensor at a fixed rate, bring the wind direction to a known angle, etc. data layout can be infered once we get some fixed points. After that e.g. for the battery_low bit use a known flat battery or even better a adjustable power supply and slowly ramp down the voltage and one bit will flip.
Just note the raw bits output and the manual input you made and let me know.

George D. Nincehelser

unread,
Aug 28, 2019, 5:26:05 PM8/28/19
to rtl_433
Playing around with BitBench, this is the current format string I'm using to decode my device number.  It also looks like there might be three packet types: 66, 65, and e7, which keep repeating.

I'm having issues keeping RTL_433 running on my Pi 4, though.  Often it will refuse to start up, so I need to work on that.

4b SEQ:2d DEVICE:10d TYPE:8h 8b 8b 8b 8b 8b 8b CHK:8h

Airhead Bit

unread,
Sep 8, 2019, 11:45:58 PM9/8/19
to rtl_433
Finally got the Acurite Access, added a VONETS WiFi Bridge to access my Verizon Hotspot just to find that the data is not accessible in any dump format, Acurite formats it and displays it. At least I proved Acurite wrong, I don't need no stinking hard-line to use their Access product...

Christian Zuckschwerdt

unread,
Sep 9, 2019, 4:15:07 AM9/9/19
to rtl_433
Can you table some data codes (like in the BitBench on https://github.com/merbanan/rtl_433/pull/1124) with the value readings from the display unit? There should be 3 types of messages (3rd byte: 0x65, 0x66, 0x67 = 0xe7 with parity). Perhaps the timing on those message types can also tell something (e.g. wind packet once per minute, rain only every 5 mins?)

George D. Nincehelser

unread,
Sep 21, 2019, 4:39:13 PM9/21/19
to rtl_433
OK.  I'm really confused now.

After a few weeks I've come back to this, but now it seems I need to invert the bits to get back to what I had using the "~" command in bitbench.

For example, the sequence numbers started coming in as "3, 2, 1" instead of "0, 1, 2" as they were originally.   Add the "~" in front of SEQ fixes the sequence to what it used to be.

The same thing is happening with the DEVICE section.

The first 4 bits of the message are also inverted.

I've made no changes to my setup or commands... why would this be happening?

This is the current decode string I'm using: 4b ~SEQ:2d ~DEVICE:10d x TYPE:7d 8b 8b 8b 8b 8b 8b CHK:8h

Some recent sample data:

3dd699fc7b729377d77e
39d699fc7b729377d77a
35d699fc7b729377d776

3dd618fcfc3f2177d7d9
39d618fcfc3f2177d7d5
35d618fcfc3f2177d7d1

3dd69a7e35a3d477d72d
39d69a7e35a3d477d729
35d69a7e35a3d477d725

George D. Nincehelser

unread,
Sep 23, 2019, 4:11:05 PM9/23/19
to rtl_433
Still not understanding the inversion... whatever it is, it's staying inverted.  ???

Anyway, the first 2 bits appear to be the channel.  I tested this by flipping the A/B/C switch on the sensor and watching it change.

(these are uninverted)  
00 is Channel A
01 is Channel B
11 is Channel C

The next two bits are 11.  I've no idea what they might mean yet.

Current bitbench string:

CHANNEL:2b xx ~SEQ:2d ~DEVICE:10d x TYPE:7d 8b 8b 8b 8b 8b 8b CHK:8h

(those are uninverted)

--
You received this message because you are subscribed to the Google Groups "rtl_433" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtl_433+u...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rtl_433/bcb8cae2-8561-4aa2-a620-6889ccb85932%40googlegroups.com.

George D. Nincehelser

unread,
Sep 23, 2019, 5:59:30 PM9/23/19
to rtl_433
OK, I think I've made some actual progress into some actual weather data.

If the third byte is "x66", then the last 7 bits of the 7th byte appear to be the rain counter ranging from 0 to 127.

I tested this by manually tipping the rain buckets on the sensor.

George D. Nincehelser

unread,
Sep 23, 2019, 8:01:20 PM9/23/19
to rtl_433
I believe I've found temp and humidity.

CHANNEL:2b xx ~SEQ:2d ~DEVICE:10d ~TYPE:8h x~7d TEMP:x~7bx~7b HUMIDITY:x~7d x ~7d x ~7d CHK:8h

If the third byte is "x65", for temperature, take the last 7 bits of the 5th and 6th bytes for a string of 14 bits.  Convert this to decimal, subtract 400, then divide by 10.  Answer will be in Fahrenheit.

Relative humidity appears to be the last 7 bits of the 7th byte in decimal. 

George D. Nincehelser

unread,
Sep 23, 2019, 8:29:21 PM9/23/19
to rtl_433
Whoops... Make that the last 6 bits of the 5th byte and the last 7 of the 6th byte.  Maybe fewer bits in the most significant byte ??  12 bits total would seem more logical. 

Robert Terzi

unread,
Sep 24, 2019, 11:10:18 AM9/24/19
to George D. Nincehelser, rtl_433
Hi,

Just catching up on a little of this now.  I haven't figured out whether I'm going to get an Atlas yet or not.

If you haven't, it might save you some time looking through the existing code for handling the 5-n-1 and 592TXR/Tower sensor.  The 6045 lightning sensor has a number of similarities.


I don't see an open issue on GitHub covering adding the Atlas support.  It would be helpful to move this thread into a GitHub issue to keep the details together in one place. 

It sounds like you are making good progress with the decoding.

On 9/23/2019 4:10 PM, George D. Nincehelser wrote:
Still not understanding the inversion... whatever it is, it's staying inverted.  ???

Anyway, the first 2 bits appear to be the channel.  I tested this by flipping the A/B/C switch on the sensor and watching it change.

(these are uninverted)  
00 is Channel A
01 is Channel B
11 is Channel C

The next two bits are 11.  I've no idea what they might mean yet.


I haven't followed things closely enough so I'm not sure where the bit inversion is happening.  However, it's worth pointing out that for the other Acurite devices I mentioned, the channel bits are somewhat inverted:

// The high 2 bits of byte zero are the channel (bits 7,6)
//  00 = C
//  10 = B
//  11 = A
static char chLetter[4] = {'C','E','B','A'}; // 'E' stands for error

----

As you've probably noticed, most of the data bytes are 7 bits, because the 8th bit is a parity check.

Regarding the message types, if the Atlas follows the same pattern as the other devices, the message type is only 6 bits.  The 7th bit is battery_ok.  If that's the case, the message types are probably 0x25 and 0x26 instead of 0x65 and 0x66.

#define ACURITE_MSGTYPE_TOWER_SENSOR                    0x04
#define ACURITE_MSGTYPE_6045M                           0x2f
#define ACURITE_MSGTYPE_5N1_WINDSPEED_WINDDIR_RAINFALL  0x31
#define ACURITE_MSGTYPE_5N1_WINDSPEED_TEMP_HUMIDITY     0x38
#define ACURITE_MSGTYPE_WINDSPEED_TEMP_HUMIDITY_3N1     0x20
#define ACURITE_MSGTYPE_RAINFALL                        0x30

That last define looks like it is for the 899 rain gauge, added recently.


On 9/23/2019 8:01 PM, George D. Nincehelser wrote:
I believe I've found temp and humidity.

CHANNEL:2b xx ~SEQ:2d ~DEVICE:10d ~TYPE:8h x~7d TEMP:x~7bx~7b HUMIDITY:x~7d x ~7d x ~7d CHK:8h

If the third byte is "x65", for temperature, take the last 7 bits of the 5th and 6th bytes for a string of 14 bits.  Convert this to decimal, subtract 400, then divide by 10.  Answer will be in Fahrenheit.

Relative humidity appears to be the last 7 bits of the 7th byte in decimal.

On 9/23/2019 8:29 PM, George D. Nincehelser wrote:


Whoops... Make that the last 6 bits of the 5th byte and the last 7 of the 6th byte.  Maybe fewer bits in the most significant byte ??  12 bits total would seem more logical.

The 5 in 1 uses the lower 4 bits of the 5th byte.  Other than that it's the same as the 5-n-1:

// range -40 to 158 F
int temp_raw = (bb[4] & 0x0F) << 7 | (bb[5] & 0x7F);
tempf = (temp_raw - 400) * 0.1;

humidity = (bb[6] & 0x7f); // 1-99 %rH

You might want to take a look at the 5-n-1 for wind direction and speed.  Here are the comments.  I had to correct the table correlating the output from intercepting the aculink messages - I didn't look to see if the comments still match the code:

// Acurite 5n1 Wind direction values.
// There are seem to be conflicting decodings.
// It is possible there there are different versions
// of the 5n1 station that report differently.
//
// The original implementation used by the 5n1 device type
// here seems to have a straight linear/circular mapping.
//
// The newer 5n1 mapping seems to just jump around with no clear
// meaning, but does map to the values sent by Acurite's
// only Acu-Link Internet Bridge and physical console 1512.
// This is may be a modified/non-standard Gray Code.

// Mapping 5n1 raw RF wind direction values to aculink's values
//    RF, AcuLink
//     0,  6,   NW,  315.0
//     1,  8,  WSW,  247.5
//     2,  2,  WNW,  292.5
//     3,  0,    W,  270.0
//     4,  4,  NNW,  337.5
//     5,  A,   SW,  225.0
//     6,  5,    N,    0.0
//     7,  E,  SSW,  202.5
//     8,  1,  ENE,   67.5
//     9,  F,   SE,  135.0
//     A,  9,    E,   90.0
//     B,  B,  ESE,  112.5
//     C,  3,   NE,   45.0
//     D,  D,  SSE,  157.0
//     E,  7,  NNE,   22.5
//     F,  C,    S,  180.0

// From draythomp/Desert-home-rtl_433
// matches acu-link internet bridge values
// The mapping isn't circular, it jumps around.
// units are 22.5 deg
int const acurite_5n1_winddirections[] = {
    14, // 0 - NW
    11, // 1 - WSW
    13, // 2 - WNW
    12, // 3 - W
    15, // 4 - NNW
    10, // 5 - SW
    0,   // 6 - N
    9, // 7 - SSW
    3,  // 8 - ENE
    6, // 9 - SE
    4,  // a - E
    5, // b - ESE
    2,  // c - NE
    7, // d - SSE
    1,  // e - NNE
    8, // f - S
};


Hope this helps,

--Rob

--
You received this message because you are subscribed to the Google Groups "rtl_433" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtl_433+u...@googlegroups.com.

Christian Zuckschwerdt

unread,
Sep 24, 2019, 11:30:54 AM9/24/19
to rtl_433
I'll try to update that with the findings on the three message types in the next few days.

Christian Zuckschwerdt

unread,
Sep 24, 2019, 12:46:05 PM9/24/19
to rtl_433
The findings look very similar to the 5N1. I've copied the decoding from the 5N1 to the feat-atlas branch. The message type 0x27(39) is still unknown. Probably UV Index, Light intensity, or/and Lightning.
Please collect and list some "raw msg" codes and annotated what the fields likely mean.

George D. Nincehelser

unread,
Sep 24, 2019, 3:07:48 PM9/24/19
to rtl_433
I've loaded the feat-atlas branch.

Temp and humidity are decoding fine.

Rainfall, however, is all over the place, changing dramatically each time it is sent.

Wind data doesn't look right at all.  Wind speed is showing more than double than the Atlas display.  (can this be made to display mph for unit consistency?)

Wind direction for the Atlas should be a full 360 degrees (+/- 3 degrees).  The 5n1 only reported 16 directions.  

The Atlas reports direction with an AS5600 hall effect sensor. https://ams.com/as5600  It has 12-bit resolution according to the spec sheet.

George D. Nincehelser

unread,
Sep 24, 2019, 4:30:57 PM9/24/19
to rtl_433
It looks like wind direction, encoded as degrees, is on message type x26 

Here is the decode string I'm using in bitbench: 
CHANNEL:2b xx ~SEQ:2d ~DEVICE:10d xx ~TYPE:6h x~7b DIR:xxx~5bx~5bxx x~7b x~7b x~7b CHK:8h

It looks to be a 10-bit string.  5 bits are the lower part of byte 5.  The other 5 bits are in 7,6,5,4,3 of the next byte, the lower 2 bits aren't used.

Convert the 10-bit string to decimal, and it will yield the direction in degrees as shown on the Atlas display.

Here's some raw sample data.  The commented number is the wind direction in degrees on the display.

[357]
3dd699ff746a7bf63f41
39d699ff746a7bf63f3d
35d699ff746a7bf63f39

[5]
3dd699ffff6a7bf59f2b
39d699ffff6a7bf59f27
35d699ffff6a7bf59f23

[20]
3dd699ffff2e7b74ffce
39d699ffff2e7b74ffca
35d699ffff2e7b74ffc6

[47]
3dd699ff7e427b74ff61
39d699ff7e427b74ff5d
35d699ff7e427b74ff59

[193]
3dd699fff9fa7b743fd4
39d699fff9fa7b743fd0
35d699fff9fa7b743fcc

[117]
3dd699fffcaa7b743f87
39d699fffcaa7b743f83
35d699fffcaa7b743f7f

[163]
3dd699fffa727b749fad
39d699fffa727b749fa9
35d699fffa727b749fa5

[226]
3dd699ffd8f67b749f0f
39d699ffd8f67b749f0b
35d699ffd8f67b749f07

[298]
3dd699fff6567bf3ff6c
39d699fff6567bf3ff68
35d699fff6567bf3ff64

[344]
3dd699fff51e7bf3ff33
39d699fff51e7bf3ff2f
35d699fff51e7bf3ff2b


George D. Nincehelser

unread,
Sep 24, 2019, 7:16:53 PM9/24/19
to rtl_433
It looks like wind speed is done differently on the Atlas than the 5n1.

It appears to be transmitting in actual miles per hour rather than revolutions per a time period.

The fastest I could rev it up (using a dremel tool) was 22mph.

Here is the bitbench decode string.  I haven't integrated it the other decode screens.

CHANNEL:2b xx ~SEQ:2d ~DEVICE:10d xx ~TYPE:6h SPEED:x~7bx~1b ~6b x~7b x~7b x~7b x~7b CHK:8h

I looks like the 7 lower bits of the 4th byte and the 7th bit of the 5th byte.

Here's the raw data.  The commented section is the speed shown on the display in mph.

[1mph]
3dd699ffbed272f03fe4
39d699ffbed272f03fe0
35d699ffbed272f03fdc

[7mph]
3dd618fc9ffffff03ffb
39d618fc9ffffff03ff7
35d618fc9ffffff03ff3

[15mph]
3dd69a78171bc9de3f45
39d69a78171bc9de3f41
35d69a78171bc9de3f3d

[19mph]
3dd618f69fff7d5a9f3d
39d618f69fff7d5a9f39
35d618f69fff7d5a9f35

[22mph]
3dd69a74d712ca5a9fd5
39d69a74d712ca5a9fd1
35d69a74d712ca5a9fcd

George D. Nincehelser

unread,
Sep 24, 2019, 9:03:14 PM9/24/19
to rtl_433
Attempting to consolidate my notes.

Acurite Atlas Message Type Format


Message Type 0x25 (Wind Speed, Temperature, Relative Humidity, ???)

Byte 1   Byte 2   Byte 3   Byte 4   Byte 5   Byte 6   Byte 7   Byte 8   Byte 9   Byte 10
ccuussdd pddddddd pb011011 pWWWWWWW pWTTTTTT pTTTTTTT pHHHHHHH puuuuuuu puuuuuuu kkkkkkkkk



Message Type 0x26 (Wind Speed, Wind Vector, Rain Counter, ???)

Byte 1   Byte 2   Byte 3   Byte 4   Byte 5   Byte 6   Byte 7   Byte 8   Byte 9   Byte 10
ccuussdd pddddddd pb011100 pWWWWWWW pWuVVVVV pVVVVVuu pRRRRRRR puuuuuuu puuuuuuu kkkkkkkkk



Message Type 0x27 (Wind Speed, ???) 

Byte 1   Byte 2   Byte 3   Byte 4   Byte 5   Byte 6   Byte 7   Byte 8   Byte 9   Byte 10
ccuussdd pddddddd pb011101 pWWWWWWW pWuuuuuu puuuuuuu puuuuuuu puuuuuuu puuuuuuu kkkkkkkkk

b = bATTERY
c = cHANNEL
d = dEVICE
k = CHECkSUM
p = pARITY
s = sEQUENCE
u = uNKNOWN

H = relative Humidity (percent)
R = Rain (0.01 inch bucket tip count)
T = Temperature (Fahrenheit.  Subtract 400 then divide by 10.)
V = wind Vector (degrees decimal)
W = Wind speed (miles per hour)

George D. Nincehelser

unread,
Sep 24, 2019, 11:33:11 PM9/24/19
to rtl_433
UV and Lux data

Message type 0x27.

Bitbench string: CHANNEL:2b xx ~SEQ:2d ~DEVICE:10d xx ~TYPE:6h SPEED:x~7bx~1b UV:~6d LUX:x~7bx~7b x~7b x~7b CHK:8h

Lux is needs to multiplied by 10.

I tested this by using an LED flashlight with 5 brightness settings.  Fenix UC35 V2.0 https://www.amazon.com/gp/product/B07CRN1YBH

In a dark room, I held the flashlight directly up against the light sensor.

Here's the raw data.  I neglected to write down the UV reading on the early tests.

[61420 Lux]
3dd618ff7e508159ffd9
39d618ff7e508159ffd5
35d618ff7e508159ffd1

[63530 Lux]
3dd618ff7d4e2e59ff83
39d618ff7d4e2e59ff7f
35d618ff7d4e2e59ff7b

[162K Lux]
3dd618fffc00de59ff64
39d618fffc00de59ff60
35d618fffc00de59ff5c

[163K Lux]
3dd618fff9000059ff83
39d618fff9000059ff7f
35d618fff9000059ff7b

[2310 Lux]
3dd618ffff7e1859ff1f
39d618ffff7e1859ff1b
35d618ffff7e1859ff17

[133K Lux]
3dd618ff7d17bd59ffdb
39d618ff7d17bd59ffd7
35d618ff7d17bd59ffd3

[120K Lux]
3dd618ff7d220a59ff33
39d618ff7d220a59ff2f
35d618ff7d220a59ff2b

[5210 Lux]
3dd618ff7e7bf659ff79
39d618ff7e7bf659ff75
35d618ff7e7bf659ff71

[105K Lux]
3dd618ff7e2d1b59ff50
39d618ff7e2d1b59ff4c
35d618ff7e2d1b59ff48

[163K Lux, 6 UV]
3dd618fff9000059ff83
39d618fff9000059ff7f
35d618fff9000059ff7b

[163K Lux, 15 UV]
3dd618fff0000059ff7a
39d618fff0000059ff76
35d618fff0000059ff72

[163K Lux, 6 UV]
3dd618fff9000059ff83
39d618fff9000059ff7f
35d618fff9000059ff7b

[163K Lux, 3 UV]
3dd618fffc000059ff86
39d618fffc000059ff82
35d618fffc000059ff7e

[117K Lux, UV 1]
3dd618ff7e242859ff54
39d618ff7e242859ff50
35d618ff7e242859ff4c


 

Christian Zuckschwerdt

unread,
Sep 25, 2019, 2:30:40 AM9/25/19
to rtl_433
Great work! Easy to implement this way, thanks! I'll update the branch asap.
That leaves the lightning messages open? Perhaps a 4th message type that's only send when there is an actual lightning strike?

Robert Terzi

unread,
Sep 25, 2019, 10:57:21 AM9/25/19
to rtl...@googlegroups.com
On 9/25/2019 2:30 AM, Christian Zuckschwerdt wrote:
> Great work! Easy to implement this way, thanks! I'll update the branch asap.
> That leaves the lightning messages open? Perhaps a 4th message type that's only send when there is an actual lightning strike?

Judging by the other Acurite devices, I'd be surprised if there wasn't a periodic update to sync the console state.  If there are only 3 periodic message types, it's like to be in one of the unknown bytes like the unknown 8th/9th byte.

With the 6045 lightning sensor it was possible to simulate lightning by bringing the device in proximity with something that generates some amount of RFI like the spark on a flame igniter.  I also accidentally found out I could trigger it by passing it quickly over my desk very close to my laptop/cables.

Also note, typically the device ID byte does not use parity so it can use all 8 bits in that byte as part of the ID. Parity is only used in the data bytes.

Hope this helps,
--Rob


George D. Nincehelser

unread,
Sep 25, 2019, 11:25:29 AM9/25/19
to rtl_433
I'm working on the lightning now.  It appears to be a rolling counter in the 8th and 9th bytes.

I found I can generate some fake strikes by playing around with my dremel tool.  Sometimes it gives an interference, but often it will register a strike.

I don't know about distance yet.

I'll remove the parity byte from the ID on my chart.  Thanks!

George D. Nincehelser

unread,
Sep 25, 2019, 12:17:33 PM9/25/19
to rtl_433
The counter looks like it's 9 bits!  I'm not sure why they'd make it so large.  I don't know if I can generate enough strikes with my dremel tool to make it roll over.

So I'm going to reset the sensor, but I decided to see what it would do with the lightning sensor removed.

Now I get this:

time      : 2019-09-25 11:09:55
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 64           data      : 7dd6b8ffffffff0d,
len       : 64           data      : 79d6b8ffffffff09,
len       : 64           data      : 75d6b8ffffffff05,
len       : 0            data      :
codes     : {64}7dd6b8ffffffff0d, {64}79d6b8ffffffff09, {64}75d6b8ffffffff05, {0}
acurite_txr_decode: Acurite 5n1 sensor 0x0229 Ch B, Status 00, Unknown message type 0x07
acurite_txr_decode: Acurite 5n1 sensor 0x0629 Ch B, Status 00, Unknown message type 0x07
acurite_txr_decode: Acurite 5n1 sensor 0x0A29 Ch B, Status 00, Unknown message type 0x07
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-09-25 11:10:06
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 64           data      : 7dd63afff67e4d53,
len       : 64           data      : 79d63afff67e4d4f,
len       : 64           data      : 75d63afff67e4d4b,
len       : 0            data      :
codes     : {64}7dd63afff67e4d53, {64}79d63afff67e4d4f, {64}75d63afff67e4d4b, {0}
acurite_txr_decode: Acurite 5n1 sensor 0x0229 Ch B, Status 00, Unknown message type 0x05
acurite_txr_decode: Acurite 5n1 sensor 0x0629 Ch B, Status 00, Unknown message type 0x05
acurite_txr_decode: Acurite 5n1 sensor 0x0A29 Ch B, Status 00, Unknown message type 0x05
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2019-09-25 11:10:16
model     : atlas        count     : 4             num_rows  : 4             rows      :
len       : 64           data      : 7dd639ff74ebffef,
len       : 64           data      : 79d639ff74ebffeb,
len       : 64           data      : 75d639ff74ebffe7,
len       : 0            data      :
codes     : {64}7dd639ff74ebffef, {64}79d639ff74ebffeb, {64}75d639ff74ebffe7, {0}
acurite_txr_decode: Acurite 5n1 sensor 0x0229 Ch B, Status 00, Unknown message type 0x06
acurite_txr_decode: Acurite 5n1 sensor 0x0629 Ch B, Status 00, Unknown message type 0x06
acurite_txr_decode: Acurite 5n1 sensor 0x0A29 Ch B, Status 00, Unknown message type 0x06


So it looks like when you don't have the lightning module installed, bytes 8 and 9 aren't transmitted, and it appears to upset RTL_433.

Christian Zuckschwerdt

unread,
Sep 25, 2019, 12:42:57 PM9/25/19
to rtl_433
The counter looks like it's 9 bits!  I'm not sure why they'd make it so large.  I don't know if I can generate enough strikes with my dremel tool to make it roll over.

If there ever was a good reason to build a tesla coil, it's this! Or maybe a Van de Graaff generator, might be safer.
I salvaged a transformer from a broken microwave oven -- makes for serious sparks. Not saying that you should do any of that -- there is a real chance to badly hurt yourself!

Christian Zuckschwerdt

unread,
Sep 25, 2019, 1:52:22 PM9/25/19
to rtl_433
If have updated the branch. Note that you can easily replay and check captured codes with:

rtl_433 -R 40 -y 3dd699ff746a7bf63f41
(should show the wind dir of 357 from your notes.)

Some notes:
- 13 bits for Temp is too much, should only be 11 bits. (raw 0-2000, i.e 2^11=2048)
- 10 bits for Vector is too much, should only be 9 bits. (raw 0-359, i.e. 2^9=512)
- 7 bits for Rain not enough, should reasonably be 10 bits? (raw 0-999, i.e. 2^10=1024, but spec says 99.99 ?)
- 6 bits for UV is too much, should only be 4 bits. (0-15, i.e. 2^4=16)

I've also added raw "byte 8", "byte 9", and "8<<7+9" for easier readout.

George D. Nincehelser

unread,
Sep 25, 2019, 3:27:05 PM9/25/19
to rtl_433
I've loaded the latest commit.

So far everything is consistent with displayed values!

For rain, the sensor doesn't keep track of the rain accumulation per se.  Keeping track of accumulation is the responsibility of the receiving device, including counter roll-overs.

So, for example, if the rain counter in the sensor is at 100 bucket tips, a newly added display will start off at 0.00" of accumulation.  If the rain counter increases to 105, then the display will show 0.05" of accumulation.  The rain counter in the sensor is unlikely to match the rain accumulation on the display unless they both happen to start at zero.

The lightning counter seems to work the same way.  For example, when I pulled out the lightning module earlier today, the lightning counter from the sensor went to zero.  However, the display still retains its lightning count.  Eventually that count will age out from the display, either in 24 hours or at midnight I'd guess.

So the lightning counter looks to be 9 bits.   The remaining 5 bits must hold the distance and a status regarding interference, but I haven't been able to figure it out.

Also, on the Atlas specs, the light intensity range is stated in lumens.  However, the transmitted and displayed values are in lux (lumens per square meter).  Lumens doesn't seem to be used anywhere.   From my tests, the displayed lux caps out at 163K.

Jerome Helbert

unread,
Dec 26, 2019, 4:52:35 PM12/26/19
to rtl_433
Has there been any more effort here?

I've finally replaced my ailing 5-in-1 with an Atlas and was hoping the Atlas implementation in rtl_433 was further along. I don't have a lightning detector in mine (yet, it should be here Saturday) so as a drop in it's not working. I was going to start working to make the code work for the no lightning sensor scenario (I was going to move the atlas specific message types into the 5n1 bitlen case - or more likely "generalize" the 8 byte message case since it handles 5n1, 3n1, and lightning detector-less atlases) but I wanted to make sure I was starting with the latest codebase.

As best as I can tell you guys were making quite a bit of progress on this until 9/25 and then I can't find any more rtl_433/atlas discussions on the googles. 

Christian Zuckschwerdt

unread,
Dec 27, 2019, 6:45:21 AM12/27/19
to rtl_433
There is some testing code in https://github.com/merbanan/rtl_433/pull/1124

Someone with access to the device needs to check, decode, and document the fields (esp. UV, but wind is also just a wild guess so far).

Jerome Helbert

unread,
Dec 27, 2019, 2:20:09 PM12/27/19
to rtl_433
Yeah, I had pulled that branch down already and have been using it as my baseline. Since it looked like there hadn't been an update in 3 months, I just wanted to make sure it hadn't continued somewhere else.

I did get it working with my lightning sensor free atlas, I think the easiest way to add it is to remove the dependency in acurite_txr_decode() on the browlen and instead just look at the message_type for everything. Since it looks like all acurite sensors managed by the function have the message_type in the same set of bits, we can just check for one of the 3 atlas message types instead of the atlas message length (then we just use atlas message length or not to determine if we should decode bytes 8 and 9 or not.) This can also be applied to the other sensor types as well (5 in 1, 3 in 1, etc)

I don't know if its my atlas or if its a result of not having the lightning sensor, but I had to change my message types for the atlas from 0x25, 0x26, 0x27 to 0x05, 0x06, 0x07. I should be able to confirm tomorrow after my lightning sensor comes in.

acurite_txr_decode: bitbuffer:: Number of rows: 4
[00] {64} c0 de c5 00 88 4d 33 6b
[01] {64} c4 de c5 00 88 4d 33 6f
[02] {64} c8 de c5 00 88 4d 33 73
[03] { 0}                         :
acurite_txr_decode: row 0 bits 64, bytes 8
acurite_txr_decode: Parity: 00000001
acurite_txr_decode: Acurite 5n1 raw msg: {64} c0 de c5 00 88 4d 33 6b
acurite_txr_decode: Acurite 5n1 sensor 0x00DE Ch A, Status 00, Unknown message type 0x05
acurite_txr_decode: row 1 bits 64, bytes 8
acurite_txr_decode: Parity: 10000000
acurite_txr_decode: Acurite 5n1 raw msg: {64} c4 de c5 00 88 4d 33 6f
acurite_txr_decode: Acurite 5n1 sensor 0x04DE Ch A, Status 00, Unknown message type 0x05
acurite_txr_decode: row 2 bits 64, bytes 8
acurite_txr_decode: Parity: 10000001
acurite_txr_decode: Acurite 5n1 raw msg: {64} c8 de c5 00 88 4d 33 73
acurite_txr_decode: Acurite 5n1 sensor 0x08DE Ch A, Status 00, Unknown message type 0x05
acurite_txr_decode: row 3 bits 0, bytes 0
acurite_986_decode: row 0 bits 206, bytes 5
acurite_986_decode: skipping wrong len
RH ASK preamble not found

acurite_txr_decode: bitbuffer:: Number of rows: 4
[00] {64} c0 de c6 00 0a fc 00 6a
[01] {64} c4 de c6 00 0a fc 00 6e
[02] {64} c8 de c6 00 0a fc 00 72
[03] { 0}                         :
acurite_txr_decode: row 0 bits 64, bytes 8
acurite_txr_decode: Parity: 00000000
acurite_txr_decode: Acurite 5n1 raw msg: {64} c0 de c6 00 0a fc 00 6a
acurite_txr_decode: Acurite 5n1 sensor 0x00DE Ch A, Status 00, Unknown message type 0x06
acurite_txr_decode: row 1 bits 64, bytes 8
acurite_txr_decode: Parity: 10000001
acurite_txr_decode: Acurite 5n1 raw msg: {64} c4 de c6 00 0a fc 00 6e
acurite_txr_decode: Acurite 5n1 sensor 0x04DE Ch A, Status 00, Unknown message type 0x06
acurite_txr_decode: row 2 bits 64, bytes 8
acurite_txr_decode: Parity: 10000000
acurite_txr_decode: Acurite 5n1 raw msg: {64} c8 de c6 00 0a fc 00 72
acurite_txr_decode: Acurite 5n1 sensor 0x08DE Ch A, Status 00, Unknown message type 0x06
acurite_txr_decode: row 3 bits 0, bytes 0
acurite_986_decode: row 0 bits 206, bytes 5
acurite_986_decode: skipping wrong len
RH ASK preamble not found


acurite_txr_decode: bitbuffer:: Number of rows: 4
[00] {64} c0 de 47 00 00 00 00 e5
[01] {64} c4 de 47 00 00 00 00 e9
[02] {64} c8 de 47 00 00 00 00 ed
[03] { 0}                         :
acurite_txr_decode: row 0 bits 64, bytes 8
acurite_txr_decode: Parity: 00000001
acurite_txr_decode: Acurite 5n1 raw msg: {64} c0 de 47 00 00 00 00 e5
acurite_txr_decode: Acurite 5n1 sensor 0x00DE Ch A, Status 00, Unknown message type 0x07
acurite_txr_decode: row 1 bits 64, bytes 8
acurite_txr_decode: Parity: 10000001
acurite_txr_decode: Acurite 5n1 raw msg: {64} c4 de 47 00 00 00 00 e9
acurite_txr_decode: Acurite 5n1 sensor 0x04DE Ch A, Status 00, Unknown message type 0x07
acurite_txr_decode: row 2 bits 64, bytes 8
acurite_txr_decode: Parity: 10000000
acurite_txr_decode: Acurite 5n1 raw msg: {64} c8 de 47 00 00 00 00 ed
acurite_txr_decode: Acurite 5n1 sensor 0x08DE Ch A, Status 00, Unknown message type 0x07
acurite_txr_decode: row 3 bits 0, bytes 0
acurite_986_decode: row 0 bits 206, bytes 5
acurite_986_decode: skipping wrong len
RH ASK preamble not found

As soon as I changed my message type def's to match the driver started decoding everything as expected.

Jerome Helbert

unread,
Dec 27, 2019, 6:52:45 PM12/27/19
to rtl_433
I was reading back through the topic and a realized the george has already noticed the same message type differences. So it looks like the message types (assuming a 6 bit field) are actually going to be different between having a lightning sensor (0x25, 0x26, and 0x27) vs no lightning sensor (0x05, 0x06, 0x07). Everything within the messages seems to be unchanged, its just has the different message type and is 16 bits shorter.

So again it looks like moving the 5n1/3n1/rain899/atlas away from browlen to just decoding based on message type would fix decode this easier.

Jerome Helbert

unread,
Dec 29, 2019, 12:55:17 AM12/29/19
to rtl_433
Lightning sensor came in today, sure enough it switched the message_types over to 0x25, 0x26, and 0x27. For now I have just gone ahead and doubled the number of message types for the Atlas:
#define ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM           0x05
#define ACURITE_MSGTYPE_ATLAS_WNDSPD_RAIN               0x06
#define ACURITE_MSGTYPE_ATLAS_WNDSPD_UV_LUX             0x07
#define ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM_LTNG      0x25
#define ACURITE_MSGTYPE_ATLAS_WNDSPD_RAIN_LTNG          0x26
#define ACURITE_MSGTYPE_ATLAS_WNDSPD_UV_LUX_LTNG        0x27


Given that it's december, I doubt I will get any real world lightning data for a few months, but just looking at the no-lightning state seems to line up perfectly what what is documented for the 6045 lightning sensor. I am seeing 0x00 0x9f (0x00 0x1f without parity)for bytes 8 and 9 which would map to the 6045s bytes 6 and 7 if it had not registered any strikes:
Byte 6 - Lightning Strike count (7 bits, 8th is parity)
- 0x80 - even parity
- 0x7F - strike count (wraps at 127)
   Stored in EEPROM (or something non-volatile)
   @todo Does it go from 127 to 1, or to 0?

Byte 7 - Edge of Storm Distance Approximation
- Bits PSSDDDDD  (P = Parity, S = Status, D = Distance
- 0x80 - even parity
- 0x40 - USSB1 (unknown strike status bit) - (possible activity?)
   currently decoded into "ussb1" output field
   @todo needs understanding
- 0x20 - RFI (radio frequency interference)
   @todo needs cross-checking with light and/or console
- 0x1F - distance to edge of storm (theory)
   value 0x1f is possible invalid value indication (value at power up)
   @todo determine if miles, km, or something else
   Note: Distance sometimes goes to 0 right after strike counter increment.
         Status bits might indicate validity of distance.

I'm willing to bet that bytes 8 and 9 of the Atlas messages are implemented the same way. I'm going to go ahead and implement it as such and see if I can find some way to test it.

Jerome Helbert

unread,
Dec 29, 2019, 1:01:34 AM12/29/19
to rtl_433
In addition to adding the lightning/no lightning messages types, I now have it entering the Atlas specific code block with the following conditional instead of just using the browlen value:
if ((message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM || 
     message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_RAIN || 
     message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_UV_LUX ||
     message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM_LTNG || 
     message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_RAIN_LTNG || 
     message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_UV_LUX_LTNG)) {

Each message type then gets triggered by something like:
if (message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM || 
    message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM_LTNG) {

And after the if statements for the 3 message types we then have a block for only messages with bytes 8 and 9:
if ((message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM_LTNG || 
     message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_RAIN_LTNG || 
          message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_UV_LUX_LTNG)) {

Chris Morris

unread,
Dec 31, 2019, 9:29:04 AM12/31/19
to rtl_433
Hi Jerome (and all).

Could you maybe tell me where these modifications need to be made?  I am a newbie to WeeWX and want to start logging my own Atlas data.  I am currently pursuing using SDR/rtl_433 for this, and your posts just happen to coincide with what I have been trying to figure out for a couple weeks, though obviously my learning curve is impacting my success.  :)

Jerome Helbert

unread,
Jan 1, 2020, 5:56:56 PM1/1/20
to rtl_433
The modifications I made are only necessary if your Atlas doesn't have a lightning sensor. I'll go ahead and update the version I have been using for the last few days, just be warned that it's only lightly tested and comes with no guarantees.
acurite_jrh_updates.c

Jerome Helbert

unread,
Jan 2, 2020, 10:38:18 PM1/2/20
to rtl_433
I think the UV field is at least one bit too large. I just noticed I logged a single value of 32 at 5:45 tonight (about an hour after sundown) preceded and followed entirely by 0s. It looks like this is the only time I have recorded anything like this in the 6 days I've been recording values (feeding into weewx and every loop packet is logged into an influxdb so I can see every value decoded without any type of aggregation)

So UV is probably at most 5 bit instead of 6, but then you have to wonder what the bit between wind speed and UV is in the 0x07/0x27 packet. I am going to change my code locally and let it run for awhile.


On Friday, December 27, 2019 at 5:45:21 AM UTC-6, Christian Zuckschwerdt wrote:
Message has been deleted

Jerome Helbert

unread,
Jan 2, 2020, 10:43:31 PM1/2/20
to rtl_433

Atlas_6bit_UV_Gltich.PNG

Matthew Rivett

unread,
Mar 8, 2020, 5:10:07 PM3/8/20
to rtl_433
I just got an Atlas to replace my dying 5n1.  I can help record data to finish the decoding.  First I need to learn how to download the code you have mentioned here...  I'm not so good with git.  Can you help?

Matthew Rivett

unread,
Mar 8, 2020, 8:38:42 PM3/8/20
to rtl_433
I was able to use ChrisM510's writeup on connecting to WeeWX to download the feat-atlas pull request.  What details do you still need?  

cd rtl_433
git checkout feat-atlas
mkdir build
cd build
cmake ..
make
sudo make install


time      : 2020-03-09 00:34:40
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 0           battery_ok: 1             message_type: 37          Wind Speed: 2.0 mi/h      temperature: 51.7 F       humidity  : 28 %          byte8     : 5             byte9     : 100           byte89    : 740
acurite_txr_decode: Acurite Atlas raw msg: {80} 8a f3 65 81 87 95 9c 05 e4 04
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:34:40
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 2           battery_ok: 1             message_type: 37          Wind Speed: 2.0 mi/h      temperature: 51.7 F       humidity  : 28 %          byte8     : 5             byte9     : 100           byte89    : 740
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:34:43

time      : 2020-03-09 00:36:33
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 0           battery_ok: 1             message_type: 39          Wind Speed: 3.0 mi/h      uv        : 0             lux       : 0             byte8     : 5             byte9     : 100           byte89    : 740
acurite_txr_decode: Acurite Atlas raw msg: {80} 86 f3 e7 81 c0 00 00 05 e4 8a
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:36:33
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 1           battery_ok: 1             message_type: 39          Wind Speed: 3.0 mi/h      uv        : 0             lux       : 0             byte8     : 5             byte9     : 100           byte89    : 740
acurite_txr_decode: Acurite Atlas raw msg: {80} 8a f3 e7 81 c0 00 00 05 e4 8e
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:36:33
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 2           battery_ok: 1             message_type: 39          Wind Speed: 3.0 mi/h      uv        : 0             lux       : 0             byte8     : 5             byte9     : 100           byte89    : 740
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:37:03
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 1           battery_ok: 1             message_type: 39          Wind Speed: 4.0 mi/h      uv        : 0             lux       : 0             byte8     : 5             byte9     : 100           byte89    : 740
acurite_txr_decode: Acurite Atlas raw msg: {80} 8a f3 e7 82 00 00 00 05 e4 cf
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:37:03
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 2           battery_ok: 1             message_type: 39          Wind Speed: 4.0 mi/h      uv        : 0             lux       : 0             byte8     : 5             byte9     : 100           byte89    : 740
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

time      : 2020-03-09 00:37:24
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 0           battery_ok: 1             message_type: 38          Wind Speed: 4.0 mi/h      wind_dir_deg: 236.0       Rainfall Accumulation: 1.40 in                      byte8     : 5             byte9     : 100           byte89    : 740
acurite_txr_decode: Acurite Atlas raw msg: {80} 86 f3 66 82 87 b1 0c 05 e4 8e
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
time      : 2020-03-09 00:37:24
model     : Acurite-Atlas id        : 755
channel   : B            sequence_num: 1           battery_ok: 1             message_type: 38          Wind Speed: 4.0 mi/h      wind_dir_deg: 236.0       Rainfall Accumulation: 1.40 in                      byte8     : 5             byte9     : 100           byte89    : 740
acurite_txr_decode: Acurite Atlas raw msg: {80} 8a f3 66 82 87 b1 0c 05 e4 92
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

Jerome Helbert

unread,
Mar 19, 2020, 6:25:23 PM3/19/20
to rtl_433
Finally got our first thunderstorm since I installed this and it looks the the lightning code I implemented based on the 6045 code is at least very close:

Atlas Lightning.PNG


I don't see anything glaringly obvious, the min/max levels reported are within the expected ranges, although it only got down to 7km. That might have just been my storm or maybe I am missing bits somewhere. I will have to monitor.  Given the amount of lightning we should have had today, I feel like the count should have been higher and I am wondering if maybe I need to add one more LSB to the count field. Additionally you can see where the distance field updates sometimes but there is no corresponding count increase.

I don't have a console or anything to compare the real results to, so I'm going to have to parse through the bit fields to see what makes sense...

As for everything else, I haven't seen any anomalies with any of the other fields since I last updated.

Jerome Helbert

unread,
Mar 19, 2020, 11:52:59 PM3/19/20
to rtl_433
Ok, looks like the following code works pretty good. There is no rfi or ussb1 bits, just count and distance:
            if ((message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_TEMP_HUM_LTNG || 
                 message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_RAIN_LTNG || 
                 message_type == ACURITE_MSGTYPE_ATLAS_WNDSPD_UV_LUX_LTNG)) {
                int byte8  = (bb[7] & 0x7f);
                int byte9  = (bb[8] & 0x7f);
                
                int strike_count = ((bb[7] & 0x7f) << 2) | ((bb[8] & 0x60) >> 5);
                int strike_distance = bb[8] & 0x1f;

                /* clang-format off */
                data = data_append(data,
                        "strike_count",         NULL,           DATA_INT, strike_count,
                        "strike_distance",      NULL,           DATA_INT, strike_distance
                        NULL);
                /* clang-format on */
            }

Matthew Rivett

unread,
Mar 20, 2020, 9:09:56 AM3/20/20
to rtl_433
If you stick a memory card into the display it will create a CSV like attached.  If the decoder wrote out the raw data it should make it easier to analyze I'd think.
20200319.csv

Matthew Rivett

unread,
Mar 20, 2020, 10:43:17 AM3/20/20
to rtl_433
Here is the corresponding data I logged into Splunk.
atlas.zip

Chris Morris

unread,
Mar 28, 2020, 6:19:12 AM3/28/20
to rtl_433
Hi Jerome,

I just saw this...  Can you tell me exactly what file this code needs to be added to and what post-insertion actions I need to take to make use of this?  I am running just the feat-atlas branch of RTL_433....no modifications.

On Thursday, March 19, 2020 at 11:52:59 PM UTC-4, Jerome Helbert wrote:

Jerome Helbert

unread,
Mar 30, 2020, 10:39:49 PM3/30/20
to rtl_433
Here is a copy of my acurite.c, We had another thunderstorm roll through since I made my last updates and everything about the lightning looks good. I have not had any issues with any of the other fields that we have decoded.

There are still a number of bits in the messages from the Atlas that are directly mapped to anything, not sure if there is real data there or what it might be.
acurite.c

Gil Hutcheson

unread,
Apr 5, 2020, 9:55:49 AM4/5/20
to rtl_433
I used the new acurite.c. The data seems to be coming into weewx but not parsed. Here is a dump including the external sensor that seems to parse correctly:

out:[u'{"time" : "2020-04-05 13:18:50", "model" : "Acurite-Atlas", "id" : 579, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 2.000, "uv" : 1, "lux" : 12540, "strike_count" : 78, "strike_distance" : 0}\n', u'{"time" : "2020-04-05 13:18:50", "model" : "Acurite-Atlas", "id" : 579, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 2.000, "uv" : 1, "lux" : 12540, "strike_count" : 78, "strike_distance" : 0}\n', u'{"time" : "2020-04-05 13:18:50", "model" : "Acurite-Atlas", "id" : 579, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 2.000, "uv" : 1, "lux" : 12540, "strike_count" : 78, "strike_distance" : 0}\n']

parsed: {'channel.0243.AcuriteAtlasPacket': u'A', 'message_type.0243.AcuriteAtlasPacket': 39, 'wind_speed.0243.AcuriteAtlasPacket': 2.0, 'lux.0243.AcuriteAtlasPacket': 12540, 'model.0243.AcuriteAtlasPacket': u'Acurite-Atlas', 'dateTime': 1586092730, 'sequence_num.0243.AcuriteAtlasPacket': 0, 'uv.0243.AcuriteAtlasPacket': 1, 'usUnits': 1, 'battery.0243.AcuriteAtlasPacket': 0}
parsed: {'channel.0243.AcuriteAtlasPacket': u'A', 'message_type.0243.AcuriteAtlasPacket': 39, 'wind_speed.0243.AcuriteAtlasPacket': 2.0, 'lux.0243.AcuriteAtlasPacket': 12540, 'model.0243.AcuriteAtlasPacket': u'Acurite-Atlas', 'dateTime': 1586092730, 'sequence_num.0243.AcuriteAtlasPacket': 1, 'uv.0243.AcuriteAtlasPacket': 1, 'usUnits': 1, 'battery.0243.AcuriteAtlasPacket': 0}
parsed: {'channel.0243.AcuriteAtlasPacket': u'A', 'message_type.0243.AcuriteAtlasPacket': 39, 'wind_speed.0243.AcuriteAtlasPacket': 2.0, 'lux.0243.AcuriteAtlasPacket': 12540, 'model.0243.AcuriteAtlasPacket': u'Acurite-Atlas', 'dateTime': 1586092730, 'sequence_num.0243.AcuriteAtlasPacket': 2, 'uv.0243.AcuriteAtlasPacket': 1, 'usUnits': 1, 'battery.0243.AcuriteAtlasPacket': 0}

External sensor:

out:[u'{"time" : "2020-04-05 13:18:54", "model" : "Acurite Lightning 6045M", "id" : 241, "channel" : "B", "battery" : "OK", "temperature_F" : 50.000, "humidity" : 73, "strike_count" : 2, "storm_dist" : 24, "active" : 1, "rfi" : 0, "ussb1" : 1, "exception" : 0, "raw_msg" : "80f16fc9cf5082d822"}\n', u'{"time" : "2020-04-05 13:18:54", "model" : "Acurite Lightning 6045M", "id" : 241, "channel" : "B", "battery" : "OK", "temperature_F" : 50.000, "humidity" : 73, "strike_count" : 2, "storm_dist" : 24, "active" : 1, "rfi" : 0, "ussb1" : 1, "exception" : 0, "raw_msg" : "80f16fc9cf5082d822"}\n', u'{"time" : "2020-04-05 13:18:54", "model" : "Acurite Lightning 6045M", "id" : 241, "channel" : "B", "battery" : "OK", "temperature_F" : 50.000, "humidity" : 73, "strike_count" : 2, "storm_dist" : 24, "active" : 1, "rfi" : 0, "ussb1" : 1, "exception" : 0, "raw_msg" : "80f16fc9cf5082d822"}\n']
parsed: {'rfi.00F1.AcuriteLightningPacket': 0, 'humidity.00F1.AcuriteLightningPacket': 73, 'temperature.00F1.AcuriteLightningPacket': 50.0, 'active.00F1.AcuriteLightningPacket': 1, 'dateTime': 1586092734, 'strikes_total.00F1.AcuriteLightningPacket': 2, 'battery.00F1.AcuriteLightningPacket': 0, 'ussb1.00F1.AcuriteLightningPacket': 1, 'channel.00F1.AcuriteLightningPacket': u'B', 'distance.00F1.AcuriteLightningPacket': 24, 'exception.00F1.AcuriteLightningPacket': 0, 'usUnits': 1}
parsed: {'rfi.00F1.AcuriteLightningPacket': 0, 'humidity.00F1.AcuriteLightningPacket': 73, 'temperature.00F1.AcuriteLightningPacket': 50.0, 'active.00F1.AcuriteLightningPacket': 1, 'dateTime': 1586092734, 'strikes_total.00F1.AcuriteLightningPacket': 2, 'battery.00F1.AcuriteLightningPacket': 0, 'ussb1.00F1.AcuriteLightningPacket': 1, 'channel.00F1.AcuriteLightningPacket': u'B', 'distance.00F1.AcuriteLightningPacket': 24, 'exception.00F1.AcuriteLightningPacket': 0, 'usUnits': 1}
parsed: {'rfi.00F1.AcuriteLightningPacket': 0, 'humidity.00F1.AcuriteLightningPacket': 73, 'temperature.00F1.AcuriteLightningPacket': 50.0, 'active.00F1.AcuriteLightningPacket': 1, 'dateTime': 1586092734, 'strikes_total.00F1.AcuriteLightningPacket': 2, 'battery.00F1.AcuriteLightningPacket': 0, 'ussb1.00F1.AcuriteLightningPacket': 1, 'channel.00F1.AcuriteLightningPacket': u'B', 'distance.00F1.AcuriteLightningPacket': 24, 'exception.00F1.AcuriteLightningPacket': 0, 'usUnits': 1}

Jerome Helbert

unread,
Apr 6, 2020, 1:13:21 PM4/6/20
to rtl_433
Sorry, I also made some modifications to the weewx sdr drive to handle my additional fields. I also added in recording of SNR/RSSI/noise levels. You can ignore most of the new stuff if you want (just dont map it your weewx.conf file)
sdr.py

Gil Hutcheson

unread,
Apr 6, 2020, 1:56:08 PM4/6/20
to rtl_433
Thank you for all of your hard work

Gil Hutcheson

unread,
Apr 6, 2020, 3:11:50 PM4/6/20
to rtl_433
Ok, I am probably missing something here. Weewx is reporting that my Lightning_Strikes = 5538.000000 and the Strike_distance = 0.000000. Parsing data indicates the strike_count = 78 and the strike_distance = 0. Any ideas what I am doing wrong? Also, since there has been no lighting today how is the stike_count reduced to 0 for today?


Sensor map is as follows:

[[sensor_map]]
outTemp = temperature.0243.AcuriteAtlasPacket
outHumidity = humidity.0243.AcuriteAtlasPacket
windSpeed = wind_speed.0243.AcuriteAtlasPacket
windDir = wind_dir.0243.AcuriteAtlasPacket
UV = uv.0243.AcuriteAtlasPacket
#rain_total = Rainfall Accumulation:.0579.AcuriteAtlasPacket
rain_total = rain_total.0243.AcuriteAtlasPacket
radiation = lux.0243.AcuriteAtlasPacket
lux = lux.0243.AcuriteAtlasPacket
Lightning_Strikes = strike_count.0243.AcuriteAtlasPacket #Atlas
#strikes_total = strikes_total.0243.AcuriteAtlasPacket
Strike_distance = strike_distance.0243.AcuriteAtlasPacket #Atlas
extraTemp1 = temperature.00F1.AcuriteLightningPacket #Lightning Sensor
extraHumid1 = humidity.00F1.AcuriteLightningPacket #Lightning Sensor
txBatteryStatus = battery.0243.AcuriteAtlasPacket
windBatteryStatus = battery.0243.AcuriteAtlasPacket
rainBatteryStatus = battery.0243.AcuriteAtlasPacket
outTempBatteryStatus = battery.00F1.AcuriteLightningPacket

Jerome Helbert

unread,
Apr 6, 2020, 3:31:31 PM4/6/20
to rtl_433
Hmmm, So I dont actually look at my weewx skin very often. I usually just reference the data out of an influxdb on a grafana page I have created. The exfoliation skin I do generate doesn't seem to have a lightning count showing up (or I have somehow disabled it) so I can't see what my system is actually reporting there.

My guess is that weewx is treating your strike_count value (78) as the counts per interval, so every time it sees 78, it adds it to a running total (hence the 5538 value for Lightning_Strikes.) For the strike_distance, it does appear that the Atlas retains the last value recorded when a strike was detected. So if you had a strike directly overhead and then no more lightning detect, it would hold onto the 0 mi distance until the next lightning strike was detected.

Gil Hutcheson

unread,
Apr 6, 2020, 5:33:03 PM4/6/20
to rtl_433
Interestingly, we just had a storm roll through. MyAcurite is indicating 52 strikes. The spill coming in from the storm via SDR shows strike_count still at 78. Strike_distance = 0 and storm__dist = 24.I don't see that storm_dist is being parsed. Hope this is helpful.
Message has been deleted

Jerome Helbert

unread,
Apr 6, 2020, 6:23:06 PM4/6/20
to rtl_433
The Atlas keeps a running count, then just rolls over after 511 strikes. This is much the same way that rain is handled. I would suggest changing your SDR portion of weewx.conf to something like this:


 [[sensor_map]]
        outTemp = temperature.0243.AcuriteAtlasPacket
        outHumidity = humidity.0243.AcuriteAtlasPacket
        windSpeed = wind_speed.0243.AcuriteAtlasPacket
        windDir = wind_dir.0243.AcuriteAtlasPacket
        UV = uv.0243.AcuriteAtlasPacket
        #rain_total = Rainfall Accumulation:.0579.AcuriteAtlasPacket
        rain_total = rain_total.0243.AcuriteAtlasPacket
        radiation = lux.0243.AcuriteAtlasPacket
        lux = lux.0243.AcuriteAtlasPacket
        #Lightning_Strikes = strike_count.0243.AcuriteAtlasPacket    #Atlas

        strikes_total = strikes_total.0243.AcuriteAtlasPacket
        Strike_distance = strike_distance.0243.AcuriteAtlasPacket    #Atlas
        extraTemp1 = temperature.00F1.AcuriteLightningPacket    #Lightning Sensor
        extraHumid1 = humidity.00F1.AcuriteLightningPacket    #Lightning Sensor
        txBatteryStatus = battery.0243.AcuriteAtlasPacket
        windBatteryStatus = battery.0243.AcuriteAtlasPacket
        rainBatteryStatus = battery.0243.AcuriteAtlasPacket
        outTempBatteryStatus = battery.00F1.AcuriteLightningPacket
 [[deltas]]
        Lightning_Strikes = strikes_total 

Chris Morris

unread,
Apr 6, 2020, 6:44:50 PM4/6/20
to rtl_433
Exactly what I did on mine for WeeWX (though using the separate Acurite lightning sensor). I still haven't gotten the distance to report correctly, but getting there.

Gil Hutcheson

unread,
Apr 6, 2020, 7:15:24 PM4/6/20
to rtl_433
Thanks.

I copied and pasted it into weewx.conf. Commented out my sensors. We'll see how it goes.

Chris Morris

unread,
Apr 7, 2020, 6:51:01 AM4/7/20
to rtl_433
Can either of you fine gentlemen share what you have for your lightning graph definition in Belchertown skin (I thought I read earlier that you guys were using that skin like I am)?

Here is the snippet from my /etc/weewx/skins/Belchertown/graphs.conf file.  While the lightning strike data appears correct (value only), I cannot get the distance to display properly, the Y-axis labels, and the interval for the strikes (i.e. lightning displays with tenths of a strike...lol).  (Pic is a screenshot from my month-interval, but is same for all intervals)

Capture.JPG

[[Lightning]]
        title
= Lightning
        type
= column
       
[[[Lightning_Strikes]]]
            name
= Lightning
            yAxis
= 0
            yAxis_tickInterval
= 1
            y_label
= "Strike Count"
            stacking
= normal
       
[[[strike_distance]]]
            name
= Average Distance
            yAxis
= 1
            y_label
= "Distance (miles)"
            stacking
= normal

weewx.conf SDR and Accumulator sections:

SDR]
   
# This section is for the software-defined radio driver.
   
   
# The driver to use
    driver
= user.sdr
   
   
[[sensor_map]]
        outTemp
= temperature.0380.AcuriteAtlasPacket
        outHumidity
= humidity.0380.AcuriteAtlasPacket
        windSpeed
= wind_speed.0380.AcuriteAtlasPacket
        windDir
= wind_dir.0380.AcuriteAtlasPacket
        UV
= uv.0380.AcuriteAtlasPacket
        rain_total
= rain_total.0380.AcuriteAtlasPacket
        radiation
= lux.0380.AcuriteAtlasPacket
        strikes_total
= strikes_total.00BC.AcuriteLightningPacket
        strike_dist
= distance.00BC.AcuriteLightningPacket
        extraTemp1
= temperature.1DDA.AcuriteTowerPacket    #Birdhouse
        extraHumid1
= humidity.1DDA.AcuriteTowerPacket    #Birdhouse
        extraTemp2
= temperature.00BC.AcuriteLightningPacket    #Upstairs Outside - Lightning Sensor
        extraHumid2
= humidity.00BC.AcuriteLightningPacket    #Upstairs Outside - Lightning Sensor
        lux
= lux.0380.AcuriteAtlasPacket
   
   
[[deltas]]
        rain
= rain_total
       
Lightning_Strikes = strikes_total
        strike_distance
= strike_dist

~~~~~~~

[Accumulator]
   
[[Lightning_Strikes]]
        extractor
= sum
   
[[strike_distance]]
        extractor
= min
        merger
= minmax
   
[[inTemp]]
        merger
= avg
        extractor
= min


Gil Hutcheson

unread,
Apr 7, 2020, 9:31:17 AM4/7/20
to rtl_433
Hi Chris-

I haven't gotten to that point yet. I will go there once I believe I am capturing the lightning data correctly.

One interesting observation during the latest lightning event, the Atlas and the tower sensor reported very different information. I like the technology, but I am concerned that we are expecting more precision than it is capable of. For example, on a clear day with no precipitation for hundreds of miles I have seen several strikes registered when I don't think there were any strikes. On days when this occurs the strikes seem to be separated by lengthy periods of time. It seems like there could be a formula based on the frequency of strikes to determine if they're a valid storm indicator. Just brainstorming a bit here.

Greg Troxel

unread,
Apr 7, 2020, 9:41:18 AM4/7/20
to Gil Hutcheson, rtl_433
Gil Hutcheson <g...@gilhutcheson.com> writes:

> One interesting observation during the latest lightning event, the
> Atlas and the tower sensor reported very different information. I like
> the technology, but I am concerned that we are expecting more
> precision than it is capable of. For example, on a clear day with no
> precipitation for hundreds of miles I have seen several strikes
> registered when I don't think there were any strikes. On days when
> this occurs the strikes seem to be separated by lengthy periods of
> time. It seems like there could be a formula based on the frequency of
> strikes to determine if they're a valid storm indicator. Just
> brainstorming a bit here.

I suspect you are having false detects from some kind of equipment. I
would try to move the sensor farther away from anything electrical,
especially large motors, but I realize that is easier said than done in
some places.

Probably a big crazy, but it would be interesting to have some code to
correlate the records from various devices. I could see having a few
6045 sensors in different outside places. Plus people in the same
town could cross correlate and there is lightningmaps.org and wwlwn.

Gil Hutcheson

unread,
Apr 7, 2020, 10:05:35 AM4/7/20
to rtl_433
I don't think so. This happens very rarely, many days or months between incidents. When it happens, the false strikes are usually hours apart. Hasn't happened in a couple of months. When it does happen again, it will be interesting to see if the two lightning detectors register the false strikes. They are within 5 feet of each other.

If it was happening frequently, like several times per week or month I might consider moving the atlas.

Jerome Helbert

unread,
Apr 7, 2020, 10:12:22 AM4/7/20
to rtl_433
Anything that makes an arc can falsely trigger the sensor if its close enough. Think about any power tools you use, if it has a brushed DC motor its very likely there are internal sparks while operating it.

Gil Hutcheson

unread,
Apr 7, 2020, 10:32:59 AM4/7/20
to rtl_433
I don't think that is happening usually when it has happened, I am sitting on the couch watching tv (just like I am now). At one point I suspected it was something a neighbor was doing to generate an electrical impulse. My house is situated on a one and three quarter acre lot so they are not close. Also, when I use my electric drill within 6 feet I don't get any false readings. I suspect whatever is producing the impulses could be 1/2 mile or so away.

It is not a problem for me. I just ignore single strikes that occur as not part of a group. If the acurite display starts chirping repeatedly then I check the radar. Now that I have two lightning detectors, they should both pick up the false strikes. If they do, I will move the small one to test other locations.

Gil Hutcheson

unread,
Apr 7, 2020, 4:29:51 PM4/7/20
to rtl_433
Another storm just came through using the suggested sensor map. No success. I only see strike_count and strike_distance are the only lightning related fields I see coming in from the SDR. Also, while rain was working with the previous acurite.c, it does not appear to be coming in with this one.

Chris Morris

unread,
Apr 7, 2020, 4:40:58 PM4/7/20
to rtl_433
Just thinking "out loud"... have you verified that you don't have any typos in the sensor map, and that you have in "your" map codes, as opposed to Jerome's? Not trying to sound condescending (just covering all bases), but if you didn't notice, we cannot just use each other's sensor maps - there is an alphanumeric code that is semi-unique to each device, that way you aren't mistakenly picking up your neighbors' device instead of yours. Make sure you swapped out Jerome's code and replaced it with your own. I am sure you already knew that, but I have some "oh, duh" moments myself now, and again. :)

Chris Morris

unread,
Apr 7, 2020, 4:45:32 PM4/7/20
to rtl_433
I also have a discrepancy between my Atlas and my separate lightning sensor. I chalk it up to the fact that my Atlas is about 15' higher than the lightning sensor on a pole with nothing around it, while the lightning sensor is Velcro'd to the underside of a roof overhang/soffit near aluminum siding. My Atlas is always more accurate than my other Acurite devices.

I have used a novelty stun gun/flashlight near the lightning sensor to fake lightning strikes, and it works well... I used it to test my install with WeeWX.

Gil Hutcheson

unread,
Apr 7, 2020, 6:31:46 PM4/7/20
to rtl_433
Chris, I appreciate your input. I made that mistake back when I was following your directions :). I am watching the inbound data via the "sudo PYTHONPATH=/usr/share/weewx python /usr/share/weewx/user/sdr.py --cmd="rtl_433 -M utc -F json" command. The rain info appears to be gone. Jerome sent me what looked like an edit of mine. The device numbers appear to be correct. No problem to switch back to the map I was using before since I just commented out my map and copied and pasted his recommendataion.

Both of my sensors are about 5 feet apart. I had to put the tower under the deck so the temp would be in the shade.

Thanks,
Gil

Chris Morris

unread,
Apr 7, 2020, 7:07:42 PM4/7/20
to rtl_433
Ahh! I had the same thing until I bought that repeater... Haven't had a single dropout since then. I have a theory that some of the devices try to transmit at the same time and the SDR cannot differentiate. The repeater resolves that, along with range issues, of course.

Jerome Helbert

unread,
Apr 7, 2020, 11:43:11 PM4/7/20
to rtl_433
On Tuesday, April 7, 2020 at 3:40:58 PM UTC-5, Chris Morris wrote:
Just thinking "out loud"... have you verified that you don't have any typos in the sensor map, and that you have in "your" map codes, as opposed to Jerome's? Not trying to sound condescending (just covering all bases), but if you didn't notice, we cannot just use each other's sensor maps - there is an alphanumeric code that is semi-unique to each device, that way you aren't mistakenly picking up your neighbors' device instead of yours. Make sure you swapped out Jerome's code and replaced it with your own. I am sure you already knew that, but I have some "oh, duh" moments myself now, and again. :)

I have not actually posted my sensor_map (my weewx and schema is heavily customized for my exact setup and probably wouldn't work very well for anyone else), I took the original map he posted and edited it.


On Tuesday, April 7, 2020 at 3:29:51 PM UTC-5, Gil Hutcheson wrote:
Another storm just came through using the suggested sensor map. No success. I only see strike_count and strike_distance are the only lightning related fields I see coming in from the SDR. Also, while rain was working with the previous acurite.c, it does not appear to be coming in with this one.

Looked into the sdr.py code itself to see how its dealing with these deltas and why your rain stuff broke - looks like there is a default set of deltas that got overwrote when you placed the stanza into your weewx.conf with only the lightning stuff there:
    DEFAULT_DELTAS = {
        'rain': 'rain_total',
        'strikes': 'strikes_total'}
By specifying the lightning part, it dropped the rain part

So it looks like if we had just used the fields strikes_total and strikes, it would have just worked. To make you code work I would set you sensor_map and deltas sections to the following:
 [[sensor_map]]
        outTemp = temperature.0243.AcuriteAtlasPacket
        outHumidity = humidity.0243.AcuriteAtlasPacket
        windSpeed = wind_speed.0243.AcuriteAtlasPacket
        windDir = wind_dir.0243.AcuriteAtlasPacket
        UV = uv.0243.AcuriteAtlasPacket
        #rain_total = Rainfall Accumulation:.0579.AcuriteAtlasPacket
        rain_total = rain_total.0243.AcuriteAtlasPacket
        radiation = lux.0243.AcuriteAtlasPacket
        lux = lux.0243.AcuriteAtlasPacket
        #Lightning_Strikes = strike_count.0243.AcuriteAtlasPacket    #Atlas

        strikes_total = strike_count.0243.AcuriteAtlasPacket

        Strike_distance = strike_distance.0243.AcuriteAtlasPacket    #Atlas
        extraTemp1 = temperature.00F1.AcuriteLightningPacket    #Lightning Sensor
        extraHumid1 = humidity.00F1.AcuriteLightningPacket    #Lightning Sensor
        txBatteryStatus = battery.0243.AcuriteAtlasPacket
        windBatteryStatus = battery.0243.AcuriteAtlasPacket
        rainBatteryStatus = battery.0243.AcuriteAtlasPacket
        outTempBatteryStatus = battery.00F1.AcuriteLightningPacket
 [[deltas]]
        Lightning_Strikes = strikes_total 
    rain = rain_total

I started poking at my database directly (since I dont have a skin running that seems to report the lightning metrics) and have confirmed that this all seems to be working now.

I do think the driver may have an issue when we hit our rollover point (ie we go from some total value just below 512 back to some value at or just above 0) I'll look at it some more and see if I can figure out a way around it.

Gil Hutcheson

unread,
Apr 8, 2020, 5:35:31 AM4/8/20
to rtl_433
Thanks. I'll try that.

Chris Morris

unread,
Apr 8, 2020, 8:13:50 AM4/8/20
to rtl_433
Ahh, I was typing fast on my phone, and didn't completely remember, with accuracy, what had been said in the thread before.  :)  I just remember that I about drove myself insane to the point of throwing the keyboard through the monitor with something like that when I realized I was missing a single letter, and had repeated the mistake by an overzealous use of copy & paste.  LOL

Interesting about the lightning rollover...I haven't yet implemented the changes on my end yet, and last night we had a storm roll through Toledo.  My Atlas HD display reports 1421 strikes, while, according to WeeWX, my 6045M reports 127 strikes.  Thaaaats a bit of a discrepancy...way larger than I would have anticipated (this was the first significant storm we have had since I put the system into production use).

Gil Hutcheson

unread,
Apr 8, 2020, 9:23:26 AM4/8/20
to rtl_433
My two sensors reported 25 and 35 strikes respectively in the same 24 hour period according to MyAcurite. The distance varies wildly too.

I'm not trying to cast shade on either product. In fact I like them. I even bought a third one you can clip to your belt when I am camping or traveling. I think they do pickup thunderstorm activity, but wonder about the precision of the numbers.

On a related note, my wife and I were popped by lightning at Daytona Beach, Florida years ago. It wasn't a direct hit. It hit the top of a food truck while we were ordering then jumped to our legs and into the ground. Because of that experience, I go indoors if I think I hear thunder.

Jerome Helbert

unread,
Apr 8, 2020, 12:05:19 PM4/8/20
to rtl_433
Looking through the rtl_433 code for the 6045, the strike count field there is only 7-bit wide and will wrap back to zero after only 127 counts so its going to show up even worse for that device. I am surprised by how much of a discrepancy you had though

You said this is with or without the [[delta]] changes I suggested? If it's prior to the changes being made, then I think your 6045 is just sitting at a total count of 127, and is interpreting that as 127 strikes/interval instead of 127 strikes total. I am not sure what skin you are using, but to line up with your HD display it would need to be summing all of the intervals. Again if you haven't made the changes yet then that sum would probably be some astronomical number since it thinks the 6045 is telling it 127 new strikes every time it receives a packet.

The rollover will only cause the driver to drop the number of strikes recorded in the interval between packets where it rolls over. Ie if its a relatively slow storm and the first packet says 127 total then there is only 1 new strike before the next packet, then the next packet will be a 0 and the driver will drop that one lightning strike. But if its a fairly strong storm and say you get something like 50 strikes between packets, you might go from 107 in one packet to 30 the next packet, and the driver wont record any of it. I think the only way to solve the problem will be to make the sdr.py driver "aware" of the size of the field so that instead of dropping these packets, it can calculate the correct delta based on the rollover.

rich T

unread,
Apr 8, 2020, 12:59:07 PM4/8/20
to rtl_433

Here is some 06045M data I collected from the storms that came through early this morning.  As you can see the strike counter loops back to 0 after it hits 127.

06045M_228_data_SC.txt
6045M_14052_data_SC.txt

t...@tswartz.net

unread,
Apr 8, 2020, 1:06:50 PM4/8/20
to rich T, rtl_433
The fact that it loops back when it hits 128 is curious;
That's the overflow number for a 7 bit number (i.e. 127 is 1111111 in binary, 128 is 10000000)

Is there an overflow issue somewhere?
--
Tom Swartz
> --
> You received this message because you are subscribed to the Google Groups
> "rtl_433" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rtl_433+u...@googlegroups.com.
> To view this discussion on the web, visit https://groups.google.com/d/
> msgid/rtl_433/a997e128-f479-441a-bfbf-a85417cae809%40googlegroups.com.

> {"time":"2020-04-08 05:07:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.1,"humidity":69,"strike_count":97,"storm_dist":24,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc5cf65e11845","mod":"ASK","freq":433.955,"rssi":-0.108,"snr":13.711,"noise":-13.819}
> {"time":"2020-04-08 05:11:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.1,"humidity":67,"strike_count":98,"storm_dist":24,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc3cf65e2b8e4","mod":"ASK","freq":433.958,"rssi":-0.119,"snr":12.212,"noise":-12.331}
> {"time":"2020-04-08 05:15:15","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.3,"humidity":67,"strike_count":99,"storm_dist":22,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc3cfe76396c5","mod":"ASK","freq":433.955,"rssi":-0.109,"snr":12.839,"noise":-12.948}
> {"time":"2020-04-08 05:16:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.3,"humidity":67,"strike_count":100,"storm_dist":22,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc3cfe7e436e6","mod":"ASK","freq":433.956,"rssi":-0.155,"snr":13.069,"noise":-13.223}
> {"time":"2020-04-08 05:17:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.3,"humidity":68,"strike_count":101,"storm_dist":20,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f44cfe765b466","mod":"ASK","freq":433.96,"rssi":-0.135,"snr":14.128,"noise":-14.263}
> {"time":"2020-04-08 05:17:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.3,"humidity":71,"strike_count":102,"storm_dist":20,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe76614ca","mod":"ASK","freq":433.956,"rssi":-0.121,"snr":14.404,"noise":-14.525}
> {"time":"2020-04-08 05:18:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.3,"humidity":71,"strike_count":103,"storm_dist":20,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe7e7d40b","mod":"ASK","freq":433.953,"rssi":-0.121,"snr":13.232,"noise":-13.353}
> {"time":"2020-04-08 05:18:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.5,"humidity":69,"strike_count":104,"storm_dist":20,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc5cf69e8b4ec","mod":"ASK","freq":433.957,"rssi":-0.101,"snr":13.374,"noise":-13.475}
> {"time":"2020-04-08 05:19:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.5,"humidity":70,"strike_count":105,"storm_dist":20,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc6cf6969b46e","mod":"ASK","freq":433.958,"rssi":-0.122,"snr":11.996,"noise":-12.118}
> {"time":"2020-04-08 05:20:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.1,"humidity":72,"strike_count":106,"storm_dist":20,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f48cf656ab4ed","mod":"ASK","freq":433.958,"rssi":-0.105,"snr":12.048,"noise":-12.153}
> {"time":"2020-04-08 05:21:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.1,"humidity":71,"strike_count":107,"storm_dist":20,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cf65ebb46d","mod":"ASK","freq":433.958,"rssi":-0.101,"snr":12.832,"noise":-12.933}
> {"time":"2020-04-08 05:21:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.1,"humidity":71,"strike_count":108,"storm_dist":20,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cf656c144e","mod":"ASK","freq":433.957,"rssi":-0.124,"snr":12.239,"noise":-12.362}
> {"time":"2020-04-08 05:22:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.1,"humidity":71,"strike_count":109,"storm_dist":20,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cf65ed14cf","mod":"ASK","freq":433.957,"rssi":-0.105,"snr":11.551,"noise":-11.656}
> {"time":"2020-04-08 05:22:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52,"humidity":71,"strike_count":110,"storm_dist":17,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe4ee114c","mod":"ASK","freq":433.956,"rssi":-0.116,"snr":11.08,"noise":-11.196}
> {"time":"2020-04-08 05:22:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52,"humidity":71,"strike_count":112,"storm_dist":17,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe4f0b1ee","mod":"ASK","freq":433.955,"rssi":-0.092,"snr":12.687,"noise":-12.779}
> {"time":"2020-04-08 05:22:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52,"humidity":71,"strike_count":113,"storm_dist":17,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe471d18f","mod":"ASK","freq":433.958,"rssi":-0.134,"snr":12.05,"noise":-12.183}
> {"time":"2020-04-08 05:23:07","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52,"humidity":71,"strike_count":114,"storm_dist":17,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe472b170","mod":"ASK","freq":433.959,"rssi":-0.102,"snr":12.662,"noise":-12.764}
> {"time":"2020-04-08 05:23:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.5,"humidity":69,"strike_count":115,"storm_dist":15,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc5cf69f3aff2","mod":"ASK","freq":433.956,"rssi":-0.103,"snr":12.151,"noise":-12.254}
> {"time":"2020-04-08 05:23:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52.5,"humidity":69,"strike_count":116,"storm_dist":15,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fc5cf6974cf93","mod":"ASK","freq":433.961,"rssi":-0.121,"snr":11.668,"noise":-11.79}
> {"time":"2020-04-08 05:24:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":52,"humidity":71,"strike_count":117,"storm_dist":15,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe4f5aff1","mod":"ASK","freq":433.962,"rssi":-0.121,"snr":11.371,"noise":-11.492}
> {"time":"2020-04-08 05:24:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.8,"humidity":71,"strike_count":118,"storm_dist":15,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe2f6aff0","mod":"ASK","freq":433.961,"rssi":-0.119,"snr":12.055,"noise":-12.175}
> {"time":"2020-04-08 05:24:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.8,"humidity":71,"strike_count":119,"storm_dist":15,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe2770fd1","mod":"ASK","freq":433.956,"rssi":-0.134,"snr":12.228,"noise":-12.362}
> {"time":"2020-04-08 05:25:15","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":71,"strike_count":121,"storm_dist":15,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f47cf60f9cf91","mod":"ASK","freq":433.954,"rssi":-0.157,"snr":12.397,"noise":-12.554}
> {"time":"2020-04-08 05:25:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":72,"strike_count":123,"storm_dist":15,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f48cf607b6fb4","mod":"ASK","freq":433.954,"rssi":-0.115,"snr":11.615,"noise":-11.73}
> {"time":"2020-04-08 05:25:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":72,"strike_count":124,"storm_dist":15,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f48cf60fcaf75","mod":"ASK","freq":433.959,"rssi":-0.101,"snr":11.081,"noise":-11.182}
> {"time":"2020-04-08 05:26:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":73,"strike_count":126,"storm_dist":15,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fc9cf607e0fd8","mod":"ASK","freq":433.954,"rssi":-0.126,"snr":11.515,"noise":-11.64}
> {"time":"2020-04-08 05:26:27","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":74,"strike_count":0,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fcacf60000a56","mod":"ASK","freq":433.957,"rssi":-0.092,"snr":12.554,"noise":-12.645}
> {"time":"2020-04-08 05:26:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":75,"strike_count":1,"storm_dist":10,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f4bcf5c81ca14","mod":"ASK","freq":433.956,"rssi":-0.096,"snr":12.226,"noise":-12.321}
> {"time":"2020-04-08 05:26:59","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":75,"strike_count":2,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f4bcf5c82aaf5","mod":"ASK","freq":433.956,"rssi":-0.116,"snr":12.228,"noise":-12.344}
> {"time":"2020-04-08 05:27:07","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":75,"strike_count":3,"storm_dist":10,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f4bcf5c03ca96","mod":"ASK","freq":433.957,"rssi":-0.116,"snr":12.21,"noise":-12.326}
> {"time":"2020-04-08 05:27:15","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":75,"strike_count":4,"storm_dist":10,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f4bcf5c84ca17","mod":"ASK","freq":433.957,"rssi":-0.116,"snr":11.759,"noise":-11.875}
> {"time":"2020-04-08 05:27:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":75,"strike_count":6,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f4bcf59060ad6","mod":"ASK","freq":433.958,"rssi":-0.128,"snr":11.413,"noise":-11.541}
> {"time":"2020-04-08 05:27:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":75,"strike_count":7,"storm_dist":10,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f4bcf5987ca17","mod":"ASK","freq":433.956,"rssi":-0.113,"snr":10.754,"noise":-10.867}
> {"time":"2020-04-08 05:28:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":76,"strike_count":8,"storm_dist":10,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fcccf5c886a3c","mod":"ASK","freq":433.96,"rssi":-0.131,"snr":12.471,"noise":-12.602}
> {"time":"2020-04-08 05:28:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":78,"strike_count":9,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f4ecf5c09aa7f","mod":"ASK","freq":433.958,"rssi":-0.114,"snr":12.42,"noise":-12.535}
> {"time":"2020-04-08 05:28:27","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":78,"strike_count":10,"storm_dist":10,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f4ecf5c0a6a40","mod":"ASK","freq":433.959,"rssi":-0.091,"snr":12.598,"noise":-12.69}
> {"time":"2020-04-08 05:28:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.2,"humidity":81,"strike_count":11,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd1cf5c8baa84","mod":"ASK","freq":433.958,"rssi":-0.139,"snr":13.22,"noise":-13.359}
> {"time":"2020-04-08 05:29:07","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":83,"strike_count":13,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f53cf598d0a65","mod":"ASK","freq":433.958,"rssi":-0.1,"snr":12.057,"noise":-12.157}
> {"time":"2020-04-08 05:29:15","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":83,"strike_count":14,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f53cf598eaa06","mod":"ASK","freq":433.957,"rssi":-0.169,"snr":12.477,"noise":-12.645}
> {"time":"2020-04-08 05:29:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":84,"strike_count":15,"storm_dist":10,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf590fca28","mod":"ASK","freq":433.961,"rssi":-0.093,"snr":12.012,"noise":-12.105}
> {"time":"2020-04-08 05:29:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":84,"strike_count":17,"storm_dist":10,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf59116aca","mod":"ASK","freq":433.956,"rssi":-0.124,"snr":12.962,"noise":-13.086}
> {"time":"2020-04-08 05:29:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":84,"strike_count":18,"storm_dist":10,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf59126acb","mod":"ASK","freq":433.955,"rssi":-0.127,"snr":12.997,"noise":-13.124}
> {"time":"2020-04-08 05:30:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":84,"strike_count":19,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf5993aa8c","mod":"ASK","freq":433.959,"rssi":-0.099,"snr":12.05,"noise":-12.149}
> {"time":"2020-04-08 05:30:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.9,"humidity":84,"strike_count":20,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf5914aa0d","mod":"ASK","freq":433.956,"rssi":-0.116,"snr":14.268,"noise":-14.384}
> {"time":"2020-04-08 05:30:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":84,"strike_count":21,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cfd795aa0c","mod":"ASK","freq":433.96,"rssi":-0.129,"snr":13.807,"noise":-13.936}
> {"time":"2020-04-08 05:30:59","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":83,"strike_count":24,"storm_dist":10,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f53cfd718aa0e","mod":"ASK","freq":433.957,"rssi":-0.131,"snr":13.021,"noise":-13.151}
> {"time":"2020-04-08 05:31:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":83,"strike_count":25,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f53cfd799a58a","mod":"ASK","freq":433.957,"rssi":-0.108,"snr":12.268,"noise":-12.376}
> {"time":"2020-04-08 05:31:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":83,"strike_count":26,"storm_dist":5,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f53cfd79ac5ab","mod":"ASK","freq":433.955,"rssi":-0.098,"snr":11.324,"noise":-11.422}
> {"time":"2020-04-08 05:31:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":83,"strike_count":27,"storm_dist":5,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f53cfd71b65cc","mod":"ASK","freq":433.93,"rssi":-0.128,"snr":12.522,"noise":-12.65}
> {"time":"2020-04-08 05:32:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":83,"strike_count":28,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f53cfd79ca58d","mod":"ASK","freq":433.955,"rssi":-0.121,"snr":12.242,"noise":-12.362}
> {"time":"2020-04-08 05:32:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":84,"strike_count":30,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cfd71e05f0","mod":"ASK","freq":433.954,"rssi":-0.141,"snr":12.277,"noise":-12.418}
> {"time":"2020-04-08 05:32:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":86,"strike_count":31,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cfd79fa593","mod":"ASK","freq":433.954,"rssi":-0.119,"snr":12.464,"noise":-12.583}
> {"time":"2020-04-08 05:32:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":86,"strike_count":32,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cfd7a0a594","mod":"ASK","freq":433.955,"rssi":-0.101,"snr":11.365,"noise":-11.466}
> {"time":"2020-04-08 05:33:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":88,"strike_count":33,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cfd721a597","mod":"ASK","freq":433.956,"rssi":-0.166,"snr":12.803,"noise":-12.969}
> {"time":"2020-04-08 05:33:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":88,"strike_count":34,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cfd722a598","mod":"ASK","freq":433.954,"rssi":-0.14,"snr":12.423,"noise":-12.563}
> {"time":"2020-04-08 05:33:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":88,"strike_count":35,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cfd7a30579","mod":"ASK","freq":433.96,"rssi":-0.158,"snr":12.748,"noise":-12.907}
> {"time":"2020-04-08 05:33:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":87,"strike_count":36,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd7cfd724a599","mod":"ASK","freq":433.954,"rssi":-0.104,"snr":12.393,"noise":-12.497}
> {"time":"2020-04-08 05:33:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":87,"strike_count":37,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd7cfd7a5a51a","mod":"ASK","freq":433.958,"rssi":-0.106,"snr":12.643,"noise":-12.749}
> {"time":"2020-04-08 05:34:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":87,"strike_count":38,"storm_dist":5,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd7cfd7a6c53b","mod":"ASK","freq":433.954,"rssi":-0.111,"snr":13.639,"noise":-13.749}
> {"time":"2020-04-08 05:34:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":87,"strike_count":39,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd7cfd72705fc","mod":"ASK","freq":433.956,"rssi":-0.103,"snr":13.529,"noise":-13.632}
> {"time":"2020-04-08 05:34:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":88,"strike_count":40,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cfd728241d","mod":"ASK","freq":433.957,"rssi":-0.123,"snr":11.748,"noise":-11.871}
> {"time":"2020-04-08 05:35:07","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":88,"strike_count":41,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cfd7a984fe","mod":"ASK","freq":433.956,"rssi":-0.103,"snr":12.287,"noise":-12.39}
> {"time":"2020-04-08 05:35:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":88,"strike_count":42,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cfd7aa84ff","mod":"ASK","freq":433.96,"rssi":-0.122,"snr":11.865,"noise":-11.986}
> {"time":"2020-04-08 05:35:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.8,"humidity":88,"strike_count":43,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd8cf4e2b44b7","mod":"ASK","freq":433.959,"rssi":-0.127,"snr":11.208,"noise":-11.334}
> {"time":"2020-04-08 05:35:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.8,"humidity":88,"strike_count":44,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd8cf4eac4438","mod":"ASK","freq":433.959,"rssi":-0.108,"snr":12.641,"noise":-12.749}
> {"time":"2020-04-08 05:36:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":89,"strike_count":45,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cfd72d8403","mod":"ASK","freq":433.957,"rssi":-0.095,"snr":12.277,"noise":-12.372}
> {"time":"2020-04-08 05:36:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.7,"humidity":89,"strike_count":46,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cfd72e24a4","mod":"ASK","freq":433.956,"rssi":-0.131,"snr":11.619,"noise":-11.75}
> {"time":"2020-04-08 05:37:07","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":90,"strike_count":47,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f5acf53af24a2","mod":"ASK","freq":433.958,"rssi":-0.124,"snr":11.092,"noise":-11.217}
> {"time":"2020-04-08 05:37:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":90,"strike_count":48,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f5acf53302423","mod":"ASK","freq":433.956,"rssi":-0.15,"snr":13.285,"noise":-13.434}
> {"time":"2020-04-08 05:37:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":90,"strike_count":49,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f5acf53b144c4","mod":"ASK","freq":433.943,"rssi":-0.11,"snr":12.043,"noise":-12.153}
> {"time":"2020-04-08 05:38:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":90,"strike_count":51,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f5acf53338486","mod":"ASK","freq":433.959,"rssi":-0.13,"snr":12.886,"noise":-13.017}
> {"time":"2020-04-08 05:38:27","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":90,"strike_count":52,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f5acf53b444c7","mod":"ASK","freq":433.96,"rssi":-0.092,"snr":12.109,"noise":-12.201}
> {"time":"2020-04-08 05:38:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":90,"strike_count":54,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f5acf53364449","mod":"ASK","freq":433.961,"rssi":-0.095,"snr":13.88,"noise":-13.975}
> {"time":"2020-04-08 05:38:59","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":89,"strike_count":56,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cf53b8840a","mod":"ASK","freq":433.957,"rssi":-0.131,"snr":14.657,"noise":-14.788}
> {"time":"2020-04-08 05:39:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":89,"strike_count":57,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cf5339242b","mod":"ASK","freq":433.956,"rssi":-0.097,"snr":12.851,"noise":-12.948}
> {"time":"2020-04-08 05:39:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":89,"strike_count":58,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cf533a848c","mod":"ASK","freq":433.963,"rssi":-0.102,"snr":13.016,"noise":-13.119}
> {"time":"2020-04-08 05:40:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":88,"strike_count":59,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cf53bb848c","mod":"ASK","freq":433.96,"rssi":-0.099,"snr":14.359,"noise":-14.458}
> {"time":"2020-04-08 05:40:35","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":88,"strike_count":60,"storm_dist":4,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd8cf533ce46d","mod":"ASK","freq":433.954,"rssi":-0.101,"snr":12.749,"noise":-12.85}
> {"time":"2020-04-08 05:40:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":88,"strike_count":61,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cf53bd242e","mod":"ASK","freq":433.958,"rssi":-0.101,"snr":12.863,"noise":-12.964}
> {"time":"2020-04-08 05:40:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":88,"strike_count":62,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd8cf53be242f","mod":"ASK","freq":433.956,"rssi":-0.102,"snr":14.356,"noise":-14.458}
> {"time":"2020-04-08 05:41:15","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":87,"strike_count":63,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd7cf533f24af","mod":"ASK","freq":433.96,"rssi":-0.111,"snr":13.09,"noise":-13.201}
> {"time":"2020-04-08 05:41:47","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":87,"strike_count":64,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd7cf53c04450","mod":"ASK","freq":433.955,"rssi":-0.141,"snr":13.418,"noise":-13.559}
> {"time":"2020-04-08 05:41:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":87,"strike_count":65,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd7cf53418411","mod":"ASK","freq":433.954,"rssi":-0.15,"snr":13.879,"noise":-14.028}
> {"time":"2020-04-08 05:42:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":86,"strike_count":66,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cf53428491","mod":"ASK","freq":433.957,"rssi":-0.129,"snr":12.312,"noise":-12.441}
> {"time":"2020-04-08 05:43:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":85,"strike_count":67,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f55cf53c38411","mod":"ASK","freq":433.957,"rssi":-0.122,"snr":12.863,"noise":-12.985}
> {"time":"2020-04-08 05:44:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":85,"strike_count":68,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f55cf53448492","mod":"ASK","freq":433.959,"rssi":-0.136,"snr":12.812,"noise":-12.948}
> {"time":"2020-04-08 05:44:27","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":85,"strike_count":69,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f55cf53c58413","mod":"ASK","freq":433.959,"rssi":-0.099,"snr":14.017,"noise":-14.116}
> {"time":"2020-04-08 05:44:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":84,"strike_count":70,"storm_dist":4,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf53c64453","mod":"ASK","freq":433.954,"rssi":-0.112,"snr":13.328,"noise":-13.44}
> {"time":"2020-04-08 05:44:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":84,"strike_count":71,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf534724b4","mod":"ASK","freq":433.958,"rssi":-0.151,"snr":12.648,"noise":-12.799}
> {"time":"2020-04-08 05:45:39","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":84,"strike_count":72,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf534824b5","mod":"ASK","freq":433.958,"rssi":-0.149,"snr":13.142,"noise":-13.291}
> {"time":"2020-04-08 05:46:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":84,"strike_count":73,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd4cf53c92436","mod":"ASK","freq":433.959,"rssi":-0.124,"snr":13.116,"noise":-13.24}
> {"time":"2020-04-08 05:46:51","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":85,"strike_count":74,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f55cf53ca24b8","mod":"ASK","freq":433.955,"rssi":-0.107,"snr":13.519,"noise":-13.626}
> {"time":"2020-04-08 05:48:03","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":86,"strike_count":75,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cf534b849a","mod":"ASK","freq":433.958,"rssi":-0.112,"snr":13.471,"noise":-13.583}
> {"time":"2020-04-08 05:48:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":87,"strike_count":76,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fd7cf53cc243c","mod":"ASK","freq":433.959,"rssi":-0.105,"snr":13.254,"noise":-13.359}
> {"time":"2020-04-08 05:50:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":86,"strike_count":77,"storm_dist":4,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cf534d243c","mod":"ASK","freq":433.958,"rssi":-0.124,"snr":12.887,"noise":-13.011}
> {"time":"2020-04-08 05:50:59","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":86,"strike_count":78,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cf534e849d","mod":"ASK","freq":433.956,"rssi":-0.115,"snr":13.94,"noise":-14.055}
> {"time":"2020-04-08 05:51:23","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":86,"strike_count":79,"storm_dist":4,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f56cf53cfe47e","mod":"ASK","freq":433.962,"rssi":-0.128,"snr":12.963,"noise":-13.092}
> {"time":"2020-04-08 05:51:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50.3,"humidity":86,"strike_count":80,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f56cf5350849f","mod":"ASK","freq":433.957,"rssi":-0.161,"snr":13.002,"noise":-13.162}
> {"time":"2020-04-08 05:55:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":50,"humidity":89,"strike_count":81,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cf50d18420","mod":"ASK","freq":433.956,"rssi":-0.134,"snr":12.551,"noise":-12.685}
> {"time":"2020-04-08 05:57:55","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.8,"humidity":89,"strike_count":82,"storm_dist":4,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f59cf4ed2841f","mod":"ASK","freq":433.955,"rssi":-0.122,"snr":12.688,"noise":-12.809}
> {"time":"2020-04-08 06:04:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.4,"humidity":90,"strike_count":83,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f5acfca53a53e","mod":"ASK","freq":433.957,"rssi":-0.1,"snr":11.911,"noise":-12.012}
> {"time":"2020-04-08 06:08:11","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.3,"humidity":92,"strike_count":84,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f5ccfc9d487a2","mod":"ASK","freq":433.956,"rssi":-0.123,"snr":12.671,"noise":-12.794}
> {"time":"2020-04-08 06:22:19","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.6,"humidity":92,"strike_count":85,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f5ccfcc558726","mod":"ASK","freq":433.957,"rssi":-0.105,"snr":13.169,"noise":-13.274}
> {"time":"2020-04-08 06:29:07","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":49.6,"humidity":91,"strike_count":86,"storm_dist":15,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46fdbcfcc560f2e","mod":"ASK","freq":433.953,"rssi":-0.1,"snr":13.569,"noise":-13.668}

> {"time":"2020-04-08 05:14:04","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":51.1,"humidity":62,"strike_count":88,"storm_dist":24,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fbecfdbd81861","mod":"ASK","freq":433.954,"rssi":-0.106,"snr":12.842,"noise":-12.948}
> {"time":"2020-04-08 05:15:32","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":50.9,"humidity":62,"strike_count":89,"storm_dist":22,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fbecf5959367e","mod":"ASK","freq":433.951,"rssi":-0.11,"snr":13.596,"noise":-13.706}
> {"time":"2020-04-08 05:17:56","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":50.9,"humidity":66,"strike_count":90,"storm_dist":12,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f42cf595aac79","mod":"ASK","freq":433.952,"rssi":-0.121,"snr":13.941,"noise":-14.062}
> {"time":"2020-04-08 05:19:40","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":50.7,"humidity":68,"strike_count":91,"storm_dist":12,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f44cfd7db0cda","mod":"ASK","freq":433.955,"rssi":-0.135,"snr":11.801,"noise":-11.936}
> {"time":"2020-04-08 05:22:36","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":50.3,"humidity":68,"strike_count":92,"storm_dist":12,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f44cf535cac77","mod":"ASK","freq":433.93,"rssi":-0.104,"snr":12.645,"noise":-12.749}
> {"time":"2020-04-08 05:25:24","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.8,"humidity":71,"strike_count":93,"storm_dist":12,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f47cf4edd0c56","mod":"ASK","freq":433.954,"rssi":-0.09,"snr":11.273,"noise":-11.363}
> {"time":"2020-04-08 05:26:12","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.8,"humidity":78,"strike_count":94,"storm_dist":12,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f4ecf4edeacfe","mod":"ASK","freq":433.95,"rssi":-0.126,"snr":11.461,"noise":-11.587}
> {"time":"2020-04-08 05:26:44","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.6,"humidity":79,"strike_count":95,"storm_dist":12,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fcfcfcc5f0cde","mod":"ASK","freq":433.953,"rssi":-0.112,"snr":11.963,"noise":-12.075}
> {"time":"2020-04-08 05:27:32","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.4,"humidity":78,"strike_count":96,"storm_dist":12,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f4ecfca600c5c","mod":"ASK","freq":433.95,"rssi":-0.125,"snr":10.561,"noise":-10.686}
> {"time":"2020-04-08 05:28:12","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.4,"humidity":76,"strike_count":97,"storm_dist":12,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fcccfcae1acfb","mod":"ASK","freq":433.949,"rssi":-0.12,"snr":12.458,"noise":-12.578}
> {"time":"2020-04-08 05:28:20","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.4,"humidity":76,"strike_count":98,"storm_dist":12,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fcccfcae2acfc","mod":"ASK","freq":433.952,"rssi":-0.097,"snr":11.79,"noise":-11.887}
> {"time":"2020-04-08 05:29:08","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.3,"humidity":77,"strike_count":99,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f4dcfc9630a5b","mod":"ASK","freq":433.95,"rssi":-0.127,"snr":12.553,"noise":-12.68}
> {"time":"2020-04-08 05:29:16","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.3,"humidity":77,"strike_count":100,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f4dcfc9e40adc","mod":"ASK","freq":433.946,"rssi":-0.122,"snr":13.534,"noise":-13.656}
> {"time":"2020-04-08 05:29:40","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.3,"humidity":77,"strike_count":101,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f4dcfc9650a5d","mod":"ASK","freq":433.954,"rssi":-0.103,"snr":11.359,"noise":-11.462}
> {"time":"2020-04-08 05:30:04","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.1,"humidity":79,"strike_count":103,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fcfcf47e70adf","mod":"ASK","freq":433.953,"rssi":-0.114,"snr":11.431,"noise":-11.545}
> {"time":"2020-04-08 05:30:20","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.1,"humidity":79,"strike_count":104,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fcfcf47e80ae0","mod":"ASK","freq":433.953,"rssi":-0.146,"snr":13.829,"noise":-13.975}
> {"time":"2020-04-08 05:31:08","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.1,"humidity":78,"strike_count":105,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f4ecf4769a57b","mod":"ASK","freq":433.953,"rssi":-0.117,"snr":11.869,"noise":-11.986}
> {"time":"2020-04-08 05:31:24","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.1,"humidity":79,"strike_count":106,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fcfcf476a055d","mod":"ASK","freq":433.95,"rssi":-0.09,"snr":12.521,"noise":-12.611}
> {"time":"2020-04-08 05:32:04","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.1,"humidity":81,"strike_count":107,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cf47eba580","mod":"ASK","freq":433.947,"rssi":-0.117,"snr":12.612,"noise":-12.729}
> {"time":"2020-04-08 05:32:20","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.9,"humidity":81,"strike_count":108,"storm_dist":5,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cfc56cc59f","mod":"ASK","freq":433.953,"rssi":-0.104,"snr":12.63,"noise":-12.734}
> {"time":"2020-04-08 05:32:28","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.9,"humidity":81,"strike_count":109,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cfc5ed0560","mod":"ASK","freq":433.95,"rssi":-0.151,"snr":13.129,"noise":-13.279}
> {"time":"2020-04-08 05:33:00","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.9,"humidity":82,"strike_count":110,"storm_dist":5,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc5eec522","mod":"ASK","freq":433.952,"rssi":-0.104,"snr":12.626,"noise":-12.729}
> {"time":"2020-04-08 05:33:24","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.9,"humidity":82,"strike_count":111,"storm_dist":5,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc56f6543","mod":"ASK","freq":433.953,"rssi":-0.096,"snr":13.35,"noise":-13.446}
> {"time":"2020-04-08 05:33:40","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.9,"humidity":82,"strike_count":112,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc5f0a504","mod":"ASK","freq":433.947,"rssi":-0.118,"snr":12.717,"noise":-12.835}
> {"time":"2020-04-08 05:34:12","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.9,"humidity":81,"strike_count":113,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cfc57105e4","mod":"ASK","freq":433.948,"rssi":-0.151,"snr":12.973,"noise":-13.124}
> {"time":"2020-04-08 05:35:24","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":81,"strike_count":114,"storm_dist":5,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cfc372a583","mod":"ASK","freq":433.951,"rssi":-0.122,"snr":11.492,"noise":-11.613}
> {"time":"2020-04-08 05:36:04","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":82,"strike_count":115,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc3f30565","mod":"ASK","freq":433.955,"rssi":-0.108,"snr":11.795,"noise":-11.903}
> {"time":"2020-04-08 05:36:44","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":82,"strike_count":116,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc37405e6","mod":"ASK","freq":433.954,"rssi":-0.109,"snr":12.127,"noise":-12.236}
> {"time":"2020-04-08 05:37:32","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":82,"strike_count":117,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc3f50567","mod":"ASK","freq":433.951,"rssi":-0.114,"snr":13.809,"noise":-13.923}
> {"time":"2020-04-08 05:37:48","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":82,"strike_count":118,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc3f60568","mod":"ASK","freq":433.95,"rssi":-0.101,"snr":11.622,"noise":-11.722}
> {"time":"2020-04-08 05:38:44","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":82,"strike_count":119,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc37705e9","mod":"ASK","freq":433.95,"rssi":-0.113,"snr":12.597,"noise":-12.709}
> {"time":"2020-04-08 05:39:00","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":82,"strike_count":120,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cf41780568","mod":"ASK","freq":433.953,"rssi":-0.109,"snr":13.761,"noise":-13.871}
> {"time":"2020-04-08 05:39:24","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.3,"humidity":82,"strike_count":121,"storm_dist":5,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cfc9f9c531","mod":"ASK","freq":433.951,"rssi":-0.111,"snr":13.271,"noise":-13.382}
> {"time":"2020-04-08 05:39:56","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":81,"strike_count":122,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cf41fa05e9","mod":"ASK","freq":433.948,"rssi":-0.098,"snr":12.747,"noise":-12.845}
> {"time":"2020-04-08 05:40:52","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":81,"strike_count":123,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd1cf417b056a","mod":"ASK","freq":433.946,"rssi":-0.127,"snr":12.672,"noise":-12.799}
> {"time":"2020-04-08 05:41:32","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":82,"strike_count":124,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd2cf41fc05ec","mod":"ASK","freq":433.953,"rssi":-0.111,"snr":13.49,"noise":-13.601}
> {"time":"2020-04-08 05:42:52","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":86,"strike_count":125,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f56cf417d05f1","mod":"ASK","freq":433.956,"rssi":-0.116,"snr":13.186,"noise":-13.302}
> {"time":"2020-04-08 05:43:40","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":87,"strike_count":126,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd7cf417e0573","mod":"ASK","freq":433.954,"rssi":-0.111,"snr":12.386,"noise":-12.497}
> {"time":"2020-04-08 05:45:00","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":86,"strike_count":127,"storm_dist":5,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"b6e46f56cf41ffc533","mod":"ASK","freq":433.949,"rssi":-0.104,"snr":13.528,"noise":-13.632}
> {"time":"2020-04-08 05:45:08","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":86,"strike_count":0,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f56cf41000574","mod":"ASK","freq":433.954,"rssi":-0.112,"snr":13.084,"noise":-13.196}
> {"time":"2020-04-08 05:45:40","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":85,"strike_count":1,"storm_dist":5,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f55cf418105f4","mod":"ASK","freq":433.95,"rssi":-0.112,"snr":13.236,"noise":-13.348}
> {"time":"2020-04-08 05:49:16","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":84,"strike_count":2,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd4cf418287f6","mod":"ASK","freq":433.952,"rssi":-0.136,"snr":13.747,"noise":-13.883}
> {"time":"2020-04-08 05:50:36","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":86,"strike_count":3,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f56cf410387f9","mod":"ASK","freq":433.951,"rssi":-0.109,"snr":11.979,"noise":-12.088}
> {"time":"2020-04-08 05:50:52","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":86,"strike_count":4,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f56cf4184877a","mod":"ASK","freq":433.954,"rssi":-0.119,"snr":12.746,"noise":-12.865}
> {"time":"2020-04-08 05:51:24","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":88,"strike_count":5,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd8cfc30587ff","mod":"ASK","freq":433.954,"rssi":-0.102,"snr":13.475,"noise":-13.577}
> {"time":"2020-04-08 05:52:20","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.7,"humidity":89,"strike_count":6,"storm_dist":7,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f59cfc3062721","mod":"ASK","freq":433.95,"rssi":-0.101,"snr":12.874,"noise":-12.974}
> {"time":"2020-04-08 05:53:48","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":89,"strike_count":7,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f59cf41878780","mod":"ASK","freq":433.953,"rssi":-0.124,"snr":11.942,"noise":-12.067}
> {"time":"2020-04-08 05:55:16","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":49.1,"humidity":88,"strike_count":8,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd8cf47888706","mod":"ASK","freq":433.95,"rssi":-0.105,"snr":12.078,"noise":-12.183}
> {"time":"2020-04-08 05:55:56","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":87,"strike_count":9,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd7cf41098780","mod":"ASK","freq":433.949,"rssi":-0.103,"snr":13.228,"noise":-13.33}
> {"time":"2020-04-08 05:56:12","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.5,"humidity":87,"strike_count":10,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd7cf410a8781","mod":"ASK","freq":433.954,"rssi":-0.117,"snr":12.466,"noise":-12.583}
> {"time":"2020-04-08 05:57:00","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.4,"humidity":87,"strike_count":11,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd7cfc08b8781","mod":"ASK","freq":433.953,"rssi":-0.131,"snr":12.812,"noise":-12.943}
> {"time":"2020-04-08 05:58:04","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.2,"humidity":88,"strike_count":12,"storm_dist":7,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd8cfbe0c8701","mod":"ASK","freq":433.953,"rssi":-0.113,"snr":12.209,"noise":-12.321}
> {"time":"2020-04-08 05:58:44","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.2,"humidity":87,"strike_count":13,"storm_dist":8,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fd7cfbe8d8882","mod":"ASK","freq":433.952,"rssi":-0.118,"snr":12.84,"noise":-12.959}
> {"time":"2020-04-08 06:03:08","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":47.6,"humidity":85,"strike_count":14,"storm_dist":8,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f55cfb88e88fb","mod":"ASK","freq":433.953,"rssi":-0.096,"snr":12.884,"noise":-12.98}
> {"time":"2020-04-08 06:07:32","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":47.5,"humidity":86,"strike_count":15,"storm_dist":8,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f56cfb70f887c","mod":"ASK","freq":433.952,"rssi":-0.101,"snr":12.167,"noise":-12.268}
> {"time":"2020-04-08 06:10:04","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":47.6,"humidity":90,"strike_count":16,"storm_dist":8,"active":1,"rfi":1,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46f5acfb89028a2","mod":"ASK","freq":433.952,"rssi":-0.103,"snr":12.747,"noise":-12.85}
> {"time":"2020-04-08 06:11:56","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":47.6,"humidity":93,"strike_count":17,"storm_dist":8,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fddcfb8118806","mod":"ASK","freq":433.952,"rssi":-0.127,"snr":13.025,"noise":-13.151}
> {"time":"2020-04-08 06:16:52","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48,"humidity":91,"strike_count":18,"storm_dist":8,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fdbcf3c128889","mod":"ASK","freq":433.952,"rssi":-0.13,"snr":12.223,"noise":-12.353}
> {"time":"2020-04-08 06:29:08","model":"Acurite Lightning 6045M","id":14052,"channel":"B","temperature_F":48.2,"humidity":94,"strike_count":19,"storm_dist":10,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"b6e46fdecfbe930a11","mod":"ASK","freq":433.951,"rssi":-0.095,"snr":13.68,"noise":-13.775}

signature.asc

Jerome Helbert

unread,
Apr 8, 2020, 1:09:32 PM4/8/20
to rtl_433
Yes... that's how big the field is in the messages from the 6045, that's what we have been talking about. the 6045 has a strike count field that is 7-bits wide and wraps around after 127, the Atlas has a 9-bit field and wraps around after 511.


On Wednesday, April 8, 2020 at 12:06:50 PM UTC-5, tom wrote:
The fact that it loops back when it hits 128 is curious;
That's the overflow number for a 7 bit number (i.e. 127 is 1111111 in binary, 128 is 10000000)

Is there an overflow issue somewhere?
--
Tom Swartz

On Wed, Apr 08, 2020 at 09:59:07AM -0700, rich T wrote:
>
> Here is some 06045M data I collected from the storms that came through
> early this morning.  As you can see the strike counter loops back to 0
> after it hits 127.
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "rtl_433" group.
> To unsubscribe from this group and stop receiving emails from it, send an

Robert Terzi

unread,
Apr 8, 2020, 1:17:29 PM4/8/20
to Jerome Helbert, rtl_433
Sorry I haven't had a chance to touch the code in a while. I've been meaning to update the Acurite decoding.

For the 6045m lightning sensor, I realized a while ago that strike count is *actually 8 bits*, not 7 bits. The LSB is what is missing and is currently being decoded as 'USSB1' (unknown strike status bit).

Off the top of my head, I think ussb1 is the 6th bit in the next byte. In other words, after removing the parity bit, it is the MSB in that byte.

That means the strike counter will wrap at 255 instead of 127, so anything that looks for the wrap around (like WeeWX configs) will need to be updated.

I missed that because I wasn't quite expecting that alignment.  I was able to confirm the suspicion once My Acurite added support for the 6045 to the Acurite Access.

Also, I've captured a few values from My Acurite to help figure out storm edge distance field. I think there might be a step function in there. For small values, it seems to be KM - 1. However the slope changes. Also there aren't enough bits to cover the 40 KM range that the specs say the unit has.

Unfortunately, I probably won't get a much lightning until summer.  So if anyone can help fill out this table of rtl_433 distance data and the observations from the Access/My Acurite we can hopefully finish this.


rtl_433 storm distance,  myacurite closest strike
  • 0,  1,  closest on my acurite seems to be 1 mi, so they may be adding 1 to make it 1 based.
  • 1,  ?,
  • 2,  ?
  • 3,  ?
  • 4,  3,
  • 5,  4,  
  • 7,  5
  • 8,  6    
  • 10,  7 
  • ?
  • 15, 11
  • ?
  • 20, 15
  • ?
  • 22, 17
  • ?
  • 24, 19
Hope this helps,
--Rob
--
You received this message because you are subscribed to the Google Groups "rtl_433" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtl_433+u...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rtl_433/44f448e0-95d4-4b25-b3b2-c65c204b4115%40googlegroups.com.


Greg Troxel

unread,
Apr 8, 2020, 2:23:49 PM4/8/20
to rich T, rtl_433
So the theory is that it is counting with a 7-bit counter which rolls
over, or sending the low 7 bits of some longer counter.

In the data you posted, is that every received packet? It seems very
strange that the count goes up every packet. I would expect there to be
intervals where there is no lightning and the periodic temperature
reports happen.

Does the 6045 send a triggered report just after a strike, in addition
to the periodic reports when there are none?

Do you ever see adjacent packets with more than 1 change in strike count?




@rct: Interesting about the "unknown strike status bit". I am not really
following but when it hits code if the theory is right people will be
able to tell.

Robert Terzi

unread,
Apr 8, 2020, 3:52:32 PM4/8/20
to rtl...@googlegroups.com

Inline:

On 4/8/2020 2:23 PM, Greg Troxel wrote:
> rich T <storm...@gmail.com> writes:
>
>> Here is some 06045M data I collected from the storms that came through
>> early this morning. As you can see the strike counter loops back to 0
>> after it hits 127.
> So the theory is that it is counting with a 7-bit counter which rolls
> over, or sending the low 7 bits of some longer counter.

The current code is outputting a 7 bit counter, but in reality there are 8 bits. The LSB is missing.


>
> In the data you posted, is that every received packet? It seems very
> strange that the count goes up every packet. I would expect there to be
> intervals where there is no lightning and the periodic temperature
> reports happen.
>
> Does the 6045 send a triggered report just after a strike, in addition
> to the periodic reports when there are none?

The 6045 and most of the Acurite devices send a periodic message with state. There are no event messages.

The period between messages varies depending on whether the 6045 is in active mode. During active mode messages are sent every 8 seconds.

>
> Do you ever see adjacent packets with more than 1 change in strike count?
Yes.
>
>
>
>
> @rct: Interesting about the "unknown strike status bit". I am not really
> following but when it hits code if the theory is right people will be
> able to tell.
>
There was a bit I noticed that was toggling and I didn't see a meaning for. I thought it was some sort of status bit, so that's what I called it.

It needs to be shifted into the strike counter to make that 8 bits.

--Rob


rich T

unread,
Apr 8, 2020, 5:10:15 PM4/8/20
to rtl_433
@Greg  -- You are correct about the data file.  The only time data string from RTL-433 was written to the file is when the value of strike_count has changed.

rich T

unread,
Apr 8, 2020, 7:53:20 PM4/8/20
to rtl_433
Just going through some of the data and notice that the strike_count does jump more than one strike per message.

> {"time":"2020-04-08 05:24:43","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.8,"humidity":71,"strike_count":119,"storm_dist":15,"active":1,"rfi":0,"ussb1":0,"battery":"OK","exception":0,"raw_msg":"00e46f47cfe2770fd1","mod":"ASK","freq":433.956,"rssi":-0.134,"snr":12.228,"noise":-12.362}
> {"time":"2020-04-08 05:25:15","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":71,"strike_count":121,"storm_dist":15,"active":1,"rfi":0,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f47cf60f9cf91","mod":"ASK","freq":433.954,"rssi":-0.157,"snr":12.397,"noise":-12.554}
> {"time":"2020-04-08 05:25:31","model":"Acurite Lightning 6045M","id":228,"channel":"C","temperature_F":51.6,"humidity":72,"strike_count":123,"storm_dist":15,"active":1,"rfi":1,"ussb1":1,"battery":"OK","exception":0,"raw_msg":"00e46f48cf607b6fb4","mod":"ASK","freq":433.954,"rssi":-0.115,"snr":11.615,"noise":-11.73}

Robert Terzi

unread,
Apr 13, 2020, 12:48:17 PM4/13/20
to rtl_433
As of today (April 13) the decoding for the Acurite 6045 lightning detector changed via PR #1348

  • The strike counter is now 8 bits instead of 7.   It was being decoded incorrectly before.
  • The ussb1 field has been removed (it was the missing bit).

This change will affect consumers when you start running the new code.  The wrap now occurs at 255 instead of 127. 

Be aware you will likely see a big change in your data when you first run the new code  The value is now shifted left by one bit.  So if the old code was decoding the counter as 50, the new code will give you a new count of 100. So your consumer would register 50 new strikes. 

--Rob

Chris Morris

unread,
Apr 24, 2020, 5:20:23 PM4/24/20
to rtl_433

Has anyone managed to define in SDY.PY or WEEWX.CONFIG how to correctly record and display the strike distance/storm distance data from either the Atlas or 6045?  Because both devices continually transmit the last strike/storm distance, I am having trouble trying to figure out how to get WeeWX to calculate what the true distance is, i.e. display (0) when there are no lightning strikes, but report the distance when there IS a strike.  I know that this isn't a WeeWX-specific thread, but I know most of us here are using it.  :-)

Greg Troxel

unread,
Apr 25, 2020, 9:54:25 AM4/25/20
to Chris Morris, rtl_433
Chris Morris <chri...@gmail.com> writes:

> Has anyone managed to define in SDY.PY or WEEWX.CONFIG how to correctly
> record and display the strike distance/storm distance data from either the
> Atlas or 6045? Because both devices continually transmit the last
> strike/storm distance, I am having trouble trying to figure out how to get
> WeeWX to calculate what the true distance is, i.e. display (0) when there
> are no lightning strikes, but report the distance when there IS a strike.
> I know that this isn't a WeeWX-specific thread, but I know most of us here
> are using it. :-)

I have not done this or really looked into it (but I am monitoring a
6045 with rtl_433), but it seems obvious that:

rtl_433 just outputs bits from the Acurite 6045

The 6045 transmit a strike count and a distance

The distance field is updated on a strike being detected

Therefore, there needs to be stateful code that looks at strike count
and previous strike count, and passes strike distance when they are
different, and otherwise basically pretens that there is strike
distance report.

Essentially, this turns a continuous stream into an irregularly timed
sequence of events that look like

time, new srtrikes, distance of most recent


I'm guessing this belongs in sdr.py, but this kind of semantic
processing has to happen somewhere. This almost certainly requires
a bit of programming.


Chris Morris

unread,
Apr 27, 2020, 10:31:56 AM4/27/20
to rtl_433
Issue solved!  In order to read proper Lightning Distance, add the following to your weewx.conf file.  My variable, as defined in MY weewx.conf file, is "strike_distance".

[[Corrections]]
        strike_distance
= strike_distance if Lightning_Strikes > 0 else None


Chris Morris

unread,
Apr 27, 2020, 4:16:02 PM4/27/20
to rtl_433
I got lucky and even got a data point today (albeit a false positive, but I will take it!):

Capture4.JPG

Reply all
Reply to author
Forward
Message has been deleted
Message has been deleted
0 new messages