Rich, I have solved problem for persisting distance values without 
lightning strikes,  I am now using json rather than individual message 
callback, this leads to both lightning_strikes and lightning_distance to be 
in same loop which as you predicted would solved the problem.  My  
[MQTTSubscribeDriver] entry for the acurite 6054 lightning detector and 
acurite -rain899 rainfall gauge are included below, my example shows 
working for  msg_id_field for  acurite 6054  to be 233 and the  acurite 
-rain899 to be 1322.   Msg_id_field  may differ for other peoples devices, 
but I don't know.  

One question remains, as usual when you solve one problem, you create 
another,  I have sensors which for their mqtt output are not formatted in 
json, but work using "individual" callback.  Some might be convertible to 
json but others will not.  I see you have in configuring experimental 
options, the option to pick for each topic the type of format, with "name = 
value format" but I am not sure where that goes or if it will work with my 
current version  (2.1.0rc).  Thanks for the suggestions and the great work 
on  MQTTSubscribeDriver.    Gene




    [[message_callback]]
        # The format of the MQTT payload.
        # Currently support: individual, json, keyword
        # Must be specified.
        type = json
#        keyword_separator = ":"
#        keyword_delimiter = ","
    [[topics]]
        # Units for MQTT payloads without unit value.
        # Valid values: US, METRIC, METRICWX
        # For more information see, 
http://weewx.com/docs/customizing.htm#units
        # Default is US
        unit_system = METRIC
        [[[rtl_433/9b13b3f4-rtl433/events]]]
        msg_id_field = id
           [[[[time]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[model]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[id]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[channel]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[battery_ok]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[temperature_C_223]]]]
                name = outTemp
                units = degree_C
           [[[[humidity_223]]]]
                name = outHumidity
           [[[[strike_count_223]]]]
                name = lightning_strike_count
                contains_total = True
           [[[[storm_dist_223]]]]
                name = lightning_distance
                units = mile
           [[[[active]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[rfi]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[exception]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[raw_msg]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[mic]]]]
               ignore_msg_id_field = True
               ignore = True
           [[[[rain_mm_1322]]]]
                name = rain
                contains_total = true
                units = mm


On Thursday, August 12, 2021 at 7:49:04 PM UTC-4 [email protected] wrote:

