Yes I'm agree. This is the driver part of my weewx.conf:









*###############################[Interceptor]    driver = 
user.interceptor    device_type = ecowitt-client    port = 8000   
 [[sensor_map_extensions]]        lightning_strike_count = 
lightning_num        lightning_distance = 
lightning ###############################      * 
        
I followed this link: 
https://github.com/matthewwall/weewx-interceptor/issues/69 to modifie 
interceptor.py.
So this is the ecowitt-client part of my interceptor.py:

Row 2306 to 2459.


























































































































































*...class EcowittClient(Consumer):    """Use the ecowitt protocol (not WU 
protocol) to capture data"""    def __init__(self, **stn_dict):        
super(EcowittClient, self).__init__(            EcowittClient.Parser(), 
handler=EcowittClient.Handler, **stn_dict)    class 
Handler(Consumer.Handler):        def get_response(self):            return 
'{"errcode":"0","errmsg":"ok","UTC_offset":"-18000"}'    class 
Parser(Consumer.Parser):        # map labels to observation names        
LABEL_MAP = {            'baromabsin': 'pressure',            'humidity': 
'humidity_out',            'humidityin': 'humidity_in',            'tempf': 
'temperature_out',            'tempinf': 'temperature_in',            
'temp1f': 'temperature_1',            'temp2f': 'temperature_2',            
'temp3f': 'temperature_3',            'temp4f': 'temperature_4',            
'temp5f': 'temperature_5',            'temp6f': 'temperature_6',            
'temp7f': 'temperature_7',            'temp8f': 'temperature_8',            
'humidity1': 'humidity_1',            'humidity2': 'humidity_2',            
'humidity3': 'humidity_3',            'humidity4': 'humidity_4',            
'humidity5': 'humidity_5',            'humidity6': 'humidity_6',            
'humidity7': 'humidity_7',            'humidity8': 'humidity_8',            
'batt1': 'battery_1',            'batt2': 'battery_2',            'batt3': 
'battery_3',            'batt4': 'battery_4',            'batt5': 
'battery_5',            'batt6': 'battery_6',            'batt7': 
'battery_7',            'batt8': 'battery_8',            'soilmoisture1': 
'soil_moisture_1',            'soilmoisture2': 
'soil_moisture_2',            'soilmoisture3': 
'soil_moisture_3',            'soilmoisture4': 
'soil_moisture_4',            'soilmoisture5': 
'soil_moisture_5',            'soilmoisture6': 
'soil_moisture_6',            'soilmoisture7': 
'soil_moisture_7',            'soilmoisture8': 
'soil_moisture_8',            'soilbatt1': 'soil_battery_1',            
'soilbatt2': 'soil_battery_2',            'soilbatt3': 
'soil_battery_3',            'soilbatt4': 'soil_battery_4',            
'soilbatt5': 'soil_battery_5',            'soilbatt6': 
'soil_battery_6',            'soilbatt7': 'soil_battery_7',            
'soilbatt8': 'soil_battery_8',            'windspeedmph': 
'wind_speed',            'windgustmph': 'wind_gust',            'winddir': 
'wind_dir',            'solarradiation': 'solar_radiation',            
'uv': 'uv',            'totalrainin': 'rain_total',            
'rainratein': 'rain_rate',            'wh25batt': 
'wh25_battery',            'wh26batt': 'wh26_battery',            
'wh40batt': 'wh40_battery',            'wh65batt': 'wh65_battery',     
        'pm25_ch1': 'pm2_5',            'pm25batt1': 
'pm25_battery',            'lightning': 'lightning',            
'lightning_time': 'lightning_time',            'lightning_num': 
'lightning_num',            'wh57batt': 'wh57_battery',            
'leak_ch1': 'leak_1',            'leak_ch2': 'leak_2',            
'leak_ch3': 'leak_3',            'leak_ch4': 'leak_4',            
'leakbatt1': 'leak_battery_1',            'leakbatt2': 
'leak_battery_2',            'leakbatt3': 'leak_battery_3',            
'leakbatt4': 'leak_battery_4',        }        IGNORED_LABELS = 
[            'PASSKEY', 'dateutc', 'stationtype', 'model', 'freq', 
'baromrelin',            'maxdailygust', 'eventrainin', 'hourlyrainin', 
'dailyrainin',            'weeklyrainin', 'monthlyrainin', 
'yearlyrainin',            'pm25_avg_24h_ch1', 'winddir_avg10m', 
'windspdmph_avg10m',        ]        def __init__(self):            
self._last_rain = None            self._rain_mapping_confirmed = 
False        def parse(self, s):            pkt = dict()            
try:                data = _cgi_to_dict(s)                pkt['dateTime'] = 
self.decode_datetime(                    data.pop('dateutc', 
int(time.time() + 0.5)))                pkt['usUnits'] = 
weewx.US                # some devices (e.g., HP2551_V1.5.7) emit something 
that looks                # a lot like ecowitt protocol, but not quite.  
one thing that                # they get wrong is the rain - that have no 
totalrainin.  so                # for those devices, substitute a different 
cumulative rain                # measurement.  do this only once, and do 
not be fooled by                # partial packets.                if not 
self._rain_mapping_confirmed:                    if 'totalrainin' not in 
data and 'yearlyrainin' in data:                        
self.LABEL_MAP.pop('totalrainin')                        
self.LABEL_MAP['yearlyrainin'] = 'rain_total'                        
self._rain_mapping_confirmed = True                        loginf("using 
'yearlyrainin' for rain_total")                    elif 'totalrainin' in 
data:                        self._rain_mapping_confirmed = 
True                        loginf("using 'totalrainin' for 
rain_total")                # get all of the other 
parameters                for n in data:                    if n in 
self.LABEL_MAP:                        #pkt[self.LABEL_MAP[n]] = 
self.decode_float(data[n])                        # Oliver, 18.06.20 
further processing requires a num so set 0 to prevent float-conversion 
error                        pkt[self.LABEL_MAP[n]] = 
self.decode_float(data[n]) if data[n] != '' else 0                    elif 
n in self.IGNORED_LABELS:                        val = 
data[n]                        if n == 
'PASSKEY':                            val = 'X' * 
len(data[n])                        logdbg("ignored parameter %s=%s" % (n, 
val))                    else:                        loginf("unrecognized 
parameter %s=%s" % (n, data[n]))                # get the rain this period 
from total                if 'rain_total' in pkt:                    newtot 
= pkt['rain_total']                    pkt['rain'] = 
self._delta_rain(newtot, self._last_rain)                    
self._last_rain = newtot            except ValueError as e:                
logerr("parse failed for %s: %s" % (s, e))            return pkt        
@staticmethod        def decode_float(x):            # these stations send 
a value of -9999 to indicate no value, so            # convert that to a 
proper None.            x = Consumer.Parser.decode_float(x)            
return None if x == -9999 else x...*


Thanks

Le dimanche 11 avril 2021 à 02:38:45 UTC+2, [email protected] a écrit :

> post your gw1000 config especially map. suspect you are accumulating an 
> already-accumulated count
>
> On 11 Apr 2021, at 7:12 am, Johann Destombes <[email protected]> wrote:
>
> The GW1000 show 5 lightnings, this number is ok on the WS View apps and on
>  ecowitt.net but it's now more than 1000 on weewx database....
>
>
>

-- 
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/e6761a59-bb0f-40c1-b2a5-9d22898fa869n%40googlegroups.com.

Reply via email to