Here is the code that I am working on...

[StdCalibrate]

    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # Example:
        foo = foo + 0.2

        # lightning_strike_count is a internal variable that is used by 
weewx in reports.  It shows the numer of lightning strikes that occured 
within a loop/archive interval
        # obtain information about lightning strikes for reporting to 
hubitat
        # lightning_strike_count_start is the number of strikes that the 
day started with (strike_count)
        # lightning_strike_count_last is the present number of strikes today
        # lightning_count is the total count of lightning strikes that have 
occurred today
        #
        # lightning_strike_last_distance = distance of the last lightning 
strike
        # lightning_strike_min_distance = distance of the closest lightning 
strike
        #
        # still have work to do to obtain the time of the two lightning 
strikes
        # still have testing to do on what is presently done
        #
        lightning_strike_count_start = strike_count
        lightning_strike_count_last = strike_count
        lightning_count = lightning_count + lightning_strike_count if 
lightning_strike_count > 0 else None
        lightning_distance = strike_distance if lightning_strike_count > 0 
else None
        lightning_strike_last_distance = strike_distance if 
lightning_strike_count > 0 else None
        lighting_strike_min_distance = strike_distance if 
lightning_strike_count > 0 else None

and

    [[Delta]]

        [[[lightning_strike_count]]]
            input =  strike_count

        [[[rain]]]
            input = rain_total

        [[[lightning_strike_distance]]]
            input = strike_distance

[Accumulator]
    [[lightning_count]]
        extractor = last

    [[lightning_strike_last_distance]]
        extractor = last
#        merger = minmax

    [[lighting_strike_min_distance]]
        extractor = min
#        merger = minmax

    [[lightning_strike_count_start]]
        extractor = min
    [[lightning_strike_count_last]]
        extractor = last

If these work then I will start pulling the datetime information.    I 
believe that the SDR has a datatime available that I plan to then:

lightning_strike_last_time = datetime if lightning_strike_count>0 else None

if lightning_strike_last_distance is <= lightning_strike_min_dstance then 
lightning_strike_min_time = lighting_strike_last_time

and accumulate with
    [[lightning_strike_min_time]]
        extractor = last

    [[lightning_strike_last_time]]
        extractor = last

random thought of an amature

So far on my testing i have been able to show that the data flows over to 
hubitat..

My strike counter this morning was (and still is) 78.  that value is going 
over to hubitat in both the lightning_strike_count_start and 
lighning_strike_count_last records!!!!

what I now need is some bad weather so that I can see if the count_start 
does not increment untill the new day (or acurite atlas reset) and that 
strike_count_last value increments correctly.
then the next day I expect count_start to be set to the new value which was 
the last count of the previous day.  Or if atlas reset the value to zero 
(roll over of power reset) that it is set to zero and count_last is 
operating as expected.

After that I will be testing if the distance values are working correctly...

then I will be testing the time values to see if they are working correctly.

All will be compared to the data being sent to MyAcurite by the acurite 
hubs.

Any thoughts would be very much appreciated!

THanks

On Wednesday, August 5, 2026 at 10:51:29 AM UTC-4 Patrick Sifford wrote:

