Hi Gary,
I'm glad to inform you that I solved the problem upgrading the firmware of 
the GW1000 directly from the app. Before this upgrade it was running on 
firmware version GW1000A_V1.5.4, while now it is GW1000A_V1.6.6.
Unfortunately I saw your message after upgrading and so I could not try 
your commands. Anyway, what happened should be useful for anyone in the 
future having this issue.
Thank you!
Il giorno lunedì 24 maggio 2021 alle 23:17:23 UTC+2 gjr80 ha scritto:

> Hi,
>
> When the driver is interrogating your GW1000 the GW1000 is responding with 
> some control codes that differ from those documented in the GW1000 API. 
> Could you provide the firmware version of your GW1000 as reported in the WS 
> View app. It would also help to see some of the raw data coming back from 
> the GW1000. Could you run the following commands:
>
> $ PYTHONPATH=/home/weewx/bin python -m user.gw1000 --firmware-version 
> --debug=3
>
> and
>
> $ PYTHONPATH=/home/weewx/bin python -m user.gw1000 --live-data --debug=3
>
> The above commands should result in a number of lines of debug output 
> appearing in the WeeWX log. Could you provide a copy of the entire log 
> output resulting from those two commands as well as the console output.
>
> Gary
> On Tuesday, 25 May 2021 at 05:55:03 UTC+10 [email protected] wrote:
>
>> Hi Lang,
>> thank you for answering. So, the configuration file is named 
>> 'piscina.conf' because I am using WeeWX in multi mode, and each station has 
>> its personal configuration file. In the specific case, I'm using the WN30 
>> sensor for measuring a pole water temperature. Here is the complete log:
>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Initializing 
>> weewx version 3.9.2
>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Using Python 
>> 2.7.16 (default, Oct 10 2019, 22:02:15) #012[GCC 8.3.0]
>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Platform 
>> Linux-5.4.51+-armv6l-with-debian-10.4
>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: Locale is 
>> 'en_GB.UTF-8'
>> May 24 21:44:31 raspberrypi weewx-piscina[2019]: engine: pid file is 
>> /var/run/weewx-piscina.pid
>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Using 
>> configuration file /etc/weewx/piscina.conf
>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Debug is 1
>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Initializing 
>> engine
>> May 24 21:44:31 raspberrypi weewx-piscina[2023]: engine: Loading station 
>> type GW1000 (user.gw1000)
>> May 24 21:44:34 raspberrypi weewx-piscina[2023]: gw1000: Failed to obtain 
>> response to attempt 1 to send command 'CMD_READ_STATION_MAC': timed out
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: field map is 
>> {'co2': 'co2', 'co2_24h_avg': 'co2_24h_avg', 'dateTime': 'datetime', 
>> 'daymaxwind': 'daymaxwind', 'dayRain': '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', 'hourRain': 'rainhour', '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': 
>> 'rainmonth', 'outHumidity': 'outhumid', 'outTemp': 'outtemp', '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': 'rain', 
>> 'rainRate': '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': 'rainevent', 
>> 'totalRain': 'raintotals', 'UV': 'uvi', 'uvradiation': 'uv', 'weekRain': 
>> 'rainweek', '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', 'wh35_ch1_batt': 'wh35_ch1_batt', 
>> 'wh35_ch1_sig': 'wh35_ch1_sig', 'wh35_ch2_batt': 'wh35_ch2_batt', 
>> 'wh35_ch2_sig': 'wh35_ch2_sig', 'wh35_ch3_batt': 'wh35_ch3_batt', 
>> 'wh35_ch3_sig': 'wh35_ch3_sig', 'wh35_ch4_batt': 'wh35_ch4_batt', 
>> 'wh35_ch4_sig': 'wh35_ch4_sig', 'wh35_ch5_batt': 'wh35_ch5_batt', 
>> 'wh35_ch5_sig': 'wh35_ch5_sig', 'wh35_ch6_batt': 'wh35_ch6_batt', 
>> 'wh35_ch6_sig': 'wh35_ch6_sig', 'wh35_ch7_batt': 'wh35_ch7_batt', 
>> 'wh35_ch7_sig': 'wh35_ch7_sig', 'wh35_ch8_batt': 'wh35_ch8_batt', 
>> 'wh35_ch8_sig': 'wh35_ch8_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', 'ws80_batt': 'ws80_batt', 'ws80_sig': 'ws80_sig', 
>> 'yearRain': 'rainyear'}
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: driver version 
>> is 0.3.1
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: GW1000 address 
>> is 192.168.0.25:45000
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: poll interval is 
>> 20 seconds
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: max tries is 3, 
>> retry wait time is 10 seconds
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: gw1000: broadcast 
>> address is 255.255.255.255:46000, socket timeout is 2 seconds
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdTimeSynch
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdTimeSynch
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdConvert
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: StdConvert 
>> target unit is 0x10
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdConvert
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdCalibrate
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdCalibrate
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdQC
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdQC
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.wxservices.StdWXCalculate
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: wxcalculate: The 
>> following values will be calculated: barometer=software, 
>> windchill=prefer_hardware, dewpoint=prefer_hardware, 
>> appTemp=prefer_hardware, rainRate=prefer_hardware, windrun=prefer_hardware, 
>> heatindex=prefer_hardware, maxSolarRad=prefer_hardware, 
>> humidex=prefer_hardware, pressure=prefer_hardware, 
>> inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, 
>> cloudbase=prefer_hardware
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: wxcalculate: The 
>> following algorithms will be used for calculations: altimeter=aaNOAA, 
>> maxSolarRad=RS
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.wxservices.StdWXCalculate
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdArchive
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Archive will use 
>> data binding wx_binding
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Record 
>> generation will be attempted in 'software'
>> May 24 21:44:44 raspberrypi weewx-piscina[2023]: engine: Using archive 
>> interval of 300 seconds (software record generation)
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Use LOOP data in 
>> hi/low calculations: 1
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: gw1000: Invalid response 
>> to attempt 1 to send command 'CMD_READ_SENSOR_ID_NEW': Invalid command code 
>> in API response. Expected '60' (0x3C), received '99' (0x63).
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: manager: Daily summary 
>> version is 2.0
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Using binding 
>> 'wx_binding' to database 'piscina.sdb'
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: manager: Starting 
>> backfill of daily summaries
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdArchive
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.restx.StdStationRegistry
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: StationRegistry: 
>> Registration not requested.
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.restx.StdStationRegistry
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.restx.StdWunderground
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: Wunderground: 
>> Posting not enabled.
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.restx.StdWunderground
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.restx.StdPWSweather
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: PWSweather: 
>> Posting not enabled.
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.restx.StdPWSweather
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.restx.StdCWOP
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: CWOP: Posting not 
>> enabled.
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.restx.StdCWOP
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.restx.StdWOW
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: WOW: Posting not 
>> enabled.
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.restx.StdWOW
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.restx.StdAWEKAS
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: restx: AWEKAS: Posting 
>> not enabled.
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.restx.StdAWEKAS
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdPrint
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdPrint
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Loading service 
>> weewx.engine.StdReport
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Finished loading 
>> service weewx.engine.StdReport
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Starting up 
>> weewx version 3.9.2
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Station does not 
>> support reading the time
>> May 24 21:44:45 raspberrypi weewx-piscina[2023]: engine: Starting main 
>> packet loop.
>> May 24 21:44:55 raspberrypi weewx-piscina[2023]: gw1000: Invalid response 
>> to attempt 2 to send command 'CMD_READ_SENSOR_ID_NEW': Invalid command code 
>> in API response. Expected '60' (0x3C), received '99' (0x63).
>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Invalid response 
>> to attempt 3 to send command 'CMD_READ_SENSOR_ID_NEW': Invalid command code 
>> in API response. Expected '60' (0x3C), received '99' (0x63).
>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Failed to obtain 
>> response to command 'CMD_READ_SENSOR_ID_NEW' after 3 attempts
>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: IP address 
>> specified in 'weewx.conf', re-discovery was not attempted
>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Unable to obtain 
>> live sensor data
>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: gw1000: Next update in 
>> 20 seconds
>> May 24 21:45:05 raspberrypi weewx-piscina[2023]: engine: Main loop 
>> exiting. Shutting engine down.
>> May 24 21:45:06 raspberrypi weewx-piscina[2023]: gw1000: Gw1000Collector 
>> thread has been terminated
>> May 24 21:45:06 raspberrypi weewx-piscina[2023]: engine: Caught 
>> WeeWxIOError: Failed to obtain response to command 'CMD_READ_SENSOR_ID_NEW' 
>> after 3 attempts
>> May 24 21:45:06 raspberrypi weewx-piscina[2023]:     ****  Waiting 60 
>> seconds then retrying...
>>
>> And here the configuration file (piscina.conf):
>>
>> # WEEWX CONFIGURATION FILE
>> #
>> # Copyright (c) 2009-2015 Tom Keffer <[email protected]>
>> # See the file LICENSE.txt for your rights.
>>
>>
>> ##############################################################################
>>
>> # This section is for general configuration information.
>>
>> # Set to 1 for extra debug info, otherwise comment it out or set to zero
>> debug = 1
>>
>> # Root directory of the weewx data file hierarchy for this station
>> WEEWX_ROOT = /home/weewx
>>
>> # How long to wait before timing out a socket (FTP, HTTP) connection
>> socket_timeout = 200
>>
>> # Do not modify this. It is used when installing and updating weewx.
>> version = 3.9.2
>>
>> loop_on_init = 1
>>
>>
>> ##############################################################################
>>
>> #   This section is for information about the station.
>>
>> [Station]
>>     
>>     # Description of the station location
>>     location = Termometro acqua piscina
>>     
>>     # Latitude and longitude in decimal degrees
>>     latitude = 41.446295
>>     longitude = 12.622721
>>     
>>     # Altitude of the station, with unit it is in. This is downloaded from
>>     # from the station if the hardware supports it.
>>     altitude = 10, meter    # Choose 'foot' or 'meter' for unit
>>     
>>     # Set to type of station hardware. There must be a corresponding 
>> stanza
>>     # in this file with a 'driver' parameter indicating the driver to be 
>> used.
>>     station_type = GW1000
>>     
>>     # If you have a website, you may specify an URL
>>     #station_url = http://www.example.com
>>     
>>     # The start of the rain year (1=January; 10=October, etc.). This is
>>     # downloaded from the station if the hardware supports it.
>>     rain_year_start = 1
>>     
>>     # Start of week (0=Monday, 6=Sunday)
>>     week_start = 0
>>
>>
>> ##############################################################################
>>
>> #   This section is for uploading data to Internet sites
>>
>> [StdRESTful]
>>     
>>     [[StationRegistry]]
>>         # To register this weather station with weewx, set this to true
>>         register_this_station = false
>>     
>>     [[AWEKAS]]
>>         # This section is for configuring posts to AWEKAS.
>>         
>>         # If you wish to do this, set the option 'enable' to true,
>>         # and specify a username and password.
>>         # To guard against parsing errors, put the password in quotes.
>>         enable = false
>>         username = replace_me
>>         password = replace_me
>>     
>>     [[CWOP]]
>>         # This section is for configuring posts to CWOP.
>>         
>>         # If you wish to do this, set the option 'enable' to true,
>>         # and specify the station ID (e.g., CW1234).
>>         enable = false
>>         station = replace_me
>>     
>>     # If this is an APRS (radio amateur) station, uncomment
>>     # the following and replace with a passcode (e.g., 12345).
>>     #passcode = replace_me (APRS stations only)
>>     
>>     [[PWSweather]]
>>         # This section is for configuring posts to PWSweather.com.
>>         
>>         # If you wish to do this, set the option 'enable' to true,
>>         # and specify a station and password.
>>         # To guard against parsing errors, put the password in quotes.
>>         enable = false
>>         station = replace_me
>>         password = replace_me
>>     
>>     [[WOW]]
>>         # This section is for configuring posts to WOW.
>>         
>>         # If you wish to do this, set the option 'enable' to true,
>>         # and specify a station and password.
>>         # To guard against parsing errors, put the password in quotes.
>>         enable = false
>>         station = replace_me
>>         password = replace_me
>>     
>>     [[Wunderground]]
>>         # This section is for configuring posts to the Weather 
>> Underground.
>>         
>>         # If you wish to do this, set the option 'enable' to true,
>>         # and specify a station (e.g., 'KORHOODR3') and password.
>>         # To guard against parsing errors, put the password in quotes.
>>         enable = false
>>         station = replace_me
>>         password = replace_me
>>         
>>         # Set the following to True to have weewx use the WU "Rapidfire"
>>         # protocol. Not all hardware can support it. See the User's Guide.
>>         rapidfire = False
>>
>>
>> ##############################################################################
>>
>> #   This section specifies what reports, using which skins, to generate.
>>
>> [StdReport]
>>     
>>     # Where the skins reside, relative to WEEWX_ROOT
>>     SKIN_ROOT = skins
>>     
>>     # Where the generated reports should go, relative to WEEWX_ROOT
>>     HTML_ROOT = public_html/piscina
>>     
>>     # The database binding indicates which data should be used in reports.
>>     data_binding = wx_binding
>>     
>>     # Each of the following subsections defines a report that will be run.
>>     
>>     [[StandardReport]]
>>         # See the customizing guide to change the units, plot types and 
>> line
>>         # colors, modify the fonts, display additional sensor data, and 
>> other
>>         # customizations. Many of those changes can be made here by 
>> overriding
>>         # parameters, or by modifying templates within the skin itself.
>>         
>>         # The StandardReport uses the 'Standard' skin, which contains the
>>         # images, templates and plots for the report.
>>         skin = Standard
>>         [[[Units]]]
>>             [[[[Groups]]]]
>>                 group_altitude = meter
>>                 group_speed2 = km_per_hour2
>>                 group_pressure = mbar
>>                 group_rain = mm
>>                 group_rainrate = mm_per_hour
>>                 group_temperature = degree_C
>>                 group_degree_day = degree_C_day
>>                 group_speed = km_per_hour
>>     
>>     [[FTP]]
>>         # FTP'ing the results to a webserver is treated as just another 
>> report,
>>         # albeit one with an unusual report generator!
>>         skin = Ftp
>>         
>>         # If you wish to use FTP, uncomment and fill out the next four 
>> lines.
>>         # Use quotes around passwords to guard against parsing errors.
>>         user = xxx
>>         password = xxx
>>         server = xxx
>>         path = xxx
>>         
>>         # Set to True for an FTP over TLS (FTPS) connection. Not all 
>> servers
>>         # support this.
>>         secure_ftp = False
>>         
>>         # To upload files from something other than what HTML_ROOT is set
>>         # to above, specify a different HTML_ROOT here.
>>         #HTML_ROOT = public_html
>>         
>>         # Most FTP servers use port 21
>>         port = 21
>>         
>>         # Set to 1 to use passive mode, zero for active mode
>>         passive = 1
>>     
>>     [[RSYNC]]
>>         # rsync'ing to a webserver is treated as just another report
>>         skin = Rsync
>>         
>>         # If you wish to use rsync, you must configure passwordless ssh 
>> using
>>         # public/private key authentication from the user account that 
>> weewx
>>         # runs as to the user account on the remote machine where the 
>> files
>>         # will be copied.
>>         #
>>         # The server, user, and path determine where files will be sent.
>>         # The server is the server name, such as www.threefools.org
>>         # The user is the username, such as weewx
>>         # The path is the destination directory, such as 
>> /var/www/html/weather
>>         # Be sure that the user has write permissions on the destination!
>>         #server = replace_me
>>         #user = replace_me
>>         #path = replace_me
>>         
>>         # Rsync can be configured to remove files from the remote server 
>> if
>>         # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if 
>> you
>>         # make a mistake in the remote path, you could could 
>> unintentionally
>>         # cause unrelated files to be deleted. Set to 1 to enable remote 
>> file
>>         # deletion, zero to allow files to accumulate remotely.
>>         delete = 0
>>
>>
>> ##############################################################################
>>
>> #   This service acts as a filter, converting the unit system coming from
>> #   the hardware to a unit system in the database.
>>
>> [StdConvert]
>>     
>>     # The target_unit affects only the unit system in the database. Once
>>     # chosen it cannot be changed without converting the entire database.
>>     # Modification of target_unit after starting weewx will result in
>>     # corrupt data - the database will contain a mix of US and METRIC 
>> data.
>>     #
>>     # The value of target_unit does not affect the unit system for
>>     # reporting - reports can display US, Metric, or any combination of 
>> units.
>>     #
>>     # In most cases, target_unit should be left as the default: US
>>     #
>>     # In particular, those migrating from a standard wview installation
>>     # should use US since that is what the wview database contains.
>>     
>>     # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
>>     target_unit = METRIC    # Options are 'US', 'METRICWX', or 'METRIC'
>>
>>
>> ##############################################################################
>>
>> #   This section can adjust data using calibration expressions.
>>
>> [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
>>
>>
>> ##############################################################################
>>
>> #   This section is for quality control checks. If units are not 
>> specified,
>> #   values must be in the units defined in the StdConvert section.
>>
>> [StdQC]
>>     
>>     [[MinMax]]
>>         barometer = 26, 32.5, inHg
>>         outTemp = -40, 120, degree_F
>>         inTemp = 10, 120, degree_F
>>         outHumidity = 0, 100
>>         inHumidity = 0, 100
>>         windSpeed = 0, 120, mile_per_hour
>>         pressure = 24, 34.5, inHg
>>
>>
>> ##############################################################################
>>
>> #   This section controls the origin of derived values.
>>
>> [StdWXCalculate]
>>     
>>     ignore_zero_wind = False
>>     
>>     [[Calculations]]
>>         # Derived quantities are calculated by this service. Possible 
>> values are:
>>         #  hardware        - use the value provided by hardware
>>         #  software        - use the value calculated by weewx
>>         #  prefer_hardware - use value provide by hardware if available,
>>         #                      otherwise use value calculated by weewx
>>         
>>         pressure = prefer_hardware
>>         barometer = prefer_hardware
>>         altimeter = prefer_hardware
>>         windchill = prefer_hardware
>>         heatindex = prefer_hardware
>>         dewpoint = prefer_hardware
>>         inDewpoint = prefer_hardware
>>         rainRate = prefer_hardware
>>
>>
>> ##############################################################################
>>
>> #   For hardware that supports it, this section controls how often the
>> #   onboard clock gets updated.
>>
>> [StdTimeSynch]
>>     
>>     # How often to check the weather station clock for drift (in seconds)
>>     clock_check = 14400
>>     
>>     # How much it can drift before we will correct it (in seconds)
>>     max_drift = 5
>>
>>
>> ##############################################################################
>>
>> #   This section is for configuring the archive service.
>>
>> [StdArchive]
>>     
>>     # If the station hardware supports data logging then the archive 
>> interval
>>     # will be downloaded from the station. Otherwise, specify it (in 
>> seconds).
>>     archive_interval = 300
>>     
>>     # If possible, new archive records are downloaded from the station
>>     # hardware. If the hardware does not support this, then new archive
>>     # records will be generated in software.
>>     # Set the following to "software" to force software record generation.
>>     record_generation = software
>>     
>>     # Whether to include LOOP data in hi/low statistics
>>     loop_hilo = True
>>     
>>     # The data binding used to save archive records
>>     data_binding = wx_binding
>>
>>
>> ##############################################################################
>>
>> #   This section binds a data store to a database.
>>
>> [DataBindings]
>>     
>>     [[wx_binding]]
>>         # The database must match one of the sections in [Databases].
>>         # This is likely to be the only option you would want to change.
>>         database = archive_sqlite
>>         # The name of the table within the database
>>         table_name = archive
>>         # The manager handles aggregation of data for historical summaries
>>         manager = weewx.wxmanager.WXDaySummaryManager
>>         # The schema defines the structure of the database.
>>         # It is *only* used when the database is created.
>>         schema = schemas.wview.schema
>>
>>
>> ##############################################################################
>>
>> #   This section defines various databases.
>>
>> [Databases]
>>     
>>     # A SQLite database is simply a single file
>>     [[archive_sqlite]]
>>         database_type = SQLite
>>         database_name = piscina.sdb
>>     
>>     # MySQL
>>     [[archive_mysql]]
>>         database_type = MySQL
>>         database_name = piscina
>>
>>
>> ##############################################################################
>>
>> #   This section defines defaults for the different types of databases.
>>
>> [DatabaseTypes]
>>     
>>     # Defaults for SQLite databases
>>     [[SQLite]]
>>         driver = weedb.sqlite
>>         # Directory in which the database files are located
>>         SQLITE_ROOT = %(WEEWX_ROOT)s/archive
>>     
>>     # Defaults for MySQL databases
>>     [[MySQL]]
>>         driver = weedb.mysql
>>         # The host where the database is located
>>         host = localhost
>>         # The user name for logging in to the host
>>         user = weewx
>>         # The password for the user name (quotes guard against parsing 
>> errors)
>>         password = weewx
>>
>>
>> ##############################################################################
>>
>> #   This section configures the internal weewx engine.
>>
>> [Engine]
>>     
>>     [[Services]]
>>         # This section specifies the services that should be run. They are
>>         # grouped by type, and the order of services within each group
>>         # determines the order in which the services will be run.
>>         prep_services = weewx.engine.StdTimeSynch
>>         data_services = user.gw1000.Gw1000Service
>>         process_services = weewx.engine.StdConvert, 
>> weewx.engine.StdCalibrate, weewx.engine.StdQC, 
>> weewx.wxservices.StdWXCalculate
>>         archive_services = weewx.engine.StdArchive
>>         restful_services = weewx.restx.StdStationRegistry, 
>> weewx.restx.StdWunderground, weewx.restx.StdPWSweather, 
>> weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
>>         report_services = weewx.engine.StdPrint, weewx.engine.StdReport
>>
>>
>> ##############################################################################
>>
>> # Options for extension 'GW1000'
>> [Accumulator]
>>     
>>     # Start GW1000 driver extractors
>>     [[daymaxwind]]
>>         extractor = last
>>     [[lightning_distance]]
>>         extractor = last
>>     [[lightning_strike_count]]
>>         extractor = sum
>>     [[lightningcount]]
>>         extractor = last
>>     [[lightning_last_det_time]]
>>         extractor = last
>>     [[stormRain]]
>>         extractor = last
>>     [[hourRain]]
>>         extractor = last
>>     [[dayRain]]
>>         extractor = last
>>     [[weekRain]]
>>         extractor = last
>>     [[monthRain]]
>>         extractor = last
>>     [[yearRain]]
>>         extractor = last
>>     [[totalRain]]
>>         extractor = last
>>     [[pm2_51_24h_avg]]
>>         extractor = last
>>     [[pm2_52_24h_avg]]
>>         extractor = last
>>     [[pm2_53_24h_avg]]
>>         extractor = last
>>     [[pm2_54_24h_avg]]
>>         extractor = last
>>     [[pm2_55_24h_avg]]
>>         extractor = last
>>     [[pm10_24h_avg]]
>>         extractor = last
>>     [[co2_24h_avg]]
>>         extractor = last
>>     [[wh40_batt]]
>>         extractor = last
>>     [[wh26_batt]]
>>         extractor = last
>>     [[wh25_batt]]
>>         extractor = last
>>     [[wh65_batt]]
>>         extractor = last
>>     [[wh31_ch1_batt]]
>>         extractor = last
>>     [[wh31_ch2_batt]]
>>         extractor = last
>>     [[wh31_ch3_batt]]
>>         extractor = last
>>     [[wh31_ch4_batt]]
>>         extractor = last
>>     [[wh31_ch5_batt]]
>>         extractor = last
>>     [[wh31_ch6_batt]]
>>         extractor = last
>>     [[wh31_ch7_batt]]
>>         extractor = last
>>     [[wh31_ch8_batt]]
>>         extractor = last
>>     [[wh35_ch1_batt]]
>>         extractor = last
>>     [[wh35_ch2_batt]]
>>         extractor = last
>>     [[wh35_ch3_batt]]
>>         extractor = last
>>     [[wh35_ch4_batt]]
>>         extractor = last
>>     [[wh35_ch5_batt]]
>>         extractor = last
>>     [[wh35_ch6_batt]]
>>         extractor = last
>>     [[wh35_ch7_batt]]
>>         extractor = last
>>     [[wh35_ch8_batt]]
>>         extractor = last
>>     [[wh41_ch1_batt]]
>>         extractor = last
>>     [[wh41_ch2_batt]]
>>         extractor = last
>>     [[wh41_ch3_batt]]
>>         extractor = last
>>     [[wh41_ch4_batt]]
>>         extractor = last
>>     [[wh45_batt]]
>>         extractor = last
>>     [[wh51_ch1_batt]]
>>         extractor = last
>>     [[wh51_ch2_batt]]
>>         extractor = last
>>     [[wh51_ch3_batt]]
>>         extractor = last
>>     [[wh51_ch4_batt]]
>>         extractor = last
>>     [[wh51_ch5_batt]]
>>         extractor = last
>>     [[wh51_ch6_batt]]
>>         extractor = last
>>     [[wh51_ch7_batt]]
>>         extractor = last
>>     [[wh51_ch8_batt]]
>>         extractor = last
>>     [[wh51_ch9_batt]]
>>         extractor = last
>>     [[wh51_ch10_batt]]
>>         extractor = last
>>     [[wh51_ch11_batt]]
>>         extractor = last
>>     [[wh51_ch12_batt]]
>>         extractor = last
>>     [[wh51_ch13_batt]]
>>         extractor = last
>>     [[wh51_ch14_batt]]
>>         extractor = last
>>     [[wh51_ch15_batt]]
>>         extractor = last
>>     [[wh51_ch16_batt]]
>>         extractor = last
>>     [[wh55_ch1_batt]]
>>         extractor = last
>>     [[wh55_ch2_batt]]
>>         extractor = last
>>     [[wh55_ch3_batt]]
>>         extractor = last
>>     [[wh55_ch4_batt]]
>>         extractor = last
>>     [[wh57_batt]]
>>         extractor = last
>>     [[wh68_batt]]
>>         extractor = last
>>     [[ws80_batt]]
>>         extractor = last
>>     [[wh40_sig]]
>>         extractor = last
>>     [[wh26_sig]]
>>         extractor = last
>>     [[wh25_sig]]
>>         extractor = last
>>     [[wh65_sig]]
>>         extractor = last
>>     [[wh31_ch1_sig]]
>>         extractor = last
>>     [[wh31_ch2_sig]]
>>         extractor = last
>>     [[wh31_ch3_sig]]
>>         extractor = last
>>     [[wh31_ch4_sig]]
>>         extractor = last
>>     [[wh31_ch5_sig]]
>>         extractor = last
>>     [[wh31_ch6_sig]]
>>         extractor = last
>>     [[wh31_ch7_sig]]
>>         extractor = last
>>     [[wh31_ch8_sig]]
>>         extractor = last
>>     [[wh35_ch1_sig]]
>>         extractor = last
>>     [[wh35_ch2_sig]]
>>         extractor = last
>>     [[wh35_ch3_sig]]
>>         extractor = last
>>     [[wh35_ch4_sig]]
>>         extractor = last
>>     [[wh35_ch5_sig]]
>>         extractor = last
>>     [[wh35_ch6_sig]]
>>         extractor = last
>>     [[wh35_ch7_sig]]
>>         extractor = last
>>     [[wh35_ch8_sig]]
>>         extractor = last
>>     [[wh41_ch1_sig]]
>>         extractor = last
>>     [[wh41_ch2_sig]]
>>         extractor = last
>>     [[wh41_ch3_sig]]
>>         extractor = last
>>     [[wh41_ch4_sig]]
>>         extractor = last
>>     [[wh45_sig]]
>>         extractor = last
>>     [[wh51_ch1_sig]]
>>         extractor = last
>>     [[wh51_ch2_sig]]
>>         extractor = last
>>     [[wh51_ch3_sig]]
>>         extractor = last
>>     [[wh51_ch4_sig]]
>>         extractor = last
>>     [[wh51_ch5_sig]]
>>         extractor = last
>>     [[wh51_ch6_sig]]
>>         extractor = last
>>     [[wh51_ch7_sig]]
>>         extractor = last
>>     [[wh51_ch8_sig]]
>>         extractor = last
>>     [[wh51_ch9_sig]]
>>         extractor = last
>>     [[wh51_ch10_sig]]
>>         extractor = last
>>     [[wh51_ch11_sig]]
>>         extractor = last
>>     [[wh51_ch12_sig]]
>>         extractor = last
>>     [[wh51_ch13_sig]]
>>         extractor = last
>>     [[wh51_ch14_sig]]
>>         extractor = last
>>     [[wh51_ch15_sig]]
>>         extractor = last
>>     [[wh51_ch16_sig]]
>>         extractor = last
>>     [[wh55_ch1_sig]]
>>         extractor = last
>>     [[wh55_ch2_sig]]
>>         extractor = last
>>     [[wh55_ch3_sig]]
>>         extractor = last
>>     [[wh55_ch4_sig]]
>>         extractor = last
>>     [[wh57_sig]]
>>         extractor = last
>>     [[wh68_sig]]
>>         extractor = last
>>     [[ws80_sig]]
>>         extractor = last
>>
>>
>> ##############################################################################
>>
>> # Options for extension 'GW1000'
>> [GW1000]
>>     # This section is for the GW1000 API driver.
>>     
>>     # How often to poll the GW1000 API, default is every 20 seconds:
>>     poll_interval = 20
>>     
>>     # The driver to use:
>>     driver = user.gw1000
>>     
>>
>> ##############################################################################
>>
>> #examples of json    
>> #{"time" : "2019-09-13 15:44:52", "brand" : "OS", "model" : "THGR810", 
>> "id" : 254, "channel" : 1, "battery" : "OK", "temperature_C" : 27.800, 
>> "humidity" : 40}
>> #{"time" : "2019-09-13 15:45:01", "brand" : "OS", "model" : "THGR810", 
>> "id" : 71, "channel" : 2, "battery" : "OK", "temperature_C" : 27.200, 
>> "humidity" : 46}
>>
>>
>>
>>
>> Il giorno lunedì 24 maggio 2021 alle 21:35:59 UTC+2 
>> [email protected] ha scritto:
>>
>>> The WN30 is just an extra temperature sensor and belongs to the WH31 
>>> extra sensor group - only it measures only temperature and not humidity.
>>> As it is primarily meant for measuring water temperature, humidity will 
>>> be always 100% and therefore measuring it makes little sense.
>>>
>>> But it works just like other WH31 extra T/H sensors. I have one in my 
>>> collection of WH31 sensors and weewx processes it without any problem.
>>>
>>> Is there a special reason why your weewx configuration file is named 
>>> piscina.conf and not weewx.conf ?
>>> Has weewx been told to use piscina.conf instead of weewx.conf (default) 
>>> in the respective files ?
>>>
>>> Can you please provide a *complete* syslog starting from the weewx 
>>> launch until it either terminates itself or you do so by issuing the stop 
>>> command !?
>>> Also, your weewx.conf (piscina.conf) would be helpful (you can/should 
>>> remove passwords and API-keys if you use any there)
>>>
>>> If you so far only started the driver, can you just configure weewx as 
>>> in the GW1000 driver description in the weewx.conf file 
>>> (/etc/weewx/weewx.conf),
>>> and start weewx - and provide the logs and the weewx.conf file !?
>>>
>>> Then we can have a better understanding what going on and what's 
>>> potential going wrong here.
>>> On 24.05.2021 20:36, [email protected] wrote:
>>>
>>> Hi everyone, 
>>> I am trying to use WeeWX with a GW1000 hardware (this 
>>> <https://www.froggit.de/product_info.php?info=p410_dp1500-wi-fi-wetterserver-usb-dongle.html>)
>>>  
>>> that is receiving data from a WN30 temperature sensor (this 
>>> <https://www.froggit.de/product_info.php?language=en&info=p480_dp30-multi-kanal-temperatur-funksensor-mit-wasserfestem-kabelfuehler.html>).
>>>  
>>> I installed the hardware and connected to the WiFi, and by the smartphone 
>>> app everything seems fine: in fact I can see live data from there.
>>> Now, I want to use the GW1000 driver 
>>> <https://github.com/gjr80/weewx-gw1000>for reading its data with WeeWX. 
>>> I correctly followed the instruction and installed the driver on WeeWX 
>>> 3.9.2, but I am having some troubles.
>>> In particular, I am getting the following error:
>>> gw1000: Invalid response to attempt 1 to send command 
>>> 'CMD_READ_SENSOR_ID_NEW': Invalid command code in API response. Expected 
>>> '60' (0x3C), received '99' (0x63)
>>> This is what the test-driver returns:
>>> $ PYTHONPATH=/home/weewx/bin python -m user.gw1000 --test-driver
>>> Using configuration file /etc/weewx/piscina.conf
>>> debug level is '1'
>>>
>>> IP address to be obtained by discovery
>>> Port number set to default port number
>>>
>>> Interrogating GW1000 at 192.168.0.25:45000
>>>
>>> Traceback (most recent call last):
>>>   File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
>>>     "__main__", fname, loader, pkg_name)
>>>   File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
>>>     exec code in run_globals
>>>   File "/home/weewx/bin/user/gw1000.py", line 5906, in <module>
>>>     main()
>>>   File "/home/weewx/bin/user/gw1000.py", line 5900, in main
>>>     direct_gw100.process_options()
>>>   File "/home/weewx/bin/user/gw1000.py", line 4833, in process_options
>>>     self.test_driver()
>>>   File "/home/weewx/bin/user/gw1000.py", line 5647, in test_driver
>>>     for pkt in driver.genLoopPackets():
>>>   File "/home/weewx/bin/user/gw1000.py", line 2057, in genLoopPackets
>>>     raise weewx.WeeWxIOError(e)
>>> weewx.WeeWxIOError: Failed to obtain response to command 
>>> 'CMD_READ_SENSOR_ID_NEW' after 3 attempts
>>>
>>> Any ideas??
>>> Thank you!
>>>
>>> -- 
>>> 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/2f6e835e-dbcd-4d71-bcee-cf431475ccd4n%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/weewx-user/2f6e835e-dbcd-4d71-bcee-cf431475ccd4n%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 on the web visit 
https://groups.google.com/d/msgid/weewx-user/1a433e84-2b36-4a53-b6f9-cdf1c82be185n%40googlegroups.com.

Reply via email to