Thank you very much for the detailed explanation.

I simply removed the condition “if field not in packet:” from 
augment_packet() and it works as desired. The fact that the inside 
temperature and humidity of the WN1980AE are now also taken over is a 
welcome side effect.

If you could implement the control switch in the configuration it would be 
even better. So the customization would survive future updates without 
further attention.

Tobias
gjr80 schrieb am Dienstag, 26. Dezember 2023 um 07:23:25 UTC+1:

> What you are seeing is expected behaviour. When run as a service the 
> Ecowitt gateway driver augments loop packets with data from the Ecowitt 
> device, but it does not overwrite existing loop data. Whilst your WH1080 
> station no longer emits rainfall data, the fousb driver used to support 
> that station continues to emit loop packets containing the field rain, 
> albeit with rain always set to 0.0. When the Ecowitt gateway driver 
> augments the fousb loop packet, the rain field is left untouched since 
> the rain field already exists in the fousb loop packet.
>
> When you run the Ecowitt gateway driver with the --test-service option 
> you see the field rain appearing in the output as the --test-service 
> option uses a simplified, fixed loop packet (actually just one observation 
> only - dummyTemp=96.3F). So the field rain does not exist in the loop 
> packet and consequently the issue of overwriting/not overwriting the field 
> rain does not arise.
>
> So what can you do? Two options come to mind:
>
> 1. You could alter the field map used by the Ecowitt gateway driver to map 
> rainfall to some other field, for example ecowitt_rain. You could then 
> place an entry in weewx.conf [StdCalibrate] [[Corrections]] to set the 
> field rain to ecowitt_rain. 
>
> 2. I can implement an option in the Ecowitt gateway driver config that 
> allows loop packet fields to be overwritten by Ecowitt data. However, this 
> would be an all or nothing setting, ie loop packet fields would be 
> overwitten by all Ecowitt fields, not just rain. So you might find 
> temperature and humiidy fields from you WH1080 might be overwritten by the 
> same fields if emitted by the Ecwoittt gateway driver. However, this could 
> be mitigated by altering the Ecowitt gateway field map to only emit those 
> fields to be overwritten (in this case the field rain). Give me a day or 
> two and I can implement this in v0.6.0b3.
>
> The other complicating factor is loop packet timing. You have the fousb 
> driver configured to poll your station every 60 seconds and you should see 
> loop packets every 60 seconds. When used as a service, the Ecowitt gateway 
> driver waits for a loop packet to arrive and if Ecowitt data has been 
> received since the last loop packet arrived, the most recent Ecowitt data 
> is used to augment the loo packet. If no Ecowitt data has been received 
> since the last loop packet no Ecowitt data will be added to the loop 
> packet. So you will need to keep your Ecowitt poll interval less than your 
> fousb poll interval, I would recommend something like 30 or 20 seconds for 
> a fousb poll interval of 60 seconds.
>
> You could also look at running two WeeWX instances, one using the foush 
> driver and the other the Ecowitt gateway driver as a driver. This avoids 
> any messing around augmenting loop packets and possibly contaminating or 
> missing data, but it does make reporting more complex as you now have data 
> in two different databases. Of note the Seasons skin does not support two 
> databases out of the box - ie you would need to modify the Seasons skin 
> yourself.
>
> Thanks for picking up the field map logging bug, that is as a result of 
> the extensive refactoring that occured in producing v0.6.0. It will be 
> fixed in the next beta release.
>
> Gary
> On Monday 25 December 2023 at 08:50:33 UTC+10 [email protected] wrote:
>
>> PS: If I delete line 1390 from gw1000.py I get the following log starting 
>> weewx
>>
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Initializing weewx 
>> version 4.10.2
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Using Python 3.7.3 
>> (default, Oct 11 2023, 09:51:27) #012[GCC 8.3.0]
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Located at 
>> /usr/bin/python3
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Platform 
>> Linux-5.10.103+-armv6l-with-debian-10.13
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Locale is 
>> 'de_DE.UTF-8'
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Using configuration 
>> file /home/weewx/weewx.conf
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO __main__: Debug is 1
>> Dec 24 23:31:41 wetterpi weewx[18784] DEBUG __main__: Initializing engine
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO weewx.engine: Loading station 
>> type FineOffsetUSB (weewx.drivers.fousb)
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO weewx.drivers.fousb: driver 
>> version is 1.20
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO weewx.drivers.fousb: polling 
>> mode is PERIODIC
>> Dec 24 23:31:41 wetterpi weewx[18784] INFO weewx.drivers.fousb: polling 
>> interval is 60
>> Dec 24 23:31:42 wetterpi weewx[18784] INFO weewx.drivers.fousb: found 
>> station on USB bus= device=
>> Dec 24 23:31:42 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdTimeSynch
>> Dec 24 23:31:42 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdTimeSynch
>> Dec 24 23:31:42 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> user.gw1000.GatewayService
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000: GatewayService: 
>> version is 0.6.0b2
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      max age of 
>> API data to be used is 60 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      lost contact 
>> will be logged every 21600 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      device 
>> address is 192.168.0.31:45000
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      poll 
>> interval is 20 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      max tries is 
>> 3, retry wait time is 10 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      broadcast 
>> address is 255.255.255.255:46000, broadcast timeout is 5 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      socket 
>> timeout is 2 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO user.gw1000:      field map is 
>> {'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 
>> 'daymaxwind': 'daymaxwind', 'dayRain': 't_rainday', 'dewpoint': 'dewpoint', 
>> 'extraHumid1': 'humid1', 'extraHumid2': 'humid2', 'extraHumid3': 'humid3', 
>> 'extraHumid4': 'humid4', 'extraHumid5': 'humid5', 'extraHumid6': 'humid6', 
>> 'extraHumid7': 'humid7', 'extraHumid8': 'humid8', 'extraHumid17': 
>> 'humid17', 'extraTemp1': 'temp1', 'extraTemp2': 'temp2', 'extraTemp3': 
>> 'temp3', 'extraTemp4': 'temp4', 'extraTemp5': 'temp5', 'extraTemp6': 
>> 'temp6', 'extraTemp7': 'temp7', 'extraTemp8': 'temp8', 'extraTemp9': 
>> 'temp9', 'extraTemp10': 'temp10', 'extraTemp11': 'temp11', 'extraTemp12': 
>> 'temp12', 'extraTemp13': 'temp13', 'extraTemp14': 'temp14', 'extraTemp15': 
>> 'temp15', 'extraTemp16': 'temp16', 'extraTemp17': 'temp17', 'heatindex': 
>> 'heatindex', 'inHumidity': 'inhumid', 'inTemp': 'intemp', 'leafWet1': 
>> 'leafwet1', 'leafWet2': 'leafwet2', 'leafWet3': 'leafwet3', 'leafWet4': 
>> 'leafwet4', 'leafWet5': 'leafwet5', 'leafWet6': 'leafwet6', 'leafWet7': 
>> 'leafwet7', 'leafWet8': 'leafwet8', 'leak1': 'leak1', 'leak2': 'leak2', 
>> 'leak3': 'leak3', 'leak4': 'leak4', 'lightning_distance': 'lightningdist', 
>> 'lightning_last_det_time': 'lightningdettime', 'lightning_strike_count': 
>> 'lightning_strike_count', 'lightningcount': 'lightningcount', 'luminosity': 
>> 'light', 'monthRain': 't_rainmonth', 'outHumidity': 'outhumid', 'outTemp': 
>> 'outtemp', 'p_dayRain': 'p_rainday', 'p_monthRain': 'p_rainmonth', 
>> 'p_rain': 'p_rain', 'p_rainRate': 'p_rainrate', 'p_stormRain': 
>> 'p_rainevent', 'p_weekRain': 'p_rainweek', 'p_yearRain': 'p_rainyear', 
>> 'pm2_5': 'pm251', 'pm2_51_24h_avg': 'pm251_24h_avg', 'pm2_52': 'pm252', 
>> 'pm2_52_24h_avg': 'pm252_24h_avg', 'pm2_53': 'pm253', 'pm2_53_24h_avg': 
>> 'pm253_24h_avg', 'pm2_54': 'pm254', 'pm2_54_24h_avg': 'pm254_24h_avg', 
>> 'pm2_55': 'pm255', 'pm2_55_24h_avg': 'pm255_24h_avg', 'pm10': 'pm10', 
>> 'pm10_24h_avg': 'pm10_24h_avg', 'pressure': 'absbarometer', 'rain': 
>> 't_rain', 'rainRate': 't_rainrate', 'relbarometer': 'relbarometer', 
>> 'soilMoist1': 'soilmoist1', 'soilMoist2': 'soilmoist2', 'soilMoist3': 
>> 'soilmoist3', 'soilMoist4': 'soilmoist4', 'soilMoist5': 'soilmoist5', 
>> 'soilMoist6': 'soilmoist6', 'soilMoist7': 'soilmoist7', 'soilMoist8': 
>> 'soilmoist8', 'soilMoist9': 'soilmoist9', 'soilMoist10': 'soilmoist10', 
>> 'soilMoist11': 'soilmoist11', 'soilMoist12': 'soilmoist12', 'soilMoist13': 
>> 'soilmoist13', 'soilMoist14': 'soilmoist14', 'soilMoist15': 'soilmoist15', 
>> 'soilMoist16': 'soilmoist16', 'soilTemp1': 'soiltemp1', 'soilTemp2': 
>> 'soiltemp2', 'soilTemp3': 'soiltemp3', 'soilTemp4': 'soiltemp4', 
>> 'soilTemp5': 'soiltemp5', 'soilTemp6': 'soiltemp6', 'soilTemp7': 
>> 'soiltemp7', 'soilTemp8': 'soiltemp8', 'soilTemp9': 'soiltemp9', 
>> 'soilTemp10': 'soiltemp10', 'soilTemp11': 'soiltemp11', 'soilTemp12': 
>> 'soiltemp12', 'soilTemp13': 'soiltemp13', 'soilTemp14': 'soiltemp14', 
>> 'soilTemp15': 'soiltemp15', 'soilTemp16': 'soiltemp16', 'stormRain': 
>> 't_rainevent', 'totalRain': 't_raintotals', 'UV': 'uvi', 'uvradiation': 
>> 'uv', 'weekRain': 't_rainweek', 'wh24_batt': 'wh24_batt', 'wh24_sig': 
>> 'wh24_sig', 'wh25_batt': 'wh25_batt', 'wh25_sig': 'wh25_sig', 'wh26_batt': 
>> 'wh26_batt', 'wh26_sig': 'wh26_sig', 'wh31_ch1_batt': 'wh31_ch1_batt', 
>> 'wh31_ch1_sig': 'wh31_ch1_sig', 'wh31_ch2_batt': 'wh31_ch2_batt', 
>> 'wh31_ch2_sig': 'wh31_ch2_sig', 'wh31_ch3_batt': 'wh31_ch3_batt', 
>> 'wh31_ch3_sig': 'wh31_ch3_sig', 'wh31_ch4_batt': 'wh31_ch4_batt', 
>> 'wh31_ch4_sig': 'wh31_ch4_sig', 'wh31_ch5_batt': 'wh31_ch5_batt', 
>> 'wh31_ch5_sig': 'wh31_ch5_sig', 'wh31_ch6_batt': 'wh31_ch6_batt', 
>> 'wh31_ch6_sig': 'wh31_ch6_sig', 'wh31_ch7_batt': 'wh31_ch7_batt', 
>> 'wh31_ch7_sig': 'wh31_ch7_sig', 'wh31_ch8_batt': 'wh31_ch8_batt', 
>> 'wh31_ch8_sig': 'wh31_ch8_sig', 'wh32_batt': 'wh32_batt', 'wh32_sig': 
>> 'wh32_sig', 'wh40_batt': 'wh40_batt', 'wh40_sig': 'wh40_sig', 
>> 'wh41_ch1_batt': 'wh41_ch1_batt', 'wh41_ch1_sig': 'wh41_ch1_sig', 
>> 'wh41_ch2_batt': 'wh41_ch2_batt', 'wh41_ch2_sig': 'wh41_ch2_sig', 
>> 'wh41_ch3_batt': 'wh41_ch3_batt', 'wh41_ch3_sig': 'wh41_ch3_sig', 
>> 'wh41_ch4_batt': 'wh41_ch4_batt', 'wh41_ch4_sig': 'wh41_ch4_sig', 
>> 'wh45_batt': 'wh45_batt', 'wh45_sig': 'wh45_sig', 'wh51_ch1_batt': 
>> 'wh51_ch1_batt', 'wh51_ch1_sig': 'wh51_ch1_sig', 'wh51_ch2_batt': 
>> 'wh51_ch2_batt', 'wh51_ch2_sig': 'wh51_ch2_sig', 'wh51_ch3_batt': 
>> 'wh51_ch3_batt', 'wh51_ch3_sig': 'wh51_ch3_sig', 'wh51_ch4_batt': 
>> 'wh51_ch4_batt', 'wh51_ch4_sig': 'wh51_ch4_sig', 'wh51_ch5_batt': 
>> 'wh51_ch5_batt', 'wh51_ch5_sig': 'wh51_ch5_sig', 'wh51_ch6_batt': 
>> 'wh51_ch6_batt', 'wh51_ch6_sig': 'wh51_ch6_sig', 'wh51_ch7_batt': 
>> 'wh51_ch7_batt', 'wh51_ch7_sig': 'wh51_ch7_sig', 'wh51_ch8_batt': 
>> 'wh51_ch8_batt', 'wh51_ch8_sig': 'wh51_ch8_sig', 'wh51_ch9_batt': 
>> 'wh51_ch9_batt', 'wh51_ch9_sig': 'wh51_ch9_sig', 'wh51_ch10_batt': 
>> 'wh51_ch10_batt', 'wh51_ch10_sig': 'wh51_ch10_sig', 'wh51_ch11_batt': 
>> 'wh51_ch11_batt', 'wh51_ch11_sig': 'wh51_ch11_sig', 'wh51_ch12_batt': 
>> 'wh51_ch12_batt', 'wh51_ch12_sig': 'wh51_ch12_sig', 'wh51_ch13_batt': 
>> 'wh51_ch13_batt', 'wh51_ch13_sig': 'wh51_ch13_sig', 'wh51_ch14_batt': 
>> 'wh51_ch14_batt', 'wh51_ch14_sig': 'wh51_ch14_sig', 'wh51_ch15_batt': 
>> 'wh51_ch15_batt', 'wh51_ch15_sig': 'wh51_ch15_sig', 'wh51_ch16_batt': 
>> 'wh51_ch16_batt', 'wh51_ch16_sig': 'wh51_ch16_sig', 'wh55_ch1_batt': 
>> 'wh55_ch1_batt', 'wh55_ch1_sig': 'wh55_ch1_sig', 'wh55_ch2_batt': 
>> 'wh55_ch2_batt', 'wh55_ch2_sig': 'wh55_ch2_sig', 'wh55_ch3_batt': 
>> 'wh55_ch3_batt', 'wh55_ch3_sig': 'wh55_ch3_sig', 'wh55_ch4_batt': 
>> 'wh55_ch4_batt', 'wh55_ch4_sig': 'wh55_ch4_sig', 'wh57_batt': 'wh57_batt', 
>> 'wh57_sig': 'wh57_sig', 'wh65_batt': 'wh65_batt', 'wh65_sig': 'wh65_sig', 
>> 'wh68_batt': 'wh68_batt', 'wh68_sig': 'wh68_sig', 'windchill': 'windchill', 
>> 'windDir': 'winddir', 'windGust': 'gustspeed', 'windSpeed': 'windspeed', 
>> 'wn34_ch1_batt': 'wn34_ch1_batt', 'wn34_ch1_sig': 'wn34_ch1_sig', 
>> 'wn34_ch2_batt': 'wn34_ch2_batt', 'wn34_ch2_sig': 'wn34_ch2_sig', 
>> 'wn34_ch3_batt': 'wn34_ch3_batt', 'wn34_ch3_sig': 'wn34_ch3_sig', 
>> 'wn34_ch4_batt': 'wn34_ch4_batt', 'wn34_ch4_sig': 'wn34_ch4_sig', 
>> 'wn34_ch5_batt': 'wn34_ch5_batt', 'wn34_ch5_sig': 'wn34_ch5_sig', 
>> 'wn34_ch6_batt': 'wn34_ch6_batt', 'wn34_ch6_sig': 'wn34_ch6_sig', 
>> 'wn34_ch7_batt': 'wn34_ch7_batt', 'wn34_ch7_sig': 'wn34_ch7_sig', 
>> 'wn34_ch8_batt': 'wn34_ch8_batt', 'wn34_ch8_sig': 'wn34_ch8_sig', 
>> 'wn35_ch1_batt': 'wn35_ch1_batt', 'wn35_ch1_sig': 'wn35_ch1_sig', 
>> 'wn35_ch2_batt': 'wn35_ch2_batt', 'wn35_ch2_sig': 'wn35_ch2_sig', 
>> 'wn35_ch3_batt': 'wn35_ch3_batt', 'wn35_ch3_sig': 'wn35_ch3_sig', 
>> 'wn35_ch4_batt': 'wn35_ch4_batt', 'wn35_ch4_sig': 'wn35_ch4_sig', 
>> 'wn35_ch5_batt': 'wn35_ch5_batt', 'wn35_ch5_sig': 'wn35_ch5_sig', 
>> 'wn35_ch6_batt': 'wn35_ch6_batt', 'wn35_ch6_sig': 'wn35_ch6_sig', 
>> 'wn35_ch7_batt': 'wn35_ch7_batt', 'wn35_ch7_sig': 'wn35_ch7_sig', 
>> 'wn35_ch8_batt': 'wn35_ch8_batt', 'wn35_ch8_sig': 'wn35_ch8_sig', 
>> 'ws80_batt': 'ws80_batt', 'ws80_sig': 'ws80_sig', 'ws90_batt': 'ws90_batt', 
>> 'ws90_sig': 'ws90_sig', 'yearRain': 't_rainyear'}
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG user.gw1000:      firmware 
>> update checks will not occur
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG user.gw1000:      sensor ID 
>> decoding will use 'WH32'
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG user.gw1000:      battery 
>> state data will be ignored for legacy WH40
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG user.gw1000:      battery 
>> state will not be reported for sensors with no signal data
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG user.gw1000:      unknown 
>> fields will be ignored
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service user.gw1000.GatewayService
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdConvert
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO weewx.engine: StdConvert 
>> target unit is 0x1
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdConvert
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdCalibrate
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdCalibrate
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdQC
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdQC
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.wxservices.StdWXCalculate
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO weewx.wxservices: 
>> StdWXCalculate will use data binding wx_binding
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.manager: Daily summary 
>> version is 4.0
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.wxservices.StdWXCalculate
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.wxxtypes.StdWXXTypes
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.wxxtypes.StdWXXTypes
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.wxxtypes.StdPressureCooker
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.wxxtypes.StdPressureCooker
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.wxxtypes.StdRainRater
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.wxxtypes.StdRainRater
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.wxxtypes.StdDelta
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.wxxtypes.StdDelta
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdArchive
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO weewx.engine: Archive will use 
>> data binding wx_binding
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO weewx.engine: Record 
>> generation will be attempted in 'software'
>> Dec 24 23:31:43 wetterpi weewx[18784] INFO weewx.engine: Using archive 
>> interval of 900 seconds (software record generation)
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Use LOOP data 
>> in hi/low calculations: 1
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdArchive
>> Dec 24 23:31:43 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.restx.StdStationRegistry
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.restx: StationRegistry: 
>> Registration not requested.
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.restx.StdStationRegistry
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.restx.StdWunderground
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.restx: WU essentials: {}
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.restx: Wunderground-PWS: 
>> Data for station ISACHSEN177 will be posted
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.restx.StdWunderground
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.restx.StdPWSweather
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.restx: PWSweather: 
>> Posting not enabled.
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.restx.StdPWSweather
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.restx.StdCWOP
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.restx: CWOP: Posting not 
>> enabled.
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.restx.StdCWOP
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.restx.StdWOW
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.restx: WOW: Posting not 
>> enabled.
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.restx.StdWOW
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.restx.StdAWEKAS
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.restx: AWEKAS: Posting 
>> not enabled.
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.restx.StdAWEKAS
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdPrint
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdPrint
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Loading service 
>> weewx.engine.StdReport
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.manager: Daily summary 
>> version is 4.0
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.engine: 'pyephem' 
>> detected, extended almanac data is available
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Finished 
>> loading service weewx.engine.StdReport
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO __main__: Starting up weewx 
>> version 4.10.2
>> Dec 24 23:31:44 wetterpi weewx[18784] DEBUG weewx.engine: Station does 
>> not support reading the time
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.engine: Using binding 
>> 'wx_binding' to database 'weewx.sdb'
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.manager: Starting 
>> backfill of daily summaries
>> Dec 24 23:31:44 wetterpi weewx[18784] INFO weewx.manager: Daily summaries 
>> up to date
>> Dec 24 23:31:45 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: get 2419 
>> records since 2023-12-24 21:51:30
>> Dec 24 23:31:45 wetterpi weewx[18784] INFO weewx.drivers.fousb: 
>> synchronising to the weather station (quality=0)
>> Dec 24 23:31:46 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: status 
>> {'rain_overflow': 0, 'lost_connection': 0, 'unknown': 0} (0)
>> Dec 24 23:32:03 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:32:23 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:32:25 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: new data
>> Dec 24 23:32:25 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: setting 
>> sensor clock 25.2268
>> Dec 24 23:32:25 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: live 
>> synchronised
>> Dec 24 23:32:25 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: packet 
>> timestamp is 22:32:25
>> Dec 24 23:32:25 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> estimated log time 22:29:01 +/- 24s (22:28:37..22:29:25)
>> Dec 24 23:32:43 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:33:03 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:33:10 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: avoid 
>> 5.884102821350098
>> Dec 24 23:33:16 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: new data
>> Dec 24 23:33:16 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: packet 
>> timestamp is 22:33:13
>> Dec 24 23:33:16 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> estimated log time 22:28:55 +/- 18s (22:28:25..22:29:13)
>> Dec 24 23:33:24 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:33:44 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:33:58 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: avoid 
>> 5.8832409381866455
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: new data
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: packet 
>> timestamp is 22:34:01
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> estimated log time 22:28:49 +/- 12s (22:28:13..22:29:01)
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> synchronised to 2023-12-24 22:28:49 for ptr 0x9820
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: found 3 
>> archive records
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> returning archive record 1703455129
>> Dec 24 23:34:04 wetterpi weewx[18784] INFO weewx.manager: Added record 
>> 2023-12-24 22:58:49 CET (1703455129) to database 'weewx.sdb'
>> Dec 24 23:34:04 wetterpi weewx[18784] INFO weewx.manager: Added record 
>> 2023-12-24 22:58:49 CET (1703455129) to daily summary in 'weewx.sdb'
>> Dec 24 23:34:04 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> returning archive record 1703456029
>> Dec 24 23:34:04 wetterpi weewx[18784] INFO weewx.manager: Added record 
>> 2023-12-24 23:13:49 CET (1703456029) to database 'weewx.sdb'
>> Dec 24 23:34:05 wetterpi weewx[18784] INFO weewx.manager: Added record 
>> 2023-12-24 23:13:49 CET (1703456029) to daily summary in 'weewx.sdb'
>> Dec 24 23:34:05 wetterpi weewx[18784] INFO weewx.restx: Wunderground-PWS: 
>> Published record 2023-12-24 22:58:49 CET (1703455129)
>> Dec 24 23:34:05 wetterpi weewx[18784] DEBUG weewx.drivers.fousb: 
>> returning archive record 1703456929
>> Dec 24 23:34:05 wetterpi weewx[18784] INFO weewx.manager: Added record 
>> 2023-12-24 23:28:49 CET (1703456929) to database 'weewx.sdb'
>> Dec 24 23:34:05 wetterpi weewx[18784] INFO weewx.manager: Added record 
>> 2023-12-24 23:28:49 CET (1703456929) to daily summary in 'weewx.sdb'
>> Dec 24 23:34:06 wetterpi weewx[18784] INFO weewx.engine: Starting main 
>> packet loop.
>> Dec 24 23:34:06 wetterpi weewx[18784] INFO weewx.restx: Wunderground-PWS: 
>> Published record 2023-12-24 23:13:49 CET (1703456029)
>> Dec 24 23:34:06 wetterpi weewx[18784] INFO weewx.drivers.fousb: station 
>> status {'rain_overflow': 0, 'lost_connection': 0, 'unknown': 0} (0)
>> Dec 24 23:34:06 wetterpi weewx[18784] INFO weewx.restx: Wunderground-PWS: 
>> Published record 2023-12-24 23:28:49 CET (1703456929)
>> Dec 24 23:34:06 wetterpi weewx[18784] INFO user.gw1000: Using 
>> 't_rainyear' for rain total
>> Dec 24 23:34:06 wetterpi weewx[18784] INFO user.gw1000: skipping rain 
>> measurement of 95.0: no last rain
>> Dec 24 23:34:24 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:34:35 wetterpi dhcpcd[380]: enxb827eba3f32a: Router 
>> Advertisement from fe80::3631:c4ff:fe48:90bd
>> Dec 24 23:34:44 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>> Dec 24 23:35:04 wetterpi weewx[18784] DEBUG user.gw1000: Next update in 
>> 20 seconds
>>
>> Tobias Kretschmar schrieb am Sonntag, 24. Dezember 2023 um 23:39:22 UTC+1:
>>
>>> My issue is missing rain in the reports.
>>>
>>> I have weewx 4.10.2 with weather station WH1080. But it's rain sensor is 
>>> defect. 
>>> I received a WN1980ae with WH40 rain sensor but not yet the WS90. To 
>>> keep the outside temp and wind, I installed user.gw1000 0.6.0b2 and set it 
>>> up as service, not driver. User.gw1000 finds the WN1980ae station. When I 
>>> test run user.gw1000 with --test-service it reports rain:
>>>
>>> LOOP:   2023-12-24 22:12:44 CET (1703452364) 'dateTime': '1703452364', 
>>> 'dayRain': '2.3425196850393704', 'dummyTemp': '96.3', 'inHumidity': '51', 
>>> 'inTemp': '69.98', 'monthRain': '3.732283464566929', 'pressure': 
>>> '28.3192580125', 'rain': '0.003937007874015524', 'rainRate': 
>>> '0.047244094439999995', 'relbarometer': '1003.2', 'stormRain': 
>>> '2.3425196850393704', 'usUnits': '1', 'weekRain': '2.3425196850393704', 
>>> 'wh40_batt': '1.41', 'wh40_sig': '4', 'yearRain': '3.732283464566929'
>>>
>>> But the rain never make it in the augmented from weewxd run directly. 
>>> All other rain field (dayRain, etc are filled). And I have no rain in the 
>>> reports.
>>>
>>> LOOP:   2023-12-24 22:12:00 CET (1703452320) 'altimeter': 
>>> '29.80880623780368', 'appTemp': '41.33501455838798', 'barometer': 
>>> '29.827191840290514', 'cloudbase': '1444.6923571662626', 'dateTime': 
>>> '1703452320', 'dayRain': '2.3385826771653546', 'delay': '12', 'dewpoint': 
>>> '47.29239559598307', 'ET': 'None', 'heatindex': '47.42999999999999', 
>>> 'humidex': '49.4860389883321', 'inDewpoint': '51.22109845904412', 
>>> 'inHumidity': '60.0', 'inTemp': '65.48', 'maxSolarRad': '0.0', 'monthRain': 
>>> '3.7283464566929134', 'outHumidity': '96.0', 'outTemp': 
>>> '48.379999999999995', 'outTempBatteryStatus': '0', 'pressure': 
>>> '28.537779920000002', 'ptr': '38864', 'radiation': 'None', 'rain': '0.0', 
>>> 'rainRate': '0.023622047219999998', 'rainTotal': '7.050000000000001', 
>>> 'relbarometer': '1003.3', 'rxCheckPercent': '100', 'status': '0', 
>>> 'stormRain': '2.3385826771653546', 'usUnits': '1', 'UV': 'None', 
>>> 'weekRain': '2.3385826771653546', 'wh40_batt': '1.41', 'wh40_sig': '4', 
>>> 'windchill': '43.564900660116336', 'windDir': '90.0', 'windGust': 
>>> '17.448146445126575', 'windrun': 'None', 'windSpeed': '11.408403444890455', 
>>> 'yearRain': '3.7283464566929134'
>>> LOOP:   2023-12-24 22:13:01 CET (1703452381) 'altimeter': 
>>> '29.80880623780368', 'appTemp': '39.571014558387986', 'barometer': 
>>> '29.827191840290514', 'cloudbase': '1444.6923571662626', 'dateTime': 
>>> '1703452381', 'dayRain': '2.34251968503937', 'delay': '13', 'dewpoint': 
>>> '47.29239559598307', 'ET': 'None', 'heatindex': '47.42999999999999', 
>>> 'humidex': '49.4860389883321', 'inDewpoint': '51.22109845904412', 
>>> 'inHumidity': '60.0', 'inTemp': '65.48', 'maxSolarRad': '0.0', 'monthRain': 
>>> '3.732283464566929', 'outHumidity': '96.0', 'outTemp': 
>>> '48.379999999999995', 'outTempBatteryStatus': '0', 'pressure': 
>>> '28.537779920000002', 'ptr': '38864', 'radiation': 'None', 'rain': '0.0', 
>>> 'rainRate': '0.047244094439999995', 'rainTotal': '7.050000000000001', 
>>> 'relbarometer': '1003.2', 'rxCheckPercent': '100', 'status': '0', 
>>> 'stormRain': '2.34251968503937', 'usUnits': '1', 'UV': 'None', 'weekRain': 
>>> '2.34251968503937', 'wh40_batt': '1.41', 'wh40_sig': '4', 'windchill': 
>>> '42.68467215537006', 'windDir': '90.0', 'windGust': '19.014005741484088', 
>>> 'windrun': 'None', 'windSpeed': '14.540122037605482', 'yearRain': 
>>> '3.732283464566929'
>>>
>>> I have no custom field_map.
>>>
>>> I am not able to run it with debug = 1. Then gw1000 throw this error:
>>> Traceback (most recent call last):
>>>   File "/home/weewx/bin/weewxd", line 249, in <module>
>>>     main()
>>>   File "/home/weewx/bin/weewxd", line 148, in main
>>>     engine = weewx.engine.StdEngine(config_dict)
>>>   File "/home/weewx/bin/weewx/engine.py", line 93, in __init__
>>>     self.loadServices(config_dict)
>>>   File "/home/weewx/bin/weewx/engine.py", line 161, in loadServices
>>>     obj = weeutil.weeutil.get_object(svc)(self, config_dict)
>>>   File "/home/weewx/bin/user/gw1000.py", line 1390, in __init__
>>>     loginf('     field map is %s' % self.field_map())
>>> AttributeError: 'GatewayService' object has no attribute 'field_map'
>>>
>>> Does the gw1000 support the WN1980ae? Any idea how I can get the rain in 
>>> weewx?
>>>
>>

-- 
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/13d59345-816b-4158-b491-ec94c9b1476dn%40googlegroups.com.

Reply via email to