> Thanks...   very interesting read!!!
>
> we are going two different directions on how to make this work.   You have 
> a much more elegant process that I want to get into to and play with 
> sometime.  Because of my lack of knowledge I was looking at a more brute 
> force (which normally means wrong) way of doing this.  
>
> My thought on time was to set the nearest time = present time when present 
> strike distance is equal to or closer to nearest strike...  
> and setting present time = present time when there is a strike.
>
> not really databasing it but getting the value available for hubitat...    
>
> However, looking at your solution it looks really tasty...   If I get mine 
> working...   or run into a brick wall that is there  I will look at what 
> you got...   tempting as it means there are somethings I can learn from it!
>
> Thanks.
>
> P.S.  
>
> it was suppose to rain this morning so I was hoping that we would get some 
> lightning....   neither of rain or lightning.  So I am going to make it 
> look good and then will post for you to look at.  Would love to have a test 
> that runs with lightning and switch over at mid night.
>
> THanks 
>
> On Wednesday, August 5, 2026 at 9:56:06 AM UTC-4 [email protected] wrote:
>
>> Patrick,
>> I'm looking forward to what you come up with. I did some work and you can 
>> find it here, 
>> https://github.com/bellrichm/WeeWX-Extras/blob/master/bin/user/observationtime.py
>> Basically I store the first/last/min/max of an observation for the 
>> archive period. A bit more information is here, 
>> https://groups.google.com/g/weewx-user/c/oQPj0cuYMZw/m/EJvMn6ggAQAJ
>> It is totally an experiment, so it no install and real documentation; but 
>> maybe something in it will be useful to you.
>> rich
>>
>> On Wednesday, 5 August 2026 at 08:00:14 UTC-4 Patrick Sifford wrote:
>>
>>> Tom,
>>>
>>> Your information was very useful.   I think I have a handle on most 
>>> things that I am trying to get through.  What I am trying to do is to have 
>>> values for daily lightning strikes, nearest strike (and its time), and 
>>> latest strike (and its time) available to send to Hubitat (That is the easy 
>>> part for me).
>>>
>>> One thing that i did not see (may of skipped over it) in the wiki page 
>>> is the time period of a accumulator.  It was looking like it was a 
>>> loop/archive interval, but i found out that happenned to be my data.  From 
>>> reading around it seems that accumulators reset to 0 at midnight.  Once I 
>>> got over that I was able (I think... still waiting on a thunderstorm to 
>>> check it out) to get a lightning count for the day:
>>>
>>> lightning_count_start = the min value of strike_count (choose the min 
>>> versus first incase acurite atlas resets the value during the day for any 
>>> reason)
>>> lightning_count_now = the last value of strike_count
>>> lightning_count = lightning_count_now - lightning_count_start
>>>
>>> then put lightning_count into an accumulator for the last.
>>>
>>> finding the min and last lightning distance is easy also....      What I 
>>> can not find any reference on is :
>>>
>>> Once I have the min lightning distance (or the last)  how do I determine 
>>> the time of that strike?
>>>
>>> Thanks
>>> Patrick
>>>
>>> On Sunday, August 2, 2026 at 12:33:43 PM UTC-4 Patrick Sifford wrote:
>>>
>>>> Tom  
>>>>
>>>> Thanks...    I think that will help
>>>>
>>>> I have seen other structures to the Delta functions...   Ill give this 
>>>> a try
>>>>
>>>>
>>>>
>>>> On Saturday, August 1, 2026 at 5:45:37 PM UTC-4 Tom Keffer wrote:
>>>>
>>>>> Accumulators are documented here 
>>>>> <https://github.com/weewx/weewx/wiki/Accumulators>.
>>>>>
>>>>> Unfortunately, there is no documentation for deltas, but they are 
>>>>> pretty simple. If you have some extensive quantity, say "tide", and 
>>>>> you want to calculate "delta_tide" as the difference in tide between 
>>>>> archive records, it would look like this:
>>>>>
>>>>> [StdWXCalculate]
>>>>>   [[Delta]]
>>>>>     [[[delta_tide]]]
>>>>>       input = tide
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Sat, Aug 1, 2026 at 2:13 PM Patrick Sifford <[email protected]> 
>>>>> wrote:
>>>>>
>>>>>> Is there any where a definitive and correct set of documents that 
>>>>>> discuss how to use deltas and accumulators and their formats?
>>>>>>
>>>>>> I am trying to work on Acurite Atlas Rain and Lightning sensors and 
>>>>>> get confused when I read different discussions on the topics.  I think 
>>>>>> the 
>>>>>> rain is taken care of (somewhere various rain items are calculated 
>>>>>> (rainToday, rain24, ... ) that I am able to take advantage of.  However, 
>>>>>> I 
>>>>>> do not seem to find similar items for Lightning.
>>>>>>
>>>>>> I have also found multiple solutions which do not seem to be 
>>>>>> solutions...   and they all seem to be using different formats of how 
>>>>>> deltas and accumulator's work.   
>>>>>>
>>>>>> Not looking for the solution ...    looking for good reasonable 
>>>>>> documentation of how these things work to include extractors...
>>>>>>
>>>>>> Thanks
>>>>>> Patrick
>>>>>>
>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "weewx-user" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to [email protected].
>>>>>> To view this discussion visit 
>>>>>> https://groups.google.com/d/msgid/weewx-user/de622fde-796f-43ad-b087-5cc28edaf347n%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/weewx-user/de622fde-796f-43ad-b087-5cc28edaf347n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/weewx-user/91317e24-436f-49c1-b156-b4cc7f705586n%40googlegroups.com.

Reply via email to