> I am guessing that you are getting loop packets with just distance because 
> of the order the data is arriving over MQTT. 
>
> For example:
> message with distance arrives 
>   - data is saved
> another message with distance arrives
>   - packet with saved data is created
>   - current message is saved
> message with count arrives
>   - count is saved
> a message with either distance or count arrives
>   - packet with saved data is created
>   - data received is saved
>
> A debug level log would confirm this.
>
> If a ‘corrections’ expression won’t fix this, I will need a debug level 
> log to get an understanding of the data being received.
>
> If you are using rtl_433 to publish to MQTT, I’d also be interested in 
> what is being published to the ‘events’ topic.
> rich
>
> On Thursday, 12 August 2021 at 16:45:35 UTC-4 [email protected] wrote:
>
>> Not quite bingo, I am still getting some fixed lightning_distance 
>> integers in the absence of strikes, about 6 per hour.  Loops are produced 
>> with lightning_distance = 7.999  and no information on 
>> lightning_strike_count and other loops have with both lightning_distance = 
>> 7.999 and lightning_strike_count = 0   See below output from weewxd for 2 
>> hours.  
>>
>> I changed  [[Corrections]] to
>>   lightning_distance = None if lightning_strike_count == 0 or None else 
>> lightning_distance
>>
>> thinking that this correction would set lightning_distance to none in the 
>> absence of a lightning strike count, but the correction had no effect.  
>> Looking at all the loops there is no reason some loops  have 
>> lightning_distance: 7.99 while the great majority have the desired 
>> lightning_distance: None.  
>>
>> I got a great improvement moving to MQTTSubscribeDriver 2.1.0rc but the 
>> problem persists to a small degree.  The problem is 
>> happening sporadically and rarely.  Any thoughts?   I really don't want to 
>> give up MQTTSubscribeDriver since it is so versatile in what data you can 
>> bring into weewx.  
>>
>>
>> pi@raspberrypi:~ $  grep "lightning_distance: 7" weewxout1
>> LOOP:   2021-08-12 13:58:54 EDT (1628791134) active: 1.0, cloudbase: 
>> 4673.53199141, dateTime: 1628791134.4, dewpoint: 68.5748592378, heatindex: 
>> 84.58478629, humidex: 95.6055479842, lightning_distance: 7.99999999694, 
>> lightning_strike_count: None, maxSolarRad: None, outHumidity: 65.0, 
>> outTemp: 81.5, rainRate: 0, usUnits: 1
>> REC:    2021-08-12 14:00:00 EDT (1628791200) active: 0.4, cloudbase: 
>> 4592.04983163, dateTime: 1628791200, dewpoint: 68.8533815408, ET: None, 
>> heatindex: 84.5975618398, humidex: 95.7627385325, interval: 5, 
>> lightning_distance: 7.99999999694, lightning_strike_count: 0.0, 
>> maxSolarRad: None, outHumidity: 65.8, outTemp: 81.4200008, rain: 0.04, 
>> rainRate: 0.0421052631579, usUnits: 1
>> LOOP:   2021-08-12 14:42:54 EDT (1628793774) active: 1.0, dateTime: 
>> 1628793774.25, lightning_distance: 7.99999999694, maxSolarRad: None, 
>> rainRate: 0, usUnits: 1
>> REC:    2021-08-12 14:45:00 EDT (1628793900) active: 1.0, altimeter: 
>> 30.3586782548, barometer: 30.2545352733, cloudbase: 4768.17055948, 
>> dateTime: 1628793900, dewpoint: 70.2239033928, ET: None, heatindex: 
>> 87.9424503611, humidex: 99.1008122419, interval: 5, lightning_distance: 
>> 7.99999999694, lightning_strike_count: 0.0, maxSolarRad: None, outHumidity: 
>> 64.3243243243, outTemp: 83.5654538545, pressure: 28.5043137197, rain: 0.0, 
>> rainRate: 0.0, usUnits: 1
>> LOOP:   2021-08-12 14:58:06 EDT (1628794686) active: 1.0, dateTime: 
>> 1628794686.48, lightning_distance: 7.99999999694, maxSolarRad: None, 
>> rainRate: 0, usUnits: 1
>> LOOP:   2021-08-12 14:58:30 EDT (1628794710) active: 1.0, dateTime: 
>> 1628794710.6, lightning_distance: 7.99999999694, maxSolarRad: None, 
>> rainRate: 0, usUnits: 1
>> REC:    2021-08-12 15:00:00 EDT (1628794800) active: 0.911764705882, 
>> altimeter: 30.352863321, barometer: 30.248274916, cloudbase: 4781.8918872, 
>> dateTime: 1628794800, dewpoint: 71.158468132, ET: None, heatindex: 
>> 89.7957954486, humidex: 100.932534378, interval: 5, lightning_distance: 
>> 7.99999999694, lightning_strike_count: 0.0, maxSolarRad: None, outHumidity: 
>> 64.3235294118, outTemp: 84.5603924356, pressure: 28.4987883408, rain: 0.0, 
>> rainRate: 0.0, usUnits: 1
>> LOOP:   2021-08-12 15:50:46 EDT (1628797846) active: 1.0, dateTime: 
>> 1628797846.38, lightning_distance: 7.99999999694, maxSolarRad: None, 
>> rainRate: 0, usUnits: 1
>> REC:    2021-08-12 15:55:00 EDT (1628798100) active: 1.0, altimeter: 
>> 30.3401020979, barometer: 30.2347797117, cloudbase: 4909.75354319, 
>> dateTime: 1628798100, dewpoint: 71.8556696944, ET: None, heatindex: 
>> 91.9474302989, humidex: 102.838512165, interval: 5, lightning_distance: 
>> 7.99999999694, lightning_strike_count: 0.0, maxSolarRad: None, outHumidity: 
>> 63.2432432432, outTemp: 85.8181836364, pressure: 28.4866625997, rain: 0.0, 
>> rainRate: 0.0, usUnits: 1
>>
>> On Wednesday, August 11, 2021 at 3:12:22 PM UTC-4 Gene LeSage wrote:
>>
>>> Bingo, fixed by installing v2.1.0-RC MQTTSubscribeDriver. Adding 
>>> collect_observations = True and single_queue = True to   [[topics], I get 
>>> desired behavior.  Null lightning distance is recorded in absence of 
>>> strikes and with an test simulated lightning strike by battery charger 
>>> shorting, I get lightning strike recording and a lightning distance.  Loop 
>>> shows both lightning distance and strikes in same loop:
>>>
>>> LOOP:   2021-08-11 14:56:07 EDT (1628708167) active: 1.0, cloudbase: 
>>> 5636.94172822, dateTime: 1628708167.42, dewpoint: 70.6358563958, heatindex: 
>>> 93.4196227576, humidex: 103.698544022, lightning_distance: None, 
>>> lightning_strike_count: 0, maxSolarRad: None, outHumidity: 57.0, outTemp: 
>>> 87.8, rainRate: 0, usUnits: 1
>>> LOOP:   2021-08-11 14:56:07 EDT (1628708167) active: 1.0, cloudbase: 
>>> 5636.94172822, dateTime: 1628708167.43, dewpoint: 70.6358563958, heatindex: 
>>> 93.4196227576, humidex: 103.698544022, lightning_distance: None, 
>>> lightning_strike_count: 0, maxSolarRad: None, outHumidity: 57.0, outTemp: 
>>> 87.8, rainRate: 0, usUnits: 1
>>>
>>> Supporting the idea that lightning strikes and distances were being 
>>> interpreted at different times I caught two lightning strikes this morning 
>>> (before installing v2.1.0-RC) which shows the 8 am lightning strike before 
>>> lightning distance change  and the 11 am lightning strike after lightning 
>>> distance change.  By not being synchronized, the correction 
>>> (lightning_distance = lightning_distance if lightning_strike_count > 0 else 
>>> None) would never work.  
>>>
>>> Thanks
>>>
>>>
>>>
>>>
>>>
>>> [image: Screenshot (14).png]
>>>
>>> On Wednesday, August 11, 2021 at 11:41:31 AM UTC-4 [email protected] 
>>> wrote:
>>>
>>>> I fear the root cause is that MQTTSubscribeDriver takes each MQTT 
>>>> message and creates a loop packet. This works ok for 'aggregated' messages 
>>>> like json or keyword (the original implementations). But for 'individual' 
>>>> payloads that are dependent on each other, it is problematic.I've already 
>>>> had to deal with this for wind data. MQTTSubscribe collects speed and 
>>>> direction data into a single loop packet.
>>>>
>>>> Since then I've been experimenting with collecting data and creating 
>>>> the loop packet from the collection.  Looking at your loop packets, I 
>>>> think 
>>>> it might help you. 
>>>>
>>>> The code is a pre-release which can be found here, 
>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/releases/tag/v2.1.0-rc02
>>>>
>>>> You will need to add two undocumented configuration options.
>>>>
>>>> [MQTTSubscribeDriver]
>>>> .
>>>> .
>>>> .
>>>>
>>>>     [[topics]
>>>>         # With the exception of wind data, by default a packet is 
>>>> created for every MQTT message received.
>>>>         # When this is true, MQTTSubscribe attempts to collect 
>>>> observations across messages into a packet.
>>>>         # Default is False.
>>>>         # This is experimental and may be removed.
>>>>         collect_observations = True
>>>>
>>>>         # With the exception of wind data, by default a queue is 
>>>> created for every MQTT topic.
>>>>         # When this is true, MQTTSubsribe uses a single queue for all 
>>>> non wind data.
>>>>         # This is useful when 'collect_observations = True'.
>>>>         # Default is False.
>>>>         # This is experimental and may be removed.
>>>>         single_queue = True
>>>>
>>>> .
>>>> .
>>>> .
>>>>
>>>> With this, the incoming data should be collected and a loop packet only 
>>>> created when the arriving observation is already in the collection. Since, 
>>>> hopefully, the loop packet now has both strike and distance data, your 
>>>> [[Corrections]] should work.
>>>>
>>>> If this doesn't work. I'll have to go back to the drawing board and 
>>>> look for a different solution. If it comes to this, I'd need a debug level 
>>>> log for at least one archive period so that I can analyze the data.
>>>>
>>>> This is beta code, so the usual caveats apply. 
>>>> rich
>>>>
>>>> ps.
>>>> If you are using rtl_433 to publish to MQTT, another option might be to 
>>>> use the 'events' topic that it publishes to. This is a json formatted 
>>>> message so the loop packet created for each MQTT message should have both 
>>>> the strike and distance data.
>>>>
>>>> On Wednesday, 11 August 2021 at 09:52:39 UTC-4 [email protected] wrote:
>>>>
>>>>> I am using weewx-MQTTSubscribe to bring data into Weewx from sensors, 
>>>>> so i don't use SDR sensor map, see config for mqttsubscribe here 
>>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/Configuring  A 
>>>>> number of unsuccessful tries to modify mqttsubscribe are commented out.  
>>>>> [MQTTSubscribeDriver]
>>>>>  [[topics]]
>>>>>   
>>>>> [[[rtl_433/9b13b3f4-rtl433/devices/Acurite-6045M/C/223/strike_count]]]
>>>>>             
>>>>> [[[[rtl_433/9b13b3f4-rtl433/devices/Acurite-6045M/C/223/strike_count]]]]
>>>>>                 name = lightning_strike_count    #strikes_total  
>>>>> #strike_count
>>>>>                 contains_total = true
>>>>> #                conversion_type = int
>>>>> #                units = count
>>>>> #                expires_after = 0
>>>>>         
>>>>> [[[rtl_433/9b13b3f4-rtl433/devices/Acurite-6045M/C/223/storm_dist]]]
>>>>>             
>>>>> [[[[rtl_433/9b13b3f4-rtl433/devices/Acurite-6045M/C/223/storm_dist]]]]
>>>>>                 name = lightning_distance    #strike_dist  
>>>>> #LS_1_distance
>>>>> #                units = mile
>>>>> #                conversion_type = int
>>>>> #                expires_after = 0
>>>>>
>>>>>
>>>>>
>>>>>     [[Corrections]]
>>>>>         # For each type, an arbitrary calibration expression can be 
>>>>> given.
>>>>>         # It should be in the units defined in the StdConvert section.
>>>>>         # Example:
>>>>>          lightning_distance = lightning_distance if 
>>>>> lightning_strike_count > 0 else None
>>>>>
>>>>> [Accumulator]
>>>>>     [[lightning_strike_count]]
>>>>>         extractor = sum 
>>>>>     [[lightning_distance]]
>>>>>         extractor = min
>>>>> #        merger = minmax
>>>>>
>>>>>
>>>>> On Wednesday, August 11, 2021 at 7:58:38 AM UTC-4 [email protected] 
>>>>> wrote:
>>>>>
>>>>>> I think going back to your original issue something seems to be off. 
>>>>>> Can you post you weewx.conf for lightning data? If you're using sdr, 
>>>>>> should 
>>>>>> contain the following in each section:
>>>>>>
>>>>>> [SDR]
>>>>>>     [[sensor_map]]
>>>>>>         ......
>>>>>>         lightning_distance = distance.XXXX.AcuriteLightningPacket
>>>>>>         strikes_total = strikes_total.XXXX.AcuriteLightningPacket
>>>>>>     [[deltas]]
>>>>>>         rain = rain_total
>>>>>>         lightning_strike_count = strikes_total
>>>>>>
>>>>>> [StdCalibrate]
>>>>>>     
>>>>>>     [[Corrections]]
>>>>>>         lightning_distance = lightning_distance if 
>>>>>> lightning_strike_count > 0 else None
>>>>>>
>>>>>> [Accumulator]
>>>>>>     [[lightning_strike_count]]
>>>>>>         extractor = sum
>>>>>>     [[lightning_distance]]
>>>>>>         extractor = min
>>>>>>
>>>>>> On Tuesday, August 10, 2021 at 2:46:44 PM UTC-4 [email protected] 
>>>>>> wrote:
>>>>>>
>>>>>>> Initially I thought Rich's solution was going to work, adding his 
>>>>>>> suggested correction <lightning_distance = lightning_distance if 
>>>>>>> 'lightning_strike_count'in locals() and lightning_strike_count> 0 else 
>>>>>>> None>  eliminated my fixed lightning_distance data in the absence of 
>>>>>>> lightning_counts, but it created a new problem, now I don't get 
>>>>>>> lightning_distance values with a lightning strike.  I triggered the 
>>>>>>> lightning detector with a spark by transiently shorting a battery 
>>>>>>> charger 
>>>>>>> at time 14:22:16 , which produced 2 detected lightnings and 14:22:24 
>>>>>>> which 
>>>>>>> produced one, but the lightning_distance remains at None.  My mqtt 
>>>>>>> explorer 
>>>>>>> reports the lightning detector is sending a constant 12-mile lightning 
>>>>>>> distant 
>>>>>>>
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.82, lightning_distance: None, maxSolarRad: None, 
>>>>>>> outHumidity: 
>>>>>>> 73.0, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.81, lightning_strike_count: 2.0, maxSolarRad: None, 
>>>>>>> rainRate: 
>>>>>>> 0.32, usUnits: 1        
>>>>>>> <--------------------------------------------------------
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.82, lightning_distance: None, lightning_strike_count: 0.0, 
>>>>>>> maxSolarRad: None, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.83, lightning_distance: None, lightning_strike_count: 0.0, 
>>>>>>> maxSolarRad: None, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.81, lightning_distance: None, maxSolarRad: None, rainRate: 
>>>>>>> 0.32, 
>>>>>>> usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.82, lightning_distance: None, maxSolarRad: None, rainRate: 
>>>>>>> 0.32, 
>>>>>>> usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:16 EDT (1628619736) dateTime: 
>>>>>>> 1628619736.83, lightning_distance: None, maxSolarRad: None, rainRate: 
>>>>>>> 0.32, 
>>>>>>> usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.67, lightning_distance: None, maxSolarRad: None, outTemp: 
>>>>>>> 82.000004, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.68, lightning_distance: None, maxSolarRad: None, outTemp: 
>>>>>>> 82.000004, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.69, lightning_distance: None, maxSolarRad: None, outTemp: 
>>>>>>> 82.000004, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.67, lightning_distance: None, maxSolarRad: None, 
>>>>>>> outHumidity: 
>>>>>>> 73.0, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.68, lightning_distance: None, maxSolarRad: None, 
>>>>>>> outHumidity: 
>>>>>>> 73.0, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.69, lightning_distance: None, maxSolarRad: None, 
>>>>>>> outHumidity: 
>>>>>>> 73.0, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.68, lightning_strike_count: 1.0, maxSolarRad: None, 
>>>>>>> rainRate: 
>>>>>>> 0.32, usUnits: 1            
>>>>>>> <-----------------------------------------------------------
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.69, lightning_distance: None, lightning_strike_count: 0.0, 
>>>>>>> maxSolarRad: None, rainRate: 0.32, usUnits: 1
>>>>>>> LOOP:   2021-08-10 14:22:24 EDT (1628619744) dateTime: 
>>>>>>> 1628619744.69, lightning_distance: None, lightning_strike_count: 0.0, 
>>>>>>> maxSolarRad: None, rainRate: 0.32, usUnits: 1
>>>>>>>
>>>>>>>
>>>>>>> On Tuesday, August 10, 2021 at 9:20:17 AM UTC-4 [email protected] 
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I'm no python expert (probably know just enough to be dangerous), 
>>>>>>>> but something like this might get you want you want. 
>>>>>>>>
>>>>>>>> # ligtning_strike_count must exist and have a count > 0 for 
>>>>>>>> lightning_distance to have a valid value
>>>>>>>> lightning_distance = lightning_distance if 
>>>>>>>> 'lightning_strike_count'in locals() and lightning_strike_count> 0 else 
>>>>>>>> None
>>>>>>>>
>>>>>>>> rich
>>>>>>>> On Tuesday, 10 August 2021 at 03:03:01 UTC-4 gjr80 wrote:
>>>>>>>>
>>>>>>>>> On Tuesday, 10 August 2021 at 08:37:42 UTC+10 [email protected] 
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Here is my output running weewxd directly, I see three lines 
>>>>>>>>>> which show lightning_distance to be None, which is expected from 
>>>>>>>>>> corrections, but the following three lines show lightning_distance 
>>>>>>>>>> to be 
>>>>>>>>>> 11.999...  It appears the correction " lightning_distance = 
>>>>>>>>>> lightning_distance if lightning_strike_count > 0 else None" is 
>>>>>>>>>> working but 
>>>>>>>>>> being ignored in final output to graph and database.  Any additional 
>>>>>>>>>> thoughts?
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The reason you see no change to lightning_distance for some 
>>>>>>>>> packets is that for those packets lightning_strike_count does not 
>>>>>>>>> exist so your calibration expression fails and no change is made, in 
>>>>>>>>> other 
>>>>>>>>> words lightning_distance remains as it was 11.9999999954. Why 
>>>>>>>>> does this happen, in layman's terms when lightning_strike_count 
>>>>>>>>> is not in the loop packet the calibration expression in effect has an 
>>>>>>>>> unknown variable (lightning_strike_count) and the calibration 
>>>>>>>>> expression raises an error. The StdCalibrate service which 
>>>>>>>>> handles the calibration expressions catches that error and discards 
>>>>>>>>> that 
>>>>>>>>> calibration expression. Given the limitations of the StdCalibrate 
>>>>>>>>> service I am not aware of any calibration expression that would do as 
>>>>>>>>> you 
>>>>>>>>> want, of course a WeeWX and python wizard might come along an prove 
>>>>>>>>> me 
>>>>>>>>> wrong!
>>>>>>>>>
>>>>>>>>> My thoughts on a solution, unless there is a simple solution in 
>>>>>>>>> your WeeWX driver or elsewhere upstream of WeeWX I would be writing 
>>>>>>>>> your 
>>>>>>>>> own WeeWX service to look at the packet and make the necessary 
>>>>>>>>> correction. 
>>>>>>>>> This way you can use a bit of python code to do exactly what you want 
>>>>>>>>> and 
>>>>>>>>> you won't be limited by the single line expressions as used by 
>>>>>>>>> StdCalibrate. All up it should take no more than 10 lines of 
>>>>>>>>> code. The service could be a data_service or process_service 
>>>>>>>>> (refer weewx.conf [Engine] [[Services]]) but would need to appear 
>>>>>>>>> before StdArchive is called. The advantage of your own service is 
>>>>>>>>> that there is no need to change any one else's code (eg WeeWX driver, 
>>>>>>>>> upstream code) so you will not have your changes lost during an 
>>>>>>>>> upgrade 
>>>>>>>>> (WeeWX or otherwise).
>>>>>>>>>
>>>>>>>>> Gary
>>>>>>>>>
>>>>>>>>

-- 
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 on the web visit 
https://groups.google.com/d/msgid/weewx-user/9021731c-6130-49ab-9198-cefe62dc0b5dn%40googlegroups.com.

Reply via